본문 바로가기

프로그래밍/doodle

(5)
Bastion Host 란? Bastion Host 란 보안을 위해 고안된 Host로 외부 네트워크와 내부 네트워크 사이에서 일종의 게이트웨이 역할을 수행하는 호스트를 뜻한다. 특히 Private IP로만 접근이 허용된 서버를 외부에서 접속하고자 할 경우, Bastion Host를 경유하여 Private IP 서버에 접근하도록 설계되곤 한다. 이렇게 관리할 경우, Bastion Host에서 특정 IP로의 접근만 허용하거나, 통신 로그를 일괄적으로 관리할 수 있는 편리함이 보장된다. Bastion Host Best Practice 기본적으로, Bastion Host와 Private 인스턴스는 SSH 접근 인증에 개인 키를 사용한다. Bastion Host 에서 다른 인스턴스로 연결하는 경우에도 개인 키를 필요로 하는데, 여기에는 크게..
Mysql character set 과 collation 모든 데이터베이스 시스템은 텍스트 데이터를 어떻게 인코딩할 것인가를 결정해야한다. Mysql에서는 charater set이라는 속성값을 통해 이를 결정하는데, 다른 데이터베이스 시스템과는 다르게 mysql에서는 collaction이라는 속성도 존재한다. character set 위에서 말했듯이 characte set은 텍스트 데이터를 어떤 방식으로 인코딩하여 저장할 것인가를 결정하는 값이다. 한글 인코딩을 위해 가장 널리 사용되는 인코딩 방식으로는 UTF-8과 EUC-KR이 존재하지만 show character set; 명령어를 통해서 지원하는 인코딩 목록을 확인할 수 있다. # mysql 8.0.20 기준 +----------+---------------------------------+--------..
인코딩이란? (해당 포스트에서는 "문자 인코딩"에 국한하여 설명한다.) 문자, 동영상, 음악과 같은 사람이 현실에서 사용하는 데이터를 컴퓨터에 저장하기 위해서는 컴퓨터가 이해할 수 있는 데이터로 변환해야하는데 이 작업을 인코딩이라고 한다. 이런 인코딩을 위해서 탄생한 ASCII가 그 시초라고 할 수 있다. ASCII는 라틴 알파벳과 숫자, 특수 문자를 7비트 이진수로 대응한 인코딩 기법을 사용했는데, 이름에서도 알 수 있듯 ASCII는 미국 표준 문자코드 였기 때문에 라틴 알파벳을 제외한, 한중일 언어와 그 밖에 수많은 언어들에는 전혀 사용할 수 없는 명확한 한계가 있었다. 그래서 ASCII를 사용할 수 없는 산업이나 국가에서는 저마다의 고유한 인코딩 기법을 사용했으며 결국 다른 인코딩 기법을 사용하는 곳에서는 정보..
shell 의 개념 정의 shell이란 쉽게 말해서 운영체제와 사용자 사이를 연결해주는 유틸리티 프로그램이라고 볼 수 있다. 사용자가 명령어를 입력하면 그것을 기계어로 번역하여 운영체제의 커널로 전달해준다. 종류 sh - Bourne Shell 프롬프트 : $ 개발자 Steave Bourne의 이름을 딴 unix shell의 오리지널이다. 초기 버전인 만큼 모든 unix 계열 운영체제에서 사용할 수 있지만 미흡한 부분이 상당히 많다. 상호대화형 방식조차 지원되지 않는다. csh - C Shell 프롬프트: % 1978년 William Nelson Joy가 개발한 csh은 C언어를 전신으로 개발되어 sh 보다 쉽고 많은 기능을 제공한다. c언어와 비슷한 형식을 갖고 있으며 sh에 비해 처리속도는 느렸지만 접근성이 쉬워 많이 ..
Test Fixture 테스트 코드를 작성하다보면 fixture라는 용어를 자주 접하게 된다. Fixture는 어떤 아이템이나, 특정 대상을 일관된 환경 속에서 테스트하기 위해서 사용된다. 물론 이 fixture는 단순히 software 테스트에서만 사용되지 않는다. 전자기기, 물리장치 등 테스트가 필요한 영역이라면 어디든 fixture가 존재한다. fixture에서는 초기화에 필요한 코드나 metadata를 제공함으로써 테스트를 실행시키기 위해서 시스템을 설정한다. 그렇기에 어떤 전제조건이든 만족시킬수 있다. 예를 들어 특정 테스트 로직이 데이터베이스에 저장되어있는 데이터와 연결되어 있다면, 테스트 코드가 동작하기에 앞서 정해진 데이터로 데이터베이스를 초기화할 수 있다. 참고 https://en.wikipedia.org/wi..