개발일지 55

20220120 개발일지(WIL)

이번 주차는 알고리즘 기초 주간이었다. 개발일지라기보다는, 공부일지에 가까운 것 같다. 알고리즘 주간이었지만 실제 알고리즘을 공부했다기 보다는 JAVA 기본 문법을 익히는 시간이었다. 선정된 문제들은 프로그래머스 level 1 단계 문제들로, 찾아보니 1단계는 알고리즘에 대한 지식없이도 기본 문법을 가지고도 풀 수 있는 문제라고 한다. 처음에 JAVA라는 언어에 매력을 느꼈던 부분 중 하나는 타입과 관련된 부분이었다. 그런데, 실제 공부하면서 특히 초창기에 가장 힘들었던 부분도 타입이었다. 타입에 따라서 사용할 수 있는 메소드가 너무 달랐고, 문제에서 요구하는 타입으로 변환해서 반환하는 것도 힘들었다. 특히 처음에는 자바가 어떤 언어인지, 메소드는 어떻게 쓰는 건지, 어떤 식으로 동작하는지 파악이 안되서..

20220113 개발일지

오늘은 미니프로젝트 마지막날이다. 프로젝트 진행 속도가 빠른 편이라 크게 부담이 되지는 않았다. 마지막날 과제 제출과 회고 멘토링을 위해 필요한 작업들을 진행했다. 전날에 팀원 분이 좋은 유튜브 강의를 공유해주셔서, 깃을 터미널로 연습해볼 수 있었다. 오늘 해야할 일 중에 코드에 주석을 작성하는 것이었는데, 각자 파일마다 여러 곳을 맡았고, 깃허브를 연습할 겸 깃을 이용하여 파일들을 주고 받았다. 파이참을 켜놓고 작업하고 있는 중에도 풀을 하면 변경사항들이 바로 반영되는 것을 확인할 수 있었고, 다행히 큰 충돌이 발생하지는 않았다. 필요하면 변경사항까지 바로 볼 수 있어서 좋았다. 소스트리를 쓸 때 햇갈렸던 부분이 오히려 터미널에서는 직관적으로 보여 개념 이해가 더 잘 된 것 같았다. 시각적으로 상황을 ..

#네이버 지도로 위치정보 보여주기

추가로 지급된 강의 웹개발플러스에 네이버 지도 API를 사용하는 부분이 있었고, 이전 기수의 미니프로젝트에도 지도 사용한 걸 봐서 네이버 지도는 꼭 사용해보고 싶었다. 사실 손을 댄건 2일차부터였는데, 시도하다가 중간 중간에 막히기도 했고, 당장 해야할 것들이 먼저 눈에 들어와서 제대로 못하고 있었다. 급한 부분들은 거의 완료가 된 상태라서 다시 시도하였다. 나중에 생각해보면 일과 끝나고 9시 이후나, 따로 시간을 분배해서 쭉 시도했으면 더 좋았을 것 같다. - 선택한 지역의 전체 서점들을 지도로 표시하는 것 - 책방 세부정보에 개별 지도를 넣는 것 중에 고민했는데, 세부정보 페이지에 공간이 많이 남기도 했고, 후자가 조금 더 간단해 보여서 시도하였다. 세부정보 페이지에 이미 서버에서 책방 목록 정보를 ..

20220111 개발일지

(프로젝트 막판에 몰아서 작성하고 있어서 정확한 날짜기록은 틀릴 수 있음!!) 두번째 날 아침, 전체적인 기능은 모두 구현이 되서 우선 파일들을 병합하기로 했다. Git을 사용해보려고 했는데 아직 미숙해서 push/pull로는 파일을 끌어오지 못하고 단순히 github에 올리거나 카카오톡 단톡방을 이용해서 파일을 주고받았다. 중간에 로그아웃 기능이 실현되지 않는 문제가 있었는데, 기능이 실현되지 않는 페이지에 필요한 스크립트가 없어서 발생한 문제였다. 다른 사람이 수정한 파일을 받아왔을 때 라이브러리 버전 문제로 실행이 안되는 경우도 있었다. ☆ 기능구현에 필요한 패키지 정보(버전 포함), 스크립 등은 프로젝트 시작할 때 미리 어느정도 틀을 갖추어 놓거나, 변경/특이사항을 미리 팀원들과 공유하는 게 좋을..

#웹페이지간의 질의는 어떻게? GET, POST, jinja

사전 강의에서는 한 페이지 - 서버 간의 데이터 이동이 있었는데, 이번에는 여러 페이지를 만들다보니 어떻게 해야하는지 개념이 잘 잡히지 않아서 어려웠다. 페이지1에서 입력한 변수로 페이지2에서 결과 값을 보여주어야 하는데 처음에 이걸 도대체 어떤 모양으로 잡아야지, 에서 한참 시간이 걸린 것 같다. 페이지1에서 function search() { let sigun_name = $('#sigun_name option:selected').val() let choose = $('#choose').val() $.ajax({ type: 'GET', url: '/search', data: {sigun_name_give: sigun_name}, success: function () { let temphtml = `/..