본문 바로가기

MFDO37

[통신이론] 서블릿(Servlet)의 역할, 특징 서블릿(Servlet) : 자바 기반 서버 사이드 웹 애플리케이션 개발을 위한 자바 클래스 - 서블릿의 역할 HTTP 요청 처리 - 클라이언트에게 HTTP 요청을 받아 처리 - 데이터 추출 및 처리 동적 컨텐츠 생성 클라이언트에게 동적으로 생성된 HTML, XML, JSON 등의 컨텐츠 반환 세션 관리 클라이언트와의 세션 관리 및 상태정보 유지 DB 접근 DB와 연동하여 검색, 수정, 저장 가능 - 서블릿의 특징 동적 처리 클라이언트의 요청에 동적으로 응답을 생성 ex) DB정보 조회, 계산 결과 HTML, JSON 플랫폼 독립성 자바 기반이라 플랫폼(OS) 제약이 적음 생명 주기 관리 서블릿 컨테이너로 관리되는 생명주기 존재 초기화(init), 처리(service), 파괴(destroy) 다중 스레드 .. 2023. 5. 31.
[패키징형식] JAR과 WAR JAR(Java Archive) - 생성 : JAVA의 jar 툴을 이용해 생성된 압축 파일 - 목적 : Java 애플리케이션, 라이브러리, 모듈 패키징 - 주 구성요소 : 클래스, 리소스 파일, 메타데이터, 라이브러리 - 실행법 : cmd 또는 java 실행환경에서의 직접 실행 - 배포 : 독립 실행 가능한 단일 파일 배포 - 용도 : 독립 실행형 애플리케이션, 라이브러리, 모듈 개발 * 독립 실행 가능한 단일 파일로 배포? 소프트웨어를 배포시, 관련 파일과 의존성을 하나의 단일 파일로 포장해 사용자가 간편하게 실행할 수 있도록 하는 방식 => 간편 배포, 쉬운 의존성 관리, 높은 이식성 WAR(Web Archive) - 생성 : servlet/jsp 컨테이너에 배치가능한 웹 애플리케이션 압축 파일 -.. 2023. 5. 31.
[모니터링] 로그(Log)와 메트릭(Metric) 일반적으로 모니터링과 디버깅을 위해 로그(Log)와 메트릭(Metric)을 사용한다. 간단하게 이 둘의 개념 차이를 짚고 넘어간다. 메트릭(Metric) 정의 : 시스템이나 애플리케이션의 상태, 동작, 성능 등을 측정하고 모니터링하기 위해 사용되는 측정 지표 표현법 : 시계열 데이터로 기록되며, 메트릭은 일련의 숫자 값으로 표현된다. 사용 목적 : 1) 시스템 또는 애플리케이션의 상태를 시간에 따른 변화를 추적 2) 운영 및 모니터링 도구를 사용하여 시스템의 효율성과 안정성 평가 3) 성능 문제 감지 4) 성능 모니터링 5) 용량 계획 6) 경고 및 알림 설정 모니터링 도구 : Prometheus, Grafana, Datadog, ELK Stack, New Relic 등 예시 : CPU 사용률, 메모리 .. 2023. 5. 23.
CDN과 무상태(stateless) 웹계층의 도입 구조 도서 "가상 면접 사례로 배우는 대규모 시스템 설계 기초" 를 읽은 후 작성한 내용입니다. CDN(Content Delivery Network)이란? - 정의 : 정적 콘텐츠 전송을 위한 지리적으로 분산된 서버 네트워크 - 접근 과정 1) 클라이언트가 이미지 URL을 통해 img.png에 접근 2) CDN 서버의 캐시에 해당 이미지 존재 여부 확인 3) 이미지가 존재하지 않는다면, 원본 서버에서 이미지 파일 요청 4) 원본 서버가 CDN 서버에 파일 반환 5) CDN 서버는 파일을 캐시 6) 파일을 사용자에게 반환 => 이후 동일 파일 요청 시 캐시를 통해 처리 * 정적 콘텐츠? : 이미지, 영상, CSS 파일 등등 * URL 제공 : Cloudfront, Akamai 등 * 4) 과정에 파일의 캐시 기.. 2023. 5. 17.
[네트워크] HTTP 통신의 개요 및 기법 - 요약지 요약지 다운로드 2023. 5. 1.
[생활 꿀팁] 티스토리 PDF 뷰어 띄우기 나는 한글파일에 요약지를 쓰는 것이 편하고 좋았다. 본래는 요약지를 쓰고 내용 기반으로 다시 글을 썼는데, 효율적이진 않다고 생각해 PDF파일로 변환하여 올리기 시작했다... 아래는 PDF를 올리는 법이다. 준비물 : 구글 드라이브 계정, 올릴 PDF파일 1. 구글 드라이브에 파일 업로드 2. 공유할 파일의 세부속성에서 "공유" 혹은 "링크 생성" 클릭 3. 공개 속성 "링크가 있는 모든 사용자"로 변경 4. 링크 복사를 이용해 링크를 추출한다. 5. 복사된 링크에서 고유 ID를 추출해낸다. - 초록색으로 표시된 부분이 고유 ID이다. https://drive.google.com/file/d/1nY5ii5yKyr57oNgGTCIRznDU3PIxXQxt/view?usp=sharing 6. 고유 ID 해당 .. 2023. 5. 1.
[프로그래머스] 2020 카카오 인턴십 경주로 건설 2020 카카오 인턴십 [카카오 인턴] 경주로 건설 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 탐색 기법 : DFS 목적지 도달까지 경로비용을 계산하며 모든 경로를 탐색한다. 도착지부터, 목적지까지 오른쪽, 아래, 왼쪽, 위 순서로 DFS DFS 전달내용 - 현재 보드 탐색 상황 - 현재 x, y 좌표 - 이전 이동 방향 - 누적 비용 #define R 0 #define D 1 #define L 2 #define U 3 // 현재 맵, 현재 x좌표, 현재 y좌표, 이전 진행 방향, 누적 비용 int dfs(vector board, int x, int .. 2023. 3. 30.
[논문 요약] A Verifiable Credentials System with Privacy-Preserving Based on Blockchain - 번역/요약지 원문 링크 : https://www.scirp.org/journal/paperinformation.aspx?paperid=115526 A Verifiable Credentials System with Privacy-Preserving Based on Blockchain A Verifiable Credentials System with Privacy-Preserving Based on Blockchain () Abstract Decentralized identity authentication is generally based on blockchain, with the protection of user privacy as the core appeal. But traditional decentralized c.. 2023. 3. 29.