본문 바로가기

▶ Back-End114

Tomcat 이란? 동적인 웹을 만들기 위한 서블릿 컨테이너 *자세한 설명 생략 ▷ Tomcat 이란? - Tomcat(WAS)은 Web Server(Apache)와 통신하여 JSP와 Servlet이 작동하는 환경을 제공 *Tomcat은 내부 WebServer를 포함하여 독립적으로 사용 가능 - Tomcat은 여러 Connector(HTTP/1.1", "AJP/1.3", SSL ...)와 Connector interface를 제공 *HTTP/1.1 과 HTTP/2 Connector는 Tomcat이 독립적으로 동작하거나 다른 web server의 요청을 받아 WAS의 역할을 수행하도록 지원 *AJP Connector는 Apache HTTP Web server의 요청을 처리하기 위한 특수한 Protocol을 처리 *Tomcat.. 2023. 8. 4.
MySql ON DUPLICATE KEY UPDATE 구문 MySql에서 데이터가 없으면 INSERT, 이미 데이터가 있으면 UPDATE *하나의 쿼리로 두 가지 경우를 해결할 수 있다. ▷ 사용법 INSERT INTO [TABLE] ( [COLUMN1], [COLUMN2], [COLUMN3], [COLUMN4] ) VALUES ( [VALUES1], [VALUES2], [VALUES3], [VALUES4] ) ON DUPLICATE KEY UPDATE [COLUMN2] = [VALUES2], [COLUMN3] = [VALUES3], [COLUMN4] = [VALUES4]; ▷ Example /** 테스트 테이블 생성 */ CREATE TABLE test ( TEST_ID varchar(225) NOT NULL, TEST_NAME varchar(225) NOT .. 2023. 8. 2.
Custom Annotation 생성 Example 간단한 Custom Annotation 생성, 확인 *메타 어노테이션 관련 자세한 설명 생략 *Reflection 설명 생략 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 사용자 정의 어노테이션 생성 */ @Target(ElementType.TYPE) // @interface 어노테이션의 적용 위치를 설정하는 옵션 @Retention(RetentionPolicy.RUNTIME) // @interface 어노테이션의 적용범위로 어떤 시점까지 사용될 지 결정하.. 2023. 7. 26.
Lombok이란? 간편한 코드 작성, 가독성, 유지보수를 편리하게 해주는 Lombok *자세한 설명 생략 ▷ Lombok 이란? Java의 라이브러리로 반복되는 메소드를 Annotation을 사용해서 자동으로 작성해 주는 라이브러리 *Annotation(@) : 작성한 코드에 대해 추가적인 정보를 제공하여 기능을 실행 *Annotation 종류 : - 표준 어노테이션(Java에서 기본적으로 제공) - 메타 어노테이션 (Annotation을 정의하는데 사용) - 사용자 정의 어노테이션(사용자가 직접 정의) Lombok을 이용해서 작성한 코드는 컴파일 과정에서 Annotation을 이용해 코드를 생성 후 자동 컴파일 ▷ 참고 [자바] 자주 사용되는 Lombok 어노테이션 Engineering Blog by Dale Seo w.. 2023. 7. 25.
Docker 란? 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼 *자세한 설명 생략 ▷ Docker 란? Container 기반의 오픈소스 가상화 플랫폼 하나의 Host OS위에 Docker를 설치하여 다수의 Container를 생성하고 관리 *Container : 리눅스 자체 기능을 사용한 프로세스 단위의 독립된 환경 안의 가상공간 *Container에 필요한 커널은 Host OS의 커널을 공유하여 사용 (애플리케이션을 구동하는데 필요한 패키지만 있으면 Container 구동) *커널 : 컴퓨터 자원을 관리하는 OS의 핵심 부분(쉘 : 사용자와 커널 사이의 인터페이스) VM보다 가볍고 빠르고 효율적 확장성과 이식성이 뛰어남 Docker가 설치돼 있다면 Image를 통해 Container 실행.. 2023. 7. 24.
TDD, BDD, DDD란? 다양한 개발 방법론 중 TDD, BDD, DDD의 기본 개념을 간단히 소개 *자세한 설명 생략 ▷ TDD(Test Driven Development) - 테스트 주도 개발 *코드 양 증가(테스트 코드들의 관리 이슈)로 빠른 생산성이 요구되는 시점에는 적용이 어려움 테스트 코드를 먼저 작성(단위 테스트) 짧은 개발 서클을 반복하는 개발 방식 요구사항에 따른 테스트 케이스를 설정 해당 코드를 리팩토링 하는 과정으로 프로그래밍을 진행 작동하는 깔끔한 코드를 작성 새로운 기능 추가 시 기존 기능들과 성능 평가 ▷ BDD(Behavior Driven Development) - 행동 주도 개발 TDD에서 파생 테스트 코드 자체가 요구사항이 되도록 개발하는 방식(통합 테스트) 코드가 수행할 행위에 대한 명세를 먼저 .. 2023. 7. 23.
PWA 란? PWA의 기본 개념을 간단히 소개 *자세한 설명 생략 ▷ PWA(Progressive Web App)이란? - Web에 최신 기술을 더하여 브라우저가 있는 환경(데스크톱, 태블릿, 모바일)이면 어디에서나, 마치 Native App과 같은 사용성을 가진 Web App을 제공하고자 하는 시도이자 방법론 *HTML, CSS, 자바스크립트와 같은 웹 기술들을 사용해 App과 같은 기능을 갖춘 Web App *푸시 알림 등 Native App의 기능 제공 *Native App, Web App의, Hybrid App의 : 아래 참고 - 최초 구글이 PWA라는 이름으로 방법론과 개념을 제시하였고, 자신들의 브라우저인 Chrome에 새롭게 개발한 것이 아닌 최신 Web API를 접목시키고 확장 *구글뿐만이 아니라 다른.. 2023. 3. 14.
HTML5 란? HTML5의 기본 개념을 간단히 소개 *자세한 설명 생략 ▷HTML5 란? *모바일 웹에 핵심 기술 *최신 버전의 웹 브라우저들은 모두 HTML5를 지원 - HyperText Markup Language의 약자로 HTML의 5번째 버전을 의미 * HTML : 웹페이지를 만드는 데 사용되는 Markup Language로, 각 웹페이지는 HTML 태그를 통해 구성 * HyperText : 다른 페이지로 이동하거나 같은 페이지 내의 다른 데이터로 이동하는 것(링크) * Markup Language : 태그를 이용하여 문서나 데이터의 구조를 명시하는 언어 - 기존 HTML 보다 표현할 수 있는 기능들이 다양해서 더 많은 표현 가능 *브라우저 내에 영상 플레이가 내장되어 있지 않거나 추가로 설치하지 않아도 인터넷.. 2023. 3. 9.
WebSocket vs Socket vs Socket I.O 간단한 개념 소개를 통해 어떻게 다른지 파악*자세한 설명 생략  ▷ 소켓(Socket) 이란? <p sty.. 2023. 2. 17.
728x90
728x90