구버전
-
[Careerthon] MVC, MVP, MVVM 패턴구버전/CS Study 2023. 11. 8. 13:06
개요 디자인패턴이란? MVC패턴 MVP패턴 MVVM패턴 MVC패턴과 MVVM의 차이 디자인패턴 디자인 패턴은 올바른 설계를 빠르게 만들 수 있도록 도와주는 문제해결방법으로 같은 실수를 반복하지 않기 위해서 특정 상황에서 발생하는 문제 패턴을 발견하고 해결방안을 기록해둔 것입니다. 건축학에서 비롯된 이 개념은 소프트웨어를 구축한다는 면에서 동일하게 적용되어 개발자들이 사용하고 있습니다. 라이브러리나 프레임워크가 도와주지 못하는 애플리케이션의 구조를 만드는 데 많은 도움을 주는 것이 바로 디자인패턴입니다. 장점 서로 같은 패턴을 알고 의사소통을 하면 훨씬 효율적이다 다른 개발자나 팀과 소통이 필요한 경우 패턴을 알고 있다면 패턴에 담겨있는 내용과 특성 등에 대해 쉽게 얘기할 수 있다. 내가 생각하고 있는 디..
-
[Careerthon] 페이징과 세그멘테이션구버전/CS Study 2023. 11. 7. 15:57
개요 왜 알아야하는가? 사전지식 페이징 세그멘테이션 왜 알아야하는가? 어떠한 프로그램을 실행했을 때 컴퓨터에서는 메모리 공간에 프로그램을 연속적으로 할당을 하게 되는데 이때 프로그램의 할당과 해제가 반복되면서 메모리 공간이 조각조각 나뉘어 총 메모리가 충분함에도 메모리 할당이 불가능하게 되는 상태가 되는데 이러한 현상을 메모리 단편화라고 한다. 이러한 메모리 단편화를 막는 기법으로 페이징과 세그멘테이션이 있다. 사전지식 메모리관리기법에 대한 내용과 가상메모리에 대한 개념을 알 필요가 있다 연속메모리기법과 불연속메모리기법 페이징 프로세스를 일정한 크기의 페이지로 분할에서 메모리에 적재하는 방식이다. 메모리 공간이 연속적이어야 한다는 제약을 없애는 메모리 관리 방법이다. 우측의 이미지를 통해서 PMT(Pag..
-
[Careerthon] 메모리구버전/CS Study 2023. 11. 7. 15:28
개요 메모리계층 웹캐시 가상 메모리 메모리 할당 메모리계층 메모리계층을 알아야 하는 이유는? - 경제성 : 메모리는 레지스터로 갈수록 속도는 빨라지지만 용량이 적어지는 특성이 있고 디스크로 갈수록 반대의 특징을 보인다. 이러한 계층을 통해서 어떻게 효율적으로 메모리를 관리할 것인지를 알 수 있다. - 동작원리 : CPU 내부의 레지스터에서 하드디스크까지 메모리의 계층이 나뉘어져 있는데 운영체제는 이를 어떻게 활용하는지를 알 수 있게 된다. - 프로그램의 실행속도를 어떻게 올릴 수 있는가는 이러한 RAM과 CPU의 소통이 얼마나 빠르냐가 영향을 미치므로 RAM과 CPU는 어떻게 소통하는지를 통해서 이를 파악 할 수 있다. 메모리 계층구조 메모리계층 특징 메모리 계층은 레지스터, 캐시( L1, L2, L3 ..
-
[Careerthon] 운영 체제 및 컴퓨터의 구조구버전/CS Study 2023. 11. 6. 14:19
개요 알아야하는 이유 컴퓨터의 구조 운영체제 컴퓨터 구조를 알아야 하는 이유 개발자는 코드만 잘 짜면 되는 것 아닌가??? => 아니다 이자식아 언어의 문법 및 기술스택을 늘리는 것 뿐만아니라 컴퓨터의 근간을 알아야 한다. 왜? 알게된다면 문제 해결 능력과 성능, 용량, 비용을 고려한 프로그래밍이 가능해진다. 문제해결능력 분명 동일한 코드를 작성을 했는데도 불구하고 실행이 되지않는 사람도 있다. 그럼 뭐가 문제일까? 개발환경에서 문제가 없었는데 사용자의 환경(컴퓨터환경)에서 문제가 발생하는 경우가 있을 수 있다. 이럴 때에는 문법만을 알고 있는경우에는 해법을 찾지 못한다. 하지만 운영체제를 알고 있다면 좀 다른 부분에서 문제에 대한 고민을 할 수있다. 내가 입력한 코드 외에 여러방면에서 문제를 해결할 수..