반응형

IT Dictionary/Computer Science 7

리엑트(React) 설명

💤 리엑트(React)구 Facebook, 현 Meta에서 개발한 자바스크립트(JS) 라이브러리로, 클라이언트에서 동적으로 웹을 구축하며, 서버에서 매일 새로운 데이터를 받아 구동하는 기존 웹페이지 처리 방식이랑 차이점을 둔  SPA(Single Page Application)를 이용한다.   기존 웹페이지 동작 방식은 DOM을 직접적으로 조작하여 렌더링을 방식을 채용하지만, 리엑트는 Virtual Dom 을 이용해 웹페이지에서 변화를 감지하여 Virtual Dom과 기존 Dom을 매칭시켜서 변경이 있는 부분만 수정을 해준다. 그렇기 때문에 동적인 변화가 많은 웹일수록 좋은 성능을 보여줄 수 있는 리엑트지만, 비교적 변화가 적은 정적인 웹은 오히려 성능이 떨어질 수도 있는 양날의 칼을 가지고 있는 라이..

비주얼 스튜디오 코드 디버깅 (Vscode Debugging)

😒 나는 바보다.나는 2년동안 코딩 공부를 해왔다. 하지만 이렇게 긴 시간을 쏟아 부었던 것에 비해 밖에 나가서 자랑스럽게 코딩 한다고 말하기는 힘들 정도의 초라한 실력을 가지고 있다..유튜브나 인터넷 서핑을 통해 야매식으로 배운 코딩은 역시 한계점이 분명하다. 내 코딩 방식은 무식하게 직진이라는 선택지 밖에 없었는데, 이런 내 원칙은 나의 아까운 1분 1초를 낭비시킨다. 그래서 이번에는 디버깅이라는 것을 하는 방법에 대해서 배워볼려고 한다. 🐛 디버깅?컴퓨터 프로그램 개발 단계 중에 발생하는 시스템의 논리적인 오류나 비정상적 연산(버그)을 찾아내고 그 원인을 밝히고 수정하는 작업 과정을 뜻함.디버그는 주로 원하는 코드에 중단점(Break Point) 을 지정해 프로그램을 정지시키고, 메모리에 저장되..

정렬 알고리즘 (Sorting Algoritm) 개념 정리

⛳ Big O : 알고리즘 효율성 단위⛳ 선택 정렬 (Selection Sort)● 배열을 계속 순환하면서 적절한 값을 찾게 되면 현재 인덱스에 있는 값과 교환해줌● 배열 전체를 비교하므로 시간 복잡도는 O(N^2) 이다.● 단 하나의 배열로 정렬을 하는 것이기 때문에 공간복잡도는 O(N) 이다.void selectionSort(int *list, const int n){ int i, j, indexMin, temp; for (i = 0; i ⛳ 삽입 정렬 (Insertion Sort)● 자신보다 이전의 인덱스 값을 비교하면서 적절한 위치를 찾아가는 알고리즘● 최악의 경우인 역으로 정렬되있을 때는 시간 복잡도가 O(N^2) 이지만, 이미 정렬 되있는 경우 시간 복잡도가 O(N) 이다.● 단 하..

브라우저 렌더링 과정, 자바스크립트(JS) 작동 원리

✌ 흠..우리가 컴퓨터를 하면서 가장 많이 이용하는것은 무엇일까? 나는 당연히 브라우저라고 생각한다. 인터넷이라는 개념 자체가 작게는 우리 지역 사람들, 크게는 전세계의 사람들과의 소통의 길을 열어준다는 의미를 담고있다. 여기서 브라우저는 이 길의 입구를 담당해주고 있기 때문에 불가피하게 클릭 횟수가 다른 서비스에 비해 많을 수 밖에 없다고 생각한다.그래서 오늘은 이러한 브라우저의 내부를 한번 살펴볼려고 한다. 브라우저는 렌더링이라는 과정을 거치면서 컴퓨터 내부의 복잡한 사정을 우리 눈에 보이게 해준다. 이 렌더링 과정을 한번 5가지로 나눠보았다. ⛳ First, Receive우리가 브라우저에 URL을 입력하면 DNS를 통해 해당 도메인이 IP 주소로 변환되어 해당 IP로 웹과 관련된 정보를 요청한다. ..

자바 컴파일 과정(Java Compile Process)

😞 서론내가 코딩에 첫 걸음마를 옮겼을 때, 내가 가장 배우고 싶었던 언어는 자바였다. 초등학생때 유일하게 알고있던 프로그래밍 언어였는데, 당연히 그 이유는 마인크래프트 때문이다. 그때도 그렇고, 지금도 그렇고 여전히 나에게는 환상이 깊은 언어로 남아있다. 그래서 오늘은 해당 자바에 대해서 탐구 해볼려고 한다. ⛳ 자바(Java)자바는 다른 언어와 다르게 JVM(Java Virtual Machine)에서의 자바 컴파일러를 이용해 컴파일을 실행하기 때문에 운영체제로부터 독립적이다. 그래서 다른 운영체제에서 자바 파일을 실행 시킬려고 할 때, 별도로 다시 컴파일을 해서 실행 파일을 만들 필요가 없는 것이 자바의 가장 큰 장점중 하나라고 할 수 있다. 그래서 먼저, JVM 위에서 작동하는 자바의 컴파일 과정..

메모리 영역과 메모리 구조

😞 서론Visual Studio Code를 키고 코딩을 시작할려고 하다가, 문득 궁금증이 생겼다. 우리 눈에 보이지 않게 뒤에서 열심히 일해주고 있는 컴퓨터의 모습이 말이다... 지금 우리가 프로그램을 실행시키고 싶을때는 일일히 컴퓨터에게 힘들게 이진법으로 따로 명령을 하지 않아도 마우스로 실행시키고자 하는 프로그램을 더블 클릭 하면 컴퓨터는 우리가 하고 싶어하는 것을 알아들어 즉시 프로그램을 나의 모니터에 띄워준다. 너무 신기한 거 같다. 우리가 프로그램을 실행하면 그 프로그램은 메모리 위에 올라가게 되고, 프로그램에 대한 정보를 메모리에 저장한다. 그래서 오늘은 이 메모리 라는분에 대해서 좀 공부해볼려고 한다. ⛳메모리 영역 다음 사진과 같이 메모리 영역은 4가지로 나뉜다. 👉 텍스트(Text) ..

C언어 컴파일 과정(C Compile Process)

✍ 우리는 C언어로 컴퓨터 안에서 우리가 힘들게 만든 작품을 눈으로 보기 위해 코드 에디터에서 컴파일이라는 과정을 거치게 된다. 어떻게 고작 문자 몇줄이 이렇게 복잡한 컴퓨터 안에서 우리가 원하는 주문을 하나도 빠뜨리지 않고 정확하게 표현이 가능한걸까? ⛳컴파일이란?인간이 이해 가능한 언어로 작성된 코드를 컴퓨터(CPU)가 이해할 수 있는 언어로 번역하는 작업 가장 많이 혼동될 수 있는 것이 컴파일과 빌드인데, 컴파일은 소스코드를 바이너리 파일로 만드는 행위 자체를 말하는 것이고, 빌드는 소스코드로 실행 파일을 만드는 과정 전체를 포괄하는 개념이다. 이제 본격적으로 컴파일에 대해서 알아보자. 컴파일의 과정으로는 크게 4가지로 나눠질 수 있다. 👉 전처리 과정 👉 컴파일 과정 👉 어셈블리 과정 👉 ..

반응형