[스코클 TIL_230829]

7과11사이·2023년 8월 29일
0

스파르타코딩클럽

목록 보기
43/90
post-thumbnail

뒤늦은 일주일 회고

  • 최근에는 TIL을 소홀히 대했다.
    여러 요인들이 있었지만, 가장 큰 이유는 정신이 헤이해졌기 때문이었다.
    첫 팀 프로젝트를 마무리 하고 나는 정말 탈진했다.

    1. 팀 프로젝트였음에도 불구하고 내가 뭔가 도와준 것이 없는 것 같다는 생각
    2. 제출 당일날 혼자 처리하게 된 상황
    3. 팀 프로젝트를 하면서 새우잠을 잔 상황들 등
    안그래도 무너지고 있던 내 건강에 적신호가 켜진게 아닌가 싶다.

    그래서 좀 쉬었다.
    매니저님이 추천하던대로 주말에는 모두가 그렇게 극찬하던 오펜하이머도 보고 산책도 좀하고 운동도 다시 시작했다.


  • 죄책감 덜기
    재밌는 건, 그렇게 시간을 보내도 빨리 회복이 되지 않았다.
    공부는 하고 있지만 이게 맞는건가... 정말 많은 고민을 했다.
    그래서인지 오히려 게더에서 동기들과 수다를 더 떨고 시간을 보냈다.
    그렇게만이라도 죄책감이 덜어질 것 같았다.

    그러다 스트레스도 풀겸 오랫만에 다시 달렸다.
    달리면서 노래를 들었는데, 가사 일부가 정신을 차리게 도왔다.

결론은 내가 내린 선택과 과정에 대해 의문을 계속 가지지 않겠다는 것이다!



오늘의 학습

기술면

  • [알고리즘] 삼항연산자에 false에 또 다른 삼항연산자를 넣을 수 있다.
    문제를 풀다가 이해가 안되는 부분이 생겨서 준영님에게 질문을 드렸다.
      func solution(_ arr1:[Int], _ arr2:[Int]) -> Int {
        if arr1.count > arr2.count { return 1 }
        else if arr1.count < arr2.count { return -1 }
        else { return arr1.reduce(0){$0 + $1} == arr2.reduce(0){$0 + $1} ? 1 : -1
        }
        return 0
    }
    이해 못하던 부분은 두 개의 배열의 갯수를 비교했을 때 바로 결과를 리턴하는게 아니라
    한 번 더 조건을 걸어야 했다는 점이었다.
    위 코드처럼, 원래는 삼항 연산자에서 비교를 하여 true / false에 맞는 1과 -1을 리턴하고
    아닐 경우 0을 리턴하도록 했다.

    func solution(_ arr1:[Int], _ arr2:[Int]) -> Int {
      if arr1.count > arr2.count { return 1 }
      else if arr1.count < arr2.count { return -1 }
      else { return arr1.reduce(0){$0 + $1} == arr2.reduce(0){$0 + $1} ? 0 :
            arr1.reduce(0){$0 + $1} > arr2.reduce(0){$0 + $1} ? 1 : -1 }
    }
    하지만 준영님은 또다른 삼항연산자를 삼항연산자 속에 넣어 조건을 한 번 더 확인할 수 있다는 조언을 주었다.
    몰랐는데, 이렇게 삼항연산자를 활용한다면 if else 구문에서 리턴하는 값들을 한 줄로 정리할 수 있어 보였다.

    *단, 삼항연산자를 이어붙이면 문제가 된다는 점도 배우게 됐는데, 가독성이 확실히 떨어진다.


  • NotificationCenter
    기존 투두 어플을 고도화 하는 작업 중 UIAlertController을 제외하는 방법을 생각했다.
    새로운 UIview를 적용하면서 같은 화면에서 keyboard가 반응하도록 만들고 싶었는데,
    이를 notificationCenter를 통해 할 수 있다는 것을 배우게 됐다.

notificationCenter는 저장된 객체에게 정보(알림)을 보내는 역할을 한다고 한다.
여기서 객체를 저장과 알림을 담당하게 되는 것으로 이해하게 되었는데, notification에서 키보드의 입력값을 확인하고 반응할 수 있도록 우선 만들어 두었다.

0개의 댓글