일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- selenium
- 프로그래머스 월간 코드 챌린지
- github actions
- c#
- FastAPI
- 브랜디
- Word Cloud
- PostgreSQL
- 파이썬
- 프로그래머스 코딩테스트 연습
- 프로그래머스 코딩 테스트 연습
- 애드센스
- git
- Codeforces
- heroku
- 디자인 패턴
- 클린 코드
- pycharm
- 프로그래머스 코딩테스트 연습문제
- Spring Boot
- 바이오데이터 엔지니어
- Firefox
- 스코페2021
- terraform
- Python
- 프로그래머스 월간 코드 챌린지 시즌1
- github
- WPF
- PostgreSQL 설치 시 에러
- Today
- Total
목록분류 전체보기 (103)
프로그래밍 연습하기
기존 프로젝트에서 누구나 글을 삭제할 수 있었습니다. 그래서 PostService와 PostApiController를 수정하여 현재 로그인 유저 이름을 가져오고, 해당 글을 쓴 사람과 같을 때만 삭제하도록 했습니다. 추가하면서 생각해본 점은 만약 아이디를 바꿀 수 있다면 내가 이전에 쓴 글은 어떻게 지워야 하나? 라는 생각이 문득 들었습니다. 아이디는 그대로 두고 닉네임 같은 것을 추가하여서 자유롭게 바꿀 수 있도록 하고 바뀌지 않는 값 끼리 비교를 해야하나? 아니면 유저에 작성한 글과 댓글을 추가하면서 유저가 작성한 글과 댓글만 삭제할 수 있게 한다던가? 실제 서비스 중인 어느 게시판은 상황에 따른 response를 해주고 프론트에서 그 값을 이용하여 처리하는 것으로 보입니다. 좀 더 고민해 봐야 할 ..

간단한 토이 프로젝트를 하나 진행해봤습니다. https://github.com/br-kim/Everytime br-kim/Everytime https://everytime.kr/. Contribute to br-kim/Everytime development by creating an account on GitHub. github.com 제가 만들어본 에브리타임 크롤링 클래스를 이용해서 대학생들이 많이 이용하는 커뮤니티인 에브리타임의 자유게시판 글을 크롤링 해온 뒤, https://github.com/lovit/KR-WordRank lovit/KR-WordRank 비지도학습 방법으로 한국어 텍스트에서 단어/키워드를 자동으로 추출하는 라이브러리입니다. Contribute to lovit/KR-WordRank..
정말 간단하고 어떻게 보면 의미가 적은 프로젝트이지만 토이 프로젝트를 해보기로 했습니다. 커뮤니티를 웹 크롤링을 통해 읽어오고 그 결과를 워드 클라우드로 시각화해보려고 합니다. 워드 클라우드나 문장 분석은 전부 구현된 것을 쓰기에 별로 어려울 것이 없다고 생각됩니다. 아직 시작 단계이지만 느낀 점이 몇 가지 있습니다. 1. 유의미한 워드 클라우드 만들기 문장 분석을 잘 해야 유의미한 키워드로 워드 클라우드를 만들 수 있을 것 같습니다. 2. 코드를 잘 작성해야 하는 이유 및 리팩토링의 필요성 웹 크롤링을 하는 과정에서 과거에 작성했던 파이썬 함수들을 사용했는데, 오래 지나서 사용해보니까 함수 반환 타입 등이 명확하지 않았습니다. 나름 주석을 적어놨었는데 정보가 좀 부족했습니다. 그래서 직접 값을 찍어보고..
어제는 처음으로 Pull Request를 해봤습니다. Github의 계정을 만든지는 꽤나 지났는데, 아직까지 Pull Request를 해본 적이 없었습니다. 무언가 중대한 에러가 나는 코드를 찾아내서 고쳤다거나 기능을 추가했다던가 하는 거창한 일은 아니고, 단순히 설치과정에서 의존성있는 패키지가 누락되어 있는 부분에 대한 Pull Request였습니다. 그것마저 완벽하게 작성해서 드리지는 못했네요. https://wayhome25.github.io/git/2017/07/08/git-first-pull-request-story/ git 초보를 위한 풀리퀘스트(pull request) 방법 · 초보몽키의 개발공부로그 개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고..
애자일이라는 말을 많이 들어보았지만 제대로 된 의미는 모르고 그저 개발 방법론 중 하나라고 어렴풋이 본 기억만 있었습니다. 검색을 해보니 잘 정리되고 이해하기 정말 좋은 게시글을 보아서 추천드리고 싶습니다. https://brunch.co.kr/@insuk/5 애자일이 무엇인가요? 프로그래머가 되고자 하는 분들을 위한 이야기 | 필자의 지인 중에 잘 알려진 IT출판사에서 근무를 하는 분이 계신다. 출판사에서 일하다보니 출판 기획, 저자 섭외 및 관리(?), 편집이나 교정 작� brunch.co.kr 이 글에서 모나리자의 비유가 특히 와닿았던 것 같습니다. 요약하자면 애자일 개발 방식이란 단순히 기간을 정하고 프로세스에 맞춰서 진행하는 것이 아닌, 먼저 개념을 잡고 잦은 피드백과 소통을 통하여 제품을 구체..
오늘은 클린 코드라는 책을 구매했습니다. 좋은 책이라고 익히 알려져 있지만, 오늘에서야 구매하게 되었습니다. 그동안 코드를 짜면서 구현에만 집중했던 것 같아 체계적으로 깔끔한 코드를 작성하고 싶네요. 책을 받고 목차를 한번 훑어보니 그동안 코드를 짜면서 한번씩 궁금했던 점도 몇 개 있는 것 같아서 흥미가 생깁니다. 책을 읽어보며 인상깊거나 중요한 부분은 블로그에도 정리를 해보고 싶네요.
자바를 사용하다 보면 close를 사용해 직접 닫아줘야 하는 자원들이 있다. 제대로 닫히는 것을 보장하기 위해 try-finally를 사용하는 경우가 있다. finally에서 close를 사용하는 것이다. 하지만 이 방법은 복수 자원을 사용할 때 코드가 보기 안 좋아지고, 에러 추적도 어렵게 하는 문제가 있다. 따라서 AutoCloserable 인터페이스를 구현하여 try-with-resource를 사용하는 것이 좋다. 파이썬을 할 때 with를 사용하는 것과 비슷한 것 같다.
저번에 댓글 추가까지만 구현하고 삭제는 이번에 구현하였다. 생성되는 댓글에 삭제하는 버튼도 같이 생성되게 하고, 댓글 테이블 마다 댓글 id 속성값을 넣었다. 그리고 제이쿼리를 사용하여 모든 댓글삭제 버튼에 id속성값을 이용해 댓글 삭제api를 호출하였다. 처음에는 댓글이 안지워져서 헤맸는데, 원인은 내가 댓글 Dto를 생성할때 id를 안넣었었고, 그래서 머스테치에서도 id를 읽어올 수 없었다. 대신에 이름이 같은 글번호를 읽어오고 있었다. 기본적으로 model에 들어가는 값에 대해 생각해봤어야 하는데 중복되는 이름이라 혹시 오류가 생긴건가 해서 애꿎은 머스테치의 오류를 찾느라 좀 헤멨다. 또다른 문제는 제일 처음 댓글 삭제 버튼만 작동하는 것이었다. 그 문제는 내가 제이쿼리를 작성할때 태그 id를 이용..
기존에 완성했던 프로젝트에 댓글 기능을 추가해보고 있다. 기능을 추가하면서 아직 프로젝트를 완벽하게 이해하지 못했다는 느낌이 들었다. 기존의 글과 비슷한 기능이지만 책을 보고 프로젝트를 완성한 것과 직접 작성해보는 느낌은 달랐다. 댓글을 새롭게 DB에 추가하고, domain, repository, service를 만들고 댓글 api controller, dto까지 작성을 해봤는데 예상보다 오랜 시간이 걸렸다. 댓글 JPA Repository를 만들면서 예상치 못한 에러가 나오기도 하였다. 메소드 이름을 잘못 작성한것 같아 일단 쿼리로 바꾸어서 적용을 하였다. 또한 화면을 구성하는 것도 마음대로 나오지 않아 고생했다. 그리고 @LoginUser를 이용해서 글/댓글 작성자의 아이디를 따로 입력받지 않고 로그..
어느새 책의 마지막 장인 무중단 배포까지 왔다. 이번 장에서도 역시 많은 오타로 수정을 거듭한 결과 두 개의 애플리케이션을 이용하여 중단 없이 배포를 성공하였다. profile을 확인하여 실행중인 애플리케이션이 달라지는 것도 확인할 수 있었다. 간단하게 과정을 설명하자면 애플리케이션 2개 중 Nginx와 연결되지 않은 곳에 배포를 하고 배포가 되어 제대로 작동되면 Nginx가 그 애플리케이션과 연결되어서 중단 없는 배포가 이루어진다. 마지막 11장은 프로젝트에 관한 내용은 아니고 저자가 1인 개발을 할 때의 방향성을 잡아주고 몇 가지 서비스를 추천해준다. 따라서 10장까지가 프로젝트의 내용을 담고 있다. 이 책을 읽고 프로젝트를 해보면서 많은 것을 새롭게 해볼 수 있어서 도움이 되었다. 자바와 스프링 부..