자바

Java & Spring

🙌 쓰레드풀을 이용해 두 비동기 작업 처리 완료 후 후속 처리하기

전체 코드는 여기에서 확인하실 수 있습니다 :) 두 곳에 Ajax 요청을 보낸 뒤, 결과를 취합해 후속 작업을 해야 한다면? 언제 처리가 완료될지 정확히 알 수 없는 두 가지 작업이 있고, 그 작업들이 모두 완료된 이후에 취합하여 후속작업을 처리해야 한다고 가정해보겠습니다. 가령 서비스 레이어에서 두 곳의 엔드포인트에 요청을 보내고, 응답 값을 취합해서 결과에 따른 분기처리가 필요한 상황이라고 생각해볼 수 있을 것 같아요. 요청한 클라이언트에게 즉시 결과를 응답해야 한다면 두 요청을 쓰레드 풀 작업 큐에 넣고, 두 Future 객체의 get() 메서드를 이용해 기다린 후 응답한다 이 방법의 장점은 하나의 요청이 응답될 때까지 기다렸다가 다음 요청이 나가는 것이 아니라, 동시에 두 가지 요청이 호출된다는 ..

우아한테크코스 4기

동일성(Identity) vs 동등성(Equality) - feat. equals() hashCode()

우아한테크코스 1주차 과정 중, 객체의 동일성과 동등성이라는 키워드를 접하게 되어 관련하여 학습한 뒤 포스팅하게 되었습니다. 📱📱 동일성과 동등성 자바에서 객체를 비교할 땐, 동일성과 동등성의 개념이 필요합니다. 동일성은 Identity 입니다. 메모리 내 주소값이 같은지 비교합니다. 동등성은 Equality 입니다. 논리적 지위가 동등한지 비교합니다. 모든 상세 스펙이 동일한 핸드폰 두 개가 있다고 가정해볼게요. 위 두 개의 핸드폰은 같은 핸드폰일까요? 상세 스펙이 똑같으니까 같은 핸드폰이라고 할 수도 있겠습니다. 그러나 한 편으로는 분명 두 개의 핸드폰이니 왼쪽 핸드폰과 오른쪽 핸드폰은 같은 핸드폰이 아니라고 할 수도 있을 것 같아요. 두 핸드폰은 동일하진 않습니다. 분명 두 개의 핸드폰이지요. 전..

IDE

이클립스 버전별 JDK 버전 최소요구치 및 JVM 설정

1. Eclipse 버전별 JDK 버전 이클립스 설치 안내 공식 페이지. 버전별 JDK 버전에 대한 안내가 있다. 사내 솔루션 연동을 위해 이클립스의 plugins 폴더에 직접 jar 파일을 넣어 사용하는 플러그인이 이클립스 버전에 따른 이슈가 발생하는 것 같아 버전 관련 확인을 진행했다. 아래 표는 JDK 최소요구치가 상향된 최초의 버전들을 목록화한 표이다. Release Version JDK Required 2020. 09. 16 Eclipse 4.17 (2020-09) Java 11 or newer is required 2017. 06. 28 Eclipse 4.7 (Oxygen) Java 8 or newer is required 2016. 06. 22 Eclipse 4.6 (Neon) Java 8 ..

JavaScript

기초적인 XSS 대응

크로스 사이트 스크립팅. 그 중에서도 가장 기초적인 저장 XSS공격에 대한 대응 포스팅이다. withIT 개발 단계에서 테스트했을 땐 스크립트가 작동되지 않아서 그냥 넘어갔었는데.. (왜 그땐 안된거지?;;) 혹시나 해서 테스트 해보니까 스크립트 태그가 너무 잘 작동해서;; 시급한 문제니까 바로 처리를 했다. db에 저장할 때부터 script 태그는 html에서 plain text로 인식되도록 변경 후 저장하도록 했다. 아주 초보적인 수준의 XSS공격과 대응이었다. 나중에 해보고 싶은 작업으로는 만약 XSS 공격이 인식될 경우 해당 접속 IP를 24시간동안 접속제한하는 로직에 흥미가 생겼다.

Java & Spring

Spring MVC 프로퍼티 파일 value 가져오기

프로젝트를 진행하며 숨겨야할 정보가 지금까지 2가지 정도 있었다. 첫번째는 db접속정보, 두번째는 메일계정정보였다. db는 XML설정을 활용했기에 가져다 쓰는 게 어려움이 없었다. 1 2 3 4 5 6 7 8 9 10 Colored by Color Scripter cs 그런데 java 파일에서 가져다 쓰는 건... 나의 구글력이 부족해서인지 아주 코드가 난잡했다. 1 2 3 4 5 6 7 8 9 10 11 InputStream is = getClass().getResourceAsStream("프로퍼티 파일"); Reader reader = new InputStreamReader(is); Properties properties = new Properties(); try { properties.load(re..

리차드
'자바' 태그의 글 목록