분류 전체보기

· 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)라는 가강 머신 형태로 제공하는 기..
· MySQL
MySQL의 트랜잭션과 잠금에 대해서 알아보자 트랜잭션이란? 트랜잭션의 완정송을 보장해주는 것이다. 즉 성공했을 때 COMMIT를 하고 실패했을떄는 ROLLBACK을 하는것이다. 기본적인 트랜잭션의 개념은 "트랜잭션이란" 포스팅을 참고해주세요 MySQL에서의 트랜잭션 기본적으로 위에서 설명한 대로, 트랜잭션은 논리적으로 성공할 경우(COMMIT) 또는 실패할 경우 이전 상태로 롤백(ROLLBACK)되는 것을 보장합니다. MySQL에서는 InnoDB와 MyISAM 엔진을 사용합니다. 두 엔진 간의 트랜잭션에 대한 차이를 먼저 살펴보겠습니다 create table tab_myisam (fdpk int NOT NULL, primary key(fdpk) ) engine=MyISAM; insert into tab..
[8] 스프링 데이터 JPA를 사용해 게시글 페이징 처리 들어가며 이전 포스팅까지 삭제하기 기능을 구현해 봤습니다. 이번 포스팅에서는 스피링 데이터 JPA를 사용해 페이징 처리를 해보겠습니다.(JPA를 활용했기 때문에 동적 쿼리를 사용하지 않습니다.) 사전 준비 게시글 삭제하기 [SpringBoot] 무작정 (REST API)CRUD 게시판을 만들어 보자 게시글 삭제하기 구현 [7] [7] 작성한 게시글 삭제하기 들어가며 이전 포스팅에서는 작성한 게시글을 수정하는 기능을 구현해봤습니다. 이번 포스팅에서는 작성한 게시글을 삭제하는 기능을 구현해볼것입니다. 사전 준비 back-stead.tistory.com 게시글 페이징 처리 페이징이란? 페이징은 대량의 데이터를 일정한 크기의 작은 덩어리로 나눠서 표시하는..
[7] 작성한 게시글 삭제하기 들어가며 이전 포스팅에서는 작성한 게시글을 수정하는 기능을 구현해봤습니다. 이번 포스팅에서는 작성한 게시글을 삭제하는 기능을 구현해볼것입니다. 사전 준비 게시글 수정하기 참고 [SpringBoot] 무작정 (REST API)CRUD 게시판을 만들어 보자 게시글 수정 구현 [6] [6] 작성한 게시글 수정하기 구현 들어가며 이전 포스팅에서는 조회수를 구현해봤다. 이번에는 작성한 게시글을 수정을 구현해볼 것입니다. 사전 준비 이전 포스팅 참고 [SpringBoot] 무작정 (REST API back-stead.tistory.com 삭제하기 구현 내용 삭제하는 기능은 로그인한 사용자중에 작성한 사용자많이 삭제를 이용할수 있도록 해보겠습니다. Service BoardServiceI..
[6] 작성한 게시글 수정하기 구현 들어가며 이전 포스팅에서는 조회수를 구현해봤다. 이번에는 작성한 게시글을 수정을 구현해볼 것입니다. 사전 준비 이전 포스팅 참고 [SpringBoot] 무작정 (REST API)CRUD 게시판을 만들어 보자 게시판의 글 정보 보여주기 및 조회수 구현 [5 [5] 글정보 보여주기 및 조회수 구현 들어가며 이전 포스팅에서 게시글을 작성하까지 구현해 봤다 이번 포스팅에서는 게시판의 게시글의 번호를 클릭 시 게시판의 글을 볼 수 있고 클릭시마다 back-stead.tistory.com 게시글 수정하기 구현 Entity Board.class public void update(String title, String content){ this.title=title; this.cont..
코드기록사
'분류 전체보기' 카테고리의 글 목록 (8 Page)