일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 객체비교
- SpringBoot
- 주니어개발자
- 2차원배열 정렬
- n poem
- 함수형프로그래밍
- Spring
- 프로젝트설정
- Npoem
- GraphQL
- 상속모델
- django
- 컨트리뷰팅
- circuitbreaker
- 운영체제
- circular dependency
- 마이크로서비스패턴
- bean-validator
- 토이프로젝트
- 일급함수
- resilience4j
- Not Null constraint failed
- cannot import name
- 좋은코드란
- bulk_create
- Java
- API문서화
- DI
- 쿼리셋합치기
- IOC
- Today
- Total
목록Java (7)
코딩 하는 가든
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bHxGam/btq3SZxdOLW/hSe3nu4w35ZllhgjeueLok/img.png)
들어가기에 앞서 먼저 Throttle(쓰로틀)이란? 쓰로틀은 같은 이벤트가 짧은 시간 내에 반복적으로 일어 날 때 부하를 막기 위해 호출 횟수의 제어를 하는 기법입니다. 주로 프론트엔드에서는 스크롤을 올리고 내릴 때, 스크롤에 붙어 있는 이벤트가 짧은 시간 내 엄청나게 많이 호출 되는 것을 방지하여 정해 진 시간 내에 정해진 횟수만큼 실행 될 수 있도록 제어하기 위해 쓰로틀 기법을 많이들 사용 합니다. [www.zerocho.com/category/JavaScript/post/59a8e9cb15ac0000182794fa] Java로 Throttle을 사용 하는 경우? 사실 잘 모르겠습니다 ㅎㅎ. 저 같은 경우엔 Spring 백엔드 서버에서 외부 api의 응답 결과를 캐시에 저장 하는 작업을 하는데, 반복..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cUuNII/btqHgqR6QN0/oizytEd2wYHKgDVIQci741/img.png)
얼마 전 본 면접에서 Runtime Exception과 Checked Exception에 대한 차이점에 대한 질문을 받았습니다. 그 당시에는 차이점을 잘 몰랐고 느낀 점으로만 Runtime Exception은 수행 중에 발생하는 예외이고 Checked Exception은 컴파일 때 잡아내는 Exception이라고 대답을 했고 잘 알아보아야겠다는 생각에 공부를 한 후 기록합니다. Exception 이란(?) Exception(예외) 이란 프로그램의 수행 도중 예상할 수 없었던 상황이 발생하여 프로그램을 더 이상 수행할 수 없는 상황이 발생하는 것입니다. (Java를 사용하는...) 개발자는 이러한 예외 상황이 발생할 수 있는 구간에 try ~ catch 구문을 사용하여 만약 예외 상황이 발생한다면 정해진 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/2Awxw/btqGHrpE1LM/yyW3K1jBuGNPv8LXNnKBKK/img.png)
JVM, JDK, JRE에 대해서 알아보기 JVM의 메모리 구조에 대해서 공부하던 중 문득 JVM과 그 주변 환경에 대한 간단한 정리를 한번 하고 가면 좋을 것 같아 기록합니다. 먼저 각 용어가 무슨 뜻인지 알아보겠습니다. JVM (Java Virtual Machine) 자바 가상 머신 의 약자로 자바 바이트 코드를 실행시키기 위한 가상 머신입니다. 자바는 이 JVM 덕분에 플랫폼에 독립적일 수 있습니다. JRE (Java Runtime Environment) 자바 실행 환경의 약자로 자바 프로그램을 실행하기 위한 도구들이 들어있으며 JVM이 이 안에 포함됩니다. JDK (Java Development Kit) 자바 개발 도구의 약자로 자바로 개발을 하기 위한 모든 것을 묶어놓은 키트입니다. 자바 실행 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ebd1pt/btqGAQ90nmT/uv2ptK5zPDwgVP41seUhuk/img.png)
자바 객체 비교하기 ( equals / hashcode ) 자바에서 객체를 비교하는 방법에 대해 기록합니다. Equals 메소드에 대하여 equals의 필요성 아래와 같은 Toy 클래스가 있다고 가정하겠습니다. 그리고 이름은 "자동차" 가격은 10000원을 가진 Toy 객체 두 개를 생성합니다. 우리는 장난감의 이름과 가격이 같기 때문에 같은 장난감이라고 판단하고 싶습니다. 우리가 아는 기본적인 비교 방법인 == 비교를 이용해서 두 객체를 비교해 보면 false가 나오게 됩니다. 왜냐하면 toy1과 toy2변수는 객체 그 자체가 아닌 객체를 가리키는 레퍼런스를 갖고 있기 때문입니다. 따라서 값을 이용해서 객체를 비교하려면 우리는 클래스 안에 equals라는 메소드를 재정의 해야 합니다. (equals 메..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/oG6KV/btqCynZecQh/wphNEeP75uDzY4Z43qKg21/img.jpg)
Lombok 자주 쓰는 어노테이션 정리 Lombok이란? Java에서 자주 반복되는 코드(Getter, Setter, 생성자 등...)들을 어노테이션을 통해 자동으로 생성 해 주는 라이브러리 이다. Lombok 적용 전 public class Post { private String title; private String content; private String author; public void setTitle(String title) { this.title = title; } public void setContent(String content) { this.content = content; } public void setAuthor(String author) { this.author = author;..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dRemBQ/btqCtYesee3/PnKALkGAOrZrz7F6ZnZbq1/img.jpg)
2차원 배열 정렬 하기 int[][] arr = {{7,15}, {0,2}, {5,10}}; 위와 같은 2차원 배열이 있을 때, 각 배열의 [0]번째 인덱스 혹은 [1]번째 인덱스를 기준으로 정렬을 하고 싶다면 comparator를 사용 하면 된다. 예시) 0번째 인덱스 기준으로 오름 차순으로 정렬 하기 Arrays.sort(arr, new Comparator() { @Override public int compare(int[] o1, int[] o2) { return o1[0] - o2[0]; } })
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bu3Pnl/btqCn1JS9PJ/q6XA6XWyWMZwhnPLduNK10/img.jpg)
1차원 자료구조(Array, ArrayList) 정렬 하기 int[] arr1 = {20, 50, 60, 90, 10}; String[] arr2 = {"BB", "CC", "DD", "AA"}; ArrayList list ... 위와 같은 1차원 자료 구조 를 정렬 하는 법은 Java의 기본 클래스인 Arrays 클래스와 Collections 클래스를 이용 하면 된다. Arrays와 Collections의 sort() 메소드를 사용 하면 되는데, 사용 방법은 다음과 같다. Arrays.sort() - 배열의 정렬에 이용 Arrays.sort(arr1); // 결과 : 10, 20, 50, 60, 90 Arrays.sort(arr2); // 결과 : "AA", "BB", "CC", "DD" Collect..