전체 글
-
CORS에 대해 쉽고 빠르게 파헤치기웹 보안 2024. 8. 19. 16:04
목차들어가기 앞서...CORS란?CORS의 동작 원리 & 동작 방식CORS 설정시 주의 사항1. 들어가기 앞서... 웹 애플리케이션에 대해 공부하다 보면 결국 모든 작업이 클라이언트와 서버, DB간의 요청에서 시작해서 응답으로 끝나는 것을 알 수 있습니다. 필자는 Spring을 공부하지만, 다른 프로그래밍 언어로 웹 애플리케이션을 개발하더라도 저랑 비슷한 감상을 느끼실 것이라고 조심스럽게 예측해봅니다. 이전까지 저는 안전한 웹 애플리케이션은 버그가 최대한 적게 일어나는 것이라고 생각했는데, 시큐어 코딩이라는 개념에 대해 접한 순간부터는 타인의 악의로부터 클라이언트와 서버를 안전하게 보호하는 것까지가 건강한 개발자가 가져야할 마음가짐이라고 생각하게 됐습니다. 2. CORS란? 한 개발자가 웹 ..
-
Docker에 대해 파헤치기Docker 2024. 8. 13. 19:34
제가 개인적으로 학습한 내용들을 글로 옮기는 과정입니다. 부족한 전문성과 부정확한 서술을 유의하고 읽어주세요. 도커에 대해 파헤치기 앞서...우리가 만든 서비스를 세상에 선보이는 작업을 개발에선 '배포'라고 합니다. 기본적으로 배포를 하기위해서는 어플리케이션과 서버, 그리고 db가 갖춰져야 사용자에게 최소한의 서비스를 제공할 수 있을 겁니다. 현재 우리가 가지고 있는것은 아래와 같다고 가정해봅시다. 리눅스 운영체제의 서버 컴퓨터Java 8 버전의 a 어플리케이션a가 사용하는 MySQL 5.0 버전이렇게 배포환경을 준비하고 완벽하게 배포를 마쳤습니다! 그렇다면 이제 개발자가 해야할 일은 모두 끝난 걸까요?몇 개월 후, 서버에 추가해야할 아래와 같은 요구사항이 전달되었습니다.Java 11 버전의 새로운 어플..
-
인메모리 저장소와 Redis에 대해 파헤치기프로그래밍 언어/Spring 2024. 8. 8. 19:04
이 글은 인메모리 저장소와 Redis에 대한 공부를 제가 이해할 수 있는 내용으로 정리한 글입니다. 부정확한 서술이나 기술에 대한 정보가 틀릴 가능성이 있습니다. 인메모리 저장소의 필요성우리는 지금까지 Spring boot를 활용하면서 데이터를 쉽게 저장할 수 있도록 관계형 데이터베이스(RDBMS)를 사용해왔습니다. 이 데이터베이스를 사용했던 가장 큰 목적은 서비스가 종료돼도 데이터를 영속적으로 남기기 위해서입니다. 하지만, 서비스를 운용하다보면 데이터베이스에 저장하는 것보다 임시 저장해야하는 상황들이 있습니다.예를 들어, 우리가 쇼핑몰을 이용할 때 이용하는 장바구니 기능은 확정되지 않은 데이터로써 상품들을 쉽게쉽게 바뀌고 삭제됩니다. 이런 상황에서 관계형 데이터베이스에 계속해서 SQL문을 날려 저장하..
-
분산 추적에 대해 파헤치기프로그래밍 언어/Spring 2024. 8. 7. 19:38
이 글은 필자가 공부한 내용을 정리한 것에 불과하며 틀린 정보가 있을 수 있으니 주의가 필요합니다. 오늘은 분산 추적에 대해 알아보겠습니다. 주제에 들어가기 앞서, Spring Cloud(MSA를 구현하기 위해 Spring에서 지원하는 프레임워크의 확장)는 분산 추적과 로깅을 설정할 수 있도록 설계되었습니다. 그만큼 MSA 구현에 있어 분산 추적과 로깅이 중요한 위치에 있다는 뜻인데, 이는 왜 중요한 걸까요? 일단, 분산추적의 정의와 기능에 대해 알아봅시다. 분산추적이란,분산 추적은 분산 시스템에서 서비스간의 요청 흐름을 추적하고 모니터링하는 방법입니다.이는 각 서비스의 호출 관계와 성능을 시각화하여 문제를 진단하고 해결할 수 있도록 돕습니다.분산 추적이 MSA 설계에 필요한 이유는,마이크로 서비스 아키..
-
API 게이트 웨이에 대해 파헤치기프로그래밍 언어/Spring 2024. 8. 6. 23:00
이 글은 API 게이트웨이에 대한 공부를 제가 이해할 수 있는 내용으로 정리한 글입니다. 부정확한 서술이나 기술에 대한 정보가 틀릴 가능성이 있습니다. API 게이트웨이 개요API 게이트웨이는 MSA를 구현하는데 필요한 Spring Cloud에서 지원하는 확장 기능 중 하나이다. API 게이트웨이가 하는 일을 간략적으로 보자면클라이언트의 요청을 받아 백엔드 서비스로 라우팅하고, 다양한 부가기능을 제공하는 중간 서버의 역할을 한다.클라이언트와 서비스간의 단일 진입점 역할을 한다.위의 역할을 수행하기 위해 API 게이트웨이는 아래와 같은 핵심 기능들을 가지고 있다.라우팅 정책 : 클라이언트 요청을 적절한 서비스로 전달 (예: 라우팅, 속도 제한, 요청/응답 조작 등등)보안 정책 : 인증, 권한 부여, 엑세스..
-
(프로그래머스/자바) 전력망을 둘로 나누기코딩테스트 문제 2024. 3. 14. 10:51
https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2023-03-14 처음 접해보는 dfs유형의 문제였다. 그래프를 활용해서 모든 조건을 검사해봐야겠다라는 생각은 했지만 막상 코드로 적으려 해보니 무엇을 고려하고 어떻게 체크해야할지 알 수 없었다. 결국 괜찮은 풀이 방법을 찾아보고 참고해서 내가 알지 못한 것을 알아봤다. 참고 블로그: https://isshosng.tistory.com/162 [프로그래머스/자바] 전력망을 둘로 나누기 - bfs..