profile
while(true) { 노력++; 기록++; };

[Java] Netty 소켓 통신

Netty는 소켓 통신에 필요한 쓰레드 운영 및 처리를 비동기로 하는 일종의 도구이다.비동기를 사용함으로써 가지는 이점에 대한 내용은 "NIO(Non-Blocking IO)"를 검색해 보기 바란다!Channel네이밍으로 추측할 수 있듯이 하나 이상의 입/출력으로 연결된

3일 전
·
0개의 댓글

[DB] 파티셔닝(Partitioning)

1. 개요 우리는 서버를 운영하면서 많은 양의 데이터에 의해 속도저하를 느끼게 되는 경우가 종종 있다. 일반적으로, 하나의 데이터베이스에 데이터를 축적해 나가기 때문에 많으면 많을 수록 검색량이 증가하여 실제 운영에 영향을 미친다. 여기서, 많은양의 데이터가 쌓인 상태

2022년 6월 17일
·
0개의 댓글

[JPA] ResultSet Exception과 @Modifying에 대해...

1.개요 @Modifying 어노테이션 이란? @Query 어노테이션으로 작성된 메소드 쿼리에서 select를 제외한 insert, update, delete 쿼리를 실행할 때 필요한 어노테이션이다. 실제로 Spring에서는 @Modifying 어노테이션을 강제하고 있

2022년 6월 17일
·
0개의 댓글

[Docker] Offline 환경에서 이미지 등록

1.먼저 인터넷환경에서 받고싶은 image를 docker hub에서 땡겨받는다.docker pull confluentinc/cp-kafka-connect:5.5.02.그리고 docker save 명령어로 이미지를 tar파일로 뺀다 docker save confluent

2022년 6월 17일
·
0개의 댓글

[JPA] Transaction과 영속성 문제

본 포스팅에서는 JPA에서 많이 부딛히는 문제인 영속성과 관련한 내용을 담았다. JPA의 트랜잭션 환경을 이해하지 못하면 계속해서 발생되는 문제기 때문에 기본으로 장착해두자!! 1. 개요 Spring boot에서 사용하는 @Transactional의 성질은 쿼리 실

2022년 5월 24일
·
0개의 댓글

Kafka for Spring Boot

본 포스팅은 Spring boot 환경에서 Kafka를 연동시키는 방법 및 절차를 기술한다.대용량의 실시간 로그 처리에 특화되어 있는 솔루션이며 데이터를 유실없이 안전하게 전달하는 것이 주목적인 메세지 시스템에서 안정적인 아키텍처와 빠른 퍼포먼스로 데이터를 처리할 수

2022년 5월 11일
·
0개의 댓글

[Spring] Properties 암호화

Spring 에서는 설정 파일에 들어가는 JDBC 접속 정보(ID, Password)를 평문이 아닌 암호문을 입력하여 접속정보를 일부 보호할 수 있는 암호화 기능을 제공하고 있다. 이 글에서는 jasypt 라이브러리를 이용한 암호화를 구현해본다.간단히 말하면 Java,

2022년 4월 22일
·
0개의 댓글

[JPA] 일대일(OneToOne) 관계

Jpa의 장점 중 하나인 객체간 매핑을 어떻게 활용하냐에 따라 복잡해질 수도 단순해 질수도 있다. 그 중 일대일 관계(@OneToOne)에 대해서 적어본다.

2022년 3월 14일
·
0개의 댓글
post-thumbnail

[Spring] Interceptor vs Filter?

Spring boot에서는 Rest API 또는 Servlet 호출 시 앞단에 처리해야할 행동에 대해 'Interceptor'와 'Filter'라는 전처리 및 후처리 기능을 제공한다. 그럼 이 두 가지 기능의 차이점은 무엇이며 어떤 상황일 때 써야 할까?

2022년 2월 21일
·
0개의 댓글
post-thumbnail

[Gradle] gradle 설정 방법

Java 빌드 모듈에는 여러종류가 있지만 그중에 가장 다루기 쉬운 Gradle 빌드에 대해서 알아보고자 한다. Maven 빌드도 있지만, 세부적으로 설정하는 것이 Gradle보다 떨어지는 것 같아 쓰지 않고 있다!플러그인은 가장 먼저 선언하는 것으로써 전체적인 어플리케

2022년 2월 8일
·
0개의 댓글

[Java] 커스텀 @Interface 사용 방법

1\. @interface 어노테이션의 정의@interface의 기본 포맷과 함께 사용되는 @Retention과@Target 어노테이션 옵션들의 정의는 다음과 같다. 아래 포맷으로 어노테이션 클래스가 된다!@Retention : @interface 어노테이션의 적용범위

2022년 1월 24일
·
0개의 댓글

[Java] list - sublist 주의할 점!

Java의 List 사용 시 일부분을 잘라내기 할 경우 sublist()를 사용하는 경우가 있다.그러나 해당 함수의 리턴 값은 list로 반환되나 여기에 엄청난 함정이 숨어져 있다!sublist()는 다음과 같이 사용할 수 있다.위와 같이 인덱스를 자르는 용도로 사용

2022년 1월 11일
·
0개의 댓글

[Gradle] gradle 빌드 시 설정 파일 독립 시키기

Spring boot에는 서버가 내장되어 있어 별도의 Web 컨테이너 도구 없이 Jar 파일로 실행이 가능하다. 그러나 properties 파일 내 변경이 있을 경우 다시 빌드하여야 하는 불편함이 존재할 수 있다! 따라서, 본 포스팅에서는 properties 파일을 외

2022년 1월 7일
·
0개의 댓글

[Java] Thread Class vs Runnable interface

Java에서 쓰레드를 사용하는 방법에는 Thread 클래스를 상속하는 방법과 Runnable 인터페이스를 사용하는 방법이 있다. 두 가지 방법은 어떤 차이점이 있을지 궁금하여 포스팅을 남긴다.Thread 클래스를 상속하면 기본적으로 run() 함수를 오버라이딩(over

2022년 1월 3일
·
0개의 댓글
post-thumbnail

[Gradle] Gradle Wrapper를 사용하는 이유?

Gradle 기반의 프로젝트 생성 시 "../gradle/wrapper/gradle-wrapper.properties" 파일이 생성된다(혹은 다른 경로에 설정될 수 있다). 해당 파일의 용도는 아래와 같은 이유로 사용된다.위 그림에서와 같이 각각의 개발자는 다른 gra

2021년 12월 30일
·
0개의 댓글
post-thumbnail

[Gradle] Profile 구성하기

Gradle의 Profile은 스프링관련 설정이나 Database 관련 설정 또는 일반 변수를 지정할 수 있는 파일이다. 그러나 개발을 하는데 필요한 환경 값과 테스트 시 필요한 값 그리고 실제 서비스 운영에서의 값이 다를 수 있기 때문에 Profile을 분류하여 운용

2021년 12월 30일
·
0개의 댓글

[Mark1] Web MVC 설정

스프링에서는 URL의 특정 패턴을 처리할 수 있는 옵션들을 제공하고 있다. 본 프로젝트에서는 여러 옵션 중 ViewController와 Interceptor를 설정하는 것을 다룰 것이다.우선 기본적인 Web MVC 설정 클래스 생성 방법은 다음과 같다."WebMvcCo

2021년 12월 30일
·
0개의 댓글

[Mark1] Spring Security 설정

스프링 시큐리티(Spring Security)는 로그인, 로그아웃, 세션, 접근 권한 등의 중요한 보안 설정을 하는 모듈이다. 소스에서는 "WebSecurityConfigurerAdapter" 클래스를 상속하여 하위 함수들을 통해 설정한다.일반적으로 configure

2021년 12월 30일
·
0개의 댓글
post-thumbnail

[Mark1] 프로젝트 생성

Mark1 프로젝트는 Spring Boot를 기반으로 생성하며 구성환경은 다음과 같다.개발 도구 : Intellij개발 플러그인 : Gradle, Spring Boot 2.5.5, Oracle JDBC, PostgreSQL JDBC, Lombok프로젝트 생성 방법은 다

2021년 9월 30일
·
0개의 댓글
post-thumbnail

[Mark1] 프로젝트 개요

Mark1 프로젝트는 간단히 말해 API Gateway 이다. 일반적인 API Gateway의 경우 DMZ 위치에서 단순한 API 중계역할만 해왔다. 그러나 Mark1은 중계 기능을 세분화하여 API를 주고받을 경우에 발생하는 문제를 개선하기 위해 개발 된다.

2021년 9월 30일
·
0개의 댓글