URL : scheme://<user>:<password>@<host>:<port>/<url-path>
브라우저 캐시와 hosts 파일 참조동적 라우팅 통해 해당 서버가 존재하는 대역으로 이동3 way handshake로 연결 요청인터넷 상에서 암호화는 매우 중요하다. 악의를 가진 해커에게 내 개인정보를 다 털릴 수 있다.🤐
평문 : 일반인이 누구나 읽을 수 있는 문서암호문 : 원래의 평문을 암호 키 및 암호 알고리즘을 사용하여 암호처리된 문서암호화이다.복호화 할 수 없는 형태로)MD5와 SHA 알고리즘이 있고 사용자 비밀번호 등을 저장할 때 자주 사용된다.해킹 공격 중 Rainbow Table을 대비해야 한다. 이를 통해 원문을 알아낼 수 있다.
사고로 암호화된 데이터를 탈취당하더라도 원문을 알아낼 수 없도록 조치해야한다.
😎Tip 재료에 소금을 찍어 같이 먹는 것을 생각하자, 치킨 소스
복호화 할 수 있는 형태로 암호화같은 키를 이용하여 암호화, 복호화가 가능하다.암호화), 개인키(나만 알고 있는-복호화)프로그램은
순차, 분기, 반복, 참조로 구성된다!
객체, 함수형은 함수문제를 어떻게 해결해야 하는지 컴퓨터에게 명령을 내림무엇을 해결해야 할지에 집중, 방법은 컴퓨터에게 위임Javascript는 멀리 패러다임!!! 굳이 나누지말고 둘 다 쓰자.
객체지향의 객체는 현실에 있는 것을
추상화한 것
😱 현실에 존재하는 것을 코드로 옮기는 것은 X
특정한 부분만 보는 것객체이며 각각의 객체는 메세지를 주고 받을 수 있다.
//객체 리터럴
const person = {
name : "정태호",
age : 25,
move : function (destination){
console.log(`${destination}으로 이동합니다`);
},
}
//Object 생성자 함수
const person = new Object();
person.name = "정태호";
person.age = 25;
person.move = function (destination){
console.log(`${destination}으로 이동합니다`);
};
//생성자 함수
function Person(name,age,move){
this.name = name;
this.age = age;
this.move = function (destination){
console.log(`${destination}으로 이동합니다`);
};
}
//생성자
function Person(name, age) {
this.name = name;
this.age = age;
this.getname = function() {
return this.name;
};
this.setName = function(name) {
this.name = name;
};
}
const a = new Person('정태호', 25);
const b = new Person('홍길동', 31);
console.log(a);
console.log(b);

//프로토타입
function Person(name, age) {
this.name = name;
this.age = age;
Person.prototype.getName = () => {
return this.name;
};
Person.prototype.setName = (name) => {
this.name = name;
};
}
const a = new Person('정태호', 25);
const b = new Person('홍길동', 31);
console.log(a);
console.log(b);
console.log(a.name, a.age);
console.log(b.name, b.age);

function Person(name) {
this.name = name;
}
Person.prototype.getName = function () {
return this.name || '정태호';
};
function Korean(name) {}
Korean.prototype = new Person();
const a = new Person('홍길동');
const b = new Korean('가나다라마바사');
console.log(a.getName()); //홍길동
console.log(b.getName()); //정태호
function Person(name) {
this.name = name;
}
Person.prototype.getName = function () {
return this.name || '정태호';
};
//부모 생성자 빌려쓰기
function Korean(name) {
Person.apply(this, arguments);
}
Korean.prototype = new Person();
Korean.prototype.setName = function (name) {
this.name = name;
};
const a = new Person('홍길동');
const b = new Korean('가나다라마바사');
console.log(a.getName()); // 홍길동
console.log(b.getName()); // 가나다라마바사
b.setName('태호정');
console.log(b.getName()); // 태호정
const a = {
name: '정태호',
getName: function () {
return this.name;
},
};
const b = Object.create(a);
b.name = '홍길동';
console.log(a.getName());
console.log(b.getName());
console.log(a.__proto__);
console.log(b.__proto__);

참고하기 좋은 글
https://url.kr/uj2zvo
https://baeharam.netlify.app/posts/javascript/event-loop
모듈을 사용하면 스크립트 간 의존도를 파악할 수 있고 실행순서를 쉽게 제어할 수 있다.설계 시점에 의미있는 요소이며 컴포넌트는 런타임 시점에 의미있는 요소이다. use strict(엄격모드)로 실행된다.Webpack 등을 이용하여 번들링한 스크립트를 불러오면 모듈을 사용할 일이 별로 없어졌다.
👻번들링이란? "어떤 것들을 묶는다" 기능별로 모듈화 했던 자바스크립트 파일들을 묶어준다는 뜻이다.

인코딩의 개념유니코드 문자 + 이모티콘(😀)const item = "😀";
console.log(item.charCodeAt(0).toString(16)); // Code Point -> d83d
console.log(item.charCodeAt(1).toString(16)); // Code Point -> de00
// \u를 통해 유니코드 문자를 표현할 수 있음.
const unicodeitem = "\ud83d\ude00";
console.log(unicodeitem);
console.log(item === unicodeitem); // true
console.log(item.length); // 이모티콘은 2칸을 차지한다.
// 유니코드에서 영어든 한글이든 2바이트 차지
// 한글은 한 글자당 길이 1)
[쿠키와 웹 스토리지](https://velog.io/@nabi5986/TIL-Day22)
console.log("정태호".length);
이제 겨우 2번째 강의 내용일 뿐인데 모르는 부분이 많아서 몇번이나 다시보기를 했던 것 같다. 그러다보니 정리하는 내용도 딱딱하게 강의 내용을 복붙한 것 같이 느껴진다. 여유를 가지고 내가 이해한 내용을 토대로 글쓰는 능력을 키워가야겠다.😱😰