February 13, 2021 • ☕️ 7 min read
우테코 2주차 기록
목, 금요일을 설연휴로 보내는 덕분에(?) 이번주 우테코는 3일만!
arguments
사용하기 - javascript의 유연함을 이용한 방식parseInt()
는 몇 진수인지 밝혀줘야 한다.Ref
반복문보다는 파이프를 사용하자
const completedTodos = [];
for (const todo of todos) {
if (todo.completed) {
completedTodos.push(todo);
}
}
const completedTodos = todos.filter((todo) => todo.completed);
함수를 리턴하는 함수를 pipe 함수라고 한다. 함수들을 인자로 받아서, 이 함수들을 연속적으로 실행해주는 함수를 리턴하는 것이다.
let pipe = () => () => {}; // 함수를 리턴하는 함수
const p = pipe(
(a) => a + 1,
(a) => a * 10
);
console.log(p(0));
switch 대신 object literal을 사용하자.
function wannaEat(food) {
switch (food) {
case "pizza":
console.log("피자 먹고 싶다");
break;
case "chicken":
console.log("치킨 먹고 싶다");
break;
case "ramen":
console.log("라면 먹고 싶다");
break;
}
}
function wannaEat(food) {
const foodList = {
pizza: "피자 먹고 싶다",
chicken: "치킨 먹고 싶다",
ramen: "라면 먹고 싶다",
};
console.log(foodList[food]);
}
사실 object도 많이 사용했던 방식이긴 한데, 내부에서 간단한 기능을 수행하는 switch~case 문을 이렇게 바꾸는 건 생각하지 못했다.
배열이나 객체는 forEach
보다는 map
을 이용해 불변 객체처럼 다루기
Source 탭
Network 탭
Performance 탭
Memory 탭
Application 탭
Security 탭
Lighthouse
모바일 아이콘
CSS Layout
flex-flow
, align-self
, align-content
등을 새로 알아간다.
https://flexboxfroggy.com/#ko뭔가 하다가 코치 포코가 잠깐 언급했다. 와즘! 이라고 하셔서 처음 들어본 김에 기록기록 ✍️
웹 어셈블리는 웹 브라우저에서 실행할 수 있는 새로운 유형의 코드이다. 네이티브에 가까운 성능으로 동작하며, 컴파일 타겟으로 C/C++, Rust 등의 언어로 작성된 프로그램을 웹에서 사용할 수 있게 해준다.
웹에서 사용할 수 있는 효율적인 저수준 바이트 코드로서, 자바스크립트 이외의 언어(예: C, C++, Rust 등)를 사용하여 프로그램을 작성한 다음 런타임 이전에 웹어셈블리로 컴파일할 수 있다. 결과적으로 로드 및 실행이 매우 빠른 웹 앱을 얻을 수 있게 되는 것이다! 😮
웹 어셈블리는 JavaScript와 함께 실행되도록 설계되었다. WebAssembly JavaScript API를 사용하여 WebAssembly 모듈을 JavaScript 앱에 불러와 둘 사이의 기능을 공유할 수 있다.
V8에서 자바스크립트 소스를 로드, 파싱하고 기계 코드로 변환, 트리를 만드는 과정들은 복잡하다. V8은 최적화된 컴파일을 위해 터보팬이라는 기능을 사용한다. 그러나 터보팬은 CPU를 사용함으로써 배터리 소모량을 증가시킨다.
반면 웹 어셈블리는 컴파일 단계에서 최적화를 거치고, 파싱도 필요하지 않다. 모든 최적화가 프론트엔드 컴파일러에서 처리되는 것이다.
+ WebAssembly에서 알파벳을 따와 WASM이라고 하는 것이었다! 별 다른 뜻이 있는 게 아니었다. 🤷♀️ + 웹 어셈블리에 대한 자세한 사용법은 나중에 필요하면 공부해 보자 😅
Ref
github 레포 디렉토리 구조 보기 https://github.com/woowacourse/javascript-calculator 요기에 ‘1s’만 붙여주면 된다고 한다. https://github1s.com/woowacourse/javascript-calculator
아니면 https://chrome.google.com/webstore/detail/octotree-github-code-tree/bkhaagjahfmjljalopjnoealnfndnagc?hl=ko 요런 크롬 익스텐션도 있다.
3일 뿐이었지만 설연휴까지 포함해서 미션하느라 정신없이 지나간 한 주였다. 라섹한지 2주된 내 눈은… 안녕~ 하루하루 할 일이 쌓여서 설레고 기쁘다 ^^
https://junhobaik.github.io/functional-go-pipe/ https://sjyoung.tistory.com/42