본문 바로가기

전체 글85

데이터베이스 첫걸음 정리 - 6장. 검색 조건 지정하기 이번에는 검색에 조건을 주어 특정 데이터만 검색하는 방법에 대해 알아보겠습니다. 데이터 검색에는 열을 지정하는 방법과 행을 지정하는 방법이 있습니다. SELECT 열1, 열2 FROM 테이블명 WHERE 조건식 검색조건을 지정해야 하는 이유 일반적으로 데이터베이스에는 많은 데이터를 가지고 있습니다. 하지만 우리가 화면에 표시해서 확인할 수 있는 데이터의 양은 한정되어 있기 때문에 특정 조건을 만족하는 경우를 보고 싶은 경우 “검색”을 통해 이를 해결할 수 있습니다. SQL에서 행을 기준으로는 WHERE 절을 사용하여 검색하고 열을 기준으로는 SELECT 구를 사용하여 검색합니다. SELECT 구에서 열 지정하기 특정 열만 검색하기 위해서는 다음 명령을 사용하여 검색할 수 있습니다. SELECT 열1, 열.. 2022. 8. 26.
데이터베이스 첫걸음 정리 - 5장. 테이블 구조 참조하기 테이블은 한개이상의 열로 구성됩니다. SELECT를 사용할때 열에 대한 정보가 미리 있다면 SELECT 시 원하는 열만 데이터를 가져올 수 있습니다. 만약 테이블이 구조를 먼저 알고 싶다면 DESC 명령어를 통해 이를 알 수 있습니다. DESC 다음과 같이 명령어를 작성하면 테이블의 구조를 확인할 수 있습니다. DESC 표시된 내용은 다음과 같습니다. Field → 열 이름 Type → 자료형 여기서 괄호안의 숫자는 크기를 의미합니다 예를들어 varchar(50)인 author는 50자 이상의 문자가 들어갈 수 없습니다. Null → null 값 허용 여부 Key → 해당 열이 키로 지정되어 있는지를 나타냅니다. Default → 해당 열을 생략했을 때 기본으로 가지는 값 Extra → 해당 열에 지정된.. 2022. 8. 25.
무중단 배포 적용하기 이번에 프로젝트를 진행하면서 기능 구현이 빈번하게 일어나면서 사용중에 서버가 다운되는 현상이 자주 발생하였습니다. 이러한 사용중 불편함을 해소하고자 무중단 배포를 적용하여 사용 중에 서비스를 사용하지 못하는 상황을 막기 위해 도입하기로 결정했습니다. 무중단 배포란? 먼저, 무중단 배포 이전에 배포란 무엇일까요? 배포란 새로 개발된 코드를 패키징하여 서버에 새로운 버전의 애플리케이션을 실행시키는 행위를 의미합니다. 배포시에 새로운 버전의 애플리케이션을 실행하기 위해 기존에 존재하던 애플리케이션을 종료해야 하는데 이 과정에서 사용자에게 서비스가 되지 않는다면 사용자들은 불편함을 느끼게 될 것입니다. 이런 상황을 피하기 위해 서비스를 중단하지 않고 배포하는 행위인 무중단 배포를 하게 되었습니다. 무중단 배포는.. 2022. 8. 24.
데이터베이스 첫걸음 정리 - 4장. SQL 시작하기 SQL 명령어 입력해보기 다음 사이트는 간단하게 SQL 명령을 사용해볼 수 있는 사이트입니다. https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all 다음 사이트에 접속하여 다음 명령어를 입력해봅시다. SELECT * FROM customers; 다음 명령어를 입력하면 다음과 같은 결과를 얻을 수 있습니다. SELECT 명령구문 방금 실행한 SQL 명령은 SELECT 명령입니다. SELECT는 DML에 속하는 명령어로 SQL에서 자주 사용되며, 데이터베이스에 데이터를 읽어올 때 사용됩니다. SELECT 명령은 질의나 쿼리라고도 불립니다. SELECT * FROM customers; 위의 SQL 명령문이 의미하는 바는 다음과 같습니다. SE.. 2022. 8. 22.
데이터베이스 첫걸음 정리 - 3장 데이터베이스 서버 + 1 ~ 3장 정리 클라이언트/서버 모델 클라이언트/서버 모델이란 사용자 조작에 따라 요청을 전달하는 ‘클라이언트'와 해당 요청을 받아서 처리하는 ‘서버'로 소프트웨어를 나누고 복수의 컴퓨터 상에서 하나의 모델을 구현하는 시스템을 말합니다. RDBMS는 복수의 클라이언트가 보내오는 요청에 응답할 수 있도록 클라이언트/서버 모델로 동작합니다. 클라이언트/서버 처리 흐름 웹 시스템에서 클라이언트 기능을 하는 브라우저 사용자가 지정한 URL과 연결된 웹 서버에 요청을 보냅니다. 이 요청을 웹 용어로 Request(요청)라고 부릅니다. 클라이언트의 요청을 받은 웹 서버에서는 그에 맞게 처리하고 브라우저가 요청한 내용에 대해서 데이터를 반환합니다. 이런 서버의 응답을 Response(응답)라고 부르며 내용을 전달받은 브라우저는 해당.. 2022. 8. 20.
웹 사이트에 HTTPS 적용하기 여태까지 진행한 프로젝트들에서는 HTTP로만 통신을 진행했었는데 HTTP는 따로 설정을 해주지 않아도 사용할 수 있어 편하게 사용할 수 있지만 데이터를 평문으로 주고받기 때문에 애플리케이션이 보안에 취약한 상태가 됩니다. HTTPS를 사용하지 않고 HTTP를 사용할 경우 다음과 같은 보안 문제가 발생할 수 있습니다. Sniffing(스니핑) TCP/IP를 통해 통신하는 방식은 여러 경로(스위치, 라우터)를 거쳐서 전송되기 때문에 평문으로 전송하는 패킷은 중간에 도청이 가능해집니다. 해커가 위장하는 경우 확인할 방법이 없음 HTTP의 경우 요청을 보내는 상대가 누구인지 확인하는 처리를 하지 않습니다. 이는 누구든지 요청이 가능하다는 것을 의미합니다. HTTP만으로는 의미없는 요청을 수신하지 않는다거나 특정.. 2022. 8. 19.
Github actions + Jenkins를 통한 자동 배포 구현 AWS EC2에서 Docker로 Jenkins 실행 이전에 Github Actions를 이용해 CI를 구성했습니다. https://yongc.tistory.com/22 도커 허브에 올린 도커 이미지를 통해 자바 애플리케이션을 배포해봅시다. AWS EC2 인스턴스 생성하는 과정과 접속하는 과정은 생략하고 접속한 상태라고 과정하고 적겠습니다. 환경은 Ubuntu 18.04 에서 진행합니다 먼저 패키지 저장소를 최신으로 업데이트합니다. sudo apt-get -y update EC2에 도커를 설치합니다. sudo apt-get -y install docker.io EC2에서 docker 명령을 사용할때마다 root 권한을 이용하여 실행할 필요가 없도록 docker 그룹에 유저를 추가합니다. sudo userm.. 2022. 8. 14.
데이터베이스 첫걸음 정리 2장 - 다양한 데이터베이스 다양한 종류의 데이터베이스 데이터베이스는 사용 용도나 이를 제어하는 프로그래밍 환경 등 각각의 상황에 맞는 다양한 DBMS가 고안되었습니다. 데이터베이스 중에서도 SQL로 데이터를 다루는 관계형 데이터베이스가 주류를 이룹니다. 데이터베이스 종류 계층형 데이터베이스하지만 현재 DBMS로 채택되는 경우는 많지 않습니다. 가장 역사가 오래된 DBMS로, 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 데이터베이스입니다. 관계형 데이터베이스액셀 시트와 유사하며 관계형 데이터베이스는 표를 잔뜩 저장해두고 각각의 표에 이름을 붙여 관리하게 됩니다. 데이터베이스 안의 데이터는 SQL 명령어를 사용해 조작할 수 있습니다. 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스입니다. 객체지향 데이터베이.. 2022. 8. 4.