3일차다. 작심삼일이라고 하는데 어쩐지 37도 가까이 올라가는 폭염특보가 오는 걸 보니 예사롭지 않은 날이다. 아직은 셋째 날이니까 기초적인 내용 위주로 진행이 됐지만 어제보다는 코플릿이 더 많아졌고 난이도도 아주 살짝 올라가서 슬슬 시동을 거는 분위기를 느낄 수 있었다. 아직 알고리즘에 들어가기 전이니까 너무 지나친 난이도는 없겠지만 자바스크립트의 문법과 특성을 확실하게 익히는 시기라고 생각하고 차분하게 그리고 꼼꼼하게 나아가고 있다. 그럼 오늘 내용을 정리해볼까.
조건문을 정리하고 관련된 문제를 풀었다. if문 위주의 문제들이 주를 이뤘고 어제에 비해서는 조금 머리를 써야 된다. 복잡해 보이는 문제를 간결하게 정리하는 즐거움이 조금 느껴지는 정도. 가벼운 몸풀기 느낌이다. 이렇게 평화롭고 간단한 문제들을 풀면서 조금 답답함도 느끼지만 그만큼 개념을 철저하게 집고 넘어가는데 집중하자. 문제를 풀다 보면 어이없는 미스들이 나오는데 다 아는 개념인데도 시간제한이 있거나 문제의 형태를 띠게 되면 당황해서 보이지가 않는 문제가 있다. 이건 무언가를 익히다 보면 오는 시기인데 원인은 단순하다. 아직 그만큼 숙달이 덜된 것 그 이상도 이하도 아니다. 근데 인간인 이상 실수를 하기 마련이지. 시간이 해결해 줄 거다.
elif로 자꾸 쓰다가 지웠다가를 반복하고 있다. 세미콜론도 자꾸 까먹고.
FizzBuzz 문제에서 조건문 순서 배치가 틀려서 조금 헤맸다. 관련된 문제들이 checkpoint에서도 나왔는데 정말 중요한 개념이라 익숙해져야 된다.
수업 시간이 끝나고 심심해서 agora에 들어가 봤는데 나와 동일한 기수분이 falsy 관련 코플릿에 질문이 올라온 걸 봤다. 기억에 남는 문제고 간단한 내용이라 답변해드렸다. 이 뿌듯한 느낌에 답변을 다는구나.
문자열의 속성과 메소드를 이용해 원하는 형태로 만들 수 있다.
문자열의 length라는 속성을 활용해 길이를 확인할 수 있다. str.length
문자열의 글자 하나하나에 접근할 수 있다. str[1]
문자열을 합칠 수 있다. word1 + " " + word2
문자열을 원하는 만큼만 선택할 수 있다. str.slice(0, 3) 또는 str.substring(0, 3)
영문을 모두 대문자로 바꿀 수 있다. str.toUpperCase()
영문을 모두 소문자로 바꿀 수 있다. str.toLowerCase()
문자열 중 원하는 문자의 index를 찾을 수 있다 str.indexOf('a') 또는 str.lastIndexOf('a')
문자열 중 원하는 문자가 포함되어 있는지 알 수 있다. str.includes('a')
추가 목표
띄어쓰기 (" ") 로 문자열을 구분하여 배열로 바꿀 수 있다. str.split(" ")
위의 배열의 요소 사이에 띄어쓰기 (" ") 넣어 다시 문자열로 바꿀 수 있다. str.split(" ").join(" ")
문자열에 대한 내용은 파이썬과 크게 다르지 않았다. 다만 특이했던 부분은 slice와 subsctring이 나누어져 있다는 것, 그리고 문자열을 index로 접근할 때 readonly인 것. 확실히 다른 언어다. 그렇게 있는 데는 다 장단점이 있겠지.
조건문에 비하면 그나마 할만했다. 어제오늘 같이 한 페어님이라 케미와 손발이 착착 맞아서 진행 속도도 굉장히 빨랐다. 분명히 추가 목표의 내용이 나와서 split, join 내용이 나올 줄 알았는데 아직 그 정도는 아닌가 보다. 캘린더를 보니 따로 심화 내용을 다루는 시간은 없는 것으로 보아 코플릿에 섞여서 알아서 찾게끔 만드는 흐름이 아닐까? 저기에 심심해서 적어둔 게 아닐 거다. 다~ 이유가 있겠지. 코드스테이츠에서 저 섹션을 굉장히 공들여서 작성한 게 느껴진다.
문자열 추가 목표 정리하기
처음 진행해서 궁금한 점이 많았다. 문제는 더 일찍 풀기 시작해도 되는지? 꼭 그 시간까지 붙잡고 있어야 하는지 등. 디스코드로 답변을 빠르게 달아주셔서 어떤 목적인지 알았다. 빠르게 시작하기보다 정해진 시간에 시작해서 주어진 시간에 해결하는 걸 목표로 한다.
하루 블로깅은 끝냈고 돌아본다면 주어진 툴 중에서 Notion을 어떻게 대할지가 고민이다. 이전에 에버노트를 쓰면서 가장 좋았던 점은 웹 클리핑 기능으로 보고 있는 웹페이지를 에버노트에 저장하는 기능이었다. 노션엔 그렇게 관대하게 넣어주는 기능은 없고 직접 해야 되지만 깔끔하게 정리하는 데 목표를 두고 있다.
아직 계정만 만들어놓고 쓰고 있질 않은데 저녁시간에 어떻게 활용해야 될지 고민해야겠다. 엔지니어는 자기 자신만의 지식 저장 공간이 필요한데 노션으로 그 역할을 할 수 있을까.