[JS] 모던 Javascript Deep Dive 45장 - 프로미스
[01] 비동기 처리를 위한 콜백 패턴의 단점
[01] 비동기 처리를 위한 콜백 패턴의 단점
REST ( Representational State Transfer)
[01] Ajax란?
[01] 동기 처리와 비동기 처리
[01] 호출 스케줄링
[01] 이벤트 드리븐 프로그래밍
앞선 장에서 HTML 문서를 파싱하여 브라우저가 이해할 수 있는 자료구조인 DOM을 생성한다고 배웠다. 이번 장에서는 DOM을 자세히 알아볼 예정이다 !
HTML, CSS, JS로 작성된 텍스트 문서를 브라우저가 어떻게 파싱하여 렌더링하는지 파헤치는 챕터이다. 우선 여기서 말하는 브라우저는 크롬, 사파리와 같은 친구들을 의미한다. 파싱과 렌더링의 의미도 알아보겠다.
디스트럭처링 할당은 우리말로 하면 구조 분해 할당이다.
ES6에서 도입된 스프레드 문법은 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만드는 것이다.
이터러블이라는 용어가 생소해서 와닿지 않는데 책의 첫부분부터 이터러블 프로토콜을 설명해서 이해하기가 어려웠다 😭
[01] String 생성자 함수
정규 표현식을 드디어 배운다.
표준 빌트인 객체 Date는 날짜와 시간을 제공하는 빌트인 객체면서 생성자 함수이다.
Math는 표준 빌트인 객체이다. 수학 계산을 할 때 주로 사용한다.
[01] Number 생성자 함수
[01] 함수의 구분
[01] ES6 이후 클래스의 등장
[01] 클로저란 ?
이 파트를 이해하면 자바스크립트에서 호이스팅이 발생하는 이유, 식별자 바인딩 관리 방식, 클로저의 동작 방식 등등.. 을 이해할 수 있다고 한다.
생성자 함수에서부터 this를 많이 다뤘지만 계속 정확한 의미는 알지 못하고 넘어갔다.
[01] 자바스크립트 객체의 분류
[01] strict mode란?
[01] 객체지향 프로그래밍
일급객체에 관해 앞에서도 다룬적이 있다.
이전에 중괄호를 사용하여 객체 리터럴을 만드는 방법을 배운 적이 있다. 이번 챕터는 객체 생성 방식 중에서 생성자 함수를 사용하여 객체를 생성하는 방식을 알아볼 것이다.
스코프와 변수 키워드를 공부하다가 갑자기 프로퍼티 어트리뷰트라는 새로운 개념이 나와 다소 어렵게 느껴졌다. 그래도 차근히 읽다보면 내용이 반복되서 오히려 이해가 잘되었다 !
[01] var 키워드로 선언한 변수의 문제점
전역 변수는 사용을 지양해야 한다. 그 이유와 전역 변수 사용 억제 방법에는 무엇이 있는지 알아보자.
[01] 스코프란?
함수는 자바스크립트에서 가장 중요한 개념이다. 이번 장은 자세히 짚고 넘어가보도록 하자.
이번 장은 6장 데이터 타입에서 다룬 바 있다. 원시 타입과 객체 타입의 차이점을 짚고 넘어가자.
연산자 파트는 외우기보다는 연산자 우선순위나 연산자를 사용할 때의 주의사항들을 기억하면 좋을 것 같다.
4장에서 변수를 다루면서 ‘값’이라는 용어를 정말 많이 사용하였다.
이전까지는 미리 알아두어야 할 자바스크립트 관련 상식이었다면 변수부터는 본격적인 언어 공부의 시작이다. 작은 글씨까지 책의 내용을 최대한 다 훓고 기억해놔야 할 내용들만 뽑아 정리할 예정이다.
3.1 자바스크립트 실행 환경
2장 - 자바스크립트란?
1장 - 프로그래밍
🔍 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다.
🔍 문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. ⚪ 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진...
🔍 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code “alphanumeric” 문자만 들어있다.
🔍 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. ⚪ 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000...
🔍 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
🔍 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.
🔍 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.
🔍 문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
🔍 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다.
🔍 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
🔍 문제 “OOXXOXXOOO”와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다.
백준 1546번 : 평균 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.
입력 받는 법
[백준] 3052번 - 나머지 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이...
백준 2577번 : 숫자의 개수 문제 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = ...
문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력 첫째 줄에 최댓값을 출력하고, ...
백준 10871번 : X보다 작은 수 ```python import sys
목차 백준 10818번 : 최소, 최대 백준 11022번 : A+B-8 백준 2438번 : 별 찍기 - 1 백준 2439번 : 별 찍기 -2 ✔ Today Review
백준 10950번 : A+B -3 ```python T = int(input())
백준 2739번 : 구구단 ```python N = int(input())
백준 2480번 : 주사위 세개 ```python A, B, C = map(int,input().split())
백준 2525번
백준 2884번 ```python H, M = map(int,input().split())
백준 1330번 ```python A, B = map(int,input().split())
백준 10926번 ```python name = str(input())
백준 1000번 ```python A,B=input().split()
1. 공부한 것 백준 알고리즘 1문제 풀었다.
1. 공부한 것 스타벅스 예제에서 오른쪽 배너가 스크롤 될 때 Y축 값에 따라 opacity 값을 설정해서 자연스럽게 사라지게 하는 법을 배웠다. gsap 라이브러리를 다운받아 이용했다. 알고리즘 1문제를 풀었다. 입력을 정제하는 것을 혼자 힘으로 해보고 문제도 구글링...
1. 공부한 것 스타벅스 예제에서 배너를 오른쪽에 스크롤 해도 고정하는 법을 배웠다. 자바스크립트에서 입력을 정제하는 법을 익혔다. 자세히 코드 분석을 하여 내용 정리를 해두었다. 허리디스크 환우들을 위한 앱을 생성하여 깃헙에 올려두었다. React로 개발할 예정이고 ...
1. 공부한 것 패스트 캠퍼스에서 스타벅스 클론코딩 예제를 공부했다. 헤더에 메뉴와 검색창을 배치하고 각 클래스에 css 속성까지 적용했다. 검색창의 경우 클릭 이벤트를 넣기 위해 js도 사용했다. 공부한 것을 노션에 정리해두었다. 알고리즘 1문제를 풀었다. ...
1. 공부한 것 패스트캠퍼스 css 속성에서 overflow부터 배치까지 9강의정도 들었다.(한 강의당 15분 정도) fork한 깃헙블로그를 mirror push해서 안 심어지던 잔디를 심었다. 잔디심는 방법은 https://joyful-development.tistory...
오늘부터는 TIL 방식을 조금 바꿔보려고 한다.
1차 합격 !!
드디어 4주차까지 모든 미션이 끝이났다.
3주차 미션을 하면서 로또의 룰을 새삼 깨달았다. 보너스 번호는 1등이랑 2등 결정 지을때만 필요한거 나만 처음 알았는지 ..?! 😮
네이티브 애플리케이션
동기적 (Synchronous) 하나를 수행한 후에 하나를 수행하는 처리방식이다. 즉, 코드가 순차적으로 처리되는 것을 말한다.