LCEL (Lang Chain Expression Language) LCEL은 LangChain 에서 체인과 루틴을 선언적 방식으로 정의할 수 있도록 도와주는 표현 언어이다. 기존 Python 코드 기반 체인 구성보다 직관적이고 간결하게 워크플로우를 만들 수 있도록 설계됨 함수형 프로그래밍 스타일기존 LangChain에서 체인을 구성하려면 Python 클래스 직접 조합해야 했지만, LCEL 사용하면 간결한 표현식으로 정의 가능연산자 기반 조합| 파이프 연산자로 체인 연결+ 더하기 연산자로 병렬 실행 # 예제 from langchain_core.prompts import PromptTemplatefrom langchain_core.runnables import RunnableLamdafrom langch..
SKALA 과정에서 수업을 듣던 중, 오랜만에 JS 기본 개념에 대해 공부하며 흐릿해진 개념에 대해 다시 정리해보려한다. 각각 파트에 대해서 배경, 문제점, 해결방법 그리고 예시 코드를 곁들인,, 느낌으로 정리해보려한다. 동기 (Synchronous) vs 비동기 (Asynchronous) 자바스크립트는 기본적으로 싱글 스레드 기반의 언어로, 코드가 한 줄씩 순차적으로 실행된다. 하지만, 네트워크 요청, 파일 입출력, 타이머 등의 작업은 시간이 걸리므로, 이러한 작업이 실행되는 동안 프로그램이 멈추지 않도록 비동기 처리 방식이 필요하다. 동기 방식에는 실행 시간이 긴 작업 (서버 요청, 파일 읽기 등)이 있으면 전체 코드 실행이 멈춰버리는 문제가 발생한다.console.log("시작");// 동기 코드..
바닐라 자바스크립트의 함정중요한 언어 확장이나 프레임워크 없이 순수 자바스크립트 만을 사용하는 것을 ‘바닐라’ 라고 부른다. 바닐라 자바스크립트의 모든 약점은 프로젝트 규모가 커지고 장기화 될수록 더욱 드러난다. 값 비싼 자유 자바스크립트는 사실상 코드를 구성하는 방법에 제한이 없다. 그러나 파일이 점점 늘어날수록 그 자유가 좋지 않게 다가올 수 있다. 다른 언어는 컴파일러가 충돌할 수 있다고 판단하면 코드 실행을 거부할 수 있다. 하지만, 자바스크립트처럼 충돌 가능성을 먼저 확인하지 않고 코드를 실행하는 동적 타입 언어는 그렇지 않다. 결국 코드의 자유는 자바스크립트를 재밌게 만들기도 하지만, 내가 짠 코드를 안전하게 실행하려고 할 떄는 상당한 고통이 따를 수 있다. 부족한 문서 자바스크립트 ..
자바스크립트 자주 볼 수 있는 this 키워드에 대해서 알아보자 에서 this 키워드를 출력해보면 window{...} 라는 것이 출력된다. 또한 일반 함수 내에서 this 키워드를 출력해보면 function f(){ console.log(this); } f(); 여기서 Window 란 무엇일까? Window 란? Window 는 모든 전역변수, 함수, DOM 을 보관하고 관리하는 전역 객체이다. 우리가 흔히 사용하는 document.getElementById(), alert(), console.log() 이러한 함수들을 보관하는 보관소이다. 이 보관소는 하나의 큰 {오브젝트} 라고 생각하면 된다. 또한 코드를 짜며 전역변수들을 만들었을 때도 이 변수들을 window에 보관해준다. strict mode ..
이번 학기 IoT시스템 설계 및 실습 수업에서 라즈베리 파이를 이용한 자율주행 프로젝트를 진행하였다. 사실 수업 초반에는 아두이노라던가 라즈베리파이에 대해서 무지한 상태였다. 따라서 초반엔 흥미롭지 않았지만, 자율주행 프로젝트를 진행하며 모델을 학습시키고 주행해보고 하는 과정에서 흥미를 느껴 한학기간 진행한 프로젝트를 블로그에 정리해보고자 한다. 해당 글은 라즈베리파이를 이용한 자율주행 자동차 제작이고, 학습 데이터 수집과 딥러닝 모델 학습에 중점을 두었다. 자율주행 자동차란? 자율주행 자동차란, 운전자 또는 승객의 조작 없이 자동차 스스로 운행이 가능한 자동차를 말한다. 정의에서 알 수 있듯이, 인간의 삶에 편리함을 주는 운전 장치라고 볼 수 있지만, 자율 주행 학습 과정에서 양질의 데이터가 주어지지 ..
- 몇 초마다 자동으로 데이터 다시 가져오기 - 요청 실패 시 몇 초 간격으로 재시도 - 다음 페이지 미리 가져오기 - ajax 성공 / 실패 시 각각 다른 화면 보여주기 ajax 요청하다가 보면 위와같은 기능들 필요하다 react-query 사용하면 더욱 편리하다 실시간 데이터 보여주어야 하는 사이트들에서 유용 react-query 설치 세팅 터미널에 npm install react-query 작성 index.js 파일에서 import { QueryClient, QueryClientProvider } from "react-query" //1번 const queryClient = new QueryClient() //2번 const root = ReactDOM.createRoot(document.getEl..