전체 글

프로그래밍 기술 및 관심사 공유 목적으로 블로그를 운영하고 있습니다. 감사합니다.
Node/이해하기

[Node] Socket.io 기반 소켓 서버 구축 방법 -1 : 구성 요소 및 흐름 + React 기반 채팅 화면 구성

해당 글에서는 소켓 통신을 위해 Socket.io를 기반으로 소켓 서버를 구현하고, 채팅을 하는 예시를 구축해 봅니다.  💡 [참고] 아래의 Socket.io와 관련된 글들을 참고하시면 도움이 됩니다분류링크Socket.io 기반 소켓 서버 구축 방법 -1 : 구성 요소 및 흐름 + React 기반 채팅 화면 구성https://adjh54.tistory.com/548Socket.io 기반 소켓 서버 구축 방법 -2 : Room, Namespace 별 소켓 통신 방법https://adjh54.tistory.com/549Socket.io 기반 소켓 서버 구축 방법 -3: PM2 클러스터링 + Redis 기반 분산 처리https://adjh54.tistory.com/567  PM2(Process Manager..

Java/Spring Boot

[Java] Spring Boot Async 비동기 처리 이해하기 -2 : Executor

해당 글에서는 비동기 처리를 수행하기 위한 Executor에 대해 이해를 돕기 위해 작성한 글입니다.1) Spring Boot Async💡 Spring Boot Async- Spring Boot 환경에서 비동기 프로그래밍을 지원하는 기능을 의미합니다. 이를 통해서 메서드 호출이 즉시 반환되고 실제 작업은 별도의 스레드에서 비동기적으로 실행이 됩니다.- 비동기 메서드를 사용하면 서버의 성능을 향상하고 응답 시간을 줄일 수 있습니다.- 주로 I/O 작업이 긴 시간 소요 되는 작업에 대해 별도의 스레드를 수행하여 메인 스레드가 블로킹되지 않도록 합니다.  2) Executor💡 Executor- Spring Boot 환경에서 비동기(Async)를 처리하기 위해 @Async 어노테이션을 사용하여 처리할 수 ..

취미 생활/짧은 생각

[짧은 생각] 내 마음의 크기는?

문득 드는 짧은 생각을 정리해 봅니다. 사람마다 가지고 있고 담을 수 있는 하나의 그릇이 있다고 합니다. 이러한 그릇은 모두가 동일한 크기를 가지고 있는 것이 아니며, 각자마다 다른 크기를 가지고 있다고 합니다. 크기에서도 간장을 담는 작은 종지 그릇의 크기 일 수도 있고, 밥을 담을 수 있는 밥그릇 크기 일수도 있으며 많은 물을 담을 수 있는 양동이와 같은 크기 일 수도 있습니다. 각각의 다른 크기를 가지고 있기에 같은 양의 물을 부은다고 한다면, 그릇이 넘쳐서 흐를 수도 있고, 딱 맞는 크기가 될 수도 있으며 더 물을 부어도 될 만큼에 넉넉한 크기일 수도 있습니다. 삶 속에서도 그릇에 동일한 물을 붓는 것과 같이, 똑같은 일을 마주하였을때에도 사람마다 '이를 어떻게 받아들이느냐'가 모두가 다른 것 같..

DB/이론 및 문법

[DB] 데이터베이스 시퀀스 번호 조회 및 변경 방법 : CURRVAL, NEXTVAL, SETVAL

해당 글에서는 데이터베이스 시퀀스에 대해서 조회 및 변경 방법에 대해 CURRVAL, NEXTVAL, SETVAL을 이용한 방법에 대해 알아봅니다. 1) 테이블 예시💡 테이블 예시 - 예시 테이블로 tb_user라는 테이블 내에 ‘tb_user_user_sq_seq’라는 이름으로 시퀀스가 존재합니다. - 현재 시퀀스의 값은 2까지 구성이 되어 있습니다. 2) 현재 시퀀스 반환(조회)💡 현재 시퀀스 반환(조회) - 현재 시퀀스 번호를 반환하는 방법들에 대해 알아봅니다. 1. SELECT last_value FROM [시퀀스 명]; - 시퀀스 명을 기반으로 last_value 값을 조회하여 시퀀스의 마지막 값을 반환받습니다. 2. SELECT MAX(user_sq) FROM [테이블 명]; - 테이블 내에 ..

Java/Spring Boot

[Java] Spring Boot Async 비동기 처리 이해하기 -1 : 주요 어노테이션 및 비동기 반환 유형

해당 글에서는 Spring Boot 환경에서 비동기 처리를 위한 방법에 대해 알아봅니다. 1) Spring Boot Async💡 Spring Boot Async- Spring Boot 환경에서 ‘비동기 프로그래밍’을 지원하는 기능을 의미합니다. 이를 통해서 메서드 호출이 즉시 반환되고 실제 작업은 별도의 스레드에서 비 동기적으로 실행이 됩니다.- 비동기 메서드를 사용하면 서버의 성능을 향상하고 응답 시간을 줄일 수 있습니다.- 주로 I/O 작업이 긴 시간 소요 되는 작업에 대해 별도의 스레드를 수행하며, 메인 스레드가 블로킹되지 않도록 합니다. 1. 멀티 스레드(Multi-Thread)💡 멀티 스레드(Multi-Thread)- 여러 스레드를 동시에 실행하여 작업을 ‘병렬로 처리’하는 기술을 의미합니다..

React & React Native/환경 설정 및 구성

[RN] React Native iOS App Store 등록 방법 -2 : App Store 배포 심사 준비 + 사전 대비

해당 글에서는 이전 글에서 App Store Connect에서 구성한 앱과 Archive 된 파일을 기반으로 실제 App Store에 심사를 요청하는 과정에 대해 알아봅니다.     💡 [참고] Android / iOS에 각각 앱을 배포하는 과정에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.플랫폼분류링크AndroidReact Native Google Play Store 등록 방법 -1 : 초기 환경 설정https://adjh54.tistory.com/301AndroidReact Native Google Play Store 등록 방법 -2 : Google Play Console 설정https://adjh54.tistory.com/306AndroidReact Native Google Play S..

Java/Testing

[Java] Spring Boot JUnit5 이해하기 -3: @RepeatedTest, @ParameterizedTest를 이용한 반복 테스트

해당 글에서는 Spring Boot JUni5를 이용하여 반복 테스트 방법에 대해 알아봅니다. 💡 [참고] JUnit5 테스트 방법에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.분류링크JUnit 5 이론 및 구성 요소https://adjh54.tistory.com/341JUnit 5 환경구성 및 활용예제https://adjh54.tistory.com/342JUnit 5 반복 테스트 구성 방법https://adjh54.tistory.com/541JUnit 5 + Mockito 이론 및 활용예제https://adjh54.tistory.com/346JUnit 5 + MockMvc 이론 및 활용예제https://adjh54.tistory.com/347Assertions API Documenthttps..

Java/Short 개발

[Java/Short] 마스킹(Masking) 적용 방법 : 이름, 휴대폰 번호, 이메일, 계좌번호, 주소

해당 글에서는 파라미터로 전달 받은 데이터를 마스킹 처리하여 반환하는 방법에 대해 알아봅니다. 1) 마스킹(Masking)💡 마스킹(Masking) - 민감한 정보를 보호하기 위해 데이터를 숨기거나 부분적으로 가리는 기술입니다. 이는 개인 식별 정보(PII)와 같은 민감한 데이터를 안전하게 유지하는 데 사용됩니다. - 예를 들어, 클라이언트가 사용자 정보를 서버로 요청하였을때, 응답값으로 노출이 될 수 있기에 클라이언트에게 전달을 할때 서버내에서 마스킹처리를 하여서 클라이언트로 사용자 정보를 반환해줍니다. 💡 [참고] 아래의 구성사항은.. - 해당 마스킹을 적용한 경우는 클라이언트로부터 어느정도 정재된 상태에 Java 서버로 전달된다는 가정하에 구성을 해보았습니다. - 또한 '정규식'으로 마스킹 처리가 ..

adjh54
Contributor9