간단하게 ThreadPoolExecutor에 대해 설명하자면, ThreadPoolExecutor는 싱글스레드 환경을 멀티스레드 환경으로 전환하여 활용할 수 있는 프레임워크이다. ThreadPoolExecutor는 Java의 동시성 프레임워크인 java.util.concurrent 패키지의 핵심 클래스로 스레드 풀을 생성하고 관리하여 애플리케이션의 성능과 자원 활용을 최적화한다. 일반적으로 ThreadPoolExecutor의 생성자를 만들 때 아래와 같은 속성들을 볼 수 있다.import java.util.concurrent.*;public class ThreadPoolExecutorExample { public static void main(String[] args) { // 스레드 풀..
학부과정에서부터 SSL, TLS, HTTPS, HTTP에 대해서 무지 많이 들어왔었을 것이다.나 역시 마찬가지였었고, 회사에서 R&D 프로젝트의 프로토타입이 완성되어 도메인과 HTTPS 인증서를 갱신해주어야 하는 업무가 있었다.Q. HTTP와 HTTPS의 차이점이 뭔가요? A. HTTP는 평문으로 데이터를 주고받아 보안 위험성이 존재하여 그걸 암호화 한것입니다....? 나의 지식 밑바닥을 보여준 답변이 아닐까싶다. 이번 기회에 제대로 한 번 알아보고자 한다. 먼저, SSL/TLS는 인터넷 통신의 보안을 위한 암호화 프로토콜이다.SSL(Secure Sockets Layer)과 TLS(Transport Layer Security)는 네트워크 통신에서 데이터를 안전하게 주고받기 위한 기술이다. TLS는 SSL..
사용자의 검색 키워드와 그에 따른 결과를 보기 위해서 검색 기능을 개발하는 중 이상한 점을 발견했다. 검색 키워드를 넣고 검색을 하게 되면 아래와 같이 대소문자가 구분이 되지 않는 상태로 결과가 조회된다. MySQL 세팅 시, 대소문자 구분하지 않는 설정을 안했는데 왜 'apple'을 검색키워드로 넣었는데 왜, 'Apple', 'APPLE333'이 조회가 되는걸까?1. Application Level 분석 (Querydsl) 먼저 대소문자 구분 문제를 확인할 때, 데이터베이스 레벨보다는 애플리케이션 레벨에서의 쿼리 및 ORM(Querydsl) 설정을 살펴보았다. 애플리케이션 레벨에서 문제를 수정하는 것이 일반적으로 더 간단하고 빠르고, 쿼리나 조건을 수정하는 것이 데이터베이스 설정을 변경하는 것보다 용..
문제 발생CRUD 비즈니스 로직을 구현하는 중 특정 엔티티의 삭제를 위해 쿼리를 날렸지만 JPA의 DELETE 쿼리가 실행되지 않았다. SELECT 쿼리만 로그에 찍힐 뿐 분명 삭제쿼리를 실행했음에도 데이터베이스에는 데이터가 그대로 남아있고, 로그에도 DELETE의 'D'도 찾을 수 없었다. 현재 데이터베이스내에 테이블간 관계는 다음과 같다.비즈니스 로직은 아래와 같다.캠페인이 광고를 진행하면 일반적으로 캠페인 내 광고제품을 등록, 수정, 삭제를 할 수 있다. 캠페인 수정 API 호출수정을 하려는 캠페인 ID(PK)를 파라미터로 넣는다.RequestBody에 광고제품명의 수정(UPDATE), 삭제(DELETE) , 등록(INSERT)에 맞게 작성한다. (등록의 경우에는 AUTO INCREMENT 전략..
개발자라면 한 번쯤은 HashMap을 써봤을 것이다. (필자는 현업에서 비즈니스 로직 구현 시 종종 활용하고 있다.) HashMap의 용도Java에서 HashMap은 매우 중요한 데이터 구조로, 키-값 쌍을 내부적으로 해싱이라는 기법을 사용하여 저장하고 검색한다.해싱은 특정 객체를 고유한 숫자 값인 해시 코드로 변환하는 과정이다. HashMap에서 이 해시 코드는 해당 객체가 저장되어 있는 버킷이라고 하는 위치를 결정한다.데이터 검색 속도: HashMap은 키-값 쌍을 저장하고 검색할 때 일반적으로 상수 시간 복잡도 (O(1))이다. 즉, 맵의 크기에 관계없이 거의 일정한 시간 안에 데이터를 검색할 수 있다.중복 키 방지: HashMap에서 각 키는 유일해야 한다. 동일한 키로 값을 저장하려고 하면 기존..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.