[독서] 태도에 관하여 - 임경선
·
etc
31p. 제일 희망이 보이지 않는 것은, 이것도 싫고 저것도 싫다면서 지금 있는 자리에서 한 발자국도 움직이지 못하는 것. 새롭게 길을 선택해도 언젠가는 객관적인 평가와 만날 수 밖에 없는데, 그것이 두렵거나 싫다고 한다면, 자존심을 다치면서까지 현실을 직시하고 싶지는 않다면, 애초에 답이 없는 것이다. 166p. 젊을 때 성실하게 애쓰고 노력하는 것은 기초 체력 쌓기 훈련 같은 거라서 몸과 정신에 각인시킬 수 있을 때 해놓지 않으면 훗날 진짜로 노력해야 할 때 노력하지 못하거나 아예 노력하는 방법 자체를 모를 수 있다. 잘될지 잘되지 않을지 모르지만 젊은 시절 최선을 다해 노력했거나 몰두한 경험 없이 성장해버리면 ‘헐렁한 어른’이 되고, 만약 원하는 것을 이루지 못하였을 때 ‘이건 나의 최선이 아니었으..
요즘 드는 생각
·
etc
요즘 드는 생각평소 나는 개발자와 맞는 사람인가에 대한 의문을 가져왔다.내가 생각하는 개발자란, 필요에 의해서가 아닌 자의로 디깅하는 사람이라고 생각했다.코드가 돌아가는 원리 그 자체에 흥미를 가지고, 여러 오픈 소스를 뜯어보며 기여하는 것을 즐기는 그런 사람 말이다. 그런데 나는 그렇지 않았다.나의 관심은 사람과 서비스가 우선이었고, 개발은 이걸 직접 구현할 수 있는 능력을 갖추는 것이라 생각해왔다.물론 컴퓨터공학을 선택한 이유가 수학을 좋아하고 문제를 해결하는 것에 재미를 느꼈기 때문이기에 성향에 맞지않다곤 생각하지 않는다. 하지만 나는 그 동기가 있어야하는 사람이었다. 사람과 서비스이라는 동기.이런 동기나 문제 상황이 있어야 디깅하고 파고들어 문제를 해결해나가는 사람이었다.스스로 이런 태도가 개발자..
클라우드/시스템 아키텍처
·
cs study/아키텍처
대규모 서비스를 운영하거나 설계할 때 고려해야 할 핵심 요소로는 서버 확장 방식, 데이터베이스 가용성, 부하 분산, 캐시 전략 등이 있다. 이 글에서는 실무에서 자주 접하게 되는 클라우드 및 시스템 아키텍처 설계 방식을 정리한다. 🖥️ 서버확장방식서버 확장 방식은 크게 수직 확장(Vertical Scaling)과 수평 확장(Horizontal Scaling)으로 나뉜다.수직 확장(Vertical Scaling): 하나의 서버에 CPU나 RAM 등의 자원을 추가하여 성능을 높이는 방식이다.수평 확장(Horizontal Scaling): 서버 인스턴스를 여러 대로 늘려 트래픽을 분산시키는 방식이다.실무에서는 대부분 수평 확장을 적용한다. 이때 세션 상태를 서버가 들고 있으면 로드 밸런서가 올바른 서버로 요..
[운영체제] 인터럽트(Interrupt)
·
cs study/운영체제
🚨 인터럽트(Interrupt)란?시스템의 내부나 외부에서 예기치 못한 이벤트가 발생한 경우, 현재 CPU가 수행 중인 작업을 일시 중단하고 해당 이벤트를 먼저 처리하도록 신호를 보내는 메커니즘을 인터럽트라고 한다. 예를 들어, 키보드를 누르거나 네트워크 패킷이 도착했을 때 인터럽트를 통해 CPU에게 이를 알리는 것을 말한다. 인터럽트는 크게 '하드웨어 인터럽트'와 '소프트웨어 인터럽트'로 구분된다.구분하드웨어 인터럽트 (HW Interrupt)소프트웨어 인터럽트 (SW Interrupt)발생 원인외부 장치 (키보드, 마우스, 타이머 등)프로그램 내부 (시스템 콜, 예외 발생 등)예시디스크 I/O 완료, 타이머 알림 등int 0x80 호출, 0으로 나누기 등목적외부 이벤트 처리시스템 서비스 요청, 예외..
[네트워크] 쿠키(Cookie)와 세션(Session)
·
cs study/네트워크
📌 쿠키와 세션을 사용하는 이유 (with HTTP 특징)쿠키와 세션을 사용하는 이유를 알기 위해 우선 HTTP 프로토콜의 특징을 이해해보자HTTP의 대표적인 특징1. 무상태성 Stateless서버가 클라이언트의 상태를 저장하지 않는 것을 의미한다. 클라이언트로부터 첫번째 요청 이후 두번째 요청이 왔을 때, 서버는 첫번째 요청의 상태 정보를 알지 못한다. 즉, 로그인을 하였더라도 다음 요청에서 클라이언트가 누군지 알지 못하는 상황이 발생한다.2. 비연결성 Connectionless서버가 클라이언트의 요청에 대한 응답을 보낸 이후 바로 연결을 종료하는 것을 의미한다. 불필요한 연결을 하지않아 서버 자원을 효율적으로 사용할 수 있다는 장점이 있다. 위와 같은 HTTP 프로토콜의 특징으로 인해 각각의 htt..
[Spring] 객체지향을 위한 스프링의 노력 - IoC / DI / 컨테이너
·
backend/spring
* 김영한님의 '스프링 핵심 원리 - 기본편' 인프런 강의 수강 후 복습을 위해 작성한 글입니다. 작성자의 이해에 따라 쉽게 풀어쓰거나 재구성 될 수 있습니다. 1️⃣ 스프링이란?스프링은 자바 언어 기반의 프레임워크로, 자바의 가장 큰 특징인 객체 지향을 살려 좋은 객체 지향적 애플리케이션을 개발할 수 있도록 돕는 도구이다. 스프링은 이러한 객체 지향 프로그래밍을 위한 노력으로, 다음과 같은 핵심원리를 도입하였다.IoC (Inversion of Control, 제어의 역전)DI (Dependency Injection, 의존성 주입)컨테이너이번 글에서는 각 핵심 원리에 대해 살펴보며, 스프링은 이러한 개념들을 통해 어떻게 객체 지향 프로그래밍을 하고자 하였는지 이해해보자. 2️⃣ 객체 지향 프로그래밍..