| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 애드센스
- 프로그래머스 코딩테스트 연습
- 프로그래머스 코딩테스트 연습문제
- Word Cloud
- c#
- PostgreSQL
- 파이썬
- FastAPI
- github
- terraform
- 프로그래머스 월간 코드 챌린지
- Firefox
- WPF
- 프로그래머스 월간 코드 챌린지 시즌1
- 바이오데이터 엔지니어
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 프로그래머스 코딩 테스트 연습
- Spring Boot
- github actions
- PostgreSQL 설치 시 에러
- 클린 코드
- 디자인 패턴
- Codeforces
- heroku
- pycharm
- git
- 스코페2021
- Python
- 브랜디
- selenium
- Today
- Total
목록2020/07 (32)
프로그래밍 연습하기
오늘은 처음으로 남에게 의뢰를 받아서 프로그램을 작성해봤습니다. 사실은 누나의 부탁이구요. 무엇이 필요한건지 설명을 듣고 보니까 네이버 블로그의 댓글을 엑셀로 정리하는 간단한 프로그램이었습니다. 원래는 크몽에 의뢰할려고 했었는데 혹시나 해서 저한테 맡겨보기로 했답니다. 파이썬을 자주 써보긴 했지만 엑셀을 다뤄보진 않았었는데요. 이번 기회에 한번 간단하게 익혀봤습니다. openpyxl 라이브러리를 이용하여 쉽게 사용할 수 있었습니다. 저도 예전부터 크몽같은 곳에서 간단한 의뢰를 받아서 용돈벌이나 해볼까 생각했었는데, 여러가지 이유때문에 주저했습니다. 이번 기회를 통해서 비슷한 작업을 몇번 더 해보고 싶네요.
JetBrain IDE에서 사용되는 단축키를 정리 해보려고 합니다. 점점 추가해 갈 예정입니다. Ctrl + K 깃 커밋 Ctrl + Shift + K 깃 푸쉬 (두 파일 선택 후) Ctrl + D 파일 diff 비교
최근에 산 책이 두 권 있습니다. 이펙티브 자바와 클린 코드라는 책인데요. 클린 코드같은 경우에는 저번에 구매하고 나서 블로그에 글을 하나 썼는데 아직 조금밖에 읽지 못했네요. 틈날때마다 읽으려고 하긴 하는데 마음대로 잘 되지 않습니다. 독서하는 시간을 따로 정해두고 읽는 것도 괜찮은 것 같네요. 이펙티브 자바는 최근이라고 하기에는 좀 오래되긴 했지만... 이 책도 역시 초반부만 살짝 읽은 수준입니다. 이펙티브 자바 또한 좋은 책이라고 생각해서 정리하려고 노력중인데 아직 글 하나밖에 쓰지 못했네요. 두 책 다 언어를 떠나서 코딩하는 데 있어서 생각해볼 부분이 많은 것 같습니다. 마음에는 사고싶은 책이 몇 권 더 있는데 아직 사놓은 좋은 책들도 안읽은 상태에서 또 구매하는 것은 자제하고, 책 읽는 시간을 ..
예전에 공공데이터 API를 이용하여 미세먼지 관련 정보를 받아오는 프로젝트를 만든 적이 있습니다. 그런데 2020년 1월 쯤 해서 기존 API가 폐기된다는 안내를 받았습니다. 담당자분 정보 및 연락처는 수정을 했습니다. 그래서 새로운 API를 이용해서 코드를 짰었는데, 그 코드를 오늘 다시 손보게 되었습니다. 발견했던 문제중 하나가, 제가 받아온 지역이름과 기상 데이터를 (지역이름(string), 기상 데이터(dictionary)) 이렇게 튜플로 묶어놓는 바람에 문자열로 묶을때 해당 객체가 __iter__이고 str인지 아닌지를 검사해서 각각 다른방식으로 묶는 해괴한? 함수를 만들어놨었더라구요. 그래서 'location'과 'weather data'를 키로 하는 딕셔너리로 바꾸고 그것을 이용하는 함수도 ..
Git 사용이 아직 미숙해서 gitignore파일 설정을 잘못 한다던가, 올리지 말야야 될 것을 올리는 경우가 종종 있었습니다. 앞으로도 자주 사용할 것 같아서 정리를 해보려고 합니다. git rm 파일이름 원격 저장소에 있는 파일과 로컬 저장소에 있는 파일 모두 삭제 git rm --cached 파일이름 원격 저장소에 있는 파일만 삭제 -r 옵션을 사용하고 폴더 이름을 입력하여 폴더 하위의 모든 파일을 삭제할 수 있습니다. 당연하지만 삭제 해준 후 commit, push를 해주어야 적용이 되는 것을 확인할 수 있습니다.
기존 프로젝트에서 누구나 글을 삭제할 수 있었습니다. 그래서 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 이 글에서 모나리자의 비유가 특히 와닿았던 것 같습니다. 요약하자면 애자일 개발 방식이란 단순히 기간을 정하고 프로세스에 맞춰서 진행하는 것이 아닌, 먼저 개념을 잡고 잦은 피드백과 소통을 통하여 제품을 구체..