| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- JS 코딩의 기술
- Pr
- javascript
- Git
- react
- 동시성 모드
- CSS
- es module
- form
- 티스토리챌린지
- 협업
- 가상 스크롤
- next.js
- EVENT
- Study
- 광탈페
- Fe
- react-query
- 일관리
- js
- frontend
- typescript
- 개발자
- 회고록
- JWT
- 오블완
- 회고
- 개발
- 광주탈렌트페스티벌
- github
- Today
- Total
목록frontend (47)
ougi FE
오늘은 저희 팀 친구가 정말 가볍고 좋은 무한 스크롤 그리고 가상 스크롤 라이브러리를 내서 저희 프로젝트에 적용 하는 겸 이렇게 무한 스크롤과 가상 스크롤에 대해서 글을 쓰게 되었습니다무한 스크롤이란?무한스크롤이란 말 그대로 연속적인 스크롤을 제공하는 UI/UX 요소입니다화면에 표시된 아이템 목록의 끝까지 내려갔을 때 자동으로 다음 데이터를 요청하여 추가 아이템을 불러오는 기술입니다페이지네이션과의 차이는 페이지네이션은 다음 페이지로 넘어갈 때 api가 호출되어 데이터를 불러오지만무한 스크롤은 스크롤할 때마다 api가 데이터를 불러옵니다한 번에 모든 데이터를 불러오는 것이 아니라서 큰 장점이 있습니다적용 사례는 유튜브, 인스타그램 등 많은 소셜 미디어에 적용되어 있습니다하지만 페이지에 과도한 요소가 추가되..
오늘은 제가 매일매일 확인하는 메일매일 질문에서 동시성 모드라는 것이 왔는데 제대로 아는 것이 없어서오늘 알아보고자 이렇게 글을 써보게 되었습니다동시성 모드(Concurrent mode)란?여러 작업을 비동기적으로 동시에 처리하면서도 중간에 더 중요한 작업이 들어오면 우선순위를 바꿔서 그 작업을 먼저 처리하는 기능입니다 예전 리액트는 스택 구조로 이루어져 있습니다현재는 Fiber 구조로 이루어져 있어서 동시성 모드로 중간에 멈추거나 작업을 잠시 뒤로 미뤄둘 수 있게 되었습니다 동시성 모드를 사용하면 더 부드럽고 즉각적인 반응의 애플리케이션 경험을 줄 수 있습니다반응성과 성능이 향상됩니다 특징1. 비동기 렌더링한 번에 끝내지 않고 필요에 따라 나누어 처리합니다중요한 작업이 생기면 중단, 해당 중요 작업을 ..
이번에 드디어 제가 열심히 준비하던 광주탈렌트페스티벌이 끝났습니다 9/27에 실제 공연장에서 실시간으로 했었는데 이 공연장에서 겪었던게 많은거 같아요프로젝트 시작먼저 이 프로젝트를 어떻게 시작하게 되었는지부터 이야기 해보려고 합니다저희 학교에서는 매주 목요일에 전공 동아리 활동을 진행하는데 저는 새로 신설 된 인큐브 동아리에서 새로 시작하는 마음으로 참여하게 되었습니다동아리 활동 두번째 시간쯤 되었을 때 갑자기 동아리 부장 선배님이 광탈페라는 프로젝트를 할 사람을 모으신다고 하셨습니다저는 이 프로젝트가 외주라는 이야기를 듣고 좋은 경험이 될 것 같아서 바로 저도 합류하고 싶다고 말씀드렸습니다첫 회의첫 회의 때는 프로젝트 인원을 확정 짓고 일정을 정리했습니다그리고 저희는 디자인이 중요한 프로젝트 였어서 디..
오늘은 제가 광주탈렌트페스티벌이라는 프로젝트를 하다가 실시간 투표를 구현하면서 SSE를 쓰게 될 뻔해서 글을 적어보았습니다하지만 결론적으로 사용하진 않았습니다 ㅠㅠSSE란?SSE는 Server-Sent-Events의 약자인데 서버에서 클라이언트로 실시간 이벤트를 전송하는 기술입니다하지만 web-socket과 다르게 HTTP 프로토콜을 기반으로 하여 동작합니다서버에서 클라이언트로 단방향으로 데이터를 푸시합니다주로 실시간 알림, 주식 시세 업데이트 등 같이 서버에서 발생하는 이벤트를 클라이언트에 즉시 반영해야 할 때 사용합니다 SSE는 웹소켓과 달리 Client가 Server로부터 데이터만 받을 수 있는 방식입니다구현이 간편합니다접속에 문제가 있으면 자동으로 재연결 시도를 하지만 클라이언트가 close해도 ..
오늘은 제가 처음으로 책 스터디를 진행하게 되어서 JS 코딩의 기술을 읽고저는 제5장 반복문을 단순하게 만들어라에 대해서 써보려고 합니다책에 대한 평가를 하고 제가 적기로 한 5장에 대해 설명하고 책 스터디 느낀 점, 마무리 순서로 이야기해 보겠습니다책에 대한 평가먼저 저의 개인적인 평가는 너무 이론만 담겨있는 게 아니라 많이 유용하게 쓰이는 꿀팁들이 여러 가지 들어있는 거 같아서다른 이론을 중시하는 책보다는 좋다고 느꼈습니다그리고 그냥 팁들만 있는 것이 아니라 좋은 예시 코드들이 내용을 탄탄하게 받쳐주고 있는 느낌을 많이 받았습니다목차들의 제목들도 안에 있는 내용들이 잘 와닿게 작성되어 있어서 원하는 부분만 골라먹어 볼 수 있을 거 같았습니다그리고 새로운 장을 시작하기 전에 분위기를 풀어주는 문장들도 ..
오늘은 개발하다가 친구가 모든 코드에 이 낙관적 업데이트를 적용 해놓은 걸 보았습니다..근데 저의 생각으로는 이렇게 모든 곳에 낙관적 업데이트를 적용하는게 바르지 않다고 생각하여서이게 무엇이고 어떻게 하는지 구체적으로 알아보려 합니다낙관적 업데이트란?낙관적 업데이트는 웹 애플리케이션에서 사용자 경혐을 향상시키기 위해 사용되는 개념이라고 합니다주로 네트워크 요청이나 데이터 업데이트와 관련하여 사용합니다낙관적 업데이트는 서버로 보낸 요청이 정상적일 것이라고 미리 예상하고클라이언트 요청에 대한 응답이 오기 전에 클라이언트의 데이터를 미리 업데이트 된 상태로 변경하는 작업을 말합니다장점사용자가 행동을 하면 즉각적으로 피드백이 되어서 사용자 경험이 향상됩니다단점만약 오류가 발생한다면 ui가 잠깐이라도 불일치할 수..
오늘은 저희 프로젝트가 빌드 시간이 굉장히 오래 걸려서 해결방법을 찾다가 도입해볼까 고민하게 된 webpack-bundle-analyzer를 소개해보려고 합니다webpack-bundle-analyzer가 무엇일까webpack-bundle-analyzer란 웹팩으로 빌드를 할 때 최종 결과물이 어떻게 번들 됐는지 시각적으로 보여주는 도구입니다프로젝트의 JS 번들 크기, 어떤 라이브러리가 얼마나 차지 하는지 그래프로 예쁘게 시작적으로 보여준다고 합니다크기를 보면서 너무 큰 공간을 차지하는 것을 제거하여서 최적화할 수 있습니다 대표적으로 큰 라이브러리 몇가지를 말하자면Three.js, TensorFlow.js, Chart.js, moment.js, lodash.js 등등이 있다고 합니다사용하기npm insta..
요즘 저희 스터디원들이 자신의 생각을 담은 블로그를 많이 쓰고 있는데 저는 한 번도 저의 생각을 담은 블로그를 써본 적 없는 것 같아처음으로 기술 블로그가 아닌 저의 생각과 의견을 담은 블로그로 돌아왔습니다 왜 이런 생각을 하게 되었는가?먼저 제가 왜 이런 생각을 하게 되었는지 말을 해보자면많은 개발자들이 단지 며칠 지난 자신의 코드도 더럽다는 생각을 해본 적 있을 것입니다그리고 저 또한 매번 프로젝트를 여러 개 할 때마다 그냥 다 갈아엎고 다시 하고 싶다는 생각을 많이 했던거 같습니다또한 더 많은 기술들을 도입해서 처음부터 다시하고 싶다는 생각도 많이 했던거 같습니다 이러한 생각들로 인해 게으른 개발자가 되어야 한다는 결과를 냈습니다 내가 생각하는 게으른 개발자란?제가 생각하는 게으른 개발자는 진짜 말..
오늘은 기본 중에 기본인 CommonJS와 ES Module에 대해서 알아보고 둘의 차이에 대해서도 알아보겠습니다 Module이란?Module이란 코드를 기능별로 분리해서 재사용 가능하게 만든 단위입니다JS에서 모듈은 변수, 함수, 클래스 등을 내보내고 다른 파일에서 가져올 수 있도록 해줍니다CommonJS란?CommonJS 모듈은 원래 nodejs에서 자바스크립트 패키지를 불러올 때 사용하는 근본있는 방식입니다현재 여러 방식을 지원하지만 태초에는 CommonJS 방식이 유일 했다고 합니다require() 함수를 사용하여 모듈을 가져오고 module.exports를 사용하여 모듈을 내보냅니다동기적으로 작동하고 모듈이 로드될 때까지 코드 실행이 중단됩니다트리쎼이킹이 어렵다는 단점을 가지고 있습니다 예제//..
오늘은 평소에도 알아보고 싶었던 ts.config.json 파일 세팅에 대해서 깊게 파보겠습니다tsconfig.json 파일이란?tsconfig 파일은 프로젝트 컴파일하는 데 필요한 루트 파일과 컴파일러 옵션을 지정해놓은 파일이라고 합니다디렉토리에 tsconfig.json 파일이 있다면 해당 디렉토리가 TypeScript 프로젝트의 루트가 됩니다javaScript 프로젝트에서는 jsconfig 파일과 거의 동일합니다전역 속성대표적인 전역 속성 몇가지만 알려드리겠습니다include: 컴파일 대상 경로 (예시: "include": ["src/**/*"])exclude: 제외할 파일 폴더 (예시: "exclude": ["node_modules", "dist"])extends: 중복되는 설정을 분리해서 재사용 ..