목록전체 글 (282)
내 잡다한 노트
간단하게 적을 생각이다. 앤써블은 서버들에 공통적인 작업들을 할 때 유용하게 쓰일 수 있는 IaC 도구이다.예를 들어, 스크립트 배포라던가 패키지를 설치한다던가 crontab에 어떤 작업을 등록하고 싶다거나 하는 등의 작업을 공통적으로 하고 싶을 때 사용하면 된다. 써본 경험이 많진 않아 나도 어디까지 가능한 지는 잘 모르겠다 ㅎㅎ; 앤써블은 ssh를 통해 작업을 하기 때문에 서버의 계정에 ssh key 등록을 통해 접속이 가능하게끔 해줘야 한다. 그리고 서버 정보들(IP, Alias)에 대한 설정을 hosts.yaml에서 작성을 해야한다. 여기에서 서버들을 적어두어야한다.이때, 그룹별로 서버들을 지정해둘 수 있어 playbook을 실행할 때 등록된 모든 서버가 아닌 해당 그룹들에 속하는 서버들에만 실..
학교 프로그램으로 인턴십을 수행하는 중이다.인프라 관련 일을 하고 있고, 모니터링과 리눅스 서버 관리를 주로 하고 있는 중인데서버가 여러개다 보니 한번에 관리하는 방법을 찾고 있었고, 예전에 IaC (Infrastructure as Code) 의 도구 중 하나인Ansible를 사용하면 쉽게 관리할 수 있다는 글을 봤던 기억이 났다. 서버에 한꺼번에 만들어둔 스크립트 파일을 배포하는 일을 쉽게 하고 싶었는데 Ansible을 사용하면 지정해둔 서버에 한꺼번에 배포가 가능하다는 것을 알게되고 후딱 배워서 실행하니...와... 이걸 이제 알았다는게 아쉬울 정도였다 ㅎㅎ
인턴으로 일하고 있는 회사에서
CORS는 웹 페이지가 다른 도메인의 리소스에 접근할 수 있도록 하는 보안 메커니즘입니다. 기본적으로 웹브라우저는 같은 출처 정책(Same-Origin Policy)을 적용합니다. 이 정책은 한 출처에서 로드된 문서 또는 스크립트가 다른 출처의 리소스와 상호작용하는 것을 제한합니다. 여기서 출처는 도메인, 프로토콜, 포트를 포함합니다. ### CORS가 필요한 이유 Same-Origin policy는 보안을 위해 중요합니다. 예를 들어, 이 정책이 없다면 악의적인 웹사이트가 사용자가 로그인한 다른 사이트의 데이터를 읽을 수 있게 됩니다. 하지만, 현대의 웹 애플리케이션은 종종 여러 출처의 리소스를 통합해야하는 경우가 많습니다. 예를 들어, 다른 도메인의 API에서 데이터를 가져오거나, CDN에서 스크립트..
1. 변수, 클래스명에는 동사를 넣지 않는다. 2. 함수명에는 동사를 넣는다. 함수는 ~을 하는 행동이기 때문에. 3. 변수명에 굳이 관사를 넣지 않는다. 4. 변수명에 전치사는 최대한 생략한다. ex) the_number_of_worker -> worker_num 5. 단수와 복수를 구분한다. 6. 사용하는 언어의 암묵적인 룰을 지킨다. ex) 자바는 CamelCase를 주로 사용하고, c는 snake_case를 사용하고 python은 hybrid이다. lowerCamelCase는 phoneNumber 처럼 작성. 처음엔 소문자, 다음 단어 첫글자엔 대문자. UpperCamelCase는 모든 단어의 앞글자는 대문자로. snake_case는 모두 소문자이고 띄어쓰기 대신에 _ 로 표기한다. 7. 통상적으..
여러 분야에서 널리 쓰이는 개념이다. 데이터베이스나, 웹 쿼리 매개변수, 검색 쿼리 등등... 그렇지만 쿼리는 정보를 요청하고 검색하는 공통적인 목적을 가지고 있다고 생각하면 된다. 그 중에서 웹 쿼리 매개변수에 대해 글을 쓸 것이다. # 웹 쿼리 매개변수 웹 개발에서 URL의 일부로 전송되는 키-값 쌍을 의미한다. 이런 매개변수는 주로 웹페이지에 대한 어떤 정보를 요청하거나, 서버에 데이터를 전달하는 데 사용된다. 웹 쿼리 매개변수는 URL의 ? 문자 뒤에 위치하며, 각 쌍은 & 문자로 구분된다. http://example.com/page 라는 기본 URL 이 있고, http://example.com/page?키1=값&키2=값2 이렇게 ? 뒤에 오는 것이 쿼리 매개변수이다. fastapi의 docs 에..
윈도우 환경에서 install_pkg.sh 를 provision을 해야하는 상황이였다. 그런데 경로를 계속 찾을 수 없다고 뜨는 것이다. 구글링을 해보니 윈도우에 확장자가 숨겨져 있던 것... 그래서 내가 작성한 스크립트 파일이 사실은 install_pkg.sh.txt 였던 것이다. 보기 탭에서 숨겨진 확장자도 볼 수 있게 바꾼다음 확장자를 고치니 해결이 됐다.
버추얼박스 같은 가상화 소프트웨어에 등록시키는 os를 편하게 만드는 프로그램이다. 도커파일의 경우 도커 이미지를 빌드해서 작은 용량으로 편하게 컨테이너를 배포할 수 있다. Vagrant도 비슷한 개념으로, 가상화 OS를 vagrantfile로 만들어서 셋팅된 os를 편하게 배포할 수 있다. 이를 통해, 버추얼박스에 OS를 까는게 번거롭고 귀찮은 과정을 거치는데 편하게 설치할 수 있다. 어려운 말로하면, 베이그런트는 시스템 자원을 할당, 배치, 배포해두었다가 필요할 때 시스템을 사용할 수 있는 상태로 만들어주는데 이걸 provisioning이라고 한다. 자주쓰는 vagrant 명령어 vagrant init // 프로비저닝을 위한 기초 파일을 생성 vagrant up vagrant halt vagrant d..