ThinkPHP와 Redis를 활용한 실전 개발 가이드 (초고속 판매 시나리오 포함)
ThinkPHP와 Redis 통합을 통한 고성능 서비스 구축
Redis는 인메모리 기반의 키-밸류 저장소로, 고속 데이터 접근과 원자성 연산을 통해 초고속 판매(플래시 세일)와 같은 고병렬 처리 시나리오에 최적화되어 있습니다. 이 문서에서는 PHP 기반 프레임워크인 ThinkPHP 6.0 이상 환경에서 Redis를 통합하고, 실제 초고속 판매 시스템을 구현하는 방법을 단계별로 설명합니 ...
7월 21일 05:30에 게시됨
메시지 큐를 활용한 Dompdf 분산 렌더링 아키텍처
Dompdf 성능 한계와 분산 처리 필요성
대용량 PDF 생성 시 단일 서버에서 발생하는 CPU 포화, 긴 대기 시간, 시스템 지연 문제는 메시지 큐 기반 분산 아키텍처로 해결할 수 있습니다. 본 아키텍처 구현을 통해 얻는 핵심 이점:
Dompdf 렌더링 병목 현상의 기술적 원인 이해
메시지 큐를 통한 작업 분배 시스템 설계 방법
고가용성 PDF 렌더링 클러스터 구성 전략
...
7월 20일 03:43에 게시됨
PHP 웹 애플리케이션 파일 포함 취약점 심층 분석
파일 포함 취약점 개요
파일 포함(File Inclusion) 취약점은 웹 애플리케이션이 사용자 입력에 따라 서버의 파일을 동적으로 불러오거나 실행할 때 발생합니다. 공격자는 이 취약점을 이용해 서버의 민감한 파일을 읽거나, 원격 파일을 포함하여 악성 코드를 실행할 수 있습니다. 이는 웹 서버 및 시스템 전반에 심각한 보안 위협을 초래할 수 있습니다.
민감한 파일 정보 ...
7월 18일 19:52에 게시됨
도큐트린 퍼시스턴스 이벤트 시스템 완벽 가이드: 라이프사이클 이벤트와 커스텀 이벤트 마스터하기
도큐트린 퍼시스턴스 이벤트 시스템 완벽 가이드: 라이프사이클 이벤트와 커스텀 이벤트 마스터하기
도큐트린 퍼시스턴스(Docctrine Persistence)는 객체 매핑기(Object Mapper)의 지속성(Persistence)을 위한 강력한 공통 추상화 라이브러리입니다. 이 라이브러리의 핵심 구성 요소 중 하나는 이벤트 시스템으로, 데이터 지속화 로직을 유연하게 확장할 수 있게 해줍니다. ...
7월 18일 19:45에 게시됨
N1CTF 2020 Web SignIn 취약점 분석 및 익스플로잇
N1CTF 2020 웹SignIn 문제의 분석 및 풀이 과정입니다.
취약점 분석
대상 시스템에 접속하면 소스 코드를 얻을 수 있습니다. 코드에는 두 개의 클래스와 `input` GET 파라미터를 받아 역직렬화하는 부분이 포함되어 있어, 역직렬화를 통한 해킹이 문제의 핵심임을 알 수 있습니다.
7월 18일 08:16에 게시됨
LNMP 환경 구축 가이드
하나. 방화벽 설정
CentOS 7.x 기본 방화벽인 firewall 대신 iptables를 사용하도록 설정합니다.
firewall 비활성화:
systemctl stop firewalld.service # firewall 중지
systemctl disable firewalld.service # 부팅 시 firewall 자동 실행 비활성화
iptables 설치
yum install iptables-services # 설치
vi /etc/sysconfig/iptables # 방화벽 설정 파일 편집
# samp ...
7월 15일 21:30에 게시됨
CentOS 8 환경에서 PHP 버전을 최신으로 업그레이드하거나 전환하는 방법
기존 PHP 서비스 중단 및 패키지 삭제
CentOS 8에 기본적으로 포함된 PHP 7.2 버전은 특정 확장 모듈(예: mysqlnd)이 누락되어 있거나 최신 애플리케이션 요구사항에 맞지 않을 수 있습니다. 새로운 버전을 설치하기 전, 먼저 실행 중인 PHP 서비스를 중단하고 기존 패키지를 제거합니다.
# PHP-FPM 프로세스 중지
systemctl stop php-fpm
# 설치된 PHP 관련 패키지 일괄 ...
7월 15일 17:26에 게시됨
ThinkPHP 프레임워크 이해와 기본 사용법
ThinkPHP 소개
ThinkPHP는 PHP로 개발된 빠르고 간단한 객체 지향 경량 프레임워크입니다. 이 문서에서는 ThinkPHP v5.0.14을 기준으로 설명합니다.
프로젝트 구조
project 애플리케이션 배포 디렉토리
├─application 애플리케이션 디렉토리
│ ├─common 공통 모듈 디렉토리
│ ├─index 모듈 디렉토리
│ │ ├─controller 컨 ...
7월 14일 19:45에 게시됨
작업 중일 때 유용하게 사용할 수 있는 PHP 함수들
PHP은 매우 풍부한 내장 함수를 제공하지만, 여전히 많은 함수들이 개발자들 사이에서 덜 알려져 있습니다. 이 기사에서는 작업 중일 때 특히 유용하게 사용할 수 있는 함수들을 소개합니다.
1. levenshtein()
두 문자열 간의 차이를 측정할 때 사용할 수 있는 함수입니다. 문자열의 산출물이 같을 때 유용하게 사용할 수 있습니다.
$string1 = "example";
$string2 = ...
7월 13일 03:24에 게시됨
PHP 8 JIT 컴파일을 활용한 AI 추론 가속화
PHP의 새로운 가능성: JIT와 수치 연산의 만남
웹 개발의 대명사로 불리던 PHP가 이제는 AI 추론 영역에서도 주목받고 있습니다. PHP 8.0부터 도입된 JIT(Just-In-Time) 컴파일은 단순한 성능 개선을 넘어, 언어의 활용 범위를 크게 확장했습니다. 특히 행렬 연산이 빈번한 머신러닝 추론 과정에서 JIT가 가져오는 이점은 상당합니다.
기존 Zend 엔진의 해석 실행 방식은 ...
7월 12일 19:43에 게시됨