기본 콘텐츠로 건너뛰기

라벨이 MacOS인 게시물 표시

[2025-08-24] vscode로 프로젝트 초기 설정 가이드

vscode로 프로젝트 초기 설정 가이드 안녕하세요. 클스 입니다. 우리가 서비스를 개발할때, front-end, back-end, batch 등 여러 하위 시스템들로 구성하는 경우가 많습니다. 이때 project 폴더를 만들고 하위에 폴더를 구성합니다. full-stack을 혼자 다해야 하는 개발자는 vscode를 3개를 실행해서 편집하는 경우가 대부분입니다. 테미널도 3개를 띄워서 쓰는 경우가 있습니다. 이를 간단하게 해결하는 방법입니다. 1. 개요 솔루션, 서비스를 개발할때 project folder를 생성하고, 하위에 여러 기능들을 추가한다. api, batch, user web, admin web, monitoring web... 이때 vscode의 workspace를 열면 자동으로 터미널까지 셋팅하게 할 수 있다. 이 부분 수정 2. 환경 설정(workspace) project folder 생성 $ mkdir myproject $ cd myproject $ mkdir .vscode $ code . .vscode 폴더에서 tasks.json 작성 { " version " : " 1.0.0 " , " tasks " : [ { " label " : " admin-web " , " type " : " shell " , " command " : " ${env:SHELL} " , / / m a c O S / L i n u x 용 " windows " : { " command " : " powershell.exe " }, / / W i n d o w s 용 " options " : { " cwd ...

[2025-07-28] python 에서 html to pdf 변환 비교

[2025-07-28] python 에서 html to pdf 변환 비교 안녕하세요. 클스 입니다. html로 작성된 문서를 RAG를 하기위해서 html을 그대로 사용해도 되지만, 불필요한 테그가 있어 비효율 적입니다. 그렇다고 테그를 제거하면 표 등 레이아웃이 깨지게 됩니다. 일반적으로   pdf가 많이 사용됩니다. 그래서 macos에서 많이 사용하는 2개의 라이브러리를 비교해보고자 합니다. 1. html 을 바로 변환하는 방법 :  weasyprint    [장점] 가볍다. 2. html 을 브라우저로 열어서 변환하는 방법 :  playwright       [장점] 풍부하게 css를 처리한다. 코드 ###### html to pdf ######### ''' 외부망에서 해야 함 brew install pango uv pip install weasyprint ''' from weasyprint import HTML html_file = '~/doc/test.html' # 1. 문자열 경로를 Path 객체로 만듭니다. path_obj = Path ( html_file ) # 2. .with_suffix() 메서드로 확장자를 변경합니다. pdf_file = path_obj .with_suffix( '.pdf' ) HTML ( filename = html_file ). write_pdf ( pdf_file ) ''' 외부망에서 해야함. # 1. Playwright 라이브러리 설치 uv pip install playwright # 2. Playwright가 제어할 브라우저(Chromium 등) 설치 (라이브러리 엄청 크네) python -m playwright install ''' import asyncio from pathlib import Path from playwright . async_api import as...

[2024-09-21] MacOS Sequoia 15.0 업그레이드

[2024-09-21] MacOS Sequoia 15.0 업그레이드 맥이 세콰이어(Sequoia)를 발표했다. 1984년 System 1을 출시한 후 40주년 버전이라 의미가 깊을듯 합니다. 내 사양은 인텔맥입니다. 2019년에 생산된 모델이에요 애플 홈에 가보면 아래와 같이 소개 되어 있습니다. macOS Sequoia는 매끄러운 윈도우 타일과 더욱 집중하기 좋은 웹 브라우징, 새로운 iPhone 미러링 기능과 더불어 Apple Intelligence에 대한 지원까지 선사합니다. 이름은  미국   캘리포니아주  시에라네바다 산맥의 서쪽 사면에 위치한  세쿼이아   국립공원 에서 따왔다. 지구상에서 부피 기준으로 가장 큰 나무인  거삼나무  제너럴 셔먼 트리가 있는 곳으로 유명한 곳이라고 하네요 버전 번호 15 코드명 Glow 정식 출시일 2024년 9월 17일 정식 최신 버전 15.0 (24A335) 최신 베타 버전 15.1 Developer Beta 2 (24B5024e) 15.0 Developer Beta 7 (24A5327a) 아키텍처 AMD64 ,  ARM64 지원 여부 현재 지원 중 [출처:나무위키] 다운로드 및 설치에 약 30분 정도 걸린것 같고, 해두고 무리없이 설치하면 됩니다. 그리고 sdk 도 한번 업데이트 하라고 나오길래. 해두고 밥먹고 오니 다 되긴했습니다. 뭔가 모서리가 더 둥글어진 기분이다. 기분  탓인가? 설정에서 윈도우의 라운딩 옵션이 있으면 좋겠습니다. 아직 특별한 문제는 없다. 개발툴 설치 잘되고 있습니다. vscode, dbevear, docker brew upgrade 해줬습니다. MacOS Sequoia (15) 업데이트 후 내부망 접속이 안될 때 (회사 분리망 사용시, 보안장비 있을때) 설정 > Wi-FI 알고 있는 네트워크의 CNCITY5G 우측 점3개 선택  > 네트워크 설정... 선택 비공개 Wi-FI 주소 : 고정 =...

[2023-10-13] mac intel, M1, M2에 tensorflow GPU 사용하도록 설치

[2023-10-13] mac intel, M1, M2에 tensorflow GPU 사용하도록 설치 (feat. 셔틀콕 D3) 안녕하세요. 클스 입니다. 2023년 10월 초에 구글에서 tensorflow 2.14 버전을 출시했습니다. apple mac intel 칩이 장착된 2020년 이전 생산된 맥북들이 많습니다. 저도 2019년 맥 프로를 사용하고 있습니다. 워낙 nvidia가 cuda를 기반으로 머신러닝을 잘하는데, 안타깝게도 맥은 radeon 을 사용합니다. 2012년까지는 애플도 nvidia를 사용했다가, 발열로 인한 리콜을 한다음 radeon으로 변경한듯 싶습니다. 그 후로 머신러닝이 중요해지면서 GPU를 사용해야 하는 장비에는 nvidia 를 필수로 장착합니다. 아쉽게도 맥은 사용이 불가했었고, 일부 사람들이 맥에 장착된 radeon의 gpu를 사용할 수 있게 하려고 노력했습니다. 그 결과 지금은 metal 플러그인을 통해 지원이 가능해졌습니다. 그런데 버전 호환에 조합이 잘 필요하더군요~ 그리고 nvidia의 독주를 막기위해 여러 회사의 gpu에서 동일하게 코딩이 가능하도록 언어를 개발하는 회사도 있습니다. 언어는 mojo 라고 합니다. 아래 유투브 링크 걸어 두었어요~ 환경 - mac intel, mac m1, m2 - python 3.11.5  호환성 1. Intel MacOS 에 tensorflow gpu 사용하기    - tensorflow 2.12 버전만 tensorflow-macos가 지원한다.    $ pip install tensorflow-macos       tensorflow 2.12 버전이 설치된다.    $ pip install tensorflow-metal   (py311) [~/projects/tf]$ pip install tensorflow-metal Collecting tensorflow-metal ...

[FastAPI] uvicorn, hypercorn에서 worker 여러개 띄우기 (feat. 배드민턴 셔틀콕 추천)

안녕하세요. 클스 입니다. 오늘은 FastAPI에 여러개 worker를 실행하는 것을 해보려고 합니다. 많은 요청을 처리하기 위해서 worker를 해주면 좋습니다. worker의 계산은   2 x number_of_cores +1 이 적절하다고 합니다. 좀더 정확하게 산출해보려면 아래와 같이 계산하면 됩니다. number_of_workers = number_of_cores x num_of_threads_per_core + 1 MacOS의 터미널에서 $ sysctl -n hw.packages ==> MacOS에 장착된 cpu socket 수 $ sysctl hw.physicalcpu hw.logicalcpu ==> cpu의 core 수, 총 thread 수    num_of_threads_per_core(core당 thread 수) = hw.logicalcpu / hw.physicalcpu $ sysctl -n hw.ncpu 혹은 ==> core 수 $ sysctl -n machdep.cpu.thread_count ==> core 수 uvicorn과 hypercorn으로 실행하는데 --reload 옵션이 있으면 --workers는 무시되고 1개만 뜹니다. 그리고 reload process가 1개 실행 됩니다. 참고로 FastAPI 공식 문서 에서는 worker를 띄울때는 uvicorn 보다는 gunicorn을 사용하는게 좋다고 합니다. 그래서 저는 hypercorn을 많이 사용합니다. # uvicorn ```sh $ APP_ENV=dev uvicorn app:app --host "0.0.0.0" --port "8001" --reload $ APP_ENV=dev uvicorn app:app --host "0.0.0.0" --port "8001" --workers 4 ``` # hypercorn ```sh $ APP_ENV=dev hypercorn app:app --...

ChatGPT Python 으로 해보기 MacOS

 ChatGPT Python 으로 해보기<OpenAI> 1. pyenv + virtualenv + poetry 가 설치되어 있어야 한다. 2. 디렉토리 만들기 $ mkdir chatgpt $ cd chatgpt 3. 패키지 설치하기 $ poetry init      ... 계속 엔터 ... $ poetry add openai $ code .  4. main.py 짜기 import openai import argparse YOUR_API_KEY = '여기에 API KEY 입력' def chatGPT ( prompt, API_KEY=YOUR_API_KEY ): # set api key openai.api_key = API_KEY # Call the chat GPT API completion = openai.Completion.create( engine = 'text-davinci-003' # 'text-curie-001' # 'text-babbage-001' #'text-ada-001' , prompt = prompt , temperature = 0.5 , max_tokens = 1024 , top_p = 1 , frequency_penalty = 0 , presence_penalty = 0 ) return completion[ 'choices' ][ 0 ][ 'text' ] def main (): # 지문 입력 란 prompt = input ( "Insert a prompt: " ) print (chatGPT(prompt).strip()) if __name__ == '__main__' : main() 5. 실행 하기 $ python main.py 아직...

맥북에 AWS 개발 환경 설정하기

  1. 개요 https://aws.amazon.com/ko/blogs/korea/tips-aws-cli/ https://wildpup.cafe24.com/archives/929 https://victorydntmd.tistory.com/66 https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html aws cli v2 설치 & Update Mac>  https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html $ mkdir -p ~/install/aws && cd ~/install/aws $ pip install awscli $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" $ sudo installer -pkg AWSCLIV2.pkg -target / Linux>  https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" $ unzip awscliv2.zip $ sudo ./aws/install --update $ aws --version 이 부분 수정 2. 설치하기 VPN에 상관없이 인터넷 연결만 되면 가능함 Run iTerm on Mac mkdir ~/aws cd aws Install awscli : $ pip install awscli $ aws configure -> 자격 증명 넣어라고 나옴 (발급 권한 필요) AWS...