전체 글 120

[Project] 챗봇 만들기 프로젝트 4

플라스크?? 플라스틱??flask 서버를 만들기 전에 Flask 가 뭐하는 서버인건지 모르는 분들이 있을거 같아 코드를 작성 하기 전에 우선 알아보기로 하자 (사실은 내가 flask 서버가 뭔지 몰랐다.) Flask가 뭔데?웹 개발을 처음 접하는 사람들은 이해가 어려울 수있으니단순히 쉽게 말해 보자면 가벼운 Python 웹 프레임워크라고 알아두자 1️⃣ Flask의 특징경량(가벼움)최소한의 코드로 웹서버와 라우트를 만들 수 있음유연성필요한 기능만 서택해 확장 가능 하며, 복잡한 구조 없이 빠르게 개발가능 Python 친화적Python 코드로 라우트, 요청 처리, API 연동등 쉽게 구현2️⃣ Flask의 기본 구조from flask import Flask, request, jsonify# 1. Flask..

[Project] 챗봇 만들기 프로젝트 3

화면을 만들었으니 이제 챗봇 API를 불러오는 단계로 넘어가보도록 하자 우선 .env파일은 이전에 말했듯 공개가 불가능 함으로 해당 코드 생성 하는 작업은 작성하지 않도록 하겠다. CHATBOT_GPT.py 코드 구조어떤 코드를 작성하던 무조건 코드를 작성 할때엔 그 코드의 구조를 어떻게 짤건지프레임부터 만드는것이 가장 중요하다.이력서 홈페이지를 제작 하면서 구조 설계없이 무작정 코드를 짜면 유지보수가 어렵다는 것을그 프로젝트를 진행 하다 보니 저절로 깨우치게 되었다. 역시... 모든건 당해봐야 절실히 깨닫는다.. 그렇기에 이번 프로젝트에서 Flask 서버와 GPT5 Nano API 연동하고사용자의 질문을 받아 API를 호출하며, 그 응답을 Json 형태로 반환하는 구조로 만들어 보려고 한다. 구조는..

[Project] 챗봇 만들기 프로젝트 2

챗봇 프로젝트 - 기본 페이지 만들기프로젝트의 계획을 만들었으니 이제 챗봇의 얼굴인 페이지를 만들어보자 페이지는 우선 간단하게 chatarea 와 버튼으로 구성해 보았다. DOCTYPE html> html lang="en"> head> meta charset="UTF-8" /> meta name="viewport" content="width=device-width, initial-scale=1.0" /> title>Documenttitle> head> body> h1>챗봇 창h1> div id="chatbot_container"> textarea name=..

[Project] 챗봇 만들기 프로젝트 1

AI 개발자 마스터 국비 교육 과정을 듣기 4개월차 드디어 마지막 미니 프로젝트 HTML 홈페이지 제작 프로젝트가 시작 되었다. 오랜지 주스에 첨가되는 0.9%의 오랜지 향처럼 AI 개발자교육생 답게, 조금이라도 특별한 "킥"을 추가를 해야 하는게 맞다고 생각이 들었다. 그렇게 이번 프로젝트에서 가장 중책(?)인 챗봇 개발(?) 을 담당하였다. 이번 프로젝트는 이전 LLM 미니 프로젝트에서 개발한 버트 모델을 기반하여 한 프로젝트의 연장선으로홈페이지를 직접 구현 해 보기는 연장선이다. . 프로젝트 폴더 구조 시작 하기 전에 트리 구조 부터 만들어보았다. 메인 폴더: CHATBOT.PYTHON하위 폴더: HTMLtempates, CSS, jsCHATBOT.PYTHON├── HTMLtemplet├─..

[J.S] 10. 함수 기능 확장하기

10.1 매개 변수와 인수함수는 어떤 작업을 수행시 외부에서 입력값을 받아 처리 할 수 있음.함수를 정의할 때 외부에서 전달하는 데이터를 함수에서 받을 수 있도록 해주는 변수 : 매개변수(Parameter) 정의한 함수를 실제로 호출할 때 소괄호 안에 넘겨주는 실제 데이터: 인수(Argument)함수 호출시 전달 하는 데이터(인수)는 함수의 매개 변수에 자동으로 할당.// 함수 선언문function 함수이름(매개변수1, 매개변수2, 매개변수3, ..., 매개변수n) { // 함수 몸체}//함수 표현식const 함수이름 = function 식별자(매개변수1, 매개변수2, 매개변수3, ..., 매개변수n) { // 함수 몸체}// 화살표 함수const 함수이름 = (매개변수1, 매개변수2, 매개변수3,..

[J.S] 9. 함수를 정의하는 방법

9.0 함수 정의 방법함수는 여러가지 방식으로 정의가 가능함수 선언문(functio declarartion statement) 함수 표현식(fuction expression)화살표 함수(arrow function)9.1 함수 선언문으로 함수 정의하기function 키워드와 함수 이름을 사용해 함수를 선언 하는 방법호이스팅 덕분에 함수 선언전에 호출 가능형식fucntion 식별자(){}식별자()또는 식별자()fucntion 식별자(){}function greet() { console.log("안녕하세요!");}greet()greet()function greet() { console.log("안녕하세요!");}9.2 함수 표현식으로 함수 정의하기자바스크립트에서 함수는 객체에서 파생된 자료형함수도 변수에 ..

[개발] 호이스팅이란?

1.호이스팅(Hoisting)이란?자바스크립트 엔진은 코드를 실행하기 전 변수선언과 함수선언을 먼저 메모리에 올려두는 과정을 거침실제 코드 작성 순서와 실행 순서가 달라질 수 있음이 과정을 호이스팅(끌어 올리기) 라고 부른다.2. 자바스크립트 실행 과정: 컴파일과 실행자바스크립트는 코드를 한 줄씩 바로 실행 하는 것이 아닌,먼저 컴파일 단계에서 변수와 함수 언언을 찾아 메모리에 등록변수/상수 선언(var, let, const)함수 선언(function)컴파일이 끝난 뒤, 코드가 순서대로 실행2. 함수 선언문과 호이스함수 선언문 전체가 메모리에 올라감greet()function greet() { console.log("안녕하세요!");}함수 선언문은 컴파일 단계에서 함수 전체 코드가 메모리에 등록그렇기에..

개발 2025.08.13

[J.S] 8. 함수란?

8.1 함수의 정의어떠한 목적을 가지고 작성한 코드를 모아둔 블록문필요 할때마다 호출 해서 재사용이 가능내부에 모아둔 여러줄의 코드를 한번에 실행 가능 같은 코드를 여러번 반복 작성할 필요 없음8.2 함수의 특징재사용 가능성 - 한 번 정의 하면 여러 곳에서 호출이 가능가독성 향상 - 코드가 깔끔하고 이해하기 쉬워짐유지보수 용이 - 로직 변경시 함수만 수정하면 됨매개변수(parameter)와 반환값(Return Value)을 통해 유연하게 동작8.3 함수의 장점중복 코드 제거 → 코드 길이 감소논리적인 구조화 → 큰 프로그램을 작은 단위로 나누어 관리버그 수정 용이 → 오류를 한 곳에서만 고치면 됨협업 효율성 증가 → 기능 단위로 나누어 작업 가능8.4 기본 함수의 구조(함수 정의하기)특정 작업을 수행하..

[Git & Git Hub] 5. 커밋 내용 확인하기

지금까지 버전을 만드는 법을 알아보았으니 만든 버전을 확인하고,버전마다 어떤 차이가 있는지 파악 하며 버전 관리하는 방법을 알아보도록 하자. 5.1 커밋 기록 자세히 살펴보기 -git log프로젝트의 버전 히스토리를 관리 가능깃에서 자주 사용하는 명령어커밋 했던 기록 살펴보는 명령어C:\Git_tutorial>git log해당 명령어를 입력시 아래와 같이 각 커밋에 대한 상제 정보 표시 커밋 해시(commit hash): commit 4d8dc8bc35fb63d2ea57b18f37259d9d1ac63815커밋을 구별 하는 고유한 식별자 아이디보통 앞의 7자리만 사용하여 커밋을 식별 ex4d8dc8b깃 해시(git hash) 라고도 함최신 버전: (HEAD -> main)현재 체크아웃(작업중) 상태를 나..

개발/Git & GitHub 2025.08.12

[J.S] 7. 반복문 다루기

7.0 반복문이란?지정한 조건이 참으로 평가 되는 동안 지정한 블록문을 반복해서 실행 동일한 코드를 여러 번 실행 시 사용 되는 구문코드 중복을 줄이고 작업을 효율적으로 처리 할 수 있게 도와줌루프(loop)반복문을 영어로 loop라고 한다. while, do ... while, for 문을 while 루프, do ... while 루프, for 루프 라고도 7.1. while 문설명조건이 참인 동안 코드 블록을 반복 실행블록문을 수행 하기 전 조건식 평가반복 횟수를 미리 알기 어렵거나 조건에 따라 달라질 때 유용조건식이 처음부터 거짓이면 한 번도 실행 안 될수 있음형식while (조건식) { // 반복 실행할 코드} 예문let i = 0;while (i 5) { console.log(i); i..