본문 바로가기

개발185

[WTL] Visual Studio 2026에서 WTL 프로젝트 템플릿 설치하기 2025년 11월 Visual studio 2026이 정식 출시되었다. 초반에는 좀 버그가 있어서 버벅거리는 모양새였지만 지금 18.1이 나온 시점 많이 양호해져 실무에서도 사용할 수 있게되었다.그런데 한가지 걸리는게 WTL 템플릿 마법사가 설치가 안된 다는 것이다.2022에도 꼼수로 설치 했었는데 이제 정말 보내줘야하나 하고 있었다. 그러던 중 WTL SourceForge에 들어가보니 파일이 하나 업데이트 되었다.setup.js파일이다. (아직 정식 배포에는 포함안된듯) WTL 릴리즈 zip파일을 적절한 위치에 압축을 푼다. 나는 c:\에 풀었는데 이상한데 굴러댕기는게 싫으면 https://lucidmaj7.tistory.com/435를 참고하자 [WTL] Visual studio 2022에서 WTL .. 2025. 12. 11.
왜 Mac에서 npm install -g는 sudo를 요구할까? 더 나은 해결책은?" Mac에서 개발 환경을 설정하다 보면 많은 개발자들이 npm install -g 명령어를 실행할 때 EACCES 권한 오류를 마주치게 됩니다. 그리고 자연스럽게 해결책으로 sudo를 앞에 붙여 문제를 해결하곤 합니다.sudo npm install -g typescript하지만 이는 근본적인 해결책이 아니며, 오히려 보안상 위험을 초래할 수 있습니다. 이번 글에서는 왜 이런 문제가 발생하는지, 그리고 sudo 없이 npm 글로벌 패키지를 설치하는 더 안전하고 효율적인 방법은 무엇인지 알아보겠습니다.왜 sudo를 요구하는 걸까?결론부터 말하자면, npm의 기본 글로벌 설치 경로가 시스템 보호를 받는 디렉토리이기 때문입니다.Mac에 Node.js를 설치하면, npm이 글로벌 패키지를 저장하는 기본 위치는 보.. 2025. 10. 12.
Ollama로 gemma3:270m 모델 써보기 구글에서 얼마전에 발표한 gemma3:270m는 2억 7천만개의 파라미터를 가진 경량 모델로, 제한된 컴퓨팅 자원에서도 실행 가능하다. 즉 엄청난 그래픽카드가 없어도 핸드폰에서도 동작 가능한 수준이라고 한다. 호기심에 극단적인 10년전 i3 3세대 노트북에서 돌려보기로 했다. OS는 linux가 설치되어 있어 바로 돌려볼 수 있었다.참고로 Ollama로 실행해봄.1. OIlama설치일단 Ollama를 설치하자. https://ollama.com/download Download Ollama on macOSDownload Ollama for macOSollama.com 리눅스에서 이렇게 스크립트를 실행해준다.curl -fsSL https://ollama.com/install.sh | sh착착 설치된다.2. .. 2025. 8. 19.
나만의 DNS서버 만들기 (rocky 9 linux + bind9) 사설망에서만 관리되는 특정 도메인을 사용한다던지, 접근 통제를 위해 dns 쿼리 모니터링을 한다던지..여러가지 목적으로 내부망에 DNS서버를 운용할 수 있다. 오늘은 이렇게 사설 DNS서버를 구축할 수 있는 bind9을 rocky linux에 설정해보겠다.1. 설치설치는 간단하다.sudo dnf install bind bind-utils -y 2. 설정 파일이렇게 설치 하게 되면 bind9의 데몬은 named라는 서비스로 돌게된다. 메인 설정 파일은 다음 경로이다./etc/named.conf 3. 설정 예시3.1. any로 쿼리 받기초기 설치하게 되면 localhost의 쿼리만 받을수 있게되어있다. 0.0.0.0으로 바인드해줘야 외부 요청을 받을 수 있다.listen-on port에 any;라고 명시하자.. 2025. 7. 26.
[모던 C++] 배열 대신 std::vector, std::array를 써보자 특정 크기의 메모리 버퍼를 할당을 하거나 무언가 연속적인 데이터를 저장해야할 때 늘 그렇듯 C스타일 배열(array)를 썼다. 그것이 익숙 하기도 하고 속도면에서도 빠를테니까?unsigned char buffer[1024] ;하지만 C스타일 배열은 버그를 만들어낼 문제가 많고, 인덱스를 잘못 계산하면 메모리 범위를 벗어 날 수도 있다.그래서 그런지.모던(modern) C++에서는 std::vector, std::array를 쓰도록 권장하고 있다.std::vector, std::array는 배열과 마찬가지로 표준에 의해 연속된 메모리에 메모리 블록을 저장하고 유효한 범위 내에서 엑세스 할 수 있는 이터레이터(iterator)도 제공한다. std::vector vec1 = {1, 2, 3, 4, 5};std.. 2025. 7. 6.
C++ 값 카테고리 (lvalue, rvalue...) lvalue, rvalue에 대한 내용을 제미나이에게 물어본 결과이다.msdn c++ 관련 문서에도 나와있는 내용. 맞는지 틀린지는 나중에 읽어봐야겠음.https://learn.microsoft.com/ko-kr/cpp/cpp/lvalues-and-rvalues-visual-cpp?view=msvc-170 값 범주: Lvalues 및 Rvalues(C++)자세한 정보: Lvalues 및 Rvalues(C++)learn.microsoft.com C++ 값 카테고리 (Value Categories)C++의 값 카테고리(Value Category)는 C++11에서 이동 의미론(Move Semantics)이 도입되면서 더 정교하게 분류되었습니다. 이들은 표현식(expression)이 평가될 때 그 결과가 어떤 .. 2025. 7. 6.
PM2를 이용한 Node.js(Next.js) 서버 백그라운드 실행하기(+ selinux) nextjs와 같은 웹 애플리케이션을 배포 운영할때 단순히 npm run start로 실행하면 터미널이 닫히는 순간 꺼저버리기 때문에 실제 서비스를 할 수 없다. 이를 방지하고, 서버가 꺼지더라도 자동으로 재시작 되게 하려면 프로세스 관리자가 필요하다.nodejs환경에서 가장 널리 사용되는 프로세스 관리도구는 pm2이다.오늘은 next.js 앱을 pm2로 관리하는 방법을 알아보겠다.1. pm2 설치 & 심볼릭링크 생성npm install -g pm2-g로 글로벌 설치를 하여 시스템 전역에서 사용할 수 있도록한다.pm2 명령어를 실행하면 뭐라도 떠야하지만 -bash: pm2: command not found 가 발생할 수 있다.왜 그런지 모르겠지만 pm2를 암튼 /usr/local/nodejs/lib/no.. 2025. 6. 3.
맥북프로 m3 pro에서 ComfyUI로 stable diffusion 실사이미지 만들어보기 뭐가 궁금했는지 갑작스럽게 나의 맥북프로 m3 pro를 시험하고싶어젔다.ai 실사 이미지를 만드는데 한참전 부터 유행한 stable diffusion는 초창기 유행할 때 시도해 보려 했지만 장비 성능상 한계로 해보지 못했었다. (m1 에어) 하지만 m3 pro라면 어느정도 가능하지 않을까?요새는 툴도 좋아져 webui말고도 ComfyUI라는 툴을 사용하더라.그래프로 처리 단계를 지정할 수 있어 좀더 직관적이고 세밀한 설정이 가능한 것 같다.(잘은 모름)참고는 https://arca.live/b/aiartreal 를 참고했다. 아재들이 역시 열심히 찍어내고 계셨다.결론부터 말하면 SDXL기반 체크포인트로 업스케일링 1024까지 했을때 한 3분정도 걸리면 대략 요런 그림들이 나온다. photo, photo.. 2025. 5. 6.
Postgresql 15 외부접속 허용하기 (rocky linux 9.5) Postgresql DB를 서버 외부 클라이언트나 웹 애플리케이션과 연동하기위해 외부접속 설정이 필요하다.오늘은 Rocky linux에 설치한 postgresql 15의 외부 접속 설정을 하는 방법을 알아보겠다. 물론 아래 설정은 보안상 취약한 점이 있을 수 있으니 주의하자. Listen 주소 변경 (/var/lib/pgsql/15/data/postgresql.conf)일단 localhost로만 listen하고 있는 걸 any로 설정해줘야한다. postgresql의 설정파일 postgresql.conf의 위치는 다음과 같다./var/lib/pgsql/15/data/postgresql.conf이 파일을 열어 다음과 같이 설정해준다.listen_addresses = '*'그리고 서비스 재시작sudo syst.. 2025. 5. 1.