MacOS m1 openjdk 설치하기
2023. 9. 17. 19:30
프로그래밍 언어/Java
맥북 m1 에서 openjdk 를 설치하는 과정에 대해서 정리해보려고 한다. brew openjdk 버전 확인 brew 를 통해 설치할 수 있는 openjdk 버전 확인하기 $ brew search openjdk ==> Formulae openjdk openjdk@11 openjdk@17 openjdk@8 openj9 openvdb brew 를 통해 openjdk 설치하기 나는 openjdk 17 버전을 설치하려고 한다. $ brew install openjdk@17 java version 확인하기 openjdk 를 설치하고나서 java 의 버전을 확인하려는데 다음과 같이 메시지가 나왔다. $ /usr/libexec/java_home -V The operation couldn’t be completed...
LLM(Large Language Model) 이해하기
2023. 9. 17. 19:03
AI/Model
먼저 LM(Language Model, 언어 모델) 에 대해서 이해하고 넘어가려고 한다. 언어 모델이란 인간의 언어를 이해하고 생성하도록 훈련된 일종의 인공지능 모델이라고 한다. 주어진 단어 내에서 패턴이나 구조, 관계를 학습하여 텍스트 번역과 같은 좁은 AI 작업에서 주로 활용되었다고 한다. LLM(Large Language Model) 이란 그럼 LLM(Large Language Model) 이란 무엇일까? 해석 그대로 대량의 언어 모델이라고 볼 수 있다. LLM 은 딥러닝 알고리즘과 통계 모델링을 통해 자연어 처리 작업(Natural Language Processing, NLP)을 수행하는 데 사용한다고 한다. 이 모델은 사전에 대규모의 언어 데이터를 학습하여 문장 구조나 문법, 의미 등을 이해하고..
Git cherry pick 이란
2023. 9. 10. 21:28
버전관리/git & github
git 을 사용하면서 cherry pick 이라는 것이 있다고 해서 정리해보려고 한다. git cherry pick 이란 git 에서 cherry-picking 이란 하나의 브랜치에서 단일 커밋을 가져와서 다른 브랜치에 추가하는 것을 말한다. 단일 커밋에 포함된 변경 사항이 필요하지만 해당 브랜치의 전체 내용을 다른 브랜치로 가져올 수 없거나 가져오고 싶지 않은 경우 내가 원하는 커밋을 가져올 수 있게 골라야 한다. 이 때 cherry-picking 을 통해 원하는 커밋을 가져와 다른 브랜치에 추가할 수 있도록 해준다. 예를 들어, 위의 사진과 같이 main 브랜치와 develop 브랜치가 있고 순서대로 커밋이 된다고 할 때 develop 브랜치의 B 커밋을 가져와 main 브랜치에 E 커밋 다음에 추가..
Gitflow 브랜치 전략 이해하기
2023. 9. 10. 20:29
버전관리/git & github
많은 IT 기업에서 gitflow 를 사용해 버전 관리를 하고 있는 것으로 알고 있다. 나도 실제로 개발 업무을 진행하면서 Gitflow 를 통해 버전관리를 하고 있다. 하지만 Gitflow 가 무엇이고 어떻게 사용하고 어떤 전략을 통해 버전 관리를 하도록 권장하고 있는지 알아보기 위해 정리해보았다. 그럼 Gitflow 에는 어떤 브랜치들로 구성되어있고 어떤 전략으로 사용되는지 알아보자. Gitflow 브랜치 구성 GitFlow 는 다음과 같은 브랜치들로 구성되어있다. main branch (기존 master 에서 main 으로 변경) develop branch feature branch release branch hotfix branch 그럼 각 브랜치들을 어떤 전략으로 사용해야하는지에 대해서 알아보자..
AWS EC2 인스턴스 유형 t2 와 t3 비교하기 (t2 vs t3)
2023. 9. 3. 19:57
Cloud/AWS
AWS 프리티어를 사용하게 되면 기본적으로 EC2 인스턴스의 t2 유형을 사용할 수 있다.프리티어가 계속해서 적용되어있다면 t2 를 사용하는 것이 효율적이라고 생각되지만 1년이 지나고 프리티어가 적용되지 않는다면 t2 를 계속해서 사용하는 것이 효율적인가에 대한 고민이 들거라고 생각한다.또한 프리티어에서 기본적으로 제공해주는 ec2 t2.micro 인스턴스 유형의 경우 CPU 1 core, RAM 1GB 를 제공해주고 있다.그렇기에 t2 인스턴스 유형으로 만들어진 ec2 에서 작업을 수행할 때 리소스 부족으로 문제가 발생할 수 있다. 그럼 t2 를 사용하기에는 리소스가 부족하고 조금 더 큰 리소스를 가지는 인스턴스 유형으로 변경하고자 할 때 많은 고민이 생긴다.당연히 비용에 대한 고민이다. 리소스를 증..
서버 사이드 렌더링(Server Side Rendering, SSR) 이란
2023. 8. 20. 19:47
개발/개념정리
개발을 진행하면서 서버 사이드 렌더링에 대한 이해가 필요해 정리해보았다. 먼저 렌더링에 대한 간단한 이해를 시작으로 정리해보려고 한다. 렌더링이란 서버로부터 받은 파일을 클라이언트인 브라우저에게 보내는 과정이다. 간단하게 말해 서버에서 HTML 파일과 CSS 파일을 클라이언트에서 받아 파싱하게 되고 렌더링 과정을 통해 브라우저에 화면을 보여주게 된다. 그럼 이러한 렌더링 과정을 서버 측면에서 해줄 것이냐, 클라이언트 측면에서 해줄 것인가에 대한 부분에 있어 서버 사이드 렌더링과 클라이언트 사이드 렌더링 방식으로 사용되고 있다. 나는 이번에 서버 사이드 렌더링 방식 관점에서 정리해보려고 한다. 서버 사이드 렌더링 (Server Side Rendering) 이란 서버 사이드 렌더링이란 서버에서 페이지를 만들..
Python vars() 함수
2023. 8. 16. 19:23
프로그래밍 언어/Python
Python 을 사용하던 중 vars() 라는 함수에 대해서 알게 되었다. 그래서 어떤 함수이고 어떻게 사용하는지에 대해서 정리해보려고 한다. python vars() vars() 함수는 주어진 객체를 __dict__ 의 속성으로 반환해주는 함수라고 한다. vars() Syntax vars() 함수는 다음과 같이 사용할 수 있다. vars(object) vars() 함수는 하나의 파라미터를 갖는다. 파라미터로 다음과 같은 객체가 주어졌을 때 __dict__ 속성을 가진다고 한다. module class instance any vars() Example 이제 예를 들어 사용해보자. 먼저 예를 들기 위해서 사용할 하나의 클래스를 만들어보았다. class Snack: cake = 100 icecream = 1..
페이로드(Payload) 에 대해서
2023. 8. 13. 18:26
데이터 엔지니어링/개념정리
내가 알고 있는 페이로드는 데이터를 요청했을 때 응답으로 보내지는 데이터 부분이라고 알고 있다. 그래서 정확히 페이로드가 무엇인지에 대해서 정리해보려고 한다. 페이로드(Payload) 란 페이로드(Payload) 는 전송되는 데이터 를 의미한다. 페이로드 는 전송의 근본적인 목적이 되는 데이터의 일부분으로 그 데이터와 함께 전송되는 헤더와 메타데이터와 같은 부분을 제외한 데이터이다. 컴퓨터 보안에서는 페이로드를 멀웨어의 일부를 뜻한다. 페이로드(Payload) 라는 용어는 큰 데이터 덩어리 중 '흥미 있는' 데이터를 구별하는 데 사용한다. 또한 운송업에서 비롯된 용어인데 지급(pay) 해야하는 적화물(load) 를 의미한다고 한다. 프로그래밍에서는 주로 메시지 프로토콜 중에서 프로토콜 오버헤드와 원하는 ..