[Ubuntu 24.04] Mosquitto 설치 및 외부 접속

MQTT는 메시지를 주고받을때 사용하기 편한 경량 메시지 프로토콜 입니다. 주로 IOT 환경에서 사용되고, 최근에는 다용도 통신 목적으로도 사용합니다. MQTT는 Broker라고 불리는 프로그램이 중앙 서버역할을 해주고, 클라이언트 들이 Broker에 접속하여 메시지를 주고 받게 됩니다. 간략한 사용을 해보기위해 우분투에서 Mosquitto라는 MQTT Broker를 설치하여 사용해보겠습니다. 2. Mosquitto 설치 만약 위 명령에서 mosquitto를 찾을 수 없다면, 저장소를 추가해준다. 3. … Read more

클린아키텍쳐 기반으로 안드로이드 앱 프로젝트 시작하기

안드로이드 앱을 처음 개발하고, 시간이 흐르면 좀 더 잘 정리된 구조로 리펙토링을 하고 싶거나, 해야하는 상황이 오기 마련입니다. 어떤 이는 가독성과 유지보수성을 좋게 하기 위해서일 수도 있고, 어떤 이는 협업을 위해서일 수도 있습니다. 그리고 여러 잘 짜여진 구조들을 공부하면서 리펙토링을 마치고, 추후에 시작될 신규 개발 프로젝트는 잘짜여진 구조로 처음부터 시작을 하게 되고, 우리의 실력은 조금더 … Read more

홈서버 구축하기 – 4. Proxmox VM 생성

ISO 파일 다운로드 초기설정은 끝냈으니, 이제 가상머신을 생성해보겠습니다. 가상머신을 생성하기 전에 먼저 설치할 운영체제 ISO 파일을 다운받아줍니다. 저는 가장 일반적으로 사용하는 Ubuntu 리눅스를 설치해보겠습니다. 대신 Desktop 버전이 아닌 Server 버전을 설치할 것입니다. 아래 링크로 들어가면 다운받으실 수 있습니다. Ubuntu Server 24.04 [Download] Proxmox 접속 이제 본인의 Proxmox에 접속해서 로그인을 합니다. 메인화면이 뜨면 아래의 위치로 이동해서 … Read more

홈서버 구축하기 – 3. Proxmox 유효한 서브스크립션이 없음 알람 삭제

Proxmox를 설치 후 로그인을 하면 가장 처음으로 아래와 같은 알람이 뜹니다. 이 에러메시지를 제거해보겠습니다. 먼저 vi 에디터를 최신버전으로 설치하겠습니다. 다음 아래의 명령어를 차례로 입력해 줍니다. vi 에디터로 파일이 열리면 키보드로 바로 다음 키워드를 쳐서 검색을 합니다. 그러면 아래 코드위치를 찾아줍니다. 어기에서 Proxmox.Utils.API2Request() 부분을 주석처리 해주고, 마지막 라인에 return; 을 입력해줍니다. 그런 다음 아래 명령어로 저장하고 … Read more

홈서버 구축하기 – 2. Proxmox 설치

부팅 이미지 준비작업 먼저 Proxmox를 설치하기 위해서 부팅이 가능한 USB 메모리를 만드는 작업부터 해야 합니다. 방법은 우분투나 민트 리눅스 부트이미지를 만드는 것과 동일합니다. 가장 먼저 아래 주소에서 Proxmox 최신 버전을 다운로드 받습니다. Proxmox download : https://www.proxmox.com/en/downloads 그리고 Rufus를 이용하여 USB 메모리로 부팅 가능한 USB를 만듭니다. Rufus : https://rufus.ie/ko/ 부팅 이미지 만들기 다운받은 Rufus를 실행합니다. 빨간색으로 … Read more

홈서버 구축하기 – 1. 가상화 기술 조사

현재 개인적으로 집에서 시놀로지(Synology) NAS를 사용하고 있다. 누군가는 헤놀로지(XPEnology)를 사용하기도 하지만 정식으로 비용을 지불하면 시행착오를 겪지 않고 바로 사용할 수 있는 장점이 있다. 하지만 상용으로 구매한 NAS는 뭔가 재미가 없다. 사실 홈서버라는 것을 구축하고 나서 하고싶은 일들은 이미 시놀로지에서도 다 할 수 있다. 시놀로지에서 Docker나 VMM을 설치하면 웹서버 구축이나, 다른 운영체제를 가상머신으로 띄우는 것도 가능하다. … Read more

[일기장] 일기장 프로그램 개발 – 1 (프로그래머를 꿈꾸기 시작한 일기장 프로그램)

Prologue 초등학교때 처음 컴퓨터를 배우면서 컴퓨터 책을 한권 산적이 있다. 너무 오래되어서 책 제목도 생각나지 않는데 부록으로 “초롱이 일기장” 이라는 프로그램을 디스켓에 넣어줬던 기억이 있다. 그때는 컴퓨터책에 응용프로그램 하나씩 넣어주는게 유행이었던 것같기도 하다. 어린 마음에 ‘이런 프로그램은 어떻게 만들지?’ 라는 생각으로 관심을 가지기 시작한 것이 내 직업이 될 줄은 꿈에도 몰랐다. 그때부터 일기는 잘 쓰지도 … Read more

[Golang] Go 언어 기초 문법 – 포인터와 인스턴스

포인터는 메모리의 주소를 저장하는 변수 타입입니다. 아파트의 동호수처럼 변수의 번지수라고 봐도 무방할 것 같습니다. 포인터 선언 포인터 변수는 가리키는 데이터 타입 앞에 * 연산자를 붙여서 선언합니다. 그리고 어떤 변수의 주솟값을 알고 싶으시면 & 연산자를 붙여서 주솟값을 알아올 수 있습니다. 또한, 포인터가 가리키는 변수의 값을 얻어올 수도 있습니다. 이때는 포인터 앞에 * 연산자를 붙여서 사용합니다. 그러면 … Read more

우리아이 이름짓기 프로그램

[홍]씨 돌림자[길]을 중간돌림으로 하는 이름.txt 우리아이 이름짓기.zip 아이 이름을 지을때 작명소에 의뢰하기도 하고, 순수 한글이름으로 예쁘게 지어주기도 합니다. 이 프로그램은 이름을 지을때 참고가 되는 자료를 뽑아 볼 수 있는 프로그램입니다. 성씨와 돌림자를 입력하고, 중간돌림인지 끝자돌림인지를 선택한 뒤, [이름 출력] 버튼을 클릭하면 위 화면과 같이 이름으로 사용되는 한글 음을 모두 붙인 리스트가 나오게 됩니다. 이것을 파일로 … Read more

엑셀로 제작한 영어단어 퀴즈 생성기 V.1.1

영어단어 퀴즈생성기 V.1.1 -> [다운로드] 학창시절에 학원에서 영어단어 공부를 시킬 때 보면, 단어 시험지를 매일매일 나눠주고 테스트를 봤었습니다. 집에서 혼자 공부할때에도 이렇게 시험지를 만들어서 테스트해보고 싶지만, 시험문제 만드는 시간이 더 오래걸리죠. 또 다른 방법으로는 왼쪽에 단어, 오른쪽에 뜻을 적어놓고 종이같은걸로 가리고 단어를 보면서 외우지만, 이것도 조금 반복하다보면 순서를 외우기 때문에 효율이 떨어집니다. 일단 요구사항을 적어봤습니다. … Read more