💻
zsh 깔려있지 않은 패키지 안내 메세지 command-no-found
bash에서는 깔려있지 않는 패키지를 사용하려하면 아래와 같이 해당 커맨드를 찾을 수 없고 무엇을 인스톨하라는 안내메세지가 뜬다 그러나 zsh에서는 아래와 같이 not found 만 뜰 뿐 어떤 패키지를 설치해야하는지 알려주지 않는다.(필자는 우분투에서 oh-my-zsh를 사용중) 아래와 같은 방법으로 패키지 추천 메세지를 얻을 수 있다command-not-found 설치sudo apt install command-not-foundsudo apt updatesudo apt upgrade설정~/.zshrc 에서 plugins 부분에 command-not-found를 추가해주면 된다.vi ~/.zshrc plugins에 command-not-found 추가 source ~/zshrc 로 변경사항 저장
ChatGPT와 KAKAO karlo를 이용한 이미지생성
다른 사람들과 함께 음악을 만드는 플랫폼에 관한 프로젝트 진행 중 음악을 만드는 것에 그치지 않고 사용자를 위해 세상 단 하나뿐인 앨범커버를 만들주자라는 생각에서 Text To Image에 관한 내용을 다뤄보았다. 앨범커버 생성 아키텍처는 아래와 같다. 사용자가 자신이 만든 음악에 대한 제목, 내용, 장르를 입력하면 결과로 앨범커버가 생성된다. 먼저, KAKAO에서 제공하는 이미지생성 모델인 karlo를 이용하기 위해서는 아래와 같은 인풋이 필요하다. 이번 프로젝트에서는 사용자에게 한글로된 앨범 제목, 내용, 장르만을 인풋으로 받기 때문에 이를 이용해 앨범커버의 모양을 묘사하고 영어로 바꾸는 과정이 필요했고 이를 위해서 ChatGPT를 사용하기로했다. ChatGPT를 통한 문장(단어) 생성 아래와 같이 ..
CORS(x-csrf-token 헤더 허용)
프론트단에서 API 호출을 하는데 GET요청은 아무런 문제가 없으나 POST에서만 CORS에러가 발생하였다. 발생한 에러는 아래와 같다. cess to XMLHttpRequest at 'http://localhost:8080/api/v1/board' from origin 'http://localhost:3000' has been blocked by CORS policy: Request header field x-csrf-token is not allowed by Access-Control-Allow-Headers in preflight response. 글자그대로 x-csrf token 헤더를 허용하지 않아서 발생한 에러였다. 사용하는 서버에서 x-csrf를 허용해주면 해결된다. 난 스프링에서 Filte..
파이썬 도커 이미지 선택
파이썬 서버를 띄우기 위해 Alpine이미지를 선택했다가 어마무시한 속도에 경악해서 찾아본 내용들이다. 보통 이미지를 선탁할 때 가벼운 Alpine 리눅스 로커 이미지를 선택한다. (=> 다른 리눅스 배포판과 비교해 사이즈가 작음) 그러나 파이썬에서 `Alpine`을 선택하게 되면 무시무시한 속도에 경악을한다 PyPI(파이썬 패키지 인덱스, 파이썬 패키지 저장소)에 있는 파이썬 라이브러리들은 wheel포맷을 사용하나 Alpine 리눅스는 wheel을 지원하지 않는다. 따라서 소스코드(.tar.gz)를 내려 받아 컴파일을 하기 때문에 속도가 느리다 따라서 Apline 이미지를 사용하면 모든 python 패키지의 모든 C코드를 컴파일 해야한다 아래는 이미지 별 빌드 속도이다. 참고 및 출처 Using Alp..
우분투에 mysql 설치하기
도커와 마찬가지로 적어둔 메뉴얼이 박살나서 작성하는 설치 명령어 Update Server & install mysql $ sudo apt update $ sudo apt install mysql-server root 계정 접속 sudo mysql -u root -p Create ID CREATE USER 'ID'@'host' IDENTIFIED WITH mysql_native_password by 'password'; ex) CREATE USER 'hero'@'%' IDENTIFIED WITH mysql_native_password by '1201'; 변경 사항 적용 FLUSH PRIVILEGES; DB 생성 create database [DB NAME]; ex) create database hero_d..
우분투에 도커 설치하기
따로 저장해두었던 메뉴얼이 포팅이 박살나고 잘 안되서 그냥 작성해두는 우분투에 도커 설치하는 명령어들 내용은 공식문서와 동일하다 공식 Docs Uninstall old versions $ sudo apt-get remove docker docker-engine docker.io containerd runc 저장소 설정 $ sudo apt-get update $ sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release 도커 공식 GPG 키 추가 $ sudo mkdir -m 0755 -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg -..
URI와 URL의 차이
URL과 URI가 뭐지? 그냥 사이트 주소 링크 그런거 아니야? URI(Uniform Resource Identifier, 통합 자원 식별자)은 특정 리소스를 식별할 수 있는 식별자이다. ex) variety82p.tistory.com URL(Uniform Resource Locator)은 흔히 우리가 말하는 웹사이트 주소를 말하며 리소스가 어디에 위치해 있는지 알려주는 경로를 의미한다. 보다 정확히 말하면 웹 주소와 네트워크 상의 자원을 합친 결과물이다. 예를 들면 http 또는 https처럼 어떤 프로토콜을 사용할지와 같은 것을 말한다. ex) https://variety82p.tistory.com/board?boardID=11 특정 게시물 정보(리소스)를 얻을 수 있음 위치로 리소스를 식별 정확한 ..
백준허브 업로드 에러, 이슈(2023.03.08 수정)
(2023.03.08 추가) 오전에 백준사이트에서 백준허브가 동작되지 않는 것을 확인하고 블로그를 다시 들어와보니 조회수 폭발... https://github.com/BaekjoonHub/BaekjoonHub/issues GitHub - BaekjoonHub/BaekjoonHub: 백준 자동 푸시 익스텐션(Auto Git Push for BOJ) 백준 자동 푸시 익스텐션(Auto Git Push for BOJ). Contribute to BaekjoonHub/BaekjoonHub development by creating an account on GitHub. github.com 해당 익스텐션 오픈소스 레포의 이슈내역이다. CORS문제로 보이며 아래 그림과 같이 (2023.03.08 기준) 해결되는데 시..