본문 바로가기

반응형

전체 글

PHP 프레임워크 종합 비교 (Slim 4, Framework X, Laravel, Spiral) 주요 특성 비교 비교 항목 Slim 4 Framework X Laravel Spiral프레임워크 타입마이크로 프레임워크리액티브 마이크로풀스택 MVC고성능 풀스택아키텍처미니멀리스트비동기/리액티브전통적 MVC모듈러/마이크로서비스러닝 서버전통적 PHPReactPHP전통적 PHP/OctaneRoadRunner주요 용도API, 마이크로서비스실시간 애플리케이션웹 애플리케이션 전반고성능 웹/API성능 및 기술적 특성 비교 항목 Slim 4Framework X Laravel Spiral성능⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐메모리 사용량매우 낮음낮음높음낮음시작 시간매우 빠름빠름보통빠름동시성 처리제한적우수함제한적우수함비동기 지원❌✅ 네이티브⚠️ 제한적✅ 내장WebSocket 지원❌✅ 네이티브⚠️ 외부 패키지✅ 내장개발 .. 더보기
[2022-09-25] 기본 키 매핑 기본키 매핑 어노테이션 @Id @GeneratedValue 기본 키 매핑 방법 - 직접 할당 : @Id만 사용 - 자동 생성 (@GeneratedValue) IDENTITY : 데이터베이스에 위임. MYSQL SEQUENCE : 데이터베이스 시퀀스 오브젝트 사용. ORACLE @SequenceGenerator 필요 TABLE : 키 생성용 테이블 사용. 모든 DB에서 사용 @TableGenerator 필요 AUTO : 방언에 따라 자동지정. 기본값 @GeneratedValue.IDENTITY 전략 - 특징 => (나는 모르겠고, DB야 알아서 해줘)_ - 기본 키 생성을 데이터베이스에 위임 - 주로 MySQL, PostgreSQL, SQL Server, DB2에서 사용 ( 예 : MySQL 의 AUTO_.. 더보기
Spring testcontainer Spring testcontainer를 이용한 독립 테스트환경 구축 (taes-k.github.io)\ 꼭해볼것 더보기
[2022-09-18] 필드와 컬럼매핑 - Enum 필드 @Enumerate(EnumType.STRING) // 값이 문자열로 저장 (enum의 이름을 저장) @Enumerate(EnumType.ORDINAL) // 값이 숫자값으로 저장(enum의 순번 값) - 날짜 필드 @Temporal : 어노테이션 사용. 값으로 @TemporalType을 넘겨준다. @TemporalType - DATE(날짜), TIME(시간), TIMESTAMP(날짜와 시간을 포함) @Lob : LargeOBject. 문자열은 CLOB, 이외엔 BLOB으로 저장된다. - CLOB : 문자 대형 객체 - BLOB : 이진 대형 객체(사진, 동영상 등) 어노테이션 설명 @Column 컬럼 매핑 @Temporal 날짜매핑 @Enumerate enum 타입 매핑 @Lob BL.. 더보기
[2022-09-13] 데이터베이스 스키마 DDL을 애플리케이션 실행 시점에 자동 생성 테이블 중심 -> 객체 중심 데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL 생성 이렇게 생성된 DDL 은 개발 장비/환경에서만 사용 생성된 DDL은 운영서버에서는 사용하지 않거나, 적절히 다듬은 후 사용 데이터베이스 스키마 자동생성 - 속성 - hibernate.hbm2ddl.auto ( hbm2ddl은 아마 hibernate model to(2) ddl 이 아닐지?) 옵션 설명 create 기존 테이블 삭제 후 다시 생성 (DROP + CREATE) create-drop create와 같으나 종료시점에 테이블 DROP update 변경 부분만 반영 (운영DB 사용 금지) validate 엔티티와 테이블이 정상 매핑 되었는지만 확인 none 사.. 더보기
[PHP build] PHP 프로젝트 빌드 - phar-composer PHP도 이제 빌드가 가능하군요. 충격적이게도 이런 내용을 다룬 한글 웹페이지를 딱히 발견을 못해서... 간단하게나마 남겨봅니다. phar-composer 라는 라이브러리를 사용해 빌드합니다. 설치방법은 repository에 기술되어 있으니 참고하시면 될듯합니다. https://github.com/clue/phar-composer 가장 먼저 해야 할 것은 composer.json에 실행 파일을 지정하는 것 입니다. 최상위 레벨에 "bin"이라는 키로 추가를 합니다. { "require": { "react/socket": "^1.11", "react/http": "^1.6" }, "require-dev": { "clue/phar-composer": "^1.4" }, ...., "bin":["bin/main"] 더보기
[Spring] Request DTO 직렬화 / 역직렬화 시 PropertyNamingStrategy package com.demo.app.api.chat.dto; import com.demo.app.api.chat.enums.ChannelType; import com.demo.app.api.chat.enums.ChatRegion; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.Getter; import lombok.Setter; @Getter @Setter @JsonNaming(PropertyNamingStrategies.UpperCamelCaseStrategy.class) public class Pho.. 더보기
찍먹해보고싶은 목록 ReactPHP: Event-driven, non-blocking I/O with PHP - ReactPHP ReactPHP: Event-driven, non-blocking I/O with PHP - ReactPHP Socket Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP. Read the documentation reactphp.org Ember.js - A framework for ambitious web developers (emberjs.com) Ember.js - A framework for ambitious web developers Ember.js helps .. 더보기

반응형