본문 바로가기
반응형

분류 전체보기91

[운영체제] 메모리 관리 메모리 관리는 컴퓨터 시스템에 있어서 매우 중요합니다. 왜냐하면 CPU가 작업을 하는 곳이 메모리이기 때문입니다. 이 메모리를 어떻게 관리하느냐가 결국 컴퓨터 성능에 막대한 영향을 미치게 됩니다. 이번에는 메모리 관리의 복잡성과 메모리 관리자의 역할을 알아보려고 합니다. 메모리 관리의 복잡성 CPU는 메모리에 있는 내용을 가져오거나 결과를 저장할 때 메모리 주소 레지스터(MAR)를 사용합니다. 메모리 주소 레지스터(MAR)에 필요한 메모리 주소를 넣으면 데이터를 메모리에서 가져오거나 옮길 수 있습니다. 폰 노이만 구조의 컴퓨터의 메모리는 유일한 작업 공간이며 메모리에 올라와야 실행이 가능합니다. 과거, 일괄 처리 시스템에서는 한 번에 한 가지 작업만 처리했기 때문에 메모리 관리가 어렵지 않았습니다. 하지.. 2021. 10. 19.
[알고리즘 / Kotlin] 프로그래머스 - (10주차)교점에 별 만들기 교점에 별 만들기 문제 설명 Ax + By + C = 0으로 표현할 수 있는 n개의 직선이 주어질 때, 이 직선의 교점 중 정수 좌표에 별을 그리려 합니다. 예를 들어, 다음과 같은 직선 5개를 2x - y + 4 = 0 -2x - y + 4 = 0 -y + 1 = 0 5x - 8y - 12 = 0 5x + 8y + 12 = 0 좌표 평면 위에 그리면 아래 그림과 같습니다. 이때, 모든 교점의 좌표는 (4, 1), (4, -4), (-4, -4), (-4, 1), (0, 4), (1.5, 1.0), (2.1, -0.19), (0, -1.5), (-2.1, -0.19), (-1.5, 1.0)입니다. 이 중 정수로만 표현되는 좌표는 (4, 1), (4, -4), (-4, -4), (-4, 1), (0, 4).. 2021. 10. 17.
[Android] Splash 화면 구현하기 (by Kotlin) Splash 화면이란? 앱을 실행할 때 보여주는 시작화면을 말합니다. 짧게는 1초에서 길게는 5초까지 보여줍니다. 보통 앱 실행 시 앱의 정체성을 보여주거나 필요한 데이터를 로딩하기 위해 사용합니다. 하지만 의도적으로 앱 실행을 지연시키거나 작업을 처리하는 용도로 사용하는 것은 지양합니다. Android에서 Splash 화면 구현하기 일반적인 Activity를 구현하는 방식으로 Splash 화면을 구현할 수 있습니다. 하지만 layout.xml 부르게 된다면 오히려 Splash 화면에서 시간과 리소스가 낭비되기 때문에 여기서는 좀 더 효율적인 방법으로 만들어 보겠습니다. 우선 Splash 화면의 배경으로 사용할 xml을 만들어 줍니다. background_splash.xml themes.xml에 styl.. 2021. 10. 13.
[운영체제] 교착상태(Dead Lock, 데드락)이란? 그 해결 방법은? 💎 데드락(Dead lock, 교착 상태)이란? 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태 보통 한정된 시스템 자원을 여러 곳에서 동시에 사용하려고 할 때 발생합니다. 쉽게 예를 들면 목수 A와 B가 있는데 A는 망치를 독점한 채 못을 달라고 하고 B는 못을 독점한 채 망치를 달라고 하는 상황에서 두 목수가 양보하지 않는다면 작업이 진행되지 않는데 이러한 상황을 교착 상태라고 합니다. 시스템 자원 공유 변수 응용 프로그램 위의 3가지를 사용할 때 교착 상태가 발생할 수 있습니다. 💎 Dead lock 필요조건 교착 생태가 발생하기 위해서는 아래의 4개의 조건을 충족시켜야 발생합니다. 상호 배제 : 한 프로세스가 사용하는 자원은 다른 프로세스와 공.. 2021. 10. 9.
[Spring] REST API 리턴 시 원하는 JSON 데이터 반환하기 API를 만들다가 응답 값으로 내가 원하는 데이터만 뽑아서 원하는 JSON 데이터로 반환을 해야 했는데 처음에는 헤매다가 여기저기 찾아서 해결을 했습니다. 제가 한 방법보다 더 좋은 방법이 있을 것 같은 느낌이 들지만 한 번 정리해보겠습니다. (피드백은 언제나 환영합니다.) 예를 들어 2개의 모델이 있다고 가정합니다. (DB엔진은 PostgreSQL) User.java @Data @Entity @Table(name="User", schema = "default$default") public class User { @Id String id; Integer year; String name; Date createdAt; } Job.java @Data @Entity @Table(name="Job", schema.. 2021. 10. 8.
[Spring] Repository와 Service 구현하기 이번에는 단순한 API를 만드는 것이 아닌 기기별 업데이트 버전을 관리할 수 있는 기능을 작업하게 되었습니다. DB를 새롭게 생성하고 필요한 Service와 Repository를 만들면서 추가적으로 공부했던 내용을 정리하려고 합니다. 기본적으로 Spring MVC에서 Repository와 Service의 역할은 다음과 같습니다. Repository : DB에 접근하는 모든 코드들이 모여있습니다. (쿼리문들) Service : 비즈니스 로직과 관련된 모든 코드가 모여있습니다. Model 생성 Serivce와 Repository에서 사용할 모델을 미리 만들어줍니다. 모델은 여타 다른 프레임워크와 비슷한 구조를 갖고 있었습니다. @Data @Entity @Table(name="User", schema = "d.. 2021. 10. 6.
반응형

loading