전체 글 259

정보처리기사 22_04_24 필기 [5과목]

[ 5과목:정보시스템 구축관리] 81. 소프트웨어 개발에서 정보보안 3요소에 해당 하지 않는 설명은? ① 기밀성 : 인가된 사용자에 대해서만 자원 접근이 가능하다. ② 무결성 : 인가된 사용자에 대해서만 자원 수정이 가능하며 전송중인 정보는 수정되지 않는다. ③ 가용성 : 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능하다. ④ 휘발성 : 인가된 사용자가 수행한 데이터는 처리 완료 즉시 폐기되어야 한다. 정보보안의 3요소는 아래와 같습니다. 1) 기밀성 (Confidentiality) : 인가된 사용자만 자원접근 가능 2) 무결성 (Integrity) : 인가된 사용자만 자원수정 가능 3) 가용성 (Availabillity) : 인가된 사용자는 (권한 내) 자원접근 가능 82. 어..

정보처리기사 22_04_24 필기 [4과목]

[ 4과목:프로그래밍 언어 활용] 61. C언어에서 문자열 처리 함수의 서식과 그 기능의 연결로 틀린 것은? ① strlen(s) - s의 길이를 구한다. ② strcpy(s1, s2) - s2를 s1으로 복사한다. ③ strcmp(s1, s2) - s1과 s2를 연결한다. ④ strrev(s)-s를 거꾸로 변환한다. strcmp는 문자열 "비교" 함수입니다. 문자열을 연결하는 함수는 strcmp가 아닌, strcat입니다. strcmp(s1, s2) : s1과 s2를 비교한다. strcat(s1, s2) : s1과 s2를 연결한다. 62. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는? #include int main(int argc, char *argv[]) { int a = 5, b = 3, ..

정보처리기사 22_04_24 필기 [3과목]

[ 3과목:데이터베이스 구축] 41. 다음 조건을 모두 만족하는 정규형은? - 테이블 R에 속한 모든 도메인이 원자값만으로 구성되어 있다. - 테이블 R에서 키가 아닌 모든 필드가 키에 대해 함수적으로 종속되며, 키의 부분 집합이 결정자가 되는 부분 종속이 존재하지 않는다. - 테이블 R에 존재하는 모든 함수적 종속에서 결정자가 후보키이다. ① BCNF ② 제1정규형 ③ 제2정규형 ④ 제3정규형 정규화(Normalization)은 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정입니다. 정규화는 아래의 목적을 가집니다. 1) 데이터 구조의 안정성 최대화 2) 중복 데이터의 최소화 3) 수정 및 삭제 시 이상 현성 최소..

정보처리기사 22_03_05 필기 [2과목]

[ 2과목:소프트웨어 개발 ] 21. 클린 코드(Clean Code)를 작성하기 위한 원칙으로 틀린 것은? ① 추상화 : 하위 클래스/메소드/함수를 통해 애플리케이션의 특성을 간략하게 나타내고, 상세 내용은 상위 클래스/ 메소드/함수에서 구현한다. ② 의존성 : 다른 모듈에 미치는 영향을 최소화하도록 작성한다. ③ 가독성 : 누구든지 읽기 쉽게 코드를 작성한다. ④ 중복성 : 중복을 최소화 할 수 있는 코드를 작성한다. 클린 코드(Clean Code)란 깔끔하게 잘 정리된 코드를 말하며, 중복 코드 제거로 애플리케이션의 설계가 개선됩니다. 가독성이 높아 애플리케이션의 기능에 대해 쉽게 이해할 수 있고, 버그를 찾기 쉬워지며, 프로그래밍 속도가 빨라집니다. 클린 코드 최적화 원칙은 아래와 같습니다. 1) ..

정보처리기사 22_04_24 필기 [2과목]

[ 2과목:소프트웨어 개발 ] 21. 통합 테스트(Integration Test)와 관련한 설명으로 틀린 것은? ① 시스템을 구성하는 모듈의 인터페이스와 결합을 테스트하는 것이다. ② 하향식 통합 테스트의 경우 넓이 우선(Breadth First) 방식으로 테스트를 할 모듈을 선택할 수 있다. ③ 상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다. ④ 모듈 간의 인터페이스와 시스템의 동작이 정상적으로 잘되고 있는지를 빨리 파악하고자 할 때 상향식 보다는 하향식 통합 테스트를 사용하는 것이 좋다. 통합 테스트(Integration Test)는 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생할 수 있는 오류를 찾는 테스트를 말합니다. 통합 테스트는 상향식(Bottom..

정보처리기사 22_03_05 필기 [1과목]

[ 1과목:소프트웨어 설계 ] 1. User Interface 설계 시 오류 메시지나 경고에 관한 지침으로 가장 거리가 먼 것은? ① 메시지는 이해하기 쉬워야 한다. ② 오류로부터 회복을 위한 구체적인 설명이 제공되어야 한다. ③ 오류로 인해 발생 될 수 있는 부정적인 내용을 적극적으로 사용자들에게 알려야 한다. ④ 소리나 색의 사용을 줄이고 텍스트로만 전달하도록 한다. User Interface의 설계 지침은 다음과 같습니다. 1) 사용자 중심 (쉽게 사용 가능한가?) 2) 일관성 (빠른 습득이 가능한가?) 3) 단순성 (조작 방법이 간단한가?) 4) 가시성 (주요 기능이 메인화면에 있는가?) 5) 표준화 (디자인이 표준화되어 쉽게 사용 가능한가?) 6) 접근성 (다양한 계층을 수용 가능한가?) 7) ..

정보처리기사 22_04_24 필기 [1과목]

[ 1과목:소프트웨어 설계 ] 1. UML 다이어그램 중 순차 다이어그램에 대한 설명으로 틀린 것은? ① 객체 간의 동적 상호작용을 시간 개념을 중심으로 모델링 하는 것이다. ② 주로 시스템의 정적 측면을 모델링하기 위해 사용한다. ③ 일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다. ④ 회귀 메시지(Self-Message), 제어블록(Statement block) 등으로 구성된다. UML 다이어그램은 크게 [ 구조 / 행위 ] 다이어그램으로 나뉩니다. 위 구조/행위 다이어그램은 각각 [ 정적 / 동적 ] 모델링 방식입니다. 순차 다이어그램(Sequence Diagram)은 이름 그대로 시간적 순서를 보여주는 다이어그램입니다. 순차 다이어그램은 행위 다이어그램에 포함되므로, 동적 모델링 방식입..

OverTheWire_Level 31 -> Level 32

Lv 32 > 이전 포스팅들과 동일한 방법으로 repository를 다운받았습니다. 처음보는 파일인 [ .gitignore ] 가 있는 것을 확인할 수 있습니다. [ README.md ] 파일에는 "This time your task is to push a file to the remote repository."라고 적혀있습니다. 해당 설명에 부합하는 파일을 만들어 push해야 한다는 말 같은데, .gitignore 파일에서 *.txt가 걸립니다. 일단 파일부터 만들겠습니다. $ git push 위의 와 를 지정하지 않으면 디폴트로 remote는 origin을, branch는 현재의 브랜치를 지정해준다고 합니다. 현재 branch가 master이니, git push를 하면 git pu..

리눅스 워게임 2023.02.04

OverTheWire_Level 30 -> Level 31

Lv 31 > 이번에도 문제 자체의 내용은 동일하기 때문에, 이전 포스팅과 동일한 방법으로 진행하겠습니다. [ git clone ssh://bandit30-git@localhost:2220/home/bandit30-git/repo ] 이번에는 branch 자체가 없는 것을 확인할 수 있습니다. 아직 git에 익숙하지 않아 이것저것 시도해보다가 감이 안와서 .git 디렉터리로 돌아와서 파일부터 뒤적거렸습니다. 찾다보니 디렉터리 안의 packed-refs 파일을 열어보니 자주 보이던 해시와 함께 다른 해시를 발견할 수 있었습니다. secret 태그의 해시를 알아버렸으니 바로 내용을 확인할 수 있습니다. git tag 명령만 해봤어도 태그가 달려있다는걸 바로 알았을텐데 생각조차 못하고 있었..

리눅스 워게임 2023.02.03

OverTheWire_Level 29 -> Level 30

Lv 30 > 이번에도 문제 자체의 내용은 동일하기 때문에, 이전 포스팅과 동일한 방법으로 진행하겠습니다. [ git clone ssh://bandit29-git@localhost:2220/home/bandit29-git/repo ] 이전 포스팅과 동일하게 진행하다 보면 이번에는 password에 대한 변경 내용이 보이지 않습니다. 그렇다면, 각 branch들에 대한 변경 내용도 확인해보겠습니다. ( --branches ) [ git log -p --branches ] 밑으로 더 내릴 필요도 없이 dev branch에서 password를 변경했던 로그가 보입니다. bandit30 password is : xbhV3HpNGlTIdnjUrdAlPzc2L6y9EOnS

리눅스 워게임 2023.02.01