본문 바로가기

전체 글62

[TanStackQuery] ReactQuery 개념 정리 React Query란? • 리액트에서 복잡한 데이터 상태 및 비동기 작업 관리를 간편하게 처리할 수 있는 기능을 제공하는 라이브러리• 데이터 캐싱, 리패칭, 뮤테이션 등과 같은 복잡한 작업들을 편하게 수행할 수 있게 해줌• 자동으로 데이터를 캐싱하여 네트워크 요청을 최소화함• 실시간 동기화를 지원하여 데이터가 변경될 때 자동으로 새로운 데이터를 업데이트함• 쿼리를 통해 서버 요청을 효과적으로 관리할 수 있음(중복 요청 방지, 요청 취소, 재시도)• 성숙한 생태계를 가지고 있고, 타입스크립트를 지원하고, Next.js와의 통합이 잘 되어 있으며, 비동기 작업 관리에 매우 편리함 React Query 주요 기능• 데이터 가져오기와 캐싱: useQuery 함수를 사용 하여 데이터 불러오기, 자동 캐싱, 중복.. 2024. 10. 20.
[food-app] next.js에서 getStaticProps 사용 하다가 마주친 에러 에러 발생 상황data.json파일을 직접 import하는 방법 대신 서버에 요청해서 받아오려고 코드를 수정했다. next.js에서 getStaticProps를 사용해서 데이터를 받아오기 위해 아래와 같이 코드를 작성했다.export async function getStaticProps() { const stores = await fetch( ${process.env.NEXT_PUBLIC_API_URL}/api/store ).then((res) => res); return { props: { stores }, revalidate: 60 * 60, };}에러 원인데이터를 받아서 json으로 바꿔주는 작업을 하지 않아서 데이터를 인식할 수 없었던 것이었다. 그래서 json으로 바꿔주는.. 2024. 10. 7.
[9월] 슬슬 슬럼프가 올 때가 된거지 Intro인턴이 끝나고 잘 놀았는데 너무 잘 놀았는지 다시 마음을 잡는게 쉽지 않았다. 꾸준히 하는데 성과가 없는것 만큼 지치는 일이 없는것 같다. 프로젝트를 후다닥 하고 이력서와 포폴에 추가하자는 나의 야심찬 계획은 희망사항일 뿐이었다. 나는 디자인과 기획이 빠진 개발만 하면 금방 끝낼 수 있을 줄 알았다. 어림없지.. 사실 마음이 심란하다는 핑계, 경쟁이 너무 치열하다는 핑계 등등 이런저런 이유를 만들어 현실을 잠깐 도피하고 싶었다. 근데 그것도 마음대로 되는건 아니였다. 뭐 어떡하냐.. 버텨야지.. 그래서 알바를 새로 구하게 되었다. 언제까지 알바로 시간을 죽일수도 없는데.. 하지만 일단 올해까지는 해보자 라고 또 타임 리밋을 걸어버렸다. 1. 야심차게 리액트 블로그 프로젝트를 계획했다. 추석 전에.. 2024. 9. 30.
[Firebase] Auth, Store 사용하기 Firebase 설치yarn add firebase React 앱에서 Firebase 초기화import firebase from 'firebase/app'const firebaseConfig = { apiKey: process.env.REACT_APP_API_KEY, authDomain: process.env.REACT_APP_AUTH_DOMAIN, projectId: process.env.REACT_APP_PROJECT_ID, storageBucket: process.env.REACT_APP_STORAGE_BUCKET, messagingSenderId: process.env.REACT_APP_MESSAGING_SENTER_ID, appId: process.env.REACT_APP_ID,};f.. 2024. 9. 25.
[AWS TechCamp] AWS 서버리스로 서버 고민 없이 웹 애플리케이션 구축하기 Intro개인 프로젝트를 하면서 AWS를 사용해보고 싶다는 생각에 공부해보려고 알아보던 중 테크캠프를 한다는 소식을 접하게 되었다. 서버리스로 웹 서비스 구현하는 2개의 과정이 있었고 전부 신청해서 들어보기로 마음먹었다. 첫날 들었던 건 4가지의 aws 서비스를 연계해서 서버리스로 웹서비스를 구현하는 것이었다. 알아야 하는 것은 s3, API Gateway, Lambda함수, DynamoDB 서비스이고 각각 웹, api, 서버 동작 기능, DB와 관련된 서비스들이었다.  1. DB 만들기구현하는 순서가 평소의 프론트엔드 구현 과정과 사뭇 달라서 흥미로웠다. 먼저 DB를 생성하고 테이블을 만들어 둔 뒤에 기능에서 호출해서 사용하려고 한다는 설명을 들었다. 여기에서 주의사항은 앞으로 설정하는 서비스들과 지역.. 2024. 9. 4.
[8월] 인턴이 끝나고 잘 쉬었습니다! Intro이렇게 놀아도 괜찮을까 싶게 놀았다. 고작 10주의 인턴이었지만 그새 습관이 되었는지 일찍 눈이 떠지는데 출근을 안한다는 생각에 약간은 허탈한 기분이었다. 다시 방에서 이력서를 정리하고 개인프로젝트를 보고 있자니 한숨이 먼저 나와서 그냥 놀고 스트레스와 이런저런 감정을 정리하자는 마음이 많이 컸다. 아무래도 취준 기간이 길어지다보니 지치는 것 같다. 하지만 별수 있나 그냥 하는거지..ㅎ.. 1~2주차남은 인턴 기간을 열심히 마무리했고 많은 경험을 하게 되었다는 생각을 했다. 이미 블로그 글로 정리해 두어서 링크만 달아 놓는 걸로!https://smileyj.tistory.com/64 [일경험 인턴] 10주간의 경험을 뒤돌아보기!Intro 10주간의 인턴 과정이 끝이 난다. 분명 기록을 조금씩 해.. 2024. 8. 29.
[CSS] BEM(Block, Element, Modifier) 모델 BEM(Block, Element, Modifier) 모델은 CSS 클래스 네이밍을 체계적으로 관리하기 위한 방법론입니다. 이 모델은 CSS 코드를 구조화하고, 일관성 있게 유지하기 위해 고안된 것으로, 대규모 프로젝트에서 특히 유용합니다.BEM 모델의 핵심 개념1. Block (블록).menu { /* Block */ }블록은 독립적이고 재사용 가능한 UI 구성 요소입니다. 블록은 의미적으로 자율적이며, 다른 블록에 의존하지 않는 개별적인 기능을 수행합니다.예를 들어, 페이지의 헤더, 버튼, 메뉴, 폼 등의 UI 구성 요소가 블록에 해당됩니다.블록은 프로젝트 내에서 여러 번 재사용될 수 있으며, 다른 블록과 결합하여 복잡한 UI를 구성할 수 있습니다.2. Element (엘리먼트).menu__item .. 2024. 8. 29.
[독서] 선물받은 「나는 네이버 프런트엔드 개발자입니다」 책 읽기 이 책을 읽게 된 이유 솔직히 이야기 하면 나는 기술서적 말고 에세이같은 책은 잘 읽지 않는다. 그래서 이런 종류의 책을 살 생각은 한번도 안했던 것 같다. 이 책을 읽게 된 이유는 인턴을 하던 회사에서 CTO님이 인턴 끝날 때 선물해주셨기 때문이다. 원래는 클린코드를 주려고 하셨던 것 같지만 그 책은 이미 있어서 있다고 말씀드렸더니 고민끝에 주셨던 책이라서 흥미가 생겼다. 인턴이 끝날 때 많은 생각이 들었는데 그 중 가장 많이 든 생각은 프론트엔드 개발자로 일할 수 있을까? 사실은 적성에 안맞는데 오기로 버티는건가 하는 생각이었다. 시장이 안좋고 신입을 안뽑는 상황은 사실 예전부터 계속 있었는데 그 핑계로 내가 내 상태를 객관적으로 못보고 있나 하는 생각이 들었다. 이 책을 주실 때 하셨던 이야기가 지.. 2024. 8. 23.