본문 바로가기
반응형

전체 글693

JPA 연동 가이드 - 이론편 들어가기전 주저리처음 DB를 연동할 때 jdbc를 통해 db를 연동했다가sql mapper라는  iBATIS/MyBatis의 등장으로 편하게 사용하다가사용하다보니 반복적인 sql들도 많고 sql에 의존적이여서 JPA라는 것을 통해 객체지향적인 개발에좀 더 중점을 두게 되었습니다. 향후 어떻게 변할지 기대되네요 ㅎㅎJPA는 무엇일까요?오래전 자바 진영에서는 EJB(Enterprise Java Beans)라는 기술 표준을 만들었는데그안에 Entity bean이라는 ORM 기술이 포함되어있었습니다.하지만 너무 복잡하고 기술 성숙도가 떨어지고 J2EE 어플리케이션 서버에서만 동작 했습니다.이때 Hibernate라는 오픈소스 ORM프레임워크가 등장했는데 EJB의 ORM 기술과 비교해서가볍고 실용적인데다 기술 성숙.. 2024. 9. 2.
Redis Cache 연동(Spring Boot) 학습 목표Spring Boot와 Redis를 연동하여 Application에서 Caching하는 방법을 학습Redis SettingRedis는 사내에서 제공되는 Redis를 사용! 우선 dev용으로 셋팅! SpringBoot + Redis Cache 연동Gradle Dependency// redisimplementation 'org.springframework.boot:spring-boot-starter-data-redis'RedisTemplate과 RedisCacheManager가 있는데 Cache는 RedisCacheManager를 사용 합니다.RedisCacheManager의 동작은 RedisCacheManagerBuilder를 사용하여 구성할 수 있으며, 이를 통해 기본 RedisCacheConf.. 2024. 8. 23.
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.
벌써일년 충격적인 사건 이후 벌써일년이 흘렀다.멘탈이 가출했다가 다행히 돌아왔다 ㅎㅎ가장 깨달은것은?커리어 관리를 항상 준비해야한다는 점이다.이력서 업데이트경력기술서+면접공부코딩 테스트 준비역량증가나는야  16년차 개발자 나는 시니어 레벨의 역량을 가지고 있다고 자신있게 말할 수 있는가?답을 찾기 위해 블로그를 다시 하기로 마음 먹었다. 어디가서 X팔리지 않을만큼핵심역량 점검 및 최신으로 업데이트 하자!역량을 팍팍 증가 시킨 뒤 도움이 되는 방법이 있다면 공유하는 글도 써봐야겠다.그런날이 빨리 오기를 바라며..글을 마친다. 2024. 7. 20.
golang 세미나 in Jeju (Google Develop Group) SESSION 1start-up 이준호님python vs golang참고 사이트 : https://divan.dev/posts/go_concurrency_visualize/ https://go.dev/Firebase with gochat하는것 QR코드로 보여줌SESSION 2정현서 : https://docs.google.com/presentation/d/1V6sG9HfFyJDEyD-5Wp5H7ctPxrUHOxuu/mobilepresent?slide=id.g276d2bc51da_0_185golangGC : java와는 다름크로스 플랫폼 지원LLMGPT, LlaMa, Gemini가상연애 챗봇을 만들어보자애니메이션대사 가져옴 txt로 변환하나의 script.txt로 만들어줌prompt에 술취해있고 애인이고 친.. 2024. 7. 15.
Hadoop을 학습해보자 ㅋㅋ Hadoop은?Hadoop은 Big Data를 처리하고 분석하는데 사용되는 OpenSource Software Framework 입니다.저렴한 하드웨어로 구성된 분산 시스템에서 페타바이트 규모의 데이터를 처리 할 수 있도록 설계data를 분석 할 때 나눠서 분석하고 합치면 되므로 빠르다.저장된 데이터를 변경하는 것이 불가능하고, 실시간 데이터와 같은 신속한 작업에서는 부적합하다.Hadoop 구성요소HDFS(Hadoop Distributed File System)Hadoop 분산 파일 시스템데이터를 저장하는 분산형 file system으로 실시간처리보다는 배치처리 목적으로 설계 → 작업량이 작거나 빠른 데이터 응답이 필요한 작업에는 적합하지 않음데이터를 여러 노드에 분산저장하여 처리 속도를 높입니다.Nam.. 2024. 7. 9.
면접도 준비해야한다! 실패 경험 왜 묻나? 아래처럼 일 잘하는 사람 뽑으려고스타트업 인재 선호?도전 경험?문제해결/위기극복학습력 -> 피드백 (성공, 실패)1분 자기소개면접의 전략 / 가이드라인? / 첫인상 1. 구조를 만들어라!    면접의 두괄식    필살기 2개를 던진다.    이 직무를 잘 할 수 있는     미사여구 X인삿말필살기1(How+Result) 성공경험 2~3line으로 요약 필살기2(How+Result)지원동기&입사후 포부완벽히 외우세요!!2. 연차별 특징    2년차 미만(슈퍼루키 -> 유사경험)    3년~7년 주니어 경력(성공경험)    7년차 이상 - 리더십 (인사이트 강조)    15년차 이상 어르신 : 걍 인사만? 간단하게 정리3. 필살기  only(뽑아야하는 이유)    자기소개서 - 경력기술.. 2024. 7. 6.
Account 이해를 위한 정리(SpringSecurity + OAuth2.0) 용어인증(Authentication) 해당 사용자가 본인이 맞는지 확인하는 절차인가(Authorization)인증된 사용자가 요청한 자원에 접근 가능한지를 결정하는 절차Authentication(인증) -> 인증 성공 후 -> Authorization(인가)Principal(접근 주체) : 보호 받는 리소스에 접근하는 대상Credential(비밀번호) : 리소스에 접근하는 대상의 비밀번호AuthenticationAuthentication 은 현재 접근하는 주체의 정보와 권한을 담는 인터페이스입니다.SecurityContext에 저장되며, SecurityContextHolder 를 통해 SecurityContext에 접근하고, SecurityContext 를 통해 Authentication 에 접근할 수 .. 2024. 7. 5.
SpringSecurity OAuth2.0 사용(feat. No Authroization Server Support) 아래는 OAuth2.0을 개발하기 위해 리서치를 하다가 발견했던 내용 입니다.회사 위키에만 작성하느라 블로그에 너무 소홀했던거 같아 재포스팅 합니다:)OAuth2.0 spec 중 AuthorizationServer의 역할이 필요!자체 개발SpringSecurity OAuth2.0 사용인증서버 오픈소스 사용(KeyCloak?)논의 후 SpringSecurity OAuth2.0 사용하기로 함.sample 소스를 작성하다 Deprecated된 것을 발견!그래서 왜 Deprecated가 된거지? 라는 호기심으로 찾아보니..스프링 블로그에서 원인을 찾을 수 있었습니다.아래의 내용처럼 더이상 Authorization Server를 지원하지 않기로 함!..번역)2012년 10월에는 OAuth 2.0 인증 프레임워크인.. 2024. 7. 5.
k8s 대쉬보드 - openlens 회사 wiki에 올렸던 포스팅인데 좋아요를 2분이나 눌러줘서 기분이 좋았던 기억이나는군요 :) 설치https://github.com/MuhammedKalkan/OpenLensMacOSbrew install --cask openlens 새로운 클러스터를 넣어주시려면 +를 눌러서 하시거나 아래처럼 하시면 됩니다.Kubectl Config를 넣어서 추가를 해주면 됩니다.Kubectl 설치(Mac) : brew install kubernetes-clikubectl config set-credentials 블라블라kubectl config set-cluster 블라블라사용을 해보니 deep하게 사용하는 유저가 아니라면 상당히 좋아보입니다.수정도 쉽고 바로 바로 클릭으로 눈에 보이니 정말 좋습니다.단, 로그는 터미.. 2024. 7. 5.
Spring Boot GraphQL Client 목표   이미 제공하는 graphql server가 있으며   해당 server에서 제공하는 graphql api를 호출하는것이 목표 입니다.GrapQL Client를 구성하는데 있어서 2가지 구성을 검토GraphQL Client(WebClient)RestTemplate clientGraphql Client(WebClient) Configimport org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.graphql.client.HttpGraphQlClient;import org.springframework.web.reacti.. 2024. 7. 3.
Hadoop이란? 구성요소? 용어? 요즘은 AI의 시대가 되었지만 10년전만 해도 빅데이터 열풍이 불었었다.당시 사내에서 해주는 하둡교육을 들었었는데 지금은 1도 기억이 나지 않는다 하하;;2013.06.04 - [BigDATA/Hadoop] - [하둡교육 2일차] Hadoop 설치2013.06.05 - [BigDATA/Hadoop] - [하둡교육 3일차] Zookeeper2013.06.05 - [BigDATA/Hadoop] - [하둡교육 3일차] Pig그나마 블로그에 끄적인 내용 덕분에 살포시 기억이 난다 ㅎㅎ여차저차해서 하둡을 다시 공부해보려고 한다.오늘은 용어를 익혀보자! 하둡(Hadoop) : hadoop은 대용량 데이터를 분산처리 할 수 있는 자바 기반의 오픈소스 프레임워크 입니다.HDFS(Hadoop Distributed Fil.. 2024. 7. 2.
3) 중고신입-필살기 엣지 있게 만들기 (3C4P) 많은 사람들이 목표지향적으로 살지 않는다.그 목표를 가지고 어떤 경험을 한게 아니기 때문에 자소서에 수치화 해서 두괄식으로 쓸만한 성공경험이란게 뚜렷하지 않을 확률이 높음그래서 이런저런 경험은 있는데 이걸 어떻게 설명해야하는지..잘 모름검증된 프레임을 통해 해결이 가능!컨설턴트들이 사용하는 프레임이 있음! 자소서를 잘 쓰기 위해서 또는 말을 잘하기 위해서는 사고의 프레임이 필요함!그래서 어떤 프레임인데?나의 필살기 경험을 좀 더 엣지있게 재해석하는 첫번째 프레임은 3C마케팅 4P와 경영전략의 3C Customer : 고객내가 이 경험을 통해 만족시키고자 한 대상ex) 프로젝트라면 고객, 대학교에서 연구하는 학생이면 교수님이 고객이 고객들의 니즈가 당시에 무엇이였는지 그 들이 왜 이프로젝트와 과제를 주었는.. 2024. 5. 24.
2) 중고신입 - 필살기 준비방법 필살기준비방법필살기가 뭔지어떤 내용으로 구성되는지필살기가 뭔가요?필살기의 구성요소는 3가지 입니다.유사경험, 성공경험, 인사이트유사경험+성공경험+인사이트가 있는게 가장 베스트!2가지라도 있는게 좋다.유사경험과 성공경험 중 하나만 가능하다면성공경험을 제시하라!필살기가 필요한 이유는?필살기가 있어야 "내가 당신을 뽑아야 될 이유가 무엇입니까? 라는 끝판왕 질문에 한방에 답변!!필살기가 정리된 사람은 평가하기가 쉽다!!진위여부만 검증하면 된다!!필살기가 작성되었다면 질문은 수치화된 검증이다."그때 어땠냐?""그때 옆에 누가 있었어요?""그때 어려움이 뭐였냐?""그때 왜 그런 생각을 했어요?"필살기 있는 사람과 없는 사람의 차이는?필살기가 있는 사람은 면접에서 흔들리지 않음추천 필살기 준비는 3~5개 정도 준비.. 2024. 5. 24.
1) 중고신입 - 경력기술서 작성법 필살기를 개조식으로 작성!!  - 필살기란?  2024.05.24 - [주인장 : 태하팍/커리어] - 2) 중고신입 - 필살기 준비방법서술식 NO!개조식으로 핵심성과를 잘 작성하자.왜 개조식으로 적나?성공 경험, 수치화된 결과물을 적는데 집중해야한다.경력기술서 구조개조식이라는건 알겠는데 어떤 목차로 어떻게 적어야할까?딱 5가지만 작성하라!첫 줄에 프로젝트 명/업무 명 작성하기어떤 프로젝트였는지 알 수 있도록 한 줄로 작성프로젝트/업무기간 작성하기끝에는 (몇년), (몇개월) 작성성과 : 가장 자랑하고 싶은 성과내용이 프로젝트와 업무에서 내가 가장 자랑할 수 있을만한 성과내역 작성ex) 성과: 00% 매출 증가프로젝트에서 맡은 역할프로젝트와 업무에서 어떤 역할을 했는지ex) 똑같은 개발이더라도 그 안에서 개.. 2024. 5. 24.
이론만 공부했던 패턴을 적용해보자:) 보호되어 있는 글 입니다. 2024. 5. 22.
ai? 맨땅에 헤딩 -6(langChain) : 간단 daum news로 RAG 실습 2024.04.19 - [Architecture/A.I] - ai? 맨땅에 헤딩 -1(langChain) : ai와 공생하기!2024.04.24 - [Architecture/A.I] - ai? 맨땅에 헤딩 -2(langChain) : 튜토리얼 따라해보기!2024.04.26 - [Architecture/A.I] - ai? 맨땅에 헤딩 -3(langChain) : 주요 컴포넌트 체크!2024.04.29 - [Architecture/A.I] - ai? 맨땅에 헤딩 -4(langChain): vector DB 간단 사용!2024.05.13 - [Architecture/A.I] - ai? 맨땅에 헤딩 -5(langChain) : langsmith 셋팅 및 tracing해보기!!실습내용 : langchain을 이용.. 2024. 5. 20.
json to dto or json to values json데이터를 dto에 매핑하는 방법에 대해서 알아보겠습니다.1. ObjectMapper를 이용해서 매핑하기- mapper.readValue(json, new TypeReference>(){}); public Map getJson() throws IOException { Map productInfoMap = new HashMap(); ApplicationContext context = new AnnotationConfigApplicationContext(); // "data" 폴더 아래 모든 JSON 파일 가져오기 Resource[] resources = context.getResources("classpath:data/*.json"); f.. 2024. 5. 13.
ai? 맨땅에 헤딩 -5(langChain) : langsmith 셋팅 및 tracing해보기!! 2024.04.19 - [Architecture/A.I] - ai? 맨땅에 헤딩 -1(langChain) : ai와 공생하기!2024.04.24 - [Architecture/A.I] - ai? 맨땅에 헤딩 -2(langChain) : 튜토리얼 따라해보기!2024.04.26 - [Architecture/A.I] - ai? 맨땅에 헤딩 -3(langChain) : 주요 컴포넌트 체크!2024.04.29 - [Architecture/A.I] - ai? 맨땅에 헤딩 -4(langChain): vector DB 간단 사용!  1. 로그인https://smith.langchain.com/ 에서 로그인을 해줍니다.2. api key 만들기그런 뒤 api key 하나를 만들어 줍니다.https://smith.langc.. 2024. 5. 13.
ai? 맨땅에 헤딩 -4(langChain): vector DB 간단 사용! 2024.04.19 - [Architecture/A.I] - ai? 맨땅에 헤딩 -1(langChain) : ai와 공생하기!2024.04.24 - [Architecture/A.I] - ai? 맨땅에 헤딩 -2(langChain) : 튜토리얼 따라해보기!2024.04.26 - [Architecture/A.I] - ai? 맨땅에 헤딩 -3(langChain) : 주요 컴포넌트 체크!오늘은 튜토리얼로 LangChain에서 Vector DB에 저장하고 검색하는 부분이 있었는데해당 Vector DataBase 관련해서 학습을 해보도록 하겠습니다.벡터 데이터베이스의 종류로는 아래와 같습니다.오픈소스는 상단에 있는 친구들 입니다.오픈소스 중 2가지로 나눠지는데 vector databases 와 supoort vec.. 2024. 4. 29.
ai? 맨땅에 헤딩 -3(langChain) : 주요 컴포넌트 체크! 2024.04.19 - [Architecture/A.I] - ai? 맨땅에 헤딩 -1(langChain) : ai와 공생하기!2024.04.24 - [Architecture/A.I] - ai? 맨땅에 헤딩 -2(langChain) : 튜토리얼 따라해보기!langChain 맛보기를 통해 동작하는것을 살펴보았습니다.이번에는 조금 detail하게 각각의 주요 컴포넌트에 대해서 살펴보겠습니다.LangChain을 구성하는 주요 컴포넌트ModelPrompt TemplateOutput ParserChainAgentRetrival ModelModel 컴포넌트는 LLM 모델을 추상화하여 제공 합니다.2024.04.24 - [Architecture/A.I] - ai? 맨땅에 헤딩 -2(langChain)에서는 Open A.. 2024. 4. 26.
반응형