오늘해야할일들
알고리즘 문제풀이 3문제 [완료]
Node 현질한거 강의 30개듣기 [현재 21개 들었음]
Node.js 새롭게 알게된 내용
강의명 : REPL와 js 파일 실행하기
REPL : R(Read), E(Evaluate), P(Print), L(Loop)
읽고(R) 실행하고(E) 결과를 출력하고(P) 반복한다(L)
자바스크립트는 스크립트 언어라서 즉석에서 코드를 실행할 수 있음
강의명 : 모듈 만들기
노드는 자바스크립트 코드를 모듈로 만들 수 있음
모듈 : 특정한 기능을 하는 함수나 변수들의 집합
모듈로 만들면 여러 프로그램에서 재사용이 가능하다
코드가 길다 싶으면 잘게 쪼갤수있다.
파일 끝에 module.exports로 작성한다.
강의명 : exports 와 this
※생각보다 자주쓰임
__filename : 현재 파일 경로
__dirname : 현재 폴더(디렉터리) 경로
filename.js 실행
console.log(__filename)
console.log(__dirname)
콘솔 결과값
C:\Users\zerocho\filename.js
C:\Users\zerocho
강의명 : 모듈심화, 순환 참조
require의 특성
require가 제일 위에 올 필요는 없음
require, cache에 한 번 require한 모듈에 대한 캐쉬 정보가 들어있음
require.main은 노드 실행 시 첫 모듈을 가리킨다.
강의명 : Process
process.env = > 비밀키(데이터베이스 비밀번호,서드파티 앱 키 등)를 보관하는 용도로도 쓰임
환경변수는 process.env로 접근이 가능함
ex)
const secretId = process.env.SECRET_ID
const secretCode = process.env.SECRET_CODE
일부 환경 변수는 노드 실행 시 영향을 미치기도 합니다.
강의명 : os와 path
Path : 폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈(자주쓰임)
강의명 : url와 querystring
url 모듈 : 인터넷 주소를 쉽게 조작하도록 도와주는 모듈
강의명 : crypto와 util
단방향 암호화(crypto) : 암호화는 가능하지만 복호화는 불가능(해독이 불가능함)
암호화 : 평문을 암호로 만듦
복호화 : 암호를 평문으로 해독
util : 각종 편의 기능을 모아둔 모듈
강의명 : woker_threads
woker_threads ⇒ 노드에서 멀티스레드 방식으로 작업할 수 있음
먼말인지 모르겠다...여러번 돌려봐야할거같다....
강의명 : fs
fs : 파일 시스템에 접근하는 모듈
파일/폴더 생성,삭제,읽기,쓰기 가능
웹 브라우저에서는 제한적이었으나 노드는 권한을 가지고 있음
파일 읽기 예제(결과의 버퍼는 뒤에서 설명함)
알고리즘 문제풀이(이상한문자만들기)
function solution(s) {
let answer = ''
let a = s.split(' ');
return a.map(el => {
let str = ""
for (let i = 0; i < el.length; i++) {
// console.log(el, str)
//el => try , try ,try, hello,hello,hello,hello,hello, world,world,world,world,world
//즉 try =3글자 , hello = 5글자 , world = 5글자
//글자의 길이만큼 반복해서 출력한다.
if (i % 2 === 0) {
str += el[i].toUpperCase()
console.log(str, el)
//콘솔 결과값
//T try = 0
//TrY try = 2
//H hello = 0
//HeL hello = 2
//HeLlO hello = 4
//W world = 0
//WoR world = 2
//WoRlD world = 4
//즉 짝수만 대문자로 바꿔준다
}else {
str += el[i].toLowerCase()
//콘솔 결과값
//Tr try =1
//He hello = 1
//HeLl hello = 3
//Wo world = 1
//WoRl world = 3
//즉 홀수만 대문자로 바꿔준다
}
}
console.log(str)
//콘솔 결과값
//TrY
//HeLlO
//WoRlD
//이렇게 3개로 쪼개져서 출력되기때문에
return str
}).join(' ')
//join을 사용하여 한줄의 문자열로 만들어준다
}
let s = "try hello world"
console.log(solution(s))
콜솔을 엄청찍어봤다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
map을 너무 못쓰는거같다 아직도 이해가안간다.... 앞으로 이해할수있게끔 노력해야겠다.