본문 바로가기

내일배움캠프16

TIL 230619 : Spring은 그저 도구. (IoC/DI, 3 Layer, 영속성 컨텍스트(flush commit 차이), 클래스 리터럴, URL주의점.. 강의를 집중해서 듣는 기간에는 새로운 정보들이 홍수처럼 쏟아진다. 새롭게 배운 내용, 배우면서 심화하고 싶은 내용, 어렵진 않아도 복잡한 내용 등. 이 기간에만 다양한 내용들을 포스팅에 정리하며 체득하고자 한다. 처음 배운 개념들 3 Layer Architecture 패턴이 보이니까 개발자 조상님들이 나눠놓음. Controller : 프론트엔드에서 받은 http요청들이 한 눈에 보기 쉽다. 데이터를 넘겨받는 방법들이 몇가지 있다. Service : 거의 주요하게 개발될 파트. 실제 서비스 관련된 로직들이 담긴다. Repository : DB와 연동되는 로직들. Spring Data JPA를 통해 편리하게 이용이 가능하다. Spring Data JPA 사용방법이 조금 독특하다. 해당 Repository클래.. 2023. 6. 20.
WIL 230611 : 대부분이 힘들어한다는 것은 극복했을 때 성취감이 크다는 것. FACTS 이번 일주일 동안 있었던 일, 내가 한 일 : 팀 과제로 호텔 예약 관리 프로그램을 만들었다. 협업하기 위해 파트를 나누고 각자 코드를 구현하기로 했다. 중간에 큰 틀을 다른 조원의 틀로 엎고 가기로 하며 초반 코드작업은 크게 할 것이 없었다. 그래도 머지 작업이나 이후 수정 작업에서 개인적으로 개선해야 햇으면 하는 점들을 커밋하며 보완했다. 이 과정에서 계속 나에게 스트레스를 안겨주었던 Git도 수차례 복습하며 숙지했다. FEELINGS 나의 감정적인 반응, 느낌 : 익숙하지 않은 개념이 나오면 미뤄두고 싶고 회피하고 싶은 마음도 들지만, 이것들을 마주하고 독파해냈을 때의 성취감을 알고 있다. Git이 그랬다. 하루를 각오하고 충분히 숙지할 시간을 가졌다. 마음 속 깊은 이해에서 나오는 감탄.. 2023. 6. 12.
TIL 230608 : Git 과 친해지기.. 정말이지 뭉치면 죽고 흩어지면 사는 팀과제였다. 이유는 git이 아닐까. 머지공포증에 걸릴 것 같다. Git이라는게 이런 거구나를 여실히 느끼며 계속 열받을 바에 언젠간 마스터해야할 git 이기에 기초를 다시 복습해보기로 한다. 우선 가장 헷갈리게 만드는 요소를 정리해봤다. 1. 기본 상호작용 : add, push, pull, commit, origin, remote, clone, diff 2. 브랜치 이용 : branch, merge, rebase, checkout +계정 연동 설정 : git remote ~~ 1. git의 기본 (add, commit, push, pull, etc....) add랑 commit이 너무 헷갈리던 찰나 위 사진을 발견하고 혈이 뚫렸다. add를 하는 이유는 변경사항이 두.. 2023. 6. 8.
TIL 230607 : ArrayList와 List 사이. (feat. 업캐스팅, 다운캐스팅) private List rooms = new ArrayList(); private List reservations = new ArrayList(); 팀 과제 도중 다른 팀원이 작성한 코드 중 위 코드를 보고 질문했습니다. ArrayList로 생성하고 List 타입으로 받은 이유가 뭐에요..??? A : 얘가 얘한테 상속.. 다형성이잖아요. 다형성인건 알지만 결국엔 그것은 그걸 표현하는 개념의 이름일 뿐이다. 교재의 예제에서도 종종 저렇게 표현하던데, 그랬을 때의 특징과 장점이 있지 않을까 궁금해졌다. public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable 우선 Array.. 2023. 6. 7.
TIL 230605 : Stringbuilder랑 가까워지기. 요즘 코딩테스트 문제를 연습하는데, 문자열을 다루는 것에서 기초가 부실함을 느끼기도 했고 다들 String만 쓰는게 아닌거 같길래, 이에 Stringbuilder와 가까워져보기로 한다. 1. Stringbuilder? Stringbuffer? String? 우선 크게 나눠보자면, [ String / Stringbuilder, Stringbuffer ] 두가지이다. 메소드같은 기능적인 부분들이야 비슷하고, 그때그때 구글링해서 써도 무방하지만, 메모리상에 어떻게 동작하는지 어떤때에 어떻게 활용해야 장단점이 있는지 알고 싶었다. 그런면에서 우선, String과 Stringbuilder 이 두가지로 우선 정리할 수 있다. String String은 쉽게 말해서 그때그때 인스턴스를 만든다. 새로운 값을 할당해도 .. 2023. 6. 6.
TIL 230602 : 튜터님의 코드와 비교해보는 코드리뷰 (키오스크 주문 프로그램) 금요일 리뷰마치고 튜터님 코드와 내 코드랑 비교하고 TIL정리를 깜빡해서 이제야 올린다. 튜터님의 코드리뷰 시간 키오스크 프로그램 과제를 마무리하고 튜터님의 코드를 통해 리뷰해보는 시간이 있었다. 내가 짠 코드와 비교할 수 있는 시간이라 굉장히 보고 와닿은 것들이 많았는데 아래에 정리해보려 한다. 1. 한 메소드당 10줄 이상 넘지 않는 것이 좋다. 튜터님의 코드를 처음 봤을 때 든 느낌은 '깔끔하다.'였다. 한 메소드당 10줄이상 넘어가지 않게 짜는게 좋다고 말씀하셨는데, 그 말을 듣고 다시 코드를 보니 그래서 별다른 주석 없이도 이해가 잘 됐던 것 같다. 2. 프린트 기능들을 메소드로 정리해두면 깔끔하다. 반복되는 'System.out.println' 명령어들은 메소드로 정리해서 해당 매개변수를 받아.. 2023. 6. 4.