본문 바로가기

반응형

전체 글

(126)
React.js, 스프링 부트(Spring boot), AWS로 배우는 웹 개발 101. - 김다정 지음- [에이콘] [책리뷰] 프론트엔드 서버 & 백엔드 서버 왜 이 책을 골랐는가 스프링의 원리를 제대로 공부하지 않고 스프링 부트를 공부하는 중이다. [스프링 부트를 공부하면서 의문점이 드는 순간에 원리에 접근해서 공부하고 있다. ] 시중에 나온 스프링 부트 책을 2~3권 정도 읽었는데 해당 책들 모두 기존의 스프링 프레임워크에서 진행한 서비스들과 비슷한 구조로 예제를 진행했다. [ 특정 서비스 도메인 선택 -> 도메인 모델 개발 -> JPA 활용 -> 서비스 & 컨트롤러 처리 -> View(타임리프 혹은 머스터치) 이후 옵션에 따라 컨테이너 배포 과정 추가 ] 마이크로 서비스 아키텍처의 관점으로 스프링 부트를 공부하고 있던 나에게 View를 반환하는 백엔드 애플리케이션을 개발하는 것은 큰 흥미가 생기지는 않았다. 나에게 필요했던..
행복에 걸려 비틀거리다(Stumbling on Happiness) [책리뷰] [대니얼 길버트] [7/7] 추천! Stumbling on Happiness 행복에 대한 공식은 없다! 개인이 주체적인 삶을 살게 된 현대. 마지막 저자의 후기에서 나오듯 현대의 인류는 두 세대 이전의 인류와는 정말 다른 삶을 살고 있다. 1800~1900년대만 하더라도 대부분의 인류는 자기가 살게 된 지역에서 평생을 살았다. 해당 지역에서 살고, 해당 지역에 거주하는 사람들과 인간관계를 맺고, 자신의 직업은 부모의 직업을 따르게 되었다. 많은 부분에서 삶의 주체적인 부분이 없었던 삶을 살았던 것이다. 현대의 인류는 엄청난 선택지를 고민하면서 살고 있다. 누구와 인간관계를 맺을지, 누구와 평생을 지낼지, 어떤 직업으로 살아갈 것인지, 어디에 거주하면서 살 것인지 등등의 거대한 선택들이 존재하고, 작게는 오늘은 어떤 시간을 보낼 것인지, 어..
JPA 퀵스타트 [6/7] -채규태 지음- [루비페이퍼] [JPA책 추천] [2022] Java Persistence API Quick Start. 채규태 저자님의 책은 안정적이고 꼼꼼하다. 스프링 부트 퀵스타트에서도 느낀 안정감을 해당 책을 읽었을 때에도 느낄 수 있었다. 꼼꼼한 예제와 혹시 모를 예외 상황에 대한 부가적인 설명과 가이드라인으로 친절한 안내가 담긴 책이다. [ 어디에서 실수가 자주 일어날 수 있는지를 어떻게 아시는지 궁금하다. ] JPA관련 책은 대표적으로 3권이 있다. - 김영한 저자님. (가장 유명한 책) - 최범균 저자님. - 채규태 저자님. 이렇게 세명이 쓴 책이 존재한다. 스프링 Data JPA 모듈에 대한 정보가 있으면서 최신에 나온 책이기에 해당 책을 골랐다. 책은 670페이지 정도... 예제가 많아서 페이지가 많다. 눈으로 이해할 수 있는 예제는 넘기는 식으..
운영체제 그리고 커널. [ 운영제체(OS) 면접질문 0 ] WHY 본격적인 운영체제 면접 질문으로 들어가기 전에 넘어가야 할 질문이다. 가장 기초적인 질문이어서 면접에서 물어보지 않을 수 있다. 갑자기 질문받으면 "이거다"싶은 대답이 떠오르지 않을 수도 있다. 간단하면 간단하게, 복잡하면 복잡하게 답변이 될 수 있는 질문. 이후의 살펴볼 OS와 관련된 질문들로 넘어가기 전에 운영체제의 정의와 목적을 이해한다면 이후의 지식들이 오래 기억될 것이다. 프로그램이 돌아가는 과정을 추상화하면 위의 그림과 같아진다. 사용자는 원하는 프로그램을 실행시키고, 프로그램은 자신이 사용해야 할 자원들에 대해서 운영체제에 사용 요청(시스템 호출)을 보낸다. 운영체제는 해당 시스템 호출을 확인하고 필요한 하드웨어에 접근해서 작업을 처리하고 응답한다. 운영체제는 사용자에게는 사용의 "편..
동기 비동기 블로킹과 논블로킹 2x2 매트릭스 [ 운영체제(OS) 면접질문8 ] WHY 운영체제에서 헷갈리는 질문 중 Top 5 중 하나가 아닐까 한다. 함수의 호출과 관련해서 프로세스의 자원(CPU)의 제어 관점과 함수의 "결과"의 관점으로 프로세스를 운영하는 정책과 관련된 질문이다. 자원 사용의 측면(블로킹, 논블로킹)과 함수 결과 관점(동기 비동기)으로 4가지의 매트릭스가 생성될 수 있다. 이번 내용을 정리하기 전에 비동기가 Non-blocking 아닌가?라고 생각했다. 해당 질문이 들어왔으면 고대로 면접관의 체크리스트에서 -점수가 기록되었을 답변으로 이어졌을 것 같다. Blocking을 프로세스의 "대기"상태와 관련지어서 이해하자. 컴퓨터 아키텍처를 살펴보면 CPU의 시간과 IO의 시간이 서로 다르게 흘러간다는 것을 알 수 있다. CPU의 시간은 IO시간보다 더 빠르고 바쁘게..
교착상태란 무엇인가. [ 운영체제(OS) 면접질문 7] WHY 이전에는 프로세스와 스레드. 멀티 프로세싱과 멀티 스레딩. CPU 스케줄링 기법들. 임계 영역과 상호 배제를 살펴보았다. 이번 질문은 위의 모든 과정을 이해해야 답변하기가 수월한 질문이다. 교착상태가 일어나기 위한 4가지 조건의 배경이 되기 때문! 해당 질문만으로 OS의 CPU 자원을 다루는 배경을 파악할 수 있어서 효율성이 높은 질문이다. 교착 상태의 원인, 조건, 해결방법 등을 살펴보면서 해당 질문에 깔끔한 답변을 할 수 있도록 준비해보자! 교착상태 (DeadLock) 프로세스는 자원을 사용하기 전에 "요청"을 하고 자원을 사용할 수 있는 경우에 자원을 "사용"한다. 해당 자원을 사용 완료했다면 다른 프로세스가 사용할 수 있도록 "방출"해야 한다. 요청, 사용, 방출의 단계를 통해 자원 경쟁을..
엘레강트 오브젝트 - 새로운 관점에서 바라본 객체지향 - [책후기][지앤선] 객체 존중 사고 우아한 객체지향 패러다임. 추천도 : 6/7. 객체지향적인 코드로 이해하는 객체지향. ★★★★★★☆ 읽은 기간 📅 : 2021년 12월 10일 ~ 2021년 12월 27일 이 책을 추천하는 이들 👨‍👧 중급 이상의 OOP 개발자들. OOP에 관심이 있는 사람들. 난이도 🦈 중. 객체지향의 개념을 이해하고 읽는 것을 권한다. 관련된 책들 📚 객체지향과 관련된 도서. 테스트 주도 개발. 클린 코드. 한 줄 평 ✍️ 나의 객체지향 사고는 객체지향적이지 않았다. 객체지향을 이해하는 것과 객체지향적인 코드를 짜는 것. 다른 객체지향 도서들을 읽으면서 나는 객체지향을 "이해"하는 선에서 머물고 있었다. 객체지향적인 코드를 작성한다는 것은 클래스의 특징과 객체의 특징을 잘 활용하는 것을 의미한다고 생..
임계구역을 보호하기 위한 기법 3가지[뮤텍스, 세마포어, 모니터] [ 운영체제(OS) 면접질문 6] WHY 면접 질문 5에서 경쟁 조건, 임계 구역, 임계 구역을 보호하기 위한 조건 3가지를 살펴보았다. 그중에서 가장 중요한 조건은 "상호 배제"로 임계 구역을 보호하기 위한 조건이었음을 알 수 있었다. 이번 질문에서는 상호배제를 위한 기법 3가지 뮤텍스, 세마포어, 모니터를 알고 있는지 물어보는 것이다. 세 가지 모두 동기화를 목적으로 한다는 공통점이 있으나 자원을 다루는 관점이 다르다. 각각의 특징들의 핵심을 잘 정리해서 답변하면 깔끔한 답변을 하도록 하자! 뮤텍스(Mutex) : "MUT"ual "EX"clusion [Object]. lock을 활용. 임계 영역(자원)에 하나의 작업 스레드만 허용하는 것이다. 이를 조율하기 위해서 임계 영역에 들어갈 수 있는 작업 스레드는 "lock"을 소유해야 해..

반응형