프로그래밍 언어활용 - 서버 프로그램 구현 목차 소프트웨어 개발 보안의 개요 📌 소프트웨어 개발 보안은 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동을 의미한다. 소프트웨어 개발 보안은 데이터의 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)을 유지하는 것을 목표로 한다. 정부에서 제공하는 소프트웨어 개발 보안 가이드를 참고하여 소프트웨어 개발 과정에서 점검해야할 보안 항목들을 점검한다. 💡 기밀성 : 정보의 비밀을 유지 💡 무결성 : 비인가된 변경으로부터 정보를 보호 💡 가용성 : 필요할 때 언제든지 사용할 수 있도록 함 💡 소프트웨어 개발 보안 가이드 : 안전한..
프로그래밍 언어활용 - 서버 프로그램 구현 목차 ✨ 주요 키워드 ? 웹 서버, 웹 애플리케이션 서버, 개발 언어 선정 기준, 프레임워크, 소프트웨어 개발 보안, API, 배치 프로그램, 스프링 배치, Quartz, 패키지 소프트웨어 개발 환경 구축의 개요 📌 개발 환경 구축은 응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것을 의미한다. 개발 환경은 응용 소프트웨어가 운영될 환경과 유사한 구조로 구축한다. 개발 프로젝트의 분석 단계의 산출물을 바탕으로 개발에 필요한 하드웨어와 소프트웨어를 선정한다. 하드웨어와 소프트웨어의 성능, 편의성, 라이선스 등의 비즈니스 환경에 적합한 제품들을 최종적으로 결정하여 구축한다. 하드웨어 환경 📌 하드웨어 환경은 사용자와의 ..
데이터베이스 구축 - SQL 활용 목차 ORM(Object-Relational Mapping)의 개요 📌 ORM은 객체지향 프로그래밍의 객체(Object)와 관계형 데이터베이스(Relational Database)의 데이터를 연결(Mapping)하는 기술을 의미한다. 객체지향 언어에서 클래스와 테이블은 서로가 기존부터 호환가능성을 두고 만들어진 것이 아니기 때문에 불일치가 발생하는데, 이를 ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 불일치를 해결한다. 따라서 ORM을 이용하면 따로 SQL문을 짤 필요 없이 객체를 통해 간접적으로 데이터베이스를 조작할 수 있게 된다. ORM은 객체지향 프로그래밍에서 사용할 수 있는 가상의 객체지향 데이터베이스를 만들어 프로그래밍 코드와 데이터를 ..
데이터베이스 구축 - SQL 활용 목차 SQL 테스트의 개요 📌 SQL 테스트는 SQL이 작성 의도에 맞게 원하는 기능을 수행하는지 검증하는 과정이다. 단문 SQL은 SQL 코드를 직접 실행한 후 결과를 확인하는 것으로 간단히 테스트가 가능하다. 절차형 SQL은 테스트 전에 생성을 통해 구문 오류(Syntax Error)나 참조 오류의 존재 여부를 확인한다. 정상적으로 생성된 절차형 SQL은 디버깅을 통해 로직을 검증하고, 결과를 통해 최종적으로 확인한다. 💡 구문 오류(Syntax Error) : 구문 오류는 잘못된 문법으로 작성된 SQL문을 실행하면 출력되는 오류를 의미한다. 💡 디버깅(Debugging) : 디버깅은 오류를 잡기 위해 소스 코드를 한 줄 한 줄 추적해 가며 변수 값의 변화를 검사하는..
데이터베이스 구축 - SQL 활용 목차 사용자 정의 함수의 개요 📌 사용자 정의 함수는 프로시저와 유사하게 SQL을 사용하여 일련의 작업을 연속적으로 처리하며, 종료 시 처리 결과를 단일값으로 반환하는 절차형 SQL이다. 사용자 정의 함수는 데이터베이스에 저장되어 SELECT, INSERT, DELETE, UPDATE 등 DML문의 호출에 의해 실행된다. 사용자 정의 함수는 예약어 RETURN을 통해 값을 반환하기 때문에 출력 파라미터가 없다. 사용자 정의 함수는 INSERT, DELETE, UPDATE를 통한 테이블 조작은 할 수 없고 SELECT를 통한 조회만 할 수 있다. 사용자 정의 함수는 프로시저를 호출하여 사용할 수 없다. 사용자 정의 함수는 SUM(), AVG() 등의 내장 함수처럼 DML문..
데이터베이스 구축 - SQL 활용 목차 💡 주요 키워드 ? 프로시저, 트리거, 웹 응용 시스템, JDBC, ODBC, 동적 SQL, 사용자 정의 함수, ORM, 쿼리 성능 최적화, 절차형 SQL 테스트 프로시저(Procedure)의 개요 📌 프로시저란 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다. 프로시저를 만들어 데이터베이스에 저장하면 여러 프로그램에서 호출하여 사용할 수 있다. 프로시저는 데이터베이스에 저장되어 수행되기 때문에 스토어드(Stored) 프로시저라고도 불린다. 프로시저는 시스템의 일일 마감 작업, 일괄(Batch) 작업 등에 주로 사용된다. 💡 절차형 SQL : C프로그래밍 언어와 같이 연속적인 실행..
데이터베이스 구축 - SQL 응용 목차 JOIN의 개념 📌 JOIN(조인)은 2개의 테이블에 대해 연관된 튜플을 결합하여, 하나의 새로운 릴레이션을 반환한다. JOIN은 크게 INNER JOIN과 OUTER JOIN으로 구분된다. JOIN은 일반적으로 FROM절에 기술하지만, 릴레이션이 사용되는 어느 곳에서나 사용할 수 있다. INNER JOIN 📌 INNER JOIN은 일반적으로 EQUI JOIN과 NON-EQUI JOIN으로 구분된다. 조건이 없는 INNER JOIN을 수행하면 CROSS JOIN과 동일한 결과를 얻을 수 있다. EQUI JOIN EQUI JOIN은 JOIN 대상 테이블에서 공통 속성을 기준으로 '='(equal) 비교에 의해 같은 값을 가지는 행을 연결하여 결과를 생성하는 JOIN ..
데이터베이스 구축 SELECT-1 일반 형식 SELECT [PREDICATE] [테이블명.] 속성명 [AS 별칭] [, [테이블명] 속성명, ...] [, 그룹함수(속성명) [AS 별칭]] [, Window 함수 OVER (PARTITION BY 속성명1, 속성명2, ... ORDER BY 속성명3, 속성명4, ...)] FROM 테이블명 [, 테이블명, ...] [WHERE 조건] [GROUP BY 속성명, 속성명, ...] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC]]; SELECT 절 PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술한다. ALL : 모든 튜플을 검색할 때 지정하는 것으로, 주로 생략한다. DISTINCT : 중복된 튜플이 있으면 그 중 첫 번째 ..