일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- github
- c#
- Python
- pycharm
- 파이썬
- PostgreSQL
- PostgreSQL 설치 시 에러
- 프로그래머스 코딩테스트 연습
- heroku
- Spring Boot
- Firefox
- 애드센스
- 브랜디
- 프로그래머스 코딩테스트 연습문제
- 프로그래머스 월간 코드 챌린지
- 프로그래머스 월간 코드 챌린지 시즌1
- Word Cloud
- 스코페2021
- Codeforces
- git
- terraform
- WPF
- 프로그래머스 코딩 테스트 연습
- github actions
- 바이오데이터 엔지니어
- 클린 코드
- selenium
- 디자인 패턴
- FastAPI
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- Today
- Total
목록일상 (18)
프로그래밍 연습하기
오늘은 Head First Design Pattern 책을 구매하였습니다. 헤드 퍼스트 시리즈 책 중 한 권을 예전에 도서관에서 잠깐 살펴봤었는데, 책이 내용을 풀어가는 스타일이 뭔가 눈에 안들어오고 마음에 들지 않아서 덮은 기억이 있었습니다. 그럼에도 디자인 패턴 책으로 많이 언급이 되어서, 이번에 한번 읽어보려고 합니다. 또 디자인 패턴 책으로 많이 언급되는 것이 GoF의 디자인 패턴 이라는 책인데, 평을 살펴보니 C++ 과 스몰톡을 사용하고 책이 조금 읽기 불편하다는 평을 봐서 헤드 퍼스트 책을 구매하게 되었습니다.
오늘 클린 코드를 거의 다 읽었습니다. 어떻게 보면 당연한 이야기를 하는 것도 있었고, 알고 있으면서 실천하지 못한 부분도 있었습니다. 그리고 이러한 내용을 잘 적용하려면 많은 경험이 필요하겠다 라고 느꼈습니다. 주요 내용을 간단하게 정리해보자면 주석을 달기보다는 코드에서 의도를 파악하는 것을 강조 변수나 메소드, 클래스의 네이밍이 중요하다. 메소드와 클래스를 쪼개기 이것은 첫번째와도 연관되는데, 다양한 책임이 있다면 이름 짓기가 어렵다. 테스트의 중요성 테스트를 원활하게 작성하려면 기능별로 쪼개는 것이 중요하다. 리팩토링의 중요성 한번에 완벽한 코드를 작성할 수는 없다. 지속적인 리팩토링으로 완성해나가야 함. 못 읽은 부분을 포함하여 나중에 다시 읽어봐야겠습니다. 그리고 디자인 패턴에 대해서도 공부해야..
오늘은 처음으로 남에게 의뢰를 받아서 프로그램을 작성해봤습니다. 사실은 누나의 부탁이구요. 무엇이 필요한건지 설명을 듣고 보니까 네이버 블로그의 댓글을 엑셀로 정리하는 간단한 프로그램이었습니다. 원래는 크몽에 의뢰할려고 했었는데 혹시나 해서 저한테 맡겨보기로 했답니다. 파이썬을 자주 써보긴 했지만 엑셀을 다뤄보진 않았었는데요. 이번 기회에 한번 간단하게 익혀봤습니다. openpyxl 라이브러리를 이용하여 쉽게 사용할 수 있었습니다. 저도 예전부터 크몽같은 곳에서 간단한 의뢰를 받아서 용돈벌이나 해볼까 생각했었는데, 여러가지 이유때문에 주저했습니다. 이번 기회를 통해서 비슷한 작업을 몇번 더 해보고 싶네요.
최근에 산 책이 두 권 있습니다. 이펙티브 자바와 클린 코드라는 책인데요. 클린 코드같은 경우에는 저번에 구매하고 나서 블로그에 글을 하나 썼는데 아직 조금밖에 읽지 못했네요. 틈날때마다 읽으려고 하긴 하는데 마음대로 잘 되지 않습니다. 독서하는 시간을 따로 정해두고 읽는 것도 괜찮은 것 같네요. 이펙티브 자바는 최근이라고 하기에는 좀 오래되긴 했지만... 이 책도 역시 초반부만 살짝 읽은 수준입니다. 이펙티브 자바 또한 좋은 책이라고 생각해서 정리하려고 노력중인데 아직 글 하나밖에 쓰지 못했네요. 두 책 다 언어를 떠나서 코딩하는 데 있어서 생각해볼 부분이 많은 것 같습니다. 마음에는 사고싶은 책이 몇 권 더 있는데 아직 사놓은 좋은 책들도 안읽은 상태에서 또 구매하는 것은 자제하고, 책 읽는 시간을 ..

예전에 공공데이터 API를 이용하여 미세먼지 관련 정보를 받아오는 프로젝트를 만든 적이 있습니다. 그런데 2020년 1월 쯤 해서 기존 API가 폐기된다는 안내를 받았습니다. 담당자분 정보 및 연락처는 수정을 했습니다. 그래서 새로운 API를 이용해서 코드를 짰었는데, 그 코드를 오늘 다시 손보게 되었습니다. 발견했던 문제중 하나가, 제가 받아온 지역이름과 기상 데이터를 (지역이름(string), 기상 데이터(dictionary)) 이렇게 튜플로 묶어놓는 바람에 문자열로 묶을때 해당 객체가 __iter__이고 str인지 아닌지를 검사해서 각각 다른방식으로 묶는 해괴한? 함수를 만들어놨었더라구요. 그래서 'location'과 'weather data'를 키로 하는 딕셔너리로 바꾸고 그것을 이용하는 함수도 ..
정말 간단하고 어떻게 보면 의미가 적은 프로젝트이지만 토이 프로젝트를 해보기로 했습니다. 커뮤니티를 웹 크롤링을 통해 읽어오고 그 결과를 워드 클라우드로 시각화해보려고 합니다. 워드 클라우드나 문장 분석은 전부 구현된 것을 쓰기에 별로 어려울 것이 없다고 생각됩니다. 아직 시작 단계이지만 느낀 점이 몇 가지 있습니다. 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) 방법 · 초보몽키의 개발공부로그 개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다. 코드를 통째로 복사하고..