[Daily Poll] 소개와 사용 설명서

이미지
Daily Poll 서비스는? 매일 혹은 매주 반복되는 투표를 만들고 공유할 수 있습니다. 바로 찍먹을 해보고 싶으신 분은 아래 링크로 접속하세요. https://dailypoll.kr/hello     - 비번은 world (앞으로의 계획) - 투표 항목 프리셋 : 날짜/시간/커피 등 - 채널의 참가자 관리 기증 : 참가자 목록 확인, 내보내기 기능 - 채널 카드 판매 (2026-02-21) 현재 마켓 등록을 위한 심사 중입니다. 약 1주일 정도 걸린다고 하네요.  그전까지는 비공개 테스트 버전을 다운받아서 확인할 수 있습니다. 아래 구글 그룹스에 가입하시고 위 Web 링크를 통해 앱으로 보기로 진입하시면 될 것 같네요. https://groups.google.com/g/daily-poll   단순 투표 참가자라면... 1. 안드로이드를 사용하는 분은 관리자가 공유해 준 채널 링크를 따라 들어가면 바로 앱 다운로드로 갈 수 있는 버튼이 있습니다. 앱 설치 후 투표 채널 참가 시 기본으로 사용할 이름과 비밀번호를 설정하고 "채널 참가" 버튼을 눌러 관리자가 공유해 준 채널 ID와 채널 비밀번호를 입력하고 채널에 참가하시면 됩니다. 2. 안드로이드가 아니거나 설치하기 싫으신 분은 관리자가 공유해 준 웹 페이지에 접속하시면 됩니다. 관리자가 공유해 준 채널 ID로 먼저 채널에 들어간 뒤, 투표에 참가할 이름과 비밀번호를 입력하고 투표에 참가하시면 됩니다. 채널 진입 및 투표에 사용한 이름과 비밀번호들은 암호화 되어서 브라우저에 저장이 됩니다. 같은 브라우저를 이용한다면 이 후 접속부터는 바로 투표에 참가할 수 있습니다.   투표 채널의 관리자라면... 실제 투표를 만들고 공유해야 하는 분이라면 알아야 할 것이 좀 더 많습니다. 그리고 안드로이드 스마트폰을 이용하는 분만 가능합니다.  먼저 이 서비스의 기본적인 구조를 설명 드리겠습니다. [관리자] 투표 채널 생성 > 투표 정보 입력 > 투표 날...

레노버 IdeaPad Pro 5 16IAH10 ULT9 AI (1TB) - 리눅스 설치

이미지
 요즘 집에 있는 컴퓨터 2대 모두 아이들에게 자리를 뺐겨, 10년이 다 되어 가는 구형 노트북으로 개인 프로젝트를 하다가 도저히 안되겠다 싶어서 노트북을 새로 하나 구입하기로 하였다. 요즘 AI 때문에 RAM 과 SSD 가격이 끝을 모르고 올라가는데, 지금이라도 사야겠다고 결정하고 개발용으로 좀 알아봤다. 일단 난 애플과는 안 친하기 때문에 맥북은 패스. 삼성은... 개발용과 게임용은 안 만들기로 결정한 듯한 라인업들 뿐이었다. 그래서 좀 찾아보다가 CPU 성능이 괜찮고, 내가 하는 업무는 굳이 그래픽 카드가 없어도 되는 적당한 가성비의 모델로 결정. 바로 " 레노버 IdeaPad Pro 5 16IAH10 ULT9 AI (1TB)   " 요 녀석이 되겠다. 같은 모델임에도 가격이 더 싼 게 있어서 봤더니 OS 미포함이었다. 어짜피 개발용으로 사용하려 마음 먹은 터라, 이참에 리눅스 깔아서 설치해야겠다 마음 먹고 구입 완료. 개봉기는 사진도 안 찍었기에 패스. 다만 기본 모델이 1TB 모델은 기본 모델이 아니라서, 봉인지 뜯고 매뉴얼로 작업한 뒤 다시 봉인했다고 새로운 스티커가 붙어있더라. 뭐.. 쿨하게 그냥 넘어감. 오히려 SSD 교체하고 컴퓨터 잘 켜지는 지는 확인했을테니 더 나은거 아닌가 싶기도 하고.. 이제 어떤 리눅스 배포본을 사용할 것인가를 결정할 단계. 내가 익숙하거나 이쁜 거 2개만 고려해서 다음 3가지 종류를 사용해 보기함. 1. Ubuntu 최신 (현재 기준 25.10) : 나에게 제일 익숙하기도 하고,  최고의 데스크탑 용 리눅스 중 하나 2. Linux Mint 22.3 Cinnamon : DistroWatch 에서 2위에 랭크된 인기있는 리눅스 배포본 중 하나. 우분투 기반이라 익숙하기도 하여 선택. 3. Zorin OS : 인터넷 검색 결과 이쁘다는 이유만으로 선택해 봄 결론을 말하자면 Zorin OS 써보다가 26.04 LTS 나오면 갈아탈 지 다시 고민해 볼 예정이긴 하지만, 간단하게 깔아본 소감 정도는 남...

[Daily Poll] 자주 묻는 질문(FAQ)

Q) Daily Poll 이 뭔가요? A) 반복되는 투표가 필요한 분들을 위해 만든 투표 서비스입니다. 같은 내용으로 매일 혹은 매주 반복되는 투표를 만들어야 한다면 이 서비스를 이용해 보세요.   좀 더 개인적인 설명을 드리자면 제가 가입한 동호회의 불편한 점을 개선하고자 직접 개발하게 된 서비스입니다. 프로젝트의 시작은 동호회의 레슨 시간을 레슨 날 아침에 결정할 수 있도록 투표를 매번 만들었는데, 투표를 관리하는 동호회 임원들의 고충이 커서 이걸 해결하고자 반복되는 매일의 투표를 좀 더 편하게 관리하고자 개발하게 되었습니다. Q) 어디에서 받을 수 있나요? A)  https://play.google.com/store/apps/details?id=net.ommoks.azza.dailypoll 투표를 만들어야 한다면, 안드로이드 앱을 사용하셔야 합니다. 단순히 투표 참가를 위해서도 안드로이드 앱을 사용하면 편하지만, 웹으로도 투표 참가는 가능합니다. https://dailypoll.kr/채널명 위와 같이 투표 관리자가 공지한 채널 명으로 접속해 주세요.    Q) 어떻게 쓰는 건가요? A)   https://ommokazza.blogspot.com/2026/02/daily-poll_21.html 위 링크의 사용 설명서를 참고하세요.     Q) 웹 브라우저로 투표에 참가할 수는 없나요? A) https://dailypoll.kr/채널명     으로 접속하시면 됩니다.  Q) iOS 는 지원하지 않나요? A) 제가 안드로이드 앱만 개발해 봐서 iOS용 앱 개발은 전혀 모릅니다. 현재는 계획이 없습니다.

Daily Poll 비공개테스트 참가하기 (종료)

 동호회 분들 덕분에 비공개 조건을 만족해서 넘겼네요.

[Daily Poll] 작업일지(2) - 서버 인프라 설계 : 데이터베이스

Daily Poll 의 요구사항을 세세하게 다 적지 않아도, 이 프로젝트의 시작이 명확한 Pain Point를 해결하고자 하는 것이기 때문에, Overall Server Infra 정도는 생각해 볼 수 있을 것 같다. - 유저와 투표를 관리하고 투표를 처리할 수 있는 API Endpoint 제공 및 데이터 저장을 위한 데이터 베이스 구축. 오라클 클라우드에서의 전형적인 기본 구성은 다음 글에서 잘 보여준다. https://k21academy.com/oracle/networks-in-oracle-cloud-oci-vcn-subnet-gateways-peering-transit-routing/ 너무나 당연하게도 데이터베이스 서버는 외부에서 직접 접근할 수 없어야 하고, Bastion과 보안 규칙들로 서버를 보호해야 한다. 제대로 된 프로젝트를 진행하려고 했다면 API 서버와 데이터베이스 서버의 인스턴스를 별도로 분리하고 4개의 무료 코어를 반반씩 나눠서 별도로 구성했어야 하지만... 취미에 가까운 프로젝트이니 저 내용은 머리로 이해만 하고, 실제는 한 서버에 모두 때려 넣었다. 그래도 구성 자체는 Docker 를 통해 분리를 하려고 한다. 먼저 데이터베이스는 PostgreSQL 을 사용하려고 한다. 왜 PostgreSQL 이냐고 묻는다면, 개인 프로젝트라면 뭘 선택해도 상관 없다고 본다. 이미 상용 서비스에서 검증이 끝난 많은 데이터베이스들이 있기에, 그 중에서 익숙한 것을 고르면 된다. 하지만 난 익숙한 데이터베이스가 없으므로, 그냥 마음이 끌리는 데로 선택하였다. 그 옛날 웹 서비스라고 하면 APM(Apache-PHP-MySQL)이 떠오르던 시절부터 MySQL과 함께 데이터베이스 영역을 지켜왔기도 하고, 오라클이 MySQL을 가져간 이후부터 MySQL은 탈락. (근데 난 OCI 쓰는데...) 데이터베이스를 다룰 때 마다 학교 다닐 때 좀 더 열심히 공부할 껄 생각을 하게 된다. 데이터베이스 수업을 정말 대충 들었는데, 중간고사를 완전히 망치고 다음 수업에 들어...

[Daily Poll] 작업일지(1-a) - 마인크래프트 서버 설치

이미지
이번에도 역시 의식의 흐름대로... 전문가들이 본다면 뭘 당연한 걸 적어놨나 싶겠지만, 그냥 공부한 걸 복습할 겸 기록하고 있다. 이전 글의 마지막에 말했듯이 성능이 좋은 서버가 생기니 다른 걸 하고 싶은 욕구가 생겼다. 집에 있던 N100 미니PC를 아이들과 함께 노는 마인크래프트 서버로 사용하고 있었는데, 이 서버를 오라클 클라우드의 인스턴스에 설치해 보았다. 심플하게 바닐라 서버만 실행하면 되기에 openjdk21 설치 후, minecraft 서버를 간단하게 실행하면 끝이다. 하지만 이걸로 외부에서 접속할 수는 없다. 이 인스턴스는 VCN과 Subnet 안에 위치하고 있기에, 외부의 접속 요청이 이 서버까지 도달할 수가 없기 때문이다. 간단하게 표현을 해 보자면 (내 PC의 마인크래프트) - (VCN) - (Subnet) - (Instance) 이렇게 구성되어 있을 때 마인크래스트 접속 요청이 25565번으로 가게 되는데, (내 PC) - (VCN) 사이에서 VCN 가 이걸 통과시켜 주지 않기 때문이다. 이전 글대로 서버 인프라를 구축했다면, VCN 과 Subnet 이 동일한 보안 규칙을 사용하게 된다. 그래서 VCN 혹은 Subnet 둘 중 아무데서나 보안 탭 > 보안 규칙으로 들어간 다음 25565 포트를 열어주면 된다. 자, 그럼 이제 될까? 여전히 안된다. Instance 자체에도 방화벽이 있기 때문이다. 인터넷을 찾아보면 다양한 솔루션들이 나오는데, 무작정 따라하면 안되고... 내가 확인한 바로는 ubuntu 계열이라면 iptables 를 직접 사용하거나 ufw 추가로 설치해서 사용하면 되는 것 같다. Redhat 계열은 firewalld 를 사용하는 솔루션을 찾으면 된다. ufw 가 좀 더 편리하다고 하는데, 그냥 포트 하나 추가하는데 굳이... iptables 사용하는 명령어도 찾으면 다 나오는 걸... 한국에 있는 춘천 리전이라 느리지도 않고, N100 보다도 더 성능이 좋은 거 같다. 그런데 게임을 하고 있으니 갑자기 누군가 접속해서...

[Daily Poll] 작업일지(1) - 프로젝트 시작과 서버 구하기

최근 회사의 탁구 동호회에 가입하여 탁구를 배우기 시작했다. 동호회에서는 강사님에게 레슨을 받을 수 있는 프로그램을 운영하고 있어 주 2회 레슨을 신청하였다. 레슨은 하루에 15분씩 1:1로 진행하는데, 레슨 시간은 카카오톡 투표를 이용하고 있었는데, 매일 오전 8시에 제일 먼저 투표한 사람이 해당 레슨 시간의 우선권을 가지게 된다. 나름 괜찮지만 문제는 투표 관리하는 사람이 매달 매우 많은 투표를 생성해야 하고, 사람들도 해당 날짜의 투표를 매번 찾아서 들어가야 하는 문제가 있었다. 지금은 다른 앱을 사용해보려고 하고 있으나 생각보다 편하지는 않은 듯 하여, 이걸 개인 프로젝트로 진행해보려고 한다. 그리고 먼저 프로젝트 이름부터 Daily Poll 이라는 지어보았다. (다만, 프로젝트가 완성되는 것이 우선일지, 내가 탁구를 그만 두는 게 우선일지...) 일단 이 작업일지는 의식의 흐름대로 진행하게 되고, 작업도 내키는 대로 진행하기 때문에 이야기가 중간에 새거나 할 것 같다. 뭔가 대단한 강좌를 작성하는 것이 아니라, 작업 내용과 거기에서 파생되어 확인했던 내용을 정리하기 위한 목적이 크기 때문이다. 그 시작으로 이 프로젝트에는 서버가 필요하기에 서버를 마련했던 이야기를 해보고자 한다. 가볍게 무료로 시작할 수 있고, 서버 관리도 필요없고, 자료도 많은 AWS 람다로 시작해 볼까 하다가... 이전에 시도해 보다가 그만두었던 오라클 클라우드를 한 번 사용해 보기로 하였다. https://www.oracle.com/kr/cloud/free/ 조금만 검색해 봐도 알 수 있지만, 오라클 클라우드는 상시 무료로 다음과 같은 컴퓨팅을 제공한다. ARM 기반 Ampere A1 컴퓨팅 인스턴스 최대 4개 지원(매월 3,000 OCPU 시간과 18,000 기가바이트-시간 제공) 인스턴스 4개 대신에 4코어 24GB램의 인스턴스 하나를 사용할 수 도 있는데, 무료로 제공하기에는 너무 대단한 서버가 아닌가 싶다. 특히 2026년 기준으로 요즘 AI 때문에 램 가격이 미쳐 날뛰고...