스터디노트
-
Azure Cognitive Search란?스터디노트/Data&AI 2023. 8. 14. 11:20
Azure Cognitive Search 웹, 모바일 및 엔터프라이즈 애플리케이션의 프라이빗 이기종 콘텐츠에 대한 풍부한 검색 환경을 추가할 수 있는 인프라, API 및 도구를 개발자에게 제공하는 클라우드 검색 서비스 데이터 원본에서 데이터 수집/검색을 자동화하는 인덱서의 형태로 다른 Azure 서비스와 통합 가능, 이미지 및 자연어 처리와 같은 Azure AI 서비스의 소모성 AI 또는 Azure Machine Learning에서 만들거나 Azure Functions 내부에 래핑하는 사용자 지정 AI를 통합하는 기술 세트 사용 가능 인덱서 데이터 원본을 크롤링하고 검색 문서를 대상 검색 인덱스에 로드하는 리소스 Azure Storage, Azure SQL Database 및 Azure Cosmos DB..
-
LangChain이란? (feat. Prompt Engineering, Multi Modal AI)스터디노트/Data&AI 2023. 8. 10. 15:01
LangChain이란? LLM(Large Languate Model)에서 구동되는 프레임워크 Prompt Engineering Prompts quality ∝ LLM quality Prompt Engineering 구성요소 Instruction 모델에게 외부 정보에 대해서 어떻게, 무엇을 할지 정함, 쿼리 작업, 결과물에 대한 구성 방법 정함. External information 모델을 위한 추가적인 정보들로 작용 수동으로 prompt에 입력, 백터 데이터베이스 검색, API와 같은 다른 수단을 통해 얻을 수 있음 User input 유저로부터 시스템에 입력되는 쿼리 Output indicator 생성된 텍스트의 시작 일반적으로 위 구성요소 순서대로 prompt에 작성 PromptTemplate imp..
-
Hadoop이란?스터디노트/Data&AI 2023. 8. 8. 10:18
하둡이란? 고가용성 분산형 객체 지향적 플랫폼(High Availability Distributed Object Oriented Platform) 큰 크기의 데이터를 클러스트에서 병렬로 동시에 처리하여 처리 속도를 높이는 것을 목적으로 하는 분산처리를 위한 오픈소스 프레임워크 오픈 소스, Java 기반 소프트웨어 플랫폼으로 빅데이터 애플리케이션용 데이터 처리와 스토리지 관리 컴퓨터 클러스터 내 여러 노드에 걸쳐 하둡 빅데이터와 분석 작업을 분배하며, 작업을 병력식으로 실행 가능한 작은 크기의 워크로드로 분해 코어 하둡 모듈 HDFS(Hadoop Distributed File System) 하둡 애플리케이션에서 사용하는 기본 스토리지 시스템 마스터 서버 역할을 하며 파일 관리와 클라이언트 파일 엑세스 및 ..
-
리팩터링 2판스터디노트/도서 2023. 5. 10. 08:58
이 책을 선택한 이유 실무에서 개발을 하는 경우 레거시 코드에 대한 고민은 현업 개발자라면 누구나 가지고 있을거라고 생각한다. 나 뿐만 아니라 팀원들도 레거시 코드 리팩토링에 대해서 여러번 이야기를 했었다. 팀원들끼리 스터디 이야기가 나오고 있는 상황이었고 팀원 중 한명이 자바스크립트 기반으로 설명된 리팩토링에 관련한 책을 추천하였다. 우리가 개발한 프로덕트는 자바스크립트로 개발하였다. 보통 자바를 베이스로 설명된 책들이 많은데 자바스크립트를 베이스로 리팩토링에 대해 설명해 준 책을 보고 팀원들은 모두 동의해서 스터디 책으로 리팩터링 2판을 선택하였다. 학습 계획 레거시 코드들은 OOP 개념들을 적용하지 않고 FP로만 개발이 되어있는 상태이다. 처음에는 '개발에 반드시 OOP를 사용해야 하는건 아니니까 ..
-
Mongoose를 사용하는 이유가 뭘까?스터디노트/알게된 내용 정리하기 2023. 3. 21. 14:16
팀에서 Database로 MongoDB를 사용하고 ODM으로 Mongoose를 사용하고 있다. 개인 프로젝트에서 MySQL을 사용하고 ORM으로 sequelize를 사용할 때와 팀에서 ODM으로 Mongoose를 사용하면서 ORM, ODM을 사용하는 근본적인 이유가 궁금해졌다. 왜냐하면 프로젝트 요구사항을 파악했을 때 ORM, ODM을 사용하지 않아도 있을 수 있다고 생각했기 때문이다. ORM, ODM을 사용하게 되면 DB에서 조회할 때 document를 자바스크립트 객체로 바꿔준다는 것 외에 다른 자세한 이유도 학습하기로 했다. Mongoose란?? MongoDB를 위한 ODM (Object Data Modeling) 라이브러리 데이터 모델링 간소화 스키마 기반 접근 방식으로 데이터 일관성을 더 쉽게 ..
-
DDD(Domain Driven Design)이란?스터디노트/알게된 내용 정리하기 2023. 3. 16. 15:48
Domain이란? 해당 비즈니스에서 다루는 분야 DDD(Domain Driven Desgin)이란? 비즈니스 도메일별로 나누어 설계하는 방식 데이터 연관 관계보다는 도메인을 기준으로 설계하는 방법 ex) 대중교통과 리뷰가 1 : N의 관계를 갖는다고 하면 데이터 기준 설계에는 맞지만 도메인 주도 설계에서 직접적인 연관 관계를 맺는 것은 옳지 않다. 도메인 복잡도 ∝ 코드 복잡도 핵심 목표 : Loose coupling, High Cohesion (모듈간 의존도 최소화, 응집도 최대화) Strategic Design (개념 설계), Tactical Design (구체적 설계) 참고자료 https://happycloud-lee.tistory.com/94 DDD 핵심만 빠르게 이해하기 마이크로서비스의 설계 방..
-
MongoDB findOne() without _id & MongoDB에서 find와 aggregate 성능 차이스터디노트/DB 2023. 1. 26. 09:39
findOne()으로 조회 시 _id 제외하기 const collection = 'yourCollection'; const result = await collection.findOne( { 조건, }, { projection: { _id: 0 } } ); find와 aggregate 성능차이 Sharding 되지 않은 MongoDB 서버에서는 find와 aggregate 성능 차이가 없다고 한다. find 쿼리나 복잡한 aggregate 쿼리 모두 단일 Shard에서 실행되고 결과를 클라이언트에 전송한다. 참고자료 findOne() without _id : https://stackoverflow.com/questions/48294613/mongo-find-function-wont-exclu..