dev + it dev spring springboot spring 프로젝트에서 springboot 프로젝트로 migration 하기 (5) - 빌드 및 실행수많은 삽집을 해가며 결국에는 전환에 성공을 했다. 아주 초간단으로 최소한의 것들만 바꾸고 전환한거라 앞으로 할일(applicationContext의 java config 전환, spring properties 활용 등)도 많지만 그래도 기쁜 마음으로 빌드 및 실행을 해본다. 물론 실행은 전환을 하는 과정에 수도 없이 해봤다. 이클립스의 boot dashboard를 통해서 돌렸을때는 잘 동작을 한다. 주르르륵 올라가는 로그를 보면 참 뿌듯하다. 사실은 별로 많이 바꾼게 없는데 springboot가 알아서 바꿔준 부분도 많은데 혼자서 이것저것 다 만들어보고 고생해서 한거라 더 감격스러웠다. 이제 마지막 단계가 남았다. 이걸 서버에서 돌리기 위해 war로 말아줘야 하고 또 그걸 실행을 시켜야 한다. 기존의 .. wono | discuss | tweet + it dev java vscode jdk JDK RequirementsJava Language Support for Visual Studio Code. Contribute to redhat-developer/vscode-java development by creating an account on GitHub. wono | discuss | tweet + it dev prettierrc default .prettierrc 기본 설정.prettierrc 파일 기본 설정 wono | discuss | tweet + it dev spring maven Eclipse에서 생성한 Spring Project를 공유하고 다른 팀원이 Import하기Eclipse에서 Spring 프로젝트를 생성하고 팀원과 Git을 통해 공유하려 할 때 다른 Eclipse나 다른 IDE에서 Import를 할 때 어떻게 하는지 알아봅니다. wono | discuss | tweet + it dev spring vscode What is the .springBeans file? wono | discuss | tweet + it dev java vscode vscode에서 Java 클래스 경로 추가하는 방법Eclipse로 설계된 Java를 Pycharm이나 vscode로 실행하다 보면 기존의 Class 경로 설정이 맞지 않아 분명 같은 패키지 안에 있는 파일이 인식되지 않는 문제를 최근 경험하곤 합니다. vscode에서 path를 설정하는 방법이 있는지 열심히 찾아보니 그냥 프로젝트 내에 있는 파일인 '.classpath'를 수정하면 된다는군요. 일단 .classpath가 목록에 보이지 않는 분께서는 아래 주소를 통해 .classpath를 찾아보도록 합니다. https://hyunchang88.tistory.com/320 [ vscode ] .classpath가 안보일때 보이게 하는 방법 vscode를 사용한지 얼마 안되어서 검색을 해봤는데 .classpath 에서 뭔가를 수정하라고 해서 수정하려고 보니 .. wono | discuss | tweet + it dev java [VScode]JDK 버전변경 & error해결Configure Runtime for Language Server 이런 문구나1. 시스템 환경 변수 확인※ 버전을 여러개로 사용하실 예정이면 이전 버전 삭제 안해도 됩니다! 이제 세가지를 확인해야 하는데요.참고로 사용자 변수는 아닙니다. 건들지 마세요.JAVA_HOME없다면 '새로만들기(N)'를 클릭하시고, 있다면 편집을 클릭해주세요.변수 이름 : JAVA_HOME변수 값 : jdk경로를 아래처럼 적어주면 되는데,C:\Program Files\Java까지는 동일하게 들어가 있을 겁니다.이 폴더에 jdk버전들이 모아져 있습니다. 사용할 버전의 폴더를 클릭해 경로를 복사해 가져오면 됩니다.CLASSPATH이렇게 그대로 만드시면 됩니다.변수 이름 : CLASSPATH변수 값 : %JAVA_HOME%\libP.. wono | discuss | tweet + it dev typescript Typescript tutorialBlack-belt your web development skills. Over 2000 free programming tutorial videos about:- Modern JavaScript (beginner to advanced)- Node.js- React- Vue.js- ... wono | discuss | tweet + it dev react typescript React typescript tutorial for beginnerYouTube에서 마음에 드는 동영상과 음악을 감상하고, 직접 만든 콘텐츠를 업로드하여 친구, 가족뿐 아니라 전 세계 사람들과 콘텐츠를 공유할 수 있습니다. wono | discuss | tweet + it dev react [React] 제어 컴포넌트(Controlled Component)와 비제어 컴포넌트(Uncontrolled Component)React에서는 Form을 다루는 2가지 방법이 있는데, 바로 제어 컴포넌트(Controlled Component)와 비제어 컴포넌트(Uncontrolled Component)이다. 과연 제어 컴포넌트(Controlled Component)와 비제어 컴포넌트(Uncontrolled Component)는 무엇인지 지금부터 알아보도록 하자. 1. 제어 컴포넌트(Controlled Component) 💡 React 공식 문서에서 제어 컴포넌트(Controlled Component)에 대한 설명은 다음과 같다. 제어 컴포넌트는 사용자의 입력을 기반으로 자신의 state를 관리하고 업데이트합니다. React에서는 변경할 수 있는 state가 일반적으로 컴포넌트의 state 속성에 유지되며 setState()에 의.. wono | discuss | tweet + it dev react form hook resolvers [React] react-hook-form으로 폼 관리하기React Hook Form은 사용자 입력을 받고 검증하는 것을 도와 주는 라이브러리로, React에서 폼을 관리하는 가장 유명한 라이브러리 중 하나입니다. React Hook Form을 사용하면 사용자에게 입력을 받고 검증하는데 드는 시간을 줄일 뿐만 아니라 더불어 성능까지 두 마리 토끼를 모두 잡을 수 있습니다. wono | discuss | tweet + it dev shadcnui dialog [shadcn/ui] Dialog, Alert Dialog Component 구현기🍀 목차Shadcn/ui Dialog(+Alert Dialog) 뜯어보기 & 속성 설명UI 커스텀과 작성한 스토리회고 개요 Modal Component는 현재 제품에서 가장 많이 쓰이는 컴포넌트 중 하나다. Avatar Component처럼 처음부터 인터페이스 제작 -> UI 구현까지 하기에는 시간이 부족하여 shadcn/ui의 Dialog, Alert Dialog를 제품에 맞게 커스텀하기로 결정하였다.시작하기에 앞서 Modal, Confirm, Alert의 차이를 알아봤다.Modal : 주의가 필요하거나 추가 정보를 제공하는 팝업 콘텐츠. 텍스트, 양식 입력 같은 다른 대화형 요소를 포함할 수 있고 사용자가 Modal 외부를 클릭하거나 특정 버튼(닫기, 취소, 저장)을 클릭할 때까지 다른 인터페이.. wono | discuss | tweet + it dev tailwindcss prettier Automatic Class Sorting with Prettier - Tailwind CSSPeople have been talking about the best way to sort your utility classes in Tailwind projects for at least four years. Today we’re excited to announce that you can finally stop worrying about it with the release of our official Prettier plugin for Tailwind CSS. wono | discuss | tweet + it dev zustand typescript TypeScript Guide - Zustand wono | discuss | tweet + it dev typescript useRef, useImperativeHandle, forwardRefuseRef와 useImperativeHandle은 ref라는 속성에 적용하는 값을 만들어 주는 훅이다. 리액트와 리액트 네이티브가 제공하는 컴포넌트는 모두 ref라는 이름의 속성을 가지고 있다.ref 속성이란?Ref는 참조를 의미한다.ref 속성값은 사용자 코드에서 설정하는 것이 아니라, 특정 시점에 React 프레임워크 내부에서 설정해 준다. ref 속성은 초기에는 null이지만, 컴포넌트가 마운트 되는 시점에서 실제 DOM 객체의 값이 된다.HTML 요소들은 자바스크립트에서 DOM 타입 객체이다. 모든 요소는 HTMLElement 타입이며, click(), blur(), focus() 메서드를 제공한다. 이 메서드들은 가상 DOM 상태에서는 호출할 수 없고, 실제 DOM 상태에서만 호출할 수 있다... wono | discuss | tweet + it dev react forwardref Using forwardRef in other component got type error wono | discuss | tweet + it dev typescript htmlinputelement Property 'value' does not exist on type 'never'. when use useRef hook in mui wono | discuss | tweet + it dev react strict useEffect 잘못 쓰고 계신겁니다.https://nextjs.org/docs/14/app/api-reference/next-config-js/reactStrictMode wono | discuss | tweet + it dev typescript unknown [101] 타입스크립트의 unknown 타입TypeScript에서 unknown 타입은 any와 혼동될 수 있지만, 코드 안전성에 있어 결정적인 차이를 만듭니다. unknown을 효과적으로 사용하면 React 애플리케이션의 안정성과 오류 방지를 크게 향상시킬 수 있습니다. 이 글에서는 unknown 타입을 활용한 안전한 타입 검사 기법을 React 애플리케이션을 중심으로 자세히 살펴봅니다.1. unknown 타입의 기본 개념unknown 타입은 말 그대로 "알 수 없는" 타입을 나타냅니다. 어떤 값이 올지 확실하지 않을 때 unknown을 사용할 수 있으며, 이는 값을 사용하기 전에 반드시 그 타입을 확인해야 한다는 특징이 있습니다.let unknownValue: unknown;unknownValue = 100; // 숫자 할당 가능unknow.. wono | discuss | tweet + it dev nextjs redis [REDIS] 📚 Node.js 에서 redis 모듈 사용법 (캐싱 & 세션 스토어)Node 프로젝트에서 pm2로 다중 클러스터 인프라를 구축했다면 세션 불일치 문제가 생기게 마련이다. 만일 서버가 종료되어 메모리가 날라가면 접속자들의 로그인이 모두 풀려버리게 된다. 따라서 이를 방지하기 위해 세션 아이디와 실제 사용자 정보를 외부 데이터베이스에 저장하는 편이다. 이때 개발자들이 많이 사용하는 것이 Redis db이다. 다른 데이터베이스를 사용해도 되지만, 세션은 빠릿빠릿하게 응답을 해야되기 떄문에 메모리 기반의 데이터베이스인 레디스를 사용한다. 지금부터 Node 프로젝트에서 Redis와 연결하고 사용하는 법을 알아보자. Redis Database 설치 레디스를 로컬에 설치해도 되고, 클라우드로도 사용할 수가 있다. 마음에 드는 것을 골라 설치하자. 개인적으로 로컬 보다는 클라우드로 하.. wono | discuss | tweetNext
+ it dev spring springboot spring 프로젝트에서 springboot 프로젝트로 migration 하기 (5) - 빌드 및 실행수많은 삽집을 해가며 결국에는 전환에 성공을 했다. 아주 초간단으로 최소한의 것들만 바꾸고 전환한거라 앞으로 할일(applicationContext의 java config 전환, spring properties 활용 등)도 많지만 그래도 기쁜 마음으로 빌드 및 실행을 해본다. 물론 실행은 전환을 하는 과정에 수도 없이 해봤다. 이클립스의 boot dashboard를 통해서 돌렸을때는 잘 동작을 한다. 주르르륵 올라가는 로그를 보면 참 뿌듯하다. 사실은 별로 많이 바꾼게 없는데 springboot가 알아서 바꿔준 부분도 많은데 혼자서 이것저것 다 만들어보고 고생해서 한거라 더 감격스러웠다. 이제 마지막 단계가 남았다. 이걸 서버에서 돌리기 위해 war로 말아줘야 하고 또 그걸 실행을 시켜야 한다. 기존의 .. wono | discuss | tweet
+ it dev java vscode jdk JDK RequirementsJava Language Support for Visual Studio Code. Contribute to redhat-developer/vscode-java development by creating an account on GitHub. wono | discuss | tweet
+ it dev spring maven Eclipse에서 생성한 Spring Project를 공유하고 다른 팀원이 Import하기Eclipse에서 Spring 프로젝트를 생성하고 팀원과 Git을 통해 공유하려 할 때 다른 Eclipse나 다른 IDE에서 Import를 할 때 어떻게 하는지 알아봅니다. wono | discuss | tweet
+ it dev java vscode vscode에서 Java 클래스 경로 추가하는 방법Eclipse로 설계된 Java를 Pycharm이나 vscode로 실행하다 보면 기존의 Class 경로 설정이 맞지 않아 분명 같은 패키지 안에 있는 파일이 인식되지 않는 문제를 최근 경험하곤 합니다. vscode에서 path를 설정하는 방법이 있는지 열심히 찾아보니 그냥 프로젝트 내에 있는 파일인 '.classpath'를 수정하면 된다는군요. 일단 .classpath가 목록에 보이지 않는 분께서는 아래 주소를 통해 .classpath를 찾아보도록 합니다. https://hyunchang88.tistory.com/320 [ vscode ] .classpath가 안보일때 보이게 하는 방법 vscode를 사용한지 얼마 안되어서 검색을 해봤는데 .classpath 에서 뭔가를 수정하라고 해서 수정하려고 보니 .. wono | discuss | tweet
+ it dev java [VScode]JDK 버전변경 & error해결Configure Runtime for Language Server 이런 문구나1. 시스템 환경 변수 확인※ 버전을 여러개로 사용하실 예정이면 이전 버전 삭제 안해도 됩니다! 이제 세가지를 확인해야 하는데요.참고로 사용자 변수는 아닙니다. 건들지 마세요.JAVA_HOME없다면 '새로만들기(N)'를 클릭하시고, 있다면 편집을 클릭해주세요.변수 이름 : JAVA_HOME변수 값 : jdk경로를 아래처럼 적어주면 되는데,C:\Program Files\Java까지는 동일하게 들어가 있을 겁니다.이 폴더에 jdk버전들이 모아져 있습니다. 사용할 버전의 폴더를 클릭해 경로를 복사해 가져오면 됩니다.CLASSPATH이렇게 그대로 만드시면 됩니다.변수 이름 : CLASSPATH변수 값 : %JAVA_HOME%\libP.. wono | discuss | tweet
+ it dev typescript Typescript tutorialBlack-belt your web development skills. Over 2000 free programming tutorial videos about:- Modern JavaScript (beginner to advanced)- Node.js- React- Vue.js- ... wono | discuss | tweet
+ it dev react typescript React typescript tutorial for beginnerYouTube에서 마음에 드는 동영상과 음악을 감상하고, 직접 만든 콘텐츠를 업로드하여 친구, 가족뿐 아니라 전 세계 사람들과 콘텐츠를 공유할 수 있습니다. wono | discuss | tweet
+ it dev react [React] 제어 컴포넌트(Controlled Component)와 비제어 컴포넌트(Uncontrolled Component)React에서는 Form을 다루는 2가지 방법이 있는데, 바로 제어 컴포넌트(Controlled Component)와 비제어 컴포넌트(Uncontrolled Component)이다. 과연 제어 컴포넌트(Controlled Component)와 비제어 컴포넌트(Uncontrolled Component)는 무엇인지 지금부터 알아보도록 하자. 1. 제어 컴포넌트(Controlled Component) 💡 React 공식 문서에서 제어 컴포넌트(Controlled Component)에 대한 설명은 다음과 같다. 제어 컴포넌트는 사용자의 입력을 기반으로 자신의 state를 관리하고 업데이트합니다. React에서는 변경할 수 있는 state가 일반적으로 컴포넌트의 state 속성에 유지되며 setState()에 의.. wono | discuss | tweet
+ it dev react form hook resolvers [React] react-hook-form으로 폼 관리하기React Hook Form은 사용자 입력을 받고 검증하는 것을 도와 주는 라이브러리로, React에서 폼을 관리하는 가장 유명한 라이브러리 중 하나입니다. React Hook Form을 사용하면 사용자에게 입력을 받고 검증하는데 드는 시간을 줄일 뿐만 아니라 더불어 성능까지 두 마리 토끼를 모두 잡을 수 있습니다. wono | discuss | tweet
+ it dev shadcnui dialog [shadcn/ui] Dialog, Alert Dialog Component 구현기🍀 목차Shadcn/ui Dialog(+Alert Dialog) 뜯어보기 & 속성 설명UI 커스텀과 작성한 스토리회고 개요 Modal Component는 현재 제품에서 가장 많이 쓰이는 컴포넌트 중 하나다. Avatar Component처럼 처음부터 인터페이스 제작 -> UI 구현까지 하기에는 시간이 부족하여 shadcn/ui의 Dialog, Alert Dialog를 제품에 맞게 커스텀하기로 결정하였다.시작하기에 앞서 Modal, Confirm, Alert의 차이를 알아봤다.Modal : 주의가 필요하거나 추가 정보를 제공하는 팝업 콘텐츠. 텍스트, 양식 입력 같은 다른 대화형 요소를 포함할 수 있고 사용자가 Modal 외부를 클릭하거나 특정 버튼(닫기, 취소, 저장)을 클릭할 때까지 다른 인터페이.. wono | discuss | tweet
+ it dev tailwindcss prettier Automatic Class Sorting with Prettier - Tailwind CSSPeople have been talking about the best way to sort your utility classes in Tailwind projects for at least four years. Today we’re excited to announce that you can finally stop worrying about it with the release of our official Prettier plugin for Tailwind CSS. wono | discuss | tweet
+ it dev typescript useRef, useImperativeHandle, forwardRefuseRef와 useImperativeHandle은 ref라는 속성에 적용하는 값을 만들어 주는 훅이다. 리액트와 리액트 네이티브가 제공하는 컴포넌트는 모두 ref라는 이름의 속성을 가지고 있다.ref 속성이란?Ref는 참조를 의미한다.ref 속성값은 사용자 코드에서 설정하는 것이 아니라, 특정 시점에 React 프레임워크 내부에서 설정해 준다. ref 속성은 초기에는 null이지만, 컴포넌트가 마운트 되는 시점에서 실제 DOM 객체의 값이 된다.HTML 요소들은 자바스크립트에서 DOM 타입 객체이다. 모든 요소는 HTMLElement 타입이며, click(), blur(), focus() 메서드를 제공한다. 이 메서드들은 가상 DOM 상태에서는 호출할 수 없고, 실제 DOM 상태에서만 호출할 수 있다... wono | discuss | tweet
+ it dev typescript htmlinputelement Property 'value' does not exist on type 'never'. when use useRef hook in mui wono | discuss | tweet
+ it dev react strict useEffect 잘못 쓰고 계신겁니다.https://nextjs.org/docs/14/app/api-reference/next-config-js/reactStrictMode wono | discuss | tweet
+ it dev typescript unknown [101] 타입스크립트의 unknown 타입TypeScript에서 unknown 타입은 any와 혼동될 수 있지만, 코드 안전성에 있어 결정적인 차이를 만듭니다. unknown을 효과적으로 사용하면 React 애플리케이션의 안정성과 오류 방지를 크게 향상시킬 수 있습니다. 이 글에서는 unknown 타입을 활용한 안전한 타입 검사 기법을 React 애플리케이션을 중심으로 자세히 살펴봅니다.1. unknown 타입의 기본 개념unknown 타입은 말 그대로 "알 수 없는" 타입을 나타냅니다. 어떤 값이 올지 확실하지 않을 때 unknown을 사용할 수 있으며, 이는 값을 사용하기 전에 반드시 그 타입을 확인해야 한다는 특징이 있습니다.let unknownValue: unknown;unknownValue = 100; // 숫자 할당 가능unknow.. wono | discuss | tweet
+ it dev nextjs redis [REDIS] 📚 Node.js 에서 redis 모듈 사용법 (캐싱 & 세션 스토어)Node 프로젝트에서 pm2로 다중 클러스터 인프라를 구축했다면 세션 불일치 문제가 생기게 마련이다. 만일 서버가 종료되어 메모리가 날라가면 접속자들의 로그인이 모두 풀려버리게 된다. 따라서 이를 방지하기 위해 세션 아이디와 실제 사용자 정보를 외부 데이터베이스에 저장하는 편이다. 이때 개발자들이 많이 사용하는 것이 Redis db이다. 다른 데이터베이스를 사용해도 되지만, 세션은 빠릿빠릿하게 응답을 해야되기 떄문에 메모리 기반의 데이터베이스인 레디스를 사용한다. 지금부터 Node 프로젝트에서 Redis와 연결하고 사용하는 법을 알아보자. Redis Database 설치 레디스를 로컬에 설치해도 되고, 클라우드로도 사용할 수가 있다. 마음에 드는 것을 골라 설치하자. 개인적으로 로컬 보다는 클라우드로 하.. wono | discuss | tweet