dev + it dev design db history 이력 엔터티를 설계하는 10가지 방법 – 서론이력 데이터에 대한 글을 계속 올리고 있는데요. 개요적인 내용은 소개했으니 다른 주제(식별자)로 넘어갈까를 좀 고민했습니다. 느끼신 분들이 있겠지만 엔터티나 관계 등과 같이요. 개인적으로 제가 책을 쓰면서 다른 책과 차별되도록 구성한 장이 정규화와 통합, 이력, 방법론 입니다. 얼마 전에 메일을 한통 받았는데 거의 정확하게 맞추신 분이 있습니다. 각 장의 특징을 조만간 올릴 생각입니다. 군더더기라 생각해서 책에는 생략을 했는데요. 이력 데이터 관리가 전략적인 장이라서 당분간 이력 엔터티 위주로 글을 올리겠습니다. 오늘은 이력 데이터를 관리할 수 있는 10가지 방법의 개략에 대해 쓰려고 합니다. 이 10가지 방법은 실무에서 자주 사용하는 방법을 제 나름대로 구분한 것인데요. 사실 내역 데이터 설계 방법까지.. wono | discuss | tweet + it dev db design 05. 로그 시스템과 이력 관리 테이블## 도입 스토리 "김개발 씨, 큰일 났어요!" 최기획이 다급한 목소리로 김개발을 찾아왔다. "어제 중요한 공지사항이 수정됐는데, 누가 언제 무엇을 바꿨는지 알 수가 없어요. … wono | discuss | tweet + it dev db design 관계형 데이터 모델링 노트 : 06 이력 데이터 이야기Chapter 6 : 이력 데이터 이야기 wono | discuss | tweet + it dev 기획 설계 요구사항 소프트웨어 개발 요구사항 명세서 작성 방법요구사항 명세서란 무엇이고 왜 중요할까? 1. 들어가며 이번 포스팅에서는 요구사항 명세서에 대해 알아보겠습니다. 요구사항 명세서는 프로젝트의 성공과 실패를 좌우하는 매우 중요한 문서입니다. 하지만 많은 사람들이 요구사항 명세서의 개념과 중요성, 작성 방법 등에 대해 잘 모르거나 혼동하고 있습니다. 그래서 이번 포스팅에서는 다음과 같은 내용을 소개해드리려고 합니다. 요구사항 명세서의 정의와 종류 요구사항 명세서의 중요성과 역할 요구사항 명세서 작성 원칙과 팁 요구사항 명세서 예시와 템플릿 2. 요구사항 명세서의 정의와 종류 요구사항이란 프로젝트를 수행하기 위해 필요한 조건이나 기능을 의미합니다. 예를 들어, "웹 사이트에 로그인 기능을 추가한다"라는 것은 웹 사이트 개발 프로젝트의 한 가지 요구사항입니다... wono | discuss | tweet + it dev 기획 설계 요구사항 [요구사항 정의서] 작성하는 법요구사항 정의서 작성하는 법을 간단한 예시와 함께 알아보자. wono | discuss | tweet + it dev 기획 설계 요구사항 요구사항 정의서 작성법과 양식: IT 기획자 20년의 노하우를 전해드립니다. I 이랜서 블로그프로젝트 중에 발생하는 사고를 미연에 방지하고 프로젝트 진행이 원활하도록 돕는 요구사항 정의서 작성법에 대해 이랜서에서 알려드립니다. I wono | discuss | tweet + it dev typescript zod Zod 4 릴리즈 | GeekNews스키마 선언 및 유효성 검사 라이브러리인 Zod의 버전 4 릴리즈. 주요 성능 향상과 장기 요청된 기능을 포함해 안정버전 출시속도와 번들 크기에서 큰 개선이 이루어졌으며, 새로운 미니 버전(v4-mini)은 번들 크기를 대폭 줄임새로운 메타데이터 레지스트리와 JSON Schema 변환, 그리고 재귀 타입 추론 기능이 추가됨에러 메시지 커스터마이즈와 다국어 wono | discuss | tweet + it dev github branch naming 깃 브랜치 네이밍 규칙 트러블슈팅: "슬래시 문제와 해결 방안"깃 브랜치 네이밍 규칙 트러블슈팅: "슬래시 문제와 해결 방안" 최근에 깃 브랜치 네이밍 전략을 운영하면서 한 가지 문제가 발생했다. 바로 슬래시(/)를 사용한 브랜치 네이밍 규칙이 의도치 않게 오류를 발생시키는 상황이었다.이 문제를 해결하기 위한 고민과 해결 방안을 공유해보고자 한다. 문제 발생우리 팀에서는 깃 브랜치 네이밍 규칙으로, 각 개발자가 작업한 기능을 구분하기 위해 브랜치 이름에 슬래시(/)를 사용하여 계층 구조를 만들고 있다. 예를 들어 feature/member/social-login처럼, 각 기능의 이름을 feature/, member/, social-login으로 나누어 표기하고 있었다. 그런데, 이처럼 슬래시를 사용한 이름을 가진 브랜치가 이미 존재하면, 하위 브랜치를 만들 수 .. wono | discuss | tweet + it dev tool mattermost opensource messanger having_fun_learning_about_mattermost wono | discuss | tweet + it dev tool mattermost opensource messenger GitHub - mattermost/mattermost: Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..Mattermost is an open source platform for secure collaboration across the entire software development lifecycle.. - mattermost/mattermost wono | discuss | tweet + it dev golang react Ersin's Blog - Crafting a lightweight markdown editorThis week we create a tiny markdown editor using Wails, React and Tailwind. wono | discuss | tweet + it dev nextjs metadata Next.js는 이제 끝났나요? v15.2+의 Streaming metadataSEO가 안돼요!?!?!? wono | discuss | tweet + it dev nextjs 모달창에서 스크롤 방지처음 찾아본 코드로는useEffect(() => { document.body.style.overflow = 'hidden'; return () => { document.body.style.overflow = 'unset'; };}, []);을 사용했는데 문제점은 스크롤바가 사라지면서 레이아웃이 비틸렸다 다시 돌아왔다 한다는 것상당히 거슬려서 새로운 방법을 찾아봤다. // utils/modal.ts/** * 스크롤을 방지하고 현재 위치를 반환한다. * @returns {number} 현재 스크롤 위치 */export const preventScroll = (): number => { const currentScrollY = window.scrollY; document.body.style.p.. wono | discuss | tweet + it dev nextjs modal Next.js 15 - Modal 구현 (with. Parallel Routes & Intercepting Routes)웹 개발에서 모달창 구현을 직접 하거나 편리한 라이브러리는 대부분 상태관리와 함께 이루어진다.(본인 역시 react-modal을 그동안 사용해왔다.)const [isOpen, setIsOpen] = useState(false);const toggleModal = () => setIsOpen(!isOpen);const openModal = () => setIsOpen(true);const closeModal = () => setIsOpen(false);아마 대부분이 이런 기본 형태의 state를 활용했을 것이다. 이를 개발하다보면 필연적으로 마주치는 상황들이 몇가지 있는데 대표적으로 아래와 같이 있다.모달창이 열린 상황에서 새로고침을 하면 state로 관리하기 때문에 모달창이 닫힘뒤로가기 버튼을 누르면 이.. wono | discuss | tweet + it dev nextjs modal Next.js Parallel Routes로 모달 관리하기Next.js Parallel Routes로 모달 관리하기 안녕하세요. W컨셉에서 프론트엔드 개발을 담당하고 있는 YJ입니다. 웹 개발을 하다 보면 모달(Modal)을 구현할 일이 … wono | discuss | tweet + it dev nextjs modal Next.js에서 병렬 라우팅과 모달 구현의 최적화 방법Next.js의 병렬 라우팅 기능을 활용하여 다이내믹한 웹 애플리케이션 구조를 설계하고, 효율적인 모달 상호작용을 실현하는 방법을 알아봅니다. wono | discuss | tweet + it dev nextjs asynclocalstorage issue Issue with AsyncLocalStorage in Next.js 14: context is not being shared between middleware, handlers and SSR pages · vercel/next.js · Discussion #67305Issue with AsyncLocalStorage in Next.js 14: context is not being shared between middleware, handlers and SSR pages wono | discuss | tweet + it dev nextjs rsl asynclocalstorage prophet-growth-analysis /CRITICAL_FIXES_REQUIRED.md wono | discuss | tweet + it dev nextjs asynclocalstorage next.js/test/e2e/app-dir/edge-runtime-node-compatibility/middleware.ts at 18e7c84af25c69c7807026a9044819ace1780abb · vercel/next.jsThe React Framework. Contribute to vercel/next.js development by creating an account on GitHub. wono | discuss | tweet + it dev nextjs asynclocalstorage Next.js API Route Patterns: Replace Middleware with Scoped AsyncLocalStorageLearn how to manage scoped server-side state in Next.js API routes using multiple AsyncLocalStorage instances—just like nested React Contexts. Improve traceability, avoid prop-passing, and build cleaner fullstack apps. wono | discuss | tweetNext
+ it dev design db history 이력 엔터티를 설계하는 10가지 방법 – 서론이력 데이터에 대한 글을 계속 올리고 있는데요. 개요적인 내용은 소개했으니 다른 주제(식별자)로 넘어갈까를 좀 고민했습니다. 느끼신 분들이 있겠지만 엔터티나 관계 등과 같이요. 개인적으로 제가 책을 쓰면서 다른 책과 차별되도록 구성한 장이 정규화와 통합, 이력, 방법론 입니다. 얼마 전에 메일을 한통 받았는데 거의 정확하게 맞추신 분이 있습니다. 각 장의 특징을 조만간 올릴 생각입니다. 군더더기라 생각해서 책에는 생략을 했는데요. 이력 데이터 관리가 전략적인 장이라서 당분간 이력 엔터티 위주로 글을 올리겠습니다. 오늘은 이력 데이터를 관리할 수 있는 10가지 방법의 개략에 대해 쓰려고 합니다. 이 10가지 방법은 실무에서 자주 사용하는 방법을 제 나름대로 구분한 것인데요. 사실 내역 데이터 설계 방법까지.. wono | discuss | tweet
+ it dev db design 05. 로그 시스템과 이력 관리 테이블## 도입 스토리 "김개발 씨, 큰일 났어요!" 최기획이 다급한 목소리로 김개발을 찾아왔다. "어제 중요한 공지사항이 수정됐는데, 누가 언제 무엇을 바꿨는지 알 수가 없어요. … wono | discuss | tweet
+ it dev 기획 설계 요구사항 소프트웨어 개발 요구사항 명세서 작성 방법요구사항 명세서란 무엇이고 왜 중요할까? 1. 들어가며 이번 포스팅에서는 요구사항 명세서에 대해 알아보겠습니다. 요구사항 명세서는 프로젝트의 성공과 실패를 좌우하는 매우 중요한 문서입니다. 하지만 많은 사람들이 요구사항 명세서의 개념과 중요성, 작성 방법 등에 대해 잘 모르거나 혼동하고 있습니다. 그래서 이번 포스팅에서는 다음과 같은 내용을 소개해드리려고 합니다. 요구사항 명세서의 정의와 종류 요구사항 명세서의 중요성과 역할 요구사항 명세서 작성 원칙과 팁 요구사항 명세서 예시와 템플릿 2. 요구사항 명세서의 정의와 종류 요구사항이란 프로젝트를 수행하기 위해 필요한 조건이나 기능을 의미합니다. 예를 들어, "웹 사이트에 로그인 기능을 추가한다"라는 것은 웹 사이트 개발 프로젝트의 한 가지 요구사항입니다... wono | discuss | tweet
+ it dev 기획 설계 요구사항 요구사항 정의서 작성법과 양식: IT 기획자 20년의 노하우를 전해드립니다. I 이랜서 블로그프로젝트 중에 발생하는 사고를 미연에 방지하고 프로젝트 진행이 원활하도록 돕는 요구사항 정의서 작성법에 대해 이랜서에서 알려드립니다. I wono | discuss | tweet
+ it dev typescript zod Zod 4 릴리즈 | GeekNews스키마 선언 및 유효성 검사 라이브러리인 Zod의 버전 4 릴리즈. 주요 성능 향상과 장기 요청된 기능을 포함해 안정버전 출시속도와 번들 크기에서 큰 개선이 이루어졌으며, 새로운 미니 버전(v4-mini)은 번들 크기를 대폭 줄임새로운 메타데이터 레지스트리와 JSON Schema 변환, 그리고 재귀 타입 추론 기능이 추가됨에러 메시지 커스터마이즈와 다국어 wono | discuss | tweet
+ it dev github branch naming 깃 브랜치 네이밍 규칙 트러블슈팅: "슬래시 문제와 해결 방안"깃 브랜치 네이밍 규칙 트러블슈팅: "슬래시 문제와 해결 방안" 최근에 깃 브랜치 네이밍 전략을 운영하면서 한 가지 문제가 발생했다. 바로 슬래시(/)를 사용한 브랜치 네이밍 규칙이 의도치 않게 오류를 발생시키는 상황이었다.이 문제를 해결하기 위한 고민과 해결 방안을 공유해보고자 한다. 문제 발생우리 팀에서는 깃 브랜치 네이밍 규칙으로, 각 개발자가 작업한 기능을 구분하기 위해 브랜치 이름에 슬래시(/)를 사용하여 계층 구조를 만들고 있다. 예를 들어 feature/member/social-login처럼, 각 기능의 이름을 feature/, member/, social-login으로 나누어 표기하고 있었다. 그런데, 이처럼 슬래시를 사용한 이름을 가진 브랜치가 이미 존재하면, 하위 브랜치를 만들 수 .. wono | discuss | tweet
+ it dev tool mattermost opensource messanger having_fun_learning_about_mattermost wono | discuss | tweet
+ it dev tool mattermost opensource messenger GitHub - mattermost/mattermost: Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..Mattermost is an open source platform for secure collaboration across the entire software development lifecycle.. - mattermost/mattermost wono | discuss | tweet
+ it dev golang react Ersin's Blog - Crafting a lightweight markdown editorThis week we create a tiny markdown editor using Wails, React and Tailwind. wono | discuss | tweet
+ it dev nextjs metadata Next.js는 이제 끝났나요? v15.2+의 Streaming metadataSEO가 안돼요!?!?!? wono | discuss | tweet
+ it dev nextjs 모달창에서 스크롤 방지처음 찾아본 코드로는useEffect(() => { document.body.style.overflow = 'hidden'; return () => { document.body.style.overflow = 'unset'; };}, []);을 사용했는데 문제점은 스크롤바가 사라지면서 레이아웃이 비틸렸다 다시 돌아왔다 한다는 것상당히 거슬려서 새로운 방법을 찾아봤다. // utils/modal.ts/** * 스크롤을 방지하고 현재 위치를 반환한다. * @returns {number} 현재 스크롤 위치 */export const preventScroll = (): number => { const currentScrollY = window.scrollY; document.body.style.p.. wono | discuss | tweet
+ it dev nextjs modal Next.js 15 - Modal 구현 (with. Parallel Routes & Intercepting Routes)웹 개발에서 모달창 구현을 직접 하거나 편리한 라이브러리는 대부분 상태관리와 함께 이루어진다.(본인 역시 react-modal을 그동안 사용해왔다.)const [isOpen, setIsOpen] = useState(false);const toggleModal = () => setIsOpen(!isOpen);const openModal = () => setIsOpen(true);const closeModal = () => setIsOpen(false);아마 대부분이 이런 기본 형태의 state를 활용했을 것이다. 이를 개발하다보면 필연적으로 마주치는 상황들이 몇가지 있는데 대표적으로 아래와 같이 있다.모달창이 열린 상황에서 새로고침을 하면 state로 관리하기 때문에 모달창이 닫힘뒤로가기 버튼을 누르면 이.. wono | discuss | tweet
+ it dev nextjs modal Next.js Parallel Routes로 모달 관리하기Next.js Parallel Routes로 모달 관리하기 안녕하세요. W컨셉에서 프론트엔드 개발을 담당하고 있는 YJ입니다. 웹 개발을 하다 보면 모달(Modal)을 구현할 일이 … wono | discuss | tweet
+ it dev nextjs modal Next.js에서 병렬 라우팅과 모달 구현의 최적화 방법Next.js의 병렬 라우팅 기능을 활용하여 다이내믹한 웹 애플리케이션 구조를 설계하고, 효율적인 모달 상호작용을 실현하는 방법을 알아봅니다. wono | discuss | tweet
+ it dev nextjs asynclocalstorage issue Issue with AsyncLocalStorage in Next.js 14: context is not being shared between middleware, handlers and SSR pages · vercel/next.js · Discussion #67305Issue with AsyncLocalStorage in Next.js 14: context is not being shared between middleware, handlers and SSR pages wono | discuss | tweet
+ it dev nextjs rsl asynclocalstorage prophet-growth-analysis /CRITICAL_FIXES_REQUIRED.md wono | discuss | tweet
+ it dev nextjs asynclocalstorage next.js/test/e2e/app-dir/edge-runtime-node-compatibility/middleware.ts at 18e7c84af25c69c7807026a9044819ace1780abb · vercel/next.jsThe React Framework. Contribute to vercel/next.js development by creating an account on GitHub. wono | discuss | tweet
+ it dev nextjs asynclocalstorage Next.js API Route Patterns: Replace Middleware with Scoped AsyncLocalStorageLearn how to manage scoped server-side state in Next.js API routes using multiple AsyncLocalStorage instances—just like nested React Contexts. Improve traceability, avoid prop-passing, and build cleaner fullstack apps. wono | discuss | tweet