일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- pytorch
- 타입스크립트
- 스택
- 큐
- C
- vue3
- Machine Learning
- RxJS
- 웹팩
- 연결 리스트
- 자바스크립트
- 브라우저
- 연결리스트
- 컨테이너
- 자료구조
- 코딩테스트
- 이진탐색
- 프로세스
- 프론트엔드
- 프로그래머스
- 알고리즘
- 배열
- 릿코드
- cors
- APOLLO
- RT scheduling
- 해시테이블
- GraphQL
- alexnet
- 포인터
- Today
- Total
목록분류 전체보기 (164)
프린세스 다이어리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/brH7gu/btrhOAkWmGf/YOPWLRmJJBJgmBEC0JzYq1/img.png)
1. 연결 리스트의 장점 일반적으로 배열을 사용하여 데이터를 순차적으로 저장하고, 나열할 수 있다. 하지만 배열을 사용하는 경우, 메모리 공간이 불필요하게 낭비될 수 있다. 연결 리스트를 활용하여 이를 개선할 수 있다. 다음은 연결 리스트가 아닌, 일반적인 배열을 사용하여 특정 원소를 배열의 첫자리에 추가하는 소스다. #include #define INF 10000 int arr[INF]; int count = 0; void addBack(int data) { arr[count] = data; count++; } void addFirst(int data) { for (int i = count; i >= 1; i--) { arr[i] = arr[i - 1]; } arr[0] = data; count++; ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bzRau2/btrhNf1Xo7D/kF9wdl5hmAIHstkMWOUNGk/img.png)
1. Uncaught ReferenceError: __exports__ is not defined 오류 시나리오: vscode 상으로는 웹팩 데브 서버 실행해서 컴파일되고 서버 실행 잘 되는데, 브라우저에서 확인해 보면 자바스크립트 파일 읽는 도중에 __exports__가 undefined라 함 해결법: node_modules 모두 삭제, yarn.lock이나 package.json 비슷한 패키지 정보 모두 삭제 후 재실행. 문제 발생 이유는 모르겠으나 소스 수정하고 머지하는 과정 중에 패키지가 꼬인 게 아닐까 싶음 해결하는 데 소요된 시간: 3시간ㅎㅎ 2. Vscode에서 주석 처리하고 save 하면 주석이 모두 사라짐 (Vue 파일만 해당함) 오류 시나리오: git pull 받고 평소처럼 소스 수정하..
연결 리스트 구조체를 만드는 과정에서 다음과 같은 에러가 발생했다. #include #include typedef struct { int data; struct Node *next; } Node; Node *head; int main(void) { head = (Node*) malloc(sizeof(Node)); Node *node1 = (Node*) malloc(sizeof(Node)); node1 -> data = 1; Node *node2 = (Node*) malloc(sizeof(Node)); node2 -> data = 2; head -> next = node1; node1 -> next = node2; node2 -> next = NULL; Node *cur = head -> next; whi..
1. 자료구조가 왜 필요할까? 프로그래머라면 누구나 데이터를 효과적으로 저장하고, 처리하는 방법에 대해서 바르게 이해할 필요가 있다. 그런데 자료구조를 제대로 이해하지 못하면 불필요하게 메모리와 성능을 낭비할 여지가 있다. 예를 들어 프로그램 내에서 INT형 데이터가 100만 개 가량 사용된다고 가정했을 때, 원하는 데이터를 가장 빠르게 찾도록 하는 자료구조는 무엇 일지에 대한 고민을 하면서 프로그램을 짜야한다. 이를 위한 다양한 방법을 제시하는 것이 자료구조이며 가장 효율적인 방법이 무엇인지 알 수 있으려면 자료구조를 알아야 한다. 기본적인 자료구조들은 다음과 같다. (1) 선형 구조 - 배열, 연결 리스트, 스택, 큐 등 (2) 비선형 구조 - 트리, 그래프 등 자료구조와 알고리즘의 상관관계 효율적인..
전처리기 구문은 다른 프로그램 영역과 독립적으로 처리되고, 소스코드 파일 단위로 효력이 존재한다는 특성이 있다. 전처리기 사용은 필수는 아니다. C언어에서는 보다 이식성, 생산성 높게 안정적으로 코드를 작성하기 위해 활용된다. 1. 파일 포함 전처리기 1. #include는 전처리기에서 가장 많이 사용되는 문법이다. 2. 특정한 파일을 라이브러리로서 포함시키기 위해 사용한다. 3. #include 구문으로 가져올 수 있는 파일에는 제약이 없다. #include "filename" #include 특정한 외부 파일을 라이브러리의 형식으로 현재 소스에 불러오기 위해서 사용한다. 어떤 파일이든 현재의 소스코드 파일로 가져올 수 있고 이 include라는 전처리 구문 자체를 그 파일의 전체 소스코드로 대체한다는..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uxjmv/btrheYTI22Z/O0tkfOfQ31lskiIFcBL94K/img.png)
1. 브라우저의 구성 요소 브라우저도 OS상에서 실행되는 하나의 애플리케이션이다. 이 애플리케이션을 활용해 사용자는 원하는 사이트에 들어가 정보를 찾고 소통을 하는 등의 행동을 한다. 브라우저가 이렇게 데이터를 주고받고 화면에 띄워주는 역할을 수행할 수 있는 이유는 브라우저를 구성하는 요소들이 다음과 같이 구성되어 있기 때문이다. 사용자 인터페이스, 브라우저 엔진, 렌더링 엔진, 네트워크, 자바스크립트 인터프리터, UI백엔드, 스토리지로 이루어져 있다. (1) 사용자 인터페이스 브라우저를 켰을 때 바로 확인할 수 있는 주소표시줄, 뒤로 가기 버튼, 플러그인 버튼, 새로고침 버튼 등, 요청한 페이지를 보여주는 창 외에 사용자가 컨트롤할 수 있는 부분이다. (2) 브라우저 엔진 사용자가 주소창에 입력한 UR..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bc74Va/btrhglANHMQ/RlRkomHDrX4jbD1kWEXfY1/img.png)
렌더링 엔진은 브라우저 엔진으로부터 사용자가 입력한 URI를 받아서, 해당하는 데이터를 렌더링 하는 역할을 한다. 브라우저마다 렌더링 엔진의 상세한 동작 과정이나 용어는 조금씩 차이가 있지만, 전반적인 원리는 기본적으로 동일하다. 크롬과 iOS의 경우, webkit이라는 렌더링 엔진을 사용한다. 렌더링 하는 과정은 다음과 같다. 객체 모델 생성 -> 렌더링 트리 구축 -> 렌더링 트리는 배치 -> 렌더링 트리 페인팅 1. 객체 모델(Object Model) 생성 브라우저가 페이지를 렌더링하려면, 먼저 HTML 문서를 파싱 하여 DOM트리를 생성하고, CSS 문서를 파싱 하여 CSSOM 트리를 생성해야 한다. DOM과 CSSOM은 서로 독립적인 데이터 객체이며, 나중에 이 두 가지가 병합하여 렌더링 된다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/boXBV7/btrhetMQxPV/j4mIE7Oq2NPUaTfhQ90vNk/img.png)
1. Vue로 개발 시 프록시를 설정해주는 이유 일반적으로 프록시 또는 프록시 서버는 클라이언트와 서버 간의 중간다리 역할을 한다. 프록시에 대한 글에 프록시의 개념과 종류에 대해 정리해 두었다. Vue 개발 시에는 개발 환경에서 프록시를 설정하여 사용한다. Vue CLI 서비스(웹팩 개발 서버)를 사용하여 개발 모드에서 앱을 실행하는데 개발 환경에서 /api/reservations/:id로 요청을 하면 자동으로 http://localhost:8080/api/reservations/:id로 호출이 된다. 이렇게 되면 localhost:8080는 백엔드 서버에서 허락한 도메인이 아니기 때문에 브라우저에서 CORS 오류가 난다. 배포를 하고 나면 미리 설정한 도메인으로 바뀌니 상관이 없지만 로컬에서 개발 도..