튜토리얼이 매우 잘 만들어져 있습니다. 다음은 튜토리얼 목차인데, 성격급한 분들은 조금 버거울 수 있는 분량입니다.

개인적으로는 `Test Coverage` 분량이 적지 않지만 매우 심혈을 기울여 만든 것으로 보입니다.

image from: https://flask.palletsprojects.com/en/2.3.x/tutorial/

1. 에러 메시지 확인

2. 에러 코드 부분 확보

3. 에러 메시지와 관련 코드 부분 AI( https://ai.com )에 물어보기

4. 답변이 만족스럽지 못할 경우 구글링하기

Not Found

image from: https://http.cat/404 

 

무료에는 대체로 조건이 있습니다. 그냥 막 퍼주는 것은 아닙니다.

유휴 컴퓨팅 인스턴스 Idle Compute Instances 

 Important

유휴 컴퓨트 인스턴스 회수
Reclamation of Idle Compute Instances

유휴 상시 무료 컴퓨트 인스턴스는 Oracle에서 회수할 수 있습니다. Oracle은 7일 동안 다음이 참인 경우 가상 머신 및 베어 메탈 컴퓨팅 인스턴스를 유휴 상태로 간주합니다.
Idle Always Free compute instances may be reclaimed by Oracle. Oracle will deem virtual machine and bare metal compute instances as idle if, during a 7-day period, the following are true:

  • 95번째 백분위수의 CPU 사용률은 15% 미만
  • 네트워크 사용률은 15% 미만
  • 메모리 사용률이 15% 미만 ( A1 셰이프 에만 적용됨 )
  • CPU utilization for the 95th percentile is less than 15%
  • Network utilization is less than 15%
  • Memory utilization is less than 15% (applies to A1 shapes only)

from: https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm#compute__idleinstances

image from: https://www.bragmedallion.com/blog/authors-there-is-no-such-thing-as-a-free-lunch/

실제 서비스는 트래픽에 따라서 비용이 기하급수적으로 들어갈 수 있지만, 서비스를 개발하는 분들에게는 무료로 준비된 것들이 많습니다. 마치 교육 라이선스처럼 무료로 경험을 할 수 있게 하는 프리 마케팅 기법의 하나입니다.

aws 요금폭탄 으로 구글링하면, 참 다양한 경험담이 계속 나옵니다. 뭐, 비싼 인생 수업비다라고 치부하기에는 씁쓸한 경험이죠.

그래서 준비했습니다.

다양한 IT 회사들의 무료로 사용(또는 체험)할 수 있는 개발용 서비스들을 정리한 사이트를 소개합니다.

free-for.dev

https://free-for.dev

제 생각에는 주로 서버가 필요할 것인데, aws 1년 free tier 따라한 것들도 많지만 트래픽이 많지 않으면 Firebase+Vercel 조합도 괜찮고, 성가신게 제법 있지만 평생무료인 오라클 클라우드 인스턴스도 있습니다.

무료로 잘 사용하고 계신 개발 리소스가 있다면 댓글로 남겨주시면 미리 감사드립니다.

목차

aws는 free tier가 1년이지만 oracle cloud는 평생(상시常時) 무료라고 합니다.
https://www.oracle.com/kr/cloud/free/

그래서 도전해 봤는데, 삽질을 많이 하고, 경험을 정리해서 올립니다.

1. https://cloud.oracle.com 에 회원가입합니다. 신용카드 등록 필요합니다.

2. 왼쪽 상단 메뉴아이콘 눌러서 `컴퓨트 > 인스턴스`를 클릭합니다. Free Tier로 2개까지 무료 인스턴스를 만들 수 있습니다.

인스턴스 메뉴

3. `인스턴스 생성`을 클릭하고 설정을 시작합니다. 서버 이미지는 Oracle Linux 8이 기본인데, 네트워크 설정 등에서 삽질을 무한히 경험해서, 개인적으로는 CentOS나 Ubuntu를 추천합니다. 우측의 이미지 변경을 클릭합니다.

이미지 변경

이 글은 CentOS 8 Stream 이미지를 기준으로 진행하겠습니다.

CentOS 8 Stream 이미지 선택

자동으로 키 쌍 생성하면, Private Key를 다운로드 받을 수 있습니다. 사용자 홈에 `~/keys/` 폴더를 만들고, 다운 받은 key파일을 이동합니다. `chmod 400 ~/keys/ssh-key-2023-07-09.key`으로 퍼미션을 수정합니다.

접속 key

인스턴스를 만들면 공용 IP가 자동으로 붙습니다.

인스턴스 정보

터미널에서 `ssh -i ~/keys/ssh-key-2023-07-09.key opc@132.145.91.36` 명령으로 접속할 수 있습니다. fingerprint 저장은 `yes` 라고 답합니다. 윈도우의 경우 Git Bash창에서 같은 명령을 사용할 수 있습니다. 우분투 이미지는 opc@ 대신 ubuntu@ 아이디로 접속할 수 있습니다.

인스턴스 접속 시도
인스턴스 접속 완료

`sudo dnf install nginx` 명령으로 웹서버를 설치합니다. aws보다는 약간 오래 걸리는 느낌이 있습니다.

nginx 웹서버 설치

설치 후 다음 명령으로 nginx를 시작합니다. 
`sudo systemctl start nginx` 그리고, 잘 동작하는지 확인합니다.
`curl localhost`

nginx 서버 시작

AWS와 달리 인스턴스 안에서도 iptables 방화벽을 열어야 됩니다. iptables 리셋하는 방법도 있는데, 나중에 다른 글에서 다루겠습니다. 
`sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT`

iptables에 80 포트 추가

클라우드 가상 방화벽도 열어야 됩니다. 서브넷을 선택합니다.

서브넷 선택

보안 목록에 `Default Security List*`를 선택합니다.

보안 목록 선택

`수신 규칙 추가`를 선택하고 소스 CIDR은 `0.0.0.0/0`, 대상 포트 범위에 `80`을 입력하고 추가합니다.

80 포트 추가

브라우저에서 nginx 화면을 확인할 수 있습니다. 역시 오라클이라 빨간색으로 테마를 꾸며놨습니다.

브라우저 확인

 

https://okjsp.tistory.com/1165644382

 

오라클 클라우드 무료로 사용시 주의사항

무료에는 대체로 조건이 있습니다. 그냥 막 퍼주는 것은 아닙니다. 유휴 컴퓨팅 인스턴스 Idle Compute Instances Important 유휴 컴퓨트 인스턴스 회수 Reclamation of Idle Compute Instances 유휴 상시 무료 컴퓨

okjsp.tistory.com

참고:

 

  • AI 기반의 코드 제안 도구
  • AI Pair Programmer

(Optional) 기본 브라우저를 Chrome말고 다른 브라우저로 변경

Extenstion 메뉴에서 github copilot 검색 후 설치

우측 하단의 Enable Gobally 클릭

GitHub.com에 로그인

vscode로 돌아와서 Sign in with GitHub 클릭

GitHub Copilot은 30일 Free Trial 제공, 30일 뒤부터 결재

4대 개발도구에서 사용 가능

VS Code에서 우측 하단에 Enable 시키면 사용 가능

정상 동작한다면 제안이 나옴. Tab키를 누르면 제안을 받아들임

image from: https://www.bricktogether.co.kr/goods/goods_view.php?goodsNo=1000001636 

JS 아키텍트인 Douglas Crockford님의 발표 중에서 다음 세대의 프로그래밍 컨셉은 어떻게 될 것인가에 대한 얘기 중 레고가 나왔습니다. 절차지향, 객체지향, 관점지향 여러가지 기술들이 있는데, 다음은 어떤 것으로 예상하냐는 것이죠. web 2.0 시절에 트위터에서 발표하신 것이었는데, 앞으로는 레고처럼 OpenAPI 등을 이용해 프로그램을 조립한다는 내용이었습니다.

이 말에 공감하는 것은 컴퓨팅 환경이 너무도 많이 변했습니다. 지금도 계속 변해가고 있고, AI의 일상화로 인해서 더 급변하는 것 같습니다. 제가 처음 프로그램을 짰던 시절에는 정보시대의 월간마이크로소프트, 컴퓨터 쥬니어 같은 잡지와 서점의 프로그래밍 책이 다였습니다. 인터넷이라는 것은 제대하고 처음 경험해 봤고, 블로그에 넘쳐나는 정보들이 제 정보 수집원이었습니다. 이제는 뭐, AI 없이 프로그래밍하는 게 상상이 안됩니다.

성경에 `해 아래 새 것이 없나니`라는 구절이 있습니다. 기술이 전에 없이 나오는 시대인데, 이건 새로운 거 아닌가? 하는 생각이 들 수도 있지만, 그 새로운 기술은 인간의 생활을 위한 것이기 때문에, 새로운 기술이 나와도 궁극적으로는 인간의 삶과 연결된다는 뜻으로 해석됩니다.

요즘은 개발도구(IDE)가 많이 좋아졌습니다. 옛날처럼 API를 외워서 타이핑하지 않아도 되고, 컴파일하기 전 편집기에서 이미 오타와 경고 등은 이미 표시됩니다. 인텔리J의 Alt+Enter나 이클립스의 Ctrl+1 처럼 문제 상황에 대한 가이드도 잘 되는 도구들이 엄연히 존재하는 시대입니다.

더구나 오픈 소스도 바다와 같이 넓게 펼쳐져 있기 때문에, 세상에 없는 기능을 만드는 것은 극히 일부일 뿐입니다. AI에게 샘플 코드를 요구하는 것도 가능하기도 합니다.

현시대 프로그래밍은 조립과 같은 작업이라고 생각합니다. 컴포넌트를 잘 구해서, 잘 조립해서, 쓸만한 애플리케이션을 만드는 일, 그게 필요하다고 봅니다.

요즘 관심이 있는 것은 lazygyu님의 룰렛입니다. https://lazygyu.github.io/roulette/ GitHub에 코드도 공개하셨고, 블로그도 있습니다.

 

당첨자 뽑기 룰렛 개발

물리엔진을 이용해 구슬들이 떨어지는 당첨자 룰렛 만들기

lazygyu.net

 

재미있는 조립하시길 바랍니다.

자료 파일 정리중인데, 크게 많이 바뀐 것 같지는 않습니다.

재미있게 보는 영상입니다.

BAIK JONG WON

 

님아 그 시장을 가오

 

AI에게 질문을 얼마나 잘 하느냐에 따라 나오는 답의 퀄리티 차이가 하늘과 땅 차이입니다.

이 질문하는 일을 프롬프트 엔지니어링(Prompt Engineering)이라고 합니다.

prompt는 컴퓨터 터미널에서 흔히 보는 커서가 깜박 거리는 상태입니다.

prompt

여기는 noun에 해당하겠죠.

이런 팁도 있습니다.

> ""Write", "Classify", "Summarize", "Translate", "Order" 등과 같이 달성하려는 모델을 지시하는 명령을 사용하여 다양한 간단한 작업에 대한 효과적인 프롬프트를 설계할 수 있습니다.

무엇이 가장 효과적인지 확인하려면 많은 실험을 해야 한다는 점을 명심하세요. 다른 키워드, 컨텍스트 및 데이터로 다른 지침을 시도하고 특정 사용 사례 및 작업에 가장 적합한 것이 무엇인지 확인하십시오. 일반적으로 컨텍스트가 수행하려는 작업과 관련성이 높고 구체적일수록 좋습니다. 샘플링의 중요성과 향후 가이드에서 더 많은 컨텍스트를 추가할 것입니다.

다른 사람들은 프롬프트 시작 부분에 지침을 배치할 것을 권장합니다.또 다른 권장 사항은 "###"과 같은 명확한 구분 기호를 사용하여 명령과 컨텍스트를 구분하는 것입니다."

from: https://www.promptingguide.ai/introduction/tips

 

General Tips for Designing Prompts – Nextra

A Comprehensive Overview of Prompt Engineering

www.promptingguide.ai

 

새로운 도구가 생겼으니, 잘 이용하는 것이 마땅하다고 생각합니다.

 

+ Recent posts