웹페이지의 보조적 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어->복잡한 UI를 구현하는 언어로 성장하였다. (1) 통신: 브라우저와 서버의 요청과 응답(2) 렌더링: 트리 구조의 DOM을 브라우저에 그리는 것 (모던자바스크립트 딥다이브 38장 참고)
브라우저에 URL을 입력하면 무슨 일이 발생할까? URL을 해석함 DNS 조회 DNS는 도메인과 IP 주소를 서로 변환해준다. DNS로 요청을 보내기 전에 브라우저 캐시와 hosts파일을 참조한다. DNS는 보통 ISP에서 제공하는 것을 사용하고, DNS를 운영하는
컴퓨터 시간 원리 시간은 어떻게 결정되는가? 물리량, 위치, 천문현상, 문화, 역사, 사회 =>협정 세계시 UTC 모든 시간대는 UTC+0을 기준으로 환산한다. 대한민국의 시간은 UTC+9 표기법은 ISO 8601을 따른다. 컴퓨터가 시간을 표현하는 방법 : 하드웨어의
함수형 프로그래밍 함수형 패러다임 패러다임은 무엇을 해서는 안 되는지 말해준다. 프로그램은 순차, 분기, 반복, 참조로 구성된다. 객체지향: 객체를 통ㅇ해 데이터와 메서드를 묶음. 객체간 통시 함수형은 데이터를 함수로 만들어 결과를 도출 함수형 패러다임: 함수가 최소
자료구조와 알고리즘 자료구조의 종류 스택 큐 그래프 트리 영화검색 trie 줄 서야됨 queue 좌석선택 hashtable 선형/비선형 구조만 보자 선형구조: 한 원소 뒤에 하나의 원소만이 존재하는 형태. 자료들이 선형으로 나열되어 있음. 비선형구조: 원소간 다대다
필자 프로그래머스 코딩테스트 lv1, 오늘자 강의의 실습 문제로 lv2, 3이 대거 나오면서 와장창 털렸다.알고리즘을 공부하는 시간을 따로 만드는 게 좋을 것 같다는...판단...실력 늘면 혼자 실습 문제 풀어보고 여기다 인증할 거임FIFO방식linear queue와
비선형 계층적 자료구조. 방향그래프의 일종으로 정점을 가리키는 간선이 하나밖에 없는 구조ex) 디렉토리 구조, 조직도 등루트 정점을 제외한 모든 정점은 반드시 하나의 부모정점 가짐정점이 N개인 트리는 N-1 개의 간선을 가짐루트에서 특정 정점으로 가는 경로는 유일함.
참고한 사이트 : https://gmlwjd9405.github.io/2018/08/15/algorithm-bfs.htmlhttps://m.blog.naver.com/occidere/220923695595Breadth-First Search 그래프 탐
모든 경우의 수를 탐색하는 알고리즘으로, DFS/BSF를 이용할 수 있다. 가지치기 : 탐색하지 않아도 되는 곳을 미리 쳐내는 것DFS/BSF는 많은 경우에 사용이 되므로 외워두는 것이 좋다. 모든 경우의 수를 찾을 수 있도록 코딩하고, 문제에서 특정한 조건을 만족하는
컴퓨터가 수행할 명령들을 순서대로 써 놓은 것.어떻게 구현하는가를 디테일하게 기술하는 것에 집중되어 있다. 무엇을 할 것인지에 집중되어 있다. 대표적인 선언형 프로그래밍은 HTML, SQL 등이 있다. 이해가 잘 안 되는군요...어떻게 처리하는지에 대한 묘사가 중점적으
데브코스 3주차 과제로 바닐라 JS로 TodoList만들기가 주어졌다. 바닐라 JS라는 제목을 달고 있는 강의도 들었는데, 바닐라 JS가 뭔지 가르쳐주진 않는다. 그래서 바닐라 JS가 뭔데욥...? 하는 생각에 찾아 보는 글 Vanilla JS 란? 외부 라이브러리나
🧑💻 바닐라 JS로 투두리스트 만들기 모르는 메서드들을 공부하기에 앞서, 투두리스트를 만들 때 어떤 식으로 구조를 구성했는지 확인해보자. main App Header TodoForm TodoList TodoCount main에
삼주 전에 팀원들의 피드백을 코드에 다 반영하고 리팩토링도 다 하였다. 물론, 리팩토링을 했음에도 불구하고 멘토님이 강조하셨던 컴포넌트/함수의역할에 따라 구분 짓는 건 부족하다. 왜냐면 아직도 머리로만 알기 때문!내가 주로 받은 피드백은 다음과 같다. 반복되는 코드는
VanillaJS를 처음 배우고, 무언갈 제대로 구현해보는 첫 번째 개인 프로젝트였다. 팀원들, 멘토님 코드리뷰도 끝난 뒤 리팩토링을 하기 전 써보는 프로젝트 회고글기능별로 커밋을 작성하여 작업했던 내역을 쉽게 돌아다닐 수 있었던 점강의에서 배운 것을 넘어선 포맷으로
빈폴더 -> 터미널 -> npm으로 프로젝트를 만든다. npm init -y : package.json 파일 만들기npm i -D typescript : typescript 설치하기src 폴더 안에 main.ts 파일 생성typescript 엄격 모드 적용하기root
리액트 앱은 컴포넌트로 만들어진다. 컴포넌트란 UI의 일부를 의미하고, 마크업을 반환하는 자바스크립트 함수이다. 위와 같이 컴포넌트는 대문자로 시작해야 한다. 위와 같이 다른 컴포넌트에 중첩하여 사용할 수 있다. JSX란?위와 같은 마크업 문법을 JSX라고 한다. JS