본문 바로가기

전체 글

(135)
SpringSecurity와 인증, 인가, JWT의 구조, 동작 과정 Spring Security의 구조와 JWT 발급 과정에 대해 설명해주실 수 있을까요? Spring Security란? 스프링 시큐리티는 인증(Authentication), 인가(Authorize) 부여 및 보호 기능을 제공하는 프레임워크이다. 인증(Authentication)과 인가(Authorize)란? 인증(Authentication) 인가(Authorization) 해당 유저가 실제 유저인지 인증하는 개념 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념 ex) 스마트폰 지문인식, 사이트 로그인 ex) 해당페이지 - 관리자 권한 웹 애플리케이션 인증(Authentication) 일반적으로 서버-클라이언트 구조로 되어있고, 실제로 두가지 요소는 아주 멀리 떨어져있다. 그리고 Http ..
[Python] 백준 15650번. N과 M(2) https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 설명 예제2 출력 결과를 보면 조합이라는 것을 바로 알 수 있다. 1 2 1 3 1 4 2 3 2 4 3 4 풀이설계 파이썬 itertools모듈의 combinations 를 사용하면 금방 풀 수 있다. import sys from itertools import combinations input = sys.stdin.readline n, m = map(int, input().split())..
[Redis] Sorted Sets Sorted Set Sorted Set은 관련 점수에 따라 정렬된 고유 문자열(구성원) 모음으로 둘 이상의 문자열에 동일한 점수가 있는 경우 문자열은 사전순으로 정렬됩니다. 리더보드 정렬된 세트를 사용하면 대규모 온라인 게임에서 가장 높은 점수를 순서대로 나열한 목록을 합계로 유지할 수 있다. 속도 제한기, 특히 과도한 API 요청을 방지하기 위해 정렬된 세트를 사용하여 슬라이딩 윈도우 속도 제한기를 구축할 수 있다. Sorted Set를 Sets을 Hash의 혼합으로 생각할 수 있다. 집합과 마찬가지로 정렬된 집합은 고유하고 반복되지 않는 문자열 요소를 구성되므로 어떤 의미에서는 정렬된 집합도 집합입니다. Set은 내부 요소는 순서가 지정되지 않지만 Sorted Se의 모든 요소는 score라는 부동 ..
Web Server & WAS 웹서버(Web Server)란 브라우저가 웹 서버에서 불려진 파일을 필요로 할때, 브라우저는 HTTP를 통해 파일을 요청합니다. 요청이 올바른 웹 서버에 도달하였을때, HTTP 서버는 요쳥된 문서를 HTTP를 이용해 보내줍니다. 하드웨어 관점 "웹 서버의 소프트웨어"와 웹 사이트의 "컴포넌트 파일"들을 저장하는 컴퓨터 (컴포넌트 파일 : HTML, CSS, JS, 이미지) 웹 서버는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹 서버의 데이터(컴포넌트 파일들)을 주고 받을 수 있도록 한다. 소프트웨어 관점 웹 사용자가 어떻게 호스트 파일에 접근하는지를 관리 웹 서버는 HTTP 서버 형태로 존재(웹 구현 시)하며, HTTP서버는 HTTP의 소프트웨어 일부 사용자는 웹 브라우저에 접속한다. 웹 브라우저에서..
MVC 모델이란 MVC 모델이란 무엇인지 설명해주실 수 있을까요? MVC는 Model, View, Controller의 줄임말로 프로젝트를 구성할 때 세가지 역할로 관심사를 분리하여 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있으며 더 나은 업무의 분리와 향상된 관리를 제공합니다. 사용자가 요청을 보내면 Controller는 Service에서 비즈니스 로직을 처리한 후 결과를 Model에 담습니다. Model은 저장된 결과를 바탕으로 사용자 요청에 따른 시각적 요소 출력을 담당하는 View를 제어하여 사용자에게 전달합니다. 즉 Model은 데이터를 조작하는 역할을 수행하고 View은 Controller에게 받은 Model의 데이터를 시각적으로 보여주기 위한 역할을 담당합니다. Controller는 Mod..
[AWS/Kafka] Docker 설치 후 Kafka 설정 https://jung-mmmmin.tistory.com/124 [Docker] Docker 부터 docker compose 설치 실행환경 cat /etc/*-release | uniq DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 Docker 설치 sudo apt-get update 필요한 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common Docker의 공 jung-mmmmin.tistory.com https://jung-mmmmin.tistory.com/113 [Docker/Kafka] zookeeper/Kafka 설치 로컬에서 설치해..
[Redis] Sets & Hashes 본 게시물은 인프런 강의를 수강하고 작성된 게시물입니다. Sets Unique String 을 저장하는 정렬되지 않은 집합 Set Operation 사용 가능( ex. intersection, union, difference) SADD, SMEMBERS 127.0.0.1:6379> sadd user:1:fruits apple banana orange orange (integer) 3 127.0.0.1:6379> smembers user:1:fruits 1) "apple" 2) "banana" 3) "orange" set은 집합 개념이기 때문에 중복되는 값은 들어가지 않는다. sadd [멤버이름:멤버번호:key] value1, value2, value3..... 시간복잡도 : 추가된 요소에 대해 O(1)을..
[Redis] Strings, Lists 본 강의는 인프런에서 수강한 내용을 바탕을 작성된 게시글입니다. Strings 문자열, 숫자, serialized object(JSON string) 등 저장 대부분의 문자열 연산은 O(1)이다. set : 문자열의 값을 저장합니다. setnx : 키가 아직 존재하지 않는 경우에만 문자열 값을 저장합니다. 잠금을 구현하는데 유용 get : 문자열 값을 검색합니다. mget : 단일 작업으로 여러 문자열 값을 검색합니다. SET, GET 127.0.0.1:6379> set lecture inflearn-redis OK 127.0.0.1:6379> get lecture "inflearn-redis" 127.0.0.1:6379> set object '{"lecture" : "inflearn-redis", "l..