분류 전체보기
[TIL] DAY 11
오늘 할 일 강의 듣기 강의 정리하기 실전 자바 책 정리 팀 스터디 과제 피드백 수정 시작 TIL 작성하기 TIL 1. OCP(개방/폐쇄 원칙) 인터페이스를 추가함으로써 수정이 필요한 코드를 직접 바꾸지 않고 메소드나 클래스의 동작을 바꿀 수 있다. 새로운 구현을 인수로 전달하기 때문에 확장성이 개방된다. 2. Notification(노티피케이션) 패턴 미확인 예외가 너무 많은 상황에서 오류를 수집하고 각 상황에 맞는 해결책을 제공한다. 현업에서는 로그로 대부분의 오류를 확인하기 때문에 사용하지 않는다고 한다. 3. 예외 사용 가이드라인 예외를 무시하면 안된다. 일반적인 예외는 잡지 않아도 된다. 예외를 문서화해야 한다. 내일 할 일 강의 듣기 강의 정리하기 SQL 고득점 KIT 다 풀고 PR 하기 과제..
[TIL] DAY 10
오늘 할 일 강의 듣기 강의 정리하기 SQL 레벨업 마저 정리하기 SQL 스터디 실전 자바 책 읽기 및 정리(정리는 내일!) TIL 작성하기 TIL 1. MySQL (1) limit 결괏값 중 상단 지정 개수의 데이터만 가져오고 싶을 때 사용한다. ex) 상단 1개만 가져오는 경우 select * from table limit(1); (2) count 레코드 수 카운트할 때 사용한다. NULL은 카운트에 포함시키지 않는다. count(컬럼) : 해당 컬럼 레코드 개수 카운트한다. select count(1) from table; count(NULL) : 조건에 NULL이 들어가 탐색하지 않는다. count(value) : NULL이 아닌 경우 탐색한다. select count(value) from tab..
[TIL] DAY 9
오늘 할 일 강의 듣기 강의 정리하기 DB 책 읽고 정리하기 TIL 작성하기 TIL 1. MySQL RDBMS중 하나로 많은 사람들이 아무 문제없이 사용해서 전부다 무료인줄 알았지만, 유료 버전인 Enterprise가 있다는 것을 알았다. 한 대의 서버만 사용 가능하기 때문에 용량 증대가 필요할 때는 직접 서버에 CPU와 메모리를 추가하는 Scale-Up 방식을 사용한다. 도커에 MySQL을 처음 설치해 보았는데, 윈도우에서 실행하려면 기타 설정들이 필요하다. 우선, wsl2를 사용하기 위해 우분투를 설치해야 하고, 도커에 MySQL Image를 다운받아야 한다. * Docker Image : 패키지를 파일 시스템 형태로 만든 것. 그 후, 임시 비밀번호를 찾아내 MySQL을 실행시킨다. 비밀번호를 변경..
[TIL] DAY 8
오늘 할 일 실전 자바 소프트웨어 개발 1, 2장 정리하기 강의 듣기 강의 정리하기 함수형 인터페이스 정리하기(작성 중) 팀 스터디 진행하기 TIL 작성하기 TIL 1. 응집도와 결합도 클래스나 메소드의 책임이 서로 얼마나 강하게 엮여 있는지가 응집도인데, 만약 클래스의 목적에 관련 없는 메소드가 있다면 응집도가 낮아지는 것이다. 더 쉽게 이해하고, 유지 보수하기 위해서는 응집도가 높아지도록 리팩토링해야 한다. 반대로 결합도는 적은 외부 클래스를 참조해 낮추어야 한다. 이 과정에서 서로의 연관성을 낮추기 위해 중간에 인터페이스를 추가한다고 한다. 그리고, 결합도를 낮추는 방법에 인터페이스뿐만 아니라 팩토리 패턴을 적용하는 방법이 있다고 한다. 2. 디자인 패턴 적용하기 번개식으로 멘토님이 전략 패턴과 싱..
[TIL] Day 7
오늘 할 일 함수형 인터페이스 정리하기(진행 중) 실전 자바 소프트웨어 개발 1, 2장 읽기 TIL 작성하기 TIL 1. 자바 책 스터디 준비 하나의 책을 다 같이 읽고 스터디를 진행하는 것이 처음이다. 아직 어떤 스타일로 정리하고 발표를 진행하는지 감이 오지 않아 책을 정독하고 코드를 직접 작성해보았다. 처음 한 클래스에 모든 기능을 구현했을 때와 다르게 점점 변해가는 코드를 보는 것이 아직은 신기하다. 객체지향이라는 것이 무엇인지 조금씩 몸소 깨닫고 있다. 정리는 아직 다 진행하지 못했는데 내일 남은 분량을 마무리해 스터디에 참여해야겠다. 2. GIT 과제를 멘토님께 PR 하기 전 다른 분들이 어떻게 했는지와 PR 방법 영상을 계속 찾아보고 시청했다. 그렇게 많은 참고를 통해 PR을 했고, 제대로 되..
[TIL] Day 6
데브 코스 과정에서 맞이하는 첫 주말이다. 뭔가 의욕이 넘쳤지만, 정작 많은 것을 하지는 못했다. 내일 시간이 별로 없을 텐데 아침과 저녁에 틈나는 대로 부족한 부분을 메꾸어야겠다. 오늘 할 일 오늘 강의 다시 듣기 DB 스터디(SQL 문제 풀기) 복습하며 인터페이스 정리하기 Build Tool 조사하기 TIL 작성하기 알고리즘 1문제 풀기 TIL 1. DB 팀 스터디를 시작한 지 얼마 안됐기 때문에 간단하게 SQL 코테 문제를 풀고 리뷰하는 시간을 가졌다. 개인적으로 난이도가 낮았다고 느꼈기 때문에 모든 팀원들의 코드가 같을 것이라고 생각했다. 하지만, 간단한 쿼리문임에도 불구하고 다르게 작성한 코드를 맞이할 수 있었다. 그만큼 공부할 게 더 있는 것이니 DB도 공부를 차차 해나가야겠다. 오늘 기본적인..
[Java] 인터페이스
인터페이스란? 만약 사람이 움직이는 것을 코드로 구현할 때, 사람은 걷기 뛰기 달리기 등 다양한 동작이 가능하다. 이러한 행동들을 필요할 때마다 추가를 한다면 코드를 작성하는 입장에서 굉장히 번거로울 것이다. 인터페이스를 사용하면 이러한 번거로움이 없어진다. 즉, 사람과 행동 사이에 중개자 역할을 담당하는 것이 인터페이스다. 그리고 행동에 필요한 틀을 선언해 놓아 구현을 강제한다. 장점 - 중개자를 통해 코드를 작성하기 때문에 동시 작업이 가능해진다. (만약 중개자가 없는 상태에서 동시개발을 진행한다면 추가로 변경해야 하는 부분이 생겨 꼬일 수 있다.) - 선언과 구현이 분리되어 있기 때문에 구현 부분을 수정해도 다른 클래스에 영향을 미치지 않는다. - 코드 변경 없이 다양한 실행 내용이나 결괏값을 구할..
[TIL] Day 5
오늘은 이번 주에 습득한 지식을 활용해 간단한 프로그램을 만드는 강의를 들었다. 아직 명확하게 단계와 의미를 이해하고 있지 못하는 상태이지만, 신기하게도 강의를 따라가는 게 버겁지는 않았다. 저번 주에 나와 오늘의 나는 달라진 건가?! 오늘 할 일 디자인 패턴 정리 인터페이스 정리(주말에 강의 복습과 함께 정리 예정) 강의 듣기 강의 정리 TIL 제출하기 알고리즘 1문제 풀기(오늘 못 푼 것) TIL 1. 라이브러리 활용 오늘 Gradle을 활용해 라이브러리를 추가해 사용해 보았다. (1) JavaFaker 이런 좋은 라이브러리가 있다는 걸 알았다면 더미 데이터 만들 때 많이 사용했을 것 같다. 가짜 정보를 랜덤으로 계속 반환해주는 좋은 라이브러리다. 특정 영화의 주인공 이름이라던가. 지역 등등 굉장히 ..