반응형
최신 글
일상 작업을 자동화하는 10가지 Python 스크립트
Python2024.12.05 23:54일상 작업을 자동화하는 10가지 Python 스크립트

Python의 진정한 힘은 바로 자동화에 있습니다. 일상 작업에 이 힘을 활용하지 않으시겠습니까? 다음의 10가지 Python 스크립트는 초보자부터 숙련된 개발자까지 반복적인 작업을 자동화하고, 시간을 절약하며, 효율성을 높이는 데 도움을 줄 것입니다. 전문가 수준이 아니더라도 지금 바로 시작할 수 있습니다!1. 이미지 최적화 도구: Photoshop이 필요 없어요!웹사이트나 소셜 미디어에 이미지를 최적화해야 할 때 Photoshop을 열기 귀찮으셨죠? 이제는 간단한 Python 스크립트로 해결할 수 있습니다. Pillow 라이브러리를 사용해 이미지 크기 조정, 회전, 필터 적용 등 다양한 작업을 수행할 수 있습니다.from PIL import Image, ImageFilter, ImageOps, Ima..

Spring Boot에서 Lombok을 활용한 효율적인 Java 개발 가이드 🌟
Spring2024.12.02 15:20Spring Boot에서 Lombok을 활용한 효율적인 Java 개발 가이드 🌟

Project Lombok은 자바 코드의 반복적인 작업을 줄이고, 생산성을 향상시키는 라이브러리입니다. Lombok은 어노테이션(Annotation)을 통해 getter, setter, constructor 등의 보일러플레이트 코드를 자동으로 생성해줍니다.Lombok을 사용하는 이유코드 간소화: toString(), equals(), hashCode(), getters, setters 등의 일반적인 메서드를 자동으로 생성합니다.가독성 향상: 불필요한 코드가 줄어들어 코드의 의도가 더 명확하게 드러납니다.개발 시간 단축: 작성해야 할 코드가 줄어들어 비즈니스 로직에 집중할 수 있습니다.리팩토링 용이성: 필드 이름을 변경하더라도 getter/setter를 따로 수정할 필요가 없습니다.Lombok의 주요 기능..

모든 개발자가 알아야 할 20가지 Git 명령어
Git2024.11.27 21:59모든 개발자가 알아야 할 20가지 Git 명령어

Git은 대부분의 개발자가 매일 사용하는 필수 도구지만, 많은 경우 기본적인 push, pull, commit 정도만 활용합니다. 그러나 Git은 우리가 상상하지 못한 다양한 기능을 제공하며, 이를 활용하면 생산성과 효율성을 대폭 향상시킬 수 있습니다. 이 글에서는 Git의 유용한 명령어 20가지를 소개하며, 이를 통해 더욱 효율적이고 자신감 있게 버전 관리를 할 수 있도록 도와드립니다.1. 인터랙티브 추가설명: 파일 전체가 아닌 특정 부분만 스테이징할 수 있습니다.git add -p장점: 파일 내의 특정 변경 사항만 선택적으로 커밋할 수 있어, 작은 단위의 커밋을 만들 때 유용합니다.팁: 한 파일에서 여러 작업을 진행한 경우, 각 작업을 개별 커밋으로 나누는 데 사용하세요.2. 마지막 커밋 되돌리기설명..

개발자를 성장시키는 25가지 Docker 명령어(2)
Docker2024.11.26 00:03개발자를 성장시키는 25가지 Docker 명령어(2)

개발자를 성장시키는 25가지 Docker 명령어(1)Docker는 애플리케이션과 그 의존성을 패키징하여 이식 가능하고 격리된 컨테이너를 효율적으로 관리할 수 있게 해줍니다. 이론만 이해하는 것으로는 충분하지 않습니다. 개발자를 한 단계 더hgko-dev.tistory.com이 글에서는 지난글에 이어서 Docker 명령어를 알려드리겠습니다.16. docker image prune설명: 사용하지 않는 이미지를 삭제합니다.장점: 개발 환경을 깔끔하게 유지합니다.docker image prune17. docker volume prune설명: 사용하지 않는 볼륨을 삭제합니다.장점: 불필요한 스토리지 사용을 방지합니다.docker volume prune18. docker events설명: Docker 서버의 실시간..

개발자를 성장시키는 25가지 Docker 명령어(1)
Docker2024.11.25 13:41개발자를 성장시키는 25가지 Docker 명령어(1)

Docker는 애플리케이션과 그 의존성을 패키징하여 이식 가능하고 격리된 컨테이너를 효율적으로 관리할 수 있게 해줍니다. 이론만 이해하는 것으로는 충분하지 않습니다. 개발자를 한 단계 더 성장시키는 것은 Docker 명령어를 활용해 워크플로를 최적화하고, 성능을 개선하며, 확장 가능한 애플리케이션을 구축하는 능력입니다. 이 글에서는 Docker 명령어 25가지를 소개하며, 이를 통해 개발 및 배포 프로세스를 완벽하게 제어하고 일상적인 작업을 개선하는 방법을 알려드립니다.1. docker update설명: 컨테이너를 재시작하지 않고 리소스 제한을 업데이트합니다.장점: 중단 없이 리소스를 조정해 컨테이너 성능 저하를 방지합니다.docker update --cpus 2 --memory 1g 팁: 트래픽이 많은..

인기 글
WinUI와 WPF, WinForms, UWP, MFC 비교
WinUI와 WPF, WinForms, UWP, MFC 비교
C#
2024.01.17 16:29
Windows UI 라이브러리(WinUI)는 Windows의 기본 레이어입니다. 여기에는 디자이너와 개발자가 Windows 애플리케이션을 구축하는 데 필요한 컨트롤과 유연한 디자인 시스템이 포함되어 있습니다. WinUI는 MFC(Microsoft Foundation Class Library) 프레임워크, WinForms, WPF(Windows Presentation Foundation) 및 UWP(Universal Windows Platform)와 같은 다양한 그래픽 사용자 인터페이스(GUI) 프레임워크의 최신 버전입니다. Microsoft는 데스크톱 앱(MFC, WinForms, WPF) 및 UWP 앱을 위한 포괄적인 최신 UI 프레임워크를 만들었으며, 새로운 Windows 애플리케이션 및 이전 애플리..
[Eclipse] 프로젝트에 jar 파일 추가하는 방법
[Eclipse] 프로젝트에 jar 파일 추가하는 방법
Information
2023.08.29 10:07
이클립스에서 라이브러리(jar 파일)를 추가하는 방법입니다. 일반적인 자바 프로젝트와 웹 프로젝트일 경우 두 가지로 방법으로 나눠집니다.자바 프로젝트1. 프로젝트 우클릭 > properties2. Java Build Path > Libraries > Add External JARs3. 폴더에서 jar 파일 선택4. 라이브러리 추가 후 [Apply and Close] 클릭웹 프로젝트(Maven)1. 아래와 같이 src/main/web/WEB-INF/lib 폴더를 생성하고 lib 폴더에 라이브러리 파일을 넣어준다.2. 프로젝트 우클릭 > properties3. Java Build Path > Libraries > Add Library4. Web App Libraries 선택 후 [Next] 클릭5. 프로젝트..
자동가입 방지문자(SimpleCaptcha) 사용 방법
자동가입 방지문자(SimpleCaptcha) 사용 방법
JavaScript
2023.08.30 13:56
로그인 또는 회원가입 시 자동 등록 방지가 필요할 경우가 있다. 이를 구현하기 위해 여러 가지가 있는데 CATPCHA를 사용하는 방법을 사용하였다.CAPTCHA는 HIP 기술의 일종으로, 어떠한 사용자가 실제 사람인지 컴퓨터 프로그램인지를 구별하기 위해 사용되는 방법이다. 사람은 구별할 수 있지만 컴퓨터는 구별하기 힘들게 의도적으로 비틀거나 덧칠한 그림을 주고 그 그림에 쓰여 있는 내용을 물어보는 방법이 자주 사용된다.위키백과 다운로드CATPCHA를 사용하기 위해선 https://sourceforge.net/projects/simplecaptcha/ 사이트로 이동해서 jar 파일을 다운로드 받는다. jar 파일 추가사용하는 툴이 이클립스 일 경우 jar 파일을 프로젝트에 포함시켜야 한다. 아래 이전 글을..
[리눅스] mount --bind 사용 방법
[리눅스] mount --bind 사용 방법
Linux
2023.01.05 14:10
mount 명령어는 디스크 드라이브와 같은 블록 디바이스(Block Device)만 마운트가 가능합니다. --bind 옵션을 추가하면 특정 디렉터리를 다른 디렉터리에 마운트(mount)해서 양쪽 디렉터리가 같은 곳으로 연결되도록 할 수 있습니다. $ mount --bind [원본 디렉토리] [붙일 디렉토리] 사용 예시 먼저 두 개의 디렉토리를 생성합니다. $ mkdir src $ mkdir dest --bind 또는 -B 옵션을 사용해서 src 디렉토리를 dest 디렉토리에 연결합니다. $ mount --bind src dest dest 디렉토리 하위에 파일을 생성을 하면 src 디렉토리에도 반영이 됩니다. $ touch dest/test 변경된 내용을 양쪽 모두 확인이 가능합니다. $ ls dest t..
SHACL(Shapes Constraint Language) 란
SHACL(Shapes Constraint Language) 란
Information
2023.02.03 13:23
데이터를 검증하는 데 사용되는 SHACL(Shapes Constraint Language)에 대해 공부하고 정리한 내용입니다. SHACL(Shapes Constraint Language) 란 Shapes Constraint Language(SHACL)는 RDF(Resource Description Framework) 그래프를 설명하기 위한 W3C(World Wide Web Consortium) 표준 언어입니다. SHACL은 RDF 그래프로 표현되는 온톨로지의 의미 체계 및 기술 상호 운용성 계층을 향상하도록 설계되었습니다. SHACL 모델은 그래프의 내용, 구조 및 의미에 대한 제약 조건으로 정의됩니다. SHACL은 표현력이 뛰어난 언어입니다. 무엇보다도 속성이 가질 수 있는 값의 수, 이러한 값의 유형..
IT
모든 개발자가 알아야 할 20가지 Git 명령어
모든 개발자가 알아야 할 20가지 Git 명령어
Git
2024.11.27 21:59
Git은 대부분의 개발자가 매일 사용하는 필수 도구지만, 많은 경우 기본적인 push, pull, commit 정도만 활용합니다. 그러나 Git은 우리가 상상하지 못한 다양한 기능을 제공하며, 이를 활용하면 생산성과 효율성을 대폭 향상시킬 수 있습니다. 이 글에서는 Git의 유용한 명령어 20가지를 소개하며, 이를 통해 더욱 효율적이고 자신감 있게 버전 관리를 할 수 있도록 도와드립니다.1. 인터랙티브 추가설명: 파일 전체가 아닌 특정 부분만 스테이징할 수 있습니다.git add -p장점: 파일 내의 특정 변경 사항만 선택적으로 커밋할 수 있어, 작은 단위의 커밋을 만들 때 유용합니다.팁: 한 파일에서 여러 작업을 진행한 경우, 각 작업을 개별 커밋으로 나누는 데 사용하세요.2. 마지막 커밋 되돌리기설명..
시니어 개발자들이 절대 놓치지 않는 10가지 코딩 습관
시니어 개발자들이 절대 놓치지 않는 10가지 코딩 습관
Information
2024.11.22 13:26
시니어 개발자들이 작성하는 코드는 단순히 작동할 뿐 아니라 오랜 시간 동안 유지보수가 가능합니다. 그 비결은 경험을 통해 터득한 코딩 습관에 있습니다. 아래에서 시니어 개발자들이 실천하는 10가지 코딩 습관과 그들이 코드를 깔끔하고 안정적이며 다루기 쉽게 유지하는 방법을 살펴봅시다.1. 코드를 미래의 나를 위해 작성하라새벽 3시에 디버깅해야 하는 상황을 상상해 보세요. x, y, temp 같은 이름을 사용하는 변수와 복잡하게 중첩된 함수들이 난잡하게 얽혀 있다면 고통스럽겠죠. 코드를 작성할 때는 미래의 자신이 코드를 리뷰한다고 생각하고 작성하세요. 나쁜 코드function process(x, y) { let temp = x * y; return temp + 5;}좋은 코드function calcula..
주말에 만들 수 있는 5가지 AI 프로젝트 (Python 사용)
주말에 만들 수 있는 5가지 AI 프로젝트 (Python 사용)
AI
2024.11.20 15:41
AI 기술을 향상시키는 최고의 방법은 프로젝트를 직접 구축해 보는 것입니다. 그러나 어떤 프로젝트를 시작해야 할지 결정하기 어려울 때도 있습니다. 이 글에서는 초급부터 고급까지 세 가지 수준에서 빠르게 구축할 수 있는 5가지 AI 프로젝트 아이디어를 공유합니다. 각 아이디어를 구현하는 데 필요한 단계와 Python 라이브러리를 설명해드리겠습니다. 프로젝트 아이디어를 생각할 때, 초보자들이 가장 많이 하는 실수는 "이 새로운 기술을 어떻게 사용할 수 있을까?"라는 질문에서 시작하는 것입니다. 물론, 새로운 도구를 배우는 방법으로는 괜찮지만, 더 나은 접근법이 있습니다. 좋은 프로젝트 아이디어는 "내가 해결할 수 있는 문제가 무엇인가?"라는 질문에서 시작됩니다. 문제 해결은 기술을 가치로 전환하는 방법이며,..
개발자가 싫어하는 작업을 ChatGPT로 해결하는 방법
개발자가 싫어하는 작업을 ChatGPT로 해결하는 방법
ChatGPT
2024.11.17 22:05
반복적이거나 기계적인 작업을 좋아하는 개발자는 많지 않을 것입니다. 다행히도 2022년부터 아주 강력한 도구, ChatGPT가 이 "지루한" 작업을 훨씬 더 쉽게 만들어 주고 있습니다. 이번 글에서는 ChatGPT를 활용해 다음과 같은 개발 작업을 손쉽게 처리하는 방법을 소개합니다.파일 생성 및 업데이트메서드/함수 이름 생성다국어(i18n) 파일 생성복잡한 코드 이해데이터베이스 삽입문(insert) 생성1. 파일 생성 및 업데이트CSV 파일은 여전히 데이터 입력이나 테스트 데이터로 종종 사용됩니다. ChatGPT를 이용해 손쉽게 CSV 파일을 생성하거나 수정할 수 있습니다. 예를 들어, 고객 목록이 담긴 CSV 파일을 생성하려면 다음과 같은 프롬프트를 사용할 수 있습니다.10명의 고객 정보가 담긴 CSV..
가장 강력한 머신 러닝 모델 설명 (Transformers, CNNs, RNNs, GANs 등)
가장 강력한 머신 러닝 모델 설명 (Transformers, CNNs, RNNs, GANs 등)
AI
2024.11.08 15:57
머신 러닝은 방대한 분야이며, 현재 기술의 최전선에 있는 모델과 기법들을 개괄적으로 다룬 자료를 찾는 것이 어렵게 느껴질 수 있습니다. 따라서, 이 글에서는 각 모델을 과학적으로 분석하기보다는 개념적으로 탐구해보겠습니다. 각 모델에 대해 더 깊이 파고들기를 권장하며, 이론이 실무와 연결되어야 한다고 생각하기 때문에 실제 사용 예시도 제공하겠습니다. 만약 빠진 정보가 있다면 피드백을 주시고, 추가 정보를 요청해주세요. 시작하기 전에 다룰 모델 목록은 다음과 같습니다.CNN (Convolutional Neural Networks)RNN (Recurrent Neural Networks)TransformersGAN (Generative Adversarial Networks) CNN (합성곱 신경망)CNN(Con..
Backend
Spring Boot에서 Lombok을 활용한 효율적인 Java 개발 가이드 🌟
Spring Boot에서 Lombok을 활용한 효율적인 Java 개발 가이드 🌟
Spring
2024.12.02 15:20
Project Lombok은 자바 코드의 반복적인 작업을 줄이고, 생산성을 향상시키는 라이브러리입니다. Lombok은 어노테이션(Annotation)을 통해 getter, setter, constructor 등의 보일러플레이트 코드를 자동으로 생성해줍니다.Lombok을 사용하는 이유코드 간소화: toString(), equals(), hashCode(), getters, setters 등의 일반적인 메서드를 자동으로 생성합니다.가독성 향상: 불필요한 코드가 줄어들어 코드의 의도가 더 명확하게 드러납니다.개발 시간 단축: 작성해야 할 코드가 줄어들어 비즈니스 로직에 집중할 수 있습니다.리팩토링 용이성: 필드 이름을 변경하더라도 getter/setter를 따로 수정할 필요가 없습니다.Lombok의 주요 기능..
Spring Boot에서 API 응답을 구조화하는 가장 좋은 방법
Spring Boot에서 API 응답을 구조화하는 가장 좋은 방법
Spring
2024.11.24 00:29
오늘은 Spring Boot에서 API 응답을 깔끔하고 일관되며 사용하기 쉽게 구조화하는 가장 좋은 방법에 대해 이야기해보려고 합니다. 이 글을 끝까지 읽으면, 당신의 API가 더 깔끔하고 일관성 있으며, 사용자 친화적으로 바뀌는 모습을 볼 수 있을 것입니다.API 응답 구조가 왜 중요할까?먼저, 잘 구조화된 API 응답이 왜 중요한지 살펴봅시다. 일관된 응답 구조는 다음과 같은 장점을 제공합니다:클라이언트 측 에러 처리 개선: 프론트엔드 팀에서 크게 감사할 것입니다.가독성과 유지보수성 향상: 미래의 당신이나 팀이 명확함에 감동할 것입니다.디버깅과 로깅 간소화: 문제를 빠르고 효율적으로 파악할 수 있습니다.좋은 API 응답의 조건잘 구조화된 API 응답은 다음과 같은 특징을 가져야 합니다:일관성: 다양한..
Spring Boot에서 데이터 캐싱 방법
Spring Boot에서 데이터 캐싱 방법
Spring
2024.11.13 22:50
이 글에서는 시스템 실행 중 성능을 향상시키기 위해 데이터를 캐싱하는 몇 가지 기술을 살펴보겠습니다. 일반적으로 계산하는 데 시간이 오래 걸리는 값을 캐싱하면 나중에 액세스할 때 시간을 절약할 수 있습니다. 캐싱되는 값은 자주 변경되지 않거나, 최신 버전이 필요하지 않은 경우가 많습니다.Spring Boot에서 캐싱Spring Boot REST API에서 캐싱을 활성화하는 가장 간단한 방법은 애플리케이션에 설정하고, 엔드포인트에 @Cacheable 어노테이션을 사용하는 것입니다.애플리케이션에서 다음과 같이 @EnableCaching 어노테이션을 추가하기만 하면 됩니다.@SpringBootApplication@EnableCachingpublic class SpringBootCachingApplication..
[Spring Boot] 대용량 데이터 쿼리 REST 엔드포인트 처리
[Spring Boot] 대용량 데이터 쿼리 REST 엔드포인트 처리
Spring
2024.11.10 22:31
이 글에서는 메모리 소비 문제로 인해 기존 방식으로는 구현할 수 없는 REST 엔드포인트의 예를 살펴보겠습니다.시나리오이번 예제에서는 Customer, Order, OrderItem, 그리고 Product로 구성된 간단한 시나리오를 사용합니다.우리의 목표는 보고서를 생성하는 엔드포인트를 만드는 것입니다. 이 엔드포인트는 다음 데이터를 쿼리하고 반환해야 합니다.백만 개의 주문(Orders)500만 개 이상의 주문 항목(OrderItems)기존 구현몇 가지 필드를 가진 DTO를 정의해보겠습니다.@Datapublic class ReportDto { private final Long orderId; private final LocalDate date; private final String customerN..
백엔드(Backend)를 무료로 호스팅할 수 있는 10가지 사이트
백엔드(Backend)를 무료로 호스팅할 수 있는 10가지 사이트
Backend
2024.10.16 22:54
1) Cloudflare WorkersCloudflare Workers는 서버리스 컴퓨팅 플랫폼으로, 개발자가 Cloudflare의 글로벌 네트워크 edge에서 코드를 실행할 수 있게 해줍니다. 이를 통해 사용자에게 더 짧은 지연 시간과 더 빠른 응답 시간을 보장합니다. 무료 버전은 백엔드 코드를 호스팅하고 실행할 수 있는 넉넉한 용량을 제공합니다.2) VercelVercel은 개발자를 위한 플랫폼으로, 추가 구성 없이 웹 앱을 더 빠르게 빌드하고 배포하는 데 필요한 도구, 워크플로우 및 인프라를 제공합니다.3) Google Cloud FunctionsCloud Functions는 Google Cloud Platform(GCP)에서 제공하는 서버리스 컴퓨팅 서비스입니다. 최소한의 구성과 유지 관리로 이벤..
Frontend
React 컴포넌트 작성, 전문가처럼!
React 컴포넌트 작성, 전문가처럼!
React
2024.11.21 11:41
React에서 컴포넌트를 작성하는 것은 단순히 기능을 구현하는 것이 아니라, 잘 작동하면서도 우아하게 기능하는 컴포넌트를 만드는 예술입니다. 오늘은 React 컴포넌트를 전문가처럼 작성하는 방법을 알아보며, 가독성, 재사용성, 효율성에 중점을 두고 설명해드리겠습니다.1. 기본 List 컴포넌트 만들기먼저, 간단한 List 컴포넌트부터 시작해 보겠습니다.// src/components/List.jsimport React from 'react';const List = ({ data }) => { return ( {data.map((item, index) => ( {item} ))} );};export default List;이 컴포넌트는 배열 형태의 data를..
꼭 알아야 할 21가지 HTML 팁
꼭 알아야 할 21가지 HTML 팁
HTML, CSS
2024.10.15 13:02
이 글에서는 코딩 실력을 향상시킬 수 있는 코드 스니펫(Code Snipet)이 포함된 21가지 HTML 팁을 공유하겠습니다.연락처 링크 만들기HTML을 사용하여 클릭 가능한 이메일, 전화 및 SMS 링크를 만듭니다. Send Email Call Us Send SMS 접을 수 있는 콘텐츠 만들기웹 페이지에 접을 수 있는 콘텐츠를 포함하려는 경우 및 태그를 사용할 수 있습니다. 태그는 숨겨진 콘텐츠를 위한 컨테이너를 생성하고, 태그는 클릭 가능한 레이블을 제공하여 해당 콘텐츠의 표시 여부를 전환할 수 있습니다. Click to expand This content can be expanded or collapsed.시맨틱 요소 활용하기웹사이트에 non-semantic 요소보다 시맨틱(semant..
시간을 절약할 수 있는 6가지 CSS Cheat Sheet
시간을 절약할 수 있는 6가지 CSS Cheat Sheet
HTML, CSS
2024.10.14 15:34
매우 유용한 6가지 CSS Cheat Sheet를 알려드리겠습니다. 참고하세요!CSS FlexboxCSS GridCSS PositionsCSS Display ValuesCSS SelectorsCSS :nth-child Selectors
WPF 애플리케이션 최적화: 성능 팁 및 요령
WPF 애플리케이션 최적화: 성능 팁 및 요령
WPF
2024.08.20 12:23
WPF(Windows Presentation Foundation)은 강력한 UI 프레임워크로, 사용자 친화적이고 시각적으로 매력적인 애플리케이션을 만들 수 있는 다양한 도구를 제공합니다. 그러나 복잡한 UI와 방대한 데이터 처리로 인해 성능 문제가 발생할 수 있습니다. 이 글에서는 WPF 애플리케이션의 성능을 최적화하고 응답성을 개선하기 위한 몇 가지 팁과 요령을 다룹니다. 주요 주제는 UI 응답성, 메모리 관리, 비동기 작업 등을 포함합니다.1. UI 응답성 최적화WPF 애플리케이션에서 UI의 응답성을 유지하는 것은 사용자 경험의 핵심입니다. UI 스레드에서 장시간 실행되는 작업은 애플리케이션이 멈추거나 느려지는 것처럼 보이게 할 수 있습니다.비동기 작업 활용무거운 작업을 UI 스레드에서 비동기적으로 ..
WinUI 3 시작하기: 초보자 가이드
WinUI 3 시작하기: 초보자 가이드
WinUI
2024.08.19 22:46
Windows 애플리케이션 개발에 있어 WinUI 3은 현대적인 사용자 인터페이스(UI)를 구축하기 위한 최신 기술로 자리 잡고 있습니다. WinUI 3은 Microsoft의 WinUI(Windows UI Library)의 최신 버전으로, UWP(Universal Windows Platform)와 Win32 애플리케이션에서 모두 사용할 수 있는 통합된 UI 프레임워크입니다. 이 글에서는 WinUI 3을 처음 접하는 초보자를 위해 기본 개념부터 설정, 간단한 UI 구성, 그리고 Project Reunion과의 연계에 대해 설명합니다.WinUI 3란?WinUI 3은 Microsoft가 Windows 애플리케이션 개발을 위해 제공하는 최첨단 UI 프레임워크입니다. WinUI 3은 최신 Windows 디자인 언..
반응형
image