목록항해99 (8)
로빈의 개발로그
주특기 들어가고 난 뒤 TIL을 거의 못썼다.. 지옥의 나날들ㅠㅠ 하루하루 배운걸 회고하는 시간을 못가지고 거의 인풋을 잘 삼키는것도 어려웠다. 지금 프로젝트도 마찬가지로 시간적 여유가 너무 없다. 그래도 하루의 배운 내용을 회고해봐야 나중에, 돌이켜볼 때 다시 알 수 있기에 오늘부터라도 착실히 정리하려고 한다. 요 며칠간 몸이 너무 안좋았는데 거기다가 아버지가 코로나에 걸리셔서, 검사받느라 난리도 아니었다. 예전같았으면 밥도 스킵했을텐데 같이 챙겨먹게되서 좋은건지 나쁜건지는 잘 모르겠다; 점심먹고 커피사러 30분 왔다갔다하는 시간이 일광욕 하는시간이라 행복하다! 그 행복 코드에 잘 녹여내보자. - 일정 > 나머지 죄다 프로그램 08:30 기상 12:00 ~ 1:00 점심시간 2:00 ~ 3:00 기획미..
실전 프로젝트 돌입. 다행이도 좋은 팀원들과 만나서 프로젝트를 하게 된 것에 감사한다. 1주차는 기획의 시간이라고 봐도 과언이 아니었다. 아이디어는 마구잡이로 나오는데 1) 어느정도의 스코프로 가져갈지 2) 팀원 모두가 흥미있는 아이디어인지 3) 기술적으로 뭔가 재미있는 표현이 가능한지 4) 트래픽이 다량으로 발생할 수 있는지 이 4가지 부분의 의견 조율이 필요해서 다른 조보다 시간이 많이 걸렸던 것 같다. 나는 CRUD를 맡았는데, 일단 우리 게시판이 자잘한 기능이 많아서 약 16~17개의 최종 테이블이 나온 것 같다. (** 월요일 기준 더 나왔다 ^^!) 조인해야 하는 테이블도 많고 주특기 기간 열심히 공부했지만 다량의 테이블을 다뤄보는게 처음이라, 또한 코드 컨벤션으로 잡은 쿼리dsl의 장벽과 각..
ORM(Object Relation Mapping)이란? 객체와 DB테이블이 매핑을 이루는 것을 말한다. 즉, 객체가 테이블이 되도록 매핑을 시켜주는 것을 말하며, ORM을 사용하게 되면 SQL Query를 직접 작성하는 것이 아닌, 직관적인 코드(메서드) 형태로 데이터를 조작할 수 있다. 즉 객체는 객체대로 설계, RDB는 RDB대로 설계하고 중간에서 ORM이 매핑. 자바 이외에도 대중적인 언어는 대부분 ORM 기술이 존재. ORM의 장점은 MyBatis나 JDBC Template 같은 경우 직접 SQL쿼리를 작성하여 조작해야 했지만 (이것은 개발자인가 쿼리짜는 기계인가..) ORM의 경우 매핑된 객체가 board 라면 board.findAll()과 같은 메서드 형태로 DB에서 데이터를 가져올 수 있다..
✅ 이번주에 배운 것들 : 이진탐색, 최단경로 (다익스트라, 플루이드 워셜), DP 이번주에는 알고리즘의 꽃이라고 불리는 이진탐색, 최단경로 및 DP를 마지막으로 배웠다. 이진탐색의 경우, 탐색의 범위를 절반씩으로 줄이며 원하는 해당 값을 찾아나가는 개념인데, 시간복잡도 logN으로 진행이 가능하여, 비교적 인풋값이 큰 알고리즘 문제의 경우 이진탐색을 고민해봐야 한다. 문제를 풀면서 헷갈렸던 부분이 이진탐색의 경우 start, end라는 인덱스의 양끝 값을 기준으로 mid값으로 원하는 값의 범위를 찾아나가는데 이진탐색을 종료하는 부분에 대한 것이었다. 문제마다 다른 점이 있겠지만 세 포인터가 겹칠때 마지막으로 확인 후 알고리즘을 빠져나가게 설계되는 부분이 처음에는 이해가 되지 않아서, 어려웠지만 문제를 ..