본문 바로가기
반응형

역량 UP!58

9) ENS Project - 프론트엔드 후딱 학습하기(React Deep Dive!!) 2024.10.15 - [Front/React.js] - 8) ENS Project - 프론트엔드 후딱 학습하기(리액트 컴포넌트, JSX, 속성, 상태)저번시간에 이어서 오늘은 더욱 더 깊은 심화과정 입니다! 저장을 잘하면서 포스팅 해보도록 하겠습니다:)Point!!- JSX를 꼭 사용하지 않아도 되는 이유- 컴포넌트 트리를 설계하는 방법 + 프로젝트를 더 효율적으로 구성하는 방법- State 사용의 상급 개념과 특정 상급 개념을 살펴봅니다.     ㄴ 저번시간엔 useState()를 사용했습니다.- 자주 사용되는 중요 패턴과 Best Practices를 살펴봅니다.JSX를 꼭 사용하지 않아도 되는 이유?React Code는 Build Process를 통해서 변경 됩니다. 결과적으로 배포가능한 파일로 말.. 2024. 10. 31.
8) ENS Project - 프론트엔드 후딱 학습하기(리액트 컴포넌트, JSX, 속성, 상태) 해당 포스팅은2024.10.11 - [OpenSource/Spring Boot] - 7) ENS Project - DB로 전환02에서 이어지는 포스팅 입니다.frontend는 vue.js도 분명히..학습을 했는데 시간이 지나면 지날수록 새로운것이 나오고머릿속에 있던 지식들이 다 날아가버린다..말 그대로 내머릿속에 지우개ㅋㅋ이번에는 개인 프로젝트를 수행하면서 명확한 그림을 그려가면서 프론트엔드를 학습하려고 한다.학습은 옛날에는 항상 책을 사다가 학습을 했는데 요즘은 강의가 많아서 좋은거 같다ㅎㅎ그러므로 강의를 통해 학습하고자 한다.학습 후에는 아래와 같은 플랜을 가진다!1. 프로젝트 설정2. 프로젝트 구조 이해3. 컴포넌트 설계 ex) header(페이지 최상단 - 네비게이션 메뉴 부분)       con.. 2024. 10. 15.
7) ENS Project - DB로 전환02 저번시간에는 DB설계와 MySQL 셋팅을 해보았습니다.오늘은 JPA연동 작업 입니다.제일 먼저 Dependency를 걸어줍니다.JPA 관련, MySQL 관련, h2는 테스트 코드에서 MySQL이 아닌 h2를 바라봐야해서 필요 합니다 // jpa setting implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // MySQL - https://mvnrepository.com/artifact/mysql/mysql-connector-java runtimeOnly 'mysql:mysql-connector-java:8.0.33' // h2 for in-Memory test testRuntimeOnly 'c.. 2024. 10. 11.
6) ENS Project - DB로 전환01 오늘의 개발 목표!LLM 호출을 최소화하여 비용을 절감하는 로직을 구현!!!네이버 API를 통해 데이터를 조회한 후, 데이터가 변경되었을 때만 LLM을 호출하여 결과를 저장하고, 그렇지 않으면 기존 데이터를 그대로 사용하는 방식이다.로직은 대충 아래와 같다.naver api를 호출 -> modify date(naver)를 구해서 -> 기존 저장된 modify date(naver)랑 비교! -> 변경이 되었다면 -> open ai 호출 -> 결과 Json을 얻고 그 Json을 db에 저장! -> modify date(naver) 어려운것은 없다. 단지 없는 기능을 구현해야할 뿐!기능 구현에 필요한 것은?바로 JPA~!! 아래를 참고하면 될것 같다.2016.11.28 - [OpenSource/JPA] - S.. 2024. 10. 9.
5) ENS Project - 상품코드 가져오기 저번 시간에 하드코딩이였다!!2024.09.27 - [OpenSource/Spring Boot] - 4) ENS Project - open ai와 놀기(발주 개발)1건에 대해서만 일단은 처리를 한 것이다.이제는 현재 판매중이며 전시중인 상품들에 대한 데이터들이 필요하다.이 상품번호들은 파는 것들만 하드코딩하여 할 수도 있지만 귀찮다!!!naver api를 통해서 해당 정보들을 가져와서 자연스레 데이터를 만들도록하는것이 목표이다!결과아래와 같이 데이터들을 뽑아냈다!!Controller에서는 내가 원하는 서비스들을 호출만 하였다.String responseBody = naverStoreApiService.getChannelProductNumbers(accessToken);naverStoreApiService.. 2024. 9. 28.
4) ENS Project - open ai와 놀기(발주 개발) Json에서 오류 발생!오잉? 내용이 짤려서 응답을 받는다..그래서 max_tokens을 3000으로 requestBody.put("max_tokens", 3000);prompt_tokens는 4790인데 응답으로 3000 했더니..짤려서 나왔다.그래서 이번엔 5000으로 지정!requestBody.put("max_tokens", 5000);아래처럼 4096이 최대라고 한다.requestBody.put("max_tokens", 4096);4096으로 했지만  이름과 회사명을 null에서 채워넣기 때문에 토큰이 더 필요하다!!토큰 소비가 8886이나..역시나 부족하다!!!한번 돌릴때마다..돈이 나간다고 생각하니..방법을 생각해내야한다!해결방법으로는..토큰을 늘리는것보다 input쪽을 줄여야할것 같다!즉, .. 2024. 9. 27.
3) ENS Project 시작을 위한 결제 :) Project 진행을 위해 결제 완료! A.I를 연동해서 만들어야 기능은?- 발주 시스템!! - 조건 : 하나의 네이버스토어에서 여러가지 업체 물건을 팔아야할 때 유용하다!Spring진영에서 제공하는 AI를 가지고 개발하려고 했는데 생각이 바뀌었다.기존 LangChain으로 만들었던 걸로 우선적으로 테스트를 하려고 하니..AI 이녀석...정말 빠르게 발전하고 있었다.이미 이전에 개발했던 소스는 Deprecated 되었다!!! 럴수럴수 이럴수가..차라리 Open AI에서 제공하는 api를 사용하는게 더 좋다고 판단하였다.아래처럼 여러가지 기능들을 제공하고 있었다.음성관련 STT/TTS도 보이고 파인튜닝이며 여러가지를 제공하는 것을 보고 우선은 간단한 기능을 구현해보겠지만 추후에 좀 더 유용하다고 판단했다... 2024. 9. 26.
2) ENS Project - 노가다 하지마! ㅋㅋ(홀딩!) 지인이 NaverStore 발주와 송장입력 때문에 고통받는것을 보고!효율적으로 노가다 없이 일을 할 수 있게 도와주기 위해 IT전문인력으로써 무일푼으로 간단하게 만들어주기로 하였다 ㅋㅋ 잘 만들면 팔아먹어야쥐~일단 아래처럼 NaverStore api를 먼저 연동하였다.아래 api는 간단히 소개하면..신규주문건이 들어오면 발주를 해줘야한다.즉, 판매자가 확인했어요~고갱님~이라는 표식을 해주는 것이다.표식이 된 상품들은 중간업체라면 실질적으로 제품을 picking&packging을 하는 업체에게 어떤 상품이 몇개 팔렸는지 알려줘야한다.그때 필요한 api들이 Support와 Option 상품들 관련 api들이다.그 이후에는 송장처리를 해줘야하는데 요건 일단 Pass :)LLM의 경우는 하나의 업체라면 상관이 .. 2024. 9. 11.
1) ENS Project - Spring Boot + LLM(Open ai 적용 해보기) 2024.05.20 - [A.I/RAG] - ai? 맨땅에 헤딩 -6(langChain) : 간단 daum news로 RAG 실습 2024.05.13 - [A.I/RAG] - ai? 맨땅에 헤딩 -5(langChain) : langsmith 셋팅 및 tracing해보기!!2024.04.29 - [A.I/RAG] - ai? 맨땅에 헤딩 -4(langChain): vector DB 간단 사용!2024.04.26 - [A.I/RAG] - ai? 맨땅에 헤딩 -3(langChain) : 주요 컴포넌트 체크!2024.04.24 - [A.I/RAG] - ai? 맨땅에 헤딩 -2(langChain) : 튜토리얼 따라해보기!2024.04.19 - [A.I/RAG] - ai? 맨땅에 헤딩 -1(langChain) : a.. 2024. 8. 17.
4. SPARQL이란? 스파클- SPARQL : Simple Protocol and RDF Query Language 2008년 웹 표준화 기구인 W3C(월드와이드 웹 컨소시엄)에서 제정하였습니다. 관계형 데이터베이스(RDB)에서 데이터 검색과 질의를 위해 구조화 질의 언어(SQL)가 사용되는 것과 같이 웹 환경의 RDF 데이터베이스에서는 SPARQL이 사용 됩니다. 다시 말해 RDF(Resource Description Framework)로 표현된 지식 그래프에 대한 쿼리 언어입니다. SPARQL은 SQL과 유사한 구조를 가지고 있으며, RDF 트리에서 데이터를 검색하고 조작할 수 있습니다. SPARQL의 기본구조 아래와 같은 기본구조로 되어있습니다. PREFIX (SELECT, CONSTRUCT, DESCRIBE, ASK).. 2024. 2. 29.
3. 지식그래프에서 스키마란?(feat. Fuseki test) 지식그래프에서 스키마는 지식그래프의 구조와 의미를 정의하는 역할을 합니다. 스키마에는 다음과 같은 정보가 포함됩니다. 엔티티: 지식그래프에서 표현하는 개체를 나타냅니다. 속성: 엔티티가 가지고 있는 특성을 나타냅니다. 관계: 엔티티 간의 관계를 나타냅니다. 스키마는 지식그래프의 데이터를 이해하고 처리하는 데 필수적입니다. 스키마가 없으면 지식그래프에 저장된 데이터의 의미를 파악하기 어렵습니다. 또한, 스키마를 통해 지식그래프의 구조를 정리하고 효율적으로 관리할 수 있습니다. 스키마의 주요 역할 지식그래프의 구조와 의미를 정의: 스키마는 지식그래프에 포함된 엔티티, 속성, 관계의 종류와 의미를 정의합니다. 이를 통해 지식그래프의 데이터를 이해하고 처리할 수 있습니다. 지식그래프의 데이터를 정리: 스키마를 .. 2024. 2. 1.
지식그래프(Knowledge Graph) 관련 정보 시맨틱 웹의 목표 웹에 있는 모든 자원에 대한 의미(meaning)를 기계가 읽고 처리하게 만드는 것. W3C 컨소시엄을 중심으로 RDF, OWL과 같은 웹 표준이 만들어지고 링크드 데이터 기술을 통해 시맨틱 데이터를 연계하는 시도가 활발하게 진행. 구글은 2010년 프리베이스(freebase)를 개발한 메타웹(metaweb)을 인수하며, 3년 후 자사의 검색방식을 문자열이 아닌 의미를 이해하는 방식(things, not strings)으로 전환해 지식그래프(Knowledge graph) 서비스를 시작 했습니다. 구글의 지식그래프는 검색 서비스뿐만 아니라 음성 비서를 포함한 자사의 지능형 서비스의 핵심 데이터로 자리매김하고 있습니다. 비슷한 시기에 구글, 마이크로소프트, 야후, 얀덱스는 웹 자원을 기술하.. 2022. 11. 2.
타 회사 지식그래프에 대해 알아보자 https://www.stardog.com/ 어떤 데이터든 액세스가 가능 원격으로 데이터를 액세스 좋은 추론 엔진 보유 통찰력을 위한 데이터 통합 안정적으로 확장 가능(kubernetes와 호환 및 ACID를 준수) 당사의 온톨로지 기능은 검색, 패턴 인식 및 권장 사항에 대한 공통 분류 체계를 만드는 데 도움이 됩니다. Stardog은 SNOMED, ​​PubMed, NCIt 등을 지원합니다. Stardog은 많은 고객사를 현재 보유하고 있음 https://www.stardog.com/company/customers/ Designer 데이터 엔지니어와 분석가가 데이터를 연결, 매핑, 모델링 및 게시할 수 있는 코드 없는 시각적 환경을 제공 Explorer 코드나 쿼리 없이 데이터의 연결을 탐색할 수 있.. 2022. 8. 2.
마이크로서비스 아키텍처(Microservice Architecture) 마이크로 서비스 아키텍처 큰 문제를 상대적으로 작게 분해해 해결 이렇게 작게 나눈 각 서비스가 독립적으로 역할을 수행 한가지만, 아주 잘 처리하자. 라는 것이 마이크로 서비스 아키텍처의 기본 철학이다. 단일 책임 원칙(SRP)를 중시(Single Responsibility Principle) 비즈니스 태스크를 작은 태스크로 나누며, 각 태스크마다 마이크로 서비스를 정의 한다. 비즈니스 요구사항과 태스크를 얼마나 잘 나눴는지에 따라 시스템에 두개 혹은 100개의 마이크로 서비스가 존재 마이크로 서비스 아키텍처 특징 시스템을 둘 이상의 실행 단위 또는 컴포넌트로 구성한다. 각 컴포넌트는 기능을 서비스 형태로 표출, 결합도가 낮으며 비즈니스 목적에 맞게 동작한다. 각 컴포넌트는 메시징 큐, HTTP 요청/응답.. 2021. 2. 3.
메시지큐에 대해 알아보자. 모델 종류 발행/구독(publish - and - subscribe) 모델 1: 다 - 모든 클라이언트에게 모든 메시지의 사본을 전달. publisher -> topic -> subscriber -> subscriber -> subscriber 지점간 연결(point - to - point) 모델 1:1 - 하나의 메시지는 하나의 클라이언트에만 전송(큐는 공유 가능) sender -> queue -> receiver 위의 모델 중에 publish - and - subscribe(pub - sub) 모델에 대해서 알아보자! pub/sub 구조 보통의 message queue들은 publisher - message broker(topic) - subscriber 구조를 사용한다. publisher(messa.. 2017. 6. 27.
Apache Mesos Mesos는?아파치 프로젝트(http://mesos.apache.org/)트위터, 에어비앤비, 미소스피어가 사용.기본적으로 Docker 지원.분산 시스템 커널.모든 머신에서 동작.실행 어플리케이션에 대해 리소스 관리와 스케줄링 api를 제공.Mesosphere = Mesos + Marathon + ChrnonsMarathon : 작업(컨테이너) 관리 담당.Chronos : 작업 스케줄러. Mesos 노드 추상화Mesos의 노드들은 모든 Task에 대해 공유 된다. Mesos 동작 구성도Docker는 작업의 Type중 하나이다.Zookeeper를 통해 HA를 구성한다.Scheduler는 Chronos을 사용하거나, 직접 개발이 가능하다. Mesos 구성도 1Marathon은 PaaS플랫폼.향후 Kubern.. 2017. 4. 18.
SOLID (object-oriented design) 객체지향적으로 개발 할 때 OOD를 따져서 설계하고 개발한다면 더욱 더 좋은 소스가 될 수 있다. 한번 알아보도록 하자! 출처 : http://en.wikipedia.org/wiki/Solid_(object-oriented_design) 추억의 솔리드..ㅋㅋㅋㅋㅋ 이밤에 끝을 잡고~ Initial Stands for (acronym) Concept S SRP Single responsibility principle - 단일 책임의 원칙 a class should have only a single responsibility. 하나의 클래스에 오직 하나의 책임이어야 한다는 원칙. 예를 들어 MVC 패턴이 나오기까지...jsp에 모든 것을 다 때려 넣었던 그런 시절이 있었다...단일 페이지에 모든 것을...... 2014. 2. 26.
[DesignPattern] Decorator Pattern Decorator Pattern 개요 클래스 다이어그램 예제(Java) 같이보기 참고 사항 > Decorator Pattern 이란? 데코레이터 패턴(Decorator pattern)이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다. (출처 : 위키피디아 - http://ko.wikipedia.org/wiki/%EB%8D%B0%EC%BD%94%EB%A0%88%EC%9D%B4%ED%84%B0_%ED%8C%A8%ED%84%B4) 의도 객체에 동적으로 새로운 서비스를 추가 기능 추가를 위해 서브클래스를 생성 하는 것 보다 융통성이 있음. 아래의 로봇 사진 출처 : http://blog.naver.com/Pos.. 2014. 1. 27.
[DesignPattern] Chain of responsibility pattern Chain of responsibility Pattern 개요 예제(Java) 같이보기 참고 사항 >Chain of responsibility Pattern 이란? (참고 사이트 : 위키피디아 - http://ko.wikipedia.org/wiki/Chain_of_responsibility_%ED%8C%A8%ED%84%B4)객체 지향 디자인에서 chain-of-responsibility pattern은 명령 오브젝트와 일련의 프로세스 오브젝트를 포함하는 디자인 패턴이다. 각각의 프로세스 오브젝트는 명령 오브젝트를 핸들할 수 있는 연산의 집합으로 이루어지고, 체인안의 프로세스 오브젝트가 핸들할 수 없는 행해진다. 이 작동방식은 새로운 프로세스 오브젝트에서 체인의 끝까지에도 포함된다.표준 chain-of-r.. 2014. 1. 20.
[DesignPattern] Visitor pattern Visitor Pattern 개요 예제(Java) 같이보기 참고 사항 >Visitor Pattern - 구조안을 돌아다니면서 일을 한다. 네이버 어학사전(software, design, ) A behavioural design pattern that separats an algorithm from an object structure on which it operates. - 행위 디자인 패턴이고 객체 구조로부터 분리하는 하나의 방법이다. 이런 분리는 존재하고 있는 객체 구조에 그 구조를 수정하지 않고 새로운 동작을 추가 할 수 있도록 해준다. 이것은 open-closed principle에 따르는 하나의 방법이다. 또한, 오퍼레이션!! 동작이라고 생각하자.비지터 패턴은 객체의 요소에 대해 수행하는 오퍼레.. 2014. 1. 11.
[DesignPattern] Iterator pattern Iterator Pattern 개요 예제(Java) 같이보기 참고 사항 > Iterator Pattern - 하나씩 열거하면서 처리 한다. > 1. 결과 실용주의 프로그래머 애자일 프로젝트 파워 스피치 왜 일하는가? 2. 테스트 코드 package kr.pe.acet.iterator; public class AggregateTest { @org.junit.Test public void testIterator() throws Exception { BookShelf bookShelf = new BookShelf(4); bookShelf.appendBook(new Book("실용주의 프로그래머")); bookShelf.appendBook(new Book("애자일 프로젝트")); bookShelf.appendB.. 2014. 1. 6.
반응형