티스토리

검색하기내 프로필

블로그 홈

grace's dev_note

구독자
1

기술 및 회고 블로그

구독하기 방명록
신고

인기글

  • [PostgreSQL] psql 쉘에서 쿼리 작성하기공감수1댓글수0조회 12
  • [Nest.js] 태스크 스케줄링공감수0댓글수0조회 6
  • [Vue3] Dynamic component공감수0댓글수0조회 4

주요 글 목록

  • 실행 컨텍스트(Execution Context) 완벽 이해글 내용

    자바스크립트를 조금 깊게 공부하다 보면“실행 컨텍스트(Execution Context)” 라는 용어가 꼭 등장합니다.이 개념은 스코프(Scope), 클로저(Closure), this 바인딩 같은자바스크립트의 핵심 원리를 이해하기 위한 기초 중의 기초예요.💡 실행 컨텍스트란?“자바스크립트 코드가 실행되는 환경”조금 더 구체적으로 말하자면,자바스크립트 엔진이 코드를 실행할 때변수, 함수, this, 스코프 정보 등을 관리하기 위한 객체입니다.즉, 어떤 코드가 “어디서, 어떤 환경에서, 어떤 변수들을 가지고 실행되는가”를 결정하는 일종의 실행 박스라고 보면 됩니다.⚙️ 실행 컨텍스트의 종류종류설명전역 컨텍스트 (Global Context)코드가 처음 실행될 때 단 한 번 생성. 전역 변수, 함수 선언이 등록..

    좋아요0
    댓글0작성시간2025. 10. 18.
  • 브라우저 렌더링 최적화: Reflow와 Repaint 완벽 이해글 내용

    웹 성능을 이야기할 때 꼭 등장하는 단어가 있습니다.바로 Reflow(리플로우) 와 Repaint(리페인트) 입니다.이 두 개념은 브라우저가 화면을 그리는 과정의 핵심이며,렌더링 성능 최적화의 출발점이기도 합니다.🧱 Reflow란? (Layout 단계)Reflow는 브라우저가 요소의 크기나 위치를 다시 계산하는 과정이에요.즉, DOM 구조나 CSS 속성 중 레이아웃에 영향을 주는 변화가 있을 때 발생합니다.예를 들어, 다음과 같은 상황이 Reflow를 유발합니다:요소의 width, height, margin, padding 변경새로운 DOM 요소 추가 / 제거display 속성 변경폰트 크기 변경창 크기 조절(리사이즈)Reflow는 화면의 구조를 완전히 다시 계산해야 하므로비용이 크고, 성능 저하의 주..

    좋아요0
    댓글0작성시간2025. 10. 18.
  • 클로저(Closure) 완벽 정리 — 자바스크립트 개발자라면 반드시 알아야 할 핵심 개념글 내용

    클로저(Closure)는 자바스크립트의 핵심 개념 중 하나로, 함수가 선언될 때의 환경(스코프)을 기억하는 함수를 말합니다.🧩 1. 기본 개념자바스크립트에서는 함수가 선언될 때의 스코프(lexical scope) 를 기억합니다.이때, 내부 함수(inner function) 가 자신을 둘러싼 외부 함수(outer function) 의 변수에 접근할 수 있을 때,그 관계를 유지한 채로 외부 함수가 종료된 이후에도 접근 가능한 구조 — 이것이 바로 클로저입니다.📘 2. 예시 코드로 이해하기function makeCounter() { let count = 0; // 외부 함수의 지역 변수 return function() { // 내부 함수 (클로저) count++; return count; ..

    좋아요0
    댓글0작성시간2025. 10. 12.
  • [RN] 🚫에러일지 - iOS17에서 App Crash 생기는 이유글 내용

    iOS 17 이상에서 UIGraphicsBeginImageContext()를 시도할 때, 이미지 사이즈가 (0, 0)인 경우 강제종료될 수 있으므로 UIGraphicsImageRenderer를 쓰는 것이 권장된다.문제 패키지: react-native-fast-image, react-native-linear-gradientreact-native-linear-gradient v2.6.2 → v.2.8.3 upgradereact-native-fast-image 는 현재 문제 메서드가 deprecated 되서는 안되는 환경 문제 이슈로 patch-package 사용해서 수정.iOS 내부에서 UIGraphicsBeginImageContext() 사용된 함수 수정

    좋아요0
    댓글0작성시간2025. 9. 24.
  • [RN] 🚫에러일지 - exception while building Json A problem occurred starting process 'command ...글 내용

    m1 혹은 m2 칩 맥에서 빌드 시 발생하는 에러 빌드 충돌을 방지하기 위해 rosseta 설치하기 // 1. 라이센스 동의 필요 softwareupdate --install-rosetta // 2. 라이선스 자동 동의 /usr/sbin/softwareupdate --install-rosetta --agree-to-license

    좋아요0
    댓글0작성시간2023. 12. 19.
  • [RN] 🚫에러 일지 - SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable or by setting the sdk.글 내용

    말 그대로 SDK 경로를 찾을 수 없어서 발생하며, 주로 맥 -> 윈도, 윈도 -> 맥으로 프로젝트를 옮길 때 자주 발생하는 에러입니다. 안드로이드 스튜디오에 내 프로젝트 디렉터리로 가셔서 local.properties 파일을 한번 찾아보세요! 존재하지 않거나 경로가 잘못되어있을 가능성이 큽니다. 경로가 잘못되어 있다면 내 PC에 맞게 변경해주시면 됩니다 보통 윈도의 경우 c:\Users\'사용자 이름'\AppData\Local\android\adk 그리고 맥의 경우 /Users/'사용자 이름'/Library/Android/sdk sdk.dir=/Users/luna/Library/Android/sdk 이런 식으로 변경해주시면 됩니다.

    좋아요0
    댓글0작성시간2023. 12. 19.
  • [자료구조] 그래프글 내용

    개념 및 용어 그래프 G는 하나 이상의 정점(혹은 노드)을 포함하는 집합 V와 두 정점의 쌍으로 구성되는 간선을 포함하는 집합 E의 순서쌍으로 정의함 (G = (V, E)) 간선(인접한다) 두 정점을 연결하는 선 두 정점 쌍으로 나타냄 무방향 그래프 간선의 방향성이 없음 정점 쌍이 순서를 나타낼 필요가 없으므로 {v1, v2}로 나타냄 n개의 정점을 갖을 때 최대 간선 개수: n(n-1)/2 차수: 정점에 연결된 간선들의 개수 방향 그래프 간선의 방향성이 있음 순서쌍 (v1, v2) n개의 정점을 갖을 때 최대 간선 개수: n(n-1) 진입 차수: 주어진 정점으로 향한 간선의 개수 진출 차수: 주어진 정점에서 시작하는 간선의 개수 정점의 차수: 진출 차수와 진입 차수의 합 다중 그래프: 두 정점을 잇는 ..

    좋아요0
    댓글1작성시간2023. 12. 6.
  • [자료구조] 멀티웨이 탐색 트리글 내용

    m원 탐색 트리 트리의 노드가 m개 이하의 가지를 가질 수 있는 탐색 트리 → 같은 수의 노드를 갖는 이진 탐색 트리보다 낮은 높이의 m원 트리 이진 탐색 트리의 확장된 형태임 탐색 트리의 제한을 따르면서, 2개 이상 ~ m개 이하의 자식 노드를 가질 수 있음 노드의 구조 struct Mnode { int n; struct Rectype { struct Mnode * ptr, int key; struct Rectype *addr, } keyptrs[n-1]; struct Mnode *keyptrn; } 탐색 연산 일반적으로 노드의 가지 개수가 많을수록(서브 트리가 많을수록) 최대 탐색 시간이 짧아짐(트리의 깊이가 얕으므로 더 빨리 찾을 수 있음) struct Mnode *nodeptr; struct Re..

    좋아요0
    댓글1작성시간2023. 12. 6.
    게시글 이미지
  • [프로그래밍 언어론] 객체지향과 다형성글 내용

    추상 자료형 프로그래밍 언어의 추상화 추상화(abstraction) 복잡한 대상을 간략하게 나타내는 것 추상화 방법 추리기: 대상의 관심 있는 부분만 추려서 나타냄 삭제하기: 특별히 관심 없는 부분은 삭제하여 나타냄 프로그래밍 언어의 추상화 종료 제어 추상화(control abstraction): 복잡한 제어 과정을 단순하게 제공 자료 추상화(data abstraction): 복잡한 자료 구조를 단순하게 제공 프로그래밍 언어의 추상화 프로그래밍 언어의 추상화 지원 제어 추상화: 제어 구조, 서브프로그램으로 지원 → 어떻게 수행되는지는 숨기고 무엇이 수행되는지 나타냄 자료 추상화: 자료 구조, 추상 자료형으로 지원 → 자료 표현과 더불어 관련된 연산을 묶어서 나타냄 프로그래밍 언어의 추상화 발전 초기 프로..

    좋아요0
    댓글2작성시간2023. 12. 5.
  • [프로그래밍 언어론] 서브프로그램 구현글 내용

    서브프로그램 구현 개요 서브프로그램 연결 서브프로그램 호출(call) 작업과 복귀(return) 작업 서브프로그램 호출 시 해야 할 작업 호출하는 서브프로그램의 상태 저장 인수 전달 복귀할 주소 저장 호출되는 프로그램으로 분기 서브프로그램 복귀 시 해야 할 작업 필요에 따라 형식인수 값 복사(out parameter) 함수의 경우, 반환값 전달 호출한 서브프로그램의 상태 복귀 호출한 서브프로그램으로 분기 활성 레코드 서브프로그램 호출에 필요한 공간 호출자의 상태 정보를 보관할 공간 인수를 저장할 공간 함수의 경우 반환값을 저장할 공간 복귀할 주소를 저장할 공간 활성 레코드(activation record) 수행 중인 서브프로그램에서 코드를 제외한 데이터 부분이 저장되는 형태 활성 레코드 틀 자체는 정적으..

    좋아요0
    댓글2작성시간2023. 12. 5.
  • [프로그래밍 언어론] 서브프로그램 개요글 내용

    서브프로그램 개념 서브프로그램이란? 프로그램 컴퓨터가 실행할 명령어를 나열한 것 이 명령어 나열은 입력을 출력으로 전환함 서브프로그램 독자적인 입력과 출력을 갖춘 일부 프로그램 역시 명령어 나열로 구성되어 있음 서브프로그램의 입력: 인수 서브프로그램의 출력: 반환값 반환값이 없는 서브프로그램도 존재: 서브루틴 혹은 프로시저 서브프로그램의 특징 서브 프로그램으로 들어오는 입구는 하나이고, 나가는 출구는 여러 곳이 될 수 있음 대개 서브 프로그램의 맨 끝은 자동적으로 출구가 됨 변도의 return 문을 통해 출구를 지정할 수도 있음 호출자(caller, 서브프로그램을 호출한 서브프로그램)는 피호출자(callee, 호출된 서브프로그램)가 수행되기 전에 수행이 정지되며, 피호출짜의 수행이 완료되면 호출자로 제어..

    좋아요1
    댓글2작성시간2023. 12. 5.
  • [프로그래밍 언어론] 문장글 내용

    선언문과 실행문 문장 처리를 나타내는 표현 데이터 처리를 위해 변수, 연산, 서브프로그램을 이용 문장의 구분: 선언문, 실행문 선언문(declaration) 변수나 서브프로그램을 이용할 수 있도록 준비를 해 줌 변수 선언문: 변수명, 타입 등을 바인딩 → 이후 해당 변수를 이용할 수 있음 서브프로그램 선언문: 서브프로그램의 프로토콜을 명시 → 이후 해당 서브프로그램을 이용할 수 있음 실행문 변수 및 서브프로그램을 이용하여 데이터를 처리함 실행문의 구분: 대입문, 제어문 대입문(assignment statement) 프로그램에서 가장 자주 사용되는 문장 변수의 값을 변경하는 문장 대입 연산자: 오른쪽 부분의 값을 왼쪽 변수의 값으로 대입 다중 대입문: 하나의 값을 여러 변수에 대입 타입 변환: 대입할 값의..

    좋아요0
    댓글1작성시간2023. 12. 5.
  • [프로그래밍 언어론] 수식글 내용

    수식 피연산자와 연산자로 구성되어 하나의 값을 나타내는 표현 피연산자(operand): 데이터 표현 그대로이거나 값이 저장된 변수 연산자(operator): 연산을 수행하는 함수 기본 연산자: 덧셈 연산자, 곱셈 연산자 등 함수: 값을 반환하는 서브 프로그램 수식에 피연산자와 연산자가 모두 포함될 필요는 없음 수식과 문장의 차이 수식(expression): 값을 나타내는 표현 문장(statement) 처리를 나타내는 표현 → 처리: 수식의 연산, 프로그램의 수행 흐름 바꾸기, 화면에 값 출력하기 등 수식과 연산자 산술 연산자 사칙 연산자, 나머지 연산자, 부호 연산자 등 피연산자 개수에 따른 연산자 분류 단항 연산자: 1개의 피연산자 필요 이항 연산자: 2개의 피연산자 필요 연산자 우선순위 하나의 수식에..

    좋아요0
    댓글1작성시간2023. 12. 5.
  • [자료구조] BS, Splay, AVL, BB글 내용

    BS(Binary Search, 이진 탐색 트리) 특정 데이터의 효과적인 검색을 위해 제한점을 가지는 이진 트리 특정 데이터의 검색과 노드의 삽입, 삭제 처리에 효과적인 이진 트리 트리를 구성할 때, 데이터의 탐색을 고려하여 구성하므로 탐색에 최적화된 이진 트리 키: 탐색, 삽입, 삭제 연산에서 비교의 대상이 되며, 이진 트리 노드에서 데이터를 대표하는 혹은 노드를 특정할 수 있는 값 노드 v_i의 키를 k_i라 할 때, 각 노드 v_i가 다음을 만족하는 이진 트리 v_i의 왼쪽 서브 트리에 있는 모든 노드의 키 값은 v_i의 키 값보다 작다 v_i의 오른쪽 서브 트리에 있는 모든 노드의 키 값은 v_i의 키 값보다 크다 중위순회를 통해 같은 순서 데이터를 만들어 낼 수 있는 다양한 BS 트리 BS 트리..

    좋아요0
    댓글1작성시간2023. 12. 5.
    게시글 이미지
  • [컴퓨터과학개론] 컴퓨터 네트워크글 내용

    컴퓨터 네트워크의 개요 데이터 통신을 위해 개발된 컴퓨터 네트워크는 계속적인 발전을 통해 서비스의 공유 및 컴퓨팅 자원의 공유를 위한 가장 효율적인 도구가 되었음 컴퓨터 네트워크는 기본적으로 사람, 컴퓨터, 기타 장비들 간의 정보 교류를 위한 통신망임 컴퓨터 네트워크는 1980년대부터 개인 통신을 중심으로 성장하여 1990년대와 2000년대를 거치면서 급격하게 팽창하여 현재에 이르고 있음 무선 통신인 와이파이와 스마트폰 통신 서비스의 중심이 되는 이동 인터넷의 급격한 보급으로 집이나 직장에서 뿐만 아니라 상시로 통신 서비스에 접속되어 있는 상황에 이르게 됨 컴퓨터 네트워크의 발전 역사 1940년대 중반부터 시작된 컴퓨터 네트워크는 1990년대부터 시작된 다양한 형태의 인터넷 서비스를 통해 일반인에게도 가..

    좋아요0
    댓글1작성시간2023. 12. 5.
    게시글 이미지
  • [컴퓨터과학개론] 데이터베이스글 내용

    데이터 처리 데이터 관찰이나 측정을 통해 현실 세계에서 단순히 수집된 사실/ 값 적절한 처리를 거쳐야만 정보로서 가치를 가짐 정보처리 시스템 데이터를 수집, 조직, 저장하고 정보를 생성, 분배하는 시스템 데이터베이스: 실세계의 방대한 데이터를 효과적으로 저장/운영하기 위한 기술 파일 처리 시스템 파일 단위의 데이터 저장 및 처리 시스템 정보 표현에서 1차원적인 저장 시스템 각 응용 프로그램이 특정한 응용을 위해 필요한 파일을 독립적으로 소유하고 관리 데이터 종속성(data dependency): 응용 프로그램과 데이터 사이의 1:1 상호 의존 관계 → 파일 구성 요소, 접근 방식 등이 변경되면 해당 응용 프로그램도 함께 변경 데이터 중복성(data redundancy): 한 시스템에 동일 데이터가 여러 ..

    좋아요0
    댓글0작성시간2023. 12. 4.
    게시글 이미지
  • [컴퓨터과학개론] 프로그래밍 언어글 내용

    프로그래밍 언어의 개요 사람의 의도를 컴퓨터에게 전달하여 컴퓨터에게 작업을 수행시키기 위해 만들어짐 사람의 의도를 추상화하여 압축된 언어로 컴퓨터에게 전달되어야 함 의미적으로 애매모호함이 없고 어떤 경우에도 동일한 의미로 해석되어야 함 구문론적 측면에서 명확하게 정의되어야 하며, 의미론적 측면에서 언제나 동일하게 해석되어야 함 논리적으로 설계되어 컴퓨터가 처리할 수 있는 이진코드로의 변환이 명확하고 정확하게 되어야 함 기계어 0과 1의 이진수로 구성되는 언어로 컴퓨터 하드웨어를 직접적으로 제어하기 위한 전기 신호의 표현 형태로 전달될 수 있는 수준의 언어 0과 1로 이루어지기 때문에 사람이 의미를 이해하기 어렵고, 프로그램 작성이 어려움 하드웨어나 컴퓨터 구조에 따라 기계어의 구성과 명령어(0과 1의 나..

    좋아요0
    댓글0작성시간2023. 12. 4.
    게시글 이미지
  • [자료구조] 선택 트리, 숲, 이진 트리 개수글 내용

    선택 트리 합병 정렬 차례로 정렬된 k개의 데이터 목록을 순서를 유지하는 하나의 데이터 리스트로 만드는 과정 일반적으로 데이터 목록이 k개인 경우, k-1번 비교를 통해 데이터 목록에서 가장 작은 값이나 가장 큰 값을 결정할 수 있음 선택 트리를 이용하여 비교 횟수를 줄일 수 있음 승자 트리 각 노드가 두 자식 노드의 작은 값을 갖는 완전 이진 트리 작은 값이 승자가 되어 올라가는 토너먼트 경기와 유사 트리의 각 노드는 두 자식 노드 값의 승자를 자신의 값으로 함 결과적으로 루트의 값이 트리에서 가장 작은 값이 됨 첫번째 단계에서의 비교 횟수를 줄이지는 못했지만, 두번째 비교단계부터는 비교 횟수가 감소됨 재구성 과정에서 빈 리스트가 생기면 큰 값(∞)을 넣어줌 패자 트리 각 노드가 두 자식 노드 중에서 ..

    좋아요0
    댓글0작성시간2023. 12. 4.
    게시글 이미지
  • [자료구조] 힙글 내용

    우선순위 큐 큐: 먼저 들어간 데이터가 먼저 삭제되는 자료구조 우선순위 큐: 대기 리스트에서 우선순위 높은 사람이 먼저 서비스를 받는 구조 데이터 삭제(Delete_q())와 삽입(Add_q(3)): Delete_q()에 의해 큐의 front에 있던 ‘1’이 삭제되면서, 나머지 데이터 중에서 가장 작은 값인 ‘2’가 다음 삭제 위치 즉, front가 가리키는 위치로 이동됨 우선순위 큐의 작동 방식 삭제 명령이 실행되면 저장된 데이터 중에서 가장 작은 값(가장 큰 값)이 삭제된다. 나머지 데이터들은 어떤 순서로 저장되든 문제가 되지 않는다. 힙 추상 자료형 힙 피라미드 모양으로 쌓아 올린 더미 무엇인가를 쌓아놓은 더미이고 항상 가장 위에 있는 것을 우선 꺼내는 구조 부모-자식 노드 사이에서(부분적으로) 정..

    좋아요0
    댓글1작성시간2023. 12. 4.
  • [컴퓨터과학개론] 컴퓨터 구조글 내용

    불 대수와 논리 게이트 시스템 버스 중앙처리장치, 기억장치, 입출력장치 간의 물리적 연결 및 데이터 교환의 통로 주소 버스 CPU가 기억장치나 입출력장치의 주소 정보를 전송하는 신호선의 집합 버스의 폭이 시스템의 메모리 용량을 결정 → n개의 신호선으로는 2^n개의 주소 지정 가능 단방향 버스 데이터 버스 CPU와 기억장치/입출력장치 사이에 데이터 전송을 위한 신호선 집합 버스의 폭이 한 번에 전송할 수 있는 비트의 수를 의미 → 워드 양방향 버스 제어 버스 CPU가 각종 장치의 동작을 제어하기 위한 다양한 신호들의 통로 버스의 폭(=제어신호의 수)은 CPU나 시스템의 구성에 따라 달라짐 불 대수 이진 변수의 논리 연산을 다루는 대수 영국의 수학자 George Boole 논리적 문제를 해결하기 위한 수학..

    좋아요1
    댓글4작성시간2023. 12. 3.
    게시글 이미지
문의안내
  • 티스토리
  • 로그인
  • 고객센터
© Kakao Corp.