혼자 공부하는 컴퓨터구조 & 운영체제 - 교착 상태
식사하는 철학자 문제 dining philosophers problem 철학자 : 프로세스 포크 : 자원 생각 : 자원을 기다리며 포크를 든 채 대기 포크를 양손에 들고 있어야만 식사가 가능하다. 일정 시간 생각을 한다. 왼쪽 포크가 사용 가능해질 때까지 대기한다. 만약 사용 가능하다면 집어든다. 오른쪽 포크가 사...
식사하는 철학자 문제 dining philosophers problem 철학자 : 프로세스 포크 : 자원 생각 : 자원을 기다리며 포크를 든 채 대기 포크를 양손에 들고 있어야만 식사가 가능하다. 일정 시간 생각을 한다. 왼쪽 포크가 사용 가능해질 때까지 대기한다. 만약 사용 가능하다면 집어든다. 오른쪽 포크가 사...
서론 채용 시장에 진입한지 1주일 차, 첫코딩 테스트를 치뤘다. 이메일로 응시 링크가 전달왔고, HackerRank 라는 플랫폼에서 영문으로 응시하는 테스트였다. 처음 응시해보는 코딩테스트이니 너무 겁먹지 않고 응시 해보려고 노력했다. HackerRank 사이트를 둘러보는데 요즘 보는 드라마 The Office 회사가 Job Board 에 ...
응답시간 줄이기 캐시 캐시란, 값비싼 연산 결과 또는 자주 참조되는 데이터를 메모리 안에 두고, 뒤 이은 요청이 보다 빨리 처리될 수 있도록 하는 저장소이다. 앱의 성능은 통상 DB를 얼마나 자주 호출하느냐에 크기 좌우되는데, 캐시를 사용하면 그런 문제를 크게 완화할 수 있다.(아래 동영상을 보면 캐싱 모듈 적용 전후로 21ms 에서 3ms ...
Hibernate와 JPA의 차이 JPA (Jakarta Persistence API) JPA는 Java의 표준 ORM (Object-Relational Mapping) 명세입니다. 이는 객체와 관계형 데이터베이스 테이블 간의 매핑을 쉽게 해주는 규칙과 API를 제공합니다. JPA는 Java의 표준 ORM (Object-Relational Mappi...
이번 장에서는 규모 확장성과 관련된 설계 지식을 알 수 있다. 단일 서버 천 리 길도 한 걸음 부터 웹앱, DB, 캐시 등이 전부 서버 한 대에서 실행 된다. 웹 모바일 트래픽 서버 / 데이터베이스 서버 분리 사용자가 늘면 서버 하나로는 충분하지 않아서 여러 서버를 두어야한다. 웹 계층과 데이터 계층을 분리하면 그 각각을 독립적으...
쿠버네티스 클러스터 생성 GKE 명령어 강의 명령어 전체 목록 Kubectl Kubernates Controller (쿠버네티스 컨트롤러) kubectl kubectl version Deploy kubectl create deployment hello-world-res...
Documentation Open API 와 Swagger springdoc-openapi-starter-webmvc-ui 패키지를 사용한다. Content Negotiation(콘텐츠 협상) Jacksons를 사용한다. 헤더로 요청시 원하는 방식으로 응답해 줄 수 있다. XML 과 JSON 중 뭘 받을지 고를 수 있다. Acc...
Spring Boot Starter Web Spring Boot Starter Web이 자동 설정(Auto-Configuration)을 처음에 잘 설정 해준다. 디스패처 서블릿 자동설정, 자바 클래스를 자동으로 JSON으로 바꿔주기, Error 페이지 자동 매핑 프론트 컨트롤러 Spring MVC에서 모든 요청은 디스패처 서블릿이 처리합니...
준비 Spring Initializr Maven 빌드 툴 자바 버전 자바 17 이상 Spring Web REST API 어노테이션 제공 Apache Tomcat 웹 앱 컨테이너를 제공한다. (서...
🤔 Problem 최근 프로그래머스와 백준에서 알고리즘 풀이를 시작했다. java와 sql 을 주로 풀고 있는데, 채용담당자 분들이 내 저장소를 봤을 때 어느 언어를 많이 연습했는지 한 눈에 잘 보이면 좋겠다는 생각이 들었다. 그래서 파일의 확장자를 정규표현식으로 검색하고, 저장소 대문인 README.md 에 퍼센티지로 나타내기로 했다. htt...