전체 글200 [Java] 프로그래머스 [Level-2] 요격 시스템 import java.util.Arrays; public class Solution { // 요격 시스템 public static int solution(int[][] targets) { int answer = 0; // 개구간 (s, e)로 표현되는 폭격 미사일을 s와 e에서 발사하는 요격 미사일로는 요격할 수 없기 때문에 각각의 원소에 10을 곱한 후 // 첫 번째 원소에서는 +1을, 두 번째 원소에서는 -1을 하여 폐구간 [r, f]을 만든 후 [Java] 프로그래머스 [Level-3] 단속카메라 문제처럼 풀도록 한다. int[][] tempTargets = new int[targets.length][targets[0].length]; for (int i = 0; i < targets.length;.. 2023. 9. 6. [SQL] Function, Procedure, Trigger, View, Package, Index, Synonyms, Cursor Function : 매개변수를 받아 특정 계산(작업)을 수행하고 결과를 반환하는 기능 Procedure : 특정 작업을 위한 쿼리들의 블록(함수와 거의 비슷) 장점 : 1. 하나의 요청으로 여러 SQL문을 실행(네트워크 부하를 줄일 수 있음) 2. 네트워크 소요 시간을 줄여 성능 개선 3. 여러 어플리케이션과 공유 가능(API처럼 제공 가능) 4. 기능 변경이 편함 단점 : 1. 문자나 숫자열 연산에 사용하면 오히려 C, Java보다 느린 성능을 보일 수 있음 2. 유지보수가 어려움(프로시져가 앱의 어디에 사용되는지 확인 어려움) Trigger : 사전적 뜻은 총의 방아쇠로 총의 방아쇠를 당기는 것과 같이 어떤 이벤트의 자동 실행 View : 하나 이상의 테이블에서 원하는 모든 데이터를 선택하여 간단하게.. 2023. 8. 31. [Framework] Spring Security Bcrypt 암호화의 salt 값은 어디에 저장되는가? Spring Security의 Bcrypt 암호화를 사용해 만든 비밀번호를 유저 테이블에 저장할 때 입력한 비밀번호에 랜덤한 salt 값이 더해져 암호화되는 것을 알 수 있다. (같은 비밀번호로 변경해도 저정되는 값이 다르기 때문) 그렇다면 입력한 비밀번호 외에 암호화에 사용된 salt 값이 어떤 값인지, 그 값은 어디에 저장되는지 알아야 한다. 하지만 Bcrypt 암호화의 salt 값은 따로 저장되는 게 아닌 해시값에 이어붙여 함께 저장되기 때문에 따로 salt 값 저장이 필요하지 않다. $2a$10$Yz4die0hPMjS3.6njaxmmOyrwArwsC9NEs5kwOI0Gh04uLjHaON2e 위와 같은 형태로 해시값을 생성하는데 이는 '$'로 구분되는 3가지의 필드라고 보면 된다. '2a'는 사용된.. 2023. 8. 31. [Template Engine] 개념 Template Engine : 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어로, 크게 서버 템플릿 엔진 과 클라이언트 템플릿 엔진으로 나뉜다. Template Engine의 장점 1. 코드 양 ↓ 2. 재사용성 ↑ 3. 유지보수에 용이 여러 서버 템플릿 엔진의 특징 JSP : Spring Boot에서 권장하지 않음 Velocity : Spring Boot에서 권장하지 않음 Freemarker : 템플릿 엔진으로서 기능이 너무 다양(숙련도 낮은 경우 비즈니스 로직이 추가됨) Thymeleaf : Spring에서 권장, 문법이 어려움 Mustache : 심플하고 서버, 클라이언트 모두 사용 가능 2023. 8. 16. [Java] Annotation Annotation이란? 사전적 의미로는 주석이라는 뜻이다. 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에게 추가적인 정보를 제공해 주는 메타데이터(meta data)라고 볼 수 있다.(meta data : 데이터를 위한 데이터) 다음은 어노테이션의 용도를 나타낸 것이다. 1. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다. 2. 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공한다. 3. 실행 시(런타임 시)특정 기능을 실행하도록 정보를 제공한다. 기본적으로 어노테이션을 사용하는 순서는 다음과 같다. 1. 어노테이션을 정의 2. 클래스에 어노테이션을 배치 3. 코드가 실행되는 .. 2023. 8. 15. [SQL] 프로시저(PROCEDURE) & 함수(FUNCTION) 프로시저(PROCEDURE) 조회 쿼리 SELECT * FROM USER_SOURCE WHERE TYPE = 'PROCEDURE' AND NAME = '프로시저명' 함수(FUNCTION) 조회 쿼리 SELECT * FROM USER_SOURCE WHERE TYPE = 'FUNCTION' AND NAME = '함수명' 프로시저와 함수의 차이 프로시저(PROCEDURE) : 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다. 함수(FUNCTION) : 위의 프로시저의 각 프로세스를 수행하기 위해 필요한 기능들을 함수라 한다. 프로시저(PROCEDURE) 함수(FUNCTION) 특정 작업을 수행 특정 계산을 수행 리턴 값을 가질 수도 안 가질 수도 있음 리턴 값을 반드시 가져야 함 리턴 값을 여러 개 가.. 2023. 7. 28. 이전 1 ··· 5 6 7 8 9 10 11 ··· 34 다음