1. 프로그래머스
Lv1. 자연수 뒤집어 배열로 만들기
function solution(n) {
var answer = [];
let a = String(n).split("")
for(let i=1; i<=a.length; i++){
answer.push(+a[a.length-i])
}
return answer;
}
다른 풀이
var arr = [];
do {
arr.push(n%10);
n = Math.floor(n/10);
} while (n>0);
return arr;
return (n+"").split("").reverse().map(v => parseInt(v));Lv0. 특정 문자 제거하기
function solution(my_string, letter) {
var answer = '';
answer = my_string.split("").filter((a)=> a!==letter).join("")
return answer;
}function solution(my_string, letter) {
const answer = my_string.split(letter).join('')
return answer;
}function solution(my_string, letter) {
return my_string.replaceAll(letter, "");
}replaceAll()
replaceAll(pattern, replacement)"aabbcc".replaceAll("b", "."); // 'aa..cc' "aabbcc".replaceAll(/b/g, "."); ("aa..cc");""대신 /로 감싸기, g=전역의 의미(global match)2. Next.js 강의
getStaticProps를 추가하면해당 페이지는 빌드할 때 렌더링된다. getServerSideProps에서 context로 query에 접근한 것과 다르게 dynamic routes를 제공하기 위해 getStaticPaths를 사용한다.getStaticProps가 있는 페이지에서 한 쌍으로 작동getStaticProps의 return 값은 getStaticProps의 props로 전달된다.fallback:false - Static Path에서 제공하지 않는 페이지를 요청하면 404 errorfallback:true - fallback 페이지를 보여주고 해당 페이지를 서버에서 생성해서 보여준다.
fallback:blocking - SSR과 동일하게 동작. 요청에 따른 응답을 block했다가 서버에서 페이지를 생성 후 보여준다. yarn build - yarn startrevalidate: 5yarn build다시 반복하는데 오류Could not find a production build inCommand failed with exit code 1.npm i 하고 다시 시도
npm run build 하니 오류 메시지에 ssr파일이 export default 되지 않았다는 오류 - 이 파일 내용을 주석처리했더니 생긴 오류 같음. 다시 해제하고 yarn build하니 잘 됨..!
여전히 revalidate가 안 됨. db 내용을 수정해도 반영이 안 된다.
The Fetch API is an experimental feature. This feature could change at any timepackage.json에 "scripts"에 강의대로"json-server": "json-server --watch db.json --port 3001"를 추가했는데 서버 시작 명령어는npx json-server db.json --port 3001 이걸로 했음npm run json-server로 하니 db.json 변경 내용이 revalidate에 설정한대로 2초 후에 바로 반영이 된다!! _app.js파일 및 페이지에 <Head> 컴포넌트 안에 <meta>태그 추가
-> OpenGraph사이트에서 meta tag 생성 가능
semantic tag 사용
-> header/footer/section/nav 등 알아보기 쉬운 tag

3. React Udemy 강의
React_Next.js_2
getStaticProps()를 쓰는 이유props:{data:})을 페이지가 props로 받고 나서 페이지를 렌더링하기 때문에 받아온 데이터가 페이지에 보여진다.페이지 요청이 있을 때마다 실행되어 revalidate 필요 없음
요청이 들어오기 전엔 페이지가 생성되길 기다려야 한다.

getServerSidePropsgetStaticPropsgetServerSidePropsfallback: true로 해놓으면 나머지는 요청이 있을 때 페이지를 가져와서 보여준다. 연결된 cluster에서 Database/Connect
POST - pages/api/new-meetup.js

GET - index.js(최상위)

client.close()
ALLOW ACCESS FROM ANYWHERE 클릭
meetUpId가 string으로 제공되지 않는다인데 코드에는 meetupId만 있음...0.0.0.0/0를 지우고 다시 IP 추가 버튼 누르니 anywhere~ 버튼이 떠서 클릭해서 추가함