울티마
좋아요! 🎮 울티마(Ultima) 시리즈는 총 9개의 메인 넘버링 게임과 외전/온라인 시리즈로 구성되어 있어요. 아래에 시리즈별 간단 요약표로 정리해드릴게요:
🗂 울티마 시리즈 요약표 (메인 넘버링 기준)
| 번호 | 제목 (연도) | 주요 특징 / 이야기 요약 |
|---|---|---|
| I | Ultima I: The First Age of Darkness (1981) | 악당 몬다인(Mondain)을 물리치는 SF+판타지 혼합 세계 |
| II | Ultima II: The Revenge of the Enchantress (1982) | 시간여행 시스템 도입, 몬다인의 연인 미나엑스(Minax) 등장 |
| III | Ultima III: Exodus (1983) | 파티 시스템 도입, 전투와 탐험 구분. ‘정통 RPG’ 시스템 완성 |
| IV | Ultima IV: Quest of the Avatar (1985) | 미덕(Virtue) 시스템 도입, 도덕적 영웅 ‘아바타’ 탄생. 전설의 시작 |
| V | Ultima V: Warriors of Destiny (1988) | 미덕이 왜곡된 사회. 폭군 로드 블랙쏜(Blackthorn)과의 대립 |
| VI | Ultima VI: The False Prophet (1990) | 외계종족 Gargoyle와의 갈등 → 오해를 풀고 평화 추구 |
| VII | Ultima VII: The Black Gate (1992) | 극찬받은 그래픽 & 스토리. 컬트 조직 ‘가디언’의 등장 |
| Ultima VII Part Two: Serpent Isle (1993) | 다른 대륙에서 펼쳐지는 후속 이야기. 세계관 확장 | |
| VIII | Ultima VIII: Pagan (1994) | 어두운 세계관, 아바타가 새로운 세계 Pagan에 갇힘. 액션 중심 |
| IX | Ultima IX: Ascension (1999) | 시리즈의 결말. 아바타 vs 가디언의 마지막 대결. 그래픽은 좋았지만 평가 갈림 |
🌐 외전 및 온라인
| 제목 | 설명 |
|---|---|
| Ultima Online (1997) | 세계 최초의 MMORPG 중 하나. 자유도 높은 오픈월드 온라인 세계 |
| Ultima Underworld I & II | 1인칭 던전 크롤러 스타일, 울티마 세계관 기반의 혁신적 외전 |
| Ultima: Runes of Virtue | 게임보이/콘솔용 외전. 가벼운 퍼즐과 액션 중심 |
| Ultima Forever (2013, 모바일) | EA에서 만든 모바일 게임, 서비스 종료됨 |
📌 참고 사항
- Ultima IV~VII는 가장 많은 팬과 평가를 받는 시리즈입니다.
- Ultima Online은 오늘날 MMORPG의 조상 같은 존재입니다.
- Ultima 시리즈는 항상 기술적 혁신과 철학적 깊이를 함께 추구했어요.
더 궁금하신 시리즈가 있으면 그 편만 깊게 소개해드릴 수도 있어요! 어느 쪽이 더 끌리세요? 😊
Visualize Data
무엇보다도 디지털 소비는 클라우드 데이터 팀이 데이터와 상호 작용하는 매체를 이해하는 것. 다음으로, 데이터 시각화를 공유할 대상 고객이 누구인지 아는것이 중요. 하지만 디지털 매체의 경우, 청중이 데이터와 어떻게 상호작용하는지, 그리고 상호작용을 통해 무엇을 기대하는지도 고려해야 함. 클라우드 데이터 분석가로서 귀하의 대상 고객은 여러 곳에서 얻은 정보를 사용합니다. 그리고 사용자들은 정보가 최신이고 대화형기를 기대합니다. 또한 그들은 중요한 콘텐츠만 표시하기 위해 데이터를 필터링하고 싶어할 것입니다.
디지털 사용자는 직관적이고 사용하기 쉬우며, 지침이나 설명이 거의 없거나 전혀 없는 사용자 경험을 기대합니다.
GCP console 명령
gcloud config set project qwiklabs-gcp-00-acf9d7b837de
export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value core/project)
gcloud iam service-accounts create my-natlang-sa \
--display-name "my natural language service account"
gcloud iam service-accounts keys create ~/key.json \
--iam-account my-natlang-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com
gcloud compute ssh [INSTANCE_NAME] --zone=[ZONE]
gcloud compute ssh linux-instance --zone=us-east4-b
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'." > result.json
export API_KEY=<YOUR_API_KEY>
export API_KEY=AIzaSyCO4c7jJCH-ZaMGAld9KLbLUBbrVgpsauI
touch request.json
nano request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "en-US"
},
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
}
}
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}" > result.json
ML
브로드케스팅 주소
좋은 질문이에요!
**브로드캐스트 주소(Broadcast Address)**는 네트워크에서 모든 호스트에게 메시지를 보낼 때 사용하는 특수한 IP 주소입니다.
📢 브로드캐스트 주소란?
✅ 같은 네트워크(서브넷) 내의 모든 장비에게 데이터를 보내는 데 사용하는 IP 주소
예를 들어 누군가 네트워크에 연결되었을 때, DHCP 서버를 찾기 위해 “여기 있는 모든 사람들(DHCP 서버 포함), 나 좀 도와줘!” 하는 방송을 보낼 때 이 브로드캐스트 주소를 사용해요.
🧮 어떻게 구하나요?
브로드캐스트 주소는 서브넷의 마지막 IP 주소입니다.
예: 192.168.1.0/24
- 전체 IP 범위:
192.168.1.0~192.168.1.255 - 브로드캐스트 주소:
192.168.1.255 - 네트워크 주소:
192.168.1.0 - 사용 가능한 IP:
192.168.1.1~192.168.1.254
🛠️ 실제로는 어떻게 쓰일까?
| 예시 상황 | 브로드캐스트 역할 |
|---|---|
| DHCP 요청 | 클라이언트가 IP가 없을 때 DHCP 서버에게 “누구든 IP 줄 수 있나요?” 요청 |
| ARP (주소 해석 프로토콜) | “이 IP 가진 사람 누구야?“를 전체에게 질문 |
| Wake-on-LAN | 네트워크 상의 모든 장비를 깨울 때 |
🔒 보안 및 클라우드에서는?
- 클라우드(GCP, AWS 등) 환경에서는 브로드캐스트 트래픽을 막는 경우가 많아요, 보안과 성능 때문입니다.
- 대신 멀티캐스트나 유니캐스트로 대체
🎯 요약
| 항목 | 설명 |
|---|---|
| 브로드캐스트 주소 | 네트워크 내 모든 장비에 패킷을 보내는 IP |
| 위치 | 서브넷의 가장 마지막 IP |
| 사용 예시 | DHCP, ARP, Wake-on-LAN |
| 클라우드 환경 | 대부분 제한되거나 사용 불가 |
더 알고 싶은 거 있으신가요? 예: 브로드캐스트가 멀티캐스트/유니캐스트와 어떻게 다른지 비교해볼까요? 😊
Serverless dataflow
- Beam의 가장 큰 특징은 이식성임.
- 이식성 API(Portability API)라고 불림.
- SDK와 러너가 서로 균일하게 작동할 수 있음
[Separating compute and storage with Dataflow]
-
Dataflow
-
Dataflow Shuffle Service GroupByKey: GroupByKey는 전체 데이터를 셔플하기 때문에 비용이 크고, 성능 저하가 있을 수 있어요. 가능하면 CombinePerKey 같은 변형으로 대체하는 것이 좋습니다. CoGroupByKey: 두 개 이상의 데이터셋을 key 기준으로 join할 때. 예: 사용자 정보와 구매 이력, 학생과 성적 등. 각 PCollection은 key-value 쌍이어야 하며, key는 동일한 타입이어야 함 Combine: 데이터에 대해 집계 연산을 수행하는 트랜스폼입니다. 예를 들어 합계, 평균, 최대값 등을 구할 수 있어요. 두 가지 주요 변형이 있습니다: CombineGlobally: 전체 데이터에 대해 집계 CombinePerKey: key별로 집계
Trifacta
Google StudyLab을 살펴보다 Dataprep에서 Trifacta를 발견하고 매우 흥미로와한다. 이미 데이터 준비분야에서는 오래된 내용인것 같지만, 정보가 많지 않은 이유는 무엇일까 궁금하지만, 찾은 동영상은 이것을 참고하면 될 것 같다.
통상적인 ETL도구 모습이다.
![]() |
|---|
| Flow라는 이름으로 부르고 있다. |
데이터 소스가 아주 많은데..
![]() |
|---|
| Add Dataset |
- 과연 얼마나 효과적으로 작용할 것인지는 해보기 전에는 모른다.
추가하기 전에 미리보기가 가능하다.
![]() |
|---|
| Dataset Preview |
- 이렇다는 이야기는 요청이 있을 떄 준비하는것이겠지?
- 설마 미리보기를 미리 다 만들어 두나?
데이터셋을 추가하면 기본 흐름을 잡아준다마는.
![]() |
|---|
| Dataset-Recipe-Output |
- 딱히 효과적이라고 느끼지 못했다.
레시피로 들어가면 보여지는 저 준비 이미지가
![]() |
|---|
| Load Data |
- 이 녀석에가 가장 인상적이었던 부분은 데이터 각 컬럼을 분석해서 컬럼 상단에 표시한다는 점이다
- 이것은 이 도구가 지향하고 있는바. 준 데이터의 준비를 위한것이라는 목적에 매우 부합하는 UI라는 생각이 들었다
- 저 준비이미지는가 나타내는 각 컬럼의 시계열분포를 의미하는 형상이 매우 적절하다는 생각이다.
데이터가 로딩된 모습
![]() |
|---|
| Column head |
- 각 컬럼의 특성(데이터 형)을 인식한 것이 인상적이다
- 그것을 바탕으로 오류(붉게 표시된 부분) 여부까지 표시한다
- 물론 데이터의 분포를 시계열과 %로 표시하는 것은 기본이다.
- 그런데 그 표시가 준부가 아니다. 그것을 기반으로 조작이 가능하다.
컬럼 상세
![]() |
|---|
| Column details |
- Unique Values 하나만 해도 충분히 도움이 될 거 같다.
컬럼내 데이터 필터를 위한 선택
![]() |
|---|
| 시계열에서 특정 조건을 선택한 모습 |
- 컬럼 헤더에서 시계열의 한 조건을 선택하면 아래 실제 데이터가 하일라이트 되는 것은 누가 생각해 낸 아이디어일까?
![]() |
|---|
| Image Desc. |
![]() |
|---|
| Image Desc. |
![]() |
|---|
| Image Desc. |
![]() |
|---|
| Image Desc. |
![]() |
|---|
| Image Desc. |
nvme 온도를 prometheus에 넣기
Prometheus와 Grafana를 함께 사용하면 시스템 메트릭(예: SSD 온도, CPU 사용률 등)을 수집하고 시각화할 수 있습니다. 아래는 Arch Linux에서 기본적인 Prometheus + Grafana 설정 및 사용법, 그리고 SSD 온도 모니터링 예시까지 포함된 가이드입니다.
🎯 목표
- Prometheus로 시스템 메트릭 수집
- Grafana로 대시보드 구성
- NVMe SSD 온도 측정 (node_exporter + custom script 활용)
🧰 1. 설치하기
✅ Prometheus
sudo pacman -S prometheus
✅ Grafana
sudo pacman -S grafana
nvme-cli
혹시 없다면 설치한다
sudo pacman -S nvme-cli
✅ node_exporter (Prometheus가 메트릭을 수집할 수 있게 해주는 에이전트)
sudo pacman -S prometheus-node-exporter
⚙️ 2. 서비스 시작 및 자동 실행 설정
sudo systemctl enable --now prometheus
sudo systemctl enable --now grafana
sudo systemctl enable --now prometheus-node-exporter
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000 (기본 로그인:
admin/admin)
📡 3. Prometheus 설정 (타겟 지정)
설정 파일: /etc/prometheus/prometheus.yml
과거의 application 개발에서는 modal window라고 불렀는데, 이것과 멀티모달의 모달이 같은 의미인가?
아주 날카로운 질문이에요! 결론부터 말하면:
✅ “멀티모달(Multimodal)“의 모달과
✅ “모달 윈도우(Modal Window)“의 모달은
❌ 의미가 완전히 다릅니다! 단어는 같아 보여도 어원과 맥락이 전혀 달라요.
🧠 1. **멀티모달(Multimodal)**의 “모달”
- 여기서 modal은 **“mode” (양식, 방식)**에서 파생된 단어입니다.
- 의미: 정보의 양식 (text, image, audio, 등)
- 어원: 라틴어 modus → “방식, 형식”
예:
- 멀티모달 AI = 여러 종류의 데이터 방식(텍스트, 이미지 등)을 다루는 AI
🪟 2. **모달 윈도우(Modal Window)**의 “모달”
- 여기서 modal은 **“모드에 따른 행동 제한”**에서 나옵니다.
- 의미: 사용자의 인터랙션을 특정 윈도우에 잠시 강제하도록 만드는 UI 모드
- 예: 팝업창이 떠 있을 때 그걸 닫기 전까지는 뒤 창을 클릭할 수 없음
“모달 윈도우"란?
현재 뜬 창과만 상호작용이 가능하고, 다른 UI 요소는 잠시 비활성화되는 상태
→ 이 창을 닫기 전까지 다른 작업 불가능 (즉, 모드 전환이 일어난 상태)
화투게임 + ML
화투 게임 동영상을 학습해서 점수를 계산한 모델이 있나?
지금 질문하신 건 상당히 흥미로운 주제예요!
화투 게임(고스톱) 동영상을 인공지능이 분석해서 점수를 계산하거나 상황을 인식하는 모델이 있느냐는 질문인데, 결론부터 말하면:
✅ 현재까지 공개된 수준에서는 “정식으로 완성된 모델"은 드뭅니다.
하지만 가능성은 충분하고, 연구나 개인 프로젝트로 진행된 사례는 일부 존재합니다.
🔍 왜 어려운가?
화투 게임은 다음과 같은 복합적 인식이 필요합니다:
- 영상에서 카드 인식 (작고, 복잡한 문양)
- 카드의 종류 판별 (광, 피, 띠 등)
- 현재 플레이 상황 분석 (누가 어떤 카드를 냈는지 추적)
- 룰 적용해서 점수 계산 (고도 복잡함: 고, 흔들기, 총통, 쪽, 따닥 등)
💬 즉, 단순한 카드 인식 → 상황 인식 → 규칙 적용 → 점수 계산까지
여러 AI 기술이 연계되어야 하기 때문에 꽤 복잡한 멀티모달 AI 시스템이 필요해요.












