본문 바로가기

분류 전체보기204

[독후감 23년-27] 페인트 독서기간_2023년 9월 21일 2시간 컷 저자_이희영 출간일_2019년 11월 29일 최종면접 후 계속 퍼져만 있어서 책을 읽었다. 왜 청소년 권장 도서냐 묻는다면... 소프티어 부트캠프 이후 책 읽는 습관이 무너졌기 때문이다. 그리고 도서관 추천도서여서 홀린 듯 빌렸다. 굉장히 오랜만에 책을 완권했다. 8월에 김초엽 작가의 지구끝의 온실(이것도 포스팅 아직 안 올림..)을 마지막으로 몇 권의 책을 초반 조금 읽다가 포기했었다. 하지만 쉬운 길부터 차차 올라가면 된다. 책을 읽는 2시간 동안 정말 고요했다. TV소리도 유튜브 소리도 없고, 날씨도 쌀쌀해져 창문에서 들리는 풀벌레 소리도 없었다. 책도 술술 읽히고 그 시간이 재밌었다. 다시...! 정신 차리자...! 처음에 페인트가 무슨 의미인가 궁금했다.. 2023. 10. 12.
Adapter Pattern은 무엇인가 현실 세계의 어댑터를 생각하면 Adapter Pattern을 이해하기 쉽다. USB-A와 USB-C를 연결해야 한다면 불가능하지만 어댑터를 사용하면 가능한 것처럼! 불완전한 서로를 어댑터로 전환시켜 주는 것이다. 이 디자인 패턴에선 어떤 타입을 기대하는 Class(Client)를 가지고 있고, 같은 기능이지만 다른 인터페이스로 노출되어 있 는 객체(Adaptee)를 가지고 있을 때 사용된다. 그니까! 정리하면 어댑터 패턴은 클래스의 인터페이스를 서버가 기대하는 다른 인터페이스로 변환시켜주는 디자인 패턴이다. Target 인터페이스(어댑터 아님)를 상속하는 어댑터가 구현되어 있다. 어댑터는 모든 요청을 Adaptee에게 위임한다. // Java implementation of Adapter pattern .. 2023. 9. 13.
Nginx 넌 도대체 뭐니 https://www.youtube.com/watch?v=6FAwAXXj5N0&ab_channel=우아한테크 해당 영상을 보고 정리한 내용입니다. 정말 설명을 잘하시니 한번씩 보시는 거 추천!! Nginx?백엔드 개발을 하다보면 들어봤을 법 한 단어이다. 왜 쓰이는지 어떻게 쓰는지 모르면서 사용하다가 이번에 확실하게 정리해본다. 웹서버이자 로드밸런서이자 *SSL 터미네이션이자 캐시이자 HSTS, CORS 처리, TCP/UDP 커넥션 분산 등등등… 만능열쇠🔑 더보기SSL 터미네이션 웹서버-클라이언트는 https, 웹서버-서버는 http 통신하드웨어 가속기라고도 한다. 년도에 따라서 웹서버가 발전한 내용을 알아보자.1995년이전까지는 NCSA HTTPd(유닉스 기반 최초의 웹서버)라는 웹서버 사용 → 버그가.. 2023. 9. 12.
[네트워크] 프록시와 로드밸런싱 Proxy Proxy의 사전적인 의미는 위임장, 대리인 클라이언트와 서버 사이에 중계를 하는 역할 패킷 필터링, 캐싱, 보안, 우회 등의 이유로 사용된다. 프록시 서버는 거쳐가는 요청과 응답을 확인할 수 있다 Forward Proxy 클라이언트와 가까운 프록시 클라이언트가 요청을 보내면 직접 요청하는 것이 아니라 프록시 서버를 거쳐 요청을 보내게 됨 대부분 캐싱 기능이 있음 얻다 쓰나요? 정부, 학교 등 접속을 제한해야 하는 곳 (음란물, 도박 사이트 등등) 클라이언트의 정보를 숨겨야 할 때 ip를 우회할 수 있음(클라이언트 익명성) 클라이언트 단의 캐싱 Reverse Proxy 서버와 가까운 프록시 반대로 서버에서 직접 반환하는 게 아닌 프록시를 거쳐 응답을 보냄 cloudfare, akamai, CD.. 2023. 9. 11.
[Java] Thread 클래스와 ThreadPoolExecutor 클래스 단순 Thread 클래스를 사용하게 되면? 자바8 기준 사용자 레벨 스레드를 사용하지 않음 JVM을 통해 OS의 시스템콜을 호출하여 커널 스레드를 1:1로 할당 받음 ⇒ 스레드 생성 비용이 너무 크다!!!!!!!!!!!!!!!!!!!!! (스레드 맵핑과 관련한 글은 아래 글에서 확인하실 수 있습니다.) 2023.09.10 - [컴퓨터공학/운영체제] - [운영체제?] 스레드의 종류(하드웨어스레드, 커널레벨스레드, 유저레벨스레드) 헉! 그럼 자바에서 스레드를 사용하면 비효율적이네요! 하지만 당근빠따루 스레드풀을 사용할 수 있음 concurrent 패키지의 ThreadPoolExecutor 클래스로 사용 ⚠️ Executors.newFixedThreadPool(100)로 생성 시 작업 큐 사이즈가 Intege.. 2023. 9. 10.
[운영체제?] 스레드의 종류(하드웨어스레드, 커널레벨스레드, 유저레벨스레드) 하드웨어 스레드 일단은 우리가 알고 있는 스레드 개념은 잊자 코어의 고민 : 메모리에서 데이터를 기다리는 시간이 오래 걸려… 메모리를 기다리는 동안 다른 스레드를 실행하는 건 어떨까? 메모리에 접근하는 과정 중간중간 다른 연산을 처리하자 (코어 사용률 극대화) 인텔의 hyper-threading : 물리적인 코어마다 하드웨어 스레드가 두 개 OS 관점에서 가상의 코어 ex) 싱글 코어 CPU에 하드웨어 스레드가 두 개 라면 OS는 CPU를 듀얼 코어로 인식 소프트웨어 스레드 커널 레벨 스레드 CPU에서 실제로 실행되는 단위, CPU 스케쥴링의 단위 OS 쓰레드의 컨텍스트 스위칭은 커널이 개입하기 때문에 비용이 발생 또는 OS 커널의 역할을 수행하는, 커널 코드를 실제 실행하는 쓰레드 유저 레벨 스레드 쓰.. 2023. 9. 10.
(나만) 헷갈리는 용어 모음 보호되어 있는 글 입니다. 2023. 9. 9.
[운영체제] 커널 영역 커널 OS엔 유저모드와 커널모드가 존재!!!! 프로그램 실행 중 인터럽트가 발생하거나 시스템콜을 호출하게 되면 커널 모드로 전환된다. 헉 커널이 핵심이란 뜻이다. 처음 알았다. 그만큼 운영체제에서 커널이 중요하다는 뜻이다!!!!!! 시스템 전반을 관리/감독하는 역할 하드웨어와 관련된 작업을 직접 수행 커널 모드 프로그램의 현재 cpu 상태를 저장함 커널이 인터럽트, 시스템콜 직접 처리 → 처리 완료되면 중단됐던 프로그램의 cpu 상태를 복원 왜 필요하죠? 시스템 보호하기 위해 OS event OS 이벤트엔 세 종류가 있다. (사실 더 크게 보면 두 종류이다) 인터럽트 보통 하드웨어에 의해 발생, 소프트웨어도 발생 가능 (원문 : Trigger the processor to execute the corre.. 2023. 9. 9.