전체 글

코딩 한 것들 정리하는 사이트
대학교/운영체제

chap2. 컴퓨터 시스템과 운영체제 (2)

※ 공부한 것을 정리한 노트입니다. 참고만 하세요. ※ 3. 커널과 시스템 호출 응용프로그램의 자원 접근 문제 오늘날의 운영체제는 다중프로그래밍 운영체제이다 문제 응용 프로그램이 직접 하드웨어에 접근하면 충돌 및 훼손 가능성 매우 큼 ex) 타 응용 프로그램이 적재된 메모리 훼손, 또는 만들어둔 파일 삭제 및 훼손, 커널이 적재된 영역 훼손 해결 응용프로그램의 모든 하드웨어 직접접근 불허, 오직 커널만이 가능 구체적인 해결 메모리 공간을 사용자 공간(응용프로그램 적재)과 커널 공간(커널 적재)으로 분리 CPU의 실행모드를 사용자 모드와 커널 모드로 분리 응용프로그램은 사용자모드에서만, 커널 코드는 커널모드에서만 because, 사용자 공간에서 커널 공간 직접접근 못하게 하기 위해, 접근 시도시 응용프로그..

대학교/운영체제

chap2. 컴퓨터 시스템과 운영체제 (1)

※ 공부한 것을 정리한 노트입니다. 참고만 하세요. ※ 1. 컴퓨터 시스템과 하드웨어 컴퓨터 시스템 계층 응용 프로그램층 : 사용자와 가장 가까운 계층. 운영체제층 : 그림처럼 사용자가 하드웨어로 직접 접근하는 것을 막는다. 하드웨어층 계층의 특징 사용자 : 응용프로그램과 GUI, 툴을 이용해 컴퓨터를 활용함 운영체제 : 하드웨어에 대한 배타적 독점 권한 → 사용자는 하드웨어에 직접 접근할 수 없고, 오직 운영체제를 통해 접근 ∴ 운영체제는 응용프로그램과 하드웨어간의 중계를 담당한다. 그리고 사용자가 하드웨어에 대해 몰라도 컴퓨터를 사용할 수 있도록 한다. 컴퓨터 하드웨어 구성 CPU (Central Processing Unit, 중앙 처리 장치) instruction 해석하여 실행 n비트 cpu -> ..

coding_test/BAEKJOON

백준 2877번 C++ 풀이

https://www.acmicpc.net/problem/2877 2877번: 4와 7 창영이는 4와 7로 이루어진 수를 좋아한다. 창영이가 좋아하는 수 중에 K번째 작은 수를 구해 출력하는 프로그램을 작성하시오. www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 1 초 128 MB 골드 5 문제 창영이는 4와 7로 이루어진 수를 좋아한다. 창영이가 좋아하는 수 중에 K번째 작은 수를 구해 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 K(1 ≤ K ≤ 10^9)가 주어진다. 출력 첫째 줄에 창영이가 좋아하는 숫자 중 K번째 작은 수를 출력한다. 4와 7로만 이루어진 숫자중에서 k번째로 작은 숫자를 구하는 문제이다. 처음 봤을때는 DP일거 같긴 했지만, 마땅한 방법이 생각이 나..

대학교/소프트웨어공학론

5. 요구사항 개발 프로세스

※ 공부한 것을 정리한 노트입니다. 참고만 하세요. ※ 1. 도출 설명 비즈니스 분석가가 이해관계자로부터 목표 시스테에 바라는 요구를 식별하는 단계 요구사항 도출 기법 인터뷰 직접 대화를 통해 요구사항 도출 개인, 소규모 그룹을 대상으로 실시 → 통제 수월 라포, 경청 범위에서 벗어나면 안됨 폐쇄적 X, 개방형 질문 O 폐쇄적 질문 : y/n과 같이 미리 정해진 해답을 가지는 질문. 보통 확인 용도 개방형 질문 : 답이 정해지지 않음. 상세한 정보 획득 용도 5 Whys 기법으로 문제의 근본 원인 식별 워크숍 이해관계자들의 협업을 통핸 요구사항 도출 및 정의 다양힌 이해관계자들, facilitator(촉진자), 서기 참여 특정 주제 기반의 의견 공유 다양한 이해관계자의 요구사항 동시 도출 의견 충돌 해소..

대학교/소프트웨어공학론

4. 요구사항

※ 공부한 것을 정리한 노트입니다. 참고만 하세요. ※ 요구사항의 중요성 아직도 많은 프로젝트들은 도전중이다(https://codejin.tistory.com/250) 프로젝트의 성공, 도전, 실패의 주 원인은 요구사항에 있다. 즉, 요구사항이 잘 되는지 안되는지는 곧 해당 프로젝트의 흥망성쇠를 결정하는 셈이다. 요구사항이란? 문제 해결을 위해 무엇을 구현해야 하는가에 대한 명세 시스템이 동작한느 방법, 속성, 혹은 특성을 설명 시스템 개발 프로세스의 일종의 제약 조건 요구사항 분류 위로 갈수록 범위가 크다(추상적이다) / high level이다 Business requirements why? 이윤증가, 비용절감, 이윤 방어, 미래에 소용될 수 있는 비용 절감 제품을 개발함으로써 얻을 수 있는 이득을 명..

대학교/소프트웨어공학론

3. scrum

※ 공부한 것을 정리한 노트입니다. 참고만 하세요. ※ Scrum scrum이란 agile 방법론의 한 종류 agile은 하나의 방법론이기 때문에, agile 원칙을 지키는 방법론들은 모두 agile 방법론이라고 할 수 있다. scrum 역시 agile 방법론을 지키는 방법론이고, 즉 agile 방법론의 한 종류이다. scrum process agile에서의 iteration을 scurm에서는 sprint라고 한다. sprint의 소요시간은 해당 프로젝트 시행동안 고정된다. 2주면 2주, 10일이면 10일 sprint가 끝나고 잠재적으로 출 시할 수 있는 제품을 increment라고 한다. sprint backlog sprint 기간동안 해야할 일이 담긴 목록 Product backlog에서 우선순위에 ..

coding_test/BAEKJOON

백준 2491번 C++ 풀이

https://www.acmicpc.net/problem/2491 2491번: 수열 0에서부터 9까지의 숫자로 이루어진 N개의 숫자가 나열된 수열이 있다. 그 수열 안에서 연속해서 커지거나(같은 것 포함), 혹은 연속해서 작아지는(같은 것 포함) 수열 중 가장 길이가 긴 것을 찾 www.acmicpc.net 시간 제한 메모리 제한 solved.ac 티어 1초 128MB 실버 4 문제 0에서부터 9까지의 숫자로 이루어진 N개의 숫자가 나열된 수열이 있다. 그 수열 안에서 연속해서 커지거나(같은 것 포함), 혹은 연속해서 작아지는(같은 것 포함) 수열 중 가장 길이가 긴 것을 찾아내어 그 길이를 출력하는 프로그램을 작성하라. 예를 들어 수열 1, 2, 2, 4, 4, 5, 7, 7, 2 의 경우에는 1 ≤ ..

대학교/소프트웨어공학론

2. rad, lean startup, agile, DevOps

※ 공부한 것을 정리한 노트입니다. 참고만 하세요. ※ 1. RAD 정의 Rapid Application Development의 약자로, 앱(프로젝트)의 빠른 개발을 위한 모델로, 사용자의 지속적 참여하에 빠르게 프로그램을 개발하기 위한 개발 라이프 사이클 모델. waterfall 모델과는 정반대로 사용자(고객)의 지속적 참여하에 빠르게 application을 개발하는것이 목표 사용자가 지속해서 참여하기 때문에 사용자는 개발 과정에서 지속적인 피드백을 전달하고, 개발자는 이러한 피드백을 개발과정에서 반영하여 지속적으로 개선 개발자는 빠른 개발을 위해 app의 자동 생성 도구를 사용하여 개발 특징 고객 참여: 고객의 요구사항 정의, 분석, 설계 신속개발: 기술위험 적음 짧은 개발주기: 코드 재사용 및 자동..

CodeJin
MyCodingStudyNote