분류 전체보기 77

NextJS - 클라이언트 사이드에서 쿠키 저장

js-cookie 라이브러리를 이용하여 Next.js의 클라이언트 사이드에서 쿠키를 저장하는 방법을 알아보자. 개발 환경 next.js - v13.4.12 js-cookie - v3.0.5 설치 npm install js-cookie 저장 import Cookies from 'js-cookie'; Cookies.set('key', 'value'); // 7일 뒤 쿠키 만료 Cookies.set('key', 'value', { expires: 7, }); // 1시간 뒤 쿠키 만료 Cookies.set('key', 'value', { expires: 1 / 24, }); // 7일 뒤 쿠키 만료, 현재 경로에서 쿠키 확인 가능 Cookies.set('key', 'value', { expires: 7, pa..

모노레포(Monorepo)

멀티레포란? 여러 저장소를 관리하는 방식 독립된 애플리케이션이나 다른 프로젝트와 직접적인 종속성이 없음 코드 재사용이 쉽지 않아 중복 코드 사용의 가능성이 높음 버전 연동 깨질 가능성이 있음 모노레포란? 하나의 저장소에서 여러 개의 프로젝트를 관리하는 방식 NPM 배포 없이 프로젝트 간의 코드 공유가 가능 통합된 버전 관리 코드 공유와 재사용 용이 무분별한 의존성 연결 가능 예시 하나의 저장소에서 packages로 감싸고 api, back, front로 분리 공통으로 사용할 설정은 프로젝트 루트에서 관리 프로젝트 루트의 tsconfig,json { "compilerOptions": { "target": "es2021", "esModuleInterop": true }, "references": [ { "p..

ETC

23.06.25 LG 트윈스 VS 롯데 자이언츠

주말 이틀 연속 직관하러 왔다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 어제 이겨서 기쁜 맘으로 응원 하러 옴 오늘도 잠실 구장 사람 꽉 찼다. 롯데는 원정 팀이지만 응원 소리가 홈팀인 엘지 보다 큰 것 같다.. 롯데 응원가도 되게 인상깊은게 쌔리라 안타쌔리라 이런거랑,,, 오늘 롯데가 승리한다 롯데 이런거 중독성 있더라. 전준우 선수 나올때 유후~~~~~~~유후~~~~~ 하는거랑ㅎㅎ 유후 따라하게 됨 오늘 날씨가 습하고 더워서 선수나 팬이나 다 힘들었을 것 같다. 근데 토요일이 더 더웠음;; 음식은 파오파오 새우만두랑 고기만두 먹었고 잠실새내에서 깻잎닭강정 사먹었는데 사진을 안찍었네 파오파오 진짜 최고ㅠ가성비랑 맛이랑 다 잡음 요건 루피 부채! 엄청 귀엽고 바람도 시원시원 부채 접은 다음에 손바닥 때리..

23.06.24 LG 트윈스 VS 롯데 자이언츠

롯데 팬 친구와 키움 팬 친구랑 같이 엘지 롯데 경기를 보러 왔다. 금요일에 엘지가 져서 ,,, 오늘은 이겨야 한다는 생각으로 열심히 응원했다! 나는 엘지 응원하고 롯데 팬 친구는 롯데 응원하고 키움 친구는 양 팀 다 응원했음 ㅎ 엘지가 큰 점수 차로 이겼고 롯데 친구는 게임 끝날 때 쯤엔 엘지 응원가 불렀다 ,,, 손호영 선수 초구부터 쓰리런 홈런 최고 위의 사진 시야는 네이비 4열 시야! 생각보다 공 되게 잘보인다. 근데 이 날 되게 더웠음.. 다른 자리도 마찬가지겠지만 더워서 땀 많이 흘렸다 ... 음식은~~~~~~~~~~ 원샷의 어니언 터랭??? 맛으로 먹었다. 저번에 로제 맛 먹었는데 어니언이 더 맛있는듯! 이건 매 경기때마다 하는 화이팅 모습 엘튜브 보면 무슨 대화 하는지 알 수 있다. 근데 ..

23.06.18 LG 트윈스 VS 두산 베어스

잠실 더비는 처음 보러 왔다. 키움 팬 친구랑 롯데 팬 친구랑 같이 엘지 응원했다! 잠실 구장을 같이 써서 그런가,, 팬들 응원 되게 열심히 했음 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 근데 역시 야구 여름에 보는 건 쉽지 않다. 손풍기 필수!!! 시원한 마실 거 필수!!! 점수 차이가 2회부터 크게 나서 아파트를 불렀다. 으쌰라으쌰 으쌰라으쌰 두산도 후반에 점수 따고 아파트 불렀다! 잠실 더비가 팬들 열정 넘쳐서 확실히 재밌는 듯 근데 블로그에 올리는 사진 각도가 항상 비슷한 거 같다. 구분 하기도 힘든, , , , , 음식은 잠실새내에서 파오파오 새우만두, 김치만두랑 깻잎닭강정 중 사이즈로 사서 먹었는데 가성비 굳굳 자주 이렇게 먹을 것 같다!

23.06.14 LG 트윈스 VS 삼성 라이온즈

맨날 네이비 석에서만 보다가 처음으로 블루석 예매 성공! 위의 사진은 107 블록 11열에서의 시야이다. 확실히 네이비 석에서 볼 때 보다 선수들이 가까이서 보이고 좌석 간격이 좀 더 넓은 느낌이라 좋았지만 스피커 소리가 생각보다 커서 처음에는 좀 놀랐다 ㅋㅋㅋㅋㅋㅋ 금방 적응 됨! 레드랑 오렌지석도 앉아보고 싶은데 오렌지 석은 경쟁이 너무 치열하다 ㅠㅠ 연간 회원 가입 못한게 넘 아쉽다..ㅠ 선예매 혜택 ㅠㅠㅠ 내년엔 꼭 가입해야지 몸푸는 선수들! 이번에도 잭슨피자 먹었다! 많이 안먹어봤지만 잠실야구장 근처에서 제일 맛있는 거 같다. 사진 보니까 또 먹고싶네 ㅎㅎ 이겨서 너~~~~~~무 좋지만 어제 오늘 둘 다 1점 차이라 계속 긴장하고 봤다 히.. 선수들 다치지 말고 시즌 끝까지 좋은 경기 했으면 좋..

JavaScript의 this

단독으로 쓰거나 함수 안에서의 this Node.js에서는 global 브라우저에서는 window 엄격 모드에서는 undefined function f1() { return this; } // 브라우저 console.log(f1()); // window console.log(this); // window f1() === window; // true // Node.js console.log(f1()); // global console.log(this); // global f1() === global; // true function f2(){ "use strict"; // 엄격 모드 return this; } console.log(f2()); // undefined f2() === undefined; // ..

23.06.04 LG 트윈스 VS NC 다이노스

6월 3일 경기를 지고 다음 날 다시 엔씨랑 하는 경기를 보러 왔다... 한 판 졌으니 이길 줄 알았는데 또 졌다....... 스윕패라니 씁쓸 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그래도 잭슨피자 맛있었고 데님 유니폼도 샀당 ㅋ 이건데 팬 디자인 공모전을 통해 당선된 거라고 한다. 너무 예쁘고 한정 판매라고 하니까 살 수밖에 없었다ㅋ 근데 대만족!!! 짱 이쁨!!! 마킹은 또 8번 문성주 선수했다. 서울 유니폼을 사게 되면 마킹은 다른 선수 해야지ㅎㅎ 근데 요즘 야구에 푹 빠져서 거의 야구 글만 작성하네.. ??? 허허

JavaScript 소수점 반올림, 올림, 내림, 버림 처리

Math.round() 입력된 숫자를 소수점 반올림하여 반환 Math.round(4.5) // 5 Math.round(9.2) // 9 Math.round(-4.5) // -4 Math.round(-4.9) // -5 Math.round(-9.2) // -9 Math.ceil() 입력된 숫자를 소수점 올림하여 반환 Math.ceil(4.2) // 5 Math.ceil(9.9) // 10 Math.ceil(-4.2) // -4 Math.ceil(-9.9) // -9 Math.floor() 입력된 숫자를 소수점 내림하여 반환 Math.floor(4.7) // 4 Math.floor(9.2) // 9 Math.floor(-4.2) // -5 Math.floor(-4.7) // -5 Math.floor(-9.2..

JavaScript flat(), flatMap()

ES2019에 추가된 flat(), flatMap()에 대해 알아보자. flat() 지정한 깊이(기본값 1)까지 하위 배열을 평탄화한 새로운 배열로 생성하여 반환한다. 배열의 구멍도 제거한다. 구문 const newArr = arr.flat([depth]) 예제 const arr1 = [1, 2, [3, 4]]; arr1.flat(); // [1, 2, 3, 4] const arr2 = [1, 2, [3, 4, [5, 6]]]; arr2.flat(); // [1, 2, 3, 4, [5, 6]] const arr3 = [1, 2, [3, 4, [5, 6]]]; arr3.flat(2); // [1, 2, 3, 4, 5, 6] const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 1..