jinnify 블로그
close
프로필 배경
프로필 로고

jinnify 블로그

  • 분류 전체보기 (95)
    • Web (13)
    • Algorithm (1)
    • CS (8)
    • iOS (36)
    • Swift (27)
    • RxSwift (4)
    • 개발 이슈 (1)
    • 디자인 패턴 (1)
    • 일상 (2)
  • 홈

알고리즘과 시간 복잡도

Part 1. 알고리즘과 시간 복잡도코딩테스트를 위한 알고리즘 스터디 — 알고리즘 개념, 복잡도 분석, Big-O 표기법📌 목차알고리즘이란?시간 복잡도공간 복잡도시간 vs 공간 Trade-offBig-O 표기법Big-O 코드 예제복잡도 비교 & 실전 감각실전 팁 & 자주 하는 실수1. 알고리즘이란?알고리즘(Algorithm) 은 문제를 해결하는 절차/방법입니다.자주 쓰이는 문제 해결 방법은 패턴화되어 있습니다.코딩테스트에서는 이 패턴을 파악하고 적용하는 능력이 중요합니다.대표적인 알고리즘 패턴패턴설명대표 문제완전 탐색 (Brute Force)모든 경우의 수를 확인순열, 조합그리디 (Greedy)매 순간 최선의 선택거스름돈, 회의실 배정분할 정복 (Divide & Conquer)문제를 작게 나눠서 해결병..

  • format_list_bulleted Algorithm
  • · 2026. 2. 21.
  • textsms
[Next.js] - Next.js에서 React Compiler 적용하기

[Next.js] - Next.js에서 React Compiler 적용하기

1. React Compiler란 무엇인가?React Compiler는 React 애플리케이션의 성능을 자동으로 최적화하는 컴파일러입니다. 개발자가 수동으로 작성해야 했던 useMemo, useCallback, React.memo 등의 메모이제이션을 자동으로 처리해줍니다. 주요 특징:자동 메모이제이션: 컴포넌트와 함수를 자동으로 최적화번들 크기 감소: 불필요한 리렌더링 방지개발자 경험 향상: 수동 최적화 코드 작성 불필요2. 버전 요구사항React Compiler 사용 가능 버전:Next.js: 15.0.0 이상React: 18.3.0 이상 (권장: 19.0.0 이상)Node.js: 18.17.0 이상 3. Next.js 15로 업그레이드하는 방법 Upgrading: Version 15 Codemod를 ..

  • format_list_bulleted Web
  • · 2025. 10. 15.
  • textsms

리액트 컴포넌트 성능 최적화

리액트에서 제공하는 API 중 useMemo, useCallback, memo는 리액트에서 발생하는 렌더링을 최소화 하기 위해 최적화 기법으로 사용됩니다.이 세 가지가 모두 최적화 기법이라는것은 알지만 대부분은 정확히 언제 사용하는지에 대해서는 알아 보도록 하겠습니다.  먼저 컴포넌트는 다음과 같은 상황에서 리렌더링이 발생합니다.전달 받은 props가 변경될 때자신의 state가 변경될 때부모 컴포넌트가 리렌더링될 때 1. React.memo전달 받은 props의 변경이 아닌 다른 상황(2, 3번)으로 인해 리렌더링이 되는 부분을 방지하는 함수를 말합니다.컴포넌트를 만들고 React.memo()로 감싸주면 끝!const Item = ({ data, onClick }: { data: { id: string..

  • format_list_bulleted Web
  • · 2025. 1. 11.
  • textsms

개발자들의 버전 표기 방법 (SemVer)

유의적 버전(Sementic Versioning, SemVer)을 통해 버전 표기방법을 많이 사용합니다.  버저닝 규칙은 다음과 같습니다.💡 Major.Minor.Patch-LabelMajor, Minor, Patch는 각각 숫자를 통해 나뉘게 됩니다.ex) 1.11.2, 1.8.0-beta  Major가장 큰 변화를 뜻하고, 보통 이전 버전과 호환이 불가능하거나 거대한 변화가 있을때 하나 증가시킵니다.Minor와 Patch는 다시 0으로 초기화 시켜줍니다.ex) 2.8.7 → 3.0.0Minor기능이 추가되었을때 숫자를 증가시킵니다.기능이 추가되었다고해서 이전 버전의 하위 호환성을 깨트리지 않습니다.Patch버그 수정, 텍스트 변경등의 자잘한 수정을 할때 증가 시킵니다.Label선택사항으로 alpha..

  • format_list_bulleted CS
  • · 2025. 1. 7.
  • textsms
[Next.js] - Pages Router 기반 ISR (+On-demand Revalidation)

[Next.js] - Pages Router 기반 ISR (+On-demand Revalidation)

ISR(Incremental Static Regeneration, 증분 정적 재생성) 말이 다소 어렵게 보이지만 단순히 SSG방식의 응용이라 할 수 있는 방법입니다.ISR은 SSG방식에 정적인 페이지를 생성하는 방법에 revalidate를 통해 유효기간을 설정하여 유효기간이 지난 생태에서는 getStaticProps()를 통해 화면을 다시 그리고 페이지를 업데이트합니다.revalidate: 60초라고 했을때 60초 이내에 새로고침을 하더라도 동일한 데이터가 보입니다.유통기한이 끝난 60초 이후에 새로운 데이터를 받아오게 됩니다. export const getStaticProps = async () => { return { props: { }, revalidate: 3, // 초단위로, 3초..

  • format_list_bulleted 카테고리 없음
  • · 2024. 10. 15.
  • textsms
[Next.js] - Pages Router 기반 SSG

[Next.js] - Pages Router 기반 SSG

SSG(Static Site Generation, 정적 사이트 생성)SSR의 단점을 해결하기 위한 사전 렌더링 방식빌드 시 API등으로 부터 데이터를 얻어, 페이지를 미리 사전 렌더링 해두는 방식 SSG 빌드시 흐름빌드 시 getStaticProps()라는 함수가 호출되며, 그 함수 안에서 API 호출 등을 수행하고, 페이지를 그리는데 필요한 props를 반환합니다. 그 뒤 이 props를 페이지 컴포넌트에 전달해서 화면을 그립니다.화면을 그린 결과는 정적 파일의 형태로 빌드 결과로 저장합니다. 빌드 결과는 .next 폴더 → server 폴더에서 확인 가능합니다.  기본 골격SSG가 필요한 Page에 아래와 같은 getStaticProps() 함수를 추가해 준다.// 기본 골격export const g..

  • format_list_bulleted 카테고리 없음
  • · 2024. 10. 15.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 16
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (95)
    • Web (13)
    • Algorithm (1)
    • CS (8)
    • iOS (36)
    • Swift (27)
    • RxSwift (4)
    • 개발 이슈 (1)
    • 디자인 패턴 (1)
    • 일상 (2)
최근 글
인기 글
최근 댓글
태그
  • #animation
  • #ios
  • #SWIFT
  • #codable
  • #decodable
  • #React
  • #functional programming
  • #encodable
  • #css
  • #frontend
전체 방문자
오늘
어제
전체
반응형
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바