본문 바로가기

전체 글343

728x90
2021 #정보처리기사 필기요약 #1-4. 인터페이스 설계 2021년 NCS기반 정처기 필기입니다. 이기적2020과 수제비2021 수험서를 함께 보고 공부한 기록입니다. 제 1과목 소프트웨어 설계 > 인터페이스 설계 (1) 인터페이스 요구사항 확인 내·외부 인터페이스 내·외부 인터페이스 요구사항의 개념 내·외부 인터페이스 요구사항은 조직 내·외부에 존재하는 시스템들이 상호 접속을 통하여 특정 기능을 수행하기 위한 접속 방법이나 규칙에 대한 필수적 요구사항이다. 내·외부 인터페이스 요구사항의 구성 인터페이스 이름 연계 대상 시스템 연계 범위 및 내용 연계 방식 송신 데이터 인터페이스 주기 기타 고려사항 내·외부 인터페이스 요구사항의 분류 분류 설명 기능적 요구사항 (기완일) 내·외부 인터페이스 연계를 통해 수행될 기능과 관련되어 소프트웨어가 가져야 하는 기능적 속.. 2021. 2. 25.
2021 #정보처리기사 필기요약 #1-3. 애플리케이션 설계 2021년 NCS기반 정처기 필기입니다. 이기적2020과 수제비2021 수험서를 함께 보고 공부한 기록입니다. 제 1과목 소프트웨어 설계 > 애플리케이션 설계 (1) 공통 모듈 설계 모듈(Module)의 개념 모듈은 크게 독립된 하나의 소프트웨어 또는 하드웨어 단위를 지칭하는 용어이다. 모듈화를 통해 분리된 시스템의 기능 서브 프로그램 서브 루틴 소프트웨어 내의 단위 프로그램 작업 단위 모듈의 특징 각각의 모듈은 상대적으로 독립성을 가지고 있다. 모듈은 단독으로 컴파일할 수 있으며, 재사용할 수 있다. 독립성이 높은 모율일수록 수정 시 다른 모듈에 영향을 거의 미치지 않고, 오류 발생 시 쉽게 해결할 수 있다. 모듈의 독립성은 결합도와 응집도에 의해 측정된다. 모듈의 독립성을 높이는 방법 모듈의 결합도는.. 2021. 2. 25.
2021 #정보처리기사 필기요약 #1-2. 화면 설계 2021년 NCS기반 정처기 필기입니다. 이기적2020과 수제비2021 수험서를 함께 보고 공부한 기록입니다. 제 1과목 소프트웨어 설계 > 화면 설계 (1) UI 요구사항 확인 UI(User Interface; 사용자 인터페이스) UI()는 넓은 의미에서 사용자와 시스템 사이에서 의사소통할 수 있도록 고안된 물리적, 가상의 매개체이다. 좁은 의미로는 정보 기기나 소프트웨어의 화면 등에서 사람이 접하게 되는 화면이다. UX(User eXperience; 사용자 경험) 제품과 시스템, 서비스 등을 사용자가 직·간접적으로 경험하면서 느끼고 생가하는 총체적 경험을 의미한다. UI 유형 (CG NO) 유형 특징 설명 CLI (Command Line Interface) 정적인 텍스트 기반 인터페이스 명령어를 텍스.. 2021. 2. 24.
2021 #정보처리기사 필기요약 #1-1. 애자일(Agile), 분석모델확인 2021년 NCS기반 정처기 필기입니다. 제 1과목 소프트웨어 설계 애자일(Agile) 애자일(Agile) 방법론은 소프트웨어 개발방법론의 하나로서 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하는 방법이다. 애자일 방법론 특징 프로젝트의 요구사항은 기능 중심으로 정의한다. [2020년 4회] 절차와 도구보다 개인과 소통을 중요하게 생각한다. 작업 계획을 짧게 세워 요구 변화에 유연하고 신속하게 대응할 수 있다. 소프트웨어가 잘 실행되는 데 가치를 둔다. 고객과의 피드백을 중요하게 생각한다. 애자일 선언문 (개변동고) 애자일 방법론을 실천하기 위한 주요 원칙이다. 공정과 도구보다 개인과 상호작용 계획을 따르기보다 변화에 대응하기 포괄적인 문서보다 동작하는 소프트웨어 계약 협상보다 고객과의 협력 애자일.. 2021. 2. 24.
2021 #정보처리기사 필기요약 #1-1. UML 2021년 NCS기반 정처기 필기입니다. 이기적2020과 수제비2021 수험서를 함께 보고 공부한 기록입니다. 제 1과목 소프트웨어 설계 > 요구사항 확인 > UML UML(Unified Modeling Language)의 개념 UML은 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어이다. UML은 비즈니스 프로세스 개발 분야에 특화되어 사용 · 발전되었다. UML은 방법론을 통합한 것으로, 표준화된 모델링 기법을 제공한다. UML 도입 효과 개발 기획과 산출물에 대한 확인 프로그램 개발이라는 행위에 대해 전문가와 비전문가가 서로 대화할 수 있는 도구 UML의 특징 (가구명문) 특징 설명 가시화 언어 개념 .. 2021. 2. 19.
2021 #정보처리기사 필기요약 #1-1. 요구사항 확인 2021년 NCS기반 정처기 필기입니다. 이기적2020과 수제비2021 수험서를 함께 보고 공부한 기록입니다. 광고를 클릭해주시면 블로그 활동에 도움이 됩니다 :) 제 1과목 소프트웨어 설계 > 요구사항 확인 (1) 현행 시스템 분석 플랫폼(Platform) 공급자와 수요자 등 복수 그룹이 참여하여 각 그룹이 얻고자 하는 가치를 공정한 거래를 통해 교환할 수 있도록 구축된 환경 플랫폼의 유형 유형 설명 싱글 사이드 플랫폼 (Single-Side Platform) 제휴 관계를 통해 소비자와 공급자를 연결하는 형태 투 사이드 플랫폼 (Two-Side Platform) 두 그룹을 중개하고 모두에게 개방하는 형태 멀티 사이드 플랫폼 (Multi-Side Platform) 다양한 이해관계 그룹을 연결하여 중개하는.. 2021. 2. 18.
『속깊은 JavaScript』를 읽고 속깊은 JavaScript 출판사 : 루비페이퍼 저자 : 양성익 자바스크립트를 깊게 배우고 싶어 산 책 중 하나입니다. ES6이 나온지 1~2년이 채 되지 않은 시기에 출판된 도서라 그런지 초반 내용 구성이 let 보다 var 중심으로 작성되어 있었습니다. 그리고 ES6에 대해 설명을 해주는데 앞에 설명된 var 중심글들이 밑바탕이 되어 설명되어 있는지라 자바스크립트의 성장과정을 보는 듯 하여 나온지 몇년이 되었다는 것을 잊고 볼 수 있었습니다. 처음엔 이틀안에 다봐야지~ 했던게 디자인패턴에 진입하고 나서는 식은땀을 흘리며 Brackets 툴을 켜고 코딩을 하고 있는 제 자신이 보였습니다. 코드를 쳐보고 결과화면을 직접 보는 경험을 하지않으면 속독으로 머리에 새겨지지 않을 것이란 직감이 왔기에 하루 8시.. 2021. 2. 16.
AdFit #티스토리 kakaoAdFit 광고를 붙이다. AdFit 신청 티스토리 관리 화면이 개편되면서 수익관리 메뉴가 추가되었는데, 혹시? 하는 마음으로 AdFit신청 기준인 3개월 이내 포스팅을 20개 채우고 신청해보았습니다. 신청한김에 구글 애드센스도 함께 신청해보았지만 애드센스는 광탈당했습니다 ㅠㅠ 애드고시란.. kakaoAdFit 신청일 : 2021.2.10 / 승인일시 : 2021.2.15 14:35 심사는 5일이 걸렸고 승인되었습니다. 등록일자는 2018년이었는데... 거의 2년 걸렸네요. 매체 심사는 항상 보류였는데 파란색의 승인 텍스트를 보니 감동이 밀려옵니다. 승인메일을 받고난 뒤 빠르게 광고를 달았습니다. 달 수 있는 곳은 다 달았습니다. 모바일은 목록이 무한 스크롤로 제공되기 때문에 본문 하단 광고는 사용 안함 처리하였습니다. 누적 조회.. 2021. 2. 16.
javascript #DOM reflow 시 자원 소모 최소화 방법 개념정리 DOM repaint DOM repaint는 특정 엘리먼트의 visibility를 수정하거나 배경색이나 글자색 등을 바꿀 때 일어나는 것으로, 화면에 각 HTML 엘리먼트들의 위치는 변경되지 않고, 화면에 표시되는 것이 바뀔 때 일어난다. 특히 특정 DOM 엘리먼트의 visibility를 수정하면 해당 DOM의 자식 DOM까지 하위 트리 구조 전체를 탐색해야 하므로 CPU 자원이 소모된다. DOM reflow DOM reflow는 repaint와는 다르게 DOM이 화면에 표시되는 구조가 바뀔 때, 또는 CSS 클래스가 바뀔 때 일어난다. 이는 DOM 트리가 배치되는 위치를 전체적으로 다시 계산해서 화면에 출력하는 것을 의미하며. DOM repaint보다 자원소모가 크다. repaint reflo.. 2021. 2. 14.
javascript #디자인 패턴 - 커링 패턴(currying pattern) 커링 패턴 커링(currying) 패턴은 함수를 설계할 때 인자 전체를 넘겨서 호출할 수도 있지만, 일부 인자는 먼저 입력해두고 나머지만 입력받을 수 있도록 새로운 함수를 만드는 패턴을 의미합니다. 커링 패턴은 하나의 공용 함수가 있는 경우 이를 세부적인 기능을 하는 함수로 나누고 싶을 때 유용합니다. 적용예시1. 합을 구하는 기본 함수 makeAdder() 함수로 인자를 하나 받은 뒤, 나머지 인자를 하나 받는 함수를 반환한다. 여기서 반환된 함수가 호출되면 클로저로 저장되어 있던 x와 새로 입력되어 들어온 y를 sum() 함수의 인자로 넘긴다. 그 결과 sum(x,y)의 결과가 나온다. 적용예시2. Function.prototype에 커링 패턴 함수 추가 자바스크립트는auguments 객체와 appl.. 2021. 2. 13.
javascript #디자인패턴 - 콜백 패턴(callback pattern) 콜백 패턴(callback pattern) 콜백 함수의 대표적인 사용처는 이벤트 핸들러이지만, 일반적인 자바스크립트 처리 로직 중에서도 이러한 콜백 패턴을 이용해서 해당 함수의 호출이 끝나고 난 뒤에 처리할 수 있도록 활용할 수 있습니다. 비동기 처리가 많은 자바스크립트에서 다양하게 응용할 수 있습니다. 특히 하나의 공통 라이브러리를 이용할 때 콜백 함수를 넘겨주는 것은 라이브러리의 확장성을 높입니다. 적용예시 ajax() 함수를 공통으로 사용하기 위해 콜백 패턴이 사용되었습니다. 이 함수는 XMLHttpRequest가 빈번하게 일어나기 때문에 이를 효율적으로 호출하려고 정의되었습니다. 예시와 같이 XMLHttpRequest의 순서가 보장되어야 할 때가 콜백 함수를 활용하기 가장 좋은 예입니다. 특히 많.. 2021. 2. 13.
javascript #디자인패턴 - Self-invoking constructor 패턴 Self-invoking constructor 패턴 자바스크립트에서는 new 키워드를 생략하더라도 생성자 함수를 일반 함수인 것처럼 호출하고 실행하므로 오류는 발생하지 않고 오동작만 하게 됩니다. 이러한 경우는 작은 오타라서 소스가 많아지면 오류 찾기가 힘듭니다. Self-invoking constructor 패턴은 이러한 실수를 고려하여 생성자를 그냥 함수로 호출할 때 스스로 new를 붙여서 호출하는 패턴입니다. ECMAScript 6에서 class 키워드가 별도로 나오면서 function 기반으로 객체지향을 개발하는 상황은 점점 줄어들고 있지만, 아직 ECMAScript 6의 class 키워드를 모든 브라우저가 100% 지원하지는 않고 있습니다. 따라서 function으로 객체지향을 구현할 때 방어적.. 2021. 2. 13.