Ollama가 무엇인가요?요즈음 ChatGPT, Calude 등 대형 LLM이 주목받고 있습니다. 하지만 비용이 만만치 않습니다. 내 PC에서 이런 LLM을 사용하려면 클라우드를 사용하거나 앞서 설명한 대형 LLM을 구독하여 사용해야 합니다. 이러한 문제를 해결해주는 오픈소스 프로젝트가 바로 Ollama 입니다. Ollama는 오픈소스 LLM을 로컬 PC에서 쉽게 실행할 수 있게 해주는 도구입니다.Mistral, Llama 3 등 다양한 오픈소스 LLM을 지원하죠. 모델 가중치, 설정, 데이터셋을 하나의 패키지로 묶어서 Modelfile로 관리합니다. https://ollama.com/ OllamaGet up and running with large language models.ollama.com mac..
개발하면서 깃허브 코드를 참고하다보니 가끔씩 함수의 파라미터에 final 키워드가 들어가는 것을 확인했습니다. 왜 사용하는지? 사용하면 어떤 이점이 있는지 알아보겠습니다. Final은 변경불가능하다는 키워드 입니다. 그렇다면 메소드 파라미터에 사용하는 것은 해당 파라미터가 변경불가능하다는 뜻인데, 어떤 이점이 있을까요? 장점 재할당되서 발생할 수 있는 문제는 컴파일 타임에 바로 잡아 줄 수 있습니다. 변수의 상태 변화를 추적할 필요가 없으므로 코드가 더 쉽게 읽힙니다. 불변성 강조: final 키워드가 붙은 파라미터는 메소드 내에서 수정할 수 없습니다. 이는 코드를 읽는 사람에게 해당 변수가 변경되지 않을 것임을 명확하게 알려줍니다. 그렇다면 Final이 불변성을 의미하는 것일까요? ->아닙니다. 찾아보..
AWS EC2를 사용하다보면 백업을 하기위해서 이미지(AMI)를 생성하거나, Snapshot을 사용하기도 합니다. 이 포스팅에서는 EC2 AMI 와 Snapshot 의 차이와 비용발생에 대해 간단하게 알아보겠습니다. 📍 AMI 이미지 생성방식과 EBS 생성방식의 차이 AMI 이미지 생성방식은 EC2 인스턴스의 전체 백업(인스턴스와 + 저장소) 을 생성하는 것이고, 이미지를 복원할 때는 새로운 인스턴스와 EBS 볼륨이 생성되어 복원됩니다. EBS 스냅샷 생성방식은 EBS볼륨을 백업하는 방식입니다. 스냅샷은 생성하는 시점 그대로 저장이 됩니다. EBS만 백업하는 것입니다. 그래서 복원할 때는 새로운 인스턴스가 생성되지 않습니다. 📍 서울리전(ap-northeast-2)기준으로 비용에서는 어떤 차이가 있을까요..
프록시 객체는 실제 객체를 대신하여 요청을 처리하는 객체입니다. 실제 객체와 같은 인터페이스를 구현하여 실제 객체를 대신하여 요청을 처리할 수 있습니다. 프록시 객체는 실제 객체를 보호하거나, 실제 객체의 기능을 확장하거나, 실제 객체의 로직을 변경하는 데 사용할 수 있습니다. 프록시 객체를 사용하는 이유 프록시 객체를 사용하는 이유는 다음과 같습니다. 실제 객체 보호 프록시 객체는 실제 객체를 대신하여 요청을 처리할 수 있습니다. 따라서 실제 객체가 직접 요청을 받지 않으므로 실제 객체를 보호할 수 있습니다. 실제 객체의 기능 확장 프록시 객체는 실제 객체의 기능을 확장할 수 있습니다. 예를 들어, 프록시 객체는 실제 객체의 요청을 기록하거나, 실제 객체의 요청을 캐싱할 수 있습니다. 실제 객체의 로직..
Docker란? 도커는 컨테이너 기술을 기반하여 만든 오픈소스 가상화 플랫폼입니다. (도커 ≠ 컨테이너) 컨테이너? 사전적 의미 화물을 담아 나르기 위해 주로 쓰는, 쇠로 만들어진 큰 상자. 기술적 의미 이미지 목적에 따라 생성되는 프로세스 단위의 독립 환경입니다. 환경을 제공하며 프로세스의 생명주기를 관리합니다. 왜 컨테이너를 사용할까요? HOST와 격리를 통하여 독립된 개발환경을 보장하기 위해 사용합니다. 컨테이너의 역사 FreeBSD Jail 오픈소스 Unix인 FreeBSD의 기술입니다. 특징 프로세스의 구획화 네트워크의 구힉화 파일 시스템의 구획화 (구획이란? 경계를 갈라 정하는 것 또는 그 구역) Solaris Containers Oracle의 상용 Unix인 Solaris 의 기술입니다. 특..
문득 S3 미리 정의된 URL로 다운로드하거나 액세스하는 것을 퍼블릭하게 노출시키지 않는 방법이 뭐가 있을까?고민하다가 IP기반으로 액세스를 허용하고 제한할 수 있을까 하고 간단하게 테스트해본 내용입니다. 테스트를 위해 버킷과 객체를 준비해줍니다. 1. 버킷 생성 2. 객체를 선택하고 미리 서명된 URL 과 공유를 선택합니다. S3 버킷 정책에 내 IP 만 접근할 수 있도록 버킷정책을 꾸려보자 테스트는 내 현재 IP와 VPN 사용해서 다른 IP를 획득하여 액세스가 가능한지 여부에 대해 확인해볼 예정이다. 3. S3 버킷 정책 설정 - IP S3 버킷 정책 { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIPs", "Effect": "Allow", "P..
API를 통해 데이터를 가져와 AWS RDS 적재하는 역할의 Lambda를 사용하면서 겪은 삽질기(경험 부족)입니다. 제가 만든 Lambda 는 위의 캡쳐 사진처럼 간단합니다. 또한 다음과 같은 역할을 수행하고자 합니다. 외부 인터넷을 통해 API를 호출하여 데이터를 가져온다. AWS RDS에 접근하여 데이터를 적재한다. 이 Lambda 에는 1) 외부 인터넷을 접속할 수 있는 인터넷 게이트웨이가 필요하며, 2) RDS과 같은 AWS 리소스를 사용하기 위해선 해당 VPC 망에 존재해야합니다. Lambda 의 VPC 활성화 옵션을 통해 RDS 와 같은 VPC 로 지정하였고, 서브넷 또한 퍼블릭 서브넷으로 지정하였습니다. 람다는 기본적으로 인터넷과 통신이 되기 때문에 당연히 될거라 배제하고 진행했었습니다. ..
헉 ! 신기하다 ! 글또를 왜 신청했어? 특정 분야에 오래 종사하다 보면 시야가 점점 좁아지고 생각도 편견도 점점 굳어지게 된다고 생각한다. 그래서 작년에 여러 컨퍼런스/행사를 처음 다녔었고, 여기서 느꼈던 두 가지를 말할까 한다. 첫 번째는 WEB 분야 이외에도 정말 다양한 분야의 개발자들이 있고 그분들마다 IT에 대한 열정 내지는 에너지가 느껴졌었고, 이로 하여금 나를 포함하여 많은 사람에게 선한 영향력을 끼치고 있는 모습이 매력적이었고, 더 많은 사람을 만나보고 싶은 열망이 생겼다. 또, 가치관도 궁금했고 왜 하필 개발하시는지? 어떤 길을 걸어왔고 또 앞으로 어디로 가는지 궁금했었다. 그다음으로는 겪었던 경험/이슈들을 듣는 이가 이해하기 쉽게 정리하는 게 쉽지 않은 데, PT하시는 분들은 개발뿐 아..
2022년 마지막 날이다. 어떤 일들이 있었을까. 2022년 시작할 즈음, 아무 탈 없이 잘 다니던 회사를 과감하게 퇴사하게 되었다. 어떻게 보면 대책도 없고, 무모해 보이겠지만 주도적으로 무언가를 열심히 해본 경험이 적었고 어느 순간부터 남이 하는 대로 나도 딱 그 정도로 만족하고 있었다. "나는 ~~한 사람이 되고 싶어" 라고 말은 하지만 실제로는 말만 할 뿐, 그에 대한 노력을 깊게 집요하게 하지 않았던 것 같다. 노력은 하는데 이거하고 저거하고 일만 벌이고 마무리를 못 하기 십상이였다. (이걸 어디선 "게으른 노력" 라고 하더라) 그런 모습이 싫어 주도적으로 해보자! 하여 여러모로 도전해보는 해(?) 이기도 했다. 구름 쿠버네티스 KDT 국비교육 AWS Partner 회사 취업 독서 17권 달성 ..
편하게 필요한 부분만 가져오기 위해 참고하려고 쓰는 글입니다. 다른 분들도 도움이 되었으면 좋겠습니다. 1. git 설치 git init 2. git 저장소 연결 git remote add origin [저장소주소] 3. git sparse checkout 활성화 git config core.sparsecheckout true 4. clone 하기 위한 폴더 경로 설정 echo [폴더경로] >> .git/info/sparse-checkout 5. pull 명령어로 해당 폴더 다운받기 git pull origin [main branch name] 4번의 폴더 경로 예시 예를들어 개발자 라는 저장소에서 특정 백엔드개발자 폴더의 src 폴더를 다운받고 싶으면, 백엔드개발자/src 이런식으로 작성해주면 됩니다.
- Total
- Today
- Yesterday
- 라우터
- java
- 네트워크
- ec2
- rds
- 개발
- 계층
- 스위치
- 알고리즘
- SpringBoot
- .NET
- 프로그래머스
- s3
- 삽질
- Spring Boot
- 3Way Handshake
- 초보
- 프로토콜
- tcp
- Docker
- 회고
- lambda
- dto
- aws
- 회고록
- spring
- osi7계층
- 자바
- 라우팅
- 개발자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |