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 start
revalidate: 5
yarn build
다시 반복하는데 오류Could not find a production build in
Command 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 time
package.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 필요 없음
요청이 들어오기 전엔 페이지가 생성되길 기다려야 한다.
getServerSideProps
getStaticProps
getServerSideProps
fallback: 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~ 버튼이 떠서 클릭해서 추가함