알고 있으면 도움되지 않을까,,?
[Diagrams] 클라우드 아키텍처 as Code
[Diagrams] 클라우드 아키텍처 as Code
2024.09.04IaC는 알겠는데, DaC는 뭐야? 모두들 아시다시피 IaC는 Infrastructure as Code의 약자로, 인프라를 코드로 관리하는 것을 말합니다. 이와 비슷하게 DaC는 Diagram as Code의 약자입니다. Diagrams라는 패키지를 사용하면 클라우드 시스템 아키텍처를 Python 코드로 그릴 수 있습니다. 기존에 draw.io / canva / figma 등의 툴로 아키텍처 다이어그램을 그려왔던 것처럼, 코드로 이를 대신할 수 있다는 것이 재밌는 것 같습니다.예상되는 DaC의 주요 장점은 아키텍처 다이어그램의 변경 사항을 버전 관리 시스템에서 추적할 수 있다는 것입니다. 이는 XaC 모두에 해당하는 장점일 것이라고 생각합니다. Diagrams는 AWS, Azure, GCP, Kubern..
[Script] 많은 .heic 사진 파일을 .jpg 로 모두 변경하기
[Script] 많은 .heic 사진 파일을 .jpg 로 모두 변경하기
2024.08.17맥(리눅스) 환경에서 작성한 글입니다. 이전에는 구글에 heic to jpg 와 같이 검색하면 뜨는 수많은 서비스 사이트들을 이용하여, 사진 확장자를 변경해 왔습니다.이번에 조금 많은 양의 이미지 파일들을 컨버트 해야 했었는데, 잘 사용하던 서비스들에 하나 같이 모두 사진 최대 갯수가 제한되어 있었습니다. 뭐.. 여러번에 끊어서 하면 되긴 하지만? 참을 수 없죠. 1. jpg 로 변환할 모든 .heic(.HEIC) 파일들을 하나의 디렉터리로 이동2. 쉘 스크립트 파일 생성vim convert.sh3. 아래의 스크립트 붙여넣기 / 저장 / 편집 종료#!/bin/bash# 대소문자를 구분하지 않는 패턴 매칭을 위해 shopt 사용shopt -s nocaseglob# 현재 디렉토리의 모든 .heic 또는 .H..
[AWS] 계정 생성일 확인하기(프리티어 만료 확인)
[AWS] 계정 생성일 확인하기(프리티어 만료 확인)
2024.08.17AWS Lambda 와 같은 서비스는 기간 제한 없이 프리티어가 제공됩니다. 하지만 EC2 와 같은 서비스들에 대해서는 계정 생성 후 1년까지만 이라는 기한이 정해져 있습니다.비용 청구를 최대한 막기 위해서 비용이 청구되기 시작하는 날, 즉 프리티어가 만료되는 날을 확인하기 위해서 그 방법을 검색해봤던 기억이 있습니다. 기존의 방법은 내 결제 대시보드 -> 청구서 기록으로 확인을 합니다.더 빠른 방법이 있어서 그 방법에 대해서 작성합니다. 빠르게 사용 중인 계정의 회원가입 일자를 알아볼 수 있습니다.
[Ubuntu] Welcome Message 바꾸기
[Ubuntu] Welcome Message 바꾸기
2023.09.19시작 우분투 환경에 접속하게 되면 위와 같은 시스템 메시지가 출력됩니다. 환영 문구와 시스템 정보, 업그레이드 관련 문구 등이 웰컴 메시지에 포함됩니다. Spring Boot 애플리케이션을 업 시켰을 때 터미널에 출력되는 ASCII Art 입니다. '우분투의 웰컴 메시지에도 이런 ASCII Art 를 추가할 수 없을까..?' 하는 생각에 찾아보고 이를 정리해보고자 합니다. Welcome Message는 어디에..? 어떻게..? 웰컴 메시지는 /etc/update-motd.d/ 경로에 위치합니다. 해당 디렉토리의 파일들은 위 사진과 같습니다.(환경에 따라 약간의 차이가 있을 수 있습니다) 00-header 파일을 살펴보면, 위 내용과 같습니다. Bash 파일이며 아래의 코드도 모두 Bash 문법에 맞게 작..
[Ubuntu] Windows 부팅 디스크 만들기(WoeUSB-ng)
[Ubuntu] Windows 부팅 디스크 만들기(WoeUSB-ng)
2023.09.18시작 윈도우 환경에서는 Windows USB DVD Download Tool, 혹은 RUFUS 를 사용해서 부팅 디스크를 만듭니다. 우분투 환경에서 기본적으로 제공되는 Startup Disk Creator 라는 툴이 있지만, 이를 사용해서는 윈도우 부팅 디스크를 만들 수 없습니다. 그 대안책이 WoeUSB 였습니다. https://github.com/WoeUSB/WoeUSB GitHub - WoeUSB/WoeUSB: A Microsoft Windows® USB installation media preparer for GNU+Linux A Microsoft Windows® USB installation media preparer for GNU+Linux - GitHub - WoeUSB/WoeUSB: A M..
[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 을 허용하는 룰을 추가하여 해결하였습니다. 다만.. 이는 매우 위험한 보안 설정이므로, 최소한의 화이트리스트만 설정..
JetBrains 는 학교 이메일 검증을 이렇게 한다
JetBrains 는 학교 이메일 검증을 이렇게 한다
2023.08.16학교 이메일로 회원가입을 하면, 교육 할인을 제공해주는 서비스들이 많습니다. 대표적으로 JetBrains 에서는 학교 이메일 인증을 한 계정을 대상으로 Free Educational Licences 를 제공합니다. JetBrains 는 수많은 학교 도메인들을 어떻게 검증할까? 에 대해서 궁금해졌습니다. 학교 도메인 검증을 위한 정규식을 쓰나..? 아니면 세계 각국의 교육청에서 학교 도메인과 관련한 API 를 제공하나..? 설마 모두 수기로 관리하지는 않겠지? 그 설마가 맞았습니다. JetBrains 는 깃허브에 .txt 파일로 모든 학교의 도메인을 관리하고 있습니다. 위 사진에서는 조선대학교, 충남대학교, 친숙한 42서울 등이 보입니다. 우리 학교는 어디있을까ㅏㅏ 찾았다.. 해당 깃허브 레포지토리는 아래..