HTTP 프로토콜은 많이 들어보셨을텐데, AJP프로토콜은 들어보셨나요? 아파치랑 톰캣이랑 연동하는 통신방식입니다. 요즘은 Nginx를 http통신을하여 리버스프록시 형태를 주로 가져가죠. 포워드프록시, 리버스프록시는 관련 글을 포스팅 해보도록 하겠습니다. 하지만 프로젝트에서 apache를 채택했다면 속도면에서 우월한 바이너리 형식의 통신방식인 AJP(Apache JServ Protocol) 를 주로 택할겁니다. 이 글에서는 apache와 tomcat의 연동방식에 대해서 알아볼겁니다 물론 HTTP 프로토콜을 사용 할 수도 있으니 같이 소개해보도록 할게요! AJP와 HTTP AJP와 HTTP 프로토콜의 기본 개념부터 살펴보겠습니다. HTTP는 웹에서 데이터를 전송하기 위한 가장 기본적인 프로토콜로 웹 브라우..
전체 글
깊이 있게 공부하자멀티스레딩 환경에서 여러 스레드가 동시에 같은 리소스에 접근하려 할 때, 데이터의 일관성과 무결성을 유지하는 것이 중요합니다. 이를 위해 자바에서는 뮤텍스(Mutex)와 세마포어(Semaphore) 같은 동기화 메커니즘을 제공합니다. 이 글에서는 뮤텍스와 세마포어의 개념을 설명하고, 차이점을 자바 예제와 테스트코드로 함께 살펴보겠습니다. 뮤텍스(Mutex) 뮤텍스는 Mutual Exclusion(상호 배제)의 약자이다. 한 번에 하나의 스레드만이 특정 리소스나 코드 섹션에 접근할 수 있도록 합니다. 리소스에 접근하는 스레드가 뮤텍스를 1. '잠그고(lock)' 2. 작업을 한다 3. '해제(unlock)' 즉 한 시점에 단 하나의 스레드만이 리소스를 사용할 수 있게 됩니다. 자바에 ReentrantLoc..
JSON 데이터를 라이브러리 없이 파싱해보자 우선 json이란 무엇일까요? 파싱해보는게 주제이므로 json에 대해서는 아래글을 참조해주세요. https://notavoid.tistory.com/29 restfull 통신할때 많이 사용하는 MIME(Content-type)타입인 application/json 타입 데이터를 파싱 해볼겁니다. 파싱할때 로직이 복잡해서, 보통 jackson 라이브러리나 gson 라이브러리를 많이 씁니다. 얼마나 복잡하냐? - 중첩된 객체, 배열, 특수 문자 처리, 타입 변환 등 복잡한 JSON 구조나 데이터 타입을 처리를 내부적으로 처리해줘야합니다. 하지만 저는 중첩된 객체, 배열 정도만 처리하는걸로해서 예제를 작성해 볼 예정입니다. 물론 jackson 라이브러리를 써서 처리하..
JSON이란? JSON(JavaScript Object Notation)은 경량의 데이터 교환 포맷으로 사람이 읽고 쓰기 쉽고 기계가 파싱하고 생성하기 편리합니다. 웹 어플리케이션 개발에서 클라이언트와 서버 간에 데이터를 주고받는 표준 포맷으로 자리 잡았습니다. 이 글에서는 JSON의 기본 구조와 자바 언어를 사용한 JSON 데이터 처리 방법을 소개합니다. JSON의 구조 JSON 포맷은 두 가지 구조를 기반으로 합니다: 1. 객체(Object): 키-값 쌍의 집합입니다. 각 키는 문자열이며, 값은 다양한 데이터 타입이 될 수 있습니다. 2. 배열(Array): 값의 순서 있는 리스트입니다. 아래에 바로 예시를 봐봅시다. JSON 구조 예시 { "name": "Sumin Kim", "age": 30, "..