본문 바로가기
반응형

전체 글113

우테코 3주차 후기 프리코스는 저의 모습을 좋은 방향으로 성장시켜 주었습니다. 제일 먼저 개발 실력을 성장시켜주었습니다. 이전까지의 개발 방식은 이기적이었습니다. 단순히 컴파일에 성공하는 코드를 작성해왔습니다. 코드 컨벤션, 매주 받는 피드백 그리고 스스로 찾아 읽어본 책들을 통해 개발 방식에 변화를 줄 수 있었습니다. 타인이 쉽게 알아볼 수 있도록 작성하는 것에 집중하였고 이것이 습관이 되도록 만들었습니다. 그리고 개발자로서 성장시켜주었습니다. 매주 과제를 진행하면서 충분하다고 생각이 들 때까지 리팩터링을 진행했습니다. 그렇지만 항상 다음 과제를 진행할 때 이전 과제에서 발견하지 못한 문제점들을 확인할 수 있었습니다. 이 경험을 통해 프리코스가 아니어도 개발자로 사는 것은 계속해서 문제점을 발견해내는 이러한 과정의 연속일.. 2021. 12. 13.
우아한테크코스 4기 프리코스 후기 프리코스 3개의 과제를 끝내고 느낀 점 작성하기 원래는 1개의 과제를 끝낼 때마다 느낀 점을 작성하려고 하였다. 그런데 과제를 진행하다 보니 느낀 점을 작성할 시간에 과제 해결에 필요한 내용을 공부해야겠다는 생각이 들었다. 그래서 모든 과제를 다 끝낸 지금, 이제라도 느낀 점을 작성해보려고 한다. 프리코스 시작 전 일단 우테코 1차에 합격하고 프리코스 시작까지 5일이라는 시간이 있었다. 이 5일 동안 뭘 하면 좋을까 생각을 하면서 이전 기수 사람들의 블로그를 염탐하였다. 여러 블로그들에서 클린 코드, 람다와 스트림에 대한 중요성을 강조하였고, 그런 글들을 보자마자 바로 클린 코드와, 모던 자바 인 액션 두 책을 구매하였다. 5일밖에 없는 시간 동안 이 두 책을 읽는 것이 크게 도움이 될까?라는 생각을 하.. 2021. 12. 13.
Git 원격 저장소 옮기기 Git 사용 시 기존의 원격 저장소의 연결을 끊고 새로운 원격 저장소로 옮기는 방법 1. git remote -v 이 명령어를 통해 현재 어떤 저장소와 연결되어있는지 확인할 수 있다. 2. git remote remove origin 이 명령어를 통해 현재 연결된 저장소와의 연결을 끊을 수 있다. 3. git remote add origin https://,,,, 이 명령어를 통해 새로운 저장소와 연결을 할 수 있다. 2021. 12. 10.
정규표현식 아래의 튜토리얼을 진행하였다. http://zvon.org/comp/r/tut-Regexp.html#Pages~Contents Regular Expressions Tutorial @ZVON.org zvon.org 1. 정규표현식은 대소문자를 구분한다. 2. 정규표현식은 공백을 구분한다. 3. ^은 시작 $는 끝을 의미한다. ex) ^WHO -> WHO로 시작하는 문자열을 찾는다 WHO$ -> WHO로 끝나는 문자열을 찾는다. 4. ^, $, \가 포함된 검색하고 싶을 때는 앞에 \을 붙인다. ex) \^, \$, \\ 5. .은 모든 문자를 의미한다. ex) ...... -> 문자 6개 6. . 문자를 검색하고 싶다면 \. 7. [ ] 안에는 문자 하나를 의미한다. ex) [oyu] -> o 또는 y 또.. 2021. 12. 9.
객체지향 설계 5원칙 SOLID 응집도와 결합도 좋은 소프트웨어 설계를 위해서는 결합도는 낮추고 응집도는 높여야 한다 응징도가 높을수록 하나의 책임에 집중하고 독립성이 높아져서 재사용 및 유지보수가 용이하다. 결합도가 낮을수록 모듈 간의 상호 의존성이 줄어들어 객체의 재사용 및 유지보수가 유리하다. 1. SRP ( Single Responsibility Principle ) 단일 책임 원칙 어떠한 클래스를 변경해야 하는 이유는 한 가지뿐이어야 한다. 모든 클래스는 하나의 책임만 가진다. 클래스가 제공하는 모든 기능은 이 책임과 깊게 부합해야 한다. 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면 단일 책인 원칙을 잘 따른 것이다. 2. OCP ( Open Cloised Principle ) 개방 폐쇄 원칙 소프트웨어 요소는.. 2021. 11. 22.
[파이썬] strip( ), lstrip( ), rstrip( ) https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 튜플 문제를 해결하면서 문자열 파싱 과정에 대해서 부족함을 느꼈다. 이제껏 strip, lstrip, rstrip에 대해서 알고는 있었지만 그저 양쪽의 공백을 없애주는 함수로 알고 있었다. strip의 정확한 기능은 인자로 들어온 특정 문자를 제거하는 기능이다. strip([chars]) : 인자로 전달된 문자.. 2021. 11. 14.
당근마켓 API 수정 및 마무리 - 13일차 API 수정 오늘은 그동안 미뤄왔던 동네 검색 API를 수정했다. 검색어를 띄어쓰기 단위로 분리하고 분리된 검색어들을 각각 검색 처리하였다. 그리고 검색 결과들을 inner join으로 조인 연산을 하여 공통된 검색 결과만을 반환하였다. 이 작업을 진행하면서 쿼리문을 어떻게 써야 효율적이고 깔끔하게 쓸지 알게 되었다. 당근 마켓을 만들면서 느낀 점 처음으로 진행해본 프로젝트라서 자신에게 많이 관대했던 것 같다. 처음이니까 이 정도 수준까지만 진행해야겠다는 허접한 생각을 많이 하였다. 물론 자바에 대한 지식은 가지고 있지만 스프링 부트 프레임 워크에 대한 지식은 많이 부족했기에 고수준의 프로젝트를 만들 수는 없었다. 그리고 프로젝트를 진행하면서 git에 허비하는 시간이 제일 많았다. git에 대한 지식도 .. 2021. 11. 12.
당근마켓 게시물 상태 변경 API 추가 - 12일차 기존에 계획했던 API를 모두 만들었기에 다른 분께서 작업을 하던 게시물 domain을 이어받아 API를 추가하였다. 그런데 API를 작성하려고 보니 게시물의 삭제를 나타내는 status 컬럼에 게시물 판매완료를 나타내는 상태까지 들어가있었다. 각자의 영역을 담당하면서 다른 영역은 알아서 잘 하고 있겠지 라는 생각을 하였기에 이제서야 발견한 것 같다. 서로 서로 코드에 대한 피드백을 나누었어야 하는데 이 부분을 놓친 것 같다. 솔직한 마음으로는 다 다시 만들자고 하고 싶었지만 이미 만들어 놓으신게 너무 많았기에 수정하지 않고 잘못 설계한 부분까지 잘 동작하도록 새로운 API를 작성하였다. 만약 실무였다면,, 아찔하다 오늘 추가한 API 1. 게시물 판매 완료로 바꾸기 PATCH /post/:postId/.. 2021. 11. 10.
당근마켓 category domain 추가 - 11일차 오늘은 category domain에 대한 API 작업을 하였다. 3개의 API를 추가했다. 그리고 피드백을 받았다. 피드백 1. 생산성이 조금 느린편이다. 2. 인덱스 걸기 1. 미리 정해놓은 설계할 API들이 있었고 이에 대해 시간 분배를 잘 했지만 생산성이 느리다는 피드백을 받았다. 2주안에 당근마켓의 모든 기능을 구현하기에는 현실적으로 시간이 부족하다는 생각이 들었기에 구현해야 할 API를 조금 적게 설정했는데 이게 문제였을까 싶다. 2. 검색해야 할 column 들에 인덱스를 걸어 조회 속도를 높였다. API 추가 1. 모든 카테고리 조회 GET /category 등록된 모든 카테고리를 가져온다. 2. 유저의 카테고리 조회 GET /category/:userId 유저가 등록한 모든 카테고리를 조.. 2021. 11. 10.
반응형