본문 바로가기

전체 글

(161)
Jenkins CI/CD 자동화 https://youtubetranscript.com/?v=6YZvp2GwT0A&t=150 YouTube Transcript - read YouTube videos youtubetranscript.com Jenkins는 오픈소스 기반의 자동화 서버로, CI/CD(Continuous Integration/Continuous Delivery) 파이프라인을 구축하고 관리하는 데 널리 사용됩니다. Jenkins를 활용하면 소프트웨어 개발, 빌드, 테스트, 배포 과정을 자동화하여 개발 속도와 품질을 크게 향상시킬 수 있습니다.Jenkins CI/CD란?CI(Continuous Integration):코드 변경 사항을 지속적으로 통합하고 빌드 및 테스트를 자동화하는 프로세스입니다.Jenkins는 개발자가 변경한 코..
스프링 환경설정 ; 스프링 부트 Spring Boot란?1. Spring Boot는 Spring Framework를 더 쉽게 사용하도록 만든 확장 도구입니다.Spring Framework는 강력한 기능을 제공하지만, 설정이 복잡하고 개발 초기 설정에 시간이 많이 걸립니다.Spring Boot는 이러한 초기 설정을 자동화하고, 필요한 기능들을 빠르게 적용할 수 있도록 돕는 프레임워크입니다.2. Spring Boot의 주요 특징자동 설정(Autoconfiguration)Spring Boot는 대부분의 설정을 자동으로 처리합니다. 예를 들어, 데이터베이스를 연결하거나, 웹 서버를 실행할 때, 추가적인 설정 없이도 바로 동작합니다.자동 설정(@EnableAutoConfiguration)**클래스 경로(classpath)**에 존재하는 의존성(..
보안의 개념과 기술 보안의 개념 (CIA Triad)  보안은 데이터를 보호하고, 시스템 및 사용자에 대한 신뢰성을 확보하며, 위협으로부터 자산을 안전하게 관리하는 것입니다. 이는 기밀성(Confidentiality), 무결성(Integrity), **가용성(Availability)**이라는 세 가지 주요 개념(CIA Triad)을 중심으로 이루어집니다. 기밀성 (Confidentiality) :데이터나 자원에 대한 비인가된 접근을 방지.적용기술 :암호화(Encryption) : 데이터를 비인가된 사용자가 읽을 수 없도록 변환데이터가 허가된 사용자나 시스템만 접근 가능하도록 보장.적용기술 :접근 제어(Access Control) : 인가된 사용자만 암호화된 데이터에 접근하거나 복호화할 수 있도록 권한 관리무결성 (Integ..
메일서버 도메인 싸이클 메일 서버의 전체 동작 방식은 메일 발송(Sending), 메일 전송(Transferring), 그리고 **메일 수신(Receiving)**의 3단계로 나뉩니다. 이를 통해 이메일이 작성된 사용자로부터 최종 수신자까지 전달됩니다.  1. 메일 서버의 전체 동작 과정(1) 메일 발송 (Mail Sending)사용자가 이메일 클라이언트(Outlook, Gmail 등)를 통해 이메일을 작성하고 "Send" 버튼을 누르면 시작됩니다.이 단계에서 사용하는 주요 프로토콜은 **SMTP (Simple Mail Transfer Protocol)**입니다.과정사용자가 메일 작성:메일 클라이언트에서 수신자 주소(To), 제목, 본문, 첨부파일 등을 작성.작성된 데이터를 SMTP 서버로 전송.SMTP 서버로 전송:클라이언트..
HTTPS 의 TLS 동작과정 1단계: 클라이언트 헬로 (Client Hello)클라이언트(예: 브라우저)가 서버에 요청을 보냅니다:지원하는 암호화 방식 목록(Cipher Suite).난수(Random Data) 1개.사용할 TLS 버전.2단계: 서버 헬로 (Server Hello)서버는 클라이언트의 요청에 응답하며 다음 정보를 보냅니다:선택한 암호화 방식(예: AES-256-GCM).난수(Random Data) 1개.서버의 디지털 인증서(SSL/TLS 인증서):서버의 공개 키 포함.신뢰할 수 있는 인증 기관(CA)에 의해 서명됨.3단계: 인증서 검증클라이언트는 서버가 보낸 디지털 인증서를 검증합니다:인증서가 신뢰할 수 있는 CA(인증 기관)에 의해 서명되었는지 확인.인증서에 포함된 도메인 이름과 접속한 도메인이 일치하는지 확인.인증..
AI개발자와 백엔드 개발자 백엔드 개발자와 AI 개발자의 비교 요약 역할 및 목적구분백엔드 개발자AI 개발자목적비즈니스 로직과 도메인 모델을 설계하여 안정적이고 확장 가능한 서버 애플리케이션 구축.데이터를 기반으로 패턴을 학습하고 예측, 분류, 생성 등을 수행하는 모델 설계 및 최적화.주요 작업- API 설계 및 구현- 데이터베이스 연동- 인증, 권한, 트랜잭션 관리- 네트워크 연결 및 통합 관리.- 데이터 전처리 및 분석- 머신러닝/딥러닝 모델 설계- 학습 및 튜닝- 모델 서빙 및 배포.핵심 초점도메인 이해를 기반으로 시스템의 상태와 동작을 정의하고, 비즈니스 요구사항을 코드로 구현.데이터 이해를 기반으로 수학적 모델링과 학습을 통해 목표를 최적화.2. 모델링의 관점구분백엔드 개발자AI 개발자모델링 대상도메인 엔터티(Entity..
Java의 메모리 영역과 static의 의미 Java는 실행 중에 프로그램의 데이터를 저장하고 관리하기 위해 JVM(Java Virtual Machine) 내부에서 여러 메모리 영역으로 나누어 관리합니다. 주요 메모리 영역은 다음과 같습니다:1. 메모리 영역의 구성Method Area (메서드 영역):클래스 로더(Class Loader)에 의해 로드된 클래스와 관련된 메타데이터, static 변수, 상수, 메서드 코드, 클래스 정보 등이 저장됩니다.특징:모든 스레드가 공유.클래스 수준의 데이터를 저장하므로, 클래스가 한 번 로드되면 해당 데이터는 프로그램 종료 시까지 유지.Heap (힙 영역):모든 객체와 배열이 저장되는 영역.JVM의 Garbage Collector에 의해 관리되며, 참조되지 않는 객체는 자동으로 제거됩니다.특징:모든 스레드가 공..
Security JWT,세션, 쿠키방식 스프링 Security 동작방식  사용자 인증은 시스템이나 애플리케이션에 접근하려는 사용자가 실제로 그 사용자가 맞는지 확인하는 과정이다.  사용자 경험과 확장성도 고려해야 한다. 이미 사용자 인증을 마친 회원이 페이지를 이동할 때마다 사용자 인증을 하게 된다면 사용자에게는 굉장히 불편한 서비스가 될 것이며, 서비스가 성장함에 따라 확장에 유연하지 못하다면, 확장 비용을 무시할 수 없게 된다. 따라서, 사용자 인증 방식들을 보안성, 사용자 경험, 확장성을 중심으로 비교해 보고 선택하는 것이 중요하다.   Security 관리방식은 크게 두가지 방식으로 나뉜다. Stateless이냐 혹은 Session-Based이냐.  Stateless는 서버가 클라이언트의 이전 상태를 기억하지 않는 방식으로, 매 요청마..