본문 바로가기

개발174

백엔드 뭘로 개발하나? (java spring vs asp.net core vs nestjs) 데스크톱 앱개발자, 프론트엔드, 모바일앱 개발자.. 그다음 백엔드 개발자. 단언컨데 백엔드 개발자가 결국 짱짱맨인 시대인 것 같다. 그래서 나도 뭔가 해보고 싶어 이거 저거 찍먹해보는 중이다.asp.net core, java spring, nestjs 이 3개 중 어떤게 많이 쓰일까? 궁금해 잡코리아에서 채용 건수를 검색 해보았다.1. asp.net coreasp.net core는 마이크로소프트에서 만든 프레임워크이다. C#으로 백엔드는 물론 프론트엔드까지 커버 가능하며, 성능 또한 매우 우수하다. 문서화도 잘 되어있고 설계도 잘 되어있는 편이라 규모가 아주 큰 프로젝트에 적합하다고 한다. 하지만 문제는 우리나라에서는 거의 잘 쓰이지 않는다는 것뿐. 잡코리아에서 검색해보니 8건으로 매우 처참하다. 8건 .. 2025. 4. 6.
피그마(figma)가 불편해 과거 UI디자인툴은 photoshop이었을 것이다. 약 10년전 회사에서 같이 일하던 디자이너는 photoshop으로 노가다를 하고 있었고, 그때 스캐치(sketch)라는 UI 디자인 툴이 급부상했던 걸로 기억한다. 그리고 Adobe XD와 같은류의 프로그램도 썼던 것 같다.하지만 급발진하는 크롬브라우저의 성능과 웹기술의 발달로 몇년 지나지 않아 피그마(figma)라는 툴이 등장하였다. 완전히 웹브라우저에서 동작하는 디자인 툴이었다. 당연히 기능의 한계가 좀 있었지만 아무런 설치 프로그램 없이 웹브라우저만 있으면 할 수 있다는 점이 큰 장점 이 었다. 그리고 또 몇년 후 피그마는 이제 UI/UX디자이너라면 반드시 해야하는 툴이 되어 버렸다. 거의 모든 UI/UX 디자이너 채용 공고에는 figma가 들어가.. 2025. 4. 6.
[C++] std::variant 쓰는 법 요새 C++에서 사용하고 있는 std::variant라는 걸로 개발을 해보고 있다. 생소해서 사용방법을 잠깐 남겨본다. 약간 C에서 Union같은 느낌도 나지만 그 느낌은 객체스럽다.C++의 std::variant는 여러 타입 중 하나의 값을 가질 수 있는 타입-안전한 유니언(union)이다.std::variant는 C++17부터 표준 라이브러리에 포함되었다고 하니 17이상으로 써야한다.1. std::variant 기본 사용법#include #include int main() { std::variant v; // int, double, std::string 중 하나 저장 가능 v = 42; // int 저장 std::cout (v) (v) (v) std::variant은 int, doub.. 2025. 3. 16.
rust 개발환경 만들기 (macOS, vscode) 오늘은 rust 개발환경을 macOS에서 만들어보겠다.https://www.rust-lang.org/learn/get-started Getting startedA language empowering everyone to build reliable and efficient software.www.rust-lang.org Rust설치Getting started에 나와 있는데로 아래 명령어를 터미널에서 입력한다.curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 각종 환경변수들이 세팅되는 것을 보여준다.특별한일이 없다면 1번 입력해준다.( just press enter)설치가 완료된다. VSCode extension 설치하기주로 vscode에서 코딩.. 2025. 3. 16.
Rust로 Windows 드라이버 만들기 rust?로 Windows 드라이버를 만드는 것에 대한 영상이다.https://www.youtube.com/watch?v=NfBXDEgm6VY 나중에 보려고 킵. 2025. 3. 16.
[cpp/winrt] win32프로젝트(MFC, WTL..)에서 DispatcherQueue사용하기 (코루틴) 0. 불편하다 PostThreadMessage윈도우는 생성된 스레드에서 UI 작업(창을 만든다거나) 하거나 GetMessage 로 메시지 루프를 만들면 메시지 큐를 생성한다.https://learn.microsoft.com/en-us/windows/win32/winmsg/using-messages-and-message-queues Using Messages and Message Queues - Win32 appsThe following code examples demonstrate how to perform the following tasks associated with Windows messages and message queues.learn.microsoft.com이렇게 생성된 메시지 큐는 메시지 D.. 2025. 3. 14.
[Unity] 라이선스 활성화안되는 문제.. 유니티 서버 인증서 만료? 어제까지만 해도 잘되던 유니티가 갑자기 라이선스 활성화가 안됬다면서 죽었다 깨어나도 안된다.이것저것 해보니 놀랍게도 유니티 라이선스 웹서버의 인증서가 만료날짜이다.뭐지. 실화인가..컴퓨터 시간을 만료 전날인 3월 7일로 돌려보았다. 뭐야. 됨..;;  유니티같은 빅테크도 웹서버 관리자가 정신빼놓고 일하는 건지?..캐시문제인건지 모르겠다. 2025. 3. 8.
python으로 간단히 웹 서버 열기(파일서버) 1. 개요가끔 파일을 빠르게 공유해야 할 때가 있습니다. USB 메모리를 이용하거나, 메신저를 통해 전송할 수도 있지만, 같은 네트워크 내에서 다수의 기기와 공유해야 한다면 번거로울 수 있습니다.이럴 때 간단한 웹 서버를 실행하여 원하는 폴더의 파일을 웹 브라우저에서 바로 접근할 수 있도록 설정하면 매우 편리합니다. Python을 이용하면 단 한 줄의 명령어만으로 이런 웹 서버를 손쉽게 실행할 수 있습니다.2. Python을 이용한 간단한 HTTP 파일 서버 실행2.1. 기본 웹 서버 실행Python은 기본적으로 HTTP 서버 기능을 제공하므로, 별도의 프로그램을 설치할 필요 없이 단 한 줄의 명령어로 파일을 공유할 수 있습니다.웹 서버를 실행하려는 폴더에서 다음 명령어를 입력하세요:python3 -m .. 2025. 2. 25.
[Windows] DeviceIoControl을 이용하여 하드디스크 시리얼 구하기 윈도우 클라이언트를 개발하다 보면 특정 PC의 고유 값을 얻어야 할 때가 있다. 보통 하드디스크 시리얼, Mac 주소 등의 조합으로 하드웨어를 특정 짓는다.이번에 알아본 방법은 DeviceIoControl를 이용하여 하드디스크 시리얼을 구하는 방법이다.  BOOL GetDiskSerialNumber(CString &szSerialNumber){ TCHAR szWindowDir[MAX_PATH] = { 0, }; if (ExpandEnvironmentStrings(_T("%windir%"), szWindowDir, MAX_PATH) == 0) return FALSE; szSerialNumber.Empty(); // Format physical drive path (may be '\\.\PhysicalDr.. 2025. 2. 12.