프로그래밍언어활용 - 핵심정리

프로그래밍언어활용

1. 라이브러리

  • 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체
  • 프로그래밍 언어에 따라 일반적으로 도움말, 설치파일, 샘플 코드 등을 제공
    C언어의 대표적인 표준라이브러리
    Java언어의 대표적인 표준라이브러리

2. 데이터 입출력

  • 키보드로 입력 받은 값을 저장하고 화면에서 서식을 지정하여 출력할 때 사용하는 클래스와 메소드
  • C언어 관련
    • scanf()
    • getchar()
    • gets()
    • printf()
    • putchar()
    • puts()
  • Java언어 관련
    • Scanner
    • Sytem.out.printf()

3. 예외처리

  • 프로그램의 정상적인 실행을 방해하는 조건이나 상태를 뜻하는 예외가 발생했을 때 해당 문제에 대한 처리 루틴을 수행하도록 하는 것

4. 프로토타입

  • 프로그래밍 언어에서 프로토타입이란 함수 원형
  • 컴파일러에게 사용될 함수에 대한 정보를 미리 알리는 것
  • 본문이 없다는 점을 제외하고 함수와 형태가 동일
  • 반환 형식은 함수 정의에 지정된 반환 형식과 반드시 일치

프로그래밍언어활용 - 핵심정리

프로그래밍언어활용

1. 절차적 프로그래밍 언어

  • 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술하는 언어
  • 장점
    • 컴퓨터의 처리 구조와 유사하며 실행속도가 빠름
    • 같은 코드를 복사하지 않고 다른 위치에서 호출하여 사용가능
    • 모듈 구성이 용이하며 구조적인 프로그래밍 가능
  • 단점
    • 프로그램을 분석하기 어려움
    • 유지보수나 코드의 수정이 어려움
  • 종류
    • C
    • COBOL
    • ALGOL
    • FORTRAN

2. 객체지향 프로그래밍 언어

  • 프로시저보다는 명령과 데이터로 구성된 객체를 중심으로 하는 프로그래밍 기법
  • 장점
    • 상속을 통함 재사용과 시스템 확장이 용이
    • 코드의 재활용성이 높음
    • 현실 세계를 모형화하여 사용자와 개발자가 쉽게 이해
    • 대형 프로그램의 작성이 용이
    • 소프트웨어 개발 및 유지보수가 용이
  • 단점
    • 프로그래밍 구현을 지원해 주는 정형화된 분석 및 설계방법이 없음
    • 구현 시 처리 시간이 지연
  • 특징
    • 캡슐화
    • 정보은닉
    • 추상화
    • 상속성
    • 다형성
  • 종류
    • C#
    • JAVA
    • C++

3. 스크립트 언어

  • HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용되며, 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작하는 언어
  • 장점
    • 컴파일 없이 바로 실행하므로 결과를 바로 확인가능
    • 배우고 코딩하기 쉬움
    • 개발시간이 짧음
    • 소스코드를 쉽고 빠르게 수정할 수 있음
  • 단점
    • 코드를 읽고 해석해야 하므로 실행 속도가 느림
    • 런타임 오류가 많이 발생
  • 클라이언트용 스크립트 언어
    • JavaScript
  • 서버용 스크립트 언어
    • ASP
    • JSP
    • PHP
    • Python

4. 선언형 언어

  • 명령형 언어가 문제를 해결하기 위한 방법을 기술한다면 선언형 언어는 프로그램이 수행해야 할 문제를 기술하는 언어
  • 종류
    • LISP
    • PROLOG
    • Haskell
    • SQL
    • HTML
    • XML

프로그래밍언어활용 - 핵심정리

프로그래밍언어활용

1. 데이터 타입

  • 변수에 저장될 데이터 형식을 나타내는 것
  • C/C++의 데이터 타입 크기 및 기억 범위

2. 변수

  • 변수는 저장하고자 하는 어떠한 값이 있을 때, 그 값을 주기억장치에 기억하기 위한 공간을 의미
  • 저장하는 값에 따라 정수형, 실수형, 문자형 등으로 구분
  • C언어 변수명 설정 규칙
    • 영문자, 숫자, 밑줄의 사용 가능
    • 첫 글자는 영문자나 '_'로 시작해야하며 숫자 사용 불가
    • 변수명에는 공백사용 불가
    • 글자 수에 제한이 없음
    • 영문자는 대소문자를 구분
    • 변수명은 제어문, 자료형 등 예약어 사용 불가능

3. 연산자

  • 연산자는 프로그램 실행을 위해 연산을 표현하는 기호
  • 연산자의 종류는 산술 연산자, 시프트 연산자, 관계 연산자, 논리 연산자
  • 연산 표기법의 종류
    • Prefix 전위 표기법 +a*bc
    • Infix 중위 표기법 a+(b*c)
    • Postfix 후위 표기법 abc*+

기본개발환경구축 - 핵심정리

기본개발환경구축

1. 웹서버

  • 웹 브라우저 클라이언트로부터 HTTP request를 받아 HTML과 같은 정적인 contents를 제공하는 프로그램과 해당 애플리케이션 서버가 설치된 컴퓨터
  • 종류
    • Apache
    • Nginx
    • IIS
    • GWS
  • WAS 서버는 DB조회나 다양한 로직 처리를 요구하는 동적인 contents를 제공하기 위한 Application Server
  • 종류
    • Tomcat
    • Undertow
    • JEUS
    • Weblogic
    • Websphere

2. DB서버

  • 사용자, 다른 어플리케이션, 데이터베이스와 상호작용하여 데이터를 저장하고 분석하기 위한 컴퓨터 소프트웨어
  • 종류
    • Oracle
    • DB2
    • Microsoft SQL Server
    • MySQL
    • MongoDB
  • DB서버 고려사항
    • 가용성
    • 성능
    • 기술지원
    • 상호호환성
    • 구축비용

3. 패키지

  • 패키지 방식 개발은 여러 성공사례 노하우를 기반으로 만들어진 개발된 제품을 이용하여 시스템을 구축하는 방식
  • 장점
    • 국제 및 산업계 표준으로 장착된 비즈니스 프로세스 적용
    • 품질이 검증된 안정적인 시스템 구축 가능
    • 개발 기간의 단축으로 비용절감 효과
  • 단점
    • 사용자 요구사항에 대한 대처가 쉽지 않음
    • 사용자의 프로세스 개선의 저항 발생

응용SW기초기술활용 - 핵심정리

응용SW기초기술활용

1. 인터넷 구성의 개념

  • TCP/IP 프로토콜을 기반으로 전세계 수 많은 네트워크들이 연결된 광범위한 컴퓨터 통신망
  • 장비 종류
    • 게이트웨이
    • 라우터
    • 리피터
    • 허브
    • 랜 카드
    • 브리지
    • 스위치

2. 네트워크 7계층

  • 국제 표준화 기구인 ISO에서 다른 시스템간 통신을 위해 네트워크 구조를 제시한 기본 모델
  • OSI 7 Layer

3. 네트워크 프로토콜

  • 프로토콜은 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화 시켜 놓은 통신 규약
  • TCP/IP 4계층
    • 네트워크 액세스
    • 인터넷
    • 전송
    • 응용
  • 프로토콜의 기본 요소
    • 구문
    • 의미
    • 시간
  • 라우팅 프로토콜
    • RIP
    • IGRP
    • OSPF
    • BGP
  • OSI 7 Layer

4. IP

  • OSI 7 계층의 네트워크 계층에서 호소트의 주소지정과 패킷분할 및 조립기능 담당
  • IPv4 와 IPv6 주소 비교

5. TCP/UDP

  • OSI 7계층의 전송계층에서 CRC체크와 재전송 기능을 통해 신뢰성있는 연결형 서비스 제공
  • TCP 대표 서비스
    • FTP
    • Telnet
    • Http
    • SMTP
    • POP
    • IMAP
  • UDP는 비연결성이고 신뢰성 없는 데이터 전송
  • UDP는 대표 서비스
    • SNMP
    • DNS
    • TFTP
    • NFS
    • NETBIOS
    • 인터넷 게임

응용SW기초기술활용 - 핵심정리

응용SW기초기술활용

1. 운영체제 종류

  • 컴퓨터 시스템의 자원들(CPU, 주기억장치, 보조기억장치, 파일 등)을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 인터페이스를 제공하는 시스템 소프트웨어
  • 종류
    • Windows
    • UNIX
    • LINUX
    • MacOS
    • MS-DOS

2. 메모리 관리

  • 기억장치의 계층 구조(산 형태 순서 정렬)
    • 레지스터
    • 캐시 기억장치
    • 주기억장치
    • 보조기억장치
  • 기억장치 관리 전략
    • Fetch
    • Placement
    • Replacement
  • 주기억장치 할당 기법
    • 연속 할당
    • 분산 할당
  • 가상기억장치의 구현 기법
    • 페이징
    • 세그먼테이션
  • 페이지 교체 알고리즘 종류
    • FIFO
    • LRU
    • NUR
    • OPT
    • LFU
    • SCR
  • 가상기억장치의 기타 관리
    • Locality
    • Working Set
    • Thrashing

3. 프로세스 스케줄링

  • 프로세스
    • 프로세서에 의해 처리되는 사용자 프로그램
    • 프로세서
      • CPU
      • 처리기
  • 스레드
    • 프로세스 내에서 작업 단위로서 시스템의 여러 자원을 할당 받아 실행하는 프로그램의 단위
  • 스케줄링
    • 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원ㅇ르 해당 프로세스에 할당하는 작업
  • 비선점 스케줄링의 종류
    • FIFO(FCFS)
    • SJF
    • HRN
  • 선점 스케줄링의 종류
    • RR
    • SRT
    • MLQ
    • MFQ

4. 환경변수

  • 시스템 소프트웨어 동작에 영향을 미치는 동적인 값들의 모임
  • 윈도우 환경변수
    • %APPDATA%, %COMSPEC%, %HOMEPATH%, %PATH%, %PATHEXT%, %PROGRAMFILES%, %SYSTEMDRIVE%, %SYSTEMROOT% , %USERNAME%, %USERPROFILE%
  • 유닉스 환경변수
    • $DISPLAY, $HOME, $LANG, $MAIL, $PATH, $PS1, $PWD, $TERM, $USER

5. Shell Script

  • GUI
    • Graphic User Interface
    • 마우스로 아이콘이나 메뉴를 선택하여 작업
  • CLI
    • Command Line Interface
    • 키보드로 명령어를 직접 입력하여 작업

UNIX와 LINUX 기본 명령어

명령어 기능
cat 파일 내용을 화면에 표시
chdir 디렉토리 위치 변경
chmod 파일의 사용 허가 지정
chown 소유자 변경
cp 파일 복사
getpid 자신의 프로세스 아이디를 얻음
ls 현재 디렉토리 내의 파일 목록을 표시
rm 파일 삭제

SW개발 방법론 활용 - 핵심정리

SW개발방법론 테일러링

1. 소프트웨어 개발 표준

  • 소프트웨어 개발 단계의 품질 관리에 사용되는 국제 표준
  • ISO/IEC 12207
    • 국제 표준화 기구에서 제공하는 소프트웨어 생명주기 프로세스 표준
    • 기본 생명 주기, 지원 생명 주기, 조직 생명 주기 프로세스
  • CMMI
    • 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도 평가 모델
    • 성숙도 5단계
      • 초기, 관리, 정의, 정량적 관리, 최적화
  • SPICE
    • 소프트웨어 프로세스를 평가 및 개선하는 국제 표준
    • 수행 능력 6단계
      • 불완전, 수행, 관리, 확립, 예측, 최적화

2. 테일러링 기준

  • 소프트웨어 개발 방법론 테일러링은 프로젝트 상황 및 특성에 맞도록 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업
  • 소프트웨어 개발 방법론 테일러링 고려사항
    • 내부적 기준 : 목표환경, 요구사항, 프로젝트 규모, 보유기술
    • 외부적 기준 : 법적 제약사항, 표준 품질기준
  • 소프트웨어 개발 방법론 테일러링 기법
    • 프로젝트 규모와 복잡도, 프로젝트 구성원, 팀내 방법론 지원, 자동화에 따른 테일러링

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

  • 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해 주는 반제품 형태의 소프트웨어 시스템
  • 소프트웨어 개발 프레임워크
    • 스프링 프레임워크
    • 전자정부 표준 프레임워크
    • 스트럿츠 프레임워크
    • 닷넷 프레임워크
    • 앵귤러 JS
    • 장고 프레임워크

SW개발 방법론 활용 - 핵심정리

SW개발방법론선정

1. 소프트웨어 생명주기 모델

  • 소프트웨어를 어떻게 개발할 것인가에 대한 추상적 표현으로 순차적 또는 병렬적 단계로 나눈 것
  • 소프트웨어 개발 생명주기
    • 타당성검토 -> 분석 -> 설계 -> 개발 -> 테스트 -> 운영 -> 유지보수 -> 폐기
  • 소프트웨어 생명주기 모델 종류
    • 폭포수 모델
    • 프로토타입 모델
    • 나선형 모델
    • 애자일 모델

2. 소프트웨어 개발 방법론

  • 소프트웨어 개발, 유지보수 등에 필요한 여러 가지 일들의 수행 방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것
  • 개발 방법론의 종류
    • 구조적 방법론
    • 정보공학 방법론
    • 객체지향 방법론
    • 컴포넌트 기반 방법론
    • 애자일 방법론
    • 제품 계열 방법론

3. 요구공학 방법론

  • 요구사항의 지속적인 중요성 증대채계적인 관리의 필요성이 대두되어 시스템의 요구사항을 정의하고, 문서화하고, 관리하는 프로세스
  • 요구공학 프로세스
    • 도출
    • 분석
    • 명세
    • 확인/검증

4. 비용산정 모델

  • 소프트웨어의 개발 규모를 소요되는 인원, 자원, 기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 예측하는 과학적이고 합리적인 활동
  • 산정기법 종류
    • 하향식 산정기법
      • 전문가 감정 기법
      • 델파이 기법
    • 상향식 산정기법
      • LOC 기법
      • Effort Per Task 기법
    • 수학적 산정기법
      • COCOMO 모형
      • Putnam 모형
      • FP 모형

DB구축관리 - 핵심정리

IT프로젝트정보시스템구축관리

DB구축관리

1. IT신기술 및 데이터베이스 기술 트렌드 정보

  • 빅데이터
  • 브로드 데이터
  • 디지털 아카이빙
  • 메타 데이터
  • 데이터 다이어트
  • 하둡
  • 타조

2. 데이터베이스 관리기능

  • 회복
    • 트랜잭션들을 수행하는 도중에 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업
  • 병행제어
    • 동시에 여러 개의 트랜잭션을 병행 수행할 때, 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 제어하는 것

3. 데이터베이스 표준화

  • 시스템을 구성하는 데이터 요소의 명칭, 정의, 형식, 규칙에 대한 원칙을 수립하고 적용하는 것
  • 데이터베이스 표준화 구성요소
    • 데이터 표준
    • 데이터 관리조직
    • 데이터 표준화 절차

HW구축관리 - 핵심정리

IT프로젝트정보시스템구축관리

HW구축관리

1. IT 신기술 및 서버장비 트렌드 정보

  • 하드웨어 관련 신기술
    • 3D 프린팅
    • 엠디스크
    • 멤리스트
    • 네트워크 가상화
    • 앤 스크린
    • RAID
    • 서버 가상화

2. 서버장비 운영

  • 서버 장비 운영 요소
    • 서버 장비 뿐만 아니라 스토리지, 운영체제, 고가용성 장비, 보안 솔루션등 정보 시스템 운영에 필요한 모든 것들을 포함
  • 저방 장치
    • DAS
    • NAS
    • SAN
  • Secure OS
    • 기존의 운영체제에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 추가한 운영체제
  • High Availability
    • 안정적인 서비스 운영을 위해 장애 발생시 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘
API API오용 Anaconda Beacon Bluetooth CRUD분석 Camera ChatBot DB관련신기술 DB관리기능 DB서버 DB표준화 ER다이어그램 ER모델 ETL Flask HW관련신기술 IDE도구 IP IoT Machine_Translation NLP배경 ORM프레임워크 Package Recurrent Neural Network SDLC SW개발방법론 SW개발방법론선정 SW개발보안정책 SW개발표준 SW관련신기술 Sequence_Tagging ShellScript TCP_UDP Vector WordCloud c 자료형 class embedding konlpy python python 자료형 가설검증 개발환경구축 객체지향프로그래밍언어 관계데이터베이스모델 관계데이터언어 국제표준제품품질특성 네트워크7계층 네트워크관련신기술 네트워크장비 네트워크침해공격용어 논리데이터모델개요 논리데이터모델품질검증 논리적데이터모델링 논문 단위모듈구현 단위모듈테스트 데이터검증 데이터모델개념 데이터베이스무결성 데이터베이스백업 데이터베이스암호화 데이터베이스용량설계 데이터베이스이중화구성 데이터베이스정규화 데이터분석 데이터분석 - 순열 - 조합 데이터분석 - 정규분포 데이터분석 - 통계기초 데이터사이언스개념 데이터입출력 데이터전환수행계획 데이터정제 데이터조작프로시저작성 데이터조작프로시저최적화 데이터조작프로시저테스트 데이터지역화 데이터타입 데이터표준확인 데이터품질분석 라이브러리 로그분석 메모리관리 모델화 몬테카를로 물리데이터모델설계 물리데이터모델품질기준 물리데이터저장소구성 물리요소조사분석 반정규화 배치프로그램 변수 보안기능 보안솔루션 보안아키텍처 보안취약성식별 분산데이터베이스 분산분석 비용산정모델 빌드자동화도구 사용자정의함수 상관분석 서버개발프레임워크 서버인증 서버장비운영 서버접근통제 서비스공격유형 선언형언어 세션통제 소스코드인스펙션 소프트스킬 소프트웨어개발프레임워크 소프트웨어버전관리도구 소프트웨어연계테스트 슈퍼디엠지 스크립트언어 시스템카탈로그와뷰 암호알고리즘 애플리케이션모니터링도구 애플리케이션배포도구 애플리케이션성능개선 애플리케이션테스트결과분석 애플리케이션테스트시나리오작성 애플리케이션테스트케이스작성 애플리케이션통합테스트수행 애플리케이션패키징 연산자 예외처리 오답노트 오류데이터측정 오류처리 오류처리확인및보고서작성 요구공학방법론 운영체제 웹서버 이벤트 인터넷구성의개념 인터페이스구현검증 인터페이스기능확인 인터페이스보안 입력데이터검증및표현 자료구조 자연어처리 재사용 절차적프로그래밍언어 정보보안침해공격용어 정보처리기사 제품소프트웨어매뉴얼작성 집계성DCL작성 체크리스트 초기데이터구축 취약점분석 칼럼속성 캡슐화 코드오류 클러스터링 키종류 테일러링기준 트랜잭션인터페이스 트리거 파일처리기술 파티셔닝 패키지 포트포워딩 프로세스스케줄링 프로토타입 한국어임베딩 핵심정리 현업도구 형상관리도구 환경변수 회귀분석
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×