TO_DATE 함수는 Oracle에서 문자열을 날짜 객체로 변환하는 데 사용됩니다. 날짜 형식 지정 YYYY: 4자리 연도 (예: 2023) MM: 2자리 월 (예: 01~12) DD: 2자리 일 (예: 01~31) HH24: 24시간 형식의 시간 (예: 00~23) MI: 분 (예: 00~59) SS: 초 (예: 00~59) 기본 문법 SELECT TO_DATE('2023-12-15', 'YYYY-MM-DD') FROM DUAL; 위 코드는 '2023-12-15'라는 문자열을 2023년 12월 15일로 변환합니다. 시간 포함 예제 SELECT TO_DATE('2023-12-15 08:30:00', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL; '2023-12-15 08:30:00' 문..
CASE 문은 Oracle PL/SQL에서 다양한 조건에 따라 다른 동작을 수행할 수 있게 해주는 유용한 도구입니다. 기본문법 CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 ... ELSE 기본결과 END; 예제 : 보너스 계산기 DECLARE employee_grade NUMBER := 3; bonus_amount NUMBER; BEGIN bonus_amount := CASE employee_grade WHEN 1 THEN 1000 WHEN 2 THEN 1500 WHEN 3 THEN 2000 ELSE 500 END; DBMS_OUTPUT.PUT_LINE('보너스: ' || bonus_amount); END;
IF-ELSIF-ELSE 구문은 Oracle PL/SQL에서 조건에 따라 다른 코드 블록을 실행할 수 있게 해줍니다. IF 조건1 THEN -- 조건1이 참일 때 실행될 코드 ELSIF 조건2 THEN -- 조건2가 참일 때 실행될 코드 ELSE -- 모든 조건이 거짓일 때 실행될 코드 END IF; 예제: 할인율 계산 DECLARE purchase_amount NUMBER := 150; discount_rate NUMBER; BEGIN IF purchase_amount > 200 THEN discount_rate := 0.15; -- 15% 할인 ELSIF purchase_amount > 100 THEN discount_rate := 0.10; -- 10% 할인 ELSE discount_rate := ..
TO_NUMBER 함수 TO_NUMBER(string, format) string: 숫자로 변환하려는 문자열입니다. format: 선택적으로 사용할 수 있는 숫자 형식을 나타내는 문자열입니다. 예를 들어, 문자열 '123.45'를 숫자로 변환하려면 다음과 같이 사용할 수 있습니다. SELECT TO_NUMBER('123.45') FROM DUAL; 출력은 123.45의 숫자 형식이 될 것입니다. 또한, TO_NUMBER 함수의 두 번째 매개변수를 사용하여 원하는 숫자 형식을 지정할 수 있습니다. 예를 들어, '123,45'와 같은 문자열을 숫자로 변환하려면 다음과 같이 사용할 수 있습니다. SELECT TO_NUMBER('123,45', '999.99', 'NLS_NUMERIC_CHARACTERS='',..
프리티어로 사용 할 수 있는 소프트웨어 들을 정리한 사이트 Docker Related Font IDE and Code Editing 등등 다양한 정보가 있다. https://free-for.dev Free for Developers Developers and Open Source authors now have a massive amount of services offering free tiers, but it can be hard to find them all to make informed decisions. free-for.dev
ROUND 함수 ROUND 함수는 숫자를 반올림하는 데 사용됩니다. 기본적으로 소수점 첫째 자리에서 반올림을 수행하며, 두 번째 인수를 사용하여 반올림할 자릿수를 지정할 수 있습니다. 예시: ROUND(123.456, 2)는 123.46을 반환합니다. CEIL 함수 CEIL 함수는 주어진 숫자를 무조건 올림합니다. 소수점 아래의 값이 있으면 다음 정수로 반올림합니다. 예시: CEIL(123.456)는 124를 반환합니다. FLOOR 함수 FLOOR 함수는 주어진 숫자를 무조건 내립니다. 소수점 아래의 값이 있으면 이전 정수로 내립니다. 예시: FLOOR(123.456)는 123을 반환합니다. TRUNC 함수 TRUNC 함수는 숫자를 소수점 이하로 자르거나 반올림하지 않고 그냥 버립니다. 예시: TRUNC..
코드리뷰의 목적(이점) 지식을 공유 책임을 공유 코드 구조 개선 위와 같은 이점을 가지고 있지만, 코드 리뷰는 단지 하나의 도구에 불과하다는 점을 잊지말아야 한다. 만약 위와 같은 이점을 지니면서도 더 나은 방법이 있다면 도구를 교체해야 한다. Mob Programming Mob Programming 이란 모든 팀 멤버들이 한 스크린 앞에서 같은 시간에 코드를 작성하는 것을 의미한다. 한 세션에 한 사람이 운전수가 되어, 타입하고 클릭하는 역할을 맡는다. 방향자(navigator)는 주의를 기울이며 3 분 정도 코드의 방향성에 대해 지시한다.(목적 정의 및 코드의 방향 제시) 팀의 다른 사람들은 주의를 기울이며 이를 주의깊게 살피고 방향자가 제대로된 방향으로 지시하는지를 함께 살펴본다. 방향자를 3분 마..
마이크로서비스(MSA) 아키텍처 란? MSA 아키텍처는 하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 형태를 말한다. 작은 레고 블록(microservice) 하나 하나를 붙여 어떠한 큰 결과물을 만드는 레고 놀이를 생각하면 이해하기 쉽다. 마이크로 서비스의 특징 각각의 서비스는 그 크기가 작을 뿐, 서비스 자체는 하나의 모놀리식 아키텍처와 유사한 구조를 갖는다. 각각의 서비스는 독립적으로 배포가 가능해야 한다. 각각의 서비스는 다른 서비스에 대한 의존성이 작아야 한다. 각 서비스는 개별 프로세스로 구동되며, REST API와 같은 가벼운 방식으로 통신되어야 함. 마이크로서비스(MSA) 아키텍처 장점 배포 관점 서비스 별 개별 배포가 가능하다. (배포 시 ..
모놀리식 아키텍처 (Monolithic Architecture) 란? 모놀리식 아키텍처는 마이크로서비스(MSA) 아키텍처에 반대되는 개념으로, 애플리케이션의 모든 구성 요소가 한 프로젝트에 통합되어 있는 형태를 말한다. 모놀리식 아키텍처 (Monolithic Architecture) 장점 개발 초기에 단순한 아키텍처 구조로 인해 개발에 용이하다. 어떤 서비스든지 개발되어 있는 환경이 같아서 복잡하지 않다. 배포가 간단하다. 확장성이 쉽다. 로드밸런스를 이용하여 로드 부하를 나눠 가지는 방식으로 진행한다. 쉽게 고가용성 서버 환경을 만들 수 있다. End-to-End 테스트가 용이하다. 모놀리식 아키텍처 (Monolithic Architecture) 단점 프로젝트의 규모가 커짐에 따라 애플리케이션 구동 시..
기본 문법 SELECT COUNT('컬럼명') FROM 테이블 명 COUNT() 함수 사용 예시 SELECT COUNT(*) --전체 ROW 수 , COUNT(USER_NAME) -- USER_NAME 수 COUNT FROM USER
Protected Banch란? 어떤 브랜치를 어떤 행위에 대해서 보호하기 위한 조치이다. 예를 들어 우리의 소중한 마스터 브랜치는 언제나 잘 작동하는 올바른 코드가 올라가야 할 것이다. 이 원칙을 지키기 위해 마스터 브랜치에는 항상 올바른 커밋 혹은 머지가 되어야 할 것이다. 우리는 이러한 브랜치를 보호하기 위해서 브랜치들에 대해 protection rule들을 설정 해 줄 수 있다. pull을 받으려고 하는 경우 permission 에러 발생 처음 GitLab에서 프로젝트를 생성하면 master brach는 디폴트로 proteced 상태이다. 대개 프로젝트 생성후 초기에 브랜치 보호를 해제하지 않고 멤버가 master branch를 pull 또는 push 하려는 경우 발생한다. 에러 발생 원인 먼저 ..
Spring은 @Autowired 어노테이션을 이용한 다양한 의존성 주입(DI; Dependency Injection) 방법을 제공한다. 의존성 주입을 해야 하는 이유 Test가 용이해진다. 코드의 재사용성을 높여준다. 객체 간의 의존성(종속성)을 줄이거나 없앨 수 있다. 객체 간의 결합도를 낮추면서 유연한 코드를 작성할 수 있다. 의존성 주입의 3가지 방법 생성자 주입(Constructor Injection) 필드 주입(Field Injection) 수정자 주입(Setter Injection) Spring Framwork reference에서 권장하는 방법은 생성자를 통한 주입 이다. 생성자 주입을 권장하는 이유 순환 참조를 방지할 수 있다. 불변성(Immutability) 테스트에 용이하다. 참고자료..