![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cr79vi/btrIdwQuAuU/QSerz5IZBqasCtbAWsXSkk/img.webp)
Password 관련 설정 파일 1. /etc/passwd - 계정의 정보를 담는 파일로 7개의 필드를 가지며 두 번째 필드에 encryped password가 있다. - 해당 파일의 필드에 대한 자세한 설명은 링크를 참고하자. - encryped password가 x로 되어 있으면 실제 encryped password는 /etc/shadow에 저장되어 있다는 의미이다. 2. /etc/shadow - 암호화된 password 정보와 password aging에 대한 상세정보가 담긴 파일이다. - 총 8개의 필드를 포함한다. [필드 설명] field1) login name field2) encryped password field3) date of last password change field4) mini..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/zTXHB/btrIcIcQq0B/PzKgKCnSxjGfaFq9zT0CZK/img.webp)
User/Group Administration User와 Group에 관련된 Database File들 1. '계정' 관련 파일 1) /etc/passwd 파일 - 시스템의 모든 계정에 대한 정보를 담고 있는 설정 파일 - 총 7가지의 필드로 구분된다. 플디 구분자는 콜론( : )이다. 예시) 위에서 passwd 파일을 보이는 것과 같이 : 을 기준으로 7가지 필드가 존재한다. user이름은 중복될 수 없다. 7가지 필드 설명 field1) login name field2) encryped password (보통 x라고 되어있고 /etc/shadow 파일에 보면 암호화된 형식으로 볼 수 있다) field3) User Id (root는 0번, 1~999까지는 시스템 계정이 사용하는 유저, 1000~6000..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cdDfRK/btrIin5O360/1fqTfhoLOe3o9reLNUxqlk/img.webp)
사전적 의미 - Archiving: 파일로 보관, 보존, 백업 (Archive: 보관소) - Compression: 압축 리눅스에서 Archiving이란 '원본의 속성을 그대로 보존하면서' 여러 개의 파일(디렉토리)를 묶어서 보존(백업)하는 것을 의미한다. Compression은 큰 사이즈의 파일을 작은 사이즈로 압축하는 것을 의미한다. 왜 하는가? - 여러 개의 파일들을 묶은 뒤(Archiving) 하나로 압축하여 다른 곳으로 전송하거나 보관하기 위함이다. - 보통 하나의 디렉토리와 그 하위 디렉토리를 함께 묶을 때 사용한다. 또는 묶어 보존할 때 사용한다. Archiving, Compression 종류 [Archiving util] - tar, cpio [Compression util] - gzip,..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ya0Do/btrHZ7X6B52/DxI6RmC2TkfTAO3dmOWpl0/img.jpg)
Static Analysis vs Dynamic Analysis 정적분석과 동적분석은 모두 코드의 취약점을 발견하는데 목표를 두고 있다. 두 분석의 차이점은 분석기가 개발 주기에서 어느 시점에 수행되느냐에 있다. 동적분석은 애플리케이션의 실행 이후 시점에 수행되고 정적분석은 애플리케이션의 실행 이전 시점에 수행된다. 동적분석의 경우 애플리케이션을 실행시켜 애플리케이션 내 결함 및 취약점 분석, 메모리 및 쓰레드 결함 등을 분석할 수 있다. 이와 반대로 정적분석은 애플리케이션을 실행하지 않고 코드의 취약점을 분석하는데 목적이 있다. 정적분석과 동적분석의 목적에 대한 차이는 다음과 같다. - 정적분석: 개발 중 하면 안 될 것을 했는지 검사 - 동적분석: 개발 중 하려고 한 것을 잘했는지 검사 대표적인 분석..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bEkjZe/btrILeafVbO/tt2zHkMl3kXr4Os5ATMCb1/img.png)
Github Actions Github Actions는 Microsoft에서 Github을 인수한 뒤 출시된 CI 솔루션이다. Github과 연동하여 PR 이벤트뿐만 아니라 다양한 이벤트에 trigger 될 수 있는 다양한 작업을 정의할 수 있다. 또한 다양한 action들이 마켓플레이스에 공개되어 있어서 쉽게 workflow를 작성할 수 있다는 점과 CI 서버를 따로 설치하지 않고도 Github에서 제공하는 클라우드 호스팅을 통해 빠르게 CI파이프라인을 구축할 수 있다는 장점이 있다. 이번 포스팅에서는 Github Actions에 대해 넓고 얕게 핵심 개념과 기본 사용법에 대해 작성했다. Github Actions 주요 개념 5개 Github Actions을 사용하기 전에 알아야 할 주요 키워드는 총 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dt3WUJ/btrOUK7QWvf/7JXfMkJzQ8os1AYVVdxKh1/img.png)
윈도우에서 프로그램 설치 절차 1. 홈페이지 접속 후 설치 파일 또는 실행 파일 다운로드 2. 설치 파일(실행 파일) 실행 후 설치 - 프로그램이 하드디스크에 특정 위치에 복사 - 윈도우 시작 프로그램에 등록 - 해당 프로그램이 사용할 네트워크 포트 설정(방화벽 open 등) - OS 시작 시 자동으로 시작되도록 설정 - 필요한 환경변수 설정 우분투(wget)에서 프로그램 설치 절차 1) 홈페이지 접속 후 실행파일 다운로드 (wget) 2) tar 아카이브 해제 또는 압축파일 해제 3) .deb 확장자 파일 설치 (설치 명령어 필요) 4) 필요한 환경변수 설정 우분투에서는 이러한 설치 파일을 wget으로 다운로드할 수도 있지만 우분투 repository라는 저장소를 제공하기도 한다. 대부분의 프로그램이 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/DMISE/btrH76ruWJf/TOhpUdkNCk4WDjQ33KYqp0/img.png)
트랜잭션의 특징 : ACID - Atomicity(원자성) : All Or Nothing - Consistency(일관성) : 일관성 있는 DB 상태를 유지해야 함(정해진 DB컬럼에 대한 일관성, 제약조건에 대한 일관성 등) - Isolation(격리성) : 트랜잭션 간 얼마나 영향을 주고받냐를 설명함(4가지 격리수준 참고) - Durability(지속성) : 트랜잭션 결과는 항상 DB에 기록되어야 하며 문제가 발생하더라도 복구할 수 있어야 함 트랜잭션은 위 4가지 성질을 모두 만족해야 한다. 하지만 Isolation의 경우 완벽한 격리를 하게 될 경우 트랜잭션들 간에 완전히 순차적으로 실행되어야 하기 때문에 성능상 이슈가 발생할 수 있다. 따라서 Isolation의 경우는 4가지 수준으로 구분하며 "얼..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bC9OoV/btrH9HdXQCL/NWNRbx0ing71lKhj2qUkek/img.png)
애플리케이션에서 데이터베이스와 커넥션을 생성하는 과정 1) 애플리케이션 로직은 DB 드라이버(어떤 DB를 사용할 것이냐에 따라 다름)를 통해 커넥션을 조회한다. 2) DB 드라이버는 DB와 TCP/IP 커넥션을 맺는다. (3-way handshake 발생) 3) TCP/IP 커넥션이 완료되면 DB 접속을 위한 ID 및 Password 등과 같은 정보를 DB에 전달한다. 4) DB는 사용자 인증을 완료하면 DB 내부적으로 세션을 만든다. 5) DB는 커넥션 생성이 완료되었다는 응답을 보낸다. 6) DB 드라이버는 애플리케이션 로직으로 커넥션 객체를 반환한다. 단점 - 커넥션을 생성하는 것은 복잡하고 시간도 오래 소요되는 과정이다. - 시간이 오래 걸리기 때문에 사용자에게 느린 응답을 보일 수밖에 없다. -..
- Total
- Today
- Yesterday
- 쿠버네티스
- 컨트롤러
- db
- container
- jvm
- LFCS
- kafka
- helm
- 카프카
- K8s
- Linux
- docker
- 우분투
- rolling update
- GitOps
- Controller
- Non-Blocking
- ci/cd
- 코틀린
- CICD
- argocd
- spring
- RDB
- go
- Java
- github actions
- Stream
- golang
- ubuntu
- Kubernetes
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |