목록전체 글 (93)
y.developer
2024.02.07 수 일단 미팅을 준비하는 사람이 PPT를 만들지 않는다.(PPT를 제외하거나 만들더라도 의존하지 않는다) 왜냐하면 PPT는 주요 키포인트만 툭툭 찍어서 만들면 되니까 논리적인 허점이 많다는 것이다. 그래서 미팅을 준비하는 사람이 무려 2주 동안 A4 용지 6장 분량의 글을 쓴다. 지금 우리의 문제가 무엇인지, 이 미팅을 통해서 우리가 어떤 해결책을 도출해 내야 하는지, 아주 논리정연한 글을 작성한다. 그리고 미팅 시간이 되면 모든 참가자들이 미팅룸에 모인다. 그후 30분 동안 아무 말도 하지 않고 글 읽는 시간을 가진다. 그리고 나서 회의를 시작한다. 그 이유는 모든 사람들이 너무 바쁘기 때문이다. 미리 글을 읽어오라고 지시하면 그 글을 제대로 읽을 시간이 없기 때문에 사람들이 회의에..
2024.02.06 화 Crosswalk 프로젝트에서 기술적 강점 프로젝트를 진행할 때 어떤 도전을 했는가? Supabase Realtime을 활용한 실시간 채팅 및 알림 호감도 알고리즘 PWA 3D 애니메이션 구현 기술적 의사 결정 핵심기술을 정리하고, 각 기술을 도입하게된 의사결정 과정은? 내가 엔지니어로서 자질이 있다는 것을 어필하는 것이 중요하다. 엔지니어는 문제를 해결하는 사람이다. 따라서 우선 문제 정의를 정확하게 하는 것이 중요하고, 그에 따른 해결방법을 도출해낸 과정이 중요하다. 어떤 요구사항이 있었는지, 구현할 수 있는 어떤 선택지들이 있었는지, 어떠한 이유와 근거로 기술을 최종 결정하게 되었는지 정리해보자. 1. 실시간 채팅을 어떻게 구현할까? 선택지 : Supabase Realtime..
2024.01.31 수 추가적인 정리 필요! 트러블슈팅 내용 보고 다시 정리하자 Trigger 트리거는 데이터베이스에서 특정 이벤트가 발생할 때 자동으로 실행되는 일련의 작업이나 프로그램이다. 해당 이벤트는 주로 데이터 조작 언어(DML) 문장들의 실행에 의해 발생하며, 예를 들면 INSERT, UPDATE, DELETE와 같은 작업이 해당된다. 트리거의 주요 목적은 데이터베이스의 무결성(integrity)을 유지하고 비즈니스 규칙을 강제하기 위함에 있다. 데이터 조작이 발생할 때마다 실행되므로, 특정 조건이나 규칙을 준수하도록 강제할 수 있다. 무결성 유지: 트리거를 사용하여 데이터베이스의 무결성 규칙을 강제하고 잘못된 데이터 조작을 방지합니다. 이력 추적: 데이터 변경에 대한 이력을 추적하기 위해 트..
2024.01.30 화 1. 바닐라 자바스크립트 대신 React를 쓰는 이유는 무엇인가요? ▶ 튜터님과 기술면접 진행시 답변한 내용 정리 컴포넌트 단위로 관리를 할 수 있다. 관계성이 단방향이다. 명시적으로 판단? 코드를 읽을 때 편리하다? 가상 돔을 활용하여 일반적인 javascript를 활용하는 것보다 성능적인 면에서 이점이 있다고 생각한다. 자바스크립트는 5번의 요청을 한다면 가상돔은 한 번에 업데이트를 할 수 있다. ▶ 보완 사항 개발자의 개발 효율성 참고 링크 https://yoosioff.oopy.io/d7e35b36-4ddd-4c9c-b515-4920248447b2 https://code-lab1.tistory.com/374 https://callmedevmomo.medium.com/virt..
2024.01.29 월 1. 개발자가 되기로 한 이유가 무엇인가요? ▶ 튜터님과 기술면접 진행시 답변한 내용 정리 적성에 맞는 것을 찾으려고 함 → 개발자라는 직업이 방향성과 적합하다고 생각 무언가를 만드는 것을 좋아하고, 문제를 개선적으로 해결할까 & 좋은 방향으로 나아갈 수 있을까를 고민하는 것을 좋아한다. → 개발자가 되기를 원한다. ▶ 보완 사항 좀 더 자신만의 예시를 추가해주면 좋을 것 같다. 2. css 프레임워크로 tailwindcss 와 nextui를 사용하고 있는 것으로 보이는데 css를 위해 두 가지를 사용하시는 이유가 무엇인가요? ▶ 튜터님과 기술면접 진행시 답변한 내용 정리 tailwindcss → 주로 사용함 & 애니메이션 활용 효율적으로 사용하고자 이미 만들어진 component..
2024.01.26 금 1. 프론트엔드 개발자로서 프로젝트를 진행하는데 가장 중요하게 생각하는 부분은 어떤 건가요? 사용자 경험 (User Experience): 프로젝트의 핵심은 사용자에게 훌륭한 경험을 제공하는 것입니다. 직관적이고 쉽게 사용할 수 있는 인터페이스를 설계하고, 성능을 최적화하여 빠르고 반응성 있는 사용자 경험을 제공해야 합니다. 반응형 디자인 (Responsive Design): 다양한 디바이스와 화면 크기에 대응하여 웹 애플리케이션이나 웹사이트가 모바일, 태블릿, 데스크탑 등 다양한 플랫폼에서 잘 작동하도록 해야 합니다. 크로스 브라우징 (Cross-Browser Compatibility): 다양한 웹 브라우저에서 일관된 동작을 보장하고, 호환성 문제를 최소화하기 위해 크로스 브라우..
2024.01.25 목 1. Next.js의 page router로 구현하기로 했는데 app router로 변경하신 것 같네요. 이유가 있을까요? 프로젝트 전반에 걸쳐 큰 틀이 될 프레임워크의 버전이므로 큰 고민을 했습니다. 두 부분 모두 장단점이 존재했기 때문입니다. 결론적으로는 모바일 친화적인 서비스를 제작하고 있으며, PWA 추후에는 앱으로 확장할 가능성이 있기 때문에 성능적으로 더 이점이 있는 App Router를 사용하기로 결정했습니다. Page Router는 비교적으로 오래전부터 써오던 기술이기 때문에 다수의 회사에서 여전히 사용하고 있습니다. 그 이유에는 App Router와는 운영 방법이 다르기 때문에 마이그레이션을 진행하기 어렵다는 이유도 있을 것입니다. 그리고 Page Router에 대..
2024.01.24 수 1. Virtual DOM이란 무엇이며, 실제 DOM과 어떤 차이가 있나요? DOM(Document Object Model)은 웹 페이지의 구성 요소들을 트리 구조로 표현한 것입니다. 즉, HTML 문서의 각 요소들을 노드로 나타내는 방식입니다. 가상 DOM은 실제 DOM의 완벽한 복사본 형태로, 메모리 상에 존재하는 자바스크립트 객체로 이루어져 있습니다. 핵심 장점은 효율적이라는 점입니다. 실제 DOM을 변경하는 작업은 성능상 무겁고 시간이 많이 소요될 수 있는 반면, 가상 DOM에서는 자바스크립트 객체를 변경하는 것이기 때문에 훨씬 더 가볍고 빠릅니다. 더불어, 배치 업데이트(Batch Update)의 개념이 있습니다. 예를 들어, 화면에 있는 여러 개의 엘리먼트가 변경되어야 ..