전체 글
[Setting] alias 를 파일로 관리하기
[Setting] alias 를 파일로 관리하기
2023.09.10들어가며 alias 는 없어서는 안되는 기능 중 하나입니다. git clone 과 같이 긴 명령어를 gcl 로 alias 해서 사용할 수 있도록 도와주기 때문입니다. 잘만 사용한다면 효율人이 될 수 있죠. alias 을 설정하는 방법으로는 (제가 아는 선에서) 크게 2가지 방법이 있습니다. 첫번째는 아래 명령어와 같이 터미널에 하나하나 추가하는 방법입니다. 지금까지 저는 이 방법으로 alias 를 설정해왔습니다. alias gcl="git clone" 이 방법의 단점으로는 하나하나 설정해야 한다는 점과, 재부팅을 하고나면 초기화 되어버린다는 점이 있습니다. 저는 총 214 개의 alias 를 설정하고 사용합니다. 이를 첫번째 방식을 사용하여 설정한다면, 설정하는 데에도 적지 않은 시간이 걸리며,, 만약 ..
[ngrok] 배포없이 로컬 서비스 인터넷으로 공개하기
[ngrok] 배포없이 로컬 서비스 인터넷으로 공개하기
2023.09.07ngrok 이란? ngrok 은 로컬 환경에 있는 서비스나 애플리케이션을 인터넷에 공개할 수 있도록 도와주는 서비스입니다. 대부분 로컬 환경에 있는 서비스를 외부에서 접속하도록 하려면, 방화벽을 여는 등의 방법을 사용합니다. 쉽지 않죠.. 이를 쉽게 하기 위해서 ngrok 은 NAT 나 방화벽을 우회하여 인터넷으로부터 로컬 서비스에 접속할 수 있도록 하는 터널링 서비스를 제공합니다. 토이 프로젝트를 진행할 때, '로컬에서 실행한 서비스를 팀원들도 접속할 수 있도록 하고 싶은디.. 서버에 올려야되나ㅠㅠ' 하는 고민을 했던 경험이 있습니다. 그때는 화면 공유를 해서 직접 보여주거나, 서버에 올리는 방법 밖에 생각을 못했었는데, 이 고민을 ngrok 이 해결해줄 수 있습니다. 무료 버전과 유료 버전이 있으며,..
[Ubuntu] Notion 설치하기
[Ubuntu] Notion 설치하기
2023.09.07그냥 깔면 되지! 공부한 내용을 정리할 때 노션을 주로 사용합니다. 최근에 데스크탑 OS 를 윈도우에서 우분투로 바꾸면서, 노션을 재설치 해야했습니다. 그런데,, 노션은 리눅스 앱을 만들어주지 않았군요..? 허허 심지어 2017년에는 노션의 트위터(X) 계정에 아래와 같은 트윗도 올라왔네요 그래도 깔아야지! 앞으로 5년 간은 리눅스 앱을 만들어주지 않을거 같으니, 다른 방법을 찾아보도록 하겠습니다. 다행히도, 리눅스 환경에서 노션 앱을 필요로 하는 사람들이 있었고 이를 해결해놨습니다. Lotion https://github.com/puneetsl/lotion GitHub - puneetsl/lotion: Unofficial Notion.so app for Linux Unofficial Notion.so ..
[Error] The IP address configured for the host-only network is not within the allowed ranges. Please update the address used to be within the allowed ranges and run the command again.
[Error] The IP address configured for the host-only network is not within the allowed ranges. Please update the address used to be within the allowed ranges and run the command again.
2023.08.30Env: Ubuntu 22.04 vagrant up 명령어를 쳤을 때 뜨는 에러입니다. 맥이나 리눅스 환경에서 사용할 수 있는 Private Network Address 범위에 맞지 않게 VagrantFile 에 작성되어 있어서 발생하는 에러입니다. 이를 해결하는 방법으로는 여러가지가 있습니다. 주소 바꾸기 가장 간단한 방법으로는 VagrantFile 에 명시한 주소 값을 허용된 범위 내의 주소로 바꿔주는 것입니다. 저의 VagrantFile 은 아래와 같이 작성되어 있습니다. Vagrant.configure("2") do |config| config.vm.define HOST_NAME do |subconfig| subconfig.vm.box = BOX_IMAGE subconfig.vm.hostname ..
서버의 mysql, jupyter notebook 에 접속해보자
서버의 mysql, jupyter notebook 에 접속해보자
2023.08.29이 글은 데이터베이스 수업에서 학교에서 제공되는 서버에 학생들 각각의 User 를 만들고, 이를 x2go client 라는 오픈소스 원격 데스크탑 소프트웨어를 이용해 접속하여 CentOS 의 GUI 를 사용하는 방식으로 진행되었습니다. 원격 데스크탑 소프트웨어인 만큼 가볍지 않고, 소프트웨어 자체의 사용법도 쉽지 않은 방법이여서 어려움이 많았습니다. GUI 를 굳이 사용하지 않아도 CLI 로 충분히 수업을 따라갈 수 있을 것 같아서 이에 대한 해결방법을 정리합니다. 필요/주의사항 우선, Mac 환경입니다. SSH 를 사용하는 방법이다보니, 운영체제가 크게 상관이 없습니다. 다만 터미널에서 ssh 명령어를 사용하는데 윈도우는 이를 사용하기 위해 필요한 사전 작업이 있는 것으로 알고 있습니다. 이 사전 작업..
[모두를 위한 클라우드 컴퓨팅 Chapter 9] condor_status 오류
[모두를 위한 클라우드 컴퓨팅 Chapter 9] condor_status 오류
2023.08.28모두를 위한 클라우드 컴퓨팅 에서 Slave 이미지를 만드는 중에 HTCondor 클러스터에 정상적으로 조인이 되었는지를 확인할 때 condor_status 라는 명령어를 사용합니다. 슬레이브 EC2 에서 이 명령어를 입력했을 때 무반응 혹은 아래 사진과 같은 에러 메시지가 뜰 수 있습니다. 마스터 EC2 과의 통신이 제대로 이루어지지 않고 있다는 오류 메시지입니다. 이 오류는 EC2 의 보안 그룹 때문에 발생할 수 있습니다. 마스터 EC2 와 슬레이브 EC2 에 할당되어 있는 보안그룹의 Inbound Rules 을 편집해줘야 합니다. 저는 0.0.0.0/0 으로부터의 All Traffic 을 허용하는 룰을 추가하여 해결하였습니다. 다만.. 이는 매우 위험한 보안 설정이므로, 최소한의 화이트리스트만 설정..
[IaC] HashiCorp Terraform Associate 003 합격 후기
[IaC] HashiCorp Terraform Associate 003 합격 후기
2023.08.19Credly 뱃지는 48시간 이내로 발급된다고 합니다. 뱃지 나오면 글을 작성하려고 했는데, 기억이 가장 생생할 때 글을 작성하고자 합니다. Badge 가 발급되었습니다. 꺄아아아ㅏㄱ 암튼 받았습니다. 해냈습니다. 시험 끝난지 24시간 안에 도착했네요! 이 자격증을 준비한 이유 지금까지 클라우드 컴퓨팅과 관련해서 여러가지 공부를 하고 있습니다. HTC, 가상화, 컨테이너, CI/CD, AWS, GCP 등등.. 여러가지 클라우드 플랫폼을 사용해보며, 멀티 플랫폼에 걸쳐있는 인프라 관리의 필요성을 느꼈고, 그 해결책으로 찾아낸 것이 IaC 였습니다. IaC 중 대표적인 친구인 Terraform 은 굉장히 매력적으로 느껴졌습니다. 콘솔에 직접 들어가서 하나하나 만들던 것을, HCL 이라는 기깔나는 친구로 한 ..
JetBrains 는 학교 이메일 검증을 이렇게 한다
JetBrains 는 학교 이메일 검증을 이렇게 한다
2023.08.16학교 이메일로 회원가입을 하면, 교육 할인을 제공해주는 서비스들이 많습니다. 대표적으로 JetBrains 에서는 학교 이메일 인증을 한 계정을 대상으로 Free Educational Licences 를 제공합니다. JetBrains 는 수많은 학교 도메인들을 어떻게 검증할까? 에 대해서 궁금해졌습니다. 학교 도메인 검증을 위한 정규식을 쓰나..? 아니면 세계 각국의 교육청에서 학교 도메인과 관련한 API 를 제공하나..? 설마 모두 수기로 관리하지는 않겠지? 그 설마가 맞았습니다. JetBrains 는 깃허브에 .txt 파일로 모든 학교의 도메인을 관리하고 있습니다. 위 사진에서는 조선대학교, 충남대학교, 친숙한 42서울 등이 보입니다. 우리 학교는 어디있을까ㅏㅏ 찾았다.. 해당 깃허브 레포지토리는 아래..
[Terraform] 추가, 삭제된걸 너가 어떻게 알아?
[Terraform] 추가, 삭제된걸 너가 어떻게 알아?
2023.08.10이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[CDN] 동적 데이터가 많은 서비스에서 CDN 을 사용하는 이유가 도대체 뭘까..?
[CDN] 동적 데이터가 많은 서비스에서 CDN 을 사용하는 이유가 도대체 뭘까..?
2023.08.04에 대해서 갑자기 궁금해졌습니다. 흔히들 알고있는 CDN 사용에 있어서의 이점은 이미지 파일이나, JS, CSS 등과 같이 변경되지 않은 정적인 컨텐츠를 캐싱하여, 사용자의 요청이 들어왔을 때 오리진 서버에서 응답하기보다 캐시 서버에서 응답함으로써 오리진 서버의 과부하를 막고 더 빠른 속도로 응답할 수 있다는 점입니다. 그런데.. 사용자 요청이나 데이터의 정보를 기반으로 즉석에서 생성되는 동적 컨텐츠의 경우에는, 이를 캐싱하더라도 Cache Hit Ratio가 높지 않아서 CDN 을 굳이 사용할 필요가 있을까 생각했습니다. 생각이 짧았군여.. 일반적으로 캐시 서버는 지역적으로 분산되어 있습니다. 그 이유는 사용자가 어떠한 요청을 했을 때, 가장 인접한 캐시 서버로부터 컨텐츠를 전달받아 원활한 서비스를 받..
[ssh] -i 옵션
[ssh] -i 옵션
2023.08.02chmod 700 caputdraconis.pem ssh -i caputdraconis.pem user@host AWS EC2 에 ssh 로 접속하기 위해서 -i 옵션으로 .pem 키를 명시해주며 사용합니다. 위와 같은 명령어를 입력하는 머슬 메모리와 함께 말이죠..! 그런데 이렇게 너무 당연하게 사용하는 -i 옵션이 뭐일까.. 에 대해서 갑자기 궁금해졌습니다. 파일을 명시해주니 -f 와 같은 이름일 것 같았는데 말이죠. 여기서 i 는 identity 의 i 였습니다. ssh 접속 과정 중에 필요한 RSA 인증을 위한 비밀 키를 읽어 올 아이덴티티 파일을 선택한다는 의미입니다. 아이덴티티 파일이 바로 .pem 키였던거죠..! 흐헣
[Linux] tcpdump
[Linux] tcpdump
2023.07.31tcpdump 란? 네트워크 패킷을 수집하거나 분석할 때 사용할 수 있는 명령어입니다. 대부분의 유닉스 계열에서 NIC 를 통해 송수신 되는 패킷을 가로채고 표시해주는 명령어(소프트웨어) 입니다. tcpdump 를 통해 호스트와 서버 사이에 이루어지는 통신을 들여다보며, 어떤 패킷이 어떻게 이동하는지를 확인할 수 있습니다. tcpdump 를 입력하면, 현재 호스트가 전송하거나 수신하는 패킷을 엄청난 속도로 파바바박 보여줍니다. 이는 트러블슈팅을 위해서 해석하기 힘들다는 문제점이 있습니다. 그러면 어떡해..? tcpdump 를 의미있고 보기 쉽게 사용할 수 있는 옵션들을 사용하면 됩니다. nn 옵션 프로토콜과 포트 번호, 그리고 아이피 주소 등을 숫자 그대로 표현하도록 하는 옵션입니다. 위에서 확인했던 t..