본문 바로가기

개발181

[모던 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.
Rocky linux 9.5에서 PostgreSQL 15설치하기 오늘은 Postgresql을 Rocky list 9.5에 설치하는 법에 대해 알아보자.다행 스럽게도 가이드가 잘 되어있다.설치https://www.postgresql.org/download/linux/redhat/ PostgreSQL: Linux downloads (Red Hat family)Linux downloads (Red Hat family) The Red Hat family of distributions includes: Red Hat Enterprise Linux Rocky Linux AlmaLinux CentOS (7 only) Fedora Oracle Linux and others. PostgreSQL is available on these platforms by default. Howev.. 2025. 4. 29.
Rocky linux 9.5 - nginx, php 설치 요새 centos 대신 많이 쓰인다는 rocky linux에서 nginx, php 8.1을 설치하는 방법을 알아보았다.우선 최초 설치 후 epel-release를 설치한다.sudo dnf install epel-release -ysudo dnf update -y php 설치php 8.1은 remi 저장소를 추가해줘야 한다.sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -ysudo dnf module reset php -ysudo dnf module enable php:8.1 -y이제 php 설치sudo dnf install php php-cli php-fpm php-mysqlnd php-opcache php-gd php-.. 2025. 4. 28.
백엔드 뭘로 개발하나? (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.