일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Npoem
- DI
- 마이크로서비스패턴
- bulk_create
- 상속모델
- django
- 쿼리셋합치기
- 함수형프로그래밍
- IOC
- 객체비교
- SpringBoot
- circular dependency
- cannot import name
- 프로젝트설정
- 주니어개발자
- bean-validator
- 좋은코드란
- 토이프로젝트
- 일급함수
- GraphQL
- circuitbreaker
- n poem
- 컨트리뷰팅
- Not Null constraint failed
- resilience4j
- 2차원배열 정렬
- 운영체제
- Spring
- Java
- API문서화
- Today
- Total
목록Java (7)
코딩 하는 가든
들어가기에 앞서 먼저 Throttle(쓰로틀)이란? 쓰로틀은 같은 이벤트가 짧은 시간 내에 반복적으로 일어 날 때 부하를 막기 위해 호출 횟수의 제어를 하는 기법입니다. 주로 프론트엔드에서는 스크롤을 올리고 내릴 때, 스크롤에 붙어 있는 이벤트가 짧은 시간 내 엄청나게 많이 호출 되는 것을 방지하여 정해 진 시간 내에 정해진 횟수만큼 실행 될 수 있도록 제어하기 위해 쓰로틀 기법을 많이들 사용 합니다. [www.zerocho.com/category/JavaScript/post/59a8e9cb15ac0000182794fa] Java로 Throttle을 사용 하는 경우? 사실 잘 모르겠습니다 ㅎㅎ. 저 같은 경우엔 Spring 백엔드 서버에서 외부 api의 응답 결과를 캐시에 저장 하는 작업을 하는데, 반복..
얼마 전 본 면접에서 Runtime Exception과 Checked Exception에 대한 차이점에 대한 질문을 받았습니다. 그 당시에는 차이점을 잘 몰랐고 느낀 점으로만 Runtime Exception은 수행 중에 발생하는 예외이고 Checked Exception은 컴파일 때 잡아내는 Exception이라고 대답을 했고 잘 알아보아야겠다는 생각에 공부를 한 후 기록합니다. Exception 이란(?) Exception(예외) 이란 프로그램의 수행 도중 예상할 수 없었던 상황이 발생하여 프로그램을 더 이상 수행할 수 없는 상황이 발생하는 것입니다. (Java를 사용하는...) 개발자는 이러한 예외 상황이 발생할 수 있는 구간에 try ~ catch 구문을 사용하여 만약 예외 상황이 발생한다면 정해진 ..
JVM, JDK, JRE에 대해서 알아보기 JVM의 메모리 구조에 대해서 공부하던 중 문득 JVM과 그 주변 환경에 대한 간단한 정리를 한번 하고 가면 좋을 것 같아 기록합니다. 먼저 각 용어가 무슨 뜻인지 알아보겠습니다. JVM (Java Virtual Machine) 자바 가상 머신 의 약자로 자바 바이트 코드를 실행시키기 위한 가상 머신입니다. 자바는 이 JVM 덕분에 플랫폼에 독립적일 수 있습니다. JRE (Java Runtime Environment) 자바 실행 환경의 약자로 자바 프로그램을 실행하기 위한 도구들이 들어있으며 JVM이 이 안에 포함됩니다. JDK (Java Development Kit) 자바 개발 도구의 약자로 자바로 개발을 하기 위한 모든 것을 묶어놓은 키트입니다. 자바 실행 ..
자바 객체 비교하기 ( equals / hashcode ) 자바에서 객체를 비교하는 방법에 대해 기록합니다. Equals 메소드에 대하여 equals의 필요성 아래와 같은 Toy 클래스가 있다고 가정하겠습니다. 그리고 이름은 "자동차" 가격은 10000원을 가진 Toy 객체 두 개를 생성합니다. 우리는 장난감의 이름과 가격이 같기 때문에 같은 장난감이라고 판단하고 싶습니다. 우리가 아는 기본적인 비교 방법인 == 비교를 이용해서 두 객체를 비교해 보면 false가 나오게 됩니다. 왜냐하면 toy1과 toy2변수는 객체 그 자체가 아닌 객체를 가리키는 레퍼런스를 갖고 있기 때문입니다. 따라서 값을 이용해서 객체를 비교하려면 우리는 클래스 안에 equals라는 메소드를 재정의 해야 합니다. (equals 메..
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;..
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]; } })
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..