
🙄 오늘 하려고 했는데 못한 것

이 사이트를 봤을 때 나는 '스타벅스를 가까이에서 경험해보세요'를 헤드2로 잡았을 것 같은데, 선생님은 숨김 텍스트로 h2 '관련 제목' 을 만드는 게 낫다고 제안..?이라고 해야되나? 암튼 그걸 하셨다. 생각지도 못했던 것이라 넘 신기했다... 나도 이런 사고가 자연스럽게 되는 날이 왔으면 좋겠음...
import { useDispatch, useSelector } from "react-redux";
import classes from "./Counter.module.css";
const Counter = () => {
const dispatch = useDispatch();
const counter = useSelector((state) => state.counter);
// 함수를 보내고 그 함수를 리덕스가 실행
// 그럼 그 함수가 어떤 데이터를 스토어에서 추출할지 결정
// state.counter를 가져오겠다고 함수를 보낸 것임
// 그걸 상수에 저장해서 리덕스가 관리하는 카운터를 가져옴
// useSelector를 쓰면 리덕스가 자동으로 subscription을 설정
// useSelector를 쓰면 스토어의 데이터가 바뀔 때마다 자동으로 최신의 상태를 가져올 것임
const incrementHandler = () => {
dispatch({ type: "increment" });
// useDispatch hook 사용해서 함수 호출
};
const decrementHandler = () => {
dispatch({ type: "decrement" });
};
const toggleCounterHandler = () => {};
return (
<main className={classes.counter}>
<h1>Redux Counter</h1>
<div className={classes.value}>{counter}</div>
<button onClick={incrementHandler}>Increment</button>
<button onClick={decrementHandler}>Decrement</button>
<button onClick={toggleCounterHandler}>Toggle Counter</button>
</main>
);
};
export default Counter;
재밌다 재밌다!!🙄...! 재..밌다!!
1에서 N값의 사이에 있는 모든 숫자를 더하는 펑션을 만든다고 생각하자
function addUpTo(n) {
let total = 0;
for (let i = 1; i <= n; i++) {
total += i;
}
return total;
}
var t1 = performance.now();
addUpTo(1000000000);
var t2 = performance.now();
console.log(`Time Elapsed: ${(t2 - t1) / 1000} seconds.`)
// Time Elapsed: 0.6657086999416352 seconds.
이 해결방법부터 생각남
그리고, 수학을 잘한다면 이것도 생각날 것임...난 수학 못해서 생각 못함🙄
그걸 공부하려고 이러고 있는 거니까...흠흠
function addUpTo(n) {
return (n * (n + 1)) / 2;
}
var time1 = performance.now();
addUpTo(1000000000);
var time2 = performance.now();
console.log(`Time Elapsed: ${(time2 - time1) / 1000} seconds.`);
// Time Elapsed: 0.000020600080490112306 seconds.
등차수열의 합으로 검색하면 공식이 대충 나온다...🙄🙄

위의 결과값을 보면 반복문을 돌리는 것보다 등차수열의 합 공식을 사용해 값을 구하는 게 훨씬 빠르다는 걸 알 수 있음
근데 이렇게 수동으로 속도를 재는 게 가장 좋은 방법은 아님...
기기사양에 따라 계산 값이 다를 수도 있고, 다른 뭔가를 실행 중이라서도 달라질 수 있음.
그리고 개빨리 계산 되는 것은 속도 측정 정확도가 떨어짐. 개빨라서 비교가 잘 안되는 것임. 그래도 그 중에서 제일 빠른 코드가 있긴 할 것 아님
그럼 그걸 어케 평가?
이럴 때 쓰는 게 빅오(Big O) 표기법이라는 것...
이거 다 지키자는 것이 아님 최대한 지켜보자!!
다 지킬 수 있을 자신은 없지만 일단 잡아놓고 안되면 다음 주에 하는 걸로...
완전 노베이스인 분들 이 수업 진도 다 따라가고 있는게 너무 대단...리스펙...
나 html css에 대한 애착이 좀 커서(애초에 이게 재밌어서 퍼블리셔 일을 한거지 나는 재미없으면 절대 안 한다) 요즘 수업 너무 재밌고 어렵고 괴롭고 뿌듯하고 다 하고있다...
강사님 노베이스 대상이라 유...하게 수업하시는 거지 원랜 완전 호랑이 선생님이신 것 같은데 진심 오프라인 강의 들어보고 싶음ㅠㅠ 엄청 유익할 것 같은딩.. 그치만 나는 코테 문제를 잘 못 푸니까........................ 에혀혀😞 공부 열심히 해야징
테일윈드 스터디
재밌었다! 슬슬 이 부캠에 적응하고 있는 것 같음. 아직 디코에서 낯선 분들 앞에서 마이크 켜는 건 어색하고 힘들지만 다행히 지금 회고조도, 스터디조도 다들 둥글둥글하시고 분위기 괜찮다.
이거 맞나... 했던 부분들 오늘 조원분들한테 여쭤봤는데 다들 비슷한 고민을 하신 것 같다. 정리해서 토요일에 선생님께 가이드 부탁드려야징...
📌 오늘자 참고하면 좋을 링크