Vue와 Element UI를 활용한 슬라이딩 퍼즐 인증 기능 구현
슬라이딩 퍼즐 인증 구현 개요
사용자가 직접 조작했는지 확인하기 위한 슬라이딩 퍼즐 인증 기능을 Vue와 Element UI를 사용하여 구현하는 방법을 설명합니다. 핵심 로직은 백엔드 API를 통해 배경 이미지와 퍼즐 조각 이미지를 Base64 형식으로 받아와 렌더링하고, 사용자의 드래그 거리를 계산하여 오차 범위(약 10px) 내에서 일치하는지 검증하는 것입니다. 기존 코드 ...
8월 7일 04:06에 게시됨
Go 언어에서 문자열 활용법
프로젝트를 진행하면서 가장 많이 사용하는 데이터 타입 중 하나는 문자열입니다. 예를 들어, API를 작성할 때 클라이언트로부터 받은 요청 대부분이 문자열일 것입니다. 여기서는 Go 언어에서 문자열을 다루는 방법에 대해 간단히 정리해보겠습니다.
문자열의 형식화 출력
package main
import "fmt"
func main() {
fmt.Println("안녕하세요")
}
...
8월 1일 07:27에 게시됨
Python과 Java의 상호 운용 가능한 암호화 알고리즘 비교
Python과 Java의 상호 운용 가능한 암호화 알고리즘 비교
Gzip 압축
Java Gzip 구현
Java에서는 java.util.zip 패키지의 GZIPOutputStream 및 GZIPInputStream 클래스를 사용하여 Gzip 압축 및 해제를 수행합니다. 다음은 예시 코드입니다.
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.zip.GZIPInputStream;
import ...
7월 29일 16:00에 게시됨
System.Xml.XmlTextReader를 활용한 대용량 XML 노드 스트리밍 처리
수십 MB 이상의 Base64 데이터를 포함한 XML 노드를 처리해야 하는 상황이 발생했다. DOM 방식은 메모리 한계로 불가능하므로 XmlReader 기반의 스트리밍 접근이 필수적이다. 그러나 XmlTextReader로 대용량 스트 노드를 읽을 때도 여러 함정이 존재한다.
ReadChars()의 함정
MSDN 문서에 소개된 ReadChars 기본 패턴은 다음과 같다.
int chunkLen;
char[] segment = ne ...
7월 13일 20:28에 게시됨
CCGridPictureEditor 그리드 이미지 편집 컨트롤 활용법
CCGridPictureEditor는 이름 그대로 그리드 기반의 이미지 편집 컴포넌트로, 여러 개의 썸네일 이미지를 격자 형태로 표시하는 데 사용됩니다. 이 컨트롤은 웨이보(위챗)의 다중 사진 게시 기능과 유사한 인터페이스를 쉽게 구현할 수 있게 해줍니다.
기존에는 Delphi 기본 제공하는 GridLayout을 수동으로 조합해 비슷한 기능을 구현했지만, 코드 양이 많고 관리하기 불편 ...
7월 10일 20:53에 게시됨
Node.js에서 Base64 문자열 인코딩 및 디코딩
Base64 인코딩의 기본 개념
Base64 인코딩은 이진 데이터를 ASCII 문자열로 변환하는 방법입니다. Base64는 암호화 또는 압축 기술이 아닙니다. Base64 인코딩을 사용하면 데이터 크기가 약 33% 증가합니다. Base64는 Base16, Base32와 함께 가장 널리 사용되는 인코딩 방식 중 하나입니다.
Base64 인코딩 작동 방식
텍스트 문자열을 Base64로 변환하는 과정은 다음과 같 ...
6월 26일 19:53에 게시됨
쿠키, 세션, 토큰 및 JWT 인증 메커니즘
쿠키, 세션, 토큰 개념
HTTP 프로토콜의 무상태(stateless) 특성으로 인해 사용자 인증 정보 유지가 필요했습니다. 초기에는 쿠키(cookie)가 도입되었으며, 로그인 및 장바구니 기능 구현을 위해 세션(session)이 개발되었습니다. 세션은 서버 간 상태 공유 문제를 해결했지만 서버 장애 시 데이터 유실 취약점이 존재했습니다. 이를 개선하기 위해 토큰(token) 방식이 등 ...
6월 23일 00:46에 게시됨
Base64 인코딩 메커니즘과 CTF 문제 해결 전략
Base64 인코딩의 개념과 필요성
Base64는 바이너리 데이터를 인쇄 가능한 ASCII 텍스트 문자열로 변환하는 인코딩 스킴입니다. 네트워크 프로토콜이나 웹 환경에서는 바이너리 데이터를 직접 전송할 경우 데이터 손상이나 제어 문자 충돌이 발생할 수 있습니다. 이를 방지하기 위해 이메일 본문, JSON 페이로드, URL 파라미터 등 텍스트만 허용되는 채널에서 바이너리 데이 ...
5월 27일 20:36에 게시됨