분류 전체보기

· CS
인증(Authentication) vs 인가(Authorization)보통 '권한'이라고 불리는 것 중에는 인증(Authentication), 인가(Authorization) 두 가지 단어가 존재합니다. 언뜻 보면 서로 비슷한 개념 같기도 해서 차이점이 모호해 보이기도 합니다. 그러나, 인증과 인가는 완전히 다른 개념입니다. 결론을 먼저 말하면 인증은 장치 혹은 사용자를 식별하는 행위이고 인가는 장치 및 사용자의 접근 권한을 허용/거부하는 행위입니다.  인증(Authentication)포털 사이트를 보면 어떠한 작업을 하고자 할 때 '로그인이 필요합니다' 문구와 함께 로그인 인증이 요구된다면 이는 인증(Authentication)이 필요한 상황입니다. 서버 입장에서는 현재 요청자가 회원인지 알 수 없습니..
사이드 프로젝트를 진행하면서 Spring Security를 설정 중 Controller의 로그인 페이지가 무한 리다이렉션 오류를 발생시켰습니다. 처음 겪었던 문제이기에 원인을 찾는데 많은 삽질을 한 것 같습니다. Spring Boot가 3.x로 올라가면서 Spring Security도 함께 바뀌었고 이전 방식과 조금 달라진 감이 있습니다. 저는 Spring Security 6.1 버전을 사용하였습니다. Spring Security 설정은 다음과 같습니다.@Beanprotected SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .httpBasic(AbstractHttpConfigurer::dis..
· Java
for loop vs stream forEach Java8부터 Stream의 도입으로 기존의 코드를 보다 깔끔하고 가독성이 좋은 코드로 바꿀 수 있게 되었습니다. Stream은 컬렉션 등의 요소를 하나씩 참조해 함수형 인터페이스(람다식)를 통해 반복적인 작업의 처리를 가능하게 해 줍니다. 반복적인 처리가 가능하므로, 반복문(for-loop 등)을 대신해 Stream을 사용하는 경우가 많습니다. // for-loop for (int i = 0; i < items.size(); i++) { System.out.println(items.get(i)); } // 향상된 for-Each for (Iteam item : items) System.out.println(item); } // stream.forEach(..
https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방..
사이드 프로젝트를 진행하면서 Spring Security 6을 적용하며 만났던 문제들을 적은 내용입니다. WebSecurityConfigurerAdapter Deprecated @RequiredArgsConstructor @Configuration @EnableWebSecurity public class config extends WebSecurityConfigurerAdapter { ... } 이전에는 Spring Security의 기본 설정을 위해 WebSecurityConfigurerAdapter 추상 클래스를 상속하여 configure 메서드를 오버라이드하여 설정했습니다. 그러나 Spring Security 5.7.0-M2부터는 WebSecurityConfigurerAdapter가 deprecat..
스프링 프레임워크(Spring framework) 스프링(Spring)이란? 한마디로 정의하면 "엔터프라이즈용 Java 애플리케이션 개발을 편하게 해주는 오픈 소스 경량급 애플리케이션 프레임워크"라고 할 수 있다. 주로 기업에서 동적인 웹 서비스를 운영하기 위해 사용된다. 스프링이 등장하기 이전 Java 애플리케이션애플리케이션 개발을 EJB(Enterprise Java Bean)가 담당하였다. 비즈니스 로직을 구현하기 위해 기술 자체에 대한 선수 지식이 필요했으며 구현하는 기술 자체가 복잡하고 어려웠었다. 그러나, 스프링이 탄생함으로써 이러한 문제를 해결하였고 개발 초기 기본적인 설정과 적용시킬 기술들만 잘 선택한다면 기술보다 애플리케이션 로직 자체에 집중하며 비즈니스 로직을 구현할 수 있게 된다. 오픈..
· ETC
사건 발단마음에 드는 티스토리 스킨을 찾던 중 hELLO 스킨을 알게 되어 적용하고, 추가로 코드 블럭도 커스텀 하고 싶은 욕심이 생겨 찾아보다 mac 코드 스타일을 만드신 둉이님이 코드 블럭을 감사하게 무료로 배포해 주셔서 같이 적용하려고 하였다. 그러나 문제가 발생하였다. hELLO 스킨과 mac 코드 스타일을 적용하고 싶다면 아래 블로그를 참조하면 된다. hELLO 티스토리 스킨을 소개합니다.hELLO 스킨은 초기에 기능이 많이 없었다가, 티스토리 블로거 여러분의 호응에 힘입어 기능의 추가와 함께 업데이트를 여러 번 하게 되었습니다. hELLO 1.0 때와 비교하면 비교할 수도 없을 만큼의pronist.tistory.com [티스토리 블로그 테마] - 1. 코드 블록 디자인을 mac 코드 스타일로 ..
· ETC
import java.util.Arrays; import java.util.Scanner; public class Main { public static int[] solution(int[] arr1, int[] arr2) { int[] result = new int[arr1.length + arr2.length]; int idx = 0, p1 = 0, p2 = 0; while (p1 arr2[p2]) { result[idx++] = arr2[p2++]; } else { result[idx++] = arr1[p1++]; } } while (p1 < arr1.length) { result[idx++] = arr1[p..
Hui._.
'분류 전체보기' 카테고리의 글 목록 (7 Page)