Computer Science 9

CPU 아키텍처와 AP(Application Processor)

1. 캐시 메모리의 개념과 종류, 역할 캐시 메모리는 CPU와 주기억장치 간의 속도 차이로 인한 성능 저하를 막기 위해 사용되는 메모리입니다. CPU가 필요로 하는 데이터가 레지스터에 없는 경우, 주기억장치로부터 데이터를 읽어오기 위해 상당히 긴 시간을 기다려야 합니다. 캐시 메모리는 이러한 데이터 접근 시간을 줄여 속도를 향상시킵니다. 캐시 메모리는 속도와 용량에 따라 L1, L2, L3 캐시 등으로 분류되며, 숫자가 작을수록 용량이 작고 빠르며, 숫자가 클수록 용량이 크고 느립니다. CPU에 가까울수록 상위 레벨 캐시로 취급하며, 최하위 레벨 캐시의 경우 마지막 레벨을 의미하는 LLC(Last Level Cache)라고도 부릅니다. 2. CPU 아키텍처의 종류와 특징 - ARM과 x86 CPU 아키텍..

Computer Science 2024.03.27

PNG와 JPEG의 차이점

PNG(Portable Network Graphics) PNG(Portable Network Graphics) 파일은 래스터 이미지 파일의 일종입니다. 투명 또는 반투명 배경의 그래픽을 처리할 수 있어 웹 디자이너에게 특히 인기 있는 파일 유형입니다. 이 파일 포맷은 특허가 없으므로 라이선스 없이도 이미지 편집 소프트웨어를 사용하여 파일을 열 수 있습니다. PNG 파일의 장단점 PNG 파일의 장점 - PNG 파일은 수백 개가 아닌 수백만 개의 색상 옵션을 처리하므로 GIF보다 훨씬 더 디테일한 이미지를 저장할 수 있습니다. - PNG는 개방형 포맷입니다. 라이선스 없이도 다양한 프로그램에서 열고 편집할 수 있습니다. - PNG 이미지는 압축해도 데이터가 손실되지 않으며, 저장과 전송이 매우 간단합니다...

Computer Science 2023.05.03

메모리 관리와 가상메모리

메모리 관리(memory management) - 컴퓨터 메모리에 적용된 리소스 관리의 일종 - 프로그램의 요청이 있을 때 메모리의 일부를 해당 프로그램에 할당하고, 더 이상 필요하지 않을 때는 다시 사용할 수 있도록 할당을 해제하는 것 - 가상 메모리 시스템은 프로세스가 사용하는 메모리 주소를 실제 물리 주소와 구분한다. 이로써 프로세스를 구분하고 디스크 스왑 처리를 사용하여 효과적으로 사용할 수 있는 RAM의 양을 늘릴 수 있게 된다. 가상 메모리 관리자의 품질은 전반적인 시스템 성능에 큰 영향을 미친다. - 쓰레기 수집(garbage collection)은 프로그램을 위한 컴퓨터 메모리 리소스를 자동으로 할당하고 할당을 해제한다. 프로그래밍 언어 수준에서 일반적으로 추가되어 있는 것이며, 수동 메모..

Computer Science 2023.05.03

[Networking] URI 설계 패턴 - 예상국 강사님

지식 출처: 패스트 캠퍼스(https://fastcampus.co.kr/dev_online_javaend) URI 설계 패턴 (1) URI (Uniform Resource Identifier) - 인터넷에서 특정 자원을 나타내는 주소 값. 해당 값은 유일하다. (응답은 달라질 수 있다) - 요청: https://www.fastcampus.co.kr/resource/sample/1 - 응답: fastcampus.pdf, fastcampus.docx (2) URL (Uniform Resource Locator) - 인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별하는 주소 - 요청: https://www.fastcampus.co.kr/fastcampus.pdf - URL은 URI의 하위 개념 URI..

Computer Science 2021.08.13

[Networking] REST API - 예상국 강사님

지식 출처: 패스트 캠퍼스(https://fastcampus.co.kr/dev_online_javaend) REST(Representational State Transfer: 자원의 상태 전달) - 네트워크 아키텍처 1. Client, Server: 클라이언트와 서버가 서로 독립적으로 분리되어 있어야 한다. 2. Stateless: 요청에 대해서 클라이언트의 상태를 서버에 저장하지 않는다. 3. Cache: 클라이언트는 서버의 응답을 Cache(임시저장)할 수 있어야 한다. 클라이언트가 Cache를 통해서 응답을 재사용할 수 있어야 하며, 이를 통해서 서버의 부하를 낮춘다. 4. 계층화(Layered System): 서버와 클라이언트 사이에, 방화벽, 게이트웨이, Proxy 등 다양한 계층 형태로 구성이..

Computer Science 2021.08.12

[Networking] 인프런 - 모든 개발자를 위한 HTTP 웹 기본 지식 수강 후기

네트워크 관련 기반 지식이 너무 부족하다고 느끼던 찰나에... 함께 문과쪽에 있다가 개발쪽으로 넘어 온 친구에게 이 강의를 추천 받게 되었습니다...! 말 그대로 '모든 개발자를 위한 HTTP 웹 기본 지식'을 담고 있는 강의입니다! 이 강의의 강사님은 현재 우리나라에서 가장 핫한 IT 기업 중 하나인 배달의 민족 개발팀장님이신 김영한 강사님이십니다(와우...)! 프로그래밍 관련 강의를 무료든, 유료든 많이 수강을 하는 편인데, 확실히 프로그래밍 강의는 현직 개발자 분들께서 올려주시는 강의가 좋다고 생각을 합니다! 현장에서의 경험이 굉장히 중요하기 때문이지요! 암튼! HTTP 웹 기본 지식 강의를 들으면서 지난 1년 간 날려보냈던 수많은 포스트맨 요청과 수많은 네트워킹 코드들이 어떤 식으로 서버와 의사소..

Computer Science 2021.05.02

[Swift] KxCoding - Mastering RxSwift 강의 수강 후기

안녕하세요! 강의 완강한 것 자랑하러 왔습니다! KxCoding이라는 사이트에서 제공하는 Mastering RxSwift 강의를 드디어 완강했습니다! 구매 자체는 작년에 했지만, 최근에 본격적으로 현재 회사에서 담당하고 있는 프로젝트에 RxSwift를 사용하기로 마음먹게 되었습니다... 본디 인간은 닥쳐야 노력을 하기 마련이지요...ㅋㅋ 나도 RxSwift 잘하는 개발자가 되고 싶다! 라는 마음으로 지난달 중순부터 아침 6시에 일어나 출근하기 전까지 열심히 들어서 오늘 완강했습니다! 완강을 하고 나면 이렇게 수료증도 줍니다!ㅋㅋ RxSwift를 처음 공부할 때 깃허브를 비롯해서 여러 블로그 글들을 보면서 돌아다녔는데, 언제나 마음속에 '과연 이것이 국룰일까?'라는 의심을 하다 보니 뭔가 흡수가 잘 안됐습..

Computer Science 2021.03.04

[Design Pattern] iOS에서의 MVVM(MVVM in iOS) - 이준원 강사님

* 이 내용은 제가 패스캠퍼스에서 이준원 강사(개발자이시기도 합니다!)님께서 진행하신 iOS 강의를 보고 공부하기 위해 만든 자료입니다. 이준원 강사님의 강의를 수강하고 싶으시다면 이 링크(www.fastcampus.co.kr/dev_online_iosapp)로 방문해 보세요! (당연한 얘기이지만 절대 광고 아닙니다!) 개발을 더 쉽게, 더 편하고 유지 가능하게 하고자 여러 디자인 패턴들이 등장하게 되는데, 그 중 MVVM 패턴에 대한 설명입니다. 본격적으로 MVVM을 설명하기 이전에 MVC에 대한 설명이 있어야겠지요? 이 글을 검색해서 보실 분들이라면 이미 MVC가 Model View Controller를 의미한다는 것을 알고 계실 것입니다. MVC에서는 뷰 컨트롤러가 모델과 뷰를 모두 소유하고 있습니..

Computer Science 2021.01.31

[iOS] iOS에서의 네트워크(Networking in iOS) - 이준원 강사님

* 이 내용은 제가 패스캠퍼스에서 이준원 강사님께서 진행하신 iOS 강의를 보고 공부하기 위해 만든 자료입니다. 이준원 강사님의 강의를 수강하고 싶으시다면 이 링크(www.fastcampus.co.kr/dev_online_iosapp)로 방문해 보세요(당연히 광고 아닙니다!). 네트워킹이란 서버와 앱 간의 데이터를 주고 받는 것을 말합니다. 이 때 보통 HTTP라는 방법을 통해 대화를 하게 됩니다. HTTP라는 약속을 통해서 REST한 방식으로 JSON 데이터를 주고받는다고 생각하시면 됩니다. HTTP란 통신규약으로서 서버와 모바일(클라이언트) 사이에서 어떻게 메세지를 주고 받을까에 대한 규칙입니다. 1. POST - 올려주는 것 2. GET - 데이터를 받아오는 것 3. PUT - 올려진 데이터를 바꾸..

Computer Science 2021.01.21