불변객체와 캐싱 불변 인스턴스의 정보는 고정되어 생성~파괴까지 값이 달라지지 않는다. 불변 객체의 다섯가지 규칙 객체의 상태를 변경하는 메서드(변경자)를 제공하지 않는다. 클래스를 확장할 수 없도록 한다. 불변 객체를 상속받지 못하게 하려면 모든 생성자를 private 혹은 package-private으로 설정하고, public 정적 메소드를 제공할 수 있다. 모든 필드를 final 선언한다. 모든 필드를 private 선언한다. 자신 외에는 내부의 가변 컴포넌트에 접근할 수 없도록 한다. 불변객체의 장점 근본적으로 스레드 안전하며 따로 동기화할 필요가 없다. 불변 객체 자체로 실패 원자성을 제공하기 때문이다. 안심하고 공유할 수 있다. 이것은 방어적 복사를 사용하지 않아도 됨을 의미한다. 가변 클래스보..
더 좋은 프로그래밍 하기 setter 지양 Setter은 왜 지양해야 할까? set이라는 것은 초기화의 의미를 담고 있다. 객체가 만들어질 때, 초기화하는 역할은 생성자이다. 생성자의 역할은 적절한 유효성 검사를 통한 초기화이다. 따라서 초기화는 생성자로 하는 것이 좋다. 초기화 이후에도 내부 값을 변경하게 될 수도 있는데 이때는 set이라는 키워드를 사용하여 메서드 이름을 설정하기보다는 적절한 이름을 지어주는 것이 좋다. 하는 역할이 같더라도 객체가 외부의 값을 받아 능동적으로 변경하는지, 외부의 호출에 의해 수동적인 값 변경이 되는지 느낌의 차이라고 생각한다. getter 지양 setter/getter를 지양하라는 것은 핵심 비즈니스 로직을 구현하는 도메인 객체에 해당한다. Domain 객체와 DTO..
- 밋코더 스터디 지난주에 우테코 수업시간에 나왔던 정적팩토리메소드에 대해 발표했다. 역시 다른 분들이 다양한 사용법이나 이슈에 대해서 말해주셔서 도움이 많이 되었다. 👍 키워드가 나올 때, 이펙티브 자바를 참고해서 정리하면 좋을 듯 싶다. 이외에도 오늘도 역시 다양한 분야에 대한 발표와 포스팅을 볼 수 있어 재미있었다. 다음주 포스팅은 우테코 미션1에서 배운 TDD를 정리해 볼 생각이다. ⚡ - SQL 공부 프로그래머스 1문제 풀었다. 😀 쉽지만 한문제씩 하다보면 SQL에 익숙해지지 않을까? 책도 마저 조금 읽어야지! - CS50 강의 이제 드디어 마지막 주차 강의이다. 설 연휴로 1주 밀렸지만, 강의는 여유가 있을 때 미리 들어놓는게 좋을 듯 싶다. 오늘 미션5주차도 하려고 했는데.. 하기가 싫어져서..
- 책 읽기 SQL 첫걸음 읽고 있다. 쿼리문 위주의 내용이라서 틈틈히 읽으면 도움이 될 듯하다. 프로그래머스에서 SQL 고득점 kit가 있는데 이것도 한 문제 풀었다. 책을 읽으면서 매일 SQL 한 문제씩 풀어야지 😁 - 글 쓰기 nauni.tistory.com/132 [책] 코딩을 지탱하는 기술 책을 읽게 된 계기 우테코 필독서 리스트에 있어서 읽게 되었다. 얇지만 사실 책이 재미없어 보였다. 필독서에 읽고나서 블로그에 정리해보면 좋다고 하니 읽기 시작했다. 읽을수록 왜 필독서에 nauni.tistory.com 책을 읽고 내용을 정리해보았다. 필독서에 읽은 후 내용을 정리할 것을 추천한다고 해서 작성하게 되었는데 확실히 어느 것이든 정리하면 도움이 된다. (시간이 걸려서 안하게 될 뿐이지..😥) 기대..
책을 읽게 된 계기 우테코 필독서 리스트에 있어서 읽게 되었다. 얇지만 사실 책이 재미없어 보였다. 필독서에 읽고나서 블로그에 정리해보면 좋다고 하니 읽기 시작했다. 읽을수록 왜 필독서에 있는지 알겠다는 느낌을 받았다. 프로그래밍을 하는 전반에 깔려있는 원리와 기본 개념들이 나오게 된 배경부터 여러 언어들에서 공통된 내용과 차이를 설명해주고 있다. 나의 이해를 바탕으로 한 책 내용정리 1. 컴퓨터 언어는 사람✨이 사용하기 편하게 발전해왔다. 컴퓨터 언어는 기계(컴퓨터)에게 일을 시키는 방식이다. 기계가 이해하는 언어인 바이너리코드(0과1의 조합)로 일을 바로 시키는 것이 가장 빠르다. 하지만 이것은 사람이 일을 시키기가 힘들다.😥 따라서 어셈블리어가 나오게 되었고, 이식성의 문제 등으로 C언어가 나왔다...
- 책 읽기 DB 책을 읽고 있다. 데이터베이스 첫걸음을 다 읽고, SQL 첫걸음을 읽고 있다. 데이터베이스 첫걸음 좋은 책인 것 같은데, 내가 DB를 많이 사용한 적이 없어서 공감되는게 적어서 그런지 조금 재미가 없었다ㅠ 그래도 전반적인 DB에 관련된 내용이 잘 정리되어 있는 것 같아서 나같은 입문자들이 읽으면 좋을 듯 싶다. 😁 - 알고리즘 nauni.tistory.com/130 프로그래머스 레벨3 - 카카오 2020인턴 경주로 건설 문제주소 programmers.co.kr/learn/courses/30/lessons/67259 내 풀이 answer = 10e9 def dfs(board, pos, n, cost_board): x, y = pos[0][0], pos[0][1] dir = pos[1] c..
문제주소 programmers.co.kr/learn/courses/30/lessons/67259 내 풀이 answer = 10e9 def dfs(board, pos, n, cost_board): x, y = pos[0][0], pos[0][1] dir = pos[1] cost = pos[2] global answer # 종료조건 # 끝지점 도착 if pos[0] == (n, n): answer = min(answer, pos[2] * 100) return # cost 가 answer보다 커지는건 최솟값이 아니므로 종료 if cost > answer: return # cost_board에 저장된 값이 지금 cost 보다 작다는 것은 이미 방문한 곳이고, 이미 최솟값이므로 종료 if cost_board[x]..
- 정적팩토리메소드 정리 nauni.tistory.com/128 정적 팩토리 메소드(static factory method) 정적 팩토리 메소드(static factory method)란? 보통 인스턴스를 생성하는 전형적인 수단은 public 생성자를 통한 인스턴스화이다. 하지만, 그 클래스의 인스턴스를 반환하는 정적 메소드로 인스턴스를 nauni.tistory.com 이번주 동안 static 메소드의 활용에 대해 많이 알게 된 것 같다. 수업 중에 정적 팩토리 메소드 키워드가 나와서 공부하다가 생각보다 이펙티브 자바에 많은 개념이 나와서 좀 힘들었다. 예제 코드도 생각해서 작성해 보았는데.. 사실 맞는건진 잘 모르겠다 🤑 - 책 읽기 코딩을 지배하는 기술을 읽었다. 프로그래밍 언어 전반에 대한 개념에 ..
- Total
- Today
- Yesterday
- 월간회고
- 운영체제
- 마스터즈코스
- 회고
- TCP/IP
- JS
- 내부코드
- React
- javascript
- 객체지향
- 모의면접준비
- 코드스쿼드
- Transaction
- python
- 개발공부일지
- 학습로그
- Spring
- java
- 글쓰기미션
- 알고리즘
- 우테코수업
- 우아한테크코스
- TIL
- 인증
- DB
- CS
- JPA
- OS
- 카카오
- 네트워크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |