본문 바로가기

전체 글

(730)
Java 리플렉션 이란? 자바 리플렉션? 반사? 이게 뭥미라는 사람들이 점차 많아진다. 사용방법은 아래와 같다 https://www.baeldung.com/java-reflection https://www.baeldung.com/reflections-library 1. 리플렉션 이란? 자바에서 제공하는 API 로써, 실제로 그 클래스 타입을 알지 못해도, 해당 해당 하는 타입의 메소드와 타입, 변수를 접근 할수 있게 해준다. 2.리플렉션을 왜씀? 자바는 정적언어라, 한계가 많은데 동적으로 필요한 부분을 지원해주기 위해서 해당 API를 제공해준다. 정적 언어: 컴파일 시점에 타입을 결정 ex) Java, C, C++ 등.. 동적 언어: 런타임 시점에 타입을 결정 ex) Javascript, Python, Ruby 등.. 애플리케이..
[Spring Security] 스프링 시큐리티 기초 1. 초기 request가 오면, applicationFilter가 받는다. 이후 DelegatingFilterProxyRegistrationBean라는 (Application FIlter에 있는 ) 녀석이 DelegatingFilterProxy를 빈으로 등록해준다. 해당 빈의 클래스로 등록이 되어있는, springSecurityFilterChain 이 녀석이 그 이후 필터로 동작을 하게 된다. 이 필터 체인은 여러가지의 객체를 리스트로 가지고있고, 해당 리스트의 아이템값을 돌면서 필터링한다. AuthenticationFilter 리스트 (위에서 아래 순서로 동작한다. WebAsyncManagerIntegrationFilter SpringSecurityContextHolder는 ThreadLocal기반(..
[Message Converter] 메시지 컨버터에 대해 알아보자 Message Converter는 XML이나 JSON을 이용한 AJAX 기능이나, 웹서비스 기능을 개발할때 주로 사용할수있다. HTTP 요청 메시지 본문과 HTTP 응답 메시지 본문을 통째로 메시지로 다루는 방식이다. 우선 Message Converter를 이해하기 위해서는, 사전 지식이 필요한 부분이있다. * JAXB - xml은 이제, 데이터를 표현하는 표준이다. Java object를 String 과 맞춰주는 Json파싱방법이 존재하는 것처럼 xml과 java Object를 파싱하는 기술 SAXparser와 Domparser들이 나왔다. 또한 해당 파서를 사용하면서 즉각 적으로 테스트가 가능하도록 하는 기술이 JAXB이며, Java Architecture for XML Bind 의 약자이다. * 언..
[Spring] Spring에서 사용하는 전체적인 어노테이션들 개념만 둥둥 떠있고, 정확하게 공부를 하지 않은, 어노테이션들에 대해서 공부를 하려고한다. 프로젝트를 진행하면서, 잠깐 쓰고 또 까먹고하는걸 확실히 익혀보자 @RequestMapping이나, @PostMapping같은거 말고, 잘 안쓰는것들에 대해서 한번 공부를 해보자 1. @RequestBody jsp나, view단에서, ajax로 통신한다고 가정해보자 객체 통신이라 무조건, Post방식을 사용해야한다. (Get으로도 할수있지만, 일일히 하나씩 set하는 개발자는 없을것이다.) Json.stringify는, json형태의 변수를 string 형으로 변환 시켜주는것이다. Json데이터를 string으로 Controller에다가 보내게되면, Controller에서는 이 String이 Json형식이라는 것을..
[Binary Search] 백준 - 10816 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 숫자 카드에 대한 풀이 이다. 이 문제는 기존의 이분탐색 문제와 조금 다른 부분이 있다. 기존에는 값의 범위나, 배열의 범위를 통해서 단일의 값이나 정답을 구하는 문제였지만, 이 문제의 경우에는 한 배열에서 해당과 같은 값의 수를 구하는 것이다. 배열의 탐색, 정렬에 대한 특성 중 하나를 기억 해두자 그것은 바로, 정렬된 배열에서는 자신의 값과 유사하거나 같은 값..
[Binary Search] 백준 1764번 풀이 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 단순히, 두개의 배열에 모두 속하는 교집합 원소들을 뽑는 과정이다. hashset을 사용하여, 중복처리에 대한 이슈를 회피해주고 최종 적으로 contains으로 값을 잡아가 주면된다.
[Binary Search] 백준 1920 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 이건 단순한 이분탐색이다.
[Binary Search] 백준 2110 풀이 https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 공유기 설치 문제이다. 이전에 풀었던 레슨 문제와 유사하다. 범위를 구하고 이분탐색을 하면 끝이다. 말하면, 각각의 리스트들을 합하듯이, 앞에서 뒤의 집을 빼주면서 체크를 하고, 이분탐색의 mid 값보다 크다면, cnt를 증가, 반복문이 다돌면, answer보다 큰지 작은지 체크해서, 답에 update해주면 된다.