전체 글

하루 한권 책으로 떠나는 개발여행
MySQL을 연동해 보자 그리고 Volume을 사용해 보자 들어가며 데이터베이스를 Docker 컨테이너에 올리고 워크벤치를 통해 원격으로 접속하는 방법에 대해 살펴보겠습니다. 또한 Docker의 지정된 볼륨과 호스트 컴퓨터의 볼륨을 만드는 방법도 함께 알아보겠습니다. MySQL 컨테이너 생성하기 원격으로 접속하기 위해서는 일단 도커 컨테이너에 MySQL컨테이너가 있어야 한다. 일단 우리는 도커파일을 통해서 MySQL을 컨테이너에 올려보자. mysql-volume : 호스트가 볼륨을 설정하는 디렉터리 이제 이미지를 도커에 올리기 위해서 도커파일을 작성해 보자 Dockerfile FROM mysql:8.0.33 ENV MYSQL_USER=blog ENV MYSQL_PASSWORD=a1234 ENV MYSQL..
설정파일을 직접 커스텀 해보자 들어가며 기존에 있던 nginx의 설정파일을 내가 원하는 설정으로 바꿔서 커스텀해보고 실행해보자. 기존 nginx 살펴보기 기존의 nginx를 실행하고 접속하면 이런 이런 페이지가 나온다. 나오지않는다면 오류가 난것이다. 없는 페이지에 접속하면 다음과 같이 기존 404 오류페이지를 보여준다. 실행중인 nginx컨테이너에 접속하고 /etc/nginx/conf.d 위치로 이동해보면 기본 설정 파일이 존재한다. html 파일 위치 이런 내용의 설정파일이 작성된것을 볼수있다. 이제 우리는 설정 파일을 수정해서 실행해보자. 설정파일 커스텀하기 현재 나의 파일구조 Dockerfile 작성 FROM nginx COPY webapp /usr/share/nginx/html COPY conf..
Docker 파일 작성하는 방법 들어가며 도커를 통해 배포를 실행하려면 도커 파일을 작성해 이미지로 만들고 컨테이너에 올려야 하는 과정을 걷혀야 한다. 도커 파일을 작성에 우분투 OS에 Nginx 서버를 사용해 간단하게 사용해 보자 도커 파일이란? 도커파일은 도커 컨테이너 이미지를 만들기 위한 텍스트 파일입니다. 도커 파일은 도커 엔진에게 컨테이너가 어떻게 구성되어야 하는지 참고하는 파일이다. 도커파일에는 베이스 이미지의 선택, 필요한 패키지의 설치, 환경 변수의 설정 등의 작업등을 작성할 수 있다. 이 파일을 사용하면 동일한 환경을 가진 여러 개의 컨테이너를 쉽게 만들고 실행할 수 있습니다. 도커 파일 작성 방법 Dokcerfile FROM ubuntu RUN apt-get update RUN apt-..
· 오류관련
게시판을 만들고 나서 빌드를 했다. 하지만 서공은 했지만 경고 메시지가 했다. 내용을 살펴보면 @Builder will ignore the initializing expression entirely: @Builder 어노테이션은 필드의 초기화 표현식을 완전히 무시한다는 내용 If you want the initializing expression to serve as default, add @Builder.Default: 기본 값으로 사용한다면 @Builder.Default를 사용하세요 If it is not supposed to be settable during building, make the field final: 만약 빌드 패턴으로 사용해 생성할때 변경되지 않아야한다면 final로 생성하세요 같은 ..
· MySQL
암호화에 대해서 알아보자 들어가며 데이터를 저장할 때 암호화를 하지 않으면 악의적인 공격자가 데이터를 빼내어 사용할 수 있는 위험이 있습니다. 이러한 상황에서 데이터를 안전하게 보호하기 위해서는 저장할 때 암호화를 통해 데이터를 안전하게 보호해야 합니다. 데이터를 암호화 함으로써 데이터가 유출되더라도 암호화된 상태로 노출되기 때문에 해독하는데 어려움이 생겨 안전하게 보호할 수 있습니다. MySQL 서버의 데이터 암호화 데이터 암호화는 데이터 파일을 읽고쓰는 InnoDb I/O 레이어에서 암호화 및 복호화 과정이 실행된다. 사용자는 암호화가 되어있는지 없는지 확일할 필요가없다. 암호화가 실행되어 있더라고 MySQL 내부와 사용자 입장에서는 아무런 차이가 없다. 이런 방식의 암호화를 TDE(Transpare..
· MySQL
MySQL에서의 데이터 압축 기술 들어가며 데이터베이스에서는 대량의 데이터가 저장되고 검색되기 때문에 효율적인 데이터 관리가 필수적입니다. 이에 따라 데이터 압축은 저장 공간을 절약하고 데이터베이스 성능을 향상하는 데 중요한 역할을 합니다. MySQL 서버에서는 페이지 압축과 테이블 압축 두가지의 방식이 존재합니다. 페이지 압축이란 페이지 압축이란 "Transparent Page Compression" 이라 불린다. MySQL 서버가 디스크에 저장하는 시점에 압축되며, 데이터를 읽어올 때 압축이 해제되는 형식이다. 즉 버퍼풀에 데이터 페이지가 적재되면 InnoDB스토리지 엔진은 압축이 해제된 상태로만 데이터를 관리한다. 그래서 MySQL 서버 내부 코드에서는 압축 여부와 관계없이 "투명(Transpare..
헬스체크와 디펜던시 체크로 신뢰성 확보하기 들어가며 컨테이너 기반의 애플리케이션을 배포가 증가함에 따라 애플리케이션의 신뢰성가 안정성이 중요하게 여겨야 합니다. 만약 오류가 났을 때 대처하지 못하고 계속 애플리케이션이 실행 중이라면 사용자는 서비스 이용에 대한 불편함을 초래해 떠나는 경우가 발생합니다. 그래서 헬스체크와 디펜더시 체크를 통해 신뢰성과 안전성을 확보해야 한다. 헬스체크란? 헬스체크란? 애플리케이션의 상태를 주기적으로 확인하여 상태를 알려주는 역할을 합니다. 예로 만약에 감기 걸린 사람이 있다고 해봅시다. 감기가 처음에 걸렸을 때 "괜찮아?"라고 물어보면 괜찮다고 할 것입니다. 하지만 감기가 심해젔을때 물어보면 "아니.. 안 괜찮아.."라고 답변하는 것과 비슷합니다. 실행되는 애플리케이션의 ..
· Devops/AWS
컴퓨팅 서비스란 컴퓨팅이란? "컴퓨팅(Computing)"은 정보를 처리하고 다루는 모든 활동을 말합니다. 주로 컴퓨터를 사용하여 데이터를 입력, 처리, 출력하는 과정을 포괄적으로 나타냅니다. 하드웨어 컴퓨팅 : 컴퓨터 시스템을 이주는 물리적인 부품들을 포함한다. 소프트웨어 컴퓨팅 : 컴퓨터에서 실행되는 프로그램과 소프트웨어 시스템을 포함 네트워크 컴퓨팅 : 컴퓨터나 기기들이 네트워크를 통해 서로 연결되어 정보를 교환하고 공유하는 것을 의미한다. AWS 컴퓨팅 서비스 AWS 컴퓨팅 서비스는 퍼블릭 클라우드에서 자원을 활용하여 다양한 워크로드를 수행할 수 있는 서비스이다. EC2(Elastic Compute Cloud) : 클라우드 환경에서 가상 인스턴스(Instance)라는 가강 머신 형태로 제공하는 기..
코드기록사
A steady developer