2024/11 30

폰 노이만 구조의 현대 컴퓨팅, 미래의 컴퓨팅은? (폰 노이만 구조 공부)

폰 노이만 구조(Von Neumann Architecture)는 현대 컴퓨터의 기본 구조로, 프로그램과 데이터를 동일한 메모리에 저장하고, CPU가 이를 순차적으로 처리하는 방식의 컴퓨터 아키텍처입니다. 이 구조는 1945년에 존 폰 노이만(John von Neumann)이 제안한 것으로, 메모리, 제어 장치, 산술 논리 장치(ALU), 입력 장치, 출력 장치로 구성됩니다. 폰 노이만 구조의 핵심 요소는 다음과 같습니다:메모리: 프로그램 코드와 데이터를 저장하는 동일한 메모리 공간을 사용합니다.중앙 처리 장치 (CPU): 명령어를 해석하고 실행하며, 산술 논리 연산을 수행하는 ALU와 명령어 실행 순서를 제어하는 제어 장치로 이루어져 있습니다.프로그램 내장 원리: 프로그램(명령어)과 데이터가 동일한 메모..

생각 기록하자 2024.11.11

배포를 해보기 위해 클라우드와 서비스 배포 공부

배포에는 두 가지 관점이 있다고 한다. 로컬에서 사용하기 위한 배포 방식사용자에게 어떤 패키지를 전달해서 사용자가 그걸 설치해서 사용하는 방식의 배포예를 들어, CD로 스타크래프트 했던 건 CD를 통해 배포하는 것.앱스토어에서 앱을 다운받아서 로컬에서 사용하도록 앱파일을 배포하는 것.로컬에서 사용하지 않는 배포 방식서버, 사용자 단말기에서 서버에다가 요청해서 뭔가를 받아온다요즘 앱들의 대부분이 이렇게 운영된다, 인터넷에 접속하지 않는 앱은 없다고 봐야 한다.특히 우리가 집중하는 건, 웹은 거의 99.9%가 인터넷에 접속해서 서버에 뭔가를 요청해서 응답을 받아온다.그런 역할을 하는 게 서버라고 함. 서버를 세팅하는 걸 서버 배포, 클라이언트 앱을 배포하는 걸 클라이언트 배포라고 한다면은,기본적으로 클라우드..

Chatbot 응답을 AI(LLM)가 해주도록 API 연결하기(2) - API 실제로 연결

1. 일단 OpenAI API key 를 가지고 와야 한다.여러가지 AI/LLM API가 있겠지만, 나는 공부용으로 잠깐 사용할 것이니까 돈이 조금은 쓰이더라도 MSVScode에서 편하게 사용가능한 openAI를 사용할 것이다.이 key 라는게 있어야, API를 사용할 수 있다. 그리고 잘 지켜야 한다. 혹시나 이걸 누가 알게 되면, 내 key로 결제를 막 해버릴 수도 있으니까.너무 신기한건, 처음 key를 생성할 때에만 key를 보여주고 그 다음에는 보여주지 않는다는 것.2. OpenAI 라이브러리를 다운로드하자.MS VScode에pip install openai 를 하면 된다.그리고 나서 chatGPT가 알려주는대로 했다.utils.py 라는 파일을 새로 만들어서 코드를 넣었다.이번에는 gpt-3.5..

Chatbot 응답을 AI(LLM)가 해주도록 API 연결하기(1) - 연결하기 전에 API가 무엇인지 공부!

공학에서는 최적화(자원이 무한하지 않기 때문에), 복잡성 관리 (지능이 무한하지 않기 때문에)두 가지가 중요하다.그 중에서 복잡성 관리의 경우에는, 모듈화를 통해 해결할 수 있다.일상생활에서 예를 들어보면, 옷을 온 집안에 다 널부러놓는 것 보다는 옷장에만 옷을 넣어놓는다면 복잡하지가 않게 된다.옷장이라는 모듈화가 되는 것. 옷을 꺼내서 입고, 다시 옷장에 넣는 것. 기본적으로 역할을 구분해야 한다. 역할 단위를 모듈이라고 보면 된다.역할을 구분하는 것에서 멈추지 않고, 서로의 역할이 어떻게 작동하는지는 몰라도 된다.예를 들어서, 월급을 받는 직장인들은 월급이 들어오는 금액과 일시만 알면 되는것이지 어떻게 해서 그 금액이 산출되었고 어떤 과정을 통해서 내 통장으로 월급이 들어오는지는 굳이 몰라도 된다. ..

Django Templates (html) / Form으로 DB에 메시지 추가 / 메시지 응답 기능 구현 / AI(LLM) API 연결은 다음 포스팅으로.

Django templates은 html을 관리하는 용도라고 했다.그래서 html 파일을 담고 있다.한 가지 기억하면 좋을 건, chatbot/templates/chatbot/ooo.html 이런식으로 경로가 있을 것을 권장한다는 점. AI chatbot 을 만들고 있다.지난 번에는, chatroom.html을 작성하는 것까지 했다.이번에는 chatroomlist.html을 작성해볼건데, 마찬가지로 chatGPT에게 물어볼 것이다.참고로, 나는 결제해서 사용하고 있어서 GPT최신버전이다. GPT에게, chatroomlist.html도 만들어줄래? 라고만 물어봤는데, 물론이죠! chatroomlist.html 파일은 각 채팅방의 목록을 보여주는 간단한 템플릿입니다. 각 채팅방을 클릭하면 해당 채팅방 페이지..

Django View 와 URL / DB랑 View 연결 / Django Template (chatroom with messages)

View - 사용자에게 보여줄 데이터를 준비해주는 역할Template - 데이터를 바탕으로 사용자에게 시각적 표시를 해주는 코드 무슨 View가 필요할까- 채팅방 / 채팅방들의 목록 : 채팅방 목록을 보여주는 url이 필요하다- 채팅방 안의 뷰 (그 채팅방에 속한 메시지들을 표시) : 특정 채팅방을 보여주는 url도 필요하다일단, 이렇게 view를 작성했는데, DB랑 연결하는 건 나중에. 일단은, View의 작동을 확인하기 위함. 그러면, 이제는 저런 화면을 보여주기 위해서는urls.py 에서, /chatbot/ 이라고 입력했을때랑,/chatbot/숫자 이렇게 입력되었을때 어떤 url을 넘겨줄 것인지를 작성해야 한다. 폴더 상황이, mysite 라는 폴더 안에, chatbot 이라는 폴더랑 mysite ..

Django Model 작성 / Migration과 결과 확인 / DB 확인 (PostgreSQL의 pgAdmin 4, Django Admin 기능)

Model을 작성하려면,관계형 DB에 대한 이해가 필요하다Model 에는 data type을 정의해야 하고, 그들의 관계를 정의해야 한다.지금 만들어보려고 하는 건, AI Chatbot.메시지를 주고 받는 것이 기본이니,메시지라는 데이터 타입이 있다.- 이거는 본인이 만들 것에 대해서 설계를 하는 것이니 정답이 있는 건 아님. - 발신자- 내용- 발신 날짜 시각- 채팅방의 FK - 채팅방이름- 만들어진 날짜 시각 (채팅방이 만들어진 시간 순서대로 보여주려면 필요) 채팅방 - 메시지 : 1:N 관계즉, 메시지는 채팅방에 FK 를 가져야 함.class - object의 관계는Schema - record 의 관계랑 같은 관계.django 가 그걸 적극적으로 이용하는 것table, shema table을 정의한..

Django 와 PostgreSQL의 연결, 그리고 App 생성 (인생 첫 웹사이트 구축)

말그대로 Django, PostgreSQL 설치를 했고, python manage.py startapp chatbot 이라고 해서,chatbot 이라는 이름의 앱을 생성했다.chatbot 이라는 새로운 폴더? 가 생겨난 것 같다. 그 폴더 안에 파이썬 파일들이 있다.admin, apps, models, tests, views. 앞서서 배운 것 중에, 어플을 MVC (Model, View/Template, Controller/Worker) 의 구성으로 바라보았다.그러니 장고 어플을 생성했더니 저렇게 파이썬 파일들이 기본적으로 설치가 된 것.  1. 이제, 기본 View 작성을 할 것.2. runserver --> localhost기본 뷰를 작성해서 런서버를 한 다음에, web browser로 접속이 되는지..

관계형 데이터베이스 및 PostgreSQL

https://holix.com/course/development-data/UX25 나의 첫 코딩 수업 - AI를 이용한 개발 완벽 가이드 | 홀릭스(HOLIX)나의 첫 코딩 수업 - AI를 이용한 개발 완벽 가이드holix.com 데이터베이스의 필요성- 구조적이고 형식에 맞는 저장을 하고, 새로 생긴 데이터를 잘 저장을 하면,1. 데이터의 정합성을 관리하기 더 쉬움, 정합성이라는 건, 데이터가 서로 모순이 없는 상태2. 쓰고 읽는 속도를 최적화할 수 있음. 저장,불러오기, 쿼리 등등3. 표준을 만들어 타 프레임워크와 호환성을 높일 수 있음4. 백업과 복원이 쉬움5. 이벤트(transaction)를 완성도 있게 처리할 수 있음 --> ACID Transaction 트랜잭션의 주요 특징 ACID : 트랜잭..

홀릭스 HOLIX - 공부 중 - Django 소개 및 설치

https://holix.com/course/development-data/UX25 나의 첫 코딩 수업 - AI를 이용한 개발 완벽 가이드 | 홀릭스(HOLIX)나의 첫 코딩 수업 - AI를 이용한 개발 완벽 가이드holix.com HTTP request/response 에 대해서 배웠었다.client 가 request를 보내면server 가 response 를 하는 통신 방식이다. Django가 server의 역할을 하는 쪽 같다. 파이썬 프로세스 안에 장고 엔진이 있는 것.장고 엔진 위에 장고 어플리케이션을 올리는 것. 그러니까,내 기기 위에서 (내 컴터)로컬 OS 가 돌아가는 거고 (windows 또는 mac os)그 위에서 python이라는 프로그램이라고 할 수도 있고 process 라고 할 수도..