IT 끄적이기 69

JWT ?

JWT (JSON Web Token)는 두 시스템 간에 안전하게 정보를 전달하기 위한 컴팩트하고 독립적인 방식의 토큰입니다.JWT는 주로 인증 및 정보 교환 목적으로 사용됩니다.JWT의 구조JWT는 세 부분으로 구성된 문자열입니다. 이 세 부분은 마침표 .로 구분되며 각각의 부분은 다음과 같습니다:Header (헤더): JWT의 타입과 서명 알고리즘 정보를 포함합니다.Payload (페이로드): 토큰에 포함된 클레임(정보)을 담고 있습니다. 일반적으로 사용자 정보, 권한, 만료 시간 등이 포함됩니다.Signature (서명): 토큰의 무결성을 보장하기 위한 서명입니다. 헤더와 페이로드를 합쳐 비밀키로 서명한 값입니다.예제 JWTeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdW..

SaaS, PaaS, IaaS

클라우드 컴퓨팅 서비스 종류인 SaaS, PaaS, IaaS클라우드 컴퓨팅이라는 용어가 광범위하게 사용되고 있지만, 모든 클라우드 모델들이 다 똑같지는 않다. 따라서 모든 모델에 하나의 방법을 사용하면 안되며 클라우드 모델은 크게 SaaS(Software as a Service), PaaS(Platform as a service), IaaS(Infrastructure as a Service)로 나눌 수 있다.조직에서는 이런 세 가지 모델 사이의 차이점과 유사점을 고려하여 클라우드 보안을 적용해야 한다.SaaS (Software as a Service) :  클라우드 기반의 소프트웨어 제공 모델로, 클라우드 제공업체가 클라우드 애플리케이션 소프트웨어를 개발 및 유지 관리하고, 자동 소프트웨어 업데이트를 제..

CI/CD

CI/CD (지속적 통합/지속적 제공)CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포다.CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제를 해결하기 위한 솔루션이다.특히, CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공한다.이러한 구축 사례를 일반적으로 CI/CD 파이프라인이라 부르며 개발 및 운영팀의 애자일 방식 협력을 통해 지원된다.CI/CD 차이CI (Continuous Integration)CI는 개발자를 위한 자동화 프로세스인 지속적..

Django 와 ORM

Python Django란?Django란 파이썬으로 만들어진 무료 오픈소스 웹 어플리케이션 프레임워크(Framework)이다. 만약 Express를 알고 있다면, 이와 비슷하다고 생각하면 된다. 주 목적은 복잡한 database 기반의 website 를 쉽게 만드는 데 있다.장고의 장점으로는비교적 간단한 언어이지만 빠르고 강력한 Python 언어로 이루어져 있어 접하기 쉽다.ORM(Object-Relational Mapping)기능 지원쉬운 URL 파싱 기능 지원동일한 소스에서 다른나라에 맞춰 번역 및 날짜,시간 등의 포맷 타임존을 지정할 수 있다.자동으로 Admin Panel기능 제공User Authentication(유저 인증)이 용이등의 있다.Youtube, Dropbox, Google, Quora..

쿠키와 세션

HTTP의 무상태 프로토콜 , 비연결성으로 인해 약점을 보완하기 위해 사용1. 쿠키 ( Cookie )쿠키란?쿠키는 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일입니다.사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지된다는 특징이 있습니다.쿠키는 클라이언트의 상태 정보를 로컬에 저장했다가 참조합니다.클라이언트에 300개까지 쿠키저장 가능, 하나의 도메인당 20개의 값만 가질 수 있음, 하나의 쿠키값은 4KB까지 저장합니다.Response Header에 Set-Cookie 속성을 사용하면 클라이언트에 쿠키를 만들 수 있습니다.쿠키는 사용자가 따로 요청하지 않아도 브라우저가 Request시에 Request Header를 넣어서..

OSI 7 계층

OSI 7계층물리계층(최하위)(physical layer): 전송매체에 대한 전기적, 기계적인 인터페이스를 다룬다.(하드웨어로 구현)데이터링크 계층(datalink layer): 이 계층의 데이터 단위를 프레임 이라고 한다.이 계층의 기능은 데이터의 오류문제를 해결하고 프레임단위로 데이터를 전송하고 프레임에 번호를 부여해서 데 이터를 순차적으로 전송하도록 하는것이다.네트워크 계층(network layer): 데이터가 네트워크상에 존재하는 노드를 통과하여 목적지까지 잘 도착하도록 경로를 찾아준다.는 양쪽 컴퓨터의 주소를 포함한다.이러한 역활을 라우팅이라고한다. 이 계층의 데이터 전송단위는 패킷이라고 부르는데 패킷에는 데이터를 주고 받트랜스포트 계층(transport layer): 네트워크 계층이 호스트에서..

HTTP ? 이건 뭐고 HTTPS와 차이는 뭐야?

결론  HTTPS vs HTTPHTTPS의 용도와 HTTP와의 차이점HTTPS(HyperText Transfer Protocol Secure)는 기존 HTTP에서 Secure(보안)이 추가된 방식입니다. HTTP의 확장 버전 또는 더 안전한 버전입니다. HTTPS에서는 브라우저와 서버가 데이터를 전송하기 전에 안전하고 암호화된 연결을 설정합니다. 네트워크 프로토콜 암호화 방식을 사용하여 클라이언트가 웹 서버에 데이터 전달시 암호화를하여제 3자가 정보를 훔치지 못하도록 방지.  HTTPS는 HTTP 요청 및 응답을 SSL 및 TLS 기술에 결합합니다.차이점 요약  HTTPHTTPS의미Hypertext Transfer ProtocolHypertext Transfer Protocol Secure기본 프로토콜H..

#번외, ‘PCWorld 선정’ 2023/2024 최고의 PC 하드웨어와 소프트웨어 24선

Brad Chacos | PCWorld 팬데믹으로 인한 PC 시장의 혼란은 이제 완전히 끝났다. 팬데믹 기간 외출 통제와 칩 부족은 장기간의 PC 부품 품귀와 제품 생산 차질로 이어졌지만, 2023년에 이런 혼란이 모두 정리됐다. 오히려 2023년에는 다양한 신제품이 빠르게 쏟아지면서 제품 목록을 따라가기도 쉽지 않을 정도였다. PCWorld 역시 2023년에 역대 가장 많은 소프트웨어와 하드웨어를 리뷰했다. 하지만 리뷰한 제품 수에 비해 깊은 인상을 남긴 PC 하드웨어와 소프트웨어도 많지 않았다. PCWorld 리뷰에서 '에디터스 초이스(Editors’ Choice)'가 매우 적었던 이유다. ⓒ Rob Schultz/Unsplash 깐깐한 리뷰와 논의 과정을 거쳐 PCWorld 에디터들이 최종 선정한 ..

DB 와 웹 브라우저 상의 9시간 차이나는 현상

개발을 하면서 DB상의 데이터와 웹서비스로 데이터를 가져왔을 때의 시간 그리고 마지막 웹 브라우저에 띄워주기 이전에 Json 데이터를 봤을 때 시간이 모두 정상적으로 나오는데 이상하게 웹 프론트엔드에 뿌려주면 시간이 자동으로 +9 시간이 되는 현상이 있었다 결론적으로는 Json 데이터를 웹에 뿌려줄 때 영국 그리니치 천문대 시간을 기준으로 데이터를 인식 후 웹 브라우저가 속한 Locale 에 따라서 자동으로 시간 계산을 해주는 것 같았다. JSON "2017-02-16T09:56:00Z" - T는 날짜와 시간을 구분해주는 delimiter(구분자)이다. 그이외의 의미는 없다. - 끝에 Z는 영국 그리니치 천문대 시간을 가르킨다(+00:00). 한국은 (+09:00)이다. Z = Zulu time = GM..

Git, Github 다른건가 ? (Git 과 Github의 차이점) + GitLab ? GitLab은 뭐야?

git과 github의 차이 ? Git오픈 소스 버전 관리 시스템(VCS)로컬에서 버전을 관리소프트웨어 개발 및 소스 코드 관리에 사용git은 본인의 코드와 수정이력을 기록하고 관리하도록 돕는 버전관리(형상관리) 프로그램.git을 통해 main 브런치를 생성하고 feature 브랜치를 따서 개발을 하며 main으로 병합을 하거나 이전 브랜치로 복구, 삭제등이 가능함. * 소프트웨어 개발시 소스 코드의 변경 사항을 추적하고 로컬과 원격 저장소의 개념을 사용하여 로컬의 작업 변경 사항을 중앙 서버에 업로드할 수 있게 함 => 한 저장소에 모두 직접 연결해서 사용해야하는 것 같음GithubGit Repository를 위한 웹 기반 호스팅 서비스 클라우드 서버를 사용해서 로컬에서 버전 관리한 소스코드를 업로드하..