본문 바로가기
반응형

전체 글643

토큰으로 검증하자! JWT(JSON 웹 토큰) JWT(JSON Web Token)란?JWT(JSON Web Token)는 사용자 인증 정보를 JSON 형식의 토큰으로 표현하고, 이를 디지털 서명을 통해 안전하게 전달하는 방식이다."서버가 인증을 거친 사용자에게 발급해 주는, 변조 불가능한 정보 뭉치"클라이언트는 이 토큰을 보관하고, 이후 요청할 때마다 헤더에 포함시켜 다시 인증받지 않고도 서비스를 이용할 수 있다.즉, 한번 인증받으면 인증 상태가 유지된다.사용자 인증 정보를 기록하고 있는 토큰이라고 생각하면 이해하기 편하다. 추가적으로 JWT의 탄생배경에 대해서 알아보자.  이를 위해서는 우선 Cookie와 Session에 대해서 알아야 할 필요가 있다.🍪 쿠키(Cookie)쿠키는 '클라이언트(웹 브라우저)에 저장되는 작은 데이터 조각'을 말한다... 2025. 4. 7.
일단 호출하고 보자! 덕 타이핑(Duck Typing)이란? 🦆 Duck Typing이란?"If it walks like a duck and quacks like a duck, it must be a duck."("걷는 모습이 오리 같고 오리처럼 꽥꽥거리는 소리를 낸다면, 그건 오리야!")동적 타이핑의 한 종류로, 객체의 변수 및 메서드를 호출하는 시점에서 해당 객체의 타입을 결정하는 방식즉, 객체의 실제 타입(type)을 따지지 않고, 그 객체가 어떤 행동을 할 수 있는지만을 보고 판단객체의 형식(interface)보다 행동(behavior)을 중시한다.Python 예제 코드class Duck: def quack(self): print("Quack!")class Person: def quack(self): print("I'm.. 2025. 4. 4.
Python 코드로 테스트 가능한 로커스트(Locust) 로커스트(Locust)란?로커스트(Locust)는 웹 애플리케이션, API, 웹소켓 등의 부하 테스트(Load Testing) 및 성능 테스트(Performance Testing)를 위해 많이 사용되는 오픈소스 툴이다. Python으로 작성되어 있으며, 테스트 시나리오도 Python 코드로 작성할 수 있어서 유연성과 확장성이 뛰어나다. 오픈소스이기 때문에 깃허브에서 코드를 확인할 수 있다. GitHub - locustio/locust: Write scalable load tests in plain Python 🚗💨Write scalable load tests in plain Python 🚗💨. Contribute to locustio/locust development by creating an a.. 2025. 4. 3.
C# 2개의 list 하나로 합치기 2개의 list 하나로 합치기프로그래밍 작업을 하다 보면 서로 다른 2개의 list를 하나로 합쳐야 하는 순간이 반드시 올 것이다. 이때 어떻게 하면 더 편하고 간단하게 할 수 있을지 알아보자.루프를 이용한 수동 추가보통 루프를 이용한 수동 추가를 기본적으로 사용한다.using System;using System.Collections.Generic;class Program{ static void Main() { List listA = new List { 1, 2, 3, 4 }; List listB = new List { 5, 6, 7 }; List listC = new List(listA); foreach (var item in listB) .. 2025. 3. 30.
NginX와 SSL 인증서로 보안 연결 설정하기 들어가면서웹브라우저의 HTTPS 또는 웹소켓의 WSS의 보안 연결을 진행하기 위해서는 준비가 필요한데, 개인적으로는 NGINX를 사용해서 SSL 보안 연결을 진행하는 것이 가장 간단한 방법이라고 생각한다. 보안 연결을 위한 준비물공인된 곳에서 발급받은 SSL 인증서NginxSSL 인증서 구성 파일보통 SSL 인증서를 구매하면 아래와 같이 3가지의 파일을 발급받게 된다.crt.pem : 서버 인증서 PEM (Base64 Text)key.pem : 개인키 PEM (Base64 Text) 암호 없음all.crt.pem : 서버 인증서 + 체인 + 루트 통합 PEM (Base64 Text)이 중에서도 중개(체인) 인증서가 무엇인지 이해하는 게 중요하다. 중개(체인) 인증서(Intermediate-Chain Ce.. 2025. 3. 30.
JsonUtility 유니티에서 가볍고 빠르게 JSON 직렬화 하기 JsonUtility란?유니티 엔진 자체적으로 지원하는 경량 JSON 직렬화/역직렬화 도구이다. UnityEngine 네임스페이스에 포함되어 있으며, 별도 패키지 없이 바로 사용이 가능하다.직렬화(Serialize) 😎 객체 -> Json 문자열직렬화를 진행하면 객체가 json 형태의 string 문자열로 변환된다.[Serializable]public class Player{ public string name; public int score;}var data = new Player { name = "Alice", score = 100 };string json = JsonUtility.ToJson(data);Debug.Log(json); // 출력: {"name":"Alice","score".. 2025. 3. 24.