1. 프로그래밍 언어의 개요
 가) 프로그래밍 언어 개념
     - 정의 : 프로그램을 작성함에 있어 사람이 컴퓨터와 쉽게 소통할 수 있도록 하기 위한 언어
     - 저급언어 : 기계어(0, 1로 이루어짐), 어셈블리어(기계어를 간단한 문자로 표현)
     - 고급언어 : 사람이 이해하기 쉬움, 코볼, Java, C 등등


 나) 인터프리터 언어

- 원시코드를 번역과 동시에 실행, 메모리 절약, 재실행시 비효율적


 다) 컴파일러 언어

- 원시코드를 저급언어로 변경(컴파일) 한 후 실행, 재실행시 효율적, 기계어 변환과정에 긴 시간 소요


2. 주요 프로그래밍 언어의 특징
 가) C언어

   - 빠른 실행속도와 효율적인 메모리 관리, 절차지향적 언어

   - IOS, 안드로이드 등의 운영체제에 사용


 나) C++언어

    -  C언어에서 객체지향 프로그래밍 지원하는 언어로 발전


 다) JAVA 언어

   - C++의 문제점 개선, 자동 가비지 컬렉션 수행, JVM에 의한 플랫폼 독립적

   - 앱, 모바일 등에 주로


 라) Python 언어

   - 객체지향 인터프리터 언어, 쉬운 문법, 멀티 패러다임(절차형 언어, 함수형 언어, 객체지향 언어) 지원

   - 웹, 빅데이터, 인공지능 등에 주로


 마) JavaScript 언어

   - 객체기반 스크립트 프로그래밍 언어, 웹브라우저내에서 주로 사용되나 최근엔 서버 사이드에도 사용되며 확장성, 개발성 높음

3. 소프트웨어 개발 프레임워크
 가) 소프트웨어 개발 프레임워크 개념

    - 정의 : 효율적인 정보시스템 개발을 위한 코드 라이브러리, 인터페이스 규약, 설정정보 등의 집합

    - 이점 : 코드 품질 향상, 개발 생산성 증대, 유지보수성 향상, 위험 감소


 나) 스프링 프레임워크

   - 자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크, 전자정부 표준개발 프레임워크의 핵심 근간


 다) 전자정부 표준프레임워크

   - 정의 : 자바기반 시스템의 개발, 운영시 필요한 기본기능들을 표준화하여 구현해둔 공공사업용 표준개발프레임워크

   - 목적 : 전자정부 서비스 품질향상, 투자효율성 향상, 공정한 경쟁

   - 특징 : 개방형 표준준수, 상용 솔루션 연계, 국가적표준화 지향, 변화 유연성



4. 통합개발환경(IDE)
 가) 통합개발환경 개념

   - 정의 : 코딩, 디버깅, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 소프트웨어 안에서 처리하는 환경을 제공하는 개발용 소프트웨어

   - 예시 : 이클립스, 비쥬얼스튜디오

   - 구성요소 : 편집기, 빌드도구, 디버거, 프로젝트 관리


 나) CI(Continuous Integration)

   - 정의 : 소프트웨어 작업 결과를 자동화된 빌드와 테스트를 수행한 후 주기적으로 병합하는 방식

   - 목적 : 품질향상, 배포 소요시간 단축, 이른시기에 문제점 발견, 애자일 지원

- 소스코드 -> 레파지토리 -> CI서버(빌드, 테스트, 배포) -> 타겟 서버


 다) 소프트웨어 빌드

   - 정의 :  소스코드 파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정

 

 라) 일일 빌드 및 동작 테스트

   - 정의 : 소프트웨어 제품을 매일 전체적으로 컴파일하고 일련의 테스트 과정을 거치는 과정

   - 목적 : 통합실패, 낮은 품질, 프로젝트 가시성 등의 리스크 감소, 프로젝트 효율성 및 고객만족도 증대


 마) 소프트웨어 배포

   - 정의 : 사용할 소프트웨어 시스템을 만드는 모든 행위

+ Recent posts