분류 전체보기

TIL/운영체제

운영체제와 브라우저는 우리의 클릭 이벤트를 어떻게 처리할까? (유저 모드, 커널 모드, 인터럽트, 시스템 콜)

솔직히 운영체제를 배울 때 가장 와닿지 않는 부분이었다.도대체 인터럽트가 언제 일어난다는거야? 본적도 없는데.난 시스템 콜 발생시켜본적도 없는데?우선 기본 개념을 작년에 들었던 운영체제 수업 필기를 참고해서 다시 정리해보았다.유저모드, 커널모드User mode제한된 명령어만 사용 가능.하드웨어 디바이스 접근 불가.OS가 아닌 나머지 프로그램은 유저모드에서 돌아간다. Kernel modeCPU에서 제공하는 모든 instruction 수행 가능.디바이스 레지스터를 포함한 모든 하드웨어 디바이스에 접근 가능.OS는 커널모드에서 돌아간다. → 이를 결정하는 것은 CPU이다. 인터럽트 (Interrupt)Interrupt (하드웨어 Interruption)시스템에서 발생한 다양한 종류의 이벤트 or 이벤트를 알..

알고리즘/자료구조

[JS] 해시 테이블 - 일반 객체 vs Map과 그 원리

Map(=연관 배열, 딕셔너리)이란?여기서 말하는 Map은 자바스크립트가 아닌 일반적인 ADT이다.키-값 형태로 저장되는 ADT.같은 키를 가지는 쌍은 최대 한 개만 존재한다. (같은 값은 여러 개 가능)해시 테이블 or 트리 로 구현할 수 있다.ADT(Abstract Data Type) = 추상 자료형구현 방법은 명시하지 않고, 특성과 작업들에 대해서만 설명하는 자료구조.규칙들의 나열. 해시 테이블이란?배열과 해시 함수를 사용하여 Map을 구현한 자료 구조이다.평균 O(1)의 시간복잡도를 가진다.해시 함수임의의 크기를 가지는 타입의 데이터를, 고정된 크기를 가지는 타입의 데이터로 변환하는 함수.해시 테이블의 해시 함수는 임의 데이터를 정수(해시값)로 변환한다.이 hash값을 유한한 해시 테이블에 저장하..

TIL/네트워크

실생활 이슈로 CS 알아보기 (1) - 침착맨과 트위치 코리아 철수 그리고 망 사용료

네트워크를 처음 배우다 보면 인터넷이 무엇이고, 어떻게 동작하는지 알게 된다.그리고 다 잊었다. 개발하는 데 필요 없다는 핑계를 대면서... 그러나 2024년 어느 날 트위치가 망 사용료 때문에 한국 사업을 철수했다는 사실을 침착맨 덕분에 알게 되었고, 이게 인터넷의 원리와 연결되어 있다는 사실은 최근에 와서야 알게 되었다. 네트워크란?여러 기기들이 데이터를 주고 받기 위해 유선 또는 무선으로 연결된 통신 체계LAN (Local Area Network)집과 같이 제한된 범위 내의 네트워크이더넷(Ethernet) - 유선통신와이파이(wireless LAN) - 무선통신WAN (Wide Area Network)여러 LAN이나 다른 종류의 네트워크들을 하나로 묶어서 멀리 떨어진 기기들도 통신이 가능하도록 만든..

개발일기

25년 2회 정처기 실기 응시 후기 🍀

총평24년 2회 필기를 합격하고, 이후 여러 일정들 때문에 실기 응시를 하지 않았다. 1년이 지난 오늘, 25년 2회에 응시했다.24년부터 이어진 경향성으로 25년 1회에는 코딩문제가 어렵게 출제되었으나, 미리 풀어봤을 때 암기에 약한 나는 오히려 약술형이 많고 코딩문제가 쉬운 2024 이전 회차들보다 더 높은 점수가 나왔었다. 이러한 최신 경향을 미리 알았다면 개념 공부에 더더더 힘을 뺐을 것 같다.어쨌든 이런 행운으로 가채점 결과 90점으로 합격 예상 !! 기본 지식과 준비 기간복수전공 수업을 다 들었기 때문에, 기본적인 CS는 준비가 되어있었으나...프론트엔드 개발을 하다 보니 Java에 대한 이해가 전혀 없었다. 또 필기 이후 이미 1년이 지났기 때문에 빨리 합격하고 싶어 공부 기간을 길게 잡았다..

TIL/JavaScript

렉시컬 환경, 렉시컬 스코프

2024. 01. 30 > 2025. 06. 30 블로그 A/S 프로젝트🚧 로 추가한 글입니다.설명을 추가하고, 오개념을 바로잡습니다.렉시컬 환경의 구성요소1. 환경 레코드(Environment Record)모든 지역 변수를 프로퍼티로 저장하고 있는 객체this 값과 같은 기타 정보도 여기에 저장1.1 객체 환경 레코드 (Object Environment Record)BindingObject 를 참조하고 있으며, 이 객체는 전역 객체를 참조한다.💡 전역 객체의 프로퍼티- var로 선언한 전역 변수- 내장 전역 객체들의 바인딩- 전역 스코프에서의 함수 선언문, 비동기 함수, 제너레이터, 비동기 제너레이터ObjectEnvironmentRecord = { [[BindingObject]]: 전역 객체 참조}..

TIL/JavaScript

실행 컨텍스트

2024. 01. 26 > 2025. 06. 23 블로그 A/S 프로젝트🚧 로 추가한 글입니다.예시를 다듬고, 오개념을 바로잡습니다. 실행 컨텍스트(execution context)란?어떤 소스코드가 실행되는 단위.함수에 있는 정보, 즉 렉시컬 환경(환경 레코드와 외부 렉시컬 환경에 대한 참조)을 참조!** 환경 레코드 - 식별자와 바인딩된 값이 실행 컨텍스트를 콜스택에 쌓아올린 후 실행하여 코드의 환경과 순서를 보장할 수 있게 된다.실행 컨텍스트는 언제 생성될까?하나의 실행 컨텍스트를 구성할 수 있는 소스코드의 종류는 다음과 같다. 이때 내부 코드는 포함하지 않는다. 그리고 평가 시점에 각각의 컨텍스트가 생성된다.전역함수eval() 함수모듈실행 컨텍스트와 콜스택, 렉시컬 환경var x = 1;cons..

TIL/React

리액트 StrictMode 때문에 useEffect가 두 번 호출돼서 로그인 에러가 나서 짜증나서 쓰는 글

리액트 개발자라면 누구나 한번쯤은 겪었을...StrictMode 때문에 useEffect가 두 번 호출되는 문제! 그냥 삭제하면 안되는걸까? StrictMode 공식문서공식문서를 보면서 정확히 어떤 일을 하는지 다시 알아보자. 1. 이중 렌더링리액트는 작성하는 모든 컴포넌트가 순수 함수라고 가정한다. 즉 컴포넌트를 두번씩 실행시켜서 같은 결과를 생성하는지 확인하는 것! 2. Effect 두 번 실행원래 useEffect의 셋업은 컴포넌트가 마운트 될 때 실행, 클린업은 언마운트될 때 실행된다. 그리고 의존성 배열에 있는 값이 변경되면 둘 다 다시 실행된다. 엄격모드에서는 이런 셋업+클린업 사이클을 한번 더 한다. 3. ref 콜백 두 번 실행ref콜백이 뭐지... ref는 그냥 객체 넘겨주는거 아님? ..

햄oOoOo
'분류 전체보기' 카테고리의 글 목록