Development Memories 13

LangChain의 기본 개념과 주요 모듈에 대한 정리

요즘 핫한 AI 관련 정보를 찾아보다가 LangChain이라는 단어가 많이 보여서 찾아보면서 정리했던 내용 입니다. 기초적인 사항이라 처음 접하시는 분들에게 추천합니다. LangChain이란? OpenAI, Cohere, Boolm, Huggingface등 여러 대형 LLM(Large Language Model)을 이용한 개발을 효율적으로 하기 위한 프레임워크 공식 사이트 https://docs.langchain.com/docs/ (TypeScript버전) https://js.langchain.com (python버전) https://python.langchain.com Introduction | 🦜️🔗 Langchain Introduction LangChain is a framework for deve..

플러터(Flutter) v3.7.7 doctor 초기 실행시 에러 해결

플러터 초기 설정 실행시 설정 문제점에 대해서 체크해주는 플러터 닥터(flutter doctor)를 제공하고 있습니다. 커맨드를 실행해서 설정에 문제가 있는지 없는지에 대해서 체크를 해 줍니다. 초기 설정후 거의 99.9% 발생하는 문제에 대해서 간략하게 해결하는 방법에 대해서 정리해 보았습니다. happymemoryies %> flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.7.7, on macOS 13.2.1 22D68 darwin-arm64, locale ko-JP) [✗] Android toolchain - develop for Android devices ..

M1 / M2 맥북(Macbook)에서 SSH 접속시 알고리즘 키 에러가 발생하는데 어떻게 하나요?

Apple Silicon (M1 / M2) 계열의 macOS에서 SSH 를 접속하면 아래와 같은 키 관련 에러가 발생하면 기존에 인텔 맥북으로 접속이 되었던 서버에 접속이 안됩니다. $ ssh 192.168.0.1 Unable to negotiate with 192.168.0.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 해당 서버의 암호화 키가 오래된 형식이기 때문에 접속이 안됩니다. SSH 접속 명령어에 특정 암호화 키를 사용하도록 지정하면 접속 할 수 있습니다. ssh -oK..

플러터(Flutter) v3.0.0 업데이트 요약

One Base Code로 멀티플랫폼 지원이라는 막강하지만 불안정한 플랫폼 논란이 계속 되는 Flutter(이하 플러터)가 구글의 지속적인 관리와 개발로 인해 지난 2022년 5월 11일, Google I/O에서 3.0.0 버전을 발표하였다. 3.0.0 업데이트에 대한 대략적인 요약을 통해 어떤 점들이 바뀌었는지 알아보자. 자세한 사항들은 아래 공식 릴리즈 노트와 블로그를 통해 보시기 바랍니다. https://docs.flutter.dev/development/tools/sdk/release-notes/release-notes-3.0.0 Flutter 3.0.0 release notes Release notes for Flutter 3.0.0. docs.flutter.dev https://medium.c..

Docker 환경에서 MySQL 로그인시 Access denied for user ‘’@’172.17.0.1'(using password: YES) 에러가 발생 할때

Docker 환경에 설치한 MySQL에 계정을 생성할때 도메인을 일반적인 localhost로 지정하면 에러가 발생 합니다. 그렇기 때문에 에러 메세지에 나오는 Docker 가상 IP로 지정을 해서 계정을 생성해야 합니다. 1. MySQL 콘솔 접속하기 $ docker exec -it mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 360 Server version: 8.0.21 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights..

Docker를 이용하여 MySQL 설치하고 접속하기

자신의 로컬에 개발환경을 구축하거나 플랫폼 테스트를 하기 위해서 요즘은 Docker 컨테이너를 많이 이용하고 있습니다. 이미지만 있으면 어떤 PC이든 쉽게 환경을 구축하고 실행해 볼수 있다는 장점이 있습니다. Docker를 이용하여 MySQL을 설치하고 접속하는 방법에 대해서 정리해 보았습니다. 1. Docker 설치하기 아래의 사이트에서 자신의 OS에 맞는 도커를 다운 받아서 설치 합니다. https://www.docker.com/products/docker-desktop Docker Desktop for Mac and Windows | Docker Learn why Docker Desktop is the preferred choice for millions of developers building c..

클린코드를 위한 프로그래밍의 기본 법칙 (DRY, KISS, YAGNI)

좋은 코드를 작성하기 위해 클린코드 관련 책도 읽어보면서 가장 기본적인 사항으로 머리속에 넣어두면 좋을것 같아서 각각의 개념을 보고 좋은 코드에 대한 간략한 정의들도 기록해 보았습니다. 1. DRY - Don't Repeat Yourself 중복 코드 작성을 하지 말아라. 중복 코드를 이곳저곳에 작성하지 않아야 한다. 작은 규모의 프로젝트 일때는 복잡도가 없기 때문에 유지보수와 코드 리딩이 쉽겠지만 규모가 큰 프로젝트나 점점 커져가는 프로젝트라면 복잡도가 기하급수적으로 늘어나기 때문에 나중에 유지보수와 코드 리딩이 어려워져 버그 발생률도 높아지게 됩니다. 규모가 큰 프로젝트에서는 각 부분을 담당하는 여러 팀들이 협업을 이루어 진행하게 됩니다. 각각의 팀에서 개발된 기능이나 함수 등을 서로 연동하여 하나의..

【JPA】기본 키(Primary Key) 매핑 정리

JPA의 기본 키 매핑에 대해서 공부한 내용을 간략히 기록해 봅니다. (기본 내용 출처는 자바 ORM 표준 JPA 프로그래밍 책 입니다.) JPA가 제공하는 데이터 베이스 기본 키 생성 전략은 아래와 같습니다. 직접 할당 기본 키를 어플리케이션에서 자동으로 직접 할당 한다. em.persist()를 호출하기 전에 어플리케이션에서 직접 식별자 값을 할당해야 한다. 만약 식별자가 없으면 예외가 발생한다. 참조 소스 - 책에 기재되어 있는 예제 소스로 상세한 내용은 별도로 찾아보시길 권장 합니다. @Id @Column(name = "id") private String id; Baord board = new Board(); board.setId("id1") // 기본 키 직접 할당 em.persist(board..

【JPA】엔티티 매핑(Entity Mapping) - @Entity, @Table

객체와 테이블 맵핑을 담당하고 있는 @Entity 와 @Table 어노테이션에 대해서 공부한 내용을 정리해 봅니다. (기본 내용 출처는 자바 ORM 표준 JPA 프로그래밍 책 입니다.) @Entity JPA에서 테이블과 매핑할 클래스에는 @Entity 어노테이션을 붙혀야 사용할수 있는데, 어노테이션을 사용하게 되면 JPA에서 자동 관리를 하게 됩니다. 속성 name : JPA에서 사용할 엔티티 이름 지정, 지정하지 않으면 클래스 명을 사용 사용상 주의 사항은 아래와 같습니다. 기본 생성자는 필수로 있어야 합니다. JPA에서 엔티티 객체를 생성할 때 기본 생성자를 사용하므로 반드시 존재해야 합니다. 그러나 자바는 생성자가 하나도 없으면 자동으로 생성하기 때문에 별도로 만들 필요는 없지만 기본적으로 숙지해 ..

【JPA】플러시(Flush)

JPA의 플러시(flush)에 대해서 공부한 내용을 정리해 알아보겠습니다. (기본 내용 출처는 자바 ORM 표준 JPA 프로그래밍 책 입니다.) 플러시는 영속성 컨텍스트의 변경 내용을 데이터베이스에 적용하는 작업을 말합니다. 플러시를 실행하게 되면 아래와 같은 작업이 발생하게 되는데, 영속성 컨텍스트에 있는 모든 엔티티를 스냅샷과 비교해서 변경된 엔티티를 찾아 내서 수정 쿼리를 만들어 쓰기 지연 SQL저장소에 등록하게 됩니다. 쓰기 지연 SQL 저장소의 쿼리를 데이터 베이스에 전송하여 적용 합니다. ▶ 영속성 컨텍스트를 플러시하는 방법에는 3가지가 있는데 em.flush()를 직접 호출 영속성 컨텍스트를 강제로 플러시 하는 방법으로 테스트나 다른 JPA를 함께 사용할때를 제외하고는 사용하지 않는 것이 좋..

반응형