Day 4~5
새롭게 배운내용
자료구조
- 트라이 : 문자열을 저장하고 효율적으로 탐색하기 위한 트리 자료구조
- 루트는 비어있으며
- 각 간선은 추가될 문자를 키로 가지고
- 각 정점은 이전 정점 값 + 간선의 키의 값을 가진다.
- 이진 탐색 트리의 문제점:
- 한쪽으로 편향된 트리가 될 수 있음.
- 이를 해결하기위해 다음과 같은 자료구조 이용가능
if문의 {} 생략은 신중히..!
- 한줄의 코드라 하더라도 {}을 생략하고 써내려가는것은 되려 가독성을 해칠 수 있다.
이중,삼중의 if문, for문이 되다보면 가독성이 떨어지는것은 맞지만 그럴땐 함수형 프로그래밍을 생각해볼것. 그게 아니라면 왠만하면 {}를 붙이자!
오늘 느낀점
- 사실 자료구조 및 알고리즘은 데브코스를 시작하기전 거의 2달동안을 매달고있던 공부라, 지식적인 측면에서 새롭게 알게된 내용은 없었다. 다만, 자료구조와 알고리즘을 바라보는 자세랄까, 좀 더 개발자스럽게 자료구조와 알고리즘을 대할수 있게된것같다. 어떤 기능을 구현하는데에 있어서 구현 그자체만이 아니라, 자연스럽게 어떤 자료구조로 데이터 관리를 하면 좋을까, 이러저러하게 하면 좀 더 효율적인 코드가 되겠는데?? 같이 말이다.
예를들어, Trie를이용해 문자자동완성 알고리즘을 짜던중, 사용자 검색기록이 많은 순서로 출력되는 점에 대해 생각해봤고, Heap이면 되지않을까? 라는 생각을 하게 되더라말이다
- 개발자 공부를 시작하고 난생처음 코드리뷰라는 것을 받아보았다! 마찬가지로 나도 다른사람들의 코드를 보고, 이에 대해 리뷰해보는것도 처음이었다.
대만족!! 정말 많은것들을 배울수있었다.
코드 가독성이라던가..코드 가독성이라던가...코드 가독성이라던가...
추가적으로 내 코드가 파이써닉하다는 리뷰가 있었다. 내가 파이썬만 주구장창 했다는걸 어떻게 알았지?! ( 분명 변수명도 camelCase였는데...) 확실히 개발자 눈에는 코드만봐도 많은걸 알수있는것같다. 앞으로 있을 코드리뷰들도 너무 기대된다.
한주를 마무리하며..
정말 쏜살같이 지나간 한주였다. 하지만 분명 '아무것도 한게 없는데 1주라고??' 는 단언코 아니였다. 1주일동안 정말 많은것을 했고(스터디,팀별활동,기능구현,코드리뷰...)
, 많은것을 얻었고(새로운 지식,온라인 소통법,팀간 소통, 내용정리)
, 많은것을 느꼈다(의지 불끈!)
. 그렇다고 모든것을 얻었는가? 그건 또 아니다. 아직 모르는것 투성이다. 당장에 1주일동안 배운 내용들중에서도 모르는게 투성이다.
처음엔 하루하루 모든것을 스펀지처럼 흡수하려했으나 이러면 얕게만 알던 이전과 다를게 무엇인가? 하나하나 나의 페이스대로 따라가는게 정답이라는 생각이 든다. 다만 데브코스가 끝난다고 내 공부가 끝나는건 아니기에 추가적으로 알고싶은 부분에 대한 키워드는 지속적으로 남기려고 한다.
한주동안 수고했고 두번째주도 화이팅!
ps. 여자친구랑 시간을 거의 보내지못해 미안하고, 아쉽다. 주말 밤에는 여자친구와 롤켓몬을 하며 시간을 보냈는데, 역시 게임은 오랜만에 해야 제맛!!