전체 글
-
[프로그래머스] Python - 거리두기 확인하기개발/알고리즘 2022. 5. 10. 20:10
코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 프로그래머스 레벨2 문제로 카카오 인턴십 코딩테스트 출제 문제다. 주어진 리스트에서 사람들이 거리두기를 지키는지 확인하면 된다. 이 문제의 경우 BFS-FloodFill로 해결할 수 있었다. ..
-
[OAuth 2.0 API 보안] API 보안 설계보안/OAuth 2.0 2022. 5. 9. 18:50
OAuth 2.0 1. 데이터 유출의 3가지 원인 연결성 최근 기업체들에선 많은 API나 시스템을 연동한다. 여기에는 보안적 결함이 존재하는 레거시 시스템들도 포함된다. 확장성 최근의 시스템들은 확장의 용이성을 고려하여 설계, 제작된다. 새롭게 추가되는 소스코드들의 기능은 브라우저와 같은 곳에서 보안 요소의 우회를 발생시킬 수 있다. 복잡성 복잡성으로 인해 파악되지 못한 취약점이 다수 존재할 수 있다. 복잡성은 유지보수의 난이도 상승으로 연결되어 수정하기 힘든 취약점이 다수 존재할 수 있다. 2. API 설계에서 고려할 점 사용자 경험 강한 보안 요소를 적용시키기 위해 사용자의 편의성을 과도하게 침범하면 안 된다. 나쁜 사례 : 과도한 비밀번호 조건 좋은 사례 : FaceID 성능과 비용 접근 키가 필요..
-
[백준] Java - 미로 탐색개발/알고리즘 2022. 4. 27. 23:01
2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 1 9 10 11 12 2 8 12 3 7 13 14 4 5 6 14 15 정말 쉬운 BFS 문제이자 FloodFill 알고리즘을 사용하는 문제이다. 파이썬으로 코테를 준비하다가 자바를 새로 준비해보려니 자바 자체의 문법을 이용하는게 좀 오래 걸렸다. 1, 1의 좌표에서 n, m 좌표까지의 최단 거리를 출력하면 된다. 기본적으로 이동할 수 있는 위치를 표시하는 배열과 방문 여부를 확인하는 배열을 입력 값의 크기만큼 할당하고 시작한다. 위의 표 처럼 다음 이동할 위치에는 현재 위치의 값에 1을 ..
-
[JAVA] 입출력개발/Java 2022. 4. 25. 20:37
우리가 자바를 통해서 일반적으로 입출력을 처리하는 방법에 대해서 알아본다. 파이썬의 경우 sys.stdin.readline(), input(), map(), split() 등을 이용하는 것처럼 여러가지의 경우를 정리할 것이다. 추가 내용이 있을 경우 업데이트 예정 일반적인 입출력 import java.io.*; import java.util.*; public class Main { public static void main(String[] args){ /* 입력 */ Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); /* 출력 */ System.out.println(n); } } Scanner와 표준 출력을 활용한 ..
-
[Spring Boot] URL 이미지 반환하기개발/Java 2022. 4. 25. 17:14
스프링부트를 활용해서 API 서버를 만들면서 이미지가 담긴 URL을 반환해주는 기능이 필요했다. 클라이언트가 서버의 URL로 접근해서 이미지를 요청하면 외부 API의 정적 이미지를 담은 URL을 내 쪽으로 끌고와서 해당 URL의 이미지를 내 서버의 URL로 접근할 수 있도록 해야했다. 외부 API에 직접 접근하면서 생기는 두 가지 문제점을 해결하고 싶었다. API키가 노출되는 점 URL 길이가 길어지는 점 위 두 개의 문제점을 해결하기 위해서 다음과 같은 방법을 생각했다. 외부 API URL에 접근해서 이미지만 객체 또는 바이트 배열로 받아오기 해당 이미지 객체를 바이트 배열로 반환하기 우선 아래와 같은 클래스와 함수를 만들었다. 파라미터로 전달되는 값들을 통해 URL을 구성하고 이를 통해서 URL 객체..