- [ Frontend ][Frotend] Firebase 공부2025-03-12 17:04:51Firebase 공부 Firebase란?- Firebase: 실시간 데이터베이스, 인증, 스토리지, 분석 등 다양한 기능을 제공하는 모바일 및 웹앱 개발 플랫폼- 2011년 스타트업에서 시작 (실시간 채팅 기능) >> 2014년 구글이 인수 (백엔드 서버리스)- 백엔드 서버 구축하고 관리 X. Google Cloud Platform을 이용해 빠르고 효율적인 개발- 특히 실시간 기능 서비스, 클라이언트 사이드 집중, 초기 프로토타입 개발에 유용 Firebase 주요 기능1. Authentication: 간편한 다중 플랫폼 로그인- 이메일 인증, 소셜 미디어 계정 인증, 전화번호 인증방식 제공- 보안 강화, 사용자 인증 과정 안정하게 처리 2. Firestore: NoSQL 데이터베이스- Firebase에..
- [ Frontend/React ][React] CRA에서 Vite로 마이그레이션 과정2025-03-11 14:53:19CRA(Create-React-App)에서 Vite로 마이그레이션 과정 1. 들어가며지금까지 협업 프로젝트와 토이 프로젝트를 진행하면서 항상 Webpack 번들러를 사용해왔다. 하지만 프로젝트 규모가 커질수록 개발 서버 구동 시간과 빌드 시간이 눈에 띄게 느려지는 것을 경험했었고 마음속에 답답함이 있었다. 이러한 성능 이슈를 해결하고자, 이번 토이 프로젝트에서는 더 빠른 번들러로 알려진 Vite로 마이그레이션을 진행해보고 싶었고 그 경험과 과정을 공유하고자 포스팅을 하게 되었다. 2. CRA(Webpack) VS Vite(rollup, esbuild) CRA는 Webpack을 기반으로 구성되어 있고, Vite는 rollup, esbuild를 기반으로 구성되어 있다. Webpack은 프론트엔드 공부를 ..
- [ Frontend/React ][React] React Hook Flow - Mount 부터 Unmount까지2025-03-04 12:49:50React Hook Flow - Mount 부터 Unmount까지 이번 포스팅에서는 React Hook Flow Diagram을 통해 리액트 컴포넌트의 생명주기동안 훅이 언제 실행되는지 공부한 내용을 포스팅 해보려고 한다.추가적으로 useEffect 와 useLayoutEffect를 비교하면서 언제 해당 훅을 사용하는게 좋을지도 같이 고민한 내용도 추가했다. Mount, Update, Unmount?- Mount: 컴포넌트가 페이지에 처음 렌더링 될 때를 의미- Update: 부모 컴포넌트가 리렌더링 or state, props가 변경되어 리렌더링 될 때를 의미- Unmount: 컴포넌트가 DOM에서 제거될 때를 의미 이제 React Hook Flow를 보면서 Mount, Update, Unmout 마..
- [ Frontend/JavaScript ][JavaScript] Call Stack, Task Queue, Event Loop 쉽게 이해해보자2025-02-21 17:47:41Call Stack, Task Queue, Event Loop JavaScript 언어를 공부하던 중 비동기 처리 방식을 이해하기 위해서는 Call Stack, Task Queue, Event Loop의 개념을 알아야 한다는 것에서부터 흥미를 느껴 공부한 내용을 기록해보려고 한다. 작성 순서1. Call Stack, Task Queue, Event Loop 란?2. Call Stack, Task Queue, Event Loop 이해하기 위한 나만의 설명 + 사진 그럼 이제 자바스크립트에서 함수를 호출할 때 보이지 않는 곳에서 무슨 일이 일어나는지에 대해서 살펴보자. 1. Call Stack, Task Queue, Event Loop 란?콜 스택(Call Stack)모든 프로그래밍 언어에는 보이지 않..
- [ Frontend/CSS ][CSS] - visibility VS display 애니메이션 적용 차이2025-02-13 14:42:52[CSS] - visibility VS display 애니메이션 적용 차이 어떻게 해야 더 깔끔하게 코드를 작성할 수 있을까? 공부중 다른 개발자분의 드롭다운 메뉴 CSS 코드를 보게 되었다. 여기서 지나칠 수 있었지만 나는 드롭다운 메뉴를 구현할 때 display(block, none)를 이용해 작성하는데왜 이분은 visibility(visible, hidden)를 사용할까? 라는 의문을 계기로 코드를 동작시켜보며 알게된 내용을 공유하고자 포스팅하게 되었다. Display우리가 흔히 사용하는 display 속성은 요소를 어떠한 형태로 나타나게 할 것인지를 말하는 속성으로 4가지가 있다.display : blockdisplay : inline-blockdisplay : inlinedisplay : no..
- [ Frontend/HTML ][HTML] input type="submit" VS button type="submit"2025-02-09 17:28:43input type="submit" VS button type="submit" 강의를 들으면서 공부 중 제출 버튼을 구현하는데 button이 아닌 input에 type을 submit으로 지정해서 버튼을 구현하는 모습을 보고 궁금증이 생겼다. 결론적으로는 둘 다 사용가능하지만 button을 더 많이 사용합니다. 기능적 차이는 없을까?폼 전송 기능을 담당하는 과 은 기능적으로 동일합니다.기능적으로는 button에 type을 명시하지 않으면 기본적으로 submit을 실행하기 때문에 form에서 사용하기에 딱 입니다. Button의 type 속성값브라우저별 기본 button 요소의 기능이 다를 수 있기 때문에 꼭 넣는걸 추천합니다.- type="submit" : 폼의 전송 기능을 담당합니다.- type="..
- [ Frontend/CSS ][CSS] - 3D 애니메이션 구현 (backface-visibility, perspective, rotate)2025-02-08 17:04:583D 애니메이션 구현 (backface-visibility, perspective)완성본 배운점요소 회전 시키기 (동전 뒤집기)요소를 회전시켰을 때 원근감이 느껴지도록 하려면 rotate와 perspective를 함께 사용해야 합니다.스타벅스 배지가 실제로 이미지에 붙어 있는 것 같은 효과를 주기 위해 회전 효과가 필요했는데 rotateX 뿐만 아니라, 다음처럼 스크린을 감싸는 부모 요소에 perspective라는 프로퍼티를 추가해줘야 했습니다.그 이유는 perspective가 원근감을 결정하기 때문! 1. 초기 모습, 코드 앞 뒤 2. absolute- front에 absolute를 넣어 부모 요소를 기준으로 배치해줍니다..container .item...
- [ Frontend/React ][React] RSC VS SSR 무슨 차이가 있을까?2025-02-05 17:30:44RSC VS SSR 무슨 차이가 있을까? 포스팅 하게 된 계기 유튜브에서 프론트관련 영상을 보던중 RSC라는 단어를 처음 들어서 검색하던 중 React와 관련된 내용인데 React를 사용하는 입장에서 처음 들어보는 단어이기에 흥미가 생겨 찾아보기 시작했습니다. 필자는 Next.js App router를 사용해 프로젝트를 진행해본 경험이 있습니다.App router를 사용해본 사람은 'use client'를 무조건 보고 사용해 본 경험이 있을겁니다. 이러한 지시어가 RSC에서 온 개념 생기면서 나오면서 생긴 기능이라는 말이 흥미로웠습니다. React18에서 새롭게 등장한 가장 핫한 기능인 React Server Component(RSC)에 대해 작성해보겠습니다. React Server Component..
- [ Frontend/취준 - 코딩테스트 공부 ][코디테스트 공부] - JavaScript Array.fill()의 함정 (참조 타입과 원시 타입의 차이)2025-02-05 16:17:05JavaScript Array.fill()의 함정 (참조 타입과 원시 타입의 차이) 작성 배경DFS, BFS와 같은 그래프 알고리즘을 구현하면서 2차원 배열을 만들어 초기화하는 경우가 많습니다.특히 인접 리스트를 만들거나 방문(boolean) 배열을 초기화할 때 충분히 만날 수 있는 문제라고 생각합니다. (그게 바로 저..) 사전 지식JavaScript에서 데이터 타입은 크게 두 가지로 나뉠 수 있습니다.1. 원시 타입- Number, String, Boolean, null, undefined 등- 값 자체가 복사됨2. 참조 타입- Object, Array 등- 메모리 주소가 복사됨 예시 코드// 1. 원시 타입 예시const 원시타입배열 = new Array(3).fill(false);원시타입배열[..