전통적인 for문보다는 for-each 문을 사용하라 🔎 for-each문이 전통적인 for문보다 무엇이 좋을까? 다음은 전통적인 for문으로 컬렉션을 순회하는 코드다. 순차적으로 발전하는 코드를 보여주면서 for-each문의 간결함을 볼 수 있을 것이다. 1. 전통적인 for문으로 컬렉션과 배열을 순회한다. // 컬렉션 순회 for (Iterator i = c.iterator() ; i.hasNext(); ){ Element e = i.next(); ... // e로 무언가를 한다. } // 배열 순회 for (int i=0 ; i 반복자와 인덱스 변수를 사용하지 않으니 코드가 깔끔해지고 오류가 날 일도 없다. 4 -> 하나의 관용구로 컬렉션과 배열을 모두 처리할 수 있어서 어떤 컨테이너를 다루는지는 ..
지역변수의 유효 범위를 최소로 줄이면 코드 가독성과 유지보수성이 높아지고 오류 가능성은 낮아진다. 🔍 지역변수의 범위를 줄이는 방법? - 4가지! '미리 선언하지 말고, 가장 처음 쓰일 때 선언 하기' - 사용하려면 멀었는데, 미리 선언부터 해두었다면? 코드가 어수선해져 가독성이 떨어진다. 변수를 실제로 사용하는 시점엔 타입과 초깃값이 기억나지 않을 수도 있다. 다 쓴 뒤에도 여전히 살아있게 되기 쉽다. (지역변수의 범위는 선언된 지점부터 그 지점을 포함한 블록이 끝날 때까지이므로) '거의 모든 지역변수는 선언과 동시에 초기화해야 한다.' 초기화에 필요한 정보가 충분하지 않다면 충분해질 때까지 선언을 미뤄야 한다. - 예외상황으로 try-catch문이 있다. 변수를 초기화하는 표현식에서 검사 예외를 던질..
📚 토큰 기반 인증 시스템? JWT는 서버 기반 인증과는 다르게 토큰을 이용한 토큰 기반 인증 시스템입니다. 토큰 기반 인증 시스템을 선택해야 하는 이유는 다음과 같습니다. 1. 무상태성! stateless서버는 상태를 유지하지 않고, 서버는 클라이언트 측에서 들어오는 요청만으로 작업을 처리합니다. 따라서 클라이언트와 서버의 연결고리가 없기 때문에 서버의 확장성이 높아집니다. 2. 무결성! 안전한 API를 만들기 위해 쿠키 같은 인증 시스템을 사용하지 않아도 됩니다. 3. 확장성! 토큰 기반 인증을 사용하는 다르 시스템에 접근이 가능합니다. 대표적인 예제로는 OAuth가 있으며, 페이스북/구글 같은 소셜 계정들을 이용하여 다른 웹 서비스에서도 로그인할 수 있습니다. 4. 보안성! 토큰 기반 인증 시스템을..
❓ Lombok Java를 사용해 개발을 하다 보면 데이터 이동에 사용되는 DTO를 만들어 사용하게 됩니다. 이때 Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 라이브러리가 있습니다. 이런 다이어트 라이브러리가 바로 Lombok(롬복)입니다! 매번 리팩토링을 하거나 때에 따라 생성자를 여러 개 만들어주어야 할 때가 있습니다. 이때 Lombok을 사용하면 어노테이션으로 쉽고 간단하게 DTO를 만들 수 있습니다. ❗ Lombok의 어노테이션 Lombok은 어노테이션 선언을 통해 필요한 코드를 생성할 수 있습니다. 어노테이션 기능 @ToString 모든 필드를 출력하는 toString()메서드 생성 및 재정의 @EqualsAndHashCode ha..
- Total
- Today
- Yesterday
- BFS
- 백준
- Container
- 아이템60
- 운영체제
- 알고리즘
- IMAGE
- dp
- EffectiveJava
- 이펙티브자바
- 아이템59
- OS
- 완탐
- subset
- cicd
- 완전탐색
- docker-compose
- DevOps
- Retrofit2
- dfs
- Java
- 조합
- bruteforce
- 그래프탐색
- springboot
- docker
- 아이템61
- BOJ
- 순열
- 토큰기반인증
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |