일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- LEVEL 2
- 백준
- 배포
- 트랜잭션
- 코딩테스트
- 협업프로젝트
- 프로그래머스
- 6주포트폴리오
- 마법의 엘리베이터
- DFS
- 토이프로젝트
- 알고리즘
- Java
- couchcoding
- 유사 칸토어 비트열
- 토이 프로젝트
- Fun편log
- 그리디 알고리즘
- maven
- 빌드 툴
- pom.xml
- GitHub
- 테이블 해시 함수
- Spring Framework
- 카우치코딩
- Qoddi
- 와이어 프레임
- 프로젝트 설계
- Spring
- ERD
- Today
- Total
목록토이 프로젝트 (19)
소통 하고싶은 개발자

목차 시작하며 JSP Controller 구현 내용 Service 구현 내용 Dao에서 로그를 불러오는 메서드 리뷰 마치며 시작하며 이번에는 마이페이지 구현 내용을 포스팅하려고 한다. JSP 마이페이지의 전체적인 레이아웃은 위 사진처럼 JSP를 구현했다. 왼쪽은 프로필에 저장되어있는 닉네임, 성별, 나이, 지역을 순서대로 나열했고, 해당 정보를 수정할 수 있도록 프로필 수정하러 가기 버튼을 넣었다. 오른쪽은 해당 유저의 최근 활동을 로그를 기반으로 읽어와서 디스플레이하도록 구성했다. 각 항목을 클릭하면 해당 로그가 기록됐던 글 혹은 댓글로 이동하도록 했다. 아래 코드는 해당 기능을 구현하기 위한 JSP 코드이다. 내 프로필 닉네임 : ${profile.nicname} 성별 : ${profile.gende..

목차 시작하며 컨트롤러 인터셉터 적용 마치며 시작하며 이 프로젝트와 관련한 포스팅을 정말 오랜만에 작성하는 것 같다. 사실 이전 포스팅들을 차근차근 읽어보는데, 나름 열심히 작성했지만 알아볼 수 없는 부분도 있었다..... 그래서 이런저런 설명을 구구절절 적는 것보단 간결하게 적기로 다짐했다. 컨트롤러 인터셉터 적용 이전 포스팅에서 이야기했지만, 로그인 유무를 판별하여 서비스를 제공할 것인지 정하는 기능이 필요했다. 지금까지는 기능을 만들 때 로그인이 필요한 서비스의 경우, 각각의 컨트롤러 메서드에서 로그인 중인지 체크하는 부분을 일일이 넣었다. 이는 심각한 반복 작업이다. 기능을 만들 때 이런 작은 일들이 점차 쌓이는 것은 경험상 파멸로 향하는 길이라는 것을 느낀 적이 있기 때문에 알고 있다. 그래서 ..

목차 시작하며 스프링 설정 파일 Dao(Repository) 마치며 시작하며 이전 두 개의 포스팅에서 트랜잭션에 대한 것들로 고민이 참 많았다. 이런저런 고민을 계속하는데 문득 "일이 처리되는 과정을 모두 알고 구현할 줄 아는 것도 중요하지만, 이미 존재하는 좋은 기술을 습득하는 게 더 중요하지 않을까?"라는 생각이 들었다. 처음부터 하나씩 다 만들고 자동화할줄 알면 좋겠지만 그래서는 내가 점점 장인이 되어갈 것 같았다. 장인이라는 단어는 이전 회사에서 종종 사용하던 단어인데, 언 뜻 좋은 뜻으로 들릴 수 있으나 당시 사용했던 장인이라는 단어의 의미는 그렇지 않다. 장인은 개인적인 실력은 높지만 내가 만든 코드를 남들에게 이해시키거나 다른 사람의 코드를 0부터 100까지 모두 이해하지 못하면 소통할 수 ..

목차 시작하며 문제점 1 - 관심사 밖의 코드 반복 문제점 2 - Connection 공유 마치며 시작하며 이번 포스팅은 저번 포스팅에 이어서 Transaction을 어떻게 적용해야 할까 하는 취지의 두 번째 글이다. 저번 포스팅에서는 트랜잭션을 왜 써야 했고, 또 정말 트랜잭션이 생성되는지 직접 터미널에서 확인해봤었는데, 이걸 적용하다 보니 문제점이 발생해서 글로 남겨두려 한다. 추가적으로 해당 포스팅에 존재하는 소스코드들은 전부 현재 프로젝트 내부 코드이다. 문제점 1 - 관심사 밖의 코드의 반복 첫 번째 문제점은 Service 객체에서 DB 접속과 관련된 코드가 항상 반복되어야 한다는 것이다. 이해를 돕기 위해 아래 코드를 보자. public void createPost(Profile profile..

목차 시작하며 트랜잭션을 써야 하는 이유? 현재 요청 처리 구조 지금 구조에서 트랜잭션을 적용하려면? 마치며 시작하며 지금까지는 DB를 사용할 때 JDBC의 대중적인 방법으로 Connection, Statement, ResultSet을 생성하고 닫는 작업의 반복이었다. 그렇게 어느 때와 같이 유튜브를 보다가 코딩 관련 영상 하나를 발견했는데, 유튜브 영상에서 "트랜잭션 등등.. 이런 것도 해야 하고.."라는 말을 우연히 들었다. 영상 주제가 트랜잭션에 대한 것도 아니었고, 트랜잭션이 그렇게 강조되는 어구도 아니었는데 문득 "그러고 보니 트랜잭션도 중요하지 근데 나도 해야 되는데..?"라는 생각이 들었다. 그래서 "트랜잭션을 적용하려면 어떻게 해야 할까"라는 생각을 하게 되었고 이번에 어떤 식으로 적용할지..

목차 시작하며 글 목록을 보여주는 기능의 확장 전체 글 수를 구하는 기능의 확장 마치며 시작하며 어느 때와 같이 프로젝트에 전념하고 있었을 때, 친구와 우연히 내가 진행 중인 프로젝트에 대해 "어느 단계를 진행하고 있다" 이런 근황에 대해 이야기하고 있었다. 마침 그때가 "글 목록을 보여주고 페이지네이션 기능까지 넣어서 잘 동작하는 것 같다" 이런 이야기를 할 때였는데, 친구가 문득 "게시판이라면 검색 기능이나 해쉬태그를 사용할 수 있어야 할 것 같다." 라는 이야기를 한 것이다. 하지만 뭔가 머릿속이 어질어질했다. 왜냐면 당시에 구현해놓은 정렬 방식이 실시간 글, 일일 인기 글, 주간 인기 글의 3 가지인데, 하나를 더 추가하려면 뭔가 수정되어야 할 부분이 많게 느껴졌기 때문이다. 그렇게 뭔가 어질어질..

목차 시작하며 도움을 받은 곳들 나의 github 내가 작성한 README.md 둘러보기 마치며 시작하며 프로젝트를 진행하면서 github에 push 하고 다른 환경에서 pull 해서 사용해보는 작업을 반복하면서 지내던 어느 날, 유튜브를 시청하는데 어떤 시니어 개발자님이 멘토링을 컨셉으로 시청자들의 github를 봐주고 있는 영상을 발견했다. 흥미로운 마음(?)에 잠깐 시청하려고 들어갔는데 스트리머님(시니어 개발자님)이 이런 말을 하셨다. 기술 블로그에 예쁘게 꾸미거나 노션을 활용하여 설명을 해도 좋지만, 깃허브 Readme 파일에 간략하게라도 설명글을 써주는게 좋다! 해당 영상을 시청할 때까지는 별 감흥이 없었는데, 반복되는 Push • Pull • Commit 속에서 이런 생각을 했다. 토이 프로젝..

목차 시작하며 댓글 상세보기 페이지 구현 방식 댓글 더보기 기능 구현 방식 마치며 시작하며 이번에는 댓글 상세보기 페이지와 댓글 더보기 기능을 구현한 것에 대해 어떤 방식으로 구현했는지 포스팅하려고 한다. 이렇게 댓글 상세보기 페이지를 따로 만든 이유는 다음과 같다. 제일 처음에 와이어 프레임을 설계할 때 댓글 상세보기 페이지를 만들 계획을 했다. (설계대로 만들기..) 제일 적은 비용으로 서비스를 만들려면 댓글에 추가적인 버튼을 만들어 JS의 XmlHttpRequest로 조금씩 데이터를 받아오는 것이 좋다고 생각했으나, 이틀 정도를 고민했음에도 JS에서 Servlet으로부터 받아온 한글 데이터가 깨지는 현상을 고치지 못했다. 그래서 기존 설계대로 댓글 상세보기 페이지를 만들기로 했다! 댓글 상세보기 페..

목차 시작하며 메인페이지 글 목록 조회 글 상세 조회 마치며 시작하며 저번 포스팅에서는 회원가입 기능 및 PUT, DELETE 메서드 사용 가능하게 됨으로 인한 RESTful 한 URL 매핑 방식에 대해서 이야기했었는데, 로그인, 회원가입 기능이 정상적으로 작동하므로 본격적인 메인 콘텐츠인 글 작성, 조회를 구현한 방법이나 해결했던 문제 상황에 대해 포스팅하려고 한다. 물론 글 작성과 조회 말고도 수정과 삭제, 그 밖에도 구현해야 하는 기능들이 많지만 중간 포스팅을 하지 않으면 나중에 양이 엄청 많아질 것 같기에.. tmi 이긴 한데 요즘 본가에 데스크톱과 맥북을 오가며 깃허브에 대한 감각을 늘리고자 push, pull을 하고 있는데 뭔가 감이 잡히는 느낌이 들어서 좋다^^ 메인 페이지 아래 사진은 설계..

목차 시작하며 제작 페이지와 와이어 프레임 비교 구현 방법 테스트 코드 사용 URL 매핑 개선 마치며 시작하며 뭔가 점점 포스팅을 하는 텀이 길어지는 것 같은 기분이 든다... 코딩은 매일 하고 있는데 뭔가 마음에 안드는 구석을 보고 쉽게 지나치지 못하는 성격때문이지 않을까 싶다..^^ 그래도 이전에는 몰라서 알아야겠다는 느낌으로 조사를 했었다면 점점 선택하는 시간이 짧아지는 느낌이 든다. 올바른 선택이어야 할텐데....!! 제작 페이지와 와이어 프레임 비교 위 사진은 약관 글과 사이드 바를 구현한 것이다. 약관 글은 대충 만들려다가 그래도 너무 대충은 좀 별로일 것 같아서 다른 회원가입 양식을 많이 참고했다. 이용 약관은 펼쳐서 볼 수도 있고 접어서 볼 수 있게 만들었다. 계정 정보 입력 페이지에서는 ..