Python Property
·
Languages 📜
함수인데 변수처럼 쓰는 것 내부에 계산이나 검증 로직을 포함시키고 싶지만, 외부에서는 이를 그저 단순한 attribute처럼 사용하게 만들고 싶을 때 property를 사용한다. c.f. 단일 접근 원칙(Uniform Access Principle) : 내부 로직이 단순한 변수인지, 복잡한 함수 계산인지 사용자는 알 필요 없이 똑같이 접근할 수 있어야 한다는 개념. class Person: def __init__(self): self._age = 20 @property def age(self): return self._agep = Person()print(p.age)실제로는 메서드이지만 attribute처럼 접근 가능내부에 로직을 넣을 수 있다. 활용 예시1. 데이..
FastAPI로 Local에 RAG 백엔드 서버 띄워 응답 받기
·
Project Log 🏗️
백엔드 코드# main.pyfrom dotenv import load_dotenvload_dotenv()import osfrom typing import List, Literal, Optionalfrom fastapi import FastAPI, HTTPExceptionfrom fastapi.responses import StreamingResponsefrom pydantic import BaseModelfrom llm import stream_ai_response # 아래 llm.py에서 만들 함수app = FastAPI()class ChatMessage(BaseModel): role: Literal["system", "user", "assistant"] content: strclass C..
Flutter UI 그리기 (기본 Widget 익히기)
·
Playground 🎢
3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣0️⃣ 개념🎯 Flutter란?Google이 개발한 Dart 언어 기반의 선언형 UI 프레임워크로,하나의 코드베이스로 모바일,웹,데스크톱 앱을 동시에 만들 수 있는 기술이다.Flutter는 자체 렌더링 엔진(Skia)을 사용해 플랫폼에 의존하지 않는 UI를 구현한다. 🎯 UI 단위 : WidgetFlutter에서는 모든 것이 Widget이다. (버튼, 텍스트, 레이아웃, 화면 전체) 🎯 React와 비교Flutter의 Widget은 React의 Component와 개념적으로 동일하다.Flutter는 UI를 자체 엔진으로 그리는 반면, React는 DOM을 통해 브라우저가 UI를 그린다. 1️⃣ 기본 위젯1. Icon, IconButtonchild: Icon( ..
Opic AL 후기, 모든 꿀팁, 국내파 IH에서 AL 받은 후기
·
Achievements 🎁
ℹ️ Intro제목을 화려하게 적었는데, IH 받다가 AL 받은 사람으로서 내가 쌓은 오픽 경험치를 풀어보고자 이렇게 썼다ㅎㅎ글이 너무 긴 것 같은데 시간 없으면 요약 부분이랑 이렇게 된 부분만 봐도 될 것 같다. 나는 영어를 독해 위주로 공부해 온 전형적인 국내파 사람이다. 영어권 나라에는 5일 가봤고 회화 학원에는 2~3달 다녀본 적 있다.그리고 온라인 언어 교환 채널에서 외국인한테 말 걸어 친구하고 소통해본 적이 꽤 많다. (소통이 길게 이어지는 인연은 없었지만..) 영어 공부하는 거 좋아하는 편이어서 그냥 오랫 동안 조금씩 메모하며 꾸준히 공부해왔다고 생각하는데스피킹 실력이 별로 늘지는 않았다.오픽 IH 받고 나서 AL 받으려면 어떤 점에 주력해야 하는지 찾아봤다. 여러 모로 파악한 결과, IH ..
Spring Boot & React 초간단 REST API 게시판 만들기
·
Playground 🎢
0️⃣ 목표프론트엔드와 백엔드의 상호작용을 통해 데이터를 주고 받는 흐름 읽기.REST API 기본 개념 배우고 실습을 통해 경험하기.간단한 게시판 프로젝트를 통해 웹 애플리케이션 개발의 흐름 이해하기.할일React.js를 사용한 간단한 사용자 인터페이스(UI) 구현Spring Boot를 이용한 RESTful API 구축CRUD 기능(생성, 조회, 수정, 삭제)이 포함된 게시판 기능 구현Axios를 활용한 클라이언트와 서버 간 데이터 통신간단한 MySQL 데이터베이스 연동 및 사용법+) JPA는 간단히 사용만 할 것이다. ℹ️ 배경지식1. CSS는 전역(Global)이다.CSS는 한번 로드되면 전체 페이지에 적용된다. 이건 React를 쓰든 안 쓰든 똑같이 적용되는 웹의 기본 동작이다.태그에 전에 쓰던 ..
LangChain 기본기 & LLM 호출 실습 (가상 환경 구축부터 자세히)
·
Data Science & AI 🧠
"한 시간으로 끝내는 LangChain 기본기(강병진T)" 강의를 시청하며 정리한 내용입니다.🏞️ Anaconda로 가상환경 만들고 에디터로는 Cursor를 쓴다. Langchain 기본기는 향후 반복적으로 활용할 것 같아서 정리해보았다.🐦⛓️‍💥 Langchain이란? LLM 기반 애플리케이션을 쉽게 개발할 수 있게 해주는 Python / Javascript 프레임워크이다.0️⃣ 실습 환경 구축1. Local에서 돌릴 LLM 다운로드우선, local에서 LLM을 돌려볼 것이다. local에서 돌릴 수 있는 모델들은 무료이며 오픈 소스로 공개된 모델들이다.ollama를 설치하고서 터미널에서 `ollama pull llama3.2:1b` (llama라는 모델을 다운로드 받는다.)`llama3.2:..
[Java] 문자 인코딩, 디코딩 실습
·
Java & Spring 🌀
자바 고급 2편 섹션 2. 문자 인코딩 📌 학습 목표 : 입출력을 다루기 전 다음과 같은 기본 이론을 확실히 이해하고 넘어 가자. ▫️ 컴퓨터가 데이터를 저장하는 원리 ▫️ 텍스트 데이터와 문자 인코딩의 원리 ▫️ 실무에 꼭 필요한 문자 인코딩 개발을 하다가 문자가 깨질 때 해결하기 위해서는 1️⃣ 문자 인코딩Charset (문자 집합)을 사용해서 기본적인 문자 인코딩을 해보았습니다.package charset;import java.util.Arrays;import java.nio.charset.Charset;import static java.nio.charset.StandardCharsets.*;public class EncodingMain1 { private static final Chars..
2024년 1회 정보처리기사 합격 후기
·
Achievements 🎁
시험 준비 과정✅ 교재 - 중요한 부분을 우선으로나는 필기, 실기 모두 시나공에서 나온 교재로 공부했다.목차에 단원별 중요도가 A, B, C, D로 적혀있기 때문에(https://www.yes24.com/Product/Viewer/Preview/123036227 필기 책 미리보기 참고, 실기 책도 마찬가지)필기 시험 준비할 때 A, B 단원을 최우선으로 읽었다.필기도 그렇지만 실기는 특히 시험 범위가 넓기 때문에 단원별 출제 비중 파악이 중요하다. ✅ 기출 - 매우 중요실기는 주관식이니까 문제에서 어떤 식으로 물어보는지, 개념을 어느 범위까지 알아야 하는지에 대한 감을 잡는 것도 중요하다. 그러니 아직 거의 다 모르는 문제이더라도 냅다 기출을 뽑아서 공부하는 것도 좋다! 👉 '기사퍼스트 권우..
파이썬의 and / or는 True / False를 반환하지 않는다 (기본값 처리 패턴)
·
Languages 📜
1️⃣ return A and B or C 의 반환💫: 값을 선택적으로 반환하는 '삼항 연산자' 대체 구문이다.def solution(n): return n == int(n**.5)**2 and int(n**.5+1)**2 or -1👉 n**.5 : n**0.5 (n의 제곱근)👉 만약 n이 완전제곱수라면 n == int(n**.5)**2 여야 한다.💡 return 부분을 A and B or C라고 했을 때, 💫 A가 True이면 B를 반환하고, A가 False이면 C를 반환한다. 그 이유는 후술할 and, or의 동작 방식 때문이다.✅ Python의 논리 연산자 and, or 동작 방식1. and 연산자:▪ A and B 표현식에서 A가 False로 평가되면 B를 평가하지 않고 A를 반환한..