반응형

전체 글 139

정보처리기사 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

[Java] 정규표현식과 Pattern 클래스

정규 표현식 (Regular Expression) 문자열이 정해져 있는 형식으로 구성되어 있는지 검증할 때 사용 ex) 이메일, 전화번호 문자 또는 숫자 기호화 반복 기호가 결합된 문자열 Pattern 클래스 정규 표현식으로 문자열을 검증하는 역할 java.util.regex 패키지의 Pattern 클래스는 정규 표현식으로 문자열을 검증하는 matches() 메소드를 제공한다. 첫번째 매개값은 정규 표현식, 두번째 매개값은 검증할 문자이며 정규식이 제대로 작성됐다면 true, 잘못됐다면 false를 return한다. boolean result = Pattern.matches("정규식", "입력된 문자열");

공부/Java 2023.04.24

chatGPT 잘 쓰는 법

일잘러 장피엠 신사업, 스타트업 창업, 사이드 프로젝트를 고민하는 기획자를 위한 컨텐츠를 제공합니다. IT 프로젝트의 기획-실행-피드백 사이클을 빠르게 하는 방법을 알려드립니다. 빠른 실행과 값싼 실패 www.youtube.com 1. 충분히 자세히 물어보라 : CORE (Context 역할,목적,배경 / Output 결과들의 포맷, 분량 / Reference 절차, 참고 데이터 / Example 잘된 사례, 예시) chatGPT가 사용할 수 있는 재료(데이터) 제공 구체적인 요구사항을 적어줄 수록 답변 수준 상승 ex) 주제, 컨텐츠 목표, 대상 청중, 결과물 길이, 포맷(markdown), 언어, etc... (잔소리 같은 걸 해도.. 내용 개선 가능) 2. 계속 이어서 세부적으로 질문하기 이전 질문..

교육 2023.04.14

[Java] 예외 처리 코드 (다중 catch / 두 개 이상의 예외 처리 |)

예외 처리 코드 예외가 발생했을 때 프로그램의 종료를 막고 정상 실행을 유지할 수 있도록 처리하는 코드 예외 처리 코드는 try-catch-finally 블록으로 구성되며 생성자 내부와 메소드 내부에서 작성된다. try 블록에서 작성한 코드가 정상 실행되면 catch 블록은 실행되지 않고 finally 블록이 실행된다. try 블록에서 예외가 발생할 경우 예외를 잡기 위해 catch 블록이 실행되고 연이어 finally 블록이 실행된다. 예외가 발생하면 예외 객체가 catch 선언부의 예외 클래스 변수에 대입된다. finally 여기서 알아야 할 점은 예외가 발생하던 안하던 finally 블록은 무조건 실행된다는 것이다. 심지어 try 블록과 catch 블록에서 return문(메소드 종료) 사용을 하더라..

공부/Java 2023.04.12
반응형