컴퓨터언어/소프트웨어공학(33)
-
[인증] Session-based와 Token-based
Session-based와 Token-based 인증의 차이는 주로 인증 데이터를 저장하고 관리하는 방식과 그에 따른 동작 차이에 있다. Session-based Authentication (세션 기반 인증) 동작 방식사용자가 로그인하면 서버는 사용자 정보를 기반으로 세션을 생성하고, 해당 세션 ID를 쿠키에 저장해 클라이언트에 전달이후 클라이언트는 요청마다 쿠키에 담긴 세션 ID를 서버에 전송서버는 세션 저장소에서 이 세션 ID를 확인해 사용자 정보를 인증특징세션 데이터는 서버에 저장되며, 클라이언트는 세션 ID만 보유서버가 상태(state)를 유지해야 함 (stateful)장점서버가 세션 데이터를 직접 관리하므로 보안이 상대적으로 강함세션 만료 등 세부 제어가 용이단점서버에 세션 저장소를 유지해야 하..
2024.11.27 -
디자인 패턴의 필요성
소프트웨어 개발에서 디자인 패턴은 단순한 코딩 기법을 넘어, 문제 해결의 프레임워크를 제공한다. 즉 코드의 품질을 높이고 유지보수를 쉽게 하기 위해 사용되며, 선배 개발자들이 맞닥뜨렸던 반복적인 문제들을 해결하기 위한 모범 답안을 모아놓은 것이다. 디자인 패턴을 적용하면 다음과 같은 이점이 있다. 코드의 가독성 향상 코드 또한 하나의 문서이기 때문에, 다른 사람이 읽기 쉽도록 작성되어야 한다. 디자인 패턴은 널리 알려진 구조와 이름을 제공하여 코드의 의도를 더 쉽게 이해할 수 있게 한다. 예를 들면,싱글톤(Singleton) 패턴을 사용하면 "이 객체는 시스템 전체에서 하나만 존재해야 한다"는 의도를 바로 파악할 수 있다.옵저버(Observer) 패턴은 "이벤트 기반 시스템에서 데이터를 업데이트한다"는..
2024.11.19 -
XP(eXtreme Programming)
XP(eXtreme Programming) : 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발 과정의 반복을 극대화하여 개발 생산성을 향상시키는 방법 Pair Programming(짝 프로그래밍) : 개발에 대한 책임을 공동으로 나눠가짐 Test-Driven Development(테스트 주도 개발) : 실제 코드 작성 전에 테스트 케이스를 먼저 작성하여 할일 정확히 파악, 지속적인 테스팅을 위해 자동화 도구 사용 Whole Team(전체 팀) : 개발에 참여하는 모든 구성원(고객 포함)들은 각자 자신의 역할이 있고, 그에 대한 책임을 짐 Continuous Integration(계속적인 통합) : 모듈 단위로 나눠서 개발된 코드는 하나의 작업이 마무리 될 때마다 지속적으로 통..
2020.08.20 -
SQL 성능 튜닝
👍 SQL 성능 튜닝 순서 👊 문제있는 SQL 식별 애플리케이션의 성능을 관리하거나 모니터링하기 위한 툴인 APM(Application Performance Management) 등을 활용 Oracle의 경우 TKPROF 또는 SQL_Trace 등 유틸리티 사용 👊 옵티마이저 통계 확인 옵티마이저 : 개발자가 작성한 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 데이터베이스 핵심 모듈 Oracle은 CBO(Cost Based Optimizer)와 RBO(Rule Based Optimizer) 모드를 지원하고, 이주중에서 비용기반인 CBO 모드를 기본으로 지원 비용기반 옵티마이저 모드에서 최적의 처리경로를 생성하기 위해서는 옵티마이저가 활용하는 통계정보를 주기적으로 현행화해야 함 👊..
2020.08.02 -
논리데이터 모델 -> 물리데이터 모델 변환
데이터베이스의 논리적 설계 단계에서는, 개념적 설계에서 등장한 ER다이어그램을 "데이터 모델링"을 통해 관계형 릴레이션으로 변환하는 Mapping 과정을 거친다. 그리고 이렇게 등장한 관계형 릴레이션을 실제로 DBMS를 통해 컴퓨터 디스크에 저장시킬 때는 각각 다음과 같은 물리적 형태로 대응된다. 논리적 설계(데이터 모델링) 물리적 설계 데이터베이스 엔티티(Entity) 테이블 테이블 속성(Attribute) 칼럼 칼럼 주 식별자(Primary Identifier), UID 기본 키(Primary Key) 기본키 외래 식별자(Foreign Identifier) 외래 키(Foreign Key) 외래 키 관계(Relationship) 외래 키 -
2020.08.02 -
국제 표준 제품품질 특성과 제품소프트웨어 버전관리
👍 국제표준 제품품질 특성 🙌 소프트웨어 제품 품질 관련 국제 표준 ISO/IEC 9126 : 품질 특성 및 측정 기준 제시 ISO/IEC 14598 : 소프트웨어 제품 평가 프로세스 및 평가 모듈 제공 ISO/IEC 12119 : 소프트웨어 패키지(제품설명서+사용자문서+프로그램/데이터) SW 품질 요구사항 및 테스트 ISO/IEC 25000 : 품질모형 🙌 소프트웨어 프로세스 품질 관련 국제 표준 ISO/IEC 9000 : 품질경영 + 품질보증 국제규격 ISO/IEC 12207 : 소프트웨어 Life Cycle 프로세스 표준 제시 ISO/IEC 15504 : 프로세스 표준 모델 ISO/IEC 15288 : 시스템 생명주기 프로세스 표준 CMMi : 소프트웨어와 시스템 기술의 프로세스 개선 통합 모델 👍..
2020.07.22