반응형 전체 글748 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. ai? 맨땅에 헤딩 -2(langChain) : 튜토리얼 따라해보기! 2024.04.19 - [Architecture/A.I] - ai? 맨땅에 헤딩 -1(langChain) : ai와 공생하기!langChain의 친구들은 아래와 같습니다.나중에 하나씩 알아보도록해요:)이제 LangChain에 대해서 알아보겠습니다.LangChain is a framework for developing applications powered by large language models (LLMs).LLM을 가지고 개발할 수 있게 도와주는 프레임워크였군요!!개발은 LangChain의 오픈소스 building blocks과 components를 사용 합니다.또한 third-party integrations와 Templates를 사용 합니다.LangSmith를 사용해서 chains를 검사하고 모니.. 2024. 4. 23. ai? 맨땅에 헤딩 -1(langChain) : ai와 공생하기! 이제는 개발을 ai와 관련된 개발을 해야할 것 같습니다.많은 LLM등이 등장하거니와 LLM혼자서는 너무 많은 비용이 들기 때문에 RAG(검색증강생성) 또는 ai agent등이 있죠!그래서 LangChain이라는 친구가 재밌어보여서 일단 해보기로 합니다ㅋㅋJust Do it! 재밌어보이니까! ㅋㅋ참고: https://python.langchain.com/docs/get_started/quickstart/셋팅은 python3으로 동작을 시킬려고 합니다.python3이 필요합니다.그리고 pip3 install langchainpip3 install -qU langchain-openai을 셋팅 해줍니다.목표: openAI LLM모델을 사용해서 질의 응답해보기!open ai를 사용하려면 키가 있어야 합니다. 아.. 2024. 4. 19. springboot-RestClient?? 안녕하세요 REST Clients에 대해서 살펴보겠습니다. 아래처럼 스프링프레임워크는 여러가지 REST endpoints를 제공합니다:) RestClient WebClient RestTemplate 동기호출 방식으로 RestTemplate를 학습하였는데요 2024.04.07 - [OpenSource/Spring Boot] - springboot - RestTemplate 적용 REST Client라는 친구도 있어서 정리 해봅니다. The RestClient is a synchronous HTTP client that offers a modern, fluent API. 이 친구는 동기방식의 HTTP Client인데요 RestTemplate보다 모던하다고 하니 옛날사람이 되지 않으려면 학습해서 사용해도 좋을.. 2024. 4. 7. springboot - RestTemplate 적용 안녕하세요~ 오늘은 스프링부트에서 http통신을 할 때 많이 사용하는 친구입니다. RestTemplate를 적용해보겠습니다. 이제 사용하지 않는가 싶었는데 알아보니 비동기방식이 Deprecated되었군요! 비동기는 webClient를 사용! 동기 방식인 RestTemplate를 적용해보겠습니다. 따로 dependency를 걸 필요는 없습니다. Web을 사용한다면 이미 아래와 같이 디펜던시를 걸었을테니깐요! ㅎㅎ implementation 'org.springframework.boot:spring-boot-starter-web' 이제 필요한건 RestTemplate을 사용할 수 있도록 Bean을 생성하는 것 입니다. @Configuration과 @Bean을 사용해서 아래와 같이 만들어줍니다. @Config.. 2024. 4. 7. 신입으로 입사할 때 중요한것?? 쓰레드라는걸 잘 하지 않는데 갑자기 모르는 사람인데 개발자분의 포스팅이 떠서 보다가 다른생각을 가지고 있어서 내 의견도 코멘트를 달아보았다 ㅋㅋ 트위터 비슷한건데 트위터를 안써봐서 이렇게 하는게 맞는지는 잘 모르겠다 ㅎㅎ 신입일 때 나는 무엇을 어필하려고 했을까? 라는 생각도 해볼수 있는 좋은 기회였다. 신입 때 입사하려고 면접을 볼때 팔굽혀 펴기를 하거나 쪽지를 건네거나 하는 사람도 있었는데 그 당시 정말 소심했던 나는..낙방을 여러차례하면서 어금니 꽉 물고 준비했던 기억이 새록새록 난다. 아래의 글을 보면서 코드리딩능력과 코드컨벤션에 맞게 개발가능하다라는것을 어필하라고 했는데.. 코드컨벤션은..어플리케이션 아키텍트를 할 때 개발자들에게 따르게 했던 경험 외에 카카오에 다니면서 코드컨벤션은 조직마다 달.. 2024. 3. 28. springboot bootBuildImage bootBuildImage라는게 있어서 돌려보았습니다. 아래의 오류 메시지가 떴습니다. What the..ㅋㅋ Image name must be in the form '[domainHost:port/][path/]name', with 'path' and 'name' containing only [a-z0-9][.][_][-] bootBuildImage관련해서 아래의 사이트나 help를 통해 알아봅시다. https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#build-image ./gradlew help --task :bootBuildImage ./gradlew help --task :bootBuildImage.. 2024. 3. 21. Field injection is not recommended @Autowired의 시대는 간것인가!!! 인텔리J에서 밑줄이..엄청 신경쓰였다.. 필드 주입은 예전부터 충돌나는 문제가 있었다. 여러후보군이 있으면 어떤걸 잡아서 주입시켜줘야하는지 아리까리 했던 것이다. 방법은 setter방식과 생성자 주입 방식이 있는데 찾아보니 생성자 주입방식이 대세인것 같다. 코드는 롬복을 이용해서 깔끔한 코드를 짤수가 있다. @RequiredArgsConstructor가 필요하다. @Service @RequiredArgsConstructor 아래처럼 변수를 만들어서 사용하면 끝이다!! 또한 final 키워드를 넣어서 immutable로 만들어줄수가 있다. private final TemplateService templateService; 굿바이..@Autowired~~~ Spri.. 2024. 3. 21. 주저리) mvc에서 controller 분리 전략 프로젝트를 하나 만들어서 mvc를 만들려는데..고민을 해보았다. ㅋㅋ Q) 현재는 하나의 도메인을 호출할 예정이지만 다른 도메인이 들어왔을 경우에 컨트롤러를 어떻게 분리를 해야할지 고민해보자! 카테고리별 즉, 디렉토리별로 분리하여 관리를 해주는 방법 아니면 그냥 Controller 디렉토리안에서 각각 필요한 Controller를 명명으로 분리하는 방법 기능적으로 커플링이 없다면 당연히 디렉토리별로 각각 만들어서 그 안에서 관리를 해주면 좋은데.. 기능적으로 중복코드가 발생할 가능성이 크다면? 즉, 서비스쪽 로직코드가 중복이 될 가능성이 크다. 예를 들어서 쇼핑몰을 구축을 한다면 주문/발주/송장입력 등 결이 다른 기능을 가지고 있다면 손쉽게 디렉토리별로 나눠서 관리하면 좋을것이다. 심지어는 MSA아키텍처로.. 2024. 3. 9. 이전 1 2 3 4 5 6 7 ··· 36 다음 반응형