728x90
반응형

AI 기술이 갑자기 관심을 받으면서 핫해진지 조금 되었다.

이제 좀 열기가 식은것 같은 느낌인데 절대 사그라들지 않을 기술 분야이다.

소설이나 영화에서나 나오던 망상에 가깝던 기술들이 세상에 어떻게 적용될지 단맛을 봤기 때문이다.

앞으로 나타날 여러가지 기술들 가상현실, 메타버스, 블록체인, 우주여행, 자율주행, 로봇, 4차혁명, 등등의 기술들에 반드시 적용될 기술이며 앞으로의 기술발전에 정말 어마어마한 역할을 하게 될것이다. 아마 몇년전만 해도 이런 기술들에 대해 얘기하면 이상한 사람 취급받기 쉽상이었을텐데 갑자기 발표한 Chat GPT 같은 기술들을 공개하면서 대중들의 생각을 완전히 바꿔놓은것 같다. 

이제 마지막 기술스택이라고 생각하면서 AI 쪽으로 접근해보려고 한다. 기술학습에 욕심이 많아서 이것저것 손을 많이 대어봤는데 너무 빠른 기술 발전에 늘 갈아타기를 했던것 같다. 넓고 깊은 T 자형 지식을 만들었어야 했는데 넓기만하고 깊이가 없는 개발자가 되어 버린 느낌이어서 많이 아쉽다. 깊이 있는 학습을 위해 한가지만 파도록 할 생각이다.

꽤나 긴 여행이 될것같다.

공부 하다가 흔들리면 이 글을 읽어보고 마음을 다잡을 수 있었으면 좋겠다.

시작해보자.

 

일단 Python을 기본으로 좀 더 깊이 있게 학습을 하게 될꺼고 Mojo를 집중적으로 파보겠다.

- Mojo
- BUN
- Svelt

이렇게 학습을 시작하고 추후 Zig 나  Rust도 배워보고 싶다.

728x90
728x90
반응형

Pynecone

Pynecone 소개 (피네콘)

피네콘은 웹앱을 만들고 배포하기 위한 풀스택 프레임워크 이다.

(한국분들이 파인콘이라고 읽는데 피네콘이 맞는 발음이다)

댓글에 파인콘이라고 읽기도 한다고 하셔서 검색해보니 파인콘이라고 발음을 하네요.

일단 파인콘이라고 발음하는걸로 수정하겠습니다. 감사합니다.

 

Pynecone 풀스택 프레임워크의 장점

  • Pure Python (파이썬만 사용) : 다른 언어를 학습하지 않고 순수 파이썬 언어로 개발 가능
  • Easy to Learn (배우기 쉬움) : 별도의 웹개발 경험이 없이도 빠르게 웹앱을 개발 가능
  • Full Flexibility (유연함) : 작은 데이터 사이언스 앱 부터 대규모 다중 페이지 웹사이트 까지 구축이 가능
  • Batteries included (필요한 도구 모두 제공) : 앱개발에 필요한 프론트엔드,백엔드, 배포를 모두 처리 가능

 

 

Pynecone 설치

  • Python 3.7 이상
  • NodeJS 12.22.0 이상

 

 

가상 환경 (필요 시 설치)

 

 

개발환경 설치

pip install pynecone-io

많은것을 설치하는데 시간이 좀 걸린다. 멈춰있다고 종료하지 말고 충분히 기다리자.

 

프로젝트 생성

mkdir hello

cd hello

pc init

 

 

앱 실행

pc run

디버깅모드 실행 하려면

pc run --log-level debug

pc 는 pynecone 의 약어

웹서버가 구동되고 나면 웹브라우저를 실행 후 http://localhost:3000 접속

port는 default로 3000으로 설정되어 있으나 pcconfig.py에 port 를 변경 설정이 가능하다.

app 명칭은 hello 이다.

내부적으로 sqlite db 를 사용하는 것도 확인할 수 있다.

javascript  라이브러리 관리 모듈로 bun 을 사용하는것도 확인할 수 있다.

 

 

프로젝트 구조

 

.web 디렉토리

python으로 작성된 코드를 compile 하게되면 nextJS 형태의 소스로 전환해주어 .web 폴더에 생성해 준다.

nextJS 는 React 기반의 프레임워크이다.

개발자는 이 디렉토리의 파일들을 건들 필요가 없지만 디버깅시 유용하게 사용할 수 있다.

 

 

Assets 디렉토리

대부분 그렇듯이 Assets 디렉토리에는 정적인 데이터들이 보관된다. 예를 들면 이미지 파일, 폰트 같은 것들이 정적인 데이터들이다. 컴파일이 되면 .web/public 폴더에 저장 된다.

 

 

Config 파일

 

 

간략하게 Pynecone를 개발하기 위한 설치 방법과 디렉토리 구조를 확인해 봤다.

다음에는 프로젝트에서 사용되는 컴포넌트들에 대해서 작성해보겠다.

 

 

이 글은 Pynecone 공식홈페이지 Learn 문서를 번역/수정 했다.

https://pynecone.io/docs/getting-started/introduction

 

728x90
728x90
반응형

 

영단어 결합 신조어라서 어떻게 발음하는게 좋을지 몰라서 당황스러웠는데 유투브로 Pynecone 검색해서 버거형들이 발음하는걸 캐치했다.

Pynecone : 파인콘

우리나라에서는 파이콘이라고 부르는것 같은데 굳이 파인콘이라고 발음하는데 다른 발음을 붙일필요가 있나 싶다.

앞으로 파인콘이라고 발음하겠다.

 

Python + ne(?) + cone (솔방울)

파인콘 아이콘에서 확인 할 수 있듯이 솔방울이 파인콘의 공식 아이콘이다.

 

파인콘 깃허브에 가면 다음과 같이 설명되어 있다.

Pynecone은 오픈 소스 풀 스택 파이썬 프레임 워크로 몇 분 안에 웹 앱을 쉽게 구축하고 배포 할 수 있습니다.

기존 웹 개발의 유연성, 성능 및 사용자 지정 성과 결합 된 저 코드 프레임 워크의 사용 편의성과 접근성을 제공합니다. Pynecone은 오픈 소스이며 이전 웹 개발 경험이없는 사람들을 위해 쉽게 시작할 수 있도록 설계되었습니다.

Pynecone을 사용하면 데이터 과학자와 소프트웨어 엔지니어가 웹 개발을 배우지 않고도 빠르고 쉽게 고품질 웹 응용 프로그램을 만들 수 있습니다. 소규모 데이터 과학 프로젝트 / 내부 앱 또는 대규모 멀티 페이지 웹 앱을 구축하려는 경우 Pynecone에는 모든 프로젝트를 처리 할 수있는 도구와 기능이 있습니다. 이 프레임 워크는 성능, 확장 성 및 SEO에 최적화되어 있으므로 자랑스럽게 생각할 수있는 아름답고 매력적인 웹 앱을 만드는 데 집중할 수 있습니다

https://github.com/pynecone-io/pynecone

 

GitHub - pynecone-io/pynecone: Web apps in pure Python.

Web apps in pure Python. Contribute to pynecone-io/pynecone development by creating an account on GitHub.

github.com

 

 

https://pynecone.io/

 

Pynecone: The easiest way to build web apps.

Build anything, faster. Create your whole app in a single language. Don't worry about writing APIs to connect your frontend and backend. With Pynecone you can build anything from internal tools and data apps to complex multi-page apps. This entire website

pynecone.io

공식 사이트를 파인콘 프레임워크로 만들었다고 한다. 

워낙 간단해 보이는 홈페이지라서 뭐 크게 할말은 없지만 파이썬의 새로운 풀스택 프레임워크가 뜨고 있으니 한번 지켜봐야겠다.

 

우리 유명한 노마드코드 횽이 소개한 영상이다.

https://www.youtube.com/watch?v=47BL6WLZJ1g 

 

썸네일을 자극적으로 만들고 싶어서 문장을 좀 자극적이게 적었는데 내용을 들어보면 아직 성숙단계가 아니라서  물음표라고 하는것 같고 리엑트를 직접 학습하는게 더 빠를것 같다는 첨언도 했다. 하나의 언어로 여러가지 다른 언어 형태의 앱을 만드는건 앞으로도 꾸준히 발전할 부분인데 굳이 장점을 꼽아보자면 파이썬 학습만 꾸준히 해도 다른 프론트엔드 프레임워크를 학습하지 않아도 앱을 만들 수 있고 프론드엔드 & 백엔드 모두 파이썬 언어 하나로 개발을 할 수 있다는 통일성 이 마음에 든다.

 

얼마나 생산성이 있고 효과가 있을지 안써봐서 잘 모르겠지만 다른 언어들 golang, Rust. C#, java 같은 언어에서도 저런 형태의 프레임워크가 만들어지지 않을까 싶다.

 

암튼 시간내서 한번 테스트 해봐야겠다.

 

파인콘, 파인콘, 파인콘

728x90
728x90
반응형

요즘 인공지능 이미지 생성기 Midjourney 나 chatGPT 같은 AI 서비스 프로그램들이 핫하다.

아무래도 앞으로는 이 관심도나 기술의 발전이 기하급수적으로 올라갈 것 같다.

 

어떤 문화나 트랜드의 확산형태는 늘 비슷했다. 

 

문제점이 도출된다.

사용자의 니즈가 간간히 나온다.

기술의 발전을 위한 기술에 사람들 관심이 쏟아진다.

자극적인 기사들이 나오면서 필요성을 어필한다.

많은 사람들이 뛰어든다.

그리고 많은 기술들이 실패한다.

회의적인 기사가 나타난다.

시간이 흐르면 다시 기술에 대한 언급이 시작된다.

위의 과정이 다시 반복된다.

기술적인 임계점이나 사회의 니즈에 대한 임계점에 다다르면 폭발한다.

기술의 발전속도와 니즈, 관심, 투자가 폭발적으로 발생한다.

단기간 혹은 장기간동안 트렌드가 된다.

 

인생을 살면서 관찰을 하기 시작한지 꽤 오래되었다. 

이 과정이 늘 반복된다.

AI 기술이 본격적으로 관심을 받고 탄력을 받게되면 다음 언어들이 관심을 가지게 될것 이다.

Golang, Rust, WebAssembly, Python, Dart 

그중에 가장 쉽다고 마케팅이 되어서 각인된 Python은 학습하려는 수요가 꽤 많이 폭발할 것 같다.

나머지 언어들은 프로그래머가 되겠다고 하는 사람들에게 더 관심이 많아서 수요가 Python 만큼 발생하지는 않겠지만 언어의 난이도 학습곡선 활용도 등등을 고려하면 앞으로 점점 더 사용자층이 두터워질 언어가 아닐까 조심스레 예측해본다.

 

오래전부터 관심을 가지고 간간히 공부해 오고 있던 언어이긴한데 프로그래머인 나에게는 그렇게 쉽지는 않은것 같다. 문법의 상이함이 자꾸 걸림돌이되고 사고의 확장을 방해한다. 

아뭏튼 꾸준히 공부하다보면 극복이 되겠지만 가끔씩 탁탁 걸리는 부분이 있어서 좀 괴롭긴하다.

 

이미 문법은 3번 학습을 했고 심화과정으로 넘어가야 하는데 몇가지 걸리는게 있어서 자꾸 늦어진다. 

GUI는 너무 느리고, UX는 구리고, 그냥 서버단으로만 사용하는게 맞는건지 애매모호한 포지션의 언어이다. (나에게는...)

일단 수요가 확인이 되었으니 학습을 더 본격적으로 시작해봐야겠다.

 

화이팅

728x90
728x90
반응형

학습 시작

728x90

+ Recent posts