티스토리

김민주
검색하기

블로그 홈

김민주

kgrace2366.tistory.com/m

7alswn 님의 블로그입니다.

구독자
1
방명록 방문하기

주요 글 목록

  • [TIL] 250108 - CPS security vs Embedded Security CPS 보안(Cyber-Physical System Security)과 임베디드 보안(Embedded Security)은 관련이 있지만, 초점과 적용 범위에서 차이가 있습니다. 다음은 두 개념의 주요 차이점입니다.1. CPS 보안 (Cyber-Physical System Security)정의: 사이버 시스템과 물리 시스템이 상호작용하여 동작하는 시스템(CPS)의 보안을 다룹니다. 대표적인 예로 스마트 그리드, 자율주행차, 산업용 IoT, 스마트 시티 등이 있습니다.초점:시스템 전반의 통합 보안: 사이버와 물리적 세계의 연결에서 발생하는 보안 문제를 해결하는 데 중점.안전성과 신뢰성: 물리적 시스템에 미칠 수 있는 사이버 공격의 영향을 방지하고 안전성을 유지.실시간성: CPS는 실시간 제어가 중요하므로 보.. 공감수 2 댓글수 0 2025. 1. 8.
  • [TIL] 250103 - Automotive Network Security & File System Analysis Do - ListAutomotive Network Security & File System Analysis 분야 정리간단한 프로젝트 설계차량 네트워크 보안 (Automotive Network Security)1. 자동차 네트워크 개요CAN, LIN, FlexRay, Ethernet 등 차량 통신 프로토콜 이해ECU(Electronic Control Unit)와 차량 네트워크 구조 학습2. 자동차 보안 위협일반적인 차량 해킹 시나리오 (예: 원격 조작, 데이터 스니핑)위협 모델링 및 취약점 분석 방법론3. 암호화 및 인증데이터 무결성 및 기밀성 보장을 위한 암호화 기술HSM(Hardware Security Module) 및 키 관리4. 침입 탐지 및 방어차량 IDS(Intrusion Detection Sy.. 공감수 4 댓글수 1 2025. 1. 3.
  • [DF] 디지털 포렌식 개요 목차디지털 포렌식 개요디지털 포렌식 기초침해사고 대응 기법윈도우 포렌식디지털 포렌식이란?디지털: 컴퓨터와 관련된 디바이스를 대상으로포렌식: 과학 수사를 진행하는 것 즉, 증명된 과학적 기법들로 디바이스에서 정보를 수집 및 추출하여 범죄 수사와 관련된 증거에 이용하는 영역입니다.디지털 포렌식의 필요성해킹, 랜섬웨어, 디도스 등 인터넷 상에서 정보 통신망을 뚫고 서버의 데이터를 탈취하는 전통적인 컴퓨터 범죄에서 뿐만 아니라, 일반 범죄에서도 스마트폰과 컴퓨터의 분석이 중요한 증거로 자리 잡았습니다. 또한, 범죄 수사 이외의 일반 기업과 민사 사건에서도 활용도가 증가했습니다.디지털 포렌식 유형과 대상  침해 사고 대응 증거 추출 목적시스템 복구 및 추가 피해 방지법적 증거 확보 및 사건 해결중점 사항사고 원.. 공감수 1 댓글수 0 2024. 12. 31.
  • [TIL] 241218 - 대규모 AI 시스템 설계 프로젝트 최종 결과물 깃허브https://github.com/maru-KK/sparta-logistics.git GitHub - maru-KK/sparta-logistics: MSA 물류 유통・관리 서버MSA 물류 유통・관리 서버. Contribute to maru-KK/sparta-logistics development by creating an account on GitHub.github.com서버 아키텍처서비스 구성Eureka Server: 서비스 디스커버리Gateway Service: 인증/인가 처리 및 라우팅auth-service: 회원, 권한 관리order-service: 주문 관리delivery-service: 배송 관리product-service: 상품 관리hub-company-service: 물류 허브/회사 .. 공감수 1 댓글수 1 2024. 12. 19.
  • [TIL] 241217 - 대규모 AI 시스템 설계 프로젝트 10일차 Do - List권한 검증 기능 구현https://github.com/maru-KK/sparta-logistics/commit/492b5a36a3a561b0ff0adddcd2282c9a521543c1 [#78] Hub-Company Service - 허브, 업체 생성 및 수정 시 권한 검증 기능 구현 (#79) · maru-KK/sparta-logistics@4* Add .gitignore to exclude unnecessary files * Feat: 허브, 업체 생성 및 수정 시 권한 검증 기능 구현 * Refactor: 권한 처리 메소드 분기문으로 변경 * Chore: delete unrelated files from the project * revert: revert unint...github... 공감수 0 댓글수 0 2024. 12. 19.
  • [TIL] 241216 - 대규모 AI 시스템 설계 프로젝트 9일차 Do - ListAI 응답 기능 구현https://github.com/maru-KK/sparta-logistics/commit/ce31cca63a43ec5edd1ec358a77d7ebbf1b88078 [#30] AI 응답 기능 구현 (#62) · maru-KK/sparta-logistics@ce31cca* Add .gitignore to exclude unnecessary files * Feat: AI 응답 기능 구현github.comRedis 캐싱 기능 구현https://github.com/maru-KK/sparta-logistics/commit/5c508d4663522fc1527baf356a17da267d1cdc9c [#63] Hub Service - Redis 캐싱 기능 구현 (#72) · maru.. 공감수 0 댓글수 0 2024. 12. 19.
  • [TIL] 241213 - 대규모 AI 시스템 설계 프로젝트 8일차 Do - List코드카타업체 수정 기능 구현유저 별 허브, 업체 정보 조회 기능 구현자바 모의 면접 세션 특강To Do ListAI API 연동업체 담당자 지정한대로 테이블에 안 들어감 → 수정해도 반영 안 됨캐싱, 서치 기능 구현* Git 사용이 미숙해서 프로젝트 진행에 어려움이 있기에 튜터님께 많이 여쭤보며 진행 중 공감수 1 댓글수 0 2024. 12. 13.
  • [TIL] 241212 - 대규모 AI 시스템 설계 프로젝트 7일차 Do - List코드카타JAVA 모의 면접업체 생성 및 조회 기능 구현* MSA 서비스 간 호출에서의 보안order-service를 통해서만 호출되는 product-service의 상품 재고 감소 API가 존재한다.상품 재고 감소 API가 시스템에서 호출되기 때문에 아무 권한 없이 호출할 수 있게 설계했다.만약 해커가 product-service의 호스트와 포트번호를 알아내서 토큰 없이 상품 재고를 감소시키는 문제가 발생할 수 있을까? 해당 문제를 막기위해서는 어떻게 해야할까?Private 네트워크 구성:product-service는 외부에서 접근할 수 없도록 VPC(가상 사설 네트워크) 내부에 배치합니다. 이를 통해 외부에서는 접근이 불가능하고, 같은 네트워크에 있는 order-service만 호출 가.. 공감수 0 댓글수 0 2024. 12. 12.
  • [JAVA 모의 면접] 면접 준비 JavaOOP의 4대 특징캡슐화: 데이터를 보호하기 위해 접근 제한자를 사용하고, 클래스 내부에서만 데이터 변경을 허용합니다.상속: 기존 클래스의 속성과 메서드를 재사용하며, 코드 중복을 줄입니다.다형성: 같은 메서드 이름으로 다양한 실행 결과를 제공하며, 오버로딩과 오버라이딩으로 구현됩니다.추상화: 불필요한 세부 정보를 숨기고 필요한 인터페이스만 노출하여 설계를 단순화합니다.인터페이스와 추상 클래스의 차이인터페이스는 다중 구현이 가능하며 모든 메서드가 기본적으로 추상적이고 구현을 포함할 수 없습니다(Java 8 이후 기본 메서드 예외).추상 클래스는 단일 상속만 가능하며, 일반 메서드와 추상 메서드를 함께 가질 수 있습니다.JVM의 구조JVM은 Class Loader로 클래스를 로드하고, Heap에서 .. 공감수 1 댓글수 1 2024. 12. 12.
  • [TIL] 241211 - 대규모 AI 시스템 설계 프로젝트 6일차 Do - List코드카타경로 조회 테스트경로 생성 방법 정하고 구현업체 생성 및 조회 구현허브 경로 생성 방법허브 정보 조회: hub-company-service 호출경로 조회: OpenRouteService Directions API 호출각 출발지 허브와 목적지 허브의 위도와 경도를 사용하여 경로를 요청OpenRouteService API의 응답에서 거리(distance)와 소요 시간(duration) 추출경로 저장: 추출한 거리와 시간을 HubRouteEntity 객체에 저장경로 조회 시 17개의 허브가 P2P 방식으로 매핑될 수 있는 경우의 수인 136개의 경로가 저장된 것을 확인할 수 있습니다.OpenRouteService API 사용법먼저 회원가입 후 Token을 생성합니다.발급 받은 토큰 키로.. 공감수 1 댓글수 1 2024. 12. 11.
  • [TIL] 241210 - 대규모 AI 시스템 설계 프로젝트 5일차 Do - List코드카타허브 생성 시 허브 관리자를 지정해 둘건지: 일단 임의로 지정해 두기로허브 초기 데이터 로드, 조회, 생성 기능 구현 완료허브 간 경로 조회 기능 구현허브 간 경로 등록 방법 고민 공감수 0 댓글수 0 2024. 12. 10.
  • [TIL] 241209 - 대규모 AI 시스템 설계 프로젝트 4일차 Do - List코드카타서버 설계 (인프라 아키텍처)S.A 제출개발 컨벤션 정하기DDD 특강Hub 개발Hub 데이터 저장 방법특징CommandLineRunner@PostConstruct동작 시점애플리케이션 실행 완료 후빈 초기화 후적합한 상황애플리케이션 실행 후 한 번만 실행될 작업빈 초기화 시점에서 바로 실행해야 하는 작업메서드 호출 방식명시적으로 run() 호출스프링에 의해 자동 호출애플리케이션 실행 중애플리케이션이 완전히 시작된 후 실행빈 초기화가 완료된 후 실행데이터 로드를 한 번만 실행하면 되는 작업이므로 CommandLineRunner 방식으로 저장할 예정입니다.S.A 제출 링크https://bocho-developer.tistory.com/50 Ch.2 대규모 AI 시스템 설계 프로젝트 S... 공감수 0 댓글수 0 2024. 12. 9.
  • [TIL] 241207 - 대규모 AI 시스템 설계 프로젝트 3일차 Do - List프로세스 정리베이스코드 작성1. 허브 서비스 (Hub Service)1.1 허브 등록요청자: MASTERAPI: POST /hub입력 데이터:허브명: name주소: address위도: latitude경도: longitude허브 관리자: managerId기능:MASTER가 새로운 허브를 등록입력된 허브명과 위치 정보를 기반으로 데이터 생성 → p_hub에 저장출력 데이터: 등록된 허브 ID, 생성된 허브 정보1.2 허브 조회요청자: 모든 로그인 사용자API:단일 허브 조회: GET /hub/{hub_id}모든 허브 조회: GET /hub출력 데이터: 허브 정보 목록 (허브명, 위치, 담당자)1.3 허브 수정요청자: MASTERAPI: PATCH /hub/{hub_id}입력 데이터:허브명: .. 공감수 0 댓글수 0 2024. 12. 7.
  • [TIL] 241206 - 대규모 AI 시스템 설계 프로젝트 2일차 Do - List코드카타ERD 수정API 명세서 작성역할 분담: hub, hub-route, company프로세스 구성 공감수 0 댓글수 0 2024. 12. 6.
  • [TIL] 241205 - 대규모 AI 시스템 설계 프로젝트 1일차 Do - List코드카타2차 프로젝트(대규모 AI 시스템 설계 프로젝트) 발제요구사항 숙지와이어프레임 구성DB 설계 - 테이블 명세서, ERD 작성* 가중치 기반 로드 밸런싱 관련 유광열 튜터님 블로그https://velog.io/@jaybon/gateway-loadbalance-custom-with-eureka 스프링부트 gateway 서버 로드밸런싱 커스텀 (with eureka)스프링부트 MSA 구성 중 gateway 서버에서 서비스 중 일부 서비스의 로드밸런싱을 커스텀하려고 한다.기본 로드밸런싱은 RoundRobin 방식으로 분배하게 되어 있고,eureka에 등록된 서비스는 user서비스velog.io대규모 AI 시스템 설계 프로젝트주제: MSA 기반 국내 B2B 물류 관리 및 배송 시스템 개발 .. 공감수 2 댓글수 3 2024. 12. 5.
  • [TIL] 241204 Do - List코드카타MSA 이론 정리https://kgrace2366.tistory.com/132 [MSA] Client Side Load Balancing(ReignClient, Ribbon)MSA 목차Spring Cloud서비스 디스커버리(Eureka)클라이언트 사이드 로드 밸런싱 (FeignClient, Ribbon)  ← 해당 포스트서킷 브레이커 (Resilience4j)API 게이트웨이 (Spring Cloud Gateway)보안 구성 (OAuth2 + JWT)컨피그kgrace2366.tistory.com 공감수 0 댓글수 0 2024. 12. 4.
  • [MSA] Client Side Load Balancing(ReignClient, Ribbon) MSA 목차Spring Cloud서비스 디스커버리(Eureka)클라이언트 사이드 로드 밸런싱 (FeignClient, Ribbon)  ← 해당 포스트서킷 브레이커 (Resilience4j)API 게이트웨이 (Spring Cloud Gateway)보안 구성 (OAuth2 + JWT)컨피그 서버 (Spring Cloud Config)분산 추적 (Spring Cloud Sleuth) 및 로깅 (Zipkin)이벤트 드리븐 아키텍처와 스트림 처리 (Spring Cloud Stream)마무리, 쿠버네티스Client Side Load Balancing로드 밸런싱이란?네트워크 트래픽을 여러 서버로 분산시켜 서버의 부하를 줄이고, 시스템의 성능과 가용성을 높이는 기술입니다. 이를 통해 서버 간 트래픽을 고르게 분배하여 .. 공감수 4 댓글수 2 2024. 12. 4.
  • [TIL] 241203 Do - ListPOST /auth/sign-up 회원가입 API 구현 POST /auth/sign-in 로그인 API 구현JWT 토큰 검증 로직 구현Gateway 서비스 Filter 로직을 수정하여 Oauth2 규칙에 따라 헤더의 JWT 토큰이 회원가입 한 유저의 토큰인지 검증하는 로직 구현했습니다. 상품 서비스, 주문 서비스를 로그인 한 유저만 사용할 수 있도록 인가 처리를 진행합니다.주문에 상품 추가 API 테스트Zipkin 분산 추적 구현주문 서비스와 상품 서비스에 Zipkin 연동을 위한 의존성과 설정을 진행하고, 도커에서 Zipkin을 실행합니다.// build.gradle 의존성 추가dependencies { implementation 'org.springframework.boot:sprin.. 공감수 0 댓글수 0 2024. 12. 3.
  • [TIL] 241202 Do - List POST /orders 주문 추가 API 구현PUT /orders/{orderId} 주문에 상품을 추가하는 API 구현POST /orders?fail 주문 추가 API - 상품 API 호출 실패 케이스 구현이 부분이 가장 오래 걸리고 에러 해결이 잘 안 됐는데, 구현 후 돌아보니 gradle.build의 의존성 설정과 application.yml 설정을 잘 못했던 것 같습니다. Spring Cloud OpenFeign과 Resilience4j를 함께 사용할 때는 올바른 설정을 적용하려면 두 가지를 모두 포함한 구성이 필요합니다.spring: cloud: openfeign: circuitbreaker: enabled: true alphanumer.. 공감수 1 댓글수 2 2024. 12. 2.
  • [TIL] 241130 Do - List POST /products 상품 추가 API, GET /products 상품 목록 조회 API 테스트gateway 설정 및 product 연결 테스트 POST /orders 주문 추가 API 구현 시도 공감수 0 댓글수 0 2024. 12. 2.
  • [TIL] 241128 Do - List코드카타MSA 이론 정리개발 준비: 5개 프로젝트 생성 및 intellij 한 창에서 실행 - 오류 해결 (튜터님 도움)Eureka Server 띄우고 인스턴스 추가해보기'EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.': 이는 Client를 Eureka Server가 계속 갱신해서 확인하는데, 갱신 타임이 조절되지 않아서 뜨는 것입니다. 이는 실시간성이 없을 수 있다는 것을 뜻합니다.로드 밸런싱 실습기본 API 구현 시.. 공감수 1 댓글수 1 2024. 11. 29.
  • [MSA] Service Discovery(Eureka) MSA 목차Spring Cloud서비스 디스커버리(Eureka) ← 해당 포스트클라이언트 사이드 로드 밸런싱 (FeignClient, Ribbon)서킷 브레이커 (Resilience4j)API 게이트웨이 (Spring Cloud Gateway)보안 구성 (OAuth2 + JWT)컨피그 서버 (Spring Cloud Config)분산 추적 (Spring Cloud Sleuth) 및 로깅 (Zipkin)이벤트 드리븐 아키텍처와 스트림 처리 (Spring Cloud Stream)마무리, 쿠버네티스Service Discovery서비스 디스커버리(Service Discovery)는 MSA에서 각 서비스의 위치를 동적으로 관리하고 찾아주는 기능입니다. 각 서비스는 등록 서버에 자신의 위치를 등록하고, 다른 서비스들.. 공감수 1 댓글수 1 2024. 11. 29.
  • [Spring Master] 심화 이론 - API 예외 처리 API 예외 처리웹 애플리케이션에서의 에러를 Client와 Server 모두가 잘 알지 못하면, 서비스하는 환경에서 발생하는 에러에 대해서 제대로 대응할 수가 없습니다. 따라서 에러를 효율적으로 처리할 줄 알아야 합니다. 서버가 응답을 보낼 때 응답 헤더에는 API 요청에 대한 상태 코드를 함께 보냅니다.상태 코드는 3자리로 되어있습니다.2xx Success → 200번대의 상태코드는 성공을 의미합니다.4xx Client Error → 400번대의 상태코드는 클라이언트 에러, 즉 잘못된 요청을 의미합니다.5xx Server Error → 500번대의 상태코드는 서버 에러, 즉 정확한 요청에 서버쪽 사유로 에러가 난 상황을 의미합니다.Spring에서는 org.springframework.http > Htt.. 공감수 1 댓글수 0 2024. 11. 28.
  • [TIL] 241128 Do - List코드카타Spring Master 이론 정리과제 스케줄링OrderItem 중복 처리 문제 해결 - 튜터님 도움POST /order API 구현Validation 설정예외 처리 구현패키지명 조건에 맞춰 수정이론 정리https://kgrace2366.tistory.com/123 [Spring Master] 입문 이론 - Spring Data JPASpring Master 남은 목차Spring Data JPA ← 해당 포스트Bean인증, 인가Validation(데이터 검증하기)RestTemplate & Open API테스트Spring AOPAPI 예외 처리SpringBoot JPAbuild.gradle// JPA 설정implementation 'org.springframework.boot:skg.. 공감수 0 댓글수 0 2024. 11. 28.
  • [Spring Master] 숙련 이론 - 데이터 검증하기 ValidationJava는 null 값에 대한 접근에 대해 NullPointerException 오류가 발행하기 때문에 이러한 부분을 예방하기 위해 Validation 즉, 검증 과정이 필요합니다. Spring에서는 null 확인 뿐 아니라 문자의 길이 측정과 같은 다른 검증 과정도 쉽게 처리할 수 있도록 Bean Validation 제공하고 있습니다.Bean Validation@NotNullnull 불가@NotEmptynull, "" 불가@NotBlanknull, "". " " 불가@Size문자 길이 측정@Max, @Min최대값, 최소값@Positive, @Negative양수, 음수@EmailE-mail 형식@Pattern정규 표현식Bean Validation을 적용한 해당 Object validat.. 공감수 0 댓글수 0 2024. 11. 28.
  • [Spring Master] 입문 이론 - Spring Data JPA SpringBoot JPAbuild.gradle// JPA 설정implementation 'org.springframework.boot:spring-boot-starter-data-jpa'application.properties: Hibernate 설정spring.jpa.hibernate.ddl-auto=updatespring.jpa.properties.hibernate.show_sql=truespring.jpa.properties.hibernate.format_sql=truespring.jpa.properties.hibernate.use_sql_comments=trueshow_sql, format_sql, use_sql_comments 옵션Hibernate가 DB에 요청하는 모든 SQL을 보기좋게 출력.. 공감수 2 댓글수 1 2024. 11. 28.
  • [TIL] 241127 Do - List코드카타개인 과제 정리Spring Data JPA 학습 및 구현엔티티 설계: Product, Order, OrderItemPOST /products, GET /products API 구현 강의 리스트업개인 과제와 관련된 강의를 정리했습니다.Spring Data JPA - Spring MasterValidation - Spring Master인증, 인가 - Spring MasterAPI 예외 처리 - Spring MasterRestTemplate & Open API (FeignClient 병행) - Spring Master, MSASpring Cloud (Eureka, Ribbon, FeignClient, Sleuth, Zipkin, Resilience4j) - MSA인메모리 저장소와 Re.. 공감수 0 댓글수 1 2024. 11. 27.
  • [TIL] 241125 Do - List코드카타Spring Master 2주차 이론 정리https://kgrace2366.tistory.com/120 [Spring Master] 입문 이론 - JPA CORESpring Master 남은 목차JPA CORE ← 해당 포스트Spring Data JPA ←해당 포스트 Bean인증, 인가Validation(데이터 검증하기)RestTemplate & Open API테스트Spring AOPAPI 예외 처리JPA COREORMORM(Object-Relational Mapping) Object :kgrace2366.tistory.com 공감수 0 댓글수 0 2024. 11. 26.
  • [Spring Master] 입문 이론 - JPA CORE JPA COREORMORM(Object-Relational Mapping) Object : "객체" 지향 언어 (자바, 파이썬)Relational : "관계형" 데이터베이스 (H2, MySQL)ORM은 이름 그대로 객체와 DB 관계를 매핑해주는 도구입니다. 자바의 클래스(객체)와 DB의 데이터를 직접 매핑하려면 매우 번거롭고 많은 작업이 필요하지만, ORM을 사용하면 이를 자동으로 처리해 줍니다.JPAJPA(Java Persistence API)JPA는 Java ORM 기술의 대표적인 표준 명세입니다.* 명세: 어떤 기능이나 동작 방식을 정의한 표준화된 인터페이스와 규칙으로, 실제 구현체가 아니며, 구현체가 어떤 방식으로 동작해야 하는지에 대한 설계도와 같은 역할입니다.비유로 이해하기명세(JPA): "레.. 공감수 2 댓글수 1 2024. 11. 25.
  • [Spring Master] 입문 이론 - 3 Layer Architecture, IoC와 DI, Bean * http://localhost:8080은 자동으로 /static/index.html 경로를 반환합니다.DTOData Transfer Object, DTO는 데이터 전송 및 이동을 위해 생성되는 객체입니다.Client에서 보내오는 데이터를 객체로 처리할 때 사용되며, 서버의 계층 간 이동에 사용됩니다. 또한, DB와의 소통을 담당하는 Java 클래스를 그대로 Client에 반환하는 것이 아니라, DTO로 한 번 변환한 후, 반환할 때도 사용됩니다.3 Layer ArchitectureController 클래스 하나로 모든 API를 처리하면 양이 많아지고 수정이 어렵다는 한계가 있습니다.따라서 서버에서의 처리 과정을 크게 Controller, Service, Repository 즉, 3계층으로 분리합니다... 공감수 0 댓글수 0 2024. 11. 24.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.