일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 그리디알고리즘
- 그리디 알고리즘
- 알고리즘
- 렌더링 파이프라인
- 병행성
- 백준
- 운영체제
- 다이나믹 프로그래밍
- DirectX12
- DirectX 12
- 쓰레드
- 병행성 관련 오류
- 영속성
- 디자인패턴
- 락
- 멀티프로세서
- 프로그래머스
- OS
- 컨디션 변수
- Direct12
- 파일시스템 구현
- codility
- 자료구조
- directx
- I/O장치
- 스케줄링
- 멀티쓰레드
- 동적계획법
- 타입 객체
- 다이나믹프로그래밍
- Today
- Total
목록분류 전체보기 (500)
기록공간

패키지 소프트웨어의 개요 패키지 소프트웨어 기업에서 일반적으로 사용하는 여러 기능들을 통합하여 제공하는 소프트웨어를 의미한다. 기업에서는 패키지 소프트웨어를 구입하여 기업 환경에 적합하게 커스터마이징하여 사용 패키지 소프트웨어를 이용하여 시스템을 구축하는 방식을 패키지 개발 방식이라고 함 기능 요구사항을 70% 이상 충족시키는 패키지 소프트웨어가 있을 때만 사용하는 것이 적합함 패키지 소프트웨어 특징 패키지 소프트웨어는 요구사항을 분석하여 업무 특성에 맞게 전용으로 개발되는 소프트웨어와 비교하여 안정성, 라이선스, 생산성 등에서 차이가 있다. 패키지 소프트웨어는 전문 업체에 의해 품질이 검증되었고, 국제/산업계 표준을 준수하고 있어 안정적인 이용이 가능 소프트웨어에 대한 라이선스가 판매자에게 있기 때문에..
배치 프로그램(Batch Program)의 개요 배치 프로그램은 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것을 의미한다. 배치 프로그램이 자동으로 수행되는 주기에 따라 정기 배치, 이벤트성 배치, On-Demand 배치로 구분됨 정기 배치 : 일, 주, 월과 같이 정해진 기간에 정기적으로 수행 이벤트성 배치 : 특정 조건을 설정해두고 조건이 충족될 때만 수행 On-Demand 배치 : 사용자 요청 시 수행 배치 프로그램이 갖추어야 하는 필수 요소는 다음과 같다. 대용량 데이터 : 대량의 데이터를 가져오거나, 전달하거나, 계산하는 등의 처리가 가능해야 함 자동화 : 심각한 오류가 발생하는 상황을 제외하고는 사용자의 개입 없이 수행되어야 함 견고성 : 잘못..
소프트웨어 개발 보안의 개요 소프트웨어 개발 보안은 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미한다. 소프트웨어 개발 보안은 데이터의 기밀성, 무결성, 가용성을 유지하는 것을 목표로 함 정부에서 제공하는 소프트웨어 개발 보안 가이드를 참고하여 소프트웨어 개발 과정에서 점검해야 할 보안 항목들을 점검 소프트웨어 개발 보안 점검 항목 소프트웨어 개발 보안 점검 항목은 소프트웨어 개발의 각 단계에서 점검되어야 할 보안 항목들을 말한다. 세션 통제 세션은 서버와 클라이언트의 연결을 말하며, 세션 통제는 세션의 연결과 연결로 인해 발생하는 정보를 관리하는 것을 의미 보안 약점에는 불충분한 세션 관리, 잘못된 세션에 ..
서버 개발의 개요 서버 개발은 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 웹 애플리케이션 서버(WAS)에 탑재하는 것을 의미한다. 웹 애플리케이션 서버에 구현된 서버 프로그램은 웹 서버로부터 받은 요청을 처리하여 결과를 반환하는 역할을 수행 서버 개발에 사용되는 프로그래밍 언어는 Java, JavaScript, Python, PHP, Ruby 등이 있다. 각 프로그래밍 언어에는 해당 언어로 서버 프로그램을 개발할 수 있도록 지원하는 프레임워크가 있다. 서버 개발 프레임워크 서버 개발 프레임워크는 서버 프로그램 개발 시 다양한 네트워크 설정, 요청 및 응답 처리, 아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어를 의미한다. 서버 개발 프레임워크에 따..
개발 환경 구축 개요 개발 환경 구축은 응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것을 의미한다. 개발 환경은 응용 소프트웨어가 운영될 환경과 유사한 구조로 구축 개발 프로젝트의 분석 단계의 산출물을 바탕으로 개발에 필요한 하드웨어와 소프트웨어를 선정 하드웨어와 소프트웨어의 성능, 편의성, 라이선스 등의 비즈니스 환경에 적합한 제품들을 최종적으로 결정해여 구축 하드웨어 환경 하드웨어 환경은 사용자와의 인터페이스 역할을 하는 클라이언트(Client) 그리고 클라이언트와 통신하여 서비스를 제공하는 서버(Server)로 구성된다. 클라이언트에는 PC, 스마트폰 등이 있음 서버는 사용 목적에 따라 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버 ..
컬렉션 프레임워크는 컬렉션(모아놓은 데이터들 or 자료 구조)의 표현과 조작을 위한 통일된 아키텍처이다. 컬렉션 프로임워크를 구성하는 요소는 다음과 같다. 인터페이스(Interface) : 기본적으로 컬렉션에 필요한 데이터 관리 기능을 제공한다. 예를 들면, List는 추가, 삭제, 검색 기능을 제공하는 컬렉션 인터페이스가 존재한다. 각 컬렉션마다 고유의 인터페이스가 정의되어 있다. 구현(Implementation) : 인터페이스를 구현한 클래스로 각 컬렉션을 실제 어떤 자료구조를 이용하여 표현했느냐에 따라 컬렉션의 종류가 달라지게 된다. 알고리즘(Algorithms) : 각 컬렉션들마다 유용하게 사용할 수 있는 메소드를 의미한다. ※ 자바 컬렉션은 견고한 컬렉션 프레임워크 기반 위에 정의되어 있으므로 ..

쿼리 성능 최적화의 개요 쿼리 성능 최적화는 데이터 입출력 애플리케이션의 성능 향상을 위해 SQL 코드를 최적화하는 것이다. 쿼리 성능을 최적화하기 전에 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정해야 함 최적화 할 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL 코드와 인덱스를 재구성 RBO vs CBO RBO(Rule Based Optimizer) : 규칙 기반 옵티마이저 CBO(Cost Based Optimizer): 비용 기반 옵티마이저 실행 계획(Execution Plan) 실행 계획은 DBMS의 옵티마이저가 수립한 SQL 코드의 실행 절차와 방법을 의미한다. 실행 계획은 EXPLAIN 명령어를 통해 확인할 수 있으며, 그래픽이나 텍스트로 표현됨 실행 계획에는 요구사항..
ORM의 개요 ORM은 객체지향 프로그래밍의 객체와 관계형 데이터베이스의 데이터를 연결하는 기술을 의미한다. ORM은 객체지향 프로그래밍에서 사용할 수 있는 가상의 객체지향 데이터베이스를 만들어 프로그래밍 코드와 데이터를 연결 ORM으로 생성된 가상의 객체지향 데이터베이스는 프로그래밍 코드 또는 데이터베이스와 독립적이므로 재사용 및 유지보수가 용이 ORM은 SQL 코드를 직접 입력하지 않고 선언문이나 할당 같은 부수적인 코드가 생략되기 때문에 직관적이고 간단하게 데이터를 조작할 수 있음 ORM 프레임워크 ORM 프레임워크는 ORM을 구현하기 위한 구조와 구현을 위해 필요한 여러 기능들을 제공하는 소프트웨어를 의미한다. ORM 프레임워크 종류 JAVA : JPA, Hibernate, EclipseLink,..