IT/파이썬 2023. 6. 30.
FastAPI 에 Nginx 웹서버 필요?
FastAPI, Flask 등등 웹서버를 써야하나 말아야 하나 고민중이라면 한번 읽어보시길~~ FastAPI 개발환경 셋팅으로 배우는 nginx와 웹서버의 관계 nginx와 웹서버의 관계를 이해하기 위해서는 먼저 nginx가 무엇인지 알아야 합니다. nginx는 웹서버 소프트웨어로, 클라이언트의 요청을 받아서 처리하거나 다른 서버에 전달하는 역할을 합니다. nginx는 reverse proxy라고도 불리는데, 이는 nginx가 클라이언트와 실제 서버 사이에 위치하여 요청과 응답을 중계해주는 것을 의미합니다¹. FastAPI는 파이썬으로 작성된 웹 프레임워크로, 비동기적이고 빠르게 API를 개발할 수 있습니다. FastAPI는 ASGI라고 부르는 웹 서버 게이트웨이 인터페이스를 사용하는데, 이는 비동기적으..
IT/IoT | Hardware 2023. 6. 23.
초소형 리눅스 모듈 - MYC-YF13X
중국의 기술력이란 대단해 19불짜리 SOM 모듈인데 리눅스가 구동된다고 하네요. https://www.hackster.io/news/myir-launches-a-tiny-yet-feature-packed-19-som-built-around-stmicro-s-new-stm32mp135-chip-9cbaaa363b18 MYIR Launches a Tiny Yet Feature-Packed $19 SOM Built Around STMicro's New STM32MP135 Chip Designed for a small footprint, this surface-mount SOM offers up to 4GB of storage and 512MB of RAM — with pricing starting at $19..
IT/Cloud 2023. 6. 20.
카프카 - 브로커, 복제, ISR(In-Sync-Replication) 공부
카프카의 브로커, 복제, ISR 부분 공부 내용 https://www.youtube.com/watch?v=qpEEoGpWVig 브로커는 머야? 서버 단위, 서버를 말하는 모양이다. 기본 3대 정도를 쓴다고 한다. 복제는 복제다 가용성을 위해 복제 해 두는것, 고장이 나거나 동작 불능일때 활용하도록 한다. 기본적으로 브로커 개수 만큼 둬도 되고, 더 작게 둬도 된다. 당연히 브로커 개수 보다 많을 수는 없다. 용어는 알아야지. leader, follower partition ISR 이라는 용어가 등장하는데 - In Sync Replica 복제 영역이라는 의미인듯 ACK를 주는 것이 있는데, 생산자가 큐에 잘 넣었는지 답변을 받는 옵션 같은데, 기본적으로 all 로 해두면 될듯 무조건 많은게 좋지는 않겠지 ..
IT/Cloud 2023. 6. 20.
카프카 - 토픽 공부 내용
카프카 토픽에 대해 알아보자. 강의 링크는 아래 유툽 링크 참고 https://www.youtube.com/watch?v=7QfEpRTRdIQ 카프카 토픽 화면 캡쳐로 대충 알아보자. 내용은 나중에 정리하던지 카프카는 데이터 생성자, 소비자가 있다. 테이터는 토픽 단위로 처리된다. 토픽은 어떤 이벤트나 데이터를 저장하는 단위의 제목이다. 아래 예와 같이 클릭로그, 결제로그 등이 토픽이 될 수 있다. 토픽은 이름을 정해주면, 된다. 데이터는 맘대로 넣을 수 있다. 파티션이란는 개념이 나온다 토픽이라는 하드디스크에 파티션이 있는 느낌이다. 하나의 토픽에 여러개의 파티션이 있을 수 있다. 일단 하나는 생성해야 토픽 메시지를 보관할 수 있다. 소비자는 이 파티션 큐에 있는 메시지를 처리한다. 0번 부터 6번까지..
IT/Cloud 2023. 6. 15.
KT 클라우드 - API Gateway
KT 클라우드 - API Gateway는 클라우드 환경에서 다양한 API를 통합 관리하고 보안, 성능, 모니터링 등의 기능을 제공하는 서비스입니다. API Gateway를 사용하면 개발자는 API 개발에만 집중할 수 있으며, 사용자는 안정적이고 빠른 API 서비스를 이용할 수 있습니다. https://cloud.kt.com/product/application/apiGateway/ Application - API Gateway [KT Cloud 발표 영상] 국내 DaaS 시장 현황 및 코로나19 환경에서 업무혁신 전략 cloud.kt.com API Gateway의 주요 기능은 다음과 같습니다. API 통합 관리: API Gateway에서는 여러 개의 API를 하나의 엔드포인트로 통합하여 관리할 수 있습니다..
IT/Web 2023. 6. 14.
ovenapp.io - 간단한 프로토타입 최고의 툴
ovenapp.io는 HTML5 기반의 무료 웹/앱 프로토타이핑 툴입니다¹. 프로토타이핑이란 간단하게 이야기하면 '모형 제작'이라는 말과 같다고 볼 수 있습니다. 즉, ovenapp.io는 PC나 모바일 콘텐츠의 개발 전인 기획 단계에서 '모형'을 제작하는 데에 도움을 주는 툴이라는 것입니다¹. 접속 주소는 https://ovenapp.io OvenApp.io Oven(오븐)은 HTML5 기반의 무료 웹/앱 프로토타이핑 툴입니다. (카카오 제공) ovenapp.io ovenapp.io의 장점은 다음과 같습니다. 누구나 쉽게 할 수 있다는 것! 드래그 앤 드롭 방식으로 간편하게 UI 요소를 배치할 수 있습니다¹. 다양한 디바이스 사이즈를 제공합니다. 개발 단계에서 발생할 수 있는, 실제 디바이스와 기획물 ..
IT/블로그 2023. 6. 13.
티스토리 로그인 에러 발생 - 브라우저 캐시, 쿠키 지우기
카카오 티스토리 로그인 에러는 일시적인 문제 또는 브라우저의 쿠키 파일 때문에 발생할 수 있습니다. 브라우저 캐시를 지우는 방법은 다음과 같습니다. 크롬 브라우저의 경우, 우측 상단의 점 3개를 클릭하고 설정을 선택합니다. 개인정보 및 보안에서 인터넷 사용 기록 삭제를 클릭합니다. 고급 탭에서 기간을 선택하고 인터넷 사용 기록, 쿠키 및 기타 사이트 데이터, 캐시된 이미지 및 파일을 체크한 후 인터넷 사용 기록 삭제를 클릭합니다. 다시 티스토리로 돌아와서 카카오 계정으로 로그인하기를 시도합니다. 이 방법으로 해결되지 않는다면, 고급 탭의 기간을 전체 기간으로 설정해 보세요. 또는 다른 브라우저를 사용해 보세요. 도움이 되었으면 좋겠습니다.🙏 에지 브라우저에서 캐시를 지우는 방법은 다음과 같습니다 에지 브..
IT/Cloud 2023. 6. 13.
Nest JS 좀 알아보기 - 빙 코파일럿 활용
블로그 글을 쓰고 싶으시다면, Nest.js에 관련된 글을 써보는 것은 어떨까요? Nest.js는 Node.js를 위한 효율적이고 확장 가능한 서버 사이드 애플리케이션을 구축하기 위한 프레임워크입니다. TypeScript를 기반으로 하며, OOP, FP, FRP의 요소들을 결합합니다. Express나 Fastify와 같은 강력한 HTTP 서버 프레임워크를 사용하며, Angular에서 영감을 받은 아키텍처를 제공합니다¹. Nest.js를 사용하면 다음과 같은 장점들을 누릴 수 있습니다. 데코레이터를 통해 라우팅, 파라미터, 의존성 주입 등을 간편하고 선언적으로 할 수 있습니다. 모듈, 컨트롤러, 서비스, 가드, 인터셉터 등의 구성 요소들이 역할과 책임을 명확하게 분리합니다. 테스트 용이성과 재사용성을 높여..
IT/Cloud 2023. 6. 8.
컨테이너 오케스트레이션 - 쿠버네티스 등장
컨테이너들이 아주 많이지면 또 그게 골치 아파진다. 먼가 세상은 약간 이런식이다. 먼가 하다보면 또 먼가를 해야 한다. 공부야 유툽이지 https://youtu.be/Ia8IfowgU7s 아주 쉽게 개념 설명을 해주시넹. 도커가 편해졌는데, 도커도 하나하나 컨테이너가 늘어나면 또 아래와 같이 부가적인 기능들이 필요하다. 웹서버가 2개되면 로드밸런스 붙이고, 프록시 쓰고 해야한다. 마이크로 서비스가 활성화되면, 이런 요소들이 자꾸 자꾸 필요해 진다. 컨테이너 오케스트레이션의 기능 1. 클러스터 말 그대로 클러스터 단위로 도커그룹을 관리해 주는 것 같다. 2. 상태관리 그냥 서버의 상태가 아니라, 복제 3개를 해줘 하면 그 상태에 맞게 3개의 복제 도커를 띄우는 것을 예제를 보여주네. 3. 스케줄링 배포될 ..
IT/IoT | Hardware 2023. 5. 30.
케이블 용어 - 코어, 전선의 수를 부르는 용어
케이블 코어는 케이블 내부에 있는 전선의 수를 말합니다. 케이블 코어는 일반적으로 구리로 만들어지지만, 알루미늄으로 만들어지기도 합니다. 케이블 코어는 전기를 전달하는 역할을 합니다. 케이블 코어의 수에 따라 케이블의 용도나 성능이 달라질 수 있습니다. 예를 들어, 전기 콘센트에 사용되는 케이블은 2개의 코어를 가지고 있지만, 인터넷 케이블은 4개의 코어를 가지고 있습니다. 케이블 코어는 보통 C라는 단위로 표현하고, 코어(core)라고 읽습니다 2C 케이블은 2개의 전선이 들어있는 케이블이고, 4C 케이블은 4개의 전선이 들어있는 케이블입니다 일반적으로 전선의 수가 많을수록 더 많은 정보를 전달할 수 있습니다 케이블 코어의 종류와 특징을 간단히 표로 정리하면, 케이블 코어의 종류 특징 예시 싱글모드 광..
IT/Cloud 2023. 5. 30.
스케일 업(Scale-up) vs 스케일 아웃(Scale-out)
스케일 업(Scale-up)과 스케일 아웃(Scale-out)은 시스템이나 인프라의 용량을 늘리는 두 가지 방법입니다. 스케일 업(scale-up)은 기존의 서버를 보다 높은 사양으로 업그레이드하는 것을 말합니다. 하드웨어적인 예를 들면, 성능이나 용량 증강을 목적으로 하나의 서버에 디스크를 추가하거나 CPU나 메모리를 업그레이드시키는 것을 말합니다. 이처럼 하나의 서버의 능력을 증강하기 때문에 수직 스케일링(vertical scaling) 이라고도 합니다. 스케일 아웃(scale-out)은 장비를 추가해서 확장하는 방식을 말합니다. 기존 서버만으로 용량이나 성능의 한계에 도달했을 때, 비슷한 사양의 서버를 추가로 연결해 처리할 수 있는 데이터 용량이 증가할 뿐만 아니라 기존 서버의 부하를 분담해 성능 ..
IT/파이썬 2023. 5. 24.
Request.is_ajax() 함수
Django 4.0부터 is_ajax() 함수는 제거되었습니다. request.is_ajax() 메서드는 요청이 AJAX 요청인지 여부를 나타내는 부울 값을 반환합니다. 이 메서드는 요청이 AJAX 요청인지 확인하는 데 사용됩니다. request.is_ajax() 메서드는 다음과 같은 방법으로 사용할 수 있습니다. Python if request.is_ajax(): # This is an AJAX request else: # This is not an AJAX request코드를 사용할 때는 주의하시기 바랍니다. 자세히 알아보기 content_copy request.is_ajax() 메서드는 다음과 같은 방법으로 확인할 수 있습니다. X-Requested-With HTTP 헤더가 XMLHttpReques..
IT/파이썬 2023. 5. 18.
Django - USE_TZ 설정에 따른 timezone.now() 리턴
timezone.now() 함수는 USE_TZ 설정이 True이면 현재 시간대의 datetime 개체를 반환하고, USE_TZ 설정이 False이면 UTC의 datetime 개체를 반환합니다. 만약 USE_TZ=True 인 경우에는 그냥 아래 timezone.now() 만 사용하면 될 것 같은데, 혹시나 USE_TZ=False 인 경우에 timezone 에 맞는 now() 값을 가져오고 싶다면, 아래 코드를 참고하셔도 좋을 것 같네요. 이 코드들은 모두 현재 시간의 datetime 개체를 가져오고 클라이언트의 시간대로 변환합니다. client_timezone = timezone.get_current_timezone() django_time = timezone.make_aware(datetime.datet..