반응형

전체 글 103

인증(Authentication)과 인가(Authorization)란 무엇인가?

용어정리 '인증'이란? 식별가능한 정보로 서비스에 등록된 유저의 신원을 입증하는 과정입니다. 예) 출입증으로 건물에 출입 할 수 있습니다. '인가'란? 인증된 사용자에 대한 자원 접근 권한 확인입니다. 예) 출입증으로 건물에 출입한 후 자신의 회사에만 갈 수 있는것 (3층이 자신의 회사이고 4층이 다른 회사라면 3층에만 입장가능) 웹에서의 인증과 인가 간단한 게시판이 있다고 가정해봅시다. 해당 게시판에 글을 쓰고싶다면 회원가입, 로그인 과정을 거칩니다. -> 인증 이와 동시에 글을 쓸 수 있는 권한 획득합니다. -> 인가 포함 뿐만 아니라 다른 사람의 글을 읽을 수 있지만 다른 사람의 글을 수정할 수 없습니다. -> 권한이 없기 때문입니다.(인가) 정리 인증과 인가는 자원을 적절한/유효한 사용자에게 전달..

성능 테스트, 스트레스 테스트, 부하 테스트 [Locust, JMeter]

용어정리 성능 테스트(Performance Test) 시스템이 특정 상황에서 어느 정도 수준의 성능을 보이는지 확인하는 테스트입니다. 성능 테스트는 시스템의 결함을 찾는 것이 아니기 때문에 성공과 실패의 개념으로 결과를 분석하지 않습니다. 현재 시스템의 정확하고 면밀한 객관적인 데이터를 확보해서 성능에 대한 현재 상황을 이해하는 것이 중요합니다. 예를 들면, 특정 시나리오 상황에서의 API의 평균 처리 속도를 파악하는 테스트를 성능 테스트로 볼 수 있습니다. 부하 테스트(Load Test) 임계 값 한계에 도달하는 순간까지 시스템의 부하를 지속적으로 증가하면서 진행하는 테스트입니다. 보통 LoadRunner 등의 테스트 도구를 활용해서 다양한 부하 시나리오를 설정하고, 강도를 지속적으로 증가하면서 결과를..

Docker Compose

개요 docker 컨테이너를 만드는 명령어가 있습니다. $ docker\ run \ --name"db"\ -v"$(pwd)/db_data:/var/lib/mysql"\ -e"MYSQL_ROOT_PASSWORD=123456"\ -e"MYSQL_DATABASE=wordpress"\ -e"MYSQL_USER=wordpress_user"\ -e"MYSQL_PASSWORD=123456"\ --network wordpress_net\ mysql:5.7 그런데 컨테이너를 만들때마다 이렇게 복잡한 명령을 실행해야 한다면 너무 힘들어집니다. 또한, 자신은 할줄안다고 하더라도 동료들은 명령어를 사용할줄 모른다면 명령어가 너무 부담스럽습니다. 이러한 상황에서 docker-compose.yml이라는 파일을 만듭니다. vers..

TCP/IP, 3, 4Way HandShaking

인터넷 TCP/IP 설명에 앞서 인터넷이란 무엇인지 간단하게 알아봅니다. 인터넷이란? '전 세계에 걸쳐 파일 전송 등의 데이터 통신 서비스를 받을 수 있는 컴퓨터 네트워크의 시스템' 우리는 실생활에서 인터넷에 가입을하고 사용합니다. 통신비용을 지불함으로써 사용할 수 있습니다. 이것은 사업자가 만들어 놓은 네트워크 인프라를 사용하는 것입니다. 왼쪽은 SK 브로드밴드의 자가망 보유현황이고 우측은 해외와 연결된 네트워크 망입니다. 해외와는 바다 밑에 광속케이블을 통해 연결되어 있습니다. 이러한 거대한 인프라를 통해 데이터를 디지털 신호로 바꾸어 전달하고, 받은 디지털신호를 다시 데이터로 바꿔가면서 네트워크 통신이 이루어집니다. OSI 7 Layer 관련 블로그 참조 https://wonuk.tistory.co..

Web Server와 Web Application Server(WAS)

Web Server란? 웹 브라우저(클라이언트)로부터 HTTP 요청을 받아 HTML 문서와 같은 정적 컨텐츠를 제공하는 프로그램 정적 컨텐츠 요청 인자 값에 상관없이 달라지지 않는 컨텐츠(html, css, image 등) 어느 사용자 요청이든 항상 동일한 컨텐츠를 말합니다. Web Server의 기능 클라이언트로부터 HTTP 요청을 받을 수 있습니다. 1. 정적 컨텐츠 요청 시 정적 컨텐츠(html, jpeg, css등)을 제공할 수 있습니다. 2. 동적 컨텐츠 요청 시 Web Application Server(WAS)로 전달하여 WAS가 처리한 결과를 클라이언트에 전달합니다. Web Application Server(WAS)란? DB 조회나 다양한 로직(비지니스 로직 등) 처리를 요구하는 동적인 컨텐..

Process와 Thread

용어정리 프로그램(Program) 어떤 작업을 위해 운영체제 위에서 실행할 수 있는 파일 ex) 웹 브라우저, 워드 프로세서, 카카오톡 등 프로세스(Process) 운영 체제 위에서 실행중인 프로그램 프로그램 명령어와 데이터들이 메모리에 올라오고 실행 중 또는 실행 대기중인 상태 프로세서(Processor) 프로세스가 동작될 수 있도록 하는 하드웨어(=CPU) 동작 프로그램의 자원들이 메모리에 올라오고, 실행 되어야 할 코드의 메모리 주소를 CPU의 레지스터로 올리는 것 실행 단위 - cpu core에서 실행하는 하나의 단위로 프로세스와 스레드를 포괄하는 개념 하나의 cpu core에 한순간에 한개씩 적재되는 것 실행 단위는 프로세스일 때도 있고 쓰레드 일 수도 있습니다. (부연 설명이 없는)프로세스 -..

Spring 롬복(LOMBOK), 조회 빈이 2개 이상(@Qualifier, @Primary)

이전 포스팅 https://wonuk.tistory.com/147 Spring 컴포넌트 스캔, 의존관계 자동주입 이전 블로그 포스팅 https://wonuk.tistory.com/146 Spring 싱글톤 컨테이너 이전 포스팅 https://wonuk.tistory.com/145 Spring IoC, DI, 컨테이너, 스프링 빈(ApplicationContext) 이전 포스팅 참고 https://won.. wonuk.tistory.com 롬복과 최신트렌드 막상 개발을 해보면, 대부분이 다 불변이고, 생성자에 final 키워드를 사용하게 된다. 그런데 생성자도 만들어야 하고, 주입 받은 값을 대입하는 코드도 만들어야 하고 필드 주입처럼 좀 편리하게 사용하는 방법은 없을까? 이러한 이유로 롬복이 등장한다. ..

카테고리 없음 2022.01.01

Spring 컴포넌트 스캔, 의존관계 자동주입

이전 블로그 포스팅 https://wonuk.tistory.com/146 Spring 싱글톤 컨테이너 이전 포스팅 https://wonuk.tistory.com/145 Spring IoC, DI, 컨테이너, 스프링 빈(ApplicationContext) 이전 포스팅 참고 https://wonuk.tistory.com/144?category=1008468 Spring의 객체 지향 적용 SRP, DIP, OC.. wonuk.tistory.com 컴포넌트 스캔 지금까지 스프링 빈을 등록할 때는 자바 코드의 @Bean이나 XML의 등을 통해서 설정 정보에 직접 등록할 스프링 빈을 나열했다. 이렇게 등록해야 할 스프링 빈이 수십, 수백개가 되면 일일이 등록하기도 귀찮고, 설정 정보도 커지고, 누락하는 문제도 발생..

Spring 싱글톤 컨테이너

이전 포스팅 https://wonuk.tistory.com/145 Spring IoC, DI, 컨테이너, 스프링 빈(ApplicationContext) 이전 포스팅 참고 https://wonuk.tistory.com/144?category=1008468 Spring의 객체 지향 적용 SRP, DIP, OCP Spring의 객체 지향 원리 주문 서비스와 할인정책이 있다. 만약 할인정책(DiscountPolicy)이 변경되려.. wonuk.tistory.com 개요 - 웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 물론 웹이 아닌 애플리케이션 개발도 얼마든지 개발할 수 있다. 웹 애플리케이션은 보통 여러 고객..

Spring IoC, DI, 컨테이너, 스프링 빈(ApplicationContext)

이전 포스팅 참고 https://wonuk.tistory.com/144?category=1008468 Spring의 객체 지향 적용 SRP, DIP, OCP Spring의 객체 지향 원리 주문 서비스와 할인정책이 있다. 만약 할인정책(DiscountPolicy)이 변경되려면 public class OrderServiceImpl implements OrderService { // private final DiscountPolicy discountPol.. wonuk.tistory.com 제어의 역전 IoC(Inversion of Control) 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결하고, 실행했다. 한마디로 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다..

반응형