이미지 파일에 대한 모든 것을 정리하며 기록해 본다. 이미지 파일이란 디지털 장치에서 사진, 그림, 그래픽을 표현하기 위해 사용되는 데이터 파일이다. 이미지 파일은 다양한 포맷으로 존재하며, 각각의 특성과 목적에 따라 사용된다. 파일 크기, 품질, 지원 기능 등이 포맷마다 다르기 때문에 목적에 맞는 포맷을 선택하는 것이 중요하다.이미지 파일의 대표적인 포맷으로는 JPEG, PNG, GIF, TIFF, WebP, BMP, HEIC, 그리고 SVG가 있다. 이들 포맷은 용도와 특성이 다 다르며, SEO나 웹 최적화, 디자인 작업, 또는 고품질 인쇄 등의 작업에서 각각의 역할을 한다.JPEG는 가장 많이 사용되는 이미지 포맷 중 하나다. 손실 압축을 통해 파일 크기를 줄이며, 사진과 같은 복잡한 이미지를 저장..
서론프론트엔드 개발을 하다 보면 서버리스 함수(Serverless Functions)를 사용하는 일이 잦다. 특히 Next.js에서는 pages/api 폴더에 함수만 작성하면 자동으로 서버리스 함수로 동작하는 것은 익숙한 사실이다. Vercel에 프로젝트를 배포할 때 Functions라는 기능으로 서비리스 함수를 구현하는 방식을 제공하는 것이 생각나서 한번 테스트 겸 작성을 해보았다.꼭 Next.js 프로젝트가 아니어도 프로젝트의 api 폴더 안에 작성된 함수 파일을 Vercel에서는 서버리스 함수로 인식하고 동작한다는 것이다. 단순한 HTML 파일만 있는 프로젝트에서도 서버리스 함수를 간단하게 구현해서 api를 만들 수 있다는 것이 가능하다. 간단한 사실이지만, 누군가에는 새로운 사실이 될 수 있을 것..
지난 포스팅에서 소개했던 파이썬으로 이미지를 생성하는 코드입니다.이 코드는 현재 디렉토리의 .txt 파일 이름을 이용해 최대 3줄로 줄바꿈한 텍스트를 포함하는 128x128 크기의 검은색 썸네일 이미지를 생성하고, 이를 thumbnails 폴더에 저장합니다. 텍스트는 흰색으로 중앙에 배치되며, 텍스트 크기는 이미지에 맞도록 조정됩니다.이미지 생성에는 PIL이라는 라이브러리를 사용합니다.코드 실행 시 폴더에 이미 해당 이름의 이미지 파일이 있다면 새로 생성하지 않고 넘어갑니다. 최종적으로, .txt 파일마다 해당 텍스트가 표시된 썸네일이 저장되는 구조로 작동합니다.import osfrom PIL import Image, ImageDraw, ImageFont# Define the path for the th..
Intro이전에 Github Actions로 여러가지 자동화를 할 수 있는 것을 이야기 했는데 구체적인 예시를 소개하고자 합니다.Text 파일 업로드를 하면 해당 텍스트 파일을 기준으로 이미지를 생성해서 업로드 하는 Workflow입니다. 이번 포스팅에서는 각 줄을 좀 더 자세히 하나하나 설명을 적어보았습니다.작동방식텍스트 파일을 깃허브 레포에 커밋하면 파이썬 코드가, 해당 텍스트파일을 가지고 이미지를 만들도록 할 것입니다.어떻게 되는지 한번 보여드리겠습니다.아래 처럼 텍스트 파일을 만들어서 Push 하면.. Github Action이 돌아갑니다. 이미지 파일이 만들어집니다.조금 긴 텍스트는 잘리네요. 하지만 파이썬 코드를 수정해야 할 것 같은데 이번에는 넘어가겠습니다.파이썬 코드이 코드는 현재 디렉토리..
Intro깃허브 액션으로 특정 작업을 등록해두면, 원하는 순간에 작업을 실행하도록 할 수 있습니다.보통은 push가 발생할때, pr이 등록될 때, tag가 올라올 때 등 이벤트를 기준으로 작업을 실행하는 것을 많이 활용하는데요.이번 포스팅에서는 특별한 이벤트가 없어도 주기적으로 작업을 실행하는 방법을 소개해보려고 합니다.이 방법으로 주기적으로 실행이 필요한 작업을 github actions를 활용해서 자동화하는데에 활용할 수 있습니다.주기적으로 업데이트 확인하기, 크롤링이나 데이터 수집, 로그 정리 등에 활용할 수 있습니다.crontab이란?crontab은 특정 시간에 특정 명령어를 실행하는 규칙을 설정합니다. crontab 을 사용하면 원하는 시간에 작업을 실행하게 할 수 있습니다.주로 시스템 관리나 ..
Streamlit이란?얼마전 AWS의 워크샵에 참여하면서 Streamlit을 처음 알게되었다. Streamlit은 Python 기반의 웹 애플리케이션 프레임워크로, 데이터를 시각화하거나, 머신러닝 모델을 공유하거나, 데이터 분석용 대시보드를 쉽게 만들 수 있게 도와주는 도구이다. 특히, Python 코드로만 웹 애플리케이션을 개발할 수 있는게 특징이다. html, javascript 를 전혀 작성하지 않아도 웹 어플리케이션이 뚝딱 만들어진다.Streamlit의 가장 큰 장점은 간결하고 직관적인 문법인데 Python으로 간단한 코드만 작성하면 대화형 웹 애플리케이션이 만들어진다. 코드를 수정할 때마다 실시간으로 애플리케이션이 업데이트되기 때문에, 개발 중간에도 결과를 바로바로 확인할 수 있다.UI 요소(버..
영상 편집을 할수 있는 방법은 여러가지가 있는데리액트 코드로 영상을 편집할 수 있는 remotion이라는 것을 알게 되어서 사용해 보았다. https://www.remotion.dev/웹서버를 실행하고 코드를 수정하면 프리뷰에 반영되어 보인다. 타임라인 등의 동작이 깔끔하게 동작한다. 하지만 개발문서를 읽어가면서 수정할 부분이 존재하고, 웹 개발에 능숙한 사람이 아니라면 다루기 쉽지는 않을 것 같다.코드로 영상을 단독으로 만드는 것은 일반적으로 활용하는 방법은 아니다 보니 활용 사례가 많이 알려져 있지는 않다. 그래서 내 나름대로 장점을 정리 할 수 있을 것 같다.1. 영상 편집 프로그램으로 만들 때는 굉장히 까다로운 스타일의 영상이 코드로는 쉽게 만들 수 있다. 인트로나 자막 특수효과 등을 삽입할 때 ..
ChatGPT를 리눅스처럼 만드는 방법이 있다고 해서 직접 해봤는데 놀라운 것 같습니다. 방법은 아래 텍스트를 복사하면 됩니다. 출처: https://techbukket.com/blog/chatgpt-linux-terminal 앞으로 프롬프트 엔지니어라는 직업군이 생긴다고 할정도로 프롬프트를 어떻게 쓰느냐에 따라 AI가 해주는 일이 차이가 나네요. 과연 AI를 잘 활용하는것도 결국 인간의 판단력과 창의성이 필요 한 것 같습니다 프롬프트: i want you to act as a linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the te..
코딩테스트를 위해 개발환경을 새로 셋팅해봤다. 윈도우에서 Visual Studio로, 맥에서는 Xcode로 코딩을 했었는데, 프로젝트 하나를 여는데 로딩 시간이 길어서 답답하고 새 프로젝트를 만드는 과정도 번거롭다. 코딩테스트를 할때는 IDE의 다양한 기능을 사용하지는 않기때문에 코드를 빨리 열수 있고, new file-코드작성-빌드/실행 정도만 잘 되면된다. VS Code으로 셋팅을 하고 나니 파일을 추가하는게 번거롭지 않고, 작성했던 코드를 열어보기도 쉬워졌다. 코딩 문제 자체에 더욱 집중할 수 있게 된것 같다. 세팅 방법 1. VS Code 설치 2. 디렉토리 설정(예시) CodingTest ▾ 01 Problem A - ‣ cpp ▾ 02 Problem B - ‣ python - ▾cpp - - ..
여러가지 개발환경을 번갈아 가면서 쓰다보니 (게다가 나는 맥, 윈도우를 번갈아 가면서 쓰는 상황이다) 단축키가 손에 익지 않고 계속 헷갈리는 상황이 반복된다. 그 중에서도 잘 모르면 가장 불편한 기능이 자동정렬인것 같다. 일단 메뉴 깊숙히 숨어 있는 경우가 많고 단축키도 저마다 다르다 보니... 단축키가 생각이 안나서 자동정렬 기능을 덜 쓰게 되는 경우가 종종 있다. 그러다 보면 코드 작성속도도 느려지고, 정리가 안된 코드를 보면서 하면 에러가 날 확률도 커진다. 까먹고 다시 찾아보고...를 반복하다가 이참에 IDE별로 자동정렬 기능의 단축키를 이곳에 정리 해둔다.. Visual Studio, VS Code(윈도우) (Win) ctrl + K, F (Win) ctrl + E, F (Win) Alt+F8 ..