분류 전체보기 (53) 썸네일형 리스트형 카카오 2020 여름 인턴십 보석 쇼핑 현재 풀이이다. 정확도는 맞는데 효율성 테스트는 죽어도 통과가 안된다.. 찾아보니 "슬라이딩 윈도우" 라는 알고리즘을 이용하여 풀어야한다고 한다. 조금 알아본 바로는 for문 2개가 아닌 이전 윈도우와 다음 윈도우의 중복은 그대로 사용하고 이전에서 다음으로 넘어오면서 이전에 사용했지만 다음에는 사용되지 않는것을 빼고 이전에는 사용하지 않았지만 다음에는 사용하는 것을 더하면서 알고리즘을 구성해야한다는 것 같다... import java.util.HashMap; import java.util.HashSet; public class kakao_2020_보석쇼핑 { public static void main(String[] args) { //String[] gems = { "DIA", "RUBY", "RUBY".. Spring Security Spring Security란? Spring 기반의 애플리케이션의 보안을 담당하는 스프링 하위 프레임워크 Spring 기반 애플리케이션의 보안에서는 사실상의 표준 보안의 3요소 1. 접근 주체(Principal) : 보호된 대상에 접근하는 사용자 2. 인증(Authenticate) : 현재 사용자가 누군인지 확인하는 과정, 일반적으로 아이디/암호를 이용해 인증 처리 3. 인가(Authorize) : 현재 사용자가 특정 URL, 기능 등의 접근 권한 여부 검사 1) 인증과 인가 Spring Security는 크게 인증 -> 인가 절차로 진행한다. 이러한 인증과 인가를 위해 Principal _(보호된 대상에 접근하는 사용자)_을 ID로, Credential _(대상에 접근하는 사용자의 비밀번호)_을 비밀번.. Persistance Framework (ORM & SQL Mapper) JPA를 우선 알기위해서는 ORM에 대한 이해가 필요하기에 작성한 포스트이다. JPA가 편해서 무턱대고 쓰고 있었지만, 왜 쓰는지 알고 쓰자ㅏㅏㅏ Persistance Framework는 크게 SQL Mapper와 ORM으로 나누어진다. 1) SQL Mapper SQL Mapper는 SQL로 직접 DB를 다루는 것 1-1) SQL Mapper 종류 JDBC Mybatis 1-2) JDBC (Java Database Connectivity) 자바 프로그램 내에서 SQL 문을 실행하기 위해 Java에서 제공하는 API 모든 Persistance Framework는 내부적으로 JDBC API를 이용함 JDBC API는 데이터베이스와의 상호작용을 해결한다. 2) ORM ORM (Object-Relation Ma.. Web Server vs Web Application Server 포트폴리오를 작성하면서 Web Server와 Web Application Server (일명 : WAS) 에 대해 완벽히 이해하지 못한 것 같아 작성하는 포스트이다. 프로젝트 진행 시, Web Server는 Apache, Nginx를 사용했으며 WAS는 Tomcat을 사용하였다. (2021-04-05 추가 : Tomcat은 WAS라기 보단 Servlet Container에 가깝다고 한다. 왜냐하면, EJB와 같은 기능을 제공하지 않기 때문이다.) (2021-04-05 추가2: WAS는 사실, Web Server + Web Container(=Servlet Container) 이다.) 《 EJB : Enterprise JavaBeans, 자바로 서버 측 비지니스 로직을 작성하기 위한 서버측 컴포넌트 모델 .. 카카오 로그인 API (Vue, Spring) 시행착오 카카오 로그인을 구현하면서 실패 경험 및 계획을 적으려고 한다.다른 방법이 있는건지 아예 없는건지 모르겠지만..........이틀을 내리 찾아봐도 하던 방법을 이어나가기엔 답이 없어 다른 방법으로 바꾸려고 한다. KAKAO LOGIN API는 다음과 같은 과정을 거친다. 난 이 모든 과정을 백엔드에서 REST API를 이용하여 처리하려 했다.왜냐하면, REST API를 처리하는 것이 백엔드가 더 깔끔하다고 생각했기 때문이다..... 그렇게 해서 Access Token도 카카오서버에서 받아오고, 그것을 이용해 User Info까지 받아오는데 성공하였다. 하지만, 회원가입을 내 서비스에서 따로 구현할 예정이었기 때문에 회원가입페이지로 넘어가야 했는데 이 유저정보들을 프론트단에 넘겨보낼 수가 없다는 문제가 발.. 백준_20055_컨베이어벨트위의로봇 소요시간 : 총 70분 문제유형 : 시뮬레이션 어렵지 않은 구현이다. 다만 문제, 예제가 조금 불친절해서 로봇을 올리고 내릴 때, 파악을 잘 해야한다... 이 부분을 파악 하느라 시간이 많이 소모되었다. HINT) 로봇은 N의 위치(문제 상 N) 에 가면 벨트 아래로 내려간다. 따라서, 벨트가 그냥 회전할 경우인 1번 // 로봇이 혼자 이동하는 경우인 2번에서 사건이 두번 발생한다. => 각각의 경우에 ..일단, 로봇을 다 움직이고 내리게끔 코드를 짜면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public clas.. 카카오 2019 겨울 인턴십_불량사용자_Java 문제풀이 1. go 메소드 (문자 비교과정) idx=0 즉, 단어 첫글자부터 서로 비교해갈 것이다. 여기서, 1. 제재ID가 "*"이 아님에도 유저ID와 글자가 다르면 즉시 비교과정을 중지한다. 2. 만약 "*"일 경우(비교하지않아도 되기에) 와 제재 ID와 유저ID 동일 위치의 글자가 같다면, idx를 하나 증가시키고 다음 위치의 글자를 비교하는 과정을 실행한다. 3. 만약 idx값이 글자 끝에 다다랐음에도 1번 조건문에 걸리지 않는다면, 제재대상인 ID이므로, flag변수를 false로 지정하고 비교과정을 끝낸다. public static void go(String ban, String user) { if (idx == ban.length()) { flag = false; return; } else if (b.. 백준_11404_플로이드 (플로이드-워셜 알고리즘) for문 3개를 이용하여 푸는 그래프 관련 문제로 graph[시작][끝] = Math.min(graph[시작][끝], graph[시작][경유]+[경유][끝])이 핵심이다. 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 32 33 34 35 36 37 38 39 40 41 42 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class boj_11404_플로이드 { public static void main(Stri.. 이전 1 2 3 4 5 6 7 다음