🦥 디자인 패턴 소프트웨어의 설계 방법으로 반복되는 패턴처럼 자주 나타나는 클래스들 간의 관계(설계)를 맺어줌 🌿 올바른 설계가 필요한 이유 - 클래스는 하나의 기능을 갖는 것이 가장 이상적 - 클래스는 하나의 기능을 갖는 클래스들 간의 소통을 통해 개발 - 문제 발생 시 최소한의 코드 수정을 하여 유지보수가 쉬워짐 - 기존 기능에 영향을 주지 않고 새로운 기능 추가 가능 🦥 Iterator 패턴 🌿 Iterator 란 - Array, Linked List, Tree, Graph, Table(DBMS) 와 같이 여러개의 데이터를 저장하는 자료구조에서 데이터를 하나씩 가져오는 것을 iterator라고 한다. - 컬렉션 구현방법을 노출시키지 않고 집합체 안에 들어있는 모든 항목에 접근할 수 있도록 함 - 이..
🦥 HTTP 전송 계층 위에 있는 애플리케이션 계층으로 웹 서비스 통신에 사용하는 프로토콜 🌿 HTTP/1.0 - 한 연결당 하나의 요청을 처리하여 RTT 증가 - RTT : 패킷이 목적지에 도착하고 다시 출발지로 돌아오기까지 걸리는 시간 🌿 HTTP/1.1 - HTTP/1.0 에서 발전한 것이 HTTP/1.1 - 매번 TCP 연결을 하는 것이 아닌 keep-alive 설정으로 여러개의 파일 송수신 가능 - TCP handshake 가 이루어지고 keep-alive 에 설정한 시간만큼 데이터를 받아올 수 있음 - 클라이언트가 서버에 요청을 해야 파일을 다운로드 받을 수 있음 🌿 HTTP/2.0 - HTTP/1.1의 속도를 개선한 프로토콜 - 멀티플렉싱 : 여러 개의 스트림을 사용하여 데이터를 송수신 - ..
내 풀이 (틀림) class Solution { /** 약수를 구하라는 문제! 반만검사? */ public int solution(int n) { int answer = 0; int sqrt = (int)Math.sqrt(n) + 1; for(int i=1; i < sqrt; i++) { if(n%i == 0) { answer++; } } return answer*2; } } 전체를 검사하는 것 보다(시간복잡도 N) 반만 검사하는게 좋을 것 같아서(시간복잡도 N/2).. 사실 둘다 선형탐색(?) 이라 거기서 거기지만 뭔가 본게 있으니까..ㅎ 반만 검사하고 answer*2 하면 답이 나오지 않을까! 라는 생각을 했는데.. 테스트케이스 한개가 틀림 걍 전체 검사하니까 통과함. . 나대지말자 답 class S..
🦥 1. Spring for GraphQL 개요 및 요구사항 Spring GraphQL은 Spring 애플리케이션에 Java용 GraphQL 을 제공한다. 더보기 💡 Spring GraphQL 사용하기 위한 필요 조건 1. JDK 8 2. Spring Framework 5.3 / Spring Boot 2.7 이상 -- GraphQL Java 18과 Spring Data , 최신 QueryDSL 에서 사용 가능(?) 🦥 2. 서버 전송 Spring GraphQL 은 HTTP, WebSocket, RSocket 상에서 GraphQL 을 다루는 것을 지원한다. 2.1 HTTP GraphQLHttpHandler 는 HTTP 요청을 GraphQL 로 다루고 Http 요청에 대한 수행을 위해 인터셉터에게 위임한다...
🦥 1. Graph QL 개념 1.1 GraphQL 이란? GraphQL 은 API를 위한 질의어이자 존재하는 데이터에 대해 쿼리를 수행하는 언어 API 에 있는 데이터를 완벽하고 이해가능한 상태로 제공 Client 가 GraphQL 형식으로 요청하면 필요하고 필요하지 않은 데이터를 정확하게 요청할 수 있다 1.2 GraphQL 장단점 장점 필요하고 얻고자 하는 데이터만 정확하게 요청 가능 GraphQL 쿼리로 API 에 요청을 보내면 정확하게 원하는 데이터만 받을 수 있음 어떤 데이터를 리턴받을 지 명시하기 때문에 예측가능한 결과만 리턴 서버가 아닌 클라이언트가 가지고 올 데이터를 통제하기 때문에 빠르고 안정적임 REST API 는 여러 URI 를 통해 데이터를 로딩하지만 GraphQL 은 단일 요청으..
SecurityConfig.kt class SecurityConfig( private val jwtAuthenticationProvider: JwtAuthenticationProvider, SecurityConfig 에서는 JWTConfig 에 Provider를 인자로 넘겨주기 때문에 JwtAuthenticationProvider 를 주입받는다. JwtAuthenticationProvider @Component class JwtAuthenticationProvider( @Value("\${jwt.secret}") val secret: String, @Value("\${jwt.token-validity-in-seconds}") val tokenValidityInSeconds: Long, private va..
Spring Security 와 JWT 를 사용하여 로그인을 구현해보려고 한다. 🦥 JWT (Json Web Token) ? JSON 객체를 사용해서 토큰 자체에 정보를 저장하여 사용자 인증에 사용되는 토큰 🦥 JWT 구성 구분자는 점이고 세 부분으로 구성되어 있다 1. 헤더(Header) : 토큰의 타입과 암호 알고리즘으로 구성 2. 페이로드(Payload) : 토큰에 담을 정보가 들어있다. 페이로드에 담긴 정보 하나하나를 클레임(claim) 이라고 부르고 name-value 로 이루어져 있다. 클레임의 종류는 등록된 클레임, 공개 클레임, 비공개 클레임 3가지가 있다. 등록된 클레임 : 미리 정의된 클레임의 집합 공개 클레임 : JWT 를 사용하는 사람들이 정의할 수 있음 비공개 클레임 : 클라이언..
- Total
- Today
- Yesterday
- 운영체제
- ORA-27125
- TCP
- nginx
- JPA
- Java
- ci/cd
- OS
- 프로그래머스
- db
- 트랜잭션
- EC2
- spring
- Til
- SpringGraphQL
- 기술면접
- 람다식
- 인덱스
- SpringSecurity
- Travis CI
- level0
- Oracle
- ddl-auto
- AWS
- 파일업로드설정
- 트랜잭션격리성
- CodeDeploy
- N+1
- graphql
- 네이버클라우드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |