분류 전체보기 161

[알고리즘][비트연산] 1. 패리티(Parity) 계산하기

어떤 2진수에 존재하는 1의 개수가 홀수개면 패리티는 1이 되고, 짝수개면 0이 된다. 예를 들어, 14=1110(2)에는 1이 홀수개 있으므로 패리티는 1이 된다. 1️⃣ 만약 임의의 64비트 2진수의 패리티를 구하는 프로그램을 작성한다면, 가장 먼저 떠올릴 수 있는 단순한 방법은 1이 홀수개인지, 짝수개인지 모든 비트를 검사하는 것이다. 검사(x & 1)하는 비트값이 0이든 1이든 하나씩 확인하므로 이 방법은 입력된 2진수의 크기 n에 따라 O(n)이 걸린다. public static short getParity(long x) { short result = 0; while (x != 0) {// x가 0이 될 때까지 오른쪽 시프트 할 예정 result ^= (x & 1);// x의 LSB가 1이면 초..

[Java] 비트 연산자(Bitwise Operators) 정리

1. 논리곱(AND) & 입력 비트가 모두 1인 경우 출력이 1인 연산 byte a = 10; // 1010 byte b = a & 2; // 00001010 // 00000010 // 00000010 System.out.println(b); // 2 2. 논리합(OR) | 입력 비트 중 한 개 이상이 1인 경우 출력이 1인 연산 byte a = 10; // 1010 byte b = a | 2; // 00001010 // 00000010 // 00001010 System.out.println(b); // 10 3. 배타적 논리합(eXclusive OR) ^ 두 입력이 서로 다른 경우 출력이 1인 연산 byte a = 10; // 1010 byte b = a ^ 2; // 00001010 // 000000..

TOPCIT 연습문제 (주관적)정답 - 모듈1

TOPCIT은 정보통신기획평가원에서 주관하는 소프트웨어 역량검정인데, 소프트웨어산업진흥법에 근거를 두고 시행되고 있습니다. 고득점자는 협약기관 입사지원 시 서류전형에서 가산점을 주는 정도까지만 인정해 주고 있습니다. 정보처리기사와 범위가 유사하나 난이도가 좀 더 높다고 합니다. TOPCIT 홈페이지에는 시험 환경을 체험해볼 수 있는 페이지가 있습니다. 연습 문제도 20개 정도 있는데(실제 시험에서는 65개), 정답이 나와있지 않기 때문에 제가 아는 선에서 정답이라고 생각하는 답을 정리해 보았습니다. 문제의 출처는 https://topcit.or.kr/board/preview.do 입니다. 나머지 문제는 생각나는 대로 추가로 정리하려고 합니다. SW-문2. CPU 스케줄링 방법 중 다음과 같은 상황을 해결..

Certifications 2023.05.25

2023 공공기관 현황 및 기관별 신입사원초임, 직원평균보수

공공기관이란 정부의 출연·출자 또는 정부의 재정지원 등으로 설립·운영되는 기관으로서 공공기관운영법 제4조 1항 각호의 요건에 해당하여 기획재정부장관이 지정한 기관을 의미합니다. 2023년 공공기관 현황은 아래와 같습니다. 전년도에 비해 공기업 4개, 준정부기관 39개가 기타공공기관으로 변경 지정되었습니다. 다음으로는 기관별 신입사원 초임과 직원평균보수를 알아보겠습니다. 표의 "경영평가성과급"은 기재부 지침에 따른 성과급으로 1분기와 3분기에 지급되고, "기타성과상여금"은 기관 내부의 성과 평가에 따른 상여금으로 2분기와 4분기에 지급됩니다. 아래 자료는 잡알리오(job.alio.go.kr) 데이터를 연간급여 합계 내림차순으로 정렬한 자료입니다. 1. 전 공공기관 신입사원초임 # 기관명 합계 고정수당 실적..

일상 2023.05.20

[소프트웨어공학] 제11장 액티비티 다이어그램

1. 단원 요약 액티비티, 액션, 제어흐름 액티비티: 일련의 액션들과 그 제어흐름으로 구성된 작업 단위, 모서리가 둥근 사각형 액션: 액티비티 수행에 필요한 더 이상 분해 불가한 단일 작업, 모서리가 둥근 사각형 제어흐름: 각 액션에 대한 입력흐름과 출력흐름, 화살표 제어노드 시작/종료: 액티비티의 시작과 종료를 표현 액티비티 시작 노드: ⬤ 액티비티 종료 노드: ⦿ 흐름 종료: 액티비티가 아닌 특정 흐름의 종료를 표현 흐름 종료 노드: ⊗ 조건 노드: 조건문과 같은 의미이며, 마름모로 표시 병합 노드: 조건에 따른 흐름들이 합쳐지는 부분이며, 마름모로 표시 포크/조인 노드: 병렬 처리를 표현하며, 굵은 막대로 표시 객체, 객체흐름 객체란 액션의 입/출력 데이터로, 간혹 물리적인 객체이기도 함 객체 노드..

[소프트웨어공학] 제10장 유스케이스 다이어그램 및 명세

1. 단원 요약 개요 UML (Unified Markup Language) 1.0: OMG, 1997 UML 2.5: OMG, 2015 4+1 View Usecase View: 유스케이스 다이어그램 Logical View: 상호작용 다이어그램(시퀀스 다이어그램, 통신 다이어그램) Process View: 액티비티 다이어그램 Development View Physical View UML 2.5 다이어그램 유스케이스 다이어그램: 구조적, 행위적 측면을 모두 표현한다. 구조 다이어그램 클래스 다이어그램 객체 다이어그램 패키지 다이어그램 컴포넌트 다이어그램 배포 다이어그램 행위 다이어그램 액티비티 다이어그램 상태머신 다이어그램 상호작용 다이어그램 시퀀스 다이어그램 통신 다이어그램 액터: 막대인간, 아이콘, 스테..

[소프트웨어공학] 제9장 객체지향 분석과 설계

1. 단원 요약 개요 "객체지향 분석과 설계"는 제6장 사용자 요구 분석(요구공학) 단원의 "요구사항 모델링"에 관한 설명 중 "객체지향 분석 모델"을 기초로 수행된다. 객체지향 분석: 문제 도메인을 분석하여 개념 모델을 작성하는 과정 객체지향 분석의 결과물은 시스템이 수행하는 기능을 설명하는 모델이다. 유스케이스, 클래스, 상호작용 다이어그램 객체지향 설계: 객체지향 분석 단계의 결과물을 비기능적 요구사항과 아키텍처를 고려하여 변환하는 과정 = 개념 클래스들을 구현 클래스들로 변환하는 과정 요구사항 추출 요구 공학: 요구사항 추출을 위한 활동 액터 찾기 시스템과 상호작용하는 사람, 외부 시스템을 찾는다. 유스케이스를 시작시키거나 그로부터 정보를 제공받는 액터를 "참여 액터"라고 부른다. 시나리오 찾기 ..

[소프트웨어공학] 제8장 코딩과 소프트웨어 유지보수

1. 단원 요약 코딩 코딩 스타일: 가독성과 유지보수성을 높이기 위한 소스코드 작성 지침이나 관행 내부 문서화: 소스코드 내에서 주석을 통해 코드에 대한 설명을 작성하는 행위 코드 스멜: 잠재적으로 문제가 발생할 소지가 있는 소스코드의 일부분 리팩토링: 기능 수정 없이, 구조를 개선하여 가독성과 유지보수성을 높이는 행위 소프트웨어 유지보수 제품 변경 전략 아키텍처 수정 없이 변경 아키텍처 수정 유지보수성 향상을 위한 재공학 유지보수 유형 수정 유지보수: 오류 수정 적응 유지보수: 외부 환경 변화에 대응하기 위한 수정 완전 유지보수: 기능, 성능 개선을 위한 수정 *가장 자주 일어난다. 예방 유지보수: 이해성, 유지보수성 개선을 위한 수정 소프트웨어 유지보수: 형상관리 형상: 시스템을 구성하는 요소들과 그..

[소프트웨어공학] 제7장 소프트웨어 설계

1. 단원 요약 설계 프로세스 입력: 요구사항 명세서, 요구사항 분석모델, 환경적 제약 조건 출력: SW 아키텍처, 인터페이스, 알고리즘, 데이터 형식 정의 설계 프로세스는 반복적이다. 설계 행위 아키텍처 설계: 시스템의 논리적 구성도로써, 비기능적 요구사항에 큰 영향 데이터베이스 설계 서브시스템 설계 컴포넌트 설계 자료구조/알고리즘 설계 설계 원리 문제분할(분할정복) 수평 분할: 기능별로 모듈 그룹화(전체 제어가 복잡해지나 파급 효과가 작고 테스트, 유지보수, 확장이 용이하다.) 수직 분할: 상위 모델은 제어, 하위 모델은 실제 작업을 수행(제어는 단순하나 파급 효과가 크다.) 추상화 기능 추상화: 데이터 추상화: 하향식 설계/상향식 설계 하향식 설계: 상향식 설계: 아키텍처 설계 아키텍처 스타일: 유..

[소프트웨어공학] 제6장 사용자 요구 분석 (요구공학)

1. 단원 정리 요구사항(requirements): 목적 달성을 위해 시스템이 갖추어야 할 조건이나 능력 기능적 요구사항: 사용 시나리오, 데이터 형식 등 비기능적 요구사항: 성능, 보안 등 FURPS+: HP에서 개발한 요구사항 분류 모델 기능적: Functionality 비기능적: Usability, Reliability, Performance, Supportability ➡️ 품질 조건 Plus(+)는 비기능적 요구사항 중 제약 조건을 의미함 요구 공학 프로세스: 시스템 요구사항 명세서(SRS)를 만들기 위한 반복적 프로세스 고객이 작성한 문제 기술서를 바탕으로 SRS를 산출한다. 타당성 조사➡️요구사항 수집/분석(추출)➡️문서화➡️검토➡️관리 절차로 진행된다. 위 절차 중에서 요구사항 수집/분석(..