전체 글

개발하며 겪은 것들을 공유합니다.
· Infra
프론트엔드 서버를 사용하던 환경에서 팀 내부적으로 굳이 프론트 서버 기능이 없다고 판단해 정적 배포로 전환하였습니다.이전까지의 CI/CD 플로우는 젠킨스를 활용해 특정 액션에 훅을 걸어 자동 배포되는 구조였습니다. 이전에 쓰던 젠킨스 프론트엔드 파이프라인을 다시 설정해서 써야하는 상황이었는데..프론트엔드 깃허브 레포를 정리하는 김에 깃허브 액션을 써볼까 해서 시도를 해봤습니다.깃허브 내부에서 해결할 수 있다면 젠킨스 비용을 절약할 수도 있겠다~ 했구요.S3, CloudFront등 AWS 기본 셋업이 되어 있다고 가정합니다.1. 깃허브 액션용 IAM 계정 설정원하는 이름으로 새 IAM 사용자를 생성합니다.생성이 완료된 IAM 계정의 액세스 키를 발급받아 저장해놓습니다. (발급했을 때만 보여주니 잘 저장해놓..
· Algorithm
# Prev code: 사다리타기 구현을 너무 복잡하게 생각했음.# def run_ladder(lines):# res = [0 for x in range(n)]# for i in range(1, n + 1):# x, y = i, 0# while y 1 or lines[start][1] 사다리 타기 문제를 푸는 것에 실패했습니다.처음 접근할 때 기본적으로 전체적인 솔루션을 구상하긴 했으나, 사다리 타기 시뮬레이션을 깔끔히 구현하는 것에 성공하지 못했습니다.이전 코드와 비교하여 해설의 코드를 적용한 솔루션을 기록합니다.사다리 타기 로직과 아직 머릿속에서 불완전했던 조합 전개 부분을 학습했습니다.
· Frontend
개발 중 ref 객체를 자식 컴포넌트에 전달하는 과정에서 에러를 겪었습니다.이왕 정리할 거 ref에 대하여 한번에 다 정리하자 싶어서 작성합니다.ref란?크게 2가지 용도로 ref를 사용할 수 있습니다.컴포넌트가 일부 정보를 기억하고 싶게 하고싶지만 리렌더링을 유발하게 하고 싶지 않을 때DOM 요소에 직접 접근하고 싶을 때이번 포스트에서는 2번 용도에 대한 내용입니다. 1번에 대해서는 기회가 되면 다뤄보겠습니다.Ref로 DOM 조작하기보통 React로 개발을 할 때 DOM을 직접 조작할 일은 많지 않습니다. (React가 자동으로 해주니까요!)하지만 가끔 직접적인 DOM 접근이 필요합니다. 이번 같은 경우는 특정 노드에 포커스를 옮기는 경우입니다.예시 코드를 통해 보겠습니다.import { useRef ..
· Frontend
Next + Nest + Nginx의 조합으로 돌아가는 MVP 제품 개발 환경에서 문제가 발생했습니다.기획 당시 SEO를 중시하는 프로젝트 특성 상 앱 라우터를 선택했고,앱 라우터는 페이지간 라우팅 시 서버 렌더링이 원칙입니다.막상 구현을 하고 나니, 페이지간 전환 딜레이가 거슬릴 정도로 오래 걸려서..Suspense 기능을 이용하기로 마음먹었습니다.(2초~3초나 걸리기도 했음.. 현재는 프론트 백 모두 개선을 거쳐서 1초 미만입니다 ^^)import { Suspense } from 'react';...export default async function PoliticianPage({ params,}: { params: { politicianId: number; issueId: number };}) ..
· Frontend
아래와 같은 코드가 있습니다. // Profile.tsx export default function Profile() { ... } // Card.tsx const Card = ...; const CardHeader = ...; const CardFooter = ...; const CardTitle = ...; const CardDescription = ...; const CardContent = ...; export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } Profile 컴포넌트를 export 할 때는 export default를 사용하고, Card에 관련된 const들을 export 할 때는 export를 사용..
· Frontend
Find and fix problems in your JavaScript code - ESLint - Pluggable JavaScript LinterA pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.eslint.orgJavaScript 프로젝트를 시작할 때 설정하게 되는 ESLint 설정을 정리하였습니다.저는 TypeScript를 사용하는 nextJS 프로젝트에 적용을 하였으며, Airbnb-lint의 규칙을 따랐습니다.ESLint자바스크립트 코드의 문제들을 찾아 고칩니다.ESLint 공식 페이지에 적힌 소개문입니..
Daejlee
dev-daejlee