전체 글
[AWS] 개인 URL Shortener 만들기
[AWS] 개인 URL Shortener 만들기
2024.04.22갑자기 URL Shortener 는 왜..? 이번 학기에 수강하는 수업은 거의 모두 개인 발표로만 이루어지는 방식이였습니다. Canva 로 제작한 발표 PPT 를 사용해, 빔 프로젝터에 연결된 다른 컴퓨터에서 발표해야 하는 상황이 자주 생겼는데, 이때 Canva 의 아주 긴 공개 보기 링크를 옮기기는 쉽지 않습니다. 그래서 주로 bit.ly 와 같은 URL 단축 서비스들을 사용했는데, 나만의 URL Shortener 서비스가 있으면 어떨까? 해서 만들어봤습니다. 구현 방식 원본 URL 을 특정 키와 매핑하여 특정 키에 대한 요청이 들어왔을 때, 원본 URL 로 리다이렉션 시키는 방식으로 구현했습니다. 이를 위해 2개의 Lambda Function, 키와 원본 URL 을 저장하기 위한 DynamoDB, 그..
[AWS] Windows 개발 환경에서 Serverless Framework 오류 (Runtime.ImportModuleError)
[AWS] Windows 개발 환경에서 Serverless Framework 오류 (Runtime.ImportModuleError)
2024.03.10이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
[AWS] 봇진성 개발 & AWS Rookie Championship 참여 후기
[AWS] 봇진성 개발 & AWS Rookie Championship 참여 후기
2023.12.31봇진성 개발을 시작하게 된 계기 2023 2학기 새롭게 개설된 클라우드 컴퓨팅 수업에 TA 로 참여하였습니다. 마지막 주차에 진행되는 팀별 프로젝트 발표에서 수강생 분들이 긴장하셔서 준비한 것을 다 보여주지 못하실까봐,, 긴장을 풀어드릴 수 있는 재밌는 프로젝트를 준비해보자! 해서 시작한 프로젝트가 봇진성 입니다.(그 누구보다 긴장해서 벌벌벌 떨면서 발표한건 비밀입니다.) 슬랙 워크스페이스의 기술 QnA 채널에 올라오는 대부분의 글은 IAM 사용자 권한 요청 글입니다. 제공 받은 IAM 사용자 계정은 S3, Lambda 와 같은 가장 많이 사용되는 서비스들에 대한 권한만 부여된 상태이며, 다른 서비스에 권한이 필요할 때는 위 사진과 같이 권한 요청 글을 올려 부여 받아야 합니다. 이때, 권한 요청 글을 ..
[MySQL] ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
[MySQL] ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
2023.10.08sql 파일을 Source 하는 과정에서 발생한 오류입니다. mysql> source ~/Downloads/db_create.sql 이 오류는 MySQL 에 로드할 수 있는 파일은 지정된 디렉터리에 위치하여야 하기 때문에 발생합니다. 지정된 디렉터리는 my.cnf 혹은 my.ini 에 작성됩니다. 해당 파일의 위치를 찾기 위해서 아래의 명령어를 터미널에 입력합니다. mysqld --verbose --help | grep -A 1 'Default options' 결과값으로 위 캡처본과 같이 출력됩니다. 저의 경우 4가지 파일이 나왔습니다. mysql 은 위 4가지 파일을 순서대로 스캔하면서 가장 먼저 있는 파일을 기준으로 설정하게 됩니다. 저의 경우에는 세번째 파일인 /opt/homebrew/etc/my...
[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..
[MySQL] localhost 와 127.0.0.1 의 차이
[MySQL] localhost 와 127.0.0.1 의 차이
2023.09.17우리는 로컬 환경의 MySQL 을 사용할 때, 아래의 명령어들을 사용합니다. # localhost mysql -uroot -p --host=localhost --socket=/tmp/mysql.sock # 127.0.0.1 mysql -uroot -p --host=127.0.0.1 --port=3306 # 내부적으로 localhost 방식과 똑같이 작동합니다. mysql -uroot -p 127.0.0.1 을 사용할 때와 localhost 를 사용할 때, 큰 차이가 없을 것이다 라고 생각하며 사용해왔었습니다. 이번에 책 Real MySQL 8.0 으로 공부를 하면서 이 둘에 차이가 있다는 것을 알게되어 이와 관련해서 글을 작성합니다. localhost mysql -uroot -p --host=localh..
[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 명령어를 사용하는데 윈도우는 이를 사용하기 위해 필요한 사전 작업이 있는 것으로 알고 있습니다. 이 사전 작업..