Semantic Web 초기의 Web은 정보를 시각화하여 사용자에게 보여주었지만 이를 server 나 computer가 이해할 수 없었다. 문단의 맨 위에 굵은 글씨로 쓰인 것이 제목이라는 것을 사용자는 알 수 있지만 machine은 단지 굵은 글씨로만 인식하기 때문이다. 시맨틱 요소(semantic element)를 사용하면 web content에 의미를 부여할 수 있고 이를 통해 서버나 컴퓨터 역시 data의 의미를 이해할 수 있게 된다. (div 태그 대신 header, nav, p 태그 등을 사용하면 사용자가 개입하지 않아도 어디가 제목이고 네비게이션인지, 문단인지 구분이 가능하다.) 시맨틱 웹은 web of document 를 web of data로 바꾸었다. 웹 접근성 영역과 기능에 따라 적정..
1. 로컬에서 pem key 사용하여 AWS ssh 접속 //pem 키를 사용하여 AWS 서버 접속 권한을 부여받는다. cd Desktop chmod 400 ssh -i ec2-user@ // 로컬환경에서 접속한 AWS 서버로 파일 보내기 scp -r root@:/home scp -r root@:/home 2. AWS 서버 환경 접속 // AWS 서버 root 계정으로 접속 su - cd /home ls // mysql 시작 mysql -u root -p show databases; create database character set utf8 collate utf8_general_ci; mysql -u root -p < mysql -u root -p use ;
promise들을 여러가지고 chaining을 할 수 있다. promise.. then.. promise.. then.. async 와 always를 사용하면 동기식으로 코드를 순서대로 작동하는 것처럼 간편하게 작성 할 수 있다. 기존에 존재하는 promise 위에 간편하게 api를 제공한다. syntatic sugar 기존에 존재하는 거 위에 기존에 존재하는 것을 감싸서 더욱 간편하게 사용할 수 있는 api를 제공하는 것을 syntatic sugar 라고 한다. class 또한 prototype을 base로 그 위에 살짝 덧붙여진 syntatic sugar이다. async & await 깔금하게 promise를 사용할 수 있는 방법 무조건 promise를 async와 await으로 대체해서 사용해야하는..
새로운 맥북에서 기존에 작업하던 레포지토리를 clone 받아 commit을 열심히 남기고 push를 하였는데.. 이게 웬걸 잔디가 깔리지 않았다. 후다닥 확인해보니 이렇게 author가 바뀌어 있었다. 이럴 때 커밋 작성자를 변경하는 방법에 대해 알아보자. 우선 이런 일이 재발하지 않도록 예방해야 하므로 1. git user 설정 git config --global user.name "3jun" git config --global user.email "kk3june@gmail.com" user name과 email은 예시로 제가 사용하는 name과 email을 사용했다. 작업하실 때는 본인의 name과 email을 사용하시면 된다 git config --list git user를 다시 설정했으면 git ..
Promise promise는 javascript에 내장되어 있는 object로 asynchronous operation을 위해 사용된다. 비동기적은 것을 실행할 때 callback 함수 대신 유용하게 쓰일 수 있는 object이다. Promise의 2가지 핵심포인트 state: process가 무거운 operaton을 수행하고 있는지 중인지 아니면 기능 수행이 완료되어 성공했는지 실패했는지 상태에 대해 이해하는 것이 중요하다. ① pending : promise가 만들어져서 지정한 operation이 수행 중일 때 ② fullfilled : operaion을 성공적으로 모두 끝내었을 때 ③ rejected: file을 찾을 수 없거나 network에 문제가 생겼을 때 producer와 consumer의..
Javascript callback Javascript 는 synchronous 한다. (동기적입니다.) hoisting이 된 후 코드가 작성한 순서에 따라 동기적으로 실행된다. 비동기적인(asynchronous) 실행방법 console.log('1'); setTimeout(function () { console.log('2'); }, 1000); console.log('3'); // output //1 //3 //2 첫번째로 console창에 1이 출력되고 두번째로 setTimeout은 Browser API 이므로 Browser에게 1000ms가 지난 후에 callback 함수가 실행되도록 요청하고 응답을 기다리지 않고 바로 세번째로 콘솔에 3을 출력한다. 그러고나면 1초가 지난 후에 setTimeou..
Http Hyper Transfer Protocol Http 는 web-based application들이 상호 간에 data를 상호 교환할 수 있도록 해주는 application layer protocol 이다. TCP/IP based protocol 이다. Http 는 이미지, 비디오, 오디오, 문서와 같은 content를 전송하는데 사용된다. Http의 3가지 중요한 특징 connectionless request 를 만들고 난 후 client는 server와 연결을 끊고, response가 준비되면 server는 다시 client 와 연결을 만들고 다시 response를 전달한다. Http는 컴퓨터들이 읽을 수 있는 것이라면 어떤 data라도 전송이 가능하다. stateless client와 ser..
Array 1. Declaration const arr1 = new Array(); const arr2 = [1, 2]; 2. Index position const fruits = ['🍎', '🍌']; console.log(fruits); console.log(fruits.length); console.log(fruits[0]); console.log(fruits[fruits.length - 1]); // array의 index는 0부터 시작 3. Looping over an array mission. print all fruits a. for for (let i = 0; i < fruits.length; i++) { console.log(fruits[i]); } b. for of for (let fru..
1. script async vs defer default script 에 option 값을 주지 않고 html 파일을 실행하게 되면 위에서 아래로 순차적으로 코드가 실행된다. 위에서부터 HTML parsing을 하다가 중간에 script 코드가 있으면 parsing을 멈추고 해당 js를 fetching 하고, fetching이 끝나면 executing 하고 그 다음 다시 parsing을 시작한다. => page를 loading 하는데 시간이 오래 걸린다. async async는 boolean 값으로 위에 그림에서처럼 선언 하는 것만으로 true로 설정되어 사용할 수 있다. HTML parsing과 js 파일을 병렬로 fetching하고, fetching이 완료되면 parsing을 멈추고 executin..