본문 바로가기

티스토리챌린지

FastAPI를 사용한 API 백엔드 개발; 1. 윈도우 FastAPI 개발환경 FastAPI를 사용한 API 백엔드 개발1. React Native 개발 환경 설치2. Vagrant로 VirtualBox 서버 추가 1. FastAPI 소개인공지능의 인기가 올라가면서 가장 인기 있는 언어가 파이썬이 되었다. 인공지능이 전에는 파이썬은 C언어로 된 라이브러리를 쉽게 사용할 수 있게 만들어진 인터프리터 언어로 인식이 되어서 시스템 운영자가 관리를 위한 목적으로 자동화를 할 때 많이 사용하였다. 클라우드 시대가 되면서 파이썬이 클라우드 운영을 위한 가장 각광받는 언어가 되었는데, 인공지능의 시대가 되면서 C언어로 만들어진 CUDA나 Tensorflow를 사용하기 위한 언어로 자리를 잡으면서 점차 영역을 넓혀갔다. 이전에 한번 인기 있는 언어에 대한 그래프를 소개한 적이 있는데,  파이썬은.. 더보기
우분투 서버를 우분투 데스크탑으로 변환 후 네트워크로 연결 1. Vagrant로 우분투 서버 생성개발을 하다 보면 급하게 리눅스 서버, 우분투 서버를 설치해야 할 경우가 생긴다. 이런 저럼 패키지를 찾아봐도 윈도우에서는 동작하지 않는 경우도 종종 있다. 물론 이전에 작성한 글처럼 도커를 이용해서 우분투를 올리는 것도 빠르고 편하다. Docker로 테스트 환경 만들기; 2. 우분투 데스크탑 만들기Docker로 테스트 환경 만들기1. Full version 우분투 서버 만들기2. 우분투 데스크탑 만들기0. Docker로 우분투 데스크탑을 사용하는 이유Docker는 VM (Virtual Machine)이 아니기 때문에 일반적으로는 Docker에front-it.tistory.com하지만 하드웨어에 설치한 것 같은 우분투가 필요한 경우가 한번씩은 생긴다. 이럴 때 내 노.. 더보기
Open AI API 사용 방법 - 2 4. 기사 작성 인공지능이전에 증권사에서 뉴스를 발표하면서 AI가 만든 뉴스라고 발표하는 뉴스가 있었다. 형태도 비슷하고, 나오는 내용도 비슷해서 자동으로 생성되는 것 같다는 생각은 했지만 그때는 어떻게 만드는지 궁금했었다. OpenAI를 사용해서 뉴스를 자동으로 생성하는 프로그램을 가벼와서 어떻게 반응을 하는지 수정하면서 테스트해 봤다. 먼저 아래와 같은 함수를 만든다. def assist_journalist( facts: list[str], tone: str = str, length_words: int = 100, style: str = "journalistic"): response = client.chat.completions.create( model="gpt-3.5-.. 더보기
Open AI API 사용 방법 - 1 1. Open AI에 대한 간단한 설명GPT로 유명해진 Open AI는 GPT 시리즈의 모델과 DALLE-E, TTS, Whisper, Embeddings 등 응용프로그램에서 사용할 수 있는 몇 가지 유용한 인공지능 모델을 제공한다. 물론 가장 유명한 것은 GPT (Generative Pre-trained Transformer)로 2017년 구글에서 발표한 "Attention is all you need"라는 논문에서 나온 모델인데 NLP (Natural Language Processing) 분야에서 새로운 장을 열개된 유명한 모델이다. GTP에 대한 설명은 이미 많은 블로그에 나와 있는데, 문장을 임베딩으로 변환하고 단어 간의 거리를 계산한 다음 어떤 단어가 어텐션인지를 찾아내어 attention을 기.. 더보기
쿠버네티스로 MSA DevOps 환경 구축; Harbor - Registry 개선 Minikube에서 제공하는 Registry는 개발할 때 가볍게 사용하기에는 무리가 없지만, 개발이 복잡해지거나 관리해야 할 컨테이너가 많아지면 불편해지기 시작한다. 물론 클라우드 플랫폼을 서비스하는 회사들이 제공하는 컨테이너 레지스트리를 사용하면 기능면에서 편리하지만 이것저것 막 테스트 하기에는 비용 지출이 좀 생긴다. 이때 고려해 볼 만한 제품이 브로드콤에서 제공하는 Harbor이다. HarborOur mission is to be the trusted cloud native repository for Kubernetesgoharbor.ioHarbor는 도커에 설치하거나 쿠버네티스에 설치해서 사용하는데, 이번에는 지난번에 설치해 놓은 minikube에 설치해서 사용할 수 있도록 만들어 보기로 했다. .. 더보기
Taiga; Scrum, Kanban을 관리할 수 있는 무료로 사용하는 Jira 스크럼을 사용하는 많은 스타트업은 아틀리시안(Atlassian)에서 서비스하고 있는 Jira를 사용하고 있다. 스크럼을 사용하지 않는 회사는 레드마인(Redmine)이나 Trac 등과 같이 이전에 개발된 소프트웨어도 사용하는 것으로 알고 있다. 개인적으로 관리하는 프로젝트나 이전에 근무하던 대기업에서도 소규모 프로젝트와 같은 경우 Redmine을 사용하기도 했지만 Redmine은 오래전에 개발되고 이후 화면에 대한 개선이 이루어 지지 않은 상태로 사용되고 있기 때문에, 스크럼과 같은 최근 프로젝트 관리에 사용하기 위해 필요한 기능을 플러그인 형태로 적용해서 사용해야 한다. Taiga는 Redmine이나 Trac에 비해 많이 알려져 있지 않은 소프트웨어 이다. 하지만 Redmine보다 좀더 친숙한 현대적인.. 더보기
React Native로 PDF Viewer 앱 만들기; 8. React Navigation - 2 React Native로 PDF Viewer 앱 만들기1. React Native 개발 환경 설치2. react-native-pdf 테스트 앱3. 화면 개발 - JSX 컴포넌트4. 화면 개발 - Context API5. 화면 개발- 팝업 창 (Modal)6. TypeScript 전환, Jest 추가7. React Navigation - 18. React Navigation - 2 일반적인 앱을 보면 상단에 Header Bar는 현재 화면의 명칭, 위치나 추가적인 정보가 있고 Button이 있는 경우는 많이 없고, 있다고 하더라도 꼭 필요한 기능에 대해 제한적으로 버튼이 존재한다. 그에 반해 화면 아래쪽에는 아이콘이나 아이콘이 있는 버튼 존재하는 경우가 많고, 이 아이콘을 통해 앱의 기능을 조작하는 경우가.. 더보기
React Native로 PDF Viewer 앱 만들기; 7. React Navigation - 1 React Native로 PDF Viewer 앱 만들기1. React Native 개발 환경 설치2. react-native-pdf 테스트 앱3. 화면 개발 - JSX 컴포넌트4. 화면 개발 - Context API5. 화면 개발- 팝업 창 (Modal)6. TypeScript 전환, Jest 추가7. React Navigation - 18. React Navigation - 2 지금까지 앱은 화면이 PDF를 보는 화면 하나만 있었다. 이제 내 핸드폰에 저장되어 있는 PDF 파일을 보는 기능을 추가하면서첫 화면이 "파일 목록을 보는 화면"이고두 번째 화면이 "PDF 파일을 보는 화면"으로 나눌 것이다. 그래서 첫 번째 화면에서 파일을 선택하면 두 번째 화면에서 PDF를 보여주기 위해, 첫 번째 화면에서 .. 더보기