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) 를 의미한다고 한다. 프로그래밍에서는 주로 메시지 프로토콜 중에서 프로토콜 오버헤드와 원하는 ..
FastAPI Event Handlers (on_event)
2023. 8. 13. 17:51
개발/FastAPI
FastAPI 에서 애플리케이션이 시작하기 전에 실행하거나 애플리케이션이 종료될 때 event handlers 를 정의할 수 있다. 이벤트 헨들러는 async def 또는 def 로 정의할 수 있다. FastAPI 의 아래의 문서에서 확인할 수 있다. https://fastapi.tiangolo.com/ko/advanced/events/?h=event Lifespan Events - FastAPI FastAPI framework, high performance, easy to learn, fast to code, ready for production fastapi.tiangolo.com FastAPI 의 예제를 살펴보면 다음과 같다. startup event 애플리케이션이 시작되기 전에 실행되는 함수를 ..
Postgresql 과 MySQL 비교
2023. 8. 10. 21:46
데이터 엔지니어링/Database
stackoverflow developer Survey 2023 에서 개발자들 사용하는 데이터베이스에 대해서 투표한 결과를 보게 되었다. https://survey.stackoverflow.co/2023/ Stack Overflow Developer Survey 2023 In May 2023 over 90,000 developers responded to our annual survey about how they learn and level up, which tools they're using, and which ones they want. survey.stackoverflow.co 투표 결과를 확인해보니 대략 7만 5천명의 개발자분들이 투표해주셨고 그 결과는 다음과 같았다. 전체 결과를 확인해보니 Po..
Pydantic 이란
2023. 8. 10. 20:46
프로그래밍 언어/Python
파이썬은 기본적으로 동적 타입을 사용하는 인터프리터 언어이다. 예를 들어 String 타입으로 숫자를 입력하게 되면 자동으로 Int 타입으로 변환해 적용해준다. 그렇기에 알아서 타입을 지정해주는 장점을 가지고 있지만 타입과 관련된 에러가 발생할 경우 어디에서 어떻게 에러가 발생했는지 알 수 없는 문제가 발생할 수 있다. 따라서 Pydantic 을 사용해 타입을 직접적으로 명시해줌으로써 데이터 유효성을 검증하고 데이터 관리를 할 수 있다. Pydantic 이란 https://github.com/pydantic/pydantic GitHub - pydantic/pydantic: Data validation using Python type hints Data validation using Python type ..