본문 바로가기

TIL

(12)
[ 23/2/6 : TIL : ] 2/06 : SA 작성, 기획 및 API 명세서 작성 붕어빵 꺼내지 말기 2. 엔티티한테 위임.. 3. api -> 복수명사/{id} 4. 내프로필 조회 -> /users/me transactional 활용 잘 해야함 enum 타입에 getter 가 꼭 필요한지 먼저 확인해보자 VO는 행위를 갖고있다. / VO와 Entity의 차이 → VO는 @Id가 없고 Entity는 있다. (식별자 유무) 유일하지 않은 것을 객체로서 표현하고자 할때 VO 를 쓴다. @Embedded 인 녀석들은 다 VO다. @Embeddable : 값 타입을 정의하는 곳에 표시 @Embedded : 값 타입을 사용하는 곳에 표시
[ 23/2/5 : SubQuery / With / 문자열 데이터 / Case When ] [ SubQuery ] -- kakaopay로 결제한 유저들의 정보보기 (join version) select u.user_id, u.name, u.email from users u inner join orders o on u.user_id = o.user_id where o.payment_method = 'kakaopay' vs -- subquery version select user_id, name, email from users where user_id in ( select user_id from orders o where payment_method = 'kakaopay' ) ( WHERE 절에 쓰는 서브쿼리 ) 쿼리문 안에 들어가는 쿼리문을 서브쿼리라고 한다 ( WHERE / SELECT. / F..
[ 23/2/4 SQL : Join / Group by / Order by를 두 개 이상의 Field로 정렬하는 경우 | Join 을 두번 이상 수행하는 경우 | Union ] [ 웹개발, 앱개발 종합반의 week 별 체크인 수를 세어보기 & 보기 좋게 정리해보기 ] select c.title, ch.week, count(*) as cnt from courses c inner join checkins ch on c.course_id = ch.course_id group by ch.week, c.title order by ch.week, c.title - Group by 는 한가지 필드를 대상으로만 할 수 있는 줄 알았는데, 생각지도 못하게 두 개 이상의 필드로 할 수 있는 것을 알고 놀랐다. - Group by {field1} -> 이 때, {field 1}의 값들로 구분되어 모여진 데이터를 모아놨다가 ( a ) Grou..
[ 23/2/3 SQL : Join - Left Join, Inner Join ] Join이란? 두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미한다. ex) user_id 필드를 기준으로 users 테이블과 orders 테이블을 연결해서 한 눈에 보기! Foreign Key 로 이어져있는 관계의 테이블들을 연결해준다. Join 에는 Left Join / Inner Join / Outer Join / Self Join 의 종류가 있는데, 이번에 배우게 될 내용은 Left Join / Inner Join이다. ( => Outer Join은 현업에서 그리 많이 쓰지 않는다고 한다 ) [ Left Join ] - Left Join 은, 조인을 하는 주체인 테이블의 데이터와, 다른 테이블의 참조 데이터를 가져와서 다 뿌려주는 것을 의미한다. se..
[ 23/2/2 TIL : SQL - SELECT * FROM Table ~ Group by / Order by : 통계적인 값들 구해보기 ] 동일한 범주의 데이터를 묶어주는 Group by 깔끔하게 데이터를 정렬해주는 Order by ( 오름차순 / 내림차순 ) [1] Group by 이용 예시. *Q) users 테이블에서 같은 성씨가 각각 몇개가 있는지 알고 싶다. 1) 일단 users 테이블에서 name 필드를 기준으로 정렬해본다. select * from users u group by name 이 결과는 아래와 같이 나온다. 쿼리문을 해석하면, select * : 테이블 내에 모든 필드들을 보여줘라. from users u : users라는 테이블에서 ( users의 별칭을 u로 하겠다 ) group by name : 이름 필드값을 기준으로 동일한 데이터는 묶어줘. 자세히 보면, name필드 값이 겹치지 않음을 알 수 있다. 사실 이*..
[ 23/2/1 TIL - SQL 기본 : SELECT 문 - WHERE / BETWEEN / IN / AND / OR | 크롬 개발자 도구 console 창 글자 크기 키우기 | Java class & interface : extends vs implements ] 이번에 듣게 된 '엑셀보다 쉬운 SQL' 강의에서 SQL 기본 문법에 대해 학습했다. 데이터베이스와 테이블을 설계하고 관리하는 DBA를 위한 강의가 아니라, ( 관계형 데이터베이스.. ERD ... Schema ... Entity ... ) 단순히 데이터베이스 상에 있는 데이터를 검색해오는 기본적인 기능만 이용하게 해주는 입문자용 강의이다. 괜히 데이터베이스 상의 데이터를 Insert / Update / Delete 등의 작업으로, 데이터의 변경을 주지 않으면서 데이터베이스에서 데이터를 선택해서 가져온다는 의미인 SELECT문을 제대로 사용하여 내가 원하는 데이터를 뽑아올 수 있게 하는 것이 강의의 목표이다. [1] SELECT Query - DB의 CRUD 중, 'Read' 기능의 역할을 한다. - 쿼..
[ 23/1/30 TIL : Spring Exception : UnsatisfiedDependencyException / 이미 포트 8080을 사용하고 있는 경우 ( Web server failed to start. Port 8080 was already in use. ) [ UnsatisfiedDependencyException : Not a managed type ] org.springframework.beans.factory.UnsatisfiedDependencyException : Error creating bean with name 'personController' . . . 'personService' . . . 'personRepository' . . . . . .nested exception is java.lang.IllegalArgumentException: Not a managed type 스프링으로 간단한 예제를 학습하던 도중 이런 에러를 보게 되었다. UnsatisfiedDependenctException을 일으키는 원인은 다양하게 있지만, 구글링 및..
[ 1/25 ] 구조해조 KPT 회고 https://www.notion.so/9-9046b46c9b38405787ce721ae7c82cdd [9조]팀 별 회고 Keep ( 계속 유지했으면 좋겠는 부분 ) www.notion.so
[ 23년 1월 9일 Today I Learned ] 자바 기본 문법 & 클래스 복습 어제 TIL을 작성하지 못해 간단히 작성해본다. 다시 코딩의 세계에 돌아와서 꾸준히 해나가보려고 마음먹은 날이다. 이번부터 Spring Framework를 사용하게 되었는데 이를 위해 Java 기본 문법과 클래스의 개념을 다시 복습하였다. 실습 위주로 진행하는 프로그램이었고, 배웠던 내용을 다시 보는 것이기에 막 엄청 어렵진 않았다. 그렇기에 지금 당장 적을 것은 없다. 앞으로 다시 하기로 맘먹은 만큼, 뭐든 열심히 배워봐야겠다.
[ 11/29 일잘하조 KPT 회고 ] 이번 프로젝트에서 진행한 과정 중 다음 프로젝트에서도 유지했으면 하는 부분 소통 자유로운 의견 공유와 존중 궁금한 점 생기면 바로바로 물어보기 서로를 배려하는 말투 오픈 채팅방 / 슬랙 채널을 만들어서 즉각적인 소통 환경 마련 헛소리도 받아 주는 따뜻한 팀원님들.. 정기적인 코드 리뷰 팀원분들이 유쾌함 상대방의 상황을 이해하는 배려심 주고받는 의견을 수용하는 따뜻한 자세 꼼꼼한 설계 하나부터 열까지 전부 계획 코드 구현보다 구조 설계에 많은 시간 분배 분석&설계 80% : 구현 20% 으로 무게 통일된 설계 이해도로 문제 발생을 줄임 팀 리더의 리딩 하에 꼼꼼하고 이해도 높은 팀원 간의 문답 브레인스토밍부터 완벽 설계까지.. 클래스를 추출하고 개발해나가는 완벽 빌드업 협동력 팀원의 어려움을 적극적으로 돕..