시니어까지의 여정
-
SAP 개발 언어(ABAP) 더보기 Advanced Business Application Programming(ABAP)은 SAP 패키지 개발을 위한 프로그래밍 언어로 한국어로 '아밥'이라고 부릅니다. SAP에서 제공하는 기본적인 패키지 이외에 필요한 패키지는 직접 Customizing 하여 ABAP 언어를 통해 개발해야 하는데, 이렇게 자체 개발한 패키지를 CBO(Customer Bolt On) 프로그램이라고 부릅니다. SAP ERP 모듈 구성 더보기 회계 관련 모듈 1) 재무회계(Finance, FI) 수익, 비용, 자산, 부채, 자본 기표 업무 (외부이해관계자(채권자, 주주)를 위한 재무제표를 작성) 2) 관리회계(Controlling, CO) 내부회계 역할로써 표준원가 계산, 원가 차이 분석, 수..
SD모듈의 기능 및 문서의 흐름SAP 개발 언어(ABAP) 더보기 Advanced Business Application Programming(ABAP)은 SAP 패키지 개발을 위한 프로그래밍 언어로 한국어로 '아밥'이라고 부릅니다. SAP에서 제공하는 기본적인 패키지 이외에 필요한 패키지는 직접 Customizing 하여 ABAP 언어를 통해 개발해야 하는데, 이렇게 자체 개발한 패키지를 CBO(Customer Bolt On) 프로그램이라고 부릅니다. SAP ERP 모듈 구성 더보기 회계 관련 모듈 1) 재무회계(Finance, FI) 수익, 비용, 자산, 부채, 자본 기표 업무 (외부이해관계자(채권자, 주주)를 위한 재무제표를 작성) 2) 관리회계(Controlling, CO) 내부회계 역할로써 표준원가 계산, 원가 차이 분석, 수..
2023.12.22 -
https://velog.io/@choidongkuen/Spring-Security-SecurityConfig-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%9D%98-permitAll-%EC%9D%B4-%EC%A0%81%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EC%95%98%EB%8D%98-%EC%9D%B4%EC%9C%A0 [Spring Security] - SecurityConfig 클래스의 permitAll() 이 적용되지 않았던 이유 안녕하세요 이번 포스팅에서는 Better 팀의 Iter 프로젝트 에서 진행했던 Spring Security 을 이용한 회원 인증/인가 시스템에서 제가 겪었던 문제점과 새롭게 알게된 점을 주제로 작성하고자합니다 velog.io "We..
[Spring Security] - JwtAuthenticationFilter으로 커스텀 필터를 적용 후 SecurityConfig 클래스의 permitAll() 이 적용되지 않았던 이유https://velog.io/@choidongkuen/Spring-Security-SecurityConfig-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%9D%98-permitAll-%EC%9D%B4-%EC%A0%81%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EC%95%98%EB%8D%98-%EC%9D%B4%EC%9C%A0 [Spring Security] - SecurityConfig 클래스의 permitAll() 이 적용되지 않았던 이유 안녕하세요 이번 포스팅에서는 Better 팀의 Iter 프로젝트 에서 진행했던 Spring Security 을 이용한 회원 인증/인가 시스템에서 제가 겪었던 문제점과 새롭게 알게된 점을 주제로 작성하고자합니다 velog.io "We..
2023.12.11 -
💡 쿠키와 세션 세션 기반 & 토큰 기반 자격 증명 HTTP 프로토콜은 무상태성(Stateless)으로 인해 클라이언트의 Request에 대한 서버의 Response를 수신하게 되면 연결을 끊는 비연결성(Connectionless)의 특징을 가진다. 클라이언트가 로그인 인증을 위해 요청을 보내더라도 무상태성때문에 로그인의 상태가 유지되지 않는다. 이러한 단점을 보안하기 위해 쿠키와 세션을 사용한다고 학습했다. 세션 기반 자격 증명 세션은 클라이언트의 Request에 자동으로 서버에 전달되는 쿠키에 세션 Id가 담겨 전달되는 방식으로 사용되지만 브라우저에 저장되는 쿠키와는 달리 서버에서 관리된다. 이 말은 인증된 사용자의 정보를 서버의 세션 저장소에서 관리하고 클라이언트에겐 해당 사용자를 구분할세션 Id만..
[Spring Security] Session와 Token(Access Token & Refresh Token)💡 쿠키와 세션 세션 기반 & 토큰 기반 자격 증명 HTTP 프로토콜은 무상태성(Stateless)으로 인해 클라이언트의 Request에 대한 서버의 Response를 수신하게 되면 연결을 끊는 비연결성(Connectionless)의 특징을 가진다. 클라이언트가 로그인 인증을 위해 요청을 보내더라도 무상태성때문에 로그인의 상태가 유지되지 않는다. 이러한 단점을 보안하기 위해 쿠키와 세션을 사용한다고 학습했다. 세션 기반 자격 증명 세션은 클라이언트의 Request에 자동으로 서버에 전달되는 쿠키에 세션 Id가 담겨 전달되는 방식으로 사용되지만 브라우저에 저장되는 쿠키와는 달리 서버에서 관리된다. 이 말은 인증된 사용자의 정보를 서버의 세션 저장소에서 관리하고 클라이언트에겐 해당 사용자를 구분할세션 Id만..
2023.12.10 -
String.replaceAll('From','to') - 대상 문자열 모두를 원하는 문자 값으로 변환하는 함수 ^ 문자열의 시작 $ 문자열의 종료 . 임의의 한 문자(필수입력, 문자의 종류 가리지 않음) 단, \ 는 넣을 수 없음 * 앞 문자가 없을 수도 무한정 많을 수도 있음 + 앞 문자가 하나 이상 ? 앞 문자가 없거나 하나있음 [] 문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타낸다. {} 횟수 또는 범위를 나타낸다. () 소괄호 안의 문자를 하나의 문자로 인식 | 패턴 안에서 or 연산을 수행할 때 사용 \s 공백 문자 \S 공백 문자가 아닌 나머지 문자 \w 알파벳이나 숫자 \W 알파벳이나 숫자를 제외한 문자 \d 숫자 [0-9]와 동일 \D 숫자를 제외한 모든 문자 \..
[JAVA] 정규 표현식(replaceAll)String.replaceAll('From','to') - 대상 문자열 모두를 원하는 문자 값으로 변환하는 함수 ^ 문자열의 시작 $ 문자열의 종료 . 임의의 한 문자(필수입력, 문자의 종류 가리지 않음) 단, \ 는 넣을 수 없음 * 앞 문자가 없을 수도 무한정 많을 수도 있음 + 앞 문자가 하나 이상 ? 앞 문자가 없거나 하나있음 [] 문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타낸다. {} 횟수 또는 범위를 나타낸다. () 소괄호 안의 문자를 하나의 문자로 인식 | 패턴 안에서 or 연산을 수행할 때 사용 \s 공백 문자 \S 공백 문자가 아닌 나머지 문자 \w 알파벳이나 숫자 \W 알파벳이나 숫자를 제외한 문자 \d 숫자 [0-9]와 동일 \D 숫자를 제외한 모든 문자 \..
2023.12.09 -
https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.i..
백준 알고리즘 11660번https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.i..
2023.12.08 -
오늘은 Scanner 그리고 split 대신 BufferedReader, StringTokenizer을 사용하는 이유를 살펴보려고 합니다. Scanner vs BufferedReader 자바의 입력 class에서는 대표적으로 Scanner 을 많이 봤을 것입니다. 결론적으로 Scanner 보다 BufferedReader을 사용하면 속도가 빨라집니다. 문자열에 최적화된 BufferedReader에 비해 Scanner는 다양한 기능을 지원해서 무겁기 때문입니다. 같은 문제를 풀었을 때, Scanner와 BufferedReader를 사용했을 때의 처리속도차이 BufferedReader를 사용했을 시, 거의 절반까지 (ex. 112MS -> 92MS)로 처리속도 단축되는 것이 확인이 됩니다. 출처 : https..
[Java] 입출력, BufferedReader, StringTokenizer을 사용하는 이유오늘은 Scanner 그리고 split 대신 BufferedReader, StringTokenizer을 사용하는 이유를 살펴보려고 합니다. Scanner vs BufferedReader 자바의 입력 class에서는 대표적으로 Scanner 을 많이 봤을 것입니다. 결론적으로 Scanner 보다 BufferedReader을 사용하면 속도가 빨라집니다. 문자열에 최적화된 BufferedReader에 비해 Scanner는 다양한 기능을 지원해서 무겁기 때문입니다. 같은 문제를 풀었을 때, Scanner와 BufferedReader를 사용했을 때의 처리속도차이 BufferedReader를 사용했을 시, 거의 절반까지 (ex. 112MS -> 92MS)로 처리속도 단축되는 것이 확인이 됩니다. 출처 : https..
2023.12.08