비동기 프로그래밍 과 CompletableFuture 동기,비동기 프로그래밍을 설명해야한다면 항상 같이 따라오는게 논블로킹과 블로킹일 것이라고 생각한다. 이에대해 내가 알고있는 부분에 대해 기술하고 JAVA 1.8 부터 지원하는 CompletableFuture을 사용해 비동기, 논블로킹에 대해 기록할 예정이다. 블로킹, 논 블로킹 블로킹 이란 누군가의 행위로 인해 다른 누군가가 제한되거나 대기해야 하는 상태 논 블로킹 이란 누군가의 행위로 인해 다른 누군가가 제한되지 않거나 대기하지 않는 상태 동기 - 하나의 함수가 정해진 코드를 실행하는 과정에서, 다른 함수를 호출함으로써 제한되거나 대기하는 상태 비동기 - 하나의 함수가 정해진 코드를 실행하는 과정에서, 다른 함수를 호출하고도 제한되거나 대기하지 않는..
Optional 1. Null 의 늪 null 개념은 1965년 Tony Hoare라는 영국의 컴퓨터 과학자에 의해서 처음 고안되었다. 존재하지 않는 값 을 표현할 수 있는 가장 편리한 방법이 null 참조라고 생각했다고 한다. 하지만 나중에 그는 그당시 자신의 생각이 "10억불 짜리 큰 실수" 였고, null 참조를 만든 것을 후회한다고 함. 2. NPE(NullPointerException) null 참조로 인해 자바 개발자들이 가장 골치아프게 겪는 문제는 널 포인터 예외(NPE) 이다. NPE는 코드베이스 곳곳에 깔려있는 지뢰같은 녀석이다. 컴파일 타임에서는 조용히 잠복했다가 런타임 때 터지기 때문이다. /* 주문을 한 회원이 살고 있는 도시를 반환한다 */ public String getCityO..
필자는 Java가 가장 처음 배운 프로그래밍 언어였으며 메모리 구조에 대해 당연히 알아야 한다고 생각해서 이 글을 정리할려고 한다. 요즘은 Java -> Kotlin 회사 프로젝트를 많이 포팅하고 있기는 하지만 Kotlin 또한 Java 로 컴파일 되어 JVM 위에서 돌아가기 때문에 무조건 알아야 할 영역이다. JAVA 의 메모리 구조 Class Path 자바 가상머신(JVM)이 프로그램을 실행 할 떄, 클래스 파일을 찾는 데 기준이 되는 파일 경로, 즉 JVM이 클래스 파일을 찾는 경로. bin 은 자바소스(.java 파일)가 컴파일 되어 새롭게 생성되는 .class 파일이 모여 있는 곳 이다. 그것들이 모여 있는 위치가 'bin' 폴더 메모리 구조 JVM(자바 가상머신)이 실행되면 OS..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cX2qMO/btr0KSgJedI/O38vSwAEBm5ppKKw5yvLI0/img.png)
이전 글에서 Java Excel Export 기능의 코드를 구현해보았다. 필자는 이러한 코드를 모든 프로젝트에 중복으로 구현하기 번거로워 라이브러리로 Export 하여 쓸려고 하여 JitPack에 Github Repo를 등록하여 사용 할려고 한다. 프로젝트에 라이브러리 추가하기 Gradle allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { implementation 'com.github.russell-seo:ExcelExport:master-SNAPSHOT' } Maven jitpack.io https://jitpack.io com.github.russell-seo ExcelExport master..
필자는 업무를 하면서 게임 회사 백오피스쪽을 지원하고 있는데 엑셀 다운로드하는 기능에 대한 요청이 자주왔기에 엑셀 모듈을 만들기로 했습니다. 필자는 Annotation 과 Java Reflection을 이용해 DTO에 어노테이션을 적용하여 손쉽게 Excel 다운로드 하는 모듈을 개발할 것 입니다. 혹시 해당 코드를 구현할 시간이 없다! 나는 그냥 라이브러리 추가해서 빨리 구현해야 한다는 분은 아래 링크로 들어가시면 빠르게 라이브러리를 추가해서 사용하실 수 있습니다. https://russell-seo.tistory.com/8 Excel 다운로드 모듈 만들기 1. Apache POI 라이브러리 추가 Apache POI 라이브러리를 활용하여 개발 먼저 Apache POI 라이브러리를 Dependency에 추..
- Total
- Today
- Yesterday
- oauth2
- spring
- mysql
- 인덱스
- 비동기
- 영속성 컨텍스트
- 스프링
- thread
- db
- java
- lock
- jpa
- 공간쿼리
- github
- Index
- GIS
- spring boot
- 데이터베이스
- Spring Security
- DispatcherServlet
- spring mvc
- 다운로드
- R-Tree
- database
- 쓰레드
- TCP
- 논블로킹
- jenkins
- Excel
- 네트워크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |