반응형

전체 글 142

정보처리기사 2과목 소프트웨어 개발 (개발지원 도구와 빌드 자동화 도구)

통합 개발 환경(IDE; Integrated Development Environment) 개발에 필요한 환경, 즉 편집기(Editor), 컴파일러(Compiler), 디버거(Debugger) 등 다양한 툴을 하나의 인터페이스로 통합해 제공하는 것을 의미함 이클립스(Eclipse) (IBM), 비주얼 스튜디오(Visual Studio) (Microsoft), 엑스 코드(X Code) (Apple) 안드로이드 스튜디오(Android Studio) (Google), IDEA (JetBrains) 빌드 자동화 도구 소스코드를 소프트웨어로 변환하는 과정에 필요한 전처리 (Preprocessing), 컴파일 (Compile) 등 작업들을 수행하는 소프트웨어 Ant (Another Neat Tool) 아파치 소프트웨..

정보처리기사 2과목 소프트웨어 개발 (절차형 SQL(프로시저 / 트리거), 쿼리 성능 최적화 (APM / 옵티마이저))

절차형 SQL C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL 일반적인 프로그래밍 언어에 비해 효율이 떨어진다. 연속적인 작업들을 처리하는데 적합하다. BEGIN ~ END 형식으로 작성되는 Block 구조로 기능별 모듈화 가능 종류 프로시저 (Procedure) 호출을 통해 실행되어 미리 저장해놓은 SQL 작업 수행, 처리 결과는 한 개 이상의 값 또는 반환을 아예 하지 않음 트리거 (Trigger) 입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업을 자동 수행 사용자 정의 함수 프로시저와 유사하게 SQL을 사용해 일련의 작업을 연속적으로 처리 (종료 시 RETURN 예약어를 사용해 처리 결과를 단일값으로 변환) 테스트와 디버깅 테스트 전 구..

정보처리기사 2과목 소프트웨어 개발 (선형 구조(Linear Structure) / 비선형 구조 (Non-Linear Structure))

자료 구조의 분류 선형 구조 (Linear Structure) 배열 (Array) - 정적인 자료 구조로 기억장소의 추가가 어렵고 메모리 낭비 발생 - 첨자를 이용 - 반복적인 데이터 처리 작업에 적합한 구조 - 데이터마다 동일한 이름의 변수를 사용해 처리가 간편 스택 (Stack) - 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이뤄지는 자료 구조 - LIFO (Last In First Out) / FILO (First In Last Out) 순서 완전히 꽉 찼을 때 Overflow 상태 완전히 비어 있으면 Underflow 상태 삽입(Push)과 제거(Pop) 모두 Top라는 스택의 한쪽 끝에서만 발생 LIFO : 마지막으로 들어온 값이 처음으로 나가는 것 FILO : 처음 들어온 값이 마지막에..

정보처리기사 1과목 소프트웨어 설계 (미들웨어 솔루션)

미들웨어 솔루션 운영체제(OS)와 해당 운영체제에서 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에 추가적인 서비스를 제공하는 소프트웨어 DB (Database) 클라이언트에서 원격의 데이터베이스와 연결하기 위한 미들웨어, 2-Tier* 아키텍처 2-Tier : 데이터베이스 미들웨어를 사용한 아키텍쳐 (클라이언트가 직접 서버의 DB에 접속해 자원 활용) RPC (Remote Procedure Call, 원격 프로시저 호출) 응용 프로그램의 프로시저를 사용해 원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어 MOM (Message Oriented Middleware, 메시지 지향 미들웨어) 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어 TP-Monitor (Transa..

정보처리기사 1과목 소프트웨어 설계 (인터페이스 요구사항 검증 / 처리유형과 통신유형)

요구사항 검증 (Requirements Verification) 인터페이스 요구사항 검토 계획 수립 → 검토 및 오류 수정 → 베이스라인 설정 요구사항 검증 방법 동료 검토 (Peer Review) 요구사항 명세서 작성자가 내용을 직접 설명하고 동료들이 이를 들으면서 결함을 발견하는 검토 방법 워크 스루 (Walk Through) 검토회의 전에 요구사항 명세서를 미리 배포하여 사전 검토 후, 짧은 검토 회의를 통해 결함을 발견하는 검토 방법 인스펙션 (Inspection) 제 3자가 검토하는 방법 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 확인하면서 결함을 발견하는 검토 방법 인터페이스 요구사항 검증 주요 항목 완전성 (Completeness) 사용자의 모든 요구사항이 누락되지 않고 완전하게 ..

정보처리기사 1과목 소프트웨어 설계 (뒷목을 잡게 만드는 디자인 패턴 외우는 꿀팁)

정보처리기사 시험 1과목 소프트웨어 설계에서 비전공자인 나의 뒷목을 잡을 만한 내용은 [애플리케이션 설계] - [디자인 패턴] 부분이라고 생각한다. 혹시 나와 같은 사람이 이 글을 만난다면 조금이라도 도움이 되고싶다. '확실히 알아서 설명한다' 보다는 조심스럽게 내가 이해하려고 노력한 과정을 공유하고자 한다. 디자인 패턴 아키텍처 패턴이 디자인 패턴보다 상위 수준의 설계에 사용 서브 시스템에 속하는 컴포넌트들과 그 관계를 설계하기 위한 참조 모델 생성 패턴 (Creational Pattern) - 기존 코드의 유연성과 재사용을 증가시키는 다양한 객체 생성 매커니즘들을 제공 추상 팩토리 (Abstract Factory) 서로 연관, 의존하는 객체들을 그룹으로 생성해 추상적으로 표현 빌더 (Builder) ..

정보처리기사 1과목 소프트웨어 설계 (정처기 필기시험 때 무조건 알아야 하는 기본 용어 정리)

기본적인 내용이라 당연히 알고 있다 생각해도 시험 풀 때 갑자기 헷갈린다면? 내가 고른 정답에 확신이 없다면? 이런 것도 헷갈려하는 내 자신을 원망하기 싫다면 필수적으로 알아야 한다. 객체 (Object) 독립적으로 식별 가능한 이름을 갖고 있다. 객체와 객체는 상호 연관성에 의한 관계가 형성 객체는 행위의 특징을 나타내며, 객체가 반응할 수 있는 메세지의 집합을 행위(연산, Method)라고 한다. 클래스 (Class) 하나 이상의 유사한 객체들을 묶어 하나의 공통된 특성을 표현한 것 공통된 속성과 연산(행위)를 갖는 객체의 집합 객체지향 프로그램에서 유사한 객체들을 묶어 공통된 특성을 표현한 데이터를 추상화하는 단위 각각의 객체들이 갖는 속성과 연산(Method)을 정의하고 있는 틀 Super Cla..

정보처리기사 1과목 소프트웨어 설계 (소프트웨어 아키텍처 패턴 종류)

소프트웨어 아키텍처 사용자의 비기능적 요구사항으로 나타난 제약 반영 기능적 요구사항을 구현하는 방법을 찾는 해결 과정 모듈화(Modularity) - 시스템 기능들을 모듈 단위로 나눠 소프트웨어의 성능 및 재사용성을 향상시키는 것 추상화(Abstraction) - 전체적이고 포괄적인 개념을 설계한 후 차례대로 세분화하여 구체화 시키는 것 과정 추상화 (자세한 수행과정 정의 없이 전반적인 흐름만 파악) 데이터 추상화 (데이터의 세부적인 속성이나 용도를 정의하지 않고 데이터 구조를 대표하는 것으로 대체 제어 추상화 (이벤트 발생의 정확한 절차나 방법을 정의하지 않고 대표하는 표현으로 대체) 단계적 분해(Stepwise Refinement) - Niklaus Wirth에 의해 제안된 하향식 설계 전략 (상세한..

[클라우드 서비스] 알리바바 클라우드(Alibaba Cloud)

(On-Premise 물리적 구축) 기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식을 의미 Cloud 결제 방식 cloud 결제 방식으로 전환하는 이유 - 유연성 - 편의성 (비교할 필요없이 편리하게 구축된 서비스 이용) - 구축 속도 (원하는 스펙에 맞는 제품을 구매하기 때문에 빠른 속도) - 가용성 (시간,장소에 구애받지 않고 구매·사용 가능) - 경제성 (초기 비용이 적은 편이라 경제성 확보 가능) - R&D (연구개발분야 ex) 단시간에 대용량 클라우드 를사용해 테스트 결과만 확인 목적) Subscription (정기 결제/구독) 명확한 기간 pay-As-You-Go (사용한 만큼 결제) 얼마나 사용할지 기간이 정해지지 ..

교육 2023.05.03

정보처리기사 1과목 소프트웨어 설계 (User Interface / UI 설계 도구)

사용자 인터페이스(UI; user Interface) 사용자가 사용하는 서비스나 제품의 화면 안의 디자인, 레이아웃 등 모든 것을 의미 UX/UI 관련 내용을 정리하려다가 글의 목적과 멀어지는 것 같아 괜찮게 정리된 링크만 걸어두고 계속 이어나가도록 하겠다. UX/UI 디자인 정의, 특징, 차이점 완벽하게 파악해봅시다 UX/UI의 정의와 특징, 차이점, 좋은 UX 디자인을 위한 3가지 원칙에 대해 알아봅니다. modulabs.co.kr UI 구분 CLI (Command Line Interface) 텍스트 형태로 이루어진 인터페이스 GUI (Graphical User Interface) 마우스로 선택해 작업을 하는 그래픽 환경의 인터페이스 NUI (Natural User Interface) 사용자의 말이나..

정보처리기사 1과목 소프트웨어 설계 (UML / 구조적 다이어그램 (Structural Diagram) / 행위 다이어그램 (Behavioral Diagram))

UML(Unified Modeling Language) 시스템 분석, 설계, 구현 등 시스템 개발과정에서 시스템 개발자와 고객 또는 개발자 상호 간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어 구성 요소 사물(Things) (다이어그램 안에서 관계가 형성될 수 있는 대상, 모델을 구성하는 가장 중요한 기본 요소) 관계(Relationship) (연관(ㅡ), 집합(◇), 포함(◆), 일반화(자식▷부모 사물 방향으로 연결), 의존(짧은 시간 동안만 연관 유지)) 다이어그램(Diagram) 다이어그램 종류 구조적 다이어그램 (Structural Diagram) 클래스 다이어그램 (Class Diagram) 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현 객체 다이어그램 ..

정보처리기사 1과목 소프트웨어 설계 (폭포수 모형과 애자일 모형 / 스크럼(Scrum) / XP(eXtreme Programming))

소프트웨어 생명 주기, SDLC(Software Development Life Cycle) 폭포수 모형(Waterfall Model) 가장 오래되고 가장 폭넓게 사용된 고전적 생명 주기 모형 한 단계가 끝나야만 다음 단계로 넘어가는 선형 순차적 모형 개발 중간에 요구사항 변경이 용이하지 않음 타당성 검토 → 계획 → 요구분석 → 설계 → 구현(코딩) → 테스트(검사) → 유지보수 애자일 모형(Agile Model) 변화에 유연하게 대응 일정한 주기(Iteration, Sprint)를 반복하면서 개발과정 진행 절차와 도구보다 고객(개인)과의 소통에 초점을 맞춤 ex) XP(eXtreme Programming), 스크럼(Scrum), 칸반(Kanban), 크리스탈(Crystal), 린(LEAN) 스크럼(Sc..

VMWare에 오라클을 설치해보자 (Oracle 환경설정)

오라클 DB는 인스턴스와 리스너를 따로 시작하도록 되어 있는데 sqlplus " /as sysdba" 명령어로 SQL 명령어를 입력할 수 있는 프롬프트를 연다. [1] 윈도우 PC 터미널에서 접속 ssh -p22 oracle@192.226.202 cmd에서 명령어를 실행 후 잠시 기다리면 암호를 입력하라는 문구가 뜨는데 입력해준다. ssh -p22 이게 무엇을 의미하는지 알고싶어서 이곳에서 보고 왔다. 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜을 SSH(Secure Shell)라고 한다. SSH는 암호화 기법을 사용하기 때문에 통신이 노출된다고 해도 이해할 수 없는 암호화된 문자로 보이며 -p 옵션을 사용하면 포트번호를 지정할 수 있어서 기본 포트는 22번이기 때문에 -p22를 입력해..

교육 2023.04.28

SQL 심화교육 기본 용어 (SUN OS / Oracle 11g R2 EE / 가상머신(Virtual Machine) / IP (Internet Protocol) / 게이트웨이 (Gateway))

2023년 4월 27일부터 28일에 예정된 [고급 SQL] 교육 전 윈도우 함수 및 그룹함수와 응용시스템에서 사용할 수 있는 특수 SQL 기능을 익히고 조회 대상 컬럼의 레코드를 출력 삽입 삭제 변경을 할 수 있도록 한다. 교육 목표를 달성하기 위해 기본적으로 알아야 한다고 생각한 내용을 미리 준히하려고 학습하고자 작성한 게시물임을 밝힌다. 실습용 DB는 SUN OS를 바탕으로 Oracle 11g R2 EE 운용 - Sun OS는 유닉스 계열 운영체제이며 썬 마이크로 시스템즈가 워크 스테이션, 서버 컴퓨터 시스템을 위해 개발했다. - VMWare Player를 통해 실행 가능한 가상화 패캐지를 의미하며 윈도우와 리눅스를 무료로 지원한다. - solaris는 Sun OS 운영체제에 xwindows와 기타 ..

교육 2023.04.26

Java 기반의 시큐어 코딩 교육 (SQL Injection / 암호화 알고리즘 / 크로스 사이트 스크립팅(Cross Site Scripting) XSS)

해당 게시물은 [자바 기반의 시큐어 코딩] 교육 내용을 기반으로 학습 및 기록 목적으로 제작되었습니다. [목차를 클릭하면 해당 위치로 바로 이동] 소프트웨어 개발 보안 방법론 시큐어 코딩기법(SQL Injection) XSS 정보보안 신원증명과 인증 / 암호화 / 권한 부여 / 무결성 / 부인 방지 웹 애플리케이션 Web 기반 시스템을 CS와 다르게 인터넷 상으로 접근 가능한 위치에 존재하게 되어 항상 위험에 노출 (Web 기반 시스템의 보안 필요성 강조) OWASP (Open Web Application Security Project) 오픈소스 웹 애플리케이션 보안 프로젝트 OWASP - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. OWASP(The Open Web Applicat..

교육 2023.04.25
반응형