Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
0195f4d
2025-08-05-JS
skyt852-create Aug 5, 2025
decdb4b
2025-08-06
skyt852-create Aug 6, 2025
0f4596d
2025-08-06-JS
skyt852-create Aug 6, 2025
b895753
2025-08-06-JS
skyt852-create Aug 6, 2025
ab24883
2025-08-07-JS반복조건문
skyt852-create Aug 7, 2025
6451943
2025-08-08-JS함수
skyt852-create Aug 8, 2025
cda22b9
2025-08-11-JS호이스팅
skyt852-create Aug 11, 2025
b09ecca
2025-08-13-클로저
skyt852-create Aug 13, 2025
f99a836
2025-08-14-생성자함수,프로토타입
skyt852-create Aug 14, 2025
d19cfa5
2025-08-18-JS_Prototype
skyt852-create Aug 18, 2025
5cad994
2025-08-19-JS_Class
skyt852-create Aug 19, 2025
ec9976c
2025-08-20-JS_Object
skyt852-create Aug 20, 2025
70574f1
2025-08-21-JS_내장객체
skyt852-create Aug 21, 2025
d8d4a30
2025-08-21-JS_내장객체
skyt852-create Aug 21, 2025
045c8db
0822-JS-배열,문자내장객체
skyt852-create Aug 24, 2025
9a03311
2025-08-25-JS_Math,Date 내장객체
skyt852-create Aug 25, 2025
84f6e4d
2025-08-26-JS-비동기
skyt852-create Aug 26, 2025
29c12a2
2025-08-27-JS-DOM,Nodes
skyt852-create Aug 27, 2025
57bf892
2025-08-28-JS-event
skyt852-create Sep 1, 2025
f22f7ec
2025-09-05-TS
skyt852-create Sep 5, 2025
05549a7
2025-09-08-TS-Func
skyt852-create Sep 8, 2025
2906270
2025-09-08-TS-Func
skyt852-create Sep 8, 2025
009570e
2025-09-09-TS-type, interface
skyt852-create Sep 9, 2025
817b05e
2025-09-10-TS-enum
skyt852-create Sep 10, 2025
3354b74
2025-09-11-TS-Generic
skyt852-create Sep 11, 2025
9171ce7
2025-09-12-React
skyt852-create Sep 13, 2025
86ce404
2025-09-16-React-CSS
skyt852-create Sep 16, 2025
5001f5b
2025-09-17-React-Props
skyt852-create Sep 17, 2025
c7723a6
2025-09-18-React-useState
skyt852-create Sep 18, 2025
c6f788b
2025-09-19_21-React-Hook_Project
skyt852-create Sep 21, 2025
1abd103
git rm
skyt852-create Sep 21, 2025
a711a63
Fix: git rm & add 02, 04
skyt852-create Sep 21, 2025
de5724e
2025-09-23-React-Context API, Redux-Toolkit
skyt852-create Sep 23, 2025
c33d003
2025-09-24-React-zustand, data-fetching, homework
skyt852-create Sep 24, 2025
2f69220
2025-09-24-React-update homework
skyt852-create Sep 24, 2025
0d799ea
10-27-Next-Routing
skyt852-create Oct 27, 2025
665de2d
10-27-Next-Routing
skyt852-create Oct 27, 2025
477658d
10-28-Next-Font,Img
skyt852-create Oct 28, 2025
5d6219e
10-29-Next-Cache
skyt852-create Oct 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 28 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local
.env*
eslint.config.mjs
package-lock.json
package.json

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
34 changes: 34 additions & 0 deletions Learn-js/00/00.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*

0. ./ -> 현재 폴더
00. ../ -> 상위 폴더

1. pwd -> 현재 터미널이 위치한 디렉토리 경로

2. ls -> 현재 디렉토리의 파일/폴더 목록 보기
2.1 ls 폴더명 -> 폴더명의 파일/폴더 목록 보기
2.2 ls -l -> 폴더 상세 정보
2.3 ls -a 숨겨져있는 파일
2.3.1 ls -la 숨겨져있는 파일까지 폴더 상세 정보 확인 가능

3. rm -> 폴더/파일 지우기
3.1 rm 파일명/폴더명
3.1.1 rm -rf 파일명/폴더명 -> 강제로 삭제

4. cd -> 폴더 이동
4.1 cd 폴더명
4.2 cd .. 상위 폴더로 이동
4.3 cd ../../.. 상위폴더의 상위폴더의 상위폴더로 이동

5. mkdir 폴더 만들기
5.1 mkdir test -> test 폴더 만들기

6. touch 파일 만들기
6.1 touch test.js -> test.js 파일 만들기

7. clear -> 터미널 명령어 정리 (깨끗하게)

8. 화살표 위/아래 -> 이전 명령어 가져오기
9. 일부분만 입력 후 tab키 -> 자동완성

*/
3 changes: 3 additions & 0 deletions Learn-js/00/01.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// 의존성
const MAX_LEVEL = 99;
MAX_LEVEL = 20;
49 changes: 49 additions & 0 deletions Learn-js/01/00.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
1993 - 모자이크 웹 브라우저 (Marc Andreessen, 대학교 다닐 때)
1994 - Netscape, Netscape Navigator 출시 (Marc Andreessen)
1994.9 - 스크립트 언어의 개발 -> Brendan Eich, (10일만에 Mocha) -> Live Script (인터프리터)
1995 - Java(선 마이크로즈 시스템즈) -> JavaScript
1995 - 마이크로 소프트사의 인터넷 익스플로러 출시
-> Netscape Navigotor -> reverse engineering -> JScript (양아치)
--
넷스케이프 vs 인터넷익스플로러
--
1996.11 -> Ecma International(웹 표준 단체) -> 웹 브라우저에서 동작하는 언어에 대한 표준을 정립하자.
1997.7 -> EcmaScript 1 표준
1998 -> EcmaScript 2 표준
1999 -> EcmaScript 3 표준
2000 -> EcmaScript 4(보류), 인터넷 익스플로러가 표준을 따라가지 않기로 선언합니다.
-> 점유율 넷스케이프 10% 이내 (유료)
-> 인터넷 익스플로러 90% 점유율 (무료, 윈도우 장사 + 인터넷플로러를), 수익 모델이 있었음
-> 컴퓨터, 윈도우(윈도우 95, 98, me )
---
암흑기 (2000 - 2009)
인터넷 익스플로러 폭군이 시장을 지배하던 시절

2004 - 파이어폭스 출시 (액션스크립트랑, 타마린)

하나의 동작
Jquery
인터넷익스플로러, 사파리, 파이어폭스, 넷스케이프 네비게이터 ....

개발자에 대한 폭발적인 수요 -> 개발자가 많아짐
-> 개발자 커뮤니티가 커짐
-> 플러그인이 개발 (Jquery, 2006)

2008 -> 구글, 크롬 브라우저의 출시 V8 (5배, 10초, 2초)

2009 -> ECMASCRIPT 5 (ES5)
2015 -> ECMASCRIPT 6 (ES6) //

2016 -> ECMASCRIPT 7 (ES7)
2017 -> ECMASCRIPT 8 (ES8)
2018 -> ECMASCRIPT 9 (ES9)
2019 -> ECMASCRIPT 10 (ES10)
2020 -> ECMASCRIPT 11 (ES11)
2021 -> ECMASCRIPT 12 (ES12) .replaceAll()
2022 -> ECMASCRIPT 13 (ES13)
2023 -> ECMASCRIPT 14 (ES14)
2024 -> ECMASCRIPT 15 (ES15)
2025 -> ECMASCRIPT 16 (ES16)
----
*/
14 changes: 14 additions & 0 deletions Learn-js/01/01.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// var => 재할당 가능
var [변수명] = 값;
var uname = "chul su"; // or "chul su"

// let => 재할당, 변수명 중복 가능
let [변수명] = 값;
let uname = "chul su";

// const => 재할당, 변수명 중복 불가능
const [변수명] = 값;
let uname = "chul su";

const sumResult = 10 + 20;
// 키워드(const) 식별자(sumResult) 연산자(=, +) 표현식(10+20)
28 changes: 28 additions & 0 deletions Learn-js/01/02.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// 기본 자료형 => 숫자형, 문자열형, 논리형, 심볼형, 특수자료형
//숫자형 number
let number = 10;

// 문자열형 string
let uname = "John";

// 논리형 boolean
let isTrue = true;

// 심볼형
Symbol();

// 특수자료형 undefined, null

// 참조 자료형 => 객체, 배열, 함수
// 배열
let fruits = ["apple", "banana", "orange"];

// 함수
function myFunc() {
const x = 10,
y = 10;
console.log(x + y);
}

// 객체
let person = { name: "Alice", age: 30 };
24 changes: 24 additions & 0 deletions Learn-js/01/ex.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// 1. 변수
// 1번
const x = 10,
y = 20,
sum = x + y;
console.log(sum);

// 2번
let uname1 = "Alice";
uname1 = "Bob";
console.log(uname1);

// 3번
const PI = 3.14;
console.log(PI);

// 4번
let a = 5,
b = 10,
tmp = 0;
tmp = b;
b = a;
a = tmp;
console.log(a, b);
11 changes: 11 additions & 0 deletions Learn-js/01/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script src="./01.js" defer></script>
</body>
</html>
55 changes: 55 additions & 0 deletions Learn-js/02/01.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// 1. 자료형 (Data Type, 값의 종류, 값의 타입, 데이터의 종류)
// 1.1 기본자료형
// 1.1.1 숫자형
// 1.1.1.1 10, 20, 30
// 1.1.2 문자열형
// 1.1.2.1 "A" "B" "C"
// 1.1.3 논리형
// 1.1.3.1 true false
// 1.1.4 심볼형 (ES6)
// 1.1.4.1 Symbol("남기고 싶은 코멘트")
// 1.1.5 undefined
// 1.1.6 null
// 1.1.7 BigInt(ES11)

// 1.2 참조자료형
// 1.2.1 배열
// 1.2.1.1 [1, 2, "A", [10, 20], false]

// 수학, 영어, 국어, 과학
// index => 배열의 요소의 첫 번째부터 0 부여, 그 뒤로 순차적으로 1씩 증가
// 대괄호 연산자 사용
const score = [50, 40, 30, 70];
console.log(score[0]);
console.log(score[3]);
console.log(score[4]);

// 1.2.3 객체
// 1.2.3.1 키(Key) + 값(value) = 속성(property)
// 1.2.3.2 키와 값으로 구성된 속성들의 집합
// 대괄호, 마침표 연산자 둘 다 사용
// 객체의 키 => 문자열형

// 파스칼케이스 - 모든 단어의 첫글자가 대문자, UserName(user + name)
// 스네이크케이스 - 단어를 연결할 때는 _, user_name
// 케밥케이스 - 단어를 연결할 때는 -, user-name
// 카멜케이스 - 연결된 단어의 첫글자는 대문자, userName
// Default => 카멜케이스, 특수한 상황 => 파스칼케이스

const scoreObj = {
mathScore: 50,
engScore: 40,
korScore: 40,
scienceScore: 70,
"avg Score": 50,
};
console.log(scoreObj["engScore"]);
console.log(scoreObj.engScore);
console.log(scoreObj["avg Score"]); //console.log(scoreObj.avg Score) 사용 못함

// 1.2.2 함수
// 1.2.2.1 function A(){}
function SubjectScore() {
console.log(scoreObj.mathScore);
}
SubjectScore();
23 changes: 23 additions & 0 deletions Learn-js/02/02.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// 산술 연산자
// 수학적인 계산을 할 때 사용하는 연산자
// + - * / % **(ES7)

console.log(10 + 5 + 10 - 5 / 2 ** 5);
console.log(10 - 5);
console.log(10 * 5);
console.log(10 / 5);
console.log(10 % 5);
console.log(10 ** 2);

// 연산자 우선 순위
// 소괄호
console.log(2 + 5 * 2); // 12
console.log((2 + 5) * 2); // 14

console.log(0.1 + 0.2); // 0.30000000000000004
// 부동 소수점 형식을 사용하기 때문 (2진수)

// Decimal.js

// 임의의 큰 수를 곱해서 그 수로 나누기
console.log((0.1 * 100000000 + 0.2 * 100000000) / 100000000);
20 changes: 20 additions & 0 deletions Learn-js/02/03.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// 증감 연산자
// 증가 ++, 감소 -- 연산자

// 후치 => aa에 a값을 먼저 할당하고 a값을 ++
// 전치 => a값을 넣기 전에 ++ 하고 aa에 할당

let a = 10;
let aa = a++;

console.log(a);
console.log(aa);

let b = 10;
let bb = ++b;

console.log(b);
console.log(bb);

let e = 10;
console.log(e++ + 1);
10 changes: 10 additions & 0 deletions Learn-js/02/04.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// 대입 연산자
// 할당 연산자, 복합 대입 연산자
// 할당 연산자 =
const num = 10;

// 복합 대입 연산자 (산술 연산자 + 대입 연산자)
// +=, -=, /=, *=, %=, **=
let x = 10;
x *= 2; // x = x * 2
console.log(x);
23 changes: 23 additions & 0 deletions Learn-js/02/05.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// 비교 연산자
// 피연산자들간의 비교를 수행하기 위한 연산자
// 동등 == -> 피연산자들의 데이터가 같으면 참, 아니면 거짓 사용x
const c = 10;
const d = "10";
console.log(c == d); // true 암묵적(암시적) 형변환(Type Change)

// 일치 === -> 데이터와 타입도 모두 같을 때 참, 아니면 거짓
console.log(c === d); // false

// 부등 != -> 동등과 반대 사용x
// 불일치 !== -> 일치와 반대

// ~보다 큰 >
// ~보다 크거나 같음 >=
// ~보다 작은 <
// ~보다 작거나 같음 <=
const a = 10 < 20; // true
const b = 10 > 20; // false
console.log(a, b);

// => 위 비교 연산자들은 연산의 결과를 논리형으로 반환 (참 true 거짓 false)
// 표현식 -> 값으로 도출 가능한 식
21 changes: 21 additions & 0 deletions Learn-js/02/06.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// 삼항 연산자
// 표현식 ? 참 : 거짓

const myMoney = 5000;
const price = 3000;

const buyAble = myMoney >= price ? "ok" : "no";
console.log(buyAble);

const score = 57;
const grade =
score >= 90
? "A"
: score >= 80
? "B"
: score >= 70
? "C"
: score >= 60
? "D"
: "F";
console.log(grade);
24 changes: 24 additions & 0 deletions Learn-js/02/07.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// & 앰퍼센드
// | 하이프
// && 앤드 연산자 => 둘 다 참이면 참
// || 오알 연산자 => 둘 중 하나만 참이면 참
// ! 부정 연산자

const ex1 = 10 < 20 && 10 < 15; // true
const ex2 = 10 < 20 && 10 < 15; // false
const ex3 = 10 < 20 && 10 < 15 && 10 < 0; // false
console.log(ex3);

const ex4 = 10 < 0 || 10 < 15; // true
console.log(ex4);

const ex5 = (10 < 20 && 10 < 15) || 10 < 0; // true
console.log(ex5);

const ex6 = !(10 < 20);
const ex7 = !10 < 20;
console.log(ex6, ex7);

// !! -> 어떠한 값이라도 true or false 반환
const xx = 10;
console.log(!xx);
Loading