본문 바로가기
728x90

분류 전체보기157

구글 봇과 네이버 봇의 차이 1. 웹 크롤링 접근 방식     - 구글봇        : 웹의 전체적인 정보를 포괄적으로 수집하며, 전 세계적인 범위에서 높은 빈도로 크롤링 하며               구글의 검색 알고리즘은 웹 페이지의 내용, 링크 구조, 사용자 행동 등을 종합적으로 분석하여 검색 결과를 제공     - 네이버 봇        : 주로 한국어 콘텐츠와 한국 웹사이트를 중점적으로 크롤링하며          네이버의 검색 알고리즘은 한국 내 사용자의 검색 패턴과 콘텐츠의 현지화 정도를 고려하여 검색 결과를 최적화 2. 검색 알고리즘과 색인화     - 구글봇        : Google의 알고리즘은 PageRank, 내용의 질, 사용자의 검색 의도 등을 포함한 복잡한 요소를 고려,          다양한 신호를 종합.. 2024. 9. 5.
돈에 가중치를 둘 것인가? vs 기술에 가중치를 둘 것인가? 최근 멘토링을 여러차례 수행했었는데, 멘티들한테서 계속해서 고민상담에 대한 DM 이 끊이질 않는다.(너네들은 개개인은 한명이지만 나는 여러명을 상대해야한다고...) 모든 DM에 최대한 답변 하려하고있다.그중 관심이 가는 DM 중 하나가 바로 이직을 준비중인데, 돈을 보고 이직할지(급여),아니면 기술발전을 보고 이직을 할지 고민이 된다는 것이다.(아니, 둘다 보면 안돼?) 흔히를 빅테크라는 곳에서는 업계 상위 처우(이제는 연봉 1억이 아무런 타격감이 없다.)와기술력을 제시한다.저기만 들어가면 억대 연봉과 기술개발 둘다 가능한데 말이지?(안타깝지만 그런곳에 들어갈 자신은 없어 보였다.) 이런 상황에서 고민을 한다라면, 나는 군말없이 기술력을 택해라고 하고싶다.지금 단계에서 연봉 500만원을 더 받고 1000.. 2024. 9. 5.
SEO 적용 하려면? e-commerce 몰을 개발하려면 중요하게 작업해야할 요소 중 하나가 바로 SEO 영역이다.개발자나 기획자가 SEO 적용은 meta tag 만 작성하면 되는줄 알고 각 포털의 bot이 어떠한 형태로 data 를 크롤링하는지 정확하게 알지 못한다.(심지어, naver bot의 이름을 모르는사람도 허다하고, naver 랑 google이랑 어떻게 다르게 세팅을 해야하는지도 모르는 경우가 많다.) 모든 내용을 이 블로그에 공개할 수는 없지만, 기본적인 사항은 기재하려고한다.우선 bot에서 가져가게 하기위한 robots.txt 작업과 sitemap 구성을 필수이다.(여기까지는 대부분 안다.) robots.txt를 구성할 때에는 아래와 같이 어떤 봇에서 자료를 가지고가 라는 것을 명시하는 것이 좋다.User-ag.. 2024. 9. 4.
AWS 에서 제공하는 서비스는 어떤게 있을까? Cheat Sheet 아래의 이미지로 대처가 가능할 거 같다. 2024. 8. 29.
LangChain 처음 시작하기 LangChain을 연동 해서 사용하려면 우선 2가지 언어 중 한가지를 선택해야한다.그중 한가지가 Python, 그리고 나머지한가지는 Javascript(일부 JAVA도 지원하지만... 사용화버전까지는 다소 시간이 걸릴 듯 하다.) 여긴 Javascript를 기반으로 한 내역을 작성해보도록 하겠다(빠르게 서비스전환을 위해) Setup 은 간단하다. 왜? 설치만 하고 세팅하면 끝yarn add langchain 같이 설치 되는 packages 구조에 대해 관심이 있는 사람이 있을 수 있다는 판단에 관련자료도 첨부!!요약하면- langchain-core (늘 그렇듯)   : 중심이 되어 추상화 계체를 각 영역별로 지원하고 package 의 흐름을 관리한다     (core version 중요!)- langc.. 2024. 8. 29.
redis 어디까지 써봤나? 이번 블로그는 redis에 대해 다뤄보려한다. redis를 현업에서도 많이 사용중일텐데 과연 어디까지 써봤을까?에 대한 주제이다. ◎ 먼저 redis 의 기본 기능에 대해...(자료구조와 주요 기능 측면)더보기키-값 저장소: Redis는 키와 값의 쌍을 저장합니다. 값은 문자열, 리스트, 셋, 해시, 정렬된 셋 등 다양한 형식이 가능문자열 (String): 가장 간단한 데이터 형식으로, 텍스트나 숫자를 저장리스트 (List): 문자열 값의 순서가 있는 리스트를 저장셋 (Set): 중복되지 않는 문자열 값을 저장정렬된 셋 (Sorted Set): 값에 Score를 매겨 정렬된 상태로 저장할 수 있는 자료구조해시 (Hash): 필드와 값의 쌍을 저장하는 데이터 구조비트맵 (Bitmap): 비트 단위로 데이터.. 2024. 8. 28.
LangChain 기초 2019년 부터 2022년 까지는 한참 DT와 MSA 전환이 핫한 화두였다면, 작년(2023년) 부터 지금까지는 LLM이 핫한 화두라고 생각한다.기업 한 두곳이 아닌 기술력을 보유한 거의 대부분의 기업에서 LLM AI, prompt eng.를 채용하고 자체 챗봇이나, 자동문서관리와 같은 서비스를 POC 또는 정식서비스로 개발 및 업데이트를 하고 있다. LLM 에 대해서는 LLM 카테고리에서 별도로 다루도록 하고 여기서는 Lang Chain 에 대해서 다룰려고한다.그럼 과연 Lang Chain이 무엇일까? 간단하게 소개할 수 있다.Lang Chain 은 여러 빅테크에서 개발한 LLM을 중간에서 추상화를 지원해주는 하나의 툴이다!(물론 Lang Chain 없이 직접 연결해서 사용해도된다.) 그럼 어떤 이점이.. 2024. 8. 23.
Karpenter 드디어 버전 1.0 출시!! https://aws.amazon.com/ko/blogs/korea/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/ Karpenter 소개 – 오픈 소스 고성능 Kubernetes 클러스터 오토스케일러 | Amazon Web Services이제 Karpenter를 프로덕션에 적용할 준비를 마쳤습니다. Karpenter는 AWS로 구축된 유연한 오픈 소스의 고성능 Kubernetes 클러스터 오토스케일러입니다. 애플리케이션 로드의 변화에 대응하여 적절한aws.amazon.com 쿠버환경에서의 오토스케일링을 지원했던 Karpenter가(helm 설치 가능), 드디어 1.0 버전이 나왔네요.https://k.. 2024. 8. 22.
TypeORM vs Prisma nest 를 사용하게되면서, TypeORM이라는 ORM 을 처음접했었다.사용을 하면서 실망을 상당히 많이한 npm 중 하나로 기억된다. 이번 글은 typeORM 과 이를 대처가능한 Prisma에 대한 비교글로 시작하려 한다.우선 구글링만 살짝해보아도 그동안 얼마나 많은 사람들이 두개의 ORM 을 비교하여선택했는지를 알 수 있다.심지어 Prisma 공식 사이트에서도 두개의 npm 을 비교한 글이 있는데 (https://www.prisma.io/docs/orm/more/comparisons/prisma-and-typeorm)내용을 요약해보면, typeORM은 전통적인 ORM 이고 Prisma는 여러측면에서 기존의 문제점을개선했으니, Prisma를 사용하는 것이 더 좋다이다. 그럼 어떤 측면에서 사용성이 좋아.. 2024. 8. 22.
About "nest js" based on past experience "One of great framework that has been used by many node developers in South Korea since around 2020"I am currently mentoring junior developers to give inforamtion how to utilize nest js into their service. It will be finished soon, but I would like to talk about the good point for now from nest js and the improvement point to be developed from nest js. As one of the feature of nest js microseriv.. 2024. 8. 21.
MSA로 왜 넘어가는가?? feat. MSA 장점 필자가 MSA 로 넘어간 시점도 언 6년이 다되어간다.  당시 레거시 소스전체를 다운로드 받는데에만 몇시간이 걸렸고 빌드에만 1시간 이상이 걸렸던...오류 하나 발견되어 (오류를 심지어 쉽게 찾았음에도 불구하고) 재배로 나가는 시간만 1시간 이상이...걸렸던 거대 시스템의 한 개발자로써 상당히 불편함을 느끼고 있던 도중 MSA구조는 이러한 상황을해결하는데 돌파구가 되었다. 저정도 까지의 시스템이 아니더라도 MSA구조(유사 MSA라도)로 넘어오는 회사들이 많다.물론 넘어오면서 시스템 복잡성이 증가되는 것도 사실이다. 이 글에서는 MSA 장점과 단점에 대해서 다룰려고 한다.(MSA가 perfect한 아키는 아니다) [장점]1. 빌드 시간을 획기적으로 단축 시켜준다.     가장 큰 장점 중 하나일 것이다. .. 2024. 8. 21.
MSA transaction 처리 saga 패턴 MSA 주요 패턴 중 saga 패턴에 대해 기재해 보려한다. 참조할 수 있는 대표 사이트로 는 https://microservices.io/patterns/data/saga.html 가 있는데, 주요 내용은 아래와 같다. 모놀리식 아키텍처에서 주요 사용했던 방식이 위의 다른 service layer 사이에서 발생되는 transaction 처리 부분을 동일 DB 사용하여 논리적 일관성을 유지하였는데, MSA 방식에서 service domain 영역뿐만아니라 DB 영역까지 분리되면서 타 service 간 Transaction 처리가 필요하게 되었다. 이를 RDBMS 와 Nosql 모든 영역에서 일관성있게 유지는 힘들어 졌기때문에 Data 저장결과적으로 동일한 효과를 볼수 있도록 하는 개발패턴이 필요한 상황인.. 2022. 10. 23.
Tensorflow2 설치, Anaconda (jupyter) 4년만에 다시 AI개발을 들어가면서, 이전에 사용했던 Tensorflow1기반이 아닌 2기반으로 초기 셋업하여 간단한 테스트를 진행해 보았다. 우선 설치부터 하려면, https://www.tensorflow.org/install TensorFlow 시스템에 TensorFlow를 설치하는 방법을 알아봅니다. pip 패키지를 다운로드하거나 Docker 컨테이너에서 실행하거나 소스에서 빌드합니다. 지원되는 카드에서 GPU를 사용 설정합니다. www.tensorflow.org 설치 가이드 라인을 참고하면 간단하게 설치할 수 있다. (Docker setting 가능하며 오늘자 기준으로 Python 3.6 ~ 3.9 version 까지 지원하고 있다.) Window 64bit 기준 https://www.anacon.. 2022. 10. 14.
Bill Kim 컴퓨터공학 전공(학사) 및 석사 졸업 후 국내 대기업 생활을 하다가 미국 대기업으로 넘어갔다.(FAANG 아님) 이후 좀더 좀더 도전적이고 성과지향적이며, 추진력있게 일을 하고 싶어 스타트업에서 개발 팀장을 맡고 있다가 기회가 되어 e-커머스회사에서 "개발총괄"역할을 수행하고 있다. [About Blog]"디자인이 다소 올드해보이고 한눈에 안들어 올수는 있으나, 블로그의 디자인적 요소보다 내용의 질적인 요소에 포커스를 맞출 예정이라... 이해해 주시면 감사하겠습니다!" [About Tech](현재) 사용중인 기술로는 Kotlin Spring, Java Spring, node js, nest js, react js, next js, MongoDB, mysql, Oracle, redis, RabbitMQ, .. 2022. 10. 3.
Nest js , MSA 기본 구조 설계 Nest를 써본지도 언 2년이 넘은듯 한다..net core 포함 .net, Java spring 으로 작업을 하다가 Python(Django), node(express)도여러차례 써볼일이 생겼지만, 스타트업으로 넘어오면서 Backend 쪽은 node 위에 nest js를 사용하게 될 일이 많아졌다. 오늘부터 한동안은 최근 핫한 MSA 구조에 대해 이야기 해보고 Nest 기반으로 어떻게 MSA 를 구축할 것인가를 써보겠다.아래 사이트는 (Source: https://scalablescripts.com) 에서 구조를 가져온 부분인데 기본을 설명하기 가장 적절해 보여 캡쳐하였다.  위의 그림대로 Client는 react 든, angular든, vue든 상관이 없다. API url이 정해지면 서비스에 맞도록 .. 2022. 10. 3.
코드리뷰에 대하여 코드리뷰에 대해 이야기 하기 앞써 질문 한가지 던저보고 싶다. 하루 8시간 개발할 시간도 빠듯한데 과연 코드리뷰할 시간이 있는가? 아마 대부분의 사람들이 바쁜 나날들을 보낼것이다. 이렇게 바쁜 와중에 코드 리뷰를 왜 해야하는가? 코드 리뷰가 그렇게 중요한가? 거기에 대한 답을 이제 하려한다. 프로젝트를 2~3개 맡아서 관리하다보면 분명 겹치는 기능들이 있다. 쉬운기능들은 전 프로젝에서 다뤘기 때문에 Copy & Paste를 이용해서 가지고 와서 테스트만 해보면 된다. 하지만 꼭 상이한 기능들이 있는데 개발만 잘해놓으면 향후 계속해서 잘 써먹을 거 같은 기능들도 있다. 이러한 기능들은 한번 개발할 때 잘해 놓는 것이 중요하다. 물론 일정이 빠듯한 경우는 우선, 동작(기능)하는 것에 초점을 맞추어 개발해 놓.. 2022. 10. 3.
블로그 관리가 싫었던 개발자 블로그 10여년간 국내외 IT, Software 대기업(한국, 미국)에서 개발자로 근무를 하다 올해 초 스타트업 개발팀장??으로 이직하게 되었다.(CTO가 없는 조직에서 one of CTO 후보로써 ㅋㅋ) 회사마다 다양한 문화를 가지고 있지만 특히 대기업과 스타트업을 비교해보면 이외에도 상당히 많은 부분이 있다는 것을 알게되었다. 입사하고 일주일만에 느낀점은... (정확하지 않은 정보이고, 단지 내가 느꼈던 개인적인 견하는 점 !!!)대기업스타트업근속연수가 비교적 길다(3년 이상 다수)근속연수가 짧다(1년 미만 다수)팀장 or 임원에 대한 불만이 많다대부분의 사람에게 불만이 많다(특히 일을 못하는 사람에게)불만이 받아드려지지 않아도  쉽게 퇴사하지 않는다불만이 받아드려지지 않으면퇴사준비 or 퇴사한다프로그램밍,.. 2022. 10. 2.
728x90