Oracle 12c 데이터베이스 02 - 중복 제거, 논리 연산자, 정렬, 함수

💡 본 글은 ‘실습과 함께하는! 데이터베이스 Oracle 12c’ 강의 내용을 바탕으로 정리하였습니다. 쿼리 결과 중복 제거 DISTINCT 연산자 SELECT 문 결과값에서 특정 컬럼만 출력할 때 중복 값을 제거해서 표시하는 기능 (문법) SELECT DISTINCT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 조건절; 논리 연산자 AND, OR, NOT SELECT 문 WHERE 조건절에서 사용할 수 있는 연산자 (문법) SELECT * FROM 테이블명 WHERE (NOT) 조건1 AND/OR (NOT) 조건2...; (예시) SELECT * FROM emp W...

더보기

Oracle 12c 데이터베이스 01 - 기초 지식, 실습 환경 구축

💡 본 글은 ‘실습과 함께하는! 데이터베이스 Oracle 12c’ 강의 내용을 바탕으로 정리하였습니다. DBMS 기초 DBMS란? 데이터베이스를 관리하는 시스템 데이터베이스란? 테이블이 모여 이루는 데이터 단위 데이터 CRUD하는 시스템 대부분 시스템은 R(검색) > CUD(삽입, 수정, 삭제), 인덱싱과 소팅 등을 사용해 빠른 검색 가능 정렬 빠른 검색을 위해서는 데이터가 반드시 정렬되어 있어야 함 퀵정렬 / 힙정렬 계열이 주로 사용됨 인덱스 이진검색 O(logN) 데이터를 CUD 할 때마다 한 가운데/왼쪽 가운데/ 오른쪽 가운데 값을 미리 ...

더보기

Spring Boot + Thymeleaf template + Mailjet 메일 전송(feat. noreply 계정)

Spring에서 메일을 보낸다고 하면 JavaMailSender 클래스로 보내는 방법이 가장 많이 나옵니다. 저 역시 개발 과정에서는 저의 구글 계정 설정을 변경하여 메일 전송을 테스트했습니다. 하지만 운영 환경에서도 제 계정으로 보낼 수는 없습니다. 우선, 보내는 계정이 noreply@company.com였으면 하고, 한꺼번에 다량을 메일을 보낼 수 있어야 하기 때문입니다. 그래서 오늘은 Mailjet으로 메일을 전송하는 방법을 찾아 적용했습니다. 사전 작업: Mailjet에서 계정 생성 왜 Mailjet을 선택했는가? 저희 회사는 Google Cloud Platform의 VM 인스턴스, 그리고 쿠버네티스를 ...

더보기

Spring Boot + Netty TCP 소켓 서버 (3) SSL 적용한 에코 서버 구현

지난 글에서는 스프링에 네티를 적용한 기본 에코 서버를 구현해보았습니다. 이제 이 프로젝트에 SSL 인증서를 적용하여 클라이언트와 통신할 수 있도록 구현해보겠습니다. 큰 구조는 지난 글의 코드를 따르며, 본 글에서는 추가되는 부분만 다루겠습니다. 사전 작업: SSL 인증서 발급 및 추가 서버에 인증서 적용 무료 인증서 발급 SSL 인증을 적용하려면 SSL 인증서를 발급 받아야 합니다. 운영 환경에서는 공인된 기관에서 발급 받은 유료 인증서를 사용해야 하지만, 본 글에서는 테스트를 위해 90일 무료로 사용할 수 있는 인증서를 사용하겠습니다. 💡 무료 인증서는 ZeroSSL 사이트에서 발급 받았습니다. UI가 ...

더보기

Spring Boot + Netty TCP 소켓 서버 (2) 기본 에코 서버 구현

프로젝트 생성하기 업무에서 구현한 서버는 gradle 멀티 프로젝트로 구현되어 있습니다. 그리고 네티 소켓 서버는 하위 프로젝트 중 하나입니다. 본 글에서는 단일 프로젝트로 생성하는 방법으로 작성하겠습니다. 스프링 프레임워크에 네티를 적용하는 전체 구조는 만티스쿠바님의 깃허브를 참고했습니다. 그 안에서 동작하는 네트의 구성 요소는 Netty 공식 홈페이지를 참고했습니다. 본 서버는 TCP 기반의 서버로, 스트림 기반(stream-base) 송수신입니다. 스트림 기반에서는 데이터가 소켓 내 receive buffer에 쌓입니다. 그리고 이 데이터는 패킷 단위로 쌓이지 않고, 바이트 배열로 쌓입니다. 즉, 클라이...

더보기