Divide and Conquer Divide and Conquer (분할 정복)은 문제를 분할하고, 중앙에서 정복하고 하단에서 조합하는 형태로 아래와 같이 도식화 할 수 있습니다. 분할: 문제를 더 이상 분할할 수 없을 때까지 동일한 유형의 하위 문제로 나눈다.정복: 가장 작은 단위의 하위 문제를 해결하여 정복한다.조합: 하위 문제에 대한 결과를 원래 문제에 대한 결과로 조합한다.문제는 주로 2개 이상의 하위 문제로 나누어지는데 Merge sort (병합 정렬)처럼 문제를 무조건적으로 2개로 나누지는 않습니다. 분할 정복 알고리즘의 수행 시간은 주로 점화식을 푸는 것과 연결됩니다. Quick Sort Merge sort와 달리 리스트를 비균등하게 분할하여 정복하는 방법을 사용합니다. 평균적으로 매우 빠..
[학교 수업]
Requirements Engineering The process of establishing the service that a customer requires from a system and the constraints under which it operates and is developed.특성 공학이란 시스템이 동작하고 개발되는 환경 아래에서의 제약들과 소비자의 요구들을 결정하고 만들어가는 과정을 말합니다. 이때 constraints는 coding style이나 information security등 software quality를 제외하는 NFR (* Non-functional Requirements)를 말합니다. Requirements have range from a high-level abst..
Problem DefinitionThere are N jobs, J_1, J_2, ..., J_nEach J_i = (D_i, P_i), D_i = Deadline, P_i = ProfitThere are 1-Hour Time slots where you can schedule jobsEach job takes 1 hour to finishExample = {(2,2), (1,3), (1,1)} AssumptionsAll deadlines are Jobs are given in non-increasing order of profit (if aren't given that order, you could sort jobs that order) Intuition/AlgorithmSchedule higher p..
Some more Arithmetic Operations 2024.09.28 - [학교 수업/시스템 프로그래밍] - [시스템 프로그래밍] Race Condition [시스템 프로그래밍] Race ConditionAssembly Programmer's View Programmer-Visible StatePC: Program CounterAddress of next instruction: 다음 명령의 주소값을 갖습니다.Called "RIP" (instruction pointer register in x86-64)Register File: 데이터가 있는 곳을 그냥 File이라hw-hk.tistory.com에서 봤었던 Assembly operations 이외의 명령어들은 다음과 같습니다. Address Com..
Simple Shell Example New problems with Simple shell Example 2024.09.28 - [학교 수업/시스템 프로그래밍] - [시스템 프로그래밍] Race Condition [시스템 프로그래밍] Race ConditionAssembly Programmer's View Programmer-Visible StatePC: Program CounterAddress of next instruction: 다음 명령의 주소값을 갖습니다.Called "RIP" (instruction pointer register in x86-64)Register File: 데이터가 있는 곳을 그냥 File이라hw-hk.tistory.com2024.09.24 - [학교 수업/시스템 프로그래밍] ..
XP in Practice The XP method itself is not widely used now, since extreme programming has a technical focus and is not easy to integrate with management practice in most organizations.XP방법론은 그것 자체로는 현재 많이 쓰이지 않습니다. XP는 기술적인 집중도를 갖고있으며, 대부분의 기업에서 이를 관리하며 통합하는 것이 쉽지 않기 때문입니다. However, XP practices are widely used in other development methods.User stories for spectificationRefactoringTest-first dev..
Agile Software Development Rapid Software Development(↔Plan-driven development) Rapid Software Development and delivery is now often the most important requirement for software systems.빠른 소프트웨어 개발과 배포는 최근 소프트웨어 시스템에서 가장 중요한 요구사항이 된다. Software must evolve quickly to reflect changing business needs. Plan-driven development, However, does not meet these business needs.소프트웨어는 빠르게 변화하는 사업 환경에 맞춰 진화해야..
Assembly Programmer's View Programmer-Visible StatePC: Program CounterAddress of next instruction: 다음 명령의 주소값을 갖습니다.Called "RIP" (instruction pointer register in x86-64)Register File: 데이터가 있는 곳을 그냥 File이라고 부릅니다. 그냥 Register공간입니다.Heavily used program data: 자주 사용하는 프로그램의 데이터가 있는 공간입니다.Condition Codes: CPU안에 있는 또 다른 메모리공간Store status information about most recent arithmetic operationUsed for condit..