전체보기
[서버] 웹서버(Web Server)와 웹 어플리케이션 서버(WAS)
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 이번에 웹 프로젝트 기술 PM 으로 들어가면서,서버 쪽 문의 및 대응을 하다보니 알지만 몰랐던(?) 내용이 있어 정리하려고 왔습니다! 첫 번째는 Web Server vs Web Application Server ( WAS ) 입니다.1. 웹 서버 ( Web Server )웹 서버란, HTTP 프로토콜을 기반으로 동작하는 서버동작하는 방식은 클라이언트가 HTTP를 통해 요청을 보내면 웹 서버는 HTTP로 응답하여 정적 리소스 제공기능정적인 컨텐츠 제공WAS를 거치지 않고, 바로 요청한 컨텐츠 제공동적인 컨텐츠 제공을 위한 요청 전달요청을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에 전달로드밸런서의 역할여러 WAS 에 대한 로드밸런싱 처리종류..
[Swift-SwiftUI iOS 프로그래밍] 프로퍼티 래퍼 ( Property Wrapper )
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 최근에 프로젝트에서 SwiftUI 를 사용할 일이 있었습니다.평소에 SwiftUI에 대해 사용할 일이 많기 없었기 때문에 구글링을 통해 배껴서(?) 작업을 했는데,점점 더 활용도가 높아져 공부할 필요성을 느껴 핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍 이라는 책을 구매했습니다.공부하다가 정리하면 좋을 내용이 있어 작성하게 되었습니다.오늘의 주제는 프로퍼티 래퍼 라는 내용입니다.바로 가시죠~1. 프로퍼티 래퍼 이해하기실제로 우리가 작업할때,여러 클래스나 구조체에 생성한 연산 프로퍼티들이 유사한 패턴을 갖는 경우가 빈번하게 발생한다.간단하게 로직을 공유하는 방법은 유사한 패턴의 코드를 복사하여 각각의 클래스나 구조체에 포함시키는 것이였다..
[Swift] Content Mode ( Scale To Fill / Aspect Fit / Aspect Fill )
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 원본 이미지 크기 및 비율에 따라 어떻게 보여지는지에 대해 알아보도록 하겠습니다.바로 가시죠!1. 개요우리는 UIImageView에 이미지를 넣을 때 어떤 비율로 넣을 지 고민할때가 많습니다.이럴 때 View 의 ContentMode 를 사용하는데 자세한 속성을 한번 알아보도록 하겠습니다.Fit : 이미지가 ImageView 에 꽉 차지 않고 비율에 따라 다르게 보여짐Fill : 이미지가 Imageview 에 비율과 상관없이 꽉참 사용 될 원본 이미지는 아래와 같습니다.2. Scale To Fill// iv 는 UIImageView 입니다.iv.contentMode = .scaleToFill원본 비율에 따라 그려지지 않고, UIImageVie..
[AI] RAG 의 구성요소 2 ( Embedding )
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. RAG 에 필요한 구성요서 두 번째 시간!바로 비정형 데이터를 사용함에 매우매우 중요한 임베딩에 대해 알아보도록 하겠습니다!1. 임베딩이란?사람이 쓰는 자연어를 기계가 이해할 수 있는 숫자의 나열인 벡터로 바꾼 결과 혹은 그 과정 가장 간단한 형태의 임베딩은 단어의 빈도를 기준으로 벡터로 변환하는 것입니다. 구분A 책B 책C 책D 책탕수육0297고양이0100동물0100위에 표에서 B 책의 임베딩은 [2,1,1] 이고 탕수육의 임베딩은 [0,2,9,7,] 입니다.C 책과 D 책에서 탕수육의 단어가 많이 겹친 것을 알 수 있습니다.위 표를 마탕으로 C 책과 D 책은 탕수육이라는 소재를 공유한다는 점에서 비슷한 작품일 가능성이 높습니다.고양이와 동물은 ..
[AI] 간단한 RAG 구현 ( Anaconda, Streamlit, OpenAI, Flask, Chroma, Hugging Face )
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 RAG 에 필요한 구성요소들을 조합하여 실제로 RAG 개발을 해보는 시간을 가지도록 하겠습니다.바로 가시죠!1. 개요RAG 아키텍쳐는 아래와 같이 설계하였습니다.Anaconda : Python 가상환경 구성Streamlit(UI) : 데이터 분석과 시각화를 함께 간편하게 수행 가능한 파이썬 오픈소스 라이브러리RAG ServerLangChain : 언어 모델을 기반으로 한 어플리케이션을 개발하기 위한 프레임워크Chroma : 임베딩 벡터를 저장하기 위한 오픈소스 소프트웨어 ( Vector DB )Hugging Face : 다양한 트렌스포머 모델과 학습 스크립트를 제공하는 모듈 ( 임베딩 )OpenAI : 사용자의 프롬프트를 분석하여 원하는 정보..
[ 김병권의 부동산 대백과 ] 준비마당 ( 부동산 프롤로그 )
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은! 저의 부동산 서적을 구매하여 공부하면서 유익했던 내용에 대해 포스팅을 하려고 합니다!1. 빚지는 걸 (대출) 두려워 말라!대다수 사람들은 대출에 대해 거부감이 생긴다.빚지는 것을 싫어하며, 혹시나 빚이 있다며 하루라도 빨리 갚고 싶어한다. 하지만 해당 서적에서는 대출의 상환을 최대한 늦게하라고 한다.대체 왜 그런걸까? 1.1 천천히 갚는 이유 1 ( 돈의 가치는 시간에 따라 하락하기 때문에 ) 시간이 갈 수록 물가상승으로 인한 인플레이션과 통화량 증가로 화폐가치 하락2010년 기준 > 택시 기본요금은 2,400원 / 2km 2023년 기준 > 택시 기본요금은 4,800원 / 1.6km우리가 제공받는 택시 서비스는 변함이 없는데, 거리도 줄고..
[AI] RAG 의 구성요소 1 ( Vector DB )
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 이전 포스팅을 통해 RAG 의 기초에 대해 알아보았습니다.오늘은 RAG 의 구성요소 첫 번째 Vector DB 에 대해 알아보도록 하겠습니다. 이전 포스팅을 보고 오시면 좀 더 이해하기 쉽습니다. [AI] RAG ( Retrieval Augmented Generation ) 의 기초안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 요즘 AI 에 대해 많은 관심이 생겨 이리저리 공부 중에 있습니다. 그 중 LLM에 대해 공부를하다 RAG 라는 것을 알게되었습니다. 오늘은 Lbeanistory.tistory.com1. Vector DB 란벡터 형식의 데이터를 저장, 쿼리 분석에 특화된 데이터베이스벡터는 공간상의 점을 나타내는데 사용하며, 다차원 ..
[AI] RAG ( Retrieval Augmented Generation ) 의 기초
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 요즘 AI 에 대해 많은 관심이 생겨 이리저리 공부 중에 있습니다. 그 중 LLM에 대해 공부를하다 RAG 라는 것을 알게되었습니다. 오늘은 LLM에서 사용되고 있는 RAG 에 대해 알아보도록 하겠습니다.1. RAG 가 등장배경RAG 는 현재 널리 사용되고 있는 LLM 의 한계로부터 나오게된 개념이다.대표적으로 아래와 같이 4가지가 있다.LLM 이란 GPT 모델 별로 학습되어 있는 데이터가 다르다.OpenAI 의 GPT-4-turbo 를 보면 23 년 12월까지의 데이터가 학습된 것을 볼 수 있다.그렇다면 23년 12월과 현재 사이의 데이터에 대한 학습은 어떻게 되는 것일까?공백의 사이 데이터가 학습되지 않은 LLM은 거짓된 답변이 사실인 것 처럼 ..
[TS - iOS] NWProtocolTCP.Options() - EXC_BAD_ACCESS
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 Starscream 라이브러리를 사용하면서 생겼던 이슈에 대해 공유하도록 하겠습니다!1. 개요소켓 통신을 이용한 채팅 기능을 개발하고 있었습니다. 그로 인해 Starscream 라이브러리를 이용하여 개발을 진행하였고, 테스트를 하였으나...ㅠㅠ 몇몇의 단말기에서 앱이 죽는 현상이 발견하였습니다. 로그상으로의 이유는 아래와 같습니다. NWProtocolTCP.Options() - EXC_BAD_ACCESS 으으으으... 무슨 에러인지 모르겠어!!!! 걱정마세요 바로 해결방법 가시죠~2. 해결 방안흠.. 공식 문서를 보자보자.. NWProtocolTCP.Options 는 iOS 12.0+ 고..고...??????엥..? iOS 12 이상이 필수 ..
[Git] 체리픽 ( Cherry-Pick )
안녕하세요🐶빈지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 Git에서 자주 사용하는 체리픽 ( Cherry-Pick ) 에 대해 알아보도록 하겠습니다.1. 개요체리픽이란 체리 피킹에서 유래된 말로,인기 있는 특정 요 소만을 골라 가지고 오는 것을 뜻한다고 한다. Git에서도 이러한 기능으로 사용되는 것이 체리픽 ( Cherry-Pick ) 이다. 그럼 자세히 알아보도록 하겠습니다.2. 체리픽 ( Cherry-Pick )다른 브런치의 있는 커밋(Commit) 을 내 브런치에 적용시킬 때 사용하는 Git 기능입니다. 정확히는 언제 쓰는가?작업 브런치 및 메인 브런치에 특정 커밋을 가지고 오고 싶을 때, 그 부분만 가지고 오고 싶은 경우특정 이슈에 대한 버그 수정 커밋을 다른 브랜치에 있을 때, 그 부분만..