분류 전체보기

Spring/개념

[Web] 서블릿(servlet)이란?

서블릿이란? Servlet: 자바를 사용하여 웹페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양. 자바를 사용하여 웹을 만들기 위해 필요한 기술이다. 클라이언트가 요청을 하면 그에 대한 응답을 줘야하는데, 이러한 역할을 하는 자바 프로그램이다. 서블릿은 자바로 구현 된 CGI라고 흔히 말하기도 한다. CGI(Common Gateway Interface(CGI): 서버와 애플리케이션 간에 데이터를 주고 받는 방식 과거 서버에서는 정적인 자료(HTML)만 주고 받을 수 있었다. 클라이언트가 자료를 요청하면 서버는 미리 만들어진 자료를 저장하고 있다가 반환했다. 하지만 인터넷 사용자가 많아지면서 사용자는 정적인 자료가 아닌 자신에게 맞는 자료를 요구하기 시작해 만들어진 것이 서블릿. 사용자 요구에 맞..

Algorithm/PTUStudy

16주차. 그래프(순열)

34. 순열 https://leetcode.com/problems/permutations/description/ Permutations - LeetCode Can you solve this real interview question? Permutations - Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order. Example 1: Input: nums = [1,2,3] Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1], leetcode.com 📌문제 서로 다른 정수를 입력받아 가능한 모든 순열을 리턴하라. - 예제1 📝입..

Algorithm/PTUStudy

15주차. ROT13

11655. ROT13 https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 📌문제 📌풀이 아스키 코드만 잘 굴리면 쉽게 풀 수 있음 124ms 14240kb import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buffere..

Algorithm/PTUStudy

15주차. 단어 길이 재기

2743. 단어 길이 재기 https://www.acmicpc.net/problem/2743 2743번: 단어 길이 재기 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. www.acmicpc.net 📌문제 - 예제1 📝입력 pulljima 💻출력 8 📌풀이 이건 포스팅하기에 조금 민망한디.. 128ms 14232kb import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buff..

Algorithm/PTUStudy

15주차. 그래프(전화번호 문자 조합)

33. 전화번호 문자 조합 https://leetcode.com/problems/letter-combinations-of-a-phone-number/ Letter Combinations of a Phone Number - LeetCode Can you solve this real interview question? Letter Combinations of a Phone Number - Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. Return the answer in any order. A mapping of d leetcode..

Algorithm/PTUStudy

15주차. 그래프(섬의 개수 리팩토링)

32. 섬의 개수 https://leetcode.com/problems/top-k-frequent-elements/ Top K Frequent Elements - LeetCode Can you solve this real interview question? Top K Frequent Elements - Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order. Example 1: Input: nums = [1,1,1,2,2,3], k = 2 Output: [1,2] leetcode.com 📌문제 1을 육지로 0을 물로 가정한 2D 그리드 맵이 주..

Spring/개념

[Spring] 스프링 PSA

PSA(Portable Service Abstraction) PSA는 잘 만든 인터페이스이다. 💡PSA(Portable Service Abstraction): 하나의 추상화로 여러 서비스를 묶어둔 것, 환경의 변화와 관계없이 일관된 방식으로 기술에 접근할 수 있는 환경을 제공하려는 추상화 구조를 말한다. 추상화 계층을 사용해서 어떤 기술을 내부에 숨기고 개발자에게 편의성을 제공해주는 것을 서비스 추상화(Service Abstraction)이라 한다. 이러한 서비스 추상화로 제공되는 기술을 다른 기술 스택으로 간편하게 바꿀 수 있는 확장성을 갖고 있는 것이 PSA이다. 예를 들어 @Cacheable 애노테이션을 보면 된다. 비즈니스 로직의 특정 메서드의 결과를 캐싱하고 싶을 때 @Cacheable 애노테이..

Spring/개념

[Spring] 스프링 AOP

AOP(Aspect Oriented Programming) 💡AOP(Aspect Oriented Programming): 관점 지향 프로그래밍이라는 의미로, 어떤 로직을 기준으로 핵심적인 관점, 공통적인 관점(부가적인 관점)으로 나누어서 보고 그 관점을 기준으로 모듈화하겠다는 의미이다. 애플리케이션 전반에 걸쳐 공통적으로 사용되는 기능들에 대한 관심사를 바로 공통 관심 사항(Cross-cutting concern)이라 부르며, 애플리케이션의 주목적을 달성하기 위한 핵심 로직에 대한 관심사를 핵심 관심 사항(Core concern)이라 부른다. 위 사진을 예로 들자면, 커피 주문 애플리케이션에서 커피 메뉴 등록, 커피 주문, 커피 주문 변경 등등 기능들이 핵심 관심 사항이고, 공통적으로 처리해야 할 부분인..

Spring/개념

[Spring Security] 스프링 시큐리티의 동작 구조

Spring Security의 구조 사용자가 로그인 정보와 함께 인증을 요청한다. AuthenticationFilter가 요청을 가로 챈 뒤, UsernamePasswordAuthenticationTocken의 인증용 객체를 생성한다. AuthenticationManger의 구현체인 ProviderManager에게 생성한 인증 토큰을 전달한다. AuthenticationManager는 등록된 AuthenticationProvider를 조회하여 인증을 시도한다. 실제 DB에서 사용자 인증정보를 가져오는 UserDeatailService에 사용자 정보를 전달한다. 넘겨받은 사용자 정보를 토대로 DB에서 찾은 사용자 정보인 UserDatails 객체를 만든다. AuthenticationProvider는 Use..

Spring/개념

[Spring Security] 스프링 시큐리티와 FilterChain

Spring Security란? Spring Security: Spring MVC 기반 애플리케이션의 인증(Authentication)과 인가(Authorization or 권한 부여) 기능을 지원하는 보안 프레임워크. Spring 기반 애플리케이션 보안을 위한 사실상의 표준이다. Authentication(인증): 해당 사용자가 본인이 맞는지 확인하는 절차 인증을 정상적으로 수행하기 위해 사용자를 식별하기 위한 정보가 필요하다. 이를 Credential이라 부른다. ex) 신분증 Authorization (인가, 권한 부여): 인증된 사용자가 요청된 자원에 접근가능한가를 결정하는 절차 반드시 인증 과정 이후에 수행되어야 한다. 권한은 일반적으로 역할(Role)형태로 부여된다. ex) 사원증, 사무실에 ..

지구우중
'분류 전체보기' 카테고리의 글 목록 (3 Page)