일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 1주일회고
- 취업리부트코스
- @FeignClient
- KPT회고
- 개발자 취업
- Python
- jwt
- 99클럽
- jwttoken
- 단기개발자코스
- JavaScript
- 전략패턴 #StrategyPattern #디자인패턴
- Spring multimodule
- TiL
- infcon 2024
- 프로그래머스 이중우선순위큐
- 빈 충돌
- 파이썬
- 프로그래머스
- DesignPattern
- 커스텀 헤더
- 구글 OAuth login
- 코딩테스트 준비
- 디자인 패턴
- 디자인패턴
- 항해99
- 개발자부트캠프추천
- 빈 조회 2개 이상
- 인프콘 2024
- spring batch 5.0
- Today
- Total
목록분류 전체보기 (192)
m1ndy5's coding blog
https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 단순 그리디처럼 보였지만 알고보니까 굉장한 반례가 숨어있던(?) 문제였다... 이 반례를 찾은 사람도 정말 대단하다ㅋㅋㅋㅋ 단순히 cost가 더 적은 애로 바꿔서 계산하면 될 줄 알았는데 방향을 틀면 600원이 추가되야되기 때문에 당장은 원래 방향인 애가 더 쌌는데 다음번에는 이전 애 방향으로 내려오는 게 더 쌀 수도 있던 문제였다. 벽 1000 벽 900 ? 벽 (옆에서 오면 1000원, 위에서..
https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어떻게 풀어야할지 잘 모르겠어서 (시간초과되는 로직밖에 생각이 안남ㅠㅠㅠ) 다른 사람들의 풀이를 보고 참고해 풀었다. 이 문제는 투포인터 알고리즘을 사용하여 풀어야 하는 문제였다! 투포인터 알고리즘이란? 리스트에 순차적으로 접근을 할 때 start index와 end index를 정해서 옮겨가면서 접근하는 방식이다. 위에 문제에서는 start index와 end index를 옮겨가면서 해당 인덱스..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ZJ4qj/btsB5FllbCl/ooqP0MpoB5cVvc8JqqYOGk/img.png)
Google Cloud Platform에 들어가서 몇가지 설정해주기 간략한 정보 입력을 먼저 한다. 그 다음으로 OAuth 클라이언트 ID를 발급받는다. 이 때 승인된 리디렉션 URI에는 구글 인가 서버에서 주는 code를 받을 URI을 넣으면된다! 나 같은 경우엔 /login/google/link -> 로그인 성공 및 코드 발급 -> /login/google/token 으로 해주었다.(코드로 AccessToken 받을거라) 이렇게 설정을 해주면 클라이언트 id와 클라이언트 secret을 주게 되고 이걸 사용해서 OAuth 로그인을 구현할 것이다! application.yml 혹은 application.properties에 사용될 정보들 넣어주기 코드를 좀더 깔끔하게 관리하기 위해서 위에서 받았던 cli..
잠깐 디자인패턴 정리를 쉬고 스프링 MVC 패턴에 대한 인강을 듣다가 어떨 때는 이걸 사용하고 어떨 때는 저걸 사용하고 싶을 때는 어댑터 패턴을 사용해야한다 라는 말이 나와서 먼저 이에 대해 정리해보려고 한다! 어댑터의 역할 예를 들어 국내에서 쓰던 충전기를 일본에가서 사용하려고 하면 당연히 호환이 안될 것이다. 이때 어댑터를 사용하여 맞춰준 경험이 있을 것이다! 어댑터는 특정 인터페이스를 클라이언트에서 요구하는 형태로 적응시키는 역할을 한다. 객체지향 어댑터 어떤 소프트웨어 시스템에 새로운 업체에서 제공한 클래스 라이브러리를 사용해야 하는데 그 업체에서 사용하는 인터페이스가 기존에 사용하던 인터페이스와 다르다고 가정해 보자 그렇지만 기존 코드를 바꿔서 이 문제를 해결하기엔 일이 너무 복잡해지기 때문에 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/QlMUT/btsB2PmSQ4v/Q75FNDLOGIBRqRRLjwM80K/img.png)
OAuth 2.0(Open Authorization 2.0)은 인증을 위한 개방형 표준 프로토콜 이 프로토콜에서는 Third-Party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공 대표적으로 구글, 페이스북, 카카오, 네이버 등에서 제공하고 있다. 권한 부여 방식 Authorization Code Grant 권한 부여 승인 코드 방식 권한 부여 승인을 위해 자체 생성한 Authorization Code를 전달하는 방식으로 많이 쓰이고 기본이 되는 방식 간편 로그인 기능에서 사용되는 방식으로 클라이언트가 사용자를 대신하여 특정 자원에 접근을 요청할 때 사용되는 방식 보통 타사의 클라이언트에게 보호된 자원을 제공하기 위한 인증에 사용된다. Re..
시도한 것 인프런 MVC 1편 강의 다 듣기 1일 1 알고리즘 문제 풀기 프로젝트 구상하기잘 지켜진 것 프로젝트 구상은 열심히 한거 같다. 이번주에는 잘 구현해 봐야지!개선이 필요한 것 2주됐는데 벌써 조금씩 헤이해졌다... 오늘부터 다시 열심히 하면 된다! 그동안 못 풀었던 알고리즘 문제랑 MVC 강의도 무조건 다 듣고 이해할 때까지 집에 안간다. 제발 정신차리자???? 일단 다음주목표는 꼭꼭꼭꼭꼭 최소 8~9시에는 집에서 나와서 독서실 가는 거다!!!
람다식은 함수형 프로그래밍 기법을 지원하는 자바의 문법 요소 자바에서 메서드를 사용하려면 항상 클래스 객체를 먼저 생성한 후 생성한 객체로 메서드를 호출해야 한다. 이를 해결하기 위해 나온 방법이 람다식이다. 단 하나의 추상 메서드만을 포함하는 인터페이스를 함수형 인터페이스라고 하고, 이 함수형 인터페이스의 호출 및 기능을 구현하는 방법을 새롭게 정의한 문법이 바로 람다식이다. 정리하자면 람다식은 기존의 객체 지향 프로그램 체계 안에서 함수형 프로그래밍을 가능하게 하는 기법이라고 생각할 수 있다. 객체 지향 구조 내에서 람다식 적용 과정 interface A { void abc(); } class B implements A { public void abc(){...} } // 사용할 때 A a = new..
https://school.programmers.co.kr/learn/courses/30/lessons/169199 이것도 다른 사람 코드를 확인하고 푼 문제여서..ㅎㅎㅎ 정리할겸! ``` from collections import deque dx = [-1, 1, 0, 0] dy = [0, 0, 1, -1] def solution(board): answer = -1 q = deque() height = len(board) width = len(board[0]) visited = [[0 for _ in range(width)] for _ in range(height)] for i in range(height): for j in range(width): if board[i][j] == 'R'..
https://school.programmers.co.kr/learn/courses/30/lessons/67257 문제를 풀다가 풀릴듯 잘 안풀려서 다른 사람들은 어떻게 풀었나 하고 찾아봤는데 진짜 너무 깔끔한 코드가 있어서 공부할겸 포스트를 작성해야겠다. from re import split from itertools import permutations def solution(expression): values = [] # permutations으로 가능한 조합을 모두 계산해본다. for priority in permutations(['*', '+', '-'], 3): # 연산자를 기준으로 숫자 리스트를 만든다. operands = list(map(int, s..
유저 클래스 설계 UserController -> UserService -> UserRepository API 설계 유저 생성 : POST /members 유저 전체 조회 : GET /members 유저 한명 조회 : GET /members/{id} 유저 정보 수정 : PATCH /members/{id} 유저 삭제 및 비활성화 : PATCH /members/{id}커뮤니티 - 게시글 클래스 설계 PostController -> PostService -> PostRepository API 설계 게시글 생성 : POST /posts 유저의 게시글 전체 조회 : GET /members/{id}/posts 게시글 한개 조회 : GET /posts/{id} 게시글 수정 : PUT /posts/{id} 게시글 삭제..