Compare commits
1 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
431530db9e |
|
After Width: | Height: | Size: 2.0 KiB |
|
|
@ -0,0 +1,104 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- null
|
||||
date: 2025-06-01T12:33:00+09:00
|
||||
tags:
|
||||
- null
|
||||
keywords:
|
||||
- null
|
||||
title: 知っておいて欲しい順 開発に関すること
|
||||
relpermalink: posts/2025-06-01/
|
||||
url: posts/2025-06-01/
|
||||
decription: TBD
|
||||
---
|
||||
|
||||
謎のモチベーションが湧いてきたので、なんとなく書いてみることにしました。基本的に概念の把握のため、正確さを落としています。
|
||||
|
||||
## Git・バージョン管理
|
||||
|
||||
有名なバージョン管理システム。
|
||||
まず、ここで言うバージョン管理というのは
|
||||
|
||||
```
|
||||
2024年4月用企画書1_最終版_誤字修正済み(1)のコピー.docx
|
||||
2024年4月用企画書1_最終版_本当に最終版.docx
|
||||
2024年4月用企画書2コピー(1)最新版.docx
|
||||
```
|
||||
や、
|
||||
のようにファイルのバージョンを管理することです。
|
||||
|
||||
でも上の例ではどれが最新版なのか、どれを編集すれば良いのか、どれが最終的に使われるファイルか分かりません。そもそもプログラミングではファイル名に制約があったり、同じような内容が書かれているファイルが複数あったらエラーになるかもしれません[^1]。
|
||||
|
||||
[^1]: 例えばJavaなら、同じクラスが複数あったらエラーになりますね。
|
||||
|
||||
バージョン管理システムはこれらを機械的に処理し、チームで共有できるようにしたものです。おもに以下の概念を覚えておくと良いと思います。
|
||||
|
||||
### コミット・チェックポイント
|
||||
|
||||
ユーザーが任意のタイミングでチェックポイントのようなもの[^2]を作成し、チェックポイントの履歴をプロジェクトごと[^3]に自由に巻き戻す事ができます。
|
||||
|
||||
[^2]: コミット(Commit)と呼びます。
|
||||
|
||||
[^3]: 正確にはプロジェクトごとではなく、リポジトリ(Repository)ごとです。1プロジェクトに複数リポジトリが関わることも、その逆もあります。
|
||||
|
||||
### ブランチ・分岐
|
||||
|
||||
また履歴の分岐[^4]を作成し、チームメンバーがそれぞれの分岐で作業することで、複数人が別の機能を同時に開発することができます。
|
||||
|
||||
[^4]: ブランチ(Branch)と呼びます。
|
||||
|
||||
### マージ・分岐の結合
|
||||
|
||||
分岐をいい感じに結合し、複数人が同時に開発した別の機能をまとめて最新のチェックポイントとして作成する[^5]ことができます。いい感じに結合できなかった場合、コンフリクト(Conflict/競合)が発生し、手動で治す必要があります。
|
||||
|
||||
[^5]: マージ(Merge)と呼びます。
|
||||
|
||||
### Git
|
||||
|
||||
現在デファクトスタンダードになっているバージョン管理システムです。
|
||||
|
||||
[サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】](https://backlog.com/ja/git-tutorial/) https://backlog.com/ja/git-tutorial/
|
||||
|
||||
## GitHub・Gitサーバー
|
||||
|
||||
[Git](#git)をチームで共有するには、Gitサーバーが必要です。また、[マージ](#マージ・分岐の結合)を行うため、誰かのGitに[分岐](#ブランチ・分岐)の[履歴](#コミット・チェックポイント)全部を送りつける必要があります。Gitサーバーはプロジェクトに存在する履歴と分岐を、1箇所で管理する保存場所のような場所です。
|
||||
|
||||
### プル・分岐の履歴のダウンロード
|
||||
|
||||
まずの分岐の履歴ダウンロード[^6]を行い、他のチームメンバーとスタート地点を合わせます。
|
||||
|
||||
[^6]: プル(Pull)と呼びます。
|
||||
|
||||
### プッシュ・分岐の履歴のアップロード
|
||||
|
||||
開発を進めていき、[コミット](#コミット・チェックポイント)がいくつかできたところで機能が完成したとします。完成した機能を他のチームメンバーと共有、[マージ](#マージ・分岐の結合)するため、機能を開発していた分岐の履歴をGitサーバーにアップロード[^7]します。
|
||||
|
||||
[^7]: プッシュ(Push)と呼びます。
|
||||
|
||||
### プルリクエスト・Gitサーバーでのマージ
|
||||
|
||||
プルリクやPull Request、PRと呼ばれたり、マージリクエストと呼ばれたりもしますが、要はGitサーバーにアップロードした分岐の履歴(ブランチ)をマージする準備のことです。
|
||||
|
||||
プッシュされ、Gitサーバー上に存在する[ブランチ](#ブランチ・分岐)(分岐の履歴)を本流のブランチ[^8]にマージするため、様々なチェックなどを行います。([レビュー](#レビュー))
|
||||
|
||||
[^8]: 開発時点での最新版、最終的にすべてのブランチがマージされてくる大もとのブランチで、develop、main、masterなどがよく使われます。
|
||||
|
||||
### GitHub
|
||||
|
||||
有名なGitサーバーです。[CI](#ci)/[CD](#cd)や[レビュー](#レビュー)に必要な環境が整っています。
|
||||
|
||||
[GitHub](https://github.com/) https://github.com/
|
||||
|
||||
## テスト
|
||||
|
||||
## フォーマッター・Formatter
|
||||
|
||||
## リンター・Linter
|
||||
|
||||
## CI
|
||||
|
||||
## CD
|
||||
|
||||
## レビュー
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- 技術
|
||||
date: 2025-07-10T01:08:10+09:00
|
||||
tags:
|
||||
- k3s
|
||||
- Proxmox
|
||||
keywords:
|
||||
- k3s
|
||||
- Proxmox
|
||||
title: k3sのクラスタが大崩壊を起こしたときの復旧メモ
|
||||
relpermalink: posts/2025-07-10/
|
||||
url: posts/2025-07-10/
|
||||
decription: k3sのクラスタが大崩壊を起こしたときの復旧メモ
|
||||
---
|
||||
|
||||
先日k3sのクラスタが暴走(?)し、VMがハング、なぜか同時にホストマシンのProxmoxの管理画面もフリーズし、無事クラスタの大崩壊が発生しました。監視基板ごと死んだのかアラート等が一切出ずメトリクス等も消えたため、原因は不明です。
|
||||
|
||||
それはさておき、こんな構成のk3sクラスタがあります。
|
||||
|
||||
- HA構成
|
||||
- server(コントロールプレーン+Worker) 3台
|
||||
- 内2台がRyzen機 残りがN150機
|
||||
- 各k3sはProxmox上のVMに構築
|
||||
|
||||
今回はRyzen機に乗っている2つのk3sノードが死にました。残っている一つのクラスタからetcdとかをいい感じにする必要があります。
|
||||
|
||||
## k3sのetcdスナップショットからの復元
|
||||
|
||||
https://docs.k3s.io/ja/cli/etcd-snapshot
|
||||
|
||||
基本的におせっかい機能しかないk3sやmicrok8sですが、今回はそれに救われました。
|
||||
|
||||
|
||||
生きているノードで以下を実行します。
|
||||
|
||||
```bash
|
||||
k3s server --cluster-reset --cluster-reset-restore-path=/var/lib/rancher/k3s/server/db/snapshots/<スナップショットファイル>
|
||||
```
|
||||
|
||||
とりあえずこれでk3sのetcdに関するエラーは直ると思います。
|
||||
|
||||
## k3sのクラスター復旧
|
||||
|
||||
これは普通にk3sのHA構成のときの新しいノード追加方法と同じで、serverを指定して追加していくだけです。
|
||||
|
||||
https://docs.k3s.io/ja/datastore/ha-embedded
|
||||
|
Before Width: | Height: | Size: 3.9 MiB |
|
Before Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 3.7 MiB |
|
Before Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 2.2 MiB |
|
Before Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 2.3 MiB |
|
Before Width: | Height: | Size: 778 KiB |
|
Before Width: | Height: | Size: 5.0 MiB |
|
Before Width: | Height: | Size: 3.5 MiB |
|
Before Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 2.4 MiB |
|
Before Width: | Height: | Size: 2.7 MiB |
|
Before Width: | Height: | Size: 1.5 MiB |
|
|
@ -1,115 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- 旅行
|
||||
date: 2025-10-07T14:21:22+09:00
|
||||
tags:
|
||||
- 旅行
|
||||
- 東京
|
||||
- アイマス
|
||||
- 日本未来科学館
|
||||
- プリンス・オブ・ウェールズ
|
||||
- 空母
|
||||
- ミリアニ
|
||||
keywords:
|
||||
- 旅行
|
||||
- 東京
|
||||
- アイマス
|
||||
- 日本未来科学館
|
||||
- プリンス・オブ・ウェールズ
|
||||
- 空母
|
||||
- ミリアニ
|
||||
title: 東京旅行2025
|
||||
relpermalink: posts/2025-10-07/
|
||||
url: posts/2025-10-07/
|
||||
decription: 東京旅行2025
|
||||
---
|
||||
|
||||

|
||||
|
||||
8月に名古屋に行ったのにまた旅行 今回は母が計画した旅行についていく感じです。
|
||||
|
||||
## 日本科学未来館
|
||||
|
||||
インターネット物理モデルとかが昔はあったらしいですね。見てみたかったです。常設展は特に興味なかったので写真はありません。
|
||||
|
||||
FediverseのFFさんが同じ日に日本科学未来館とプリンス・オブ・ウェールズ見に来ていたみたいで、割と頻繁にこういうこと起こるなぁ…と思ってました。
|
||||
|
||||
### 深宇宙展
|
||||
|
||||
今回の東京旅行の本題、深宇宙展です。
|
||||
|
||||
[特別展「深宇宙展〜人類はどこへ向かうのか」To the Moon And Beyond](https://deep-space.jp/)
|
||||
|
||||
本物の宇宙船や、宇宙服が見れるということで、航空宇宙大好きな弟のため、今回の旅行は急遽計画されました。東京での展示はもう終わってしまったみたいですが、次は愛知県での展示が10/18日からあるみたいです。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## プリンス・オブ・ウェールズ
|
||||
|
||||

|
||||
|
||||
個人的一番楽しみだったイギリス海軍の空母「プリンス・オブ・ウェールズ」を見ること
|
||||
|
||||
空母はアメリカの空母を遠くからちらっと見たぐらいで、ここまで間近で見たことはありませんでした。
|
||||
|
||||
## お台場
|
||||
|
||||

|
||||
|
||||
ダイバーシティ東京のガンダム、てっきり赤く光るやつだと思ってたので最初見たときはパトレイバーかと思いました。
|
||||
|
||||

|
||||
|
||||
うんこ詰め放題(?)
|
||||
|
||||
## 汐留・Anker Cafe
|
||||
|
||||

|
||||
|
||||
いえーい
|
||||
|
||||

|
||||
|
||||
宿泊は汐留でした。1日目はおしまい。
|
||||
|
||||

|
||||
|
||||
よくわからないけどバッテリーとか充電器とかで有名なAnkerがCafeをやっているらしいのでここで朝食。
|
||||
|
||||
## 豊洲・ミリアニ聖地巡礼
|
||||
|
||||
豊洲、普通豊洲に来たら豊洲市場とか行くんでしょうけどミリアニの聖地ってことで聖地巡礼だけして帰りました。うろうろするにはちょっと暑すぎましたね。
|
||||
|
||||

|
||||
|
||||
原っぱ~~~~←↑↓→!?!?!?
|
||||
|
||||
## その他・戦利品
|
||||
|
||||

|
||||
|
||||
水たまりでいい感じの写真撮れた
|
||||
|
||||

|
||||
|
||||
なんか撮り鉄がいっぱいおるな~と思っていたらドクターイエローが目の前に来ました。運用終了したんじゃなかったんだ
|
||||
|
||||

|
||||
|
||||
シンカンセンスゴイカタイアイス 車内販売じゃないので固くなかった
|
||||
|
||||

|
||||
|
||||
足りなかった部品とか秋月電子で調達。2階も入りました
|
||||
|
||||

|
||||
|
||||
美希のワイヤレス充電器 なんだかんだイヤホンも予約しました。
|
||||
|
||||
## まとめ
|
||||
|
||||
あまり時間に余裕のない旅行でしたが、色々楽しめました。行きたかった秋葉原の謎ジャンク屋さんをウロウロできたのが特に楽しかったです。
|
||||
|
Before Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 2.8 MiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 4.6 MiB |
|
Before Width: | Height: | Size: 4.6 MiB |
|
Before Width: | Height: | Size: 3.6 MiB |
|
Before Width: | Height: | Size: 4.4 MiB |
|
Before Width: | Height: | Size: 3.7 MiB |
|
Before Width: | Height: | Size: 3.4 MiB |
|
Before Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 2.5 MiB |
|
Before Width: | Height: | Size: 2.7 MiB |
|
Before Width: | Height: | Size: 2.9 MiB |
|
Before Width: | Height: | Size: 3.5 MiB |
|
Before Width: | Height: | Size: 2.2 MiB |
|
Before Width: | Height: | Size: 2.5 MiB |
|
|
@ -1,133 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- 旅行
|
||||
date: 2025-10-11T07:19:53+09:00
|
||||
tags:
|
||||
- 旅行
|
||||
- アイマス
|
||||
- 伊勢志摩
|
||||
- 鳥羽水族館
|
||||
keywords:
|
||||
- 旅行
|
||||
- アイマス
|
||||
- 伊勢志摩
|
||||
- 鳥羽水族館
|
||||
title: THE ISE-SHIM@STER 伊勢志摩旅行2025
|
||||
relpermalink: posts/2025-10-11/
|
||||
url: posts/2025-10-11/
|
||||
decription: THE ISE-SHIM@STER 伊勢志摩旅行2025
|
||||
---
|
||||
|
||||

|
||||
|
||||
9/27と9/28に近鉄とアイドルマスターシリーズがコラボしたイセシマスターに行ってきました。ちょうど伊勢志摩には行きたいと思っていたところだったんですよね。
|
||||
|
||||
[THE ISE-SHIM@STER(イセシマスター) | 伊勢・鳥羽・志摩をぐるっと巡る](https://k-leisurecreate.co.jp/ise-shimaster/)
|
||||
|
||||
近鉄で伊勢志摩に行くときはまわりゃんせを使いましょう。往復の特急券代+ちょっとぐらいの値段で伊勢志摩での移動が乗り放題になります。
|
||||
|
||||
今回は2日に分けて志摩→鳥羽→伊勢の順で回ります。一人で予約が必要な特急乗るのもホテル泊まるのも初めてだったんですが、一度もトラブることなく無事返ってくることができました。
|
||||
|
||||
## 1日目
|
||||
|
||||
### 志摩スペイン村
|
||||
|
||||

|
||||
|
||||
最近VTuberに紹介されたりしてちょっと有名になったらしい志摩スペイン村、行きのバスはめっちゃアイマスの話が聞こえてきました。
|
||||
|
||||

|
||||
|
||||
旅マスミリオンの志保といっしょに 園内ではぬい活をしてる人を結構見かけました。
|
||||
|
||||

|
||||
|
||||
デケェ船
|
||||
|
||||

|
||||
|
||||
この写真だけ見せられてスペイン行ったよって言われたら信じてしまいそうな写真 園内はテーマパークっぽい景色のところとスペインっぽい景色のところがあります。
|
||||
|
||||

|
||||
|
||||
大きな建物一つがコラボ用になっていてクソデカタペストリーとパネルが展示されていました。行ったときはまだでらますシャイニーカラーズが開催されていたのでそれの案内もありました。
|
||||
|
||||
#### コラボメニュー
|
||||
|
||||

|
||||
|
||||
最上静香とうどんと[そぼろ丼](https://dic.pixiv.net/a/%E9%9D%99%E9%A6%99%E3%83%91%E3%83%91)という絶対わかってる人が考えてるメニューがありました。
|
||||
|
||||

|
||||
|
||||
各ブランドごとにコラボドリンクが用意されています。ミリオンライブはマンゴーとパイナップルでした。志摩スペイン村はチュロスが美味しいと聞いていたので合わせて注文。美味しかったです。
|
||||
|
||||
### 鳥羽
|
||||
|
||||
志摩スペイン村は16時ぐらいに退散。楽しかったです。
|
||||
|
||||
閉館時間のことをすっかり忘れて鳥羽まで来てしまいました。17時閉館なのに…
|
||||
|
||||

|
||||
|
||||
学マスのアイドル、秦谷美鈴 この日はいいお天気でした。
|
||||
|
||||
鳥羽市観光案内所にも行きました。
|
||||
|
||||

|
||||
|
||||
シャニマスのアイドル 浅倉透です。
|
||||
|
||||
## 2日目
|
||||
|
||||
2日目は伊勢・鳥羽を回ります。若干ルート選択ミスって行けない場所がありました。また行きたいです。
|
||||
|
||||
### 鳥羽水族館
|
||||
|
||||
アイマス抜きで普通に楽しみだった鳥羽水族館へGO!
|
||||
|
||||

|
||||
|
||||
めっちゃシュール
|
||||
|
||||

|
||||
|
||||
めちゃくちゃ足が多いタコ
|
||||
|
||||

|
||||
|
||||
穏やかなペンギンが多かったですね かわいい
|
||||
|
||||
### 鳥羽マリンターミナル
|
||||
|
||||

|
||||
|
||||
ミキモト真珠島も行きましたが写真を忘れていました。
|
||||
|
||||

|
||||
|
||||
デレマスのアイドルがいました。かわいい
|
||||
|
||||
ここでルートミス、イルカ島に行く時間が十分あったんですが、行けないと判断してしまいスルー。問題なく行ける時間だったのでミスってしまいました。
|
||||
|
||||
### おかげ横丁
|
||||
|
||||

|
||||
|
||||
我らがミリオンライブの信号機 最上静香
|
||||
|
||||
おかげ横丁で伊勢うどんを買おうと思ったのですが、雨が降ってきたのとどこで買うのかいまいち迷ったので駅で適当に買うことにしました。
|
||||
|
||||
### 帰宅
|
||||
|
||||
ルートミスもあって予定より早くに帰ることにしました。近鉄の特急は予約の体験がめちゃくちゃいいですね。JRも見習ってほしい
|
||||
|
||||
## 戦利品・まとめ
|
||||
|
||||

|
||||
|
||||
お土産です。ペンギンのぬいぐるみは弟に、お酒を飲めるようになってからはお酒をお土産にすることが多くなりました。
|
||||
|
||||
やっぱりアイマスのコラボ楽しい!! 出発の二日前に行くことを決めたのであまり下調べできずルートミスが多発したのでそこをいい感じにするソフトウェアを作ろうかなと考えています。
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- その他
|
||||
date: 2025-10-17T01:39:06+09:00
|
||||
tags:
|
||||
- レビュー
|
||||
- iPhone
|
||||
- Android
|
||||
- スマホ
|
||||
keywords:
|
||||
- レビュー
|
||||
- iPhone
|
||||
- Android
|
||||
- スマホ
|
||||
title: Android派だったけどiPhoneに乗り換えたよ&1週間ちょっと経過レビュー
|
||||
relpermalink: posts/2025-10-17/
|
||||
url: posts/2025-10-17/
|
||||
decription: Android派だったけどiPhoneに乗り換えたよ&1週間ちょっと経過レビュー
|
||||
---
|
||||
|
||||
本記事は3台に渡ってAndroidを使い続けてきたけど最近の改悪とGoogle Pixel 6 Proの使いづらさに嫌気が差してiPhone 17 Proに乗り換えた人の記事です。周りの環境の変化や、そもそものスマートフォンの進化などもあるため公平なレビューではない点ご注意ください。
|
||||
|
||||
## なぜiPhoneに乗り換えたか
|
||||
|
||||
わざわざAndroidからiOSに乗り換えるのはそれなりにハードルがあると思いますが、そんな中でもわざわざ乗り換えた理由をいくつか挙げたいと思います。
|
||||
|
||||
### MagSafeの存在
|
||||
|
||||
まずはこれでしょう。Androidでも大抵の機種はワイヤレス充電対応していますが、マグネットでひっつくものは多分ありません。iPhoneに乗り換えた一番大きな理由です。
|
||||
|
||||
[Anker 633 Magnetic Wireless Charger (MagGo) | マグネット式 3-in-1 ワイヤレス充電ステーションの製品情報 | Anker Japan 公式オンラインストア](https://www.ankerjapan.com/products/b25a7)
|
||||
|
||||
そしてこれが使えるようになるのが大きい。置き場所に困りがちなモバイルバッテリーに居場所を作ってあげてかつ、充電もできるのでiPhone買う前から欲しいなと思っていました。
|
||||
|
||||
### iPadを所持していた
|
||||
|
||||
学校でノートを取るために買ったけど全く使ってない音ゲー専門16万円の板、iPad Air(13インチ)。これでiOS26のLiquid Glassには慣れていたので、使い勝手的な問題はクリアしていました。
|
||||
|
||||
### Appleの探すのネットワーク
|
||||
|
||||
Google Pixelにイライラすることが増えてきたあたりからiPhoneに乗り換えることを見越してAnkerの紛失防止トラッカーをApple向けのものにしていました。AndroidでもEufyのアプリで探す事はできるのでこれは我ながらナイス判断だったと思います。Apple向けのトラッカーは結構色んなところで売っているので今後も困ることはないでしょう。
|
||||
|
||||
### ミリシタの存在
|
||||
|
||||
アイドルマスターミリオンライブ! シアターデイズというゲームがあります。このゲーム8年前のゲームなので複数端末でのプレイに対応していません。iOSどうし、Android端末どうしの複数ログインは対応してそうな気配があるのですがよくわからないのでやめておいています。ミリシタはiPadでプレイを始めたのでPixelではログインできずにやるタイミングを逃してしまったり、旅行先に毎回毎回iPadを持っていったりしていました。iPhoneにしてからは特に困っていません。
|
||||
|
||||
### その他Appleエコシステムの存在
|
||||
|
||||
ケースが多いとか、iCloudアカウントでの連携とか、AirDropとか、結局Appleエコシステムの中で暮らすならiPhoneになるんですよね。Googleアカウント×Google Pixelではそこまで快適ではなかったので、まぁもうiPhoneでいいかと
|
||||
|
||||
### Google Pixel 10がダメそうだった
|
||||
|
||||
Googleは売る気あるんでしょうか… マグネットでひっつくワイヤレス充電とか後発のくせにMagSafeより使い勝手悪そうですし、Pixel 10 Proのカメラはカメラじゃないし…GPUはゲームに向いてなさすぎるし…
|
||||
|
||||
実はPixel 10でMagSafe相当のものが搭載されたら次のスマホはGoogle Pixel 10シリーズにする予定でした。しかしゲーム性能が悪すぎるという情報をみて、Google Pixelシリーズは候補から外れました。Xperiaシリーズもいいな~と思っていたんですが、最終的にはもうiPhoneでいいやとなりました。
|
||||
|
||||
### Safariでは広告ブロックができる
|
||||
|
||||
よく広告ブロックの槍玉に挙げられているYoutubeに関しては僕はYoutube Premiumに入っているので問題ないんですが、今のインターネットは広告ブロックなしでは危険なのでOS標準のブラウザであるSafariで広告ブロックが使えるというのは大きかったです。Pixelを使っていた頃は標準ブラウザのChromeでは広告ブロックが使えなかったのでFirefoxを使っていました。Firefox、悪くはないんですがやはりOS標準ブラウザではないためかいまいち体験が微妙なところがありました。特にパスワードマネージャ関連では苦労するところがありました。
|
||||
|
||||
## Google Pixel 6 Proのダメな点
|
||||
|
||||
次にそもそもスマホを買い替えたいと思った理由です。ちなみにスペック的には満足していて、あと数年は戦えると思っています。
|
||||
|
||||
### エッジディスプレイ
|
||||
|
||||
なぜこんな物が世に出てきたのか首を傾げるレベルで使いにくいです。人によると思うんですが、とにかく使いにくいと思っています。僕はカメラの操作を邪魔されてうまく撮影できなかったときに堪忍袋の緒が切れました。
|
||||
|
||||
### 爆熱
|
||||
|
||||
Google Pixelシリーズってケース前提のデザインしてると思うんですけど、ケースつけると全然放熱できなくてアチアチになります。いつもポケットの中があったかいのは嫌なので買い替えたくなりました。ちなみに買い替えたiPhoneもいつもほんのり温かいのでそういうもんだと思って諦めました。
|
||||
|
||||
### パスキーが使えない
|
||||
|
||||
何故かわかりませんが僕のGoogle Pixelはパスキーが使えません。パスキーを使おうとするたびにiPadを取り出すのは面倒なのでWindows二保存できるタイプのパスキー以外はあまり使っていませんでした。iPhoneはこういうところしっかりしてそうでいいな~と思っていました。
|
||||
|
||||
### 絶望的に見た目がダサい
|
||||
|
||||
うん…
|
||||
|
||||
## Google Pixel 6 Proの気に入っていた点
|
||||
|
||||
とはいえ気に入っていた部分もいくつかあって、そのうちiPhoneにはなかったものをいくつか挙げておきます。
|
||||
|
||||
### Googleのサービスとの連携
|
||||
|
||||
まぁGoogleの製品なんだから当然と言えば当然。Googleに魂売ってる身としては助かります。Goolge PhotoやGoogleレンズなどはかなり使い勝手が良いです。パスワードマネージャもGoogle Chromeのものを使うのなら体験良いと思います。
|
||||
|
||||
### 画面内指紋認証
|
||||
|
||||
あんまり精度よくないんですがなんだかんだ便利でした。とはいえ顔認証のほうが好きではあります。
|
||||
|
||||
### 画面が大きい
|
||||
|
||||
画面がすこし縦長に大きいので調べ物やSNSは快適でした。
|
||||
|
||||
## iPhone 17 Pro
|
||||
|
||||
iPhoneに決めるまでの候補としてはGoogle Pixelの新型(10系)とXperiaシリーズが候補にありました。後述しますが、光学望遠レンズがほしかったのでXperiaの高いやつかGoogle PixelのProシリーズとなります。Google PixelのProシリーズが前述したGPUの問題で脱落し、XperiaかiPhoneとなったとき、前から欲しかったMagSafeのあるiPhoneが選ばれるのはまぁ必然でしょう。
|
||||
|
||||
### なぜProシリーズ?
|
||||
|
||||
iPhoneって無印でも十分問題ないというか過剰な性能を持っていると思いますが、わざわざProシリーズにした理由はやはり望遠レンズを搭載していて、光学ズームができるということです。よく撮る被写体として飛行機や船が多い以上、ズームを多用します。ならまぁProシリーズだよね、ということです。本当はちゃんとしたカメラが欲しいのですが高すぎて買えないので妥協案でiPhoneのProシリーズってことです。
|
||||
|
||||
### 良い点
|
||||
|
||||
#### 圧倒的なクオリティ
|
||||
|
||||
肩までどっぷりAppleに浸かれますよね。iOS26になってちょっと怪しくなってきましたが、ハードウェアとソフトウェアを同じ会社が作ってるだけあって、少なくともAppleが想定しているであろう使い方をしている内は合格点を出してくれます。ただやはり変な使い方や極端なカスタマイズをするならまだAndroidに軍配が上がるとは思います。
|
||||
|
||||
#### Apple Wallet
|
||||
|
||||
iPhoneにクレジットカードとか身分証明書とかを入れておけるやつです。東京旅行で早速活躍してくれました。
|
||||
|
||||
Google Pixelにも似たようなものはありますが、上述したパスキーが使えないような些細な不信感が募って安心して使える状況ではありませんでした。いやまぁお前の気持ちの問題だろと言われればそうですが、それぐらいAndroidへの信頼感が揺らぐような事が多かったんです。
|
||||
|
||||
#### 顔認証
|
||||
|
||||
やはり顔認証は楽。
|
||||
|
||||
#### アクセシビリティが良い
|
||||
|
||||
僕は右耳の聴力が少し悪く、少し右耳だけ音量を上げないといけないのですが、そういうところの設定がAppleはずば抜けて充実しています。また、車酔い防止のモーションキューを自動でオンにしてくれる機能は感動しました。アレ意味あるのか知りませんが。
|
||||
|
||||
#### 「集中モード」が良い
|
||||
|
||||
iPhoneの集中モード、単に通知を抑制してくれるとかそういうレベルではなく、壁紙やロック画面を変更したりバッテリーセーバーをオンにしたりできます。そして集中モードの切替条件に位置情報や、時刻などを使うことができます。つまり家でだけ壁紙をアイマスにして外出先では社会性のある壁紙にしたりできます。他にもバイト先ではほぼすべての通知をオフにしてバッテリーセーバーをオンにすることでバッテリーの消耗を抑えることができます。iPadにも多分搭載されていると思いますが、iPhone買ってから気づきました。超感動した。
|
||||
|
||||
### ダメな点
|
||||
|
||||
#### 重い・デカい
|
||||
|
||||
大きい画面が良いのに本体のサイズがデカいのは嫌とかいう物理法則を無視したワガママです。ポケットから出しにくいんですよね。重さは重いですがGoogle Pixelも重かったのでそこまで気にはなりませんでした。
|
||||
|
||||
#### ボタンが多くて煩雑
|
||||
|
||||
左側にアクションボタンと音量ボタン、右側に電源ボタンとカメラコントロールとGoogle Pixelというか一般的なスマホよりインターフェースが多いです。カメラコントロールもアクションボタンもいらないかなぁ…と
|
||||
|
||||
#### デザインがちょっとダサい
|
||||
|
||||
iPhoneというよりはiPhone 17 Pro限定の話ですが、ちょっとダサくなりましたよね。iPhone 16 Proかっこいいと思います。
|
||||
|
||||
#### 戻るの操作がやりにくい
|
||||
|
||||
Androidのジェスチャーナビゲーションに慣れているので画面端スワイプで戻れないのがしんどいです。大抵のアプリはスワイプで一つ前に戻れるのですが、必ず戻れるわけではないのでそこがちょっとストレス。
|
||||
|
||||
#### 指紋認証がない
|
||||
|
||||
カメラコントロールのところ指紋認証にならんか…? 外出時はマスクをすることが多い都合上顔認証の成功率が8割ぐらいです。iPadの指紋認証は99%ぐらい成功するので指紋認証にも対応してほしいな~と思います。
|
||||
|
||||
#### ユーザーの操作を邪魔するようなOSの通知が多い
|
||||
|
||||
特に「このアプリは位置情報を過去〇〇回使用しています。」みたいな通知。◯ね。操作を邪魔するな
|
||||
|
||||
#### 設定の場所が意味不明すぎる
|
||||
|
||||
設定の各項目の配置が意味不明だなぁとiPadを使っている頃から思っています。ここはやはりAndroidがわかりやすい。大抵の設定はアクセシビリティの中にある印象。
|
||||
|
Before Width: | Height: | Size: 245 KiB |
|
Before Width: | Height: | Size: 215 KiB |
|
Before Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 200 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 106 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 165 KiB |
|
Before Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
|
@ -1,236 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- 旅行
|
||||
date: 2025-11-02T01:09:21+09:00
|
||||
tags:
|
||||
- アイマス
|
||||
- 旅行
|
||||
- ミリマス
|
||||
- 東京
|
||||
- 横浜
|
||||
- JAXA
|
||||
keywords:
|
||||
- アイマス
|
||||
- 旅行
|
||||
- ミリマス
|
||||
- 東京
|
||||
- 横浜
|
||||
- JAXA
|
||||
title: ミリオン12th現地とJAXA相模原に行ってきたよレポート
|
||||
relpermalink: posts/2025-11-02/
|
||||
url: posts/2025-11-02/
|
||||
decription: ミリオン12th現地とJAXA相模原に行ってきたよレポート
|
||||
---
|
||||
|
||||
10月11日、10月12日に開催された、「THE IDOLM@STER MILLION LIVE! 12thLIVE」のうち、Day2に現地参加してきました。それはそれとして10月11日に開催されたJAXA相模原キャンパスの特別公開にも参加してきたので、まずは11日のJAXA相模原キャンパス特別公開から紹介していきます。
|
||||
|
||||
## Day1
|
||||
|
||||
1日目、10月11日はJAXA相模原→横浜ぶらぶらして宿泊という流れです。
|
||||
|
||||

|
||||
|
||||
あいにくの雨ですが、台風直撃は避けられたので良しとします。こういう特別公開とかってテンション上がりますよね。JAXAの施設の見学は去年3月のつくば以来です。あのときはツアーと言った感じですが今回は構内を自由に移動して施設を見学するタイプのやつです。
|
||||
|
||||
|
||||
|
||||
### 風洞
|
||||
|
||||

|
||||
|
||||
でけぇ風洞です。実際に風洞実験が行われている様子を解説付きで見学することができました。
|
||||
|
||||
### 宇宙探査実験棟
|
||||
|
||||

|
||||
|
||||
宇宙探査実験棟です。月面とか火星とか地上の探査の実験ができるようです。プロジェクションマッピングのような感じで解説がされていました。後ろのキャタピラがついている探査機を実際に動かしている様子を見ることができました。
|
||||
|
||||

|
||||
|
||||
多分超レアなんだろうSORA-Qの試作品を見ることができました。宇宙探査実験棟で行われた実験の映像等も放映されていました。深宇宙展とかにもおいてなかったのでここでしか見れないのかな?
|
||||
|
||||
|
||||
### 横浜中華街
|
||||
|
||||

|
||||
|
||||
中華街、ごま団子以外に興味がないので写真はこれだけ。僕はごま団子が好きです(何)。
|
||||
|
||||
### 横浜赤レンガ倉庫
|
||||
|
||||

|
||||
|
||||
僕赤レンガ倉庫が結構好きで、赤レンガ倉庫めぐりしてるんですよね。でも横浜赤レンガ倉庫はもう何回来たか覚えてないぐらい来ているので他の関東の赤レンガ倉庫も行きたいです。
|
||||
|
||||

|
||||
|
||||
なんのやつか忘れましたが線路。雨で反射してきれいですね。
|
||||
|
||||
### 氷川丸
|
||||
|
||||

|
||||
|
||||
横浜のあの公園に浮かんでる船。あれです。
|
||||
|
||||
[敦賀旅行2024 · usbharu - blog](https://blog.usbharu.dev/posts/2024-11-10/#%E6%95%A6%E8%B3%80%E3%83%A0%E3%82%BC%E3%82%A6%E3%83%A0)
|
||||
|
||||
敦賀に行ったときに氷川丸の話が出てきていたのでちょっと行ってみたかったんですよね。写真は2日目に行ったときのやつです。
|
||||
|
||||

|
||||
|
||||
エンジンルームです。すごいですねこれ。
|
||||
|
||||
### THE IDOLM@STER MILLION LIVE! 12thLIVE DAY1 ありのままに。
|
||||
|
||||
さてここからはアイマス全開で行きます。
|
||||
|
||||
#### ミリオンライブとの出会い
|
||||
|
||||

|
||||
僕がミリオンライブを知ったのは大体アイマス19周年の頃です。ミリシタを始めたのがちょうど1年前の2024年10月13日、[でらますミリオン](https://blog.usbharu.dev/posts/2024-11-24/)に行ったのが11月24日。
|
||||
|
||||
#### アイマスのライブ
|
||||
|
||||
<iframe src="https://misskey.usbharu.dev/embed/notes/a2vgsbrtu1" data-misskey-embed-id="v1_aelccpc3qd" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" style="border: none; width: 100%; max-width: 500px; height: 300px; color-scheme: light dark;"></iframe>
|
||||
<script defer src="https://misskey.usbharu.dev/embed.js"></script>
|
||||
|
||||
アイマスEXPOのミリオンステージでライブの楽しさを知って、異次元フェスのサブスク解禁で声優ライブに入門しました。ハッチポッチ2の配信を視聴して12thの現地参加を決め、NEIでアーカイブ公開期間の短さに泣きました。そして、ミリオン12thDay1でプレミアム会員先行の大切さを知ることになります。そう、チケット一万四千円という値段にビビってプレミアム会員先行ではDay2のみ買ったのでした。
|
||||
|
||||
#### Day2に当選
|
||||
|
||||

|
||||
|
||||
無事Day2に当選し、初現地参加の権利を得たわけですが、やはりDay1にも参加したくなってきました。一万四千円、配信を我慢して一万三千円浮かせば誤差のような値段です。(ちなみに普通に配信はDay2の分も買ったので、おそらくDay1に現地参加していても両日分買ったことでしょう!) プレミアム会員先行を逃した以上一般抽選で手に入れるしかありません。まぁ落ちひんやろ!wとか思ってたら普通に落ちました。
|
||||
|
||||
#### Day1は落選
|
||||
|
||||

|
||||
|
||||
12thライブでは一般2次→当日先着まで販売が行われましたが、一般1次の抽選に落ちた時点でJAXA相模原キャンパス特別公開の予約期限が迫っていました。Day1のチケットがもうちょっと早く入手できていればJAXAではなくライブを優先できたのですが、JAXAには家族と行く以上あまり急に旅程を変更できません。
|
||||
|
||||
#### Day1は配信で ありのままに。
|
||||
|
||||
気を取り直して、配信を楽しみましょう。配信の良いところは飲酒ができることです。僕は梅酒が大好きなので、旅行先にも関わらずCHOYAの瓶を買って飲みながら観ることにしました。弟には呆れられ母には帰りの荷物が増えると言われましたが、そんなもの飲みきってしまえば良いのです。無理でしたが
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ミリオンライブ!12thライブ DAY1 ありのままに。 セットリスト <a href="https://twitter.com/hashtag/%E3%83%9F%E3%83%AA%E3%82%AA%E3%83%B312th_day1?src=hash&ref_src=twsrc%5Etfw">#ミリオン12th_day1</a><a href="https://t.co/0XPZKS09IQ">https://t.co/0XPZKS09IQ</a> <a href="https://t.co/qc8k6EttT0">pic.twitter.com/qc8k6EttT0</a></p>— アイマスDB (個人ファンアカウントです) (@imas_DB) <a href="https://twitter.com/imas_DB/status/1976962654393831866?ref_src=twsrc%5Etfw">October 11, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||
|
||||
一曲一曲丁寧に振り返っていてはいつまで経ってもDay2の記事をかけないのでざっと行きますが、とにかく知っている曲が多くて楽しかったです。<strong>ilLUmiNAte!</strong>を現地で聞けなかったことは一生後悔すると思いますが…
|
||||
|
||||
<strong>The world is all one !!</strong>はミリオンBCで知ってずっと好きだった曲で、配信とはいえライブで聞けてとても嬉しかった。2曲目でこれが出てきた時点でDay1現地参加しなかったことを後悔し始めました。今後この曲を現地で聞くことはできるのでしょうか…
|
||||
|
||||
麗花さんのソロ曲はもちろん全部予習済みだし、一部はいつも聞いているので平山笑美さんの力強い歌声に感動していました。
|
||||
|
||||
**春風満帆スターティング**と**待ちぼうけのLacrima**はハッチポッチ2からハマっていたのでまた聞けて嬉しかった。**バトンタッチ**もあって駒形友梨さんにハマりそう。
|
||||
|
||||
<strong>花ざかりWeekend ✿</strong>は[ミリシタにハマるきっかけの一つ](https://blog.usbharu.dev/posts/2024-12-21/#%E3%83%9F%E3%83%AA%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%96%E3%81%A8%E3%83%9F%E3%83%AA%E3%82%B7%E3%82%BF%E3%81%AB%E3%83%89%E3%83%8F%E3%83%9E%E3%82%8A%E3%81%97%E3%81%9F)だし、**Irodori**は歌詞がめっちゃ好きです。もう現地で聞けなかった後悔が止まりません。
|
||||
|
||||
#### Day1を終えて
|
||||
|
||||
「北上麗花」というアイドルを認知したのはミリオンライブを認知してすぐで、4 Luxuryのメンバーとともに間違いなく僕をミリオンライブの沼に沈めた要因の一つです。そんな麗花さんの最高すぎる「普通」をビビったとかいうしょうもない理由で現地で聞けなかったことに後悔しています。
|
||||
|
||||
それと同時にDay2への期待感が上限を突破していました。色々あって主演公演一発目になりましたが、絶対に担当の主演公演はこの目で観てやるぞ、そういう気持ちが強くなっています。そんな最高なライブを披露してくれた北上麗花さん、平山笑美さんをもっと好きになりました。
|
||||
|
||||
|
||||
|
||||
## Day2
|
||||
|
||||
Day1は配信での参加でしたがDay2は現地参加です。アイマスのライブは初めての参加で、こういう大きな会場でのライブも初めてなのでめちゃくちゃ楽しみでした。
|
||||
|
||||
### ツアマス
|
||||
|
||||
まずは氷川丸を見学し、横浜中華街から横浜駅に移動してツアマスをしました。
|
||||
|
||||

|
||||
|
||||
東京は前回の東京旅行で回収していたのでスルー。関東はこれで2県目です。
|
||||
|
||||
### 飛田給駅
|
||||
|
||||

|
||||
|
||||
12thライブは京王アリーナTOKYOで開催されます。最寄り駅は飛田給駅、新宿から京王線でだいぶ行ったところです。京王線とか京王新線とか、京成とか京急とかめんどくせぇ名前だななどと愚痴りながら到着。車内で痛バつけたミリオンのオタクが抱き合っていてすごいところに来てしまったな… と思いました。
|
||||
|
||||

|
||||
|
||||
Day1の情報で電光掲示板にライブのことが書かれているということで撮影。適当に取ったので普通に見切れていた。調布駅での放送とやらがあったらしいですが普通に忘れていました。
|
||||
|
||||
### 初めての現地参加
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ミリオン初現地! <a href="https://t.co/Zruw0xfJjM">pic.twitter.com/Zruw0xfJjM</a></p>— usbharu (@usbharu_dev) <a href="https://twitter.com/usbharu_dev/status/1977244856755110232?ref_src=twsrc%5Etfw">October 12, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||
|
||||
|
||||
うおおおおおおおおおおおおおおおおおおおお会場着いたけど何したら良いかわかんねぇ~~~~~
|
||||
|
||||
開場時間16時に対して14時ごろに到着。名刺とか作ってなかったので名刺交換もできず、物販会場を探してこの辺を一周するだけの人になりました。
|
||||
|
||||
### 初めての現地物販
|
||||
|
||||
その後無事物販にたどり着きソロコレを買うことにしました。現金が足りずPayPay(食費用)を使うのもなぁ…と考えていたところApple Payの存在を思い出し無事購入。iPhoneに乗り換えた記事でも書きましたが、Google Pixelの時より使いやすいと感じます。
|
||||
|
||||
### 初めての現地参加(2)
|
||||
|
||||
その後そのへんをウロウロして、いざ開場時間に。本人確認があると思っていたのですが、今回は特に何もされませんでした。
|
||||
|
||||
会場内は写真が撮れないみたいなので写真はありませんが、結構冷房が効いていて、またスモークがモクモクでした。ミリアニの静香みたいにならないように3回ほど席番号を確認して、ペンライトのチェックなんかをしました。
|
||||
|
||||
すべてを新鮮に感じますが、何より開演前に流れている曲にコールしているPさんがいて、ミリオンライブが好きな人がたくさん来ているんだなぁと身を持って感じました。あと**Harmony 4 You**が流れていて、アレ?とは思いました。
|
||||
|
||||
### Let's Sing!
|
||||
|
||||
Day2は一曲づつ詳細に…と行きたいところなのですが、どうやら期間が空きすぎたことと、**電波感傷**オリメン披露と<strong>MUSIC♪</strong>で記憶を失ったらしく、あんまり思い出せないのでふわっと行きます。
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ミリオンライブ!12thライブ DAY2 Let's Sing! セットリスト <a href="https://twitter.com/hashtag/%E3%83%9F%E3%83%AA%E3%82%AA%E3%83%B312th_day2?src=hash&ref_src=twsrc%5Etfw">#ミリオン12th_day2</a><a href="https://t.co/Qnhb4SsHKz">https://t.co/Qnhb4SsHKz</a> <a href="https://t.co/NDUeSiEtza">pic.twitter.com/NDUeSiEtza</a></p>— アイマスDB (個人ファンアカウントです) (@imas_DB) <a href="https://twitter.com/imas_DB/status/1977324194603135416?ref_src=twsrc%5Etfw">October 12, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||
|
||||
協賛企業を読み上げるところから始まり、**ハミングバード**、**Contrastet**と徐々にテンションが上っていきます。なにせ初めてのライブなので、ペンライトどうするのかとか、コールとか何もわからないし、まわりめちゃめちゃテンション高いしでちょっと緊張していました。
|
||||
|
||||
発声練習ブロックでは、**Eternal Harmony**以外はなんとなく聞いたことがあるな~ぐらいの曲でしたが、背景に表示される文字をノリで喋ることでそれなりにコールできたんじゃないかと思います。**Eternal Harmony**はもう大好きな曲なのでめちゃめちゃはしゃいでました。
|
||||
|
||||
気持ちを込めて歌うレッスンのブロックでは、涙を知ることのオリメン歌唱があって最高でした。このブロックは特にコールとかはなかったので大人しくペンライト振っていました。
|
||||
|
||||
いろいろな場所で色々な歌のレッスンのブロックでは、**NO CURRY NO LIFE**以降が特に最高でした。ぴょんさんの**Parade d'amour**を生で見れたことに感謝。**Justice OR Voice**はMCパートで曲名聞くまでJust OR Voiceだと思っていました。Just OR Voiceってなんやねん。
|
||||
|
||||
問題の発表会ブロック。MCパートの組分けで南早紀さんが余った時点でほぼ確信していましたが、**電波感傷**オリメン披露です。個人的に開場が一番盛り上がった瞬間の一つだと思います。僕も最後の最後に更新されるまでは、一番嬉しかったです。
|
||||
|
||||
#### 電波感傷🐊🐊
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/WVWqY8_LM0I?si=k_rU1oJry1ewySbW" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||||
|
||||
**電波感傷**は[ミリシタにハマるきっかけの一つ](https://blog.usbharu.dev/posts/2024-12-21/#%E3%83%9F%E3%83%AA%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%96%E3%81%A8%E3%83%9F%E3%83%AA%E3%82%B7%E3%82%BF%E3%81%AB%E3%83%89%E3%83%8F%E3%83%9E%E3%82%8A%E3%81%97%E3%81%9F)であり、今でも1,2を争うレベルで好きな曲の一つです。歌織さんの歌声と、紬ちゃんの歌声それぞれの魅力が詰まっているこの曲、生で オリメンで 初めてのライブで 聞けたことはきっと一生の思い出になるでしょう。
|
||||
|
||||
|
||||
その後の曲の記憶があまりありません。困った。**蝶々むすび**、もちろん大好きな曲で、僕にとっての初めての周年曲です。が、本当に記憶にない。嘘だろ
|
||||
|
||||
#### MUSIC♪
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/6jI279xJX0k?si=w556Uoa0yib59ADd" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||||
|
||||
<strong>MUSIC♪</strong>もミリオンBCで知った曲で、765ASの曲の中で、これまた1,2を争うほど好きな曲です。<strong>MUSIC♪</strong>だとわかった瞬間泣きそうになりました。というか多分泣いていたと思います。特にコールの予習とかはしていないけど、ほぼ完璧にコールできてちょっぴり嬉しかった。
|
||||
|
||||
余談ですが、限界化するオタクって実在するんですね。隣で絶叫されてびっくりしました。
|
||||
|
||||
### Day2を終えて
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="zxx" dir="ltr"><a href="https://t.co/rLtTUEmBNE">pic.twitter.com/rLtTUEmBNE</a></p>— いかまぐ🦑🐟️【ISF15:A-32】 (@ikamagu) <a href="https://twitter.com/ikamagu/status/1979139643254669552?ref_src=twsrc%5Etfw">October 17, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||
|
||||
最後の「またね❤️」でまた泣きそうになりました。ミリオンスターズの中で、一人のアイドルとして最初に認知したのは確か「桜守歌織」だったと記憶しています。あの時歌織さんが目に留まらなかったら、今の僕はミリオンライブにここまでハマっていなかったでしょう。
|
||||
|
||||
Day1で爆上がりした期待感を余裕で超えてくる最高のライブだったと思います。延期になってしまった11thも楽しみで仕方ないです。そして、担当の主演公演は這ってでもこの目で観てやるぞ その時まで健康に生きて プロデュースしていくぞ だからミリオンライブも全員の主演公演をやり通してくれよな という気持ちが湧いてきました。
|
||||
|
||||
僕にとって歌織さんは担当か担当ではないかというより、ファンと言う面が強いですが、改めて現地参加して良かったと そう思いました。
|
||||
|
||||
それと、色を変えることができるタイプのペンライトが欲しくなりました。春日未来、佐竹美奈子、桜守歌織のペンライトを買ったんですが、ピンク/青/青なので白とか緑とか黄色がありません。ちょっと寂しかった MOIW2025ではペンライトをなんとか入手したいと思います。
|
||||
|
||||
### 帰宅
|
||||
|
||||
ライブ開場から品川までかなり時間がかかります。本当は新宿から夜行バスで帰る予定でしたが、ギリギリ新幹線に間に合いそうなので新幹線で帰ることにしました。終電一本前に乗れたので、ギリギリ日付が変わる前に帰宅。初めて新幹線一人で予約して乗りましたが、意外となんとかなりました。
|
||||
|
||||
## 戦利品・まとめ
|
||||
|
||||

|
||||
|
||||
お土産です。黒いやつはガジェットポーチです。今のところ使い道未定。本はなんか一般には売ってないらしい?やつ 面白そうなので買ってみた あとはソロコレです。映ってないですが特典ももらいました。
|
||||
|
||||
アイマス最高! MOIW2025でもよろしく!
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- その他
|
||||
date: 2025-11-29T13:11:41+09:00
|
||||
tags:
|
||||
- アドベントカレンダー
|
||||
keywords:
|
||||
- null
|
||||
title: 今年買ってよかったもの2025
|
||||
relpermalink: posts/2025-11-29/
|
||||
url: posts/2025-11-29/
|
||||
decription: 今年買ってよかったもの2025
|
||||
---
|
||||
|
||||
{{< alert icon="circle-info" >}}
|
||||
この記事は [しょぼねこ Advent Calendar 2025](https://adventar.org/calendars/12131) 22 日目の記事です。
|
||||
{{< /alert >}}
|
||||
|
||||
blog.usbharu.devへようこそ ありきたりなやつです。
|
||||
|
||||
今年買ってよかったものですが、やはりガジェット系が多めといった感じ。物が多くてゴチャついていた机もかなり洗練されてきたと思います。
|
||||
|
||||
## Apple iPhone
|
||||
|
||||
[iPhone 17 ProとiPhone 17 Pro Max - Apple(日本)](https://www.apple.com/jp/iphone-17-pro/)
|
||||
|
||||
長年Android派だったんですが、ついに乗り換えました。快適です。
|
||||
|
||||
1週間経過レビューからの変化ですが、いくつかあったので書いておこうと思います。
|
||||
|
||||
[Android派だったけどiPhoneに乗り換えたよ&1週間ちょっと経過レビュー · usbharu - blog](https://blog.usbharu.dev/posts/2025-10-17/)
|
||||
|
||||
### 重い・デカい
|
||||
|
||||
気にならなくなりました。バッテリーの持ちが良すぎるのでモバイルバッテリー不要かもです。
|
||||
|
||||
### 戻るの操作がやりにくい
|
||||
|
||||
これも気にならなくなりました。やっぱUIは慣れですね
|
||||
|
||||
### 楽天Edyがいい感じに使えない
|
||||
|
||||
1週間経過レビューでは触れていませんが、自販機とかだとPayPayやクレカでの支払いに対応してない場合があり、楽天Edyを良く使っていました。どうせならApple Payで使いたいのですが楽天Edyは未対応。というわけでICOCAをApple Payで新規発行して使っています。結構快適
|
||||
|
||||
## ダイキン 加湿空気清浄機
|
||||
|
||||
[Amazon.co.jp: ダイキン【ウイルス対策】加湿 空気清浄機 2025年モデル MCK505A-W 22畳 10年間フィルター交換不要 ストリーマ 壁際設置 静音 お手入れ簡単 スピード吸込 節電 花粉 ハウスダスト ペットの毛・ニオイ アレルゲン(ダニ、カビ)脱臭 清潔加湿 : ホーム&キッチン](https://www.amazon.co.jp/dp/B0DBQFBYKS)
|
||||
|
||||
家で僕だけが花粉症なので買っちゃいました。花粉が飛んでいない時期も常時稼働してもらっています。赤外線リモコンがついているのでSwitch Botから操作できます。快適
|
||||
|
||||
僕の部屋はちょっと構造が特殊でやたら空間が広いので床面積的には若干オーバースペックなものを買っています。
|
||||
|
||||
## Logicool ワイヤレスマウス
|
||||
|
||||
[Amazon.co.jp: Logicool Signature M750MOW ワイヤレスマウス 静音 レギュラー オフホワイト ワイヤレス マウス 無線 Bluetooth Logi Bolt Unifying非対応 windows mac iPad Android Chrome OS スクロールホイール 無線マウス 静音マウス M750 国内正規品 : パソコン・周辺機器](https://www.amazon.co.jp/dp/B0BKPHMVPL)
|
||||
|
||||
同時にMX MASTER3sも購入しましたがそっちよりもこっちのほうが良かったかなぁといった感じ。ガジェットポーチに放り込んで持ち歩いています。電池式なのが個人的に好き
|
||||
|
||||
## UGREEN USB-Cドッキングステーション
|
||||
|
||||
[Amazon | UGREEN Revodok 10 in 1 USB Cドッキングステーション USB Cハブ 二つHDMI拡張 USB A&C 3.2 10Gbpsデータ転送ポート4K@60Hz 二つ拡張8K@30Hz 100W PD急速充電 1Gbpsイーサネットポート SD Micro SD/TFカードリーダー付き MacBook Thinkpadに対応 | UGREEN | ドッキングステーション 通販](https://www.amazon.co.jp/dp/B0D1XK8H21)
|
||||
|
||||
4K出力にはThunderboltドックが必要だと勘違いしてたんですがUSB-Cでも可能ということを知ったので購入。VAIOをお家で使うときはこれに繋いで使っています。HDMIケーブルの抜き差しをしなくても外部モニターが使えるのが快適 値段もそこまで高くないのでおすすめ(?)
|
||||
|
||||
## Anker ワイヤレス充電器+モバイルバッテリー
|
||||
|
||||
[Amazon.co.jp: Anker 633 Magnetic Wireless Charger (MagGo)(マグネット式 3-in-1 ワイヤレス充電ステーション) 【モバイルバッテリー機能搭載 / 5000mAh / USB急速充電器付属/マグネット式/ワイヤレス出力 (7.5W) / PSE技術基準適合】MagSafe対応iPhoneシリーズ専用 (ホワイト) : 家電&カメラ](https://www.amazon.co.jp/dp/B09B3LQWK2)
|
||||
|
||||
簡単に説明すると「ワイヤレス充電対応のモバイルバッテリー」"が"充電できる台です。モバイルバッテリーを充電しつつスマホも充電できます。
|
||||
|
||||
物の片付けができない民としてはモバイルバッテリーの居場所を固定できるので最高 ついでに充電もできる。
|
||||
|
||||
出力は7.5wなので激遅ですが、困るほどではないかなという感じ。数年後iPhoneのバッテリーが劣化したら感想変わってるかも知れません。
|
||||
|
||||
## Amazonベーシック ワイヤーストリッパー
|
||||
|
||||
[Amazon | Amazonベーシック ワイヤーストリッパー 自動調整式, レッド, ブラック | ワイヤーストリッパー](https://www.amazon.co.jp/dp/B07TS6KCXD)
|
||||
|
||||
電子工作するなら持ってて損はないと思う。訳あってたくさんのワイヤーを加工しないといけなくなったので買いました。今までニッパーでやってたのがアホらしくなるぐらい簡単です。
|
||||
|
||||
## ALLDOCUBE 8インチタブレット
|
||||
|
||||
[Amazon.co.jp: ALLDOCUBE iPlay 70 mini Ultra 8.8インチタブレット Snapdragon7+Gen3 144Hz 2560×1600 20GB+256GB 7300mAh PD20W デュアルスピーカー WiFi6 BT5.4 WidevineL1 6軸ジャイロ 重力センサー 光センサー LPDDR5X UFS3.1 アンドロイドタブレットAndroid (充電器付き) : パソコン・周辺機器](https://www.amazon.co.jp/dp/B0F1F41F54)
|
||||
|
||||
今までごろ寝タブレットに使っていたAmazon Fire HDが限界を迎えたので購入
|
||||
|
||||
TwitterとMisskeyとYouTubeしかしないので明らかにオーバースペックですが、セールで結構安くなってたので思い切って買っちゃいました。タッチの感度が良すぎて誤タッチが多発していること以外は快適です。
|
||||
|
||||
----
|
||||
|
||||
こんなところでしょうか Amazon以外で購入したものとかいちいち覚えてないので抜けているかも知れません。費用対効果的な面で見るとやはりAnkerのワイヤレス充電器+モバイルバッテリーでしょうか。iPhoneあってこそのガジェットですが
|
||||
|
||||
|
|
@ -1,127 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- null
|
||||
date: 2025-12-03T15:29:46+09:00
|
||||
tags:
|
||||
- null
|
||||
keywords:
|
||||
- null
|
||||
title: Misskeyサーバー1周年を振り返って
|
||||
relpermalink: posts/2025-12-03/
|
||||
url: posts/2025-12-03/
|
||||
decription: Misskeyサーバー1周年を振り返って
|
||||
---
|
||||
|
||||
{{< alert icon="circle-info" >}}
|
||||
この記事は [しょぼねこ Advent Calendar 2025](https://adventar.org/calendars/12131) 23 日目の記事です。
|
||||
{{< /alert >}}
|
||||
|
||||
blog.usbharu.devへようこそ 昨日に引き続きありきたりなやつです。
|
||||
|
||||
12/29で1周年を迎える招待制身内用Misskeyサーバーがあります。このサーバーは2代目で、先代サーバーは物理サーバーの管理者といろいろあって閉鎖されたところをusbharuが新しく建てたという感じです。僕は物理サーバーの管理者としてサーバーの管理をしていますが、Misskeyサーバーの運営としてはほとんど関わっていません。そんなちょっと特殊なサーバーですが、幸い今のところ大きな人間関係トラブルなどはなく運用できていると思います。
|
||||
|
||||
## 1周年時点でのいろんなデータ
|
||||
|
||||
住人に許可も取らず身内ネタをアドベントカレンダー記事にべらべらと書くのもアレなので、大体の数字を見て振り返って見ましょう。なお執筆時点でのデータなので正確に1年経過した時点でのデータではありません。
|
||||
|
||||
| 種類 | 数値 |
|
||||
| ------------------------------ | ------------ |
|
||||
| ユーザー数 | 24アカウント |
|
||||
| ノート数 | 45420 |
|
||||
| 認知サーバー数 | 約1500 |
|
||||
| Pubサーバー数 | 約90 |
|
||||
| Subサーバー数 | 約90 |
|
||||
| カスタム絵文字数 | 約90 |
|
||||
| メディア数 | 約7000 |
|
||||
| メディアサイズ | 約2GB |
|
||||
| 最新のバックアップデータサイズ | 約250MB |
|
||||
|
||||
### ユーザー数とノート数
|
||||
|
||||
未ログイン状態でも見れるデータなので正確な数値を書いています。システムアカウントとかを含めての数値ですが、思っていたより多いですね。アクティブユーザーが多いのも納得です。
|
||||
|
||||
ノート数はサーバーで投稿されたもので、連合先の投稿は含んでいません。
|
||||
|
||||
PrometheusとGrafanaを使った長期間の推移データもあるんですが、停電でおうちシステムが壊滅してから復旧してないので見れません。残念
|
||||
|
||||
### 認知サーバー数とPub/Subサーバー数
|
||||
|
||||
認知サーバー数はリレーとかに入っていない招待制サーバーな割には多い方なんじゃないでしょうか。
|
||||
|
||||
Pub/Subサーバー数というのはフォロワー/フォロイーのサーバーが何種類かということです。これは意外と少ないほうかも知れません。
|
||||
|
||||
### カスタム絵文字数とメディア数/サイズ
|
||||
|
||||
これは物理サーバーの管理人しか見れませんね。7000というのはサムネイルも含みますので、実際に投稿されている画像などは半分ほどになります。僕の個人サーバー(misskey.usbharu.dev)と比べて相当多いので、画像などの投稿が活発なんじゃないでしょうか。
|
||||
|
||||
サイズは約2GBということで、やはり動画などより画像が多いと思われます。
|
||||
|
||||
### 最新のバックアップデータサイズ
|
||||
|
||||
1年で250MBが多いのか少ないのかわかりませんが、3年で1.9GBになっている個人サーバーと比べれば相当小さく感じます。何度かデータ喪失しかけてるので、1日一回フルバックアップを2週間保存という感じでバックアップを保存しています。幸い24時間以上のデータ喪失や巻き戻りは発生していません。なおRedisはバックアップしていないため、時々通知やアンテナが消し飛んだりします。仕様です。ご迷惑おかけします。
|
||||
|
||||
|
||||
## 1年での障害歴
|
||||
|
||||
最後に1年で発生した障害について書いておこうと思います。何度か全データが消えてバックアップから復旧したりしています。
|
||||
|
||||
N150とRyzenで構築したProxmoxクラスタ上にk3sを構築しています。明らかにオーバーな構成ですが、勉強を兼ねてプライベートクラウド風にしています。
|
||||
|
||||
### 2025年11月11日 ジョブキューが詰まる
|
||||
|
||||
詳細な障害報告はこちら
|
||||
|
||||
https://blog.usbharu.dev/posts/2025-01-11/
|
||||
|
||||
### 2025年1月13日 レートリミットで全員締め出される
|
||||
|
||||
根本的な原因不明ですが、レートリミットで管理者含めて全員締め出されました。trustProxy関係の設定かなぁと思っています。
|
||||
|
||||
Redisでレートリミットの設定を消し飛ばして復旧
|
||||
|
||||
### 2025年2月28日
|
||||
|
||||
2時間ほど開けなくなる
|
||||
|
||||
知らん間に治ってた
|
||||
|
||||
### 2025年3月27日~3月31日 ストレージ不足
|
||||
|
||||
ストレージ不足が原因でmicrok8sが崩壊 新PCへ移行後バックアップから復旧
|
||||
|
||||
27日に一度復旧したので油断してた状態で、28日夜に再度ダウン。29日,30日は外出していたため障害が長期化した
|
||||
|
||||
### 2025年6月26日
|
||||
|
||||
謎 1時間ほどで復旧
|
||||
|
||||
### 2025年7月25日
|
||||
|
||||
HTL以外がエラー おそらくDBが不調
|
||||
|
||||
知らん間に復旧してた
|
||||
|
||||
### 2025年8月19日 アンテナ消失
|
||||
|
||||
謎に復旧 Redisの問題だと思われる
|
||||
|
||||
知らない間にアンテナ消失して知らない間に復活する謎
|
||||
|
||||
### 2025年8月末 停電でシステム崩壊
|
||||
|
||||
おうちシステムが全て停止、Proxmoxクラスタが崩壊
|
||||
|
||||
Ryzen機に乗っていたVMはほぼ壊れたためN150機に残っていたデータとバックアップからMisskeyと一部のおうちシステムを復旧
|
||||
|
||||
ちなみにおうちシステムはまだ復旧してません
|
||||
|
||||
### 2025年10月22日 機械の故障
|
||||
|
||||
IX2215が故障したので予備に交換して復旧。15分ぐらいで復旧できました 偉い
|
||||
|
||||
---
|
||||
|
||||
書いてて思ったけど多いな…
|
||||
|
||||
|
Before Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 2.9 MiB |
|
Before Width: | Height: | Size: 14 KiB |
|
|
@ -1,88 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- その他
|
||||
date: 2026-01-06T14:27:52+09:00
|
||||
tags:
|
||||
- アイマス
|
||||
- 旅行
|
||||
keywords:
|
||||
- アイマス
|
||||
- 旅行
|
||||
title: 2025年振り返り
|
||||
relpermalink: posts/2026-01-06/
|
||||
url: posts/2026-01-06/
|
||||
decription: 2025年振り返り
|
||||
---
|
||||
|
||||
あけましておめでとうございます。もう2026年になってしまいましたが、2025年を振り返ってみようと思います。
|
||||
|
||||
## 開発
|
||||
|
||||
2025年のGitHubの草はこんな感じでした。
|
||||

|
||||
|
||||
ちょっと夏休みあたりにMinecraftにハマりまくっていたのでごっそり穴が空いていますね。今年はもうちょっと頑張っていきたいと思います。
|
||||
|
||||
2025年はNext.jsとReactに再入門したり、組み込みRustでフライトシミュレーター用のコックピットを作ったりしていました。Kotlin,Rust,TypeScript,Golangと様々な方向に足を伸ばせたと思いますが、その分ロクに完成品が存在せず、これといった成果もありません。今年はまず完成させることを目指したいと思います。
|
||||
|
||||
開発環境も少しづつ変わってきていて、2025年前半はJetBrains IDEで全部やっていましたが少しづつVSCodeに移行しています。2026年も始まって少ししか経っていませんが、コーディングエージェントと統合されているエディタにも手を出し始めているのでこの調子で色々習得したいところです。
|
||||
|
||||
## 学校
|
||||
|
||||
Geminiに教えてもらいながら数学をやったり、今更JavaFXに入門したりしていました。一部の学校のイベント(?)にもスタッフ側として参加させてもらっていたりしますが、ちょっとモチベーションが下がってきています。そろそろ就活も始まってきているのでインターンとか行きたいな~と思っています。
|
||||
|
||||
## 趣味
|
||||
|
||||
.jpg>)
|
||||
|
||||
### 旅行
|
||||
|
||||
旅行動画を見るのが好きだった影響で自分も旅行に行きまくっていました。
|
||||
|
||||
- 2月 関西 あすて君と大阪近郊区間大回り乗車
|
||||
- 3月 [愛知県小牧市](https://blog.usbharu.dev/posts/2025-03-07/)・[名古屋](https://blog.usbharu.dev/posts/2025-03-09/)
|
||||
- 3月 [名古屋](https://blog.usbharu.dev/posts/2025-03-29/)
|
||||
- 4月 [兵庫県明石市](https://blog.usbharu.dev/posts/2025-04-12/)
|
||||
- 4月~8月 [万博](https://blog.usbharu.dev/posts/2025-05-17/) 計5回
|
||||
- 5月 大阪 かすみPと旅マスミリオン
|
||||
- 8月 名古屋 でらますシャイニーカラーズ
|
||||
- 9月 [東京](https://blog.usbharu.dev/posts/2025-10-07/)
|
||||
- 9月 [三重県伊勢市鳥羽市志摩市](https://blog.usbharu.dev/posts/2025-10-11/)
|
||||
- 10月 [関東](https://blog.usbharu.dev/posts/2025-11-02/)
|
||||
- 12月 和歌山 アドベンチャーワールド
|
||||
|
||||
その他色々行きましたがとりあえずこんなところでしょうか。基本的に交通費ケチケチ旅行か親の旅行コバンザメが多いのでそこまで交通費はかかっていません。ありがとう母親
|
||||
|
||||
### 電子工作
|
||||
|
||||

|
||||
|
||||
高校入学あたりから放置していた電子工作を再開しました。当時お金がなくて辞めてしまったのですが、60円のユニバーサル基板を何枚買うかで10分も20分も悩んでいたあの頃とは違います。700円ぐらいでプリント基板を作ることができるので、表面実装部品だって使うことができます。すごく楽しいのですが、やりたいことに対して自分の技術力が追いついていないので今年はもっと頑張りたいところです。
|
||||
|
||||
## アイマス
|
||||
|
||||
初めてミリシタの周年イベントを走ったり、ライブに参加したりしました。コラボも行ける限りでは大体行きました。アイマス最高です。ちなみにMacBook Proが余裕で買えるぐらいアイマスにお金を使ったみたいです。やべぇな
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ミリオン初現地! <a href="https://t.co/Zruw0xfJjM">pic.twitter.com/Zruw0xfJjM</a></p>— usbharu (@usbharu_dev) <a href="https://twitter.com/usbharu_dev/status/1977244856755110232?ref_src=twsrc%5Etfw">October 12, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">MOIW来た <a href="https://t.co/TMIaGwFC2I">pic.twitter.com/TMIaGwFC2I</a></p>— usbharu (@usbharu_dev) <a href="https://twitter.com/usbharu_dev/status/1999668329922068786?ref_src=twsrc%5Etfw">December 13, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||
|
||||
あとはアケマスをやったり、ツアマスをやったり、CDを買ったりしています。BDもいくつか手に入れたので観たいなぁ~と
|
||||
|
||||
## その他
|
||||
|
||||
- 20歳になったのでお酒が飲めるようになりました。今は梅酒が好きです。
|
||||
- 携帯がGoogle PixelからiPhoneになりました。快適です。
|
||||
- フリスクドリンクを(時には奢ってまでして)友だちに飲ませる活動をしていました。
|
||||
- もう最近やっていない原神ですが、フリーナ完凸するだけしました。2025年のプレイ時間は15分です。
|
||||
- 2025年に一番聞いていた曲は[Brand New Theater!](https://open.spotify.com/intl-ja/track/1fzEGXvMeutGHeCBF42pUX?si=2f45d17762c64366)でした。
|
||||
- 個人的ベスト曲は[Luvliminal image](https://open.spotify.com/intl-ja/track/60n4QjCz85ljSWBaYqqnvB?si=c4215256da8942c1)です。
|
||||
|
||||
## 2026年の目標
|
||||
|
||||
<iframe src="https://misskey.usbharu.dev/embed/notes/agz6wr8adx" data-misskey-embed-id="v1_ah78gfdj8u" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" style="border: none; width: 100%; max-width: 500px; height: 300px; color-scheme: light dark;"></iframe>
|
||||
<script defer src="https://misskey.usbharu.dev/embed.js"></script>
|
||||
|
||||
あんまり関係ないですが、キーボード自作したいです。というわけで、今年もよろしくお願いします。
|
||||
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 95 KiB |
|
|
@ -1,116 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- 技術
|
||||
date: 2026-01-08T22:08:17+09:00
|
||||
tags:
|
||||
- 自動化
|
||||
- Reclaim
|
||||
- Google Apps Script
|
||||
keywords:
|
||||
- 自動化
|
||||
- Reclaim
|
||||
- Google Apps Script
|
||||
title: スケジュール管理を自動化して怠惰を加速させる
|
||||
relpermalink: posts/2026-01-08/
|
||||
url: posts/2026-01-08/
|
||||
decription: スケジュール管理を自動化して怠惰を加速させる
|
||||
---
|
||||
|
||||
あるいは自分の時間を1秒でも増やしたいあなたに。
|
||||
|
||||
怠惰、傲慢、短気がプログラマの美徳だとか、面倒くさがりほどプログラマに向いているだとか言いますが、自動化とかすら面倒なのがusbharu。というわけで今まで課題の期限は頭で覚えて管理していました。しかし先日急激にタスクが増え、自分が管理できそうにないレベルになってしまいました。これを機に全部自動化しよう というわけです。
|
||||
|
||||
## 構成
|
||||
|
||||
- Google カレンダー
|
||||
- Google Tasks
|
||||
- Reclaim
|
||||
- Google Apps Script(任意)
|
||||
|
||||
スケジュールをGoogle カレンダー、タスクをGoogle Tasks、自動化をReclaimで行います。Google Apps ScriptはiCal形式のものを自動的にGoogle Tasksにブチ込むために使うため、その他の方法で自動化できる場合は不要です。
|
||||
|
||||
## 自動化の準備
|
||||
|
||||
### スケジュール
|
||||
|
||||
まず、開始時間、終了時間が決まっている用事を全部Googleカレンダーに入れましょう。なに? いちいち入れるのが面倒だ? Geminiにやってもらいなさい
|
||||
|
||||

|
||||
|
||||
このとき、予定の時間ぴったりではなく拘束時間全部を登録します。なぜなら自動化の際に移動時間などは自動で計算してくれないから
|
||||
|
||||
なお予定自体に余裕をもたせる必要はありません。自動化の際にバッファーを設定できます。
|
||||
|
||||
### タスク
|
||||
|
||||
開始時間、終了時間が決まっていない用事、あるいは普通のタスクはGoogle Tasksに入れます。学校の課題とか、その他諸々提出物とかです。手動でタスクを追加するのはあまりにも不便なので、なんとか自動化して下さい。可能なら完了済みを反映させるところまで自動化しちゃって下さい。でもReclaimからGoogle Tasksのリストは選択できないので、連携してからReclaimが作ったリストに追加して下さい。
|
||||
|
||||
## いざ自動化
|
||||
|
||||
スケジュールの自動管理にはReclaimというサービスを使います。AIが所要時間、優先度、期限などをもとに、自動でスケジュールを組んでくれます。複数人で使う場合はそれぞれの予定を見て、会議などの時間を決めてくれる機能もあるようです。
|
||||
|
||||
[Reclaim](https://reclaim.ai/)
|
||||
|
||||
ところで公式サイトがメモリリークしていると思うんですが、僕だけでしょうか。メモリ15GB食ってました
|
||||
|
||||
### Reclaimに登場する概念
|
||||
|
||||
概念も何も一般的なスケジュール/ToDoアプリとそう変わらないのですが、いくつか特殊な概念があるのでここで説明しておきます。
|
||||
|
||||
- Hours - タスク、Habitsを入れて良い日、時間帯。
|
||||
- Habits - 習慣 毎日、週何日、などの頻度で自動的に差し込んでくれる
|
||||
- Focus - 空いてる時間にやりたいこと 例えば勉強とか、個人開発とか
|
||||
|
||||
#### Hours
|
||||
|
||||
Hoursは自動でタスクとHabitsを入れるときの制約です。タスク作成時にどのHoursでスケジュールを作成するか選ぶことができます。
|
||||
|
||||

|
||||
|
||||
Hoursを設定することで、例えば真夜中にタスクをブチ込まれる事故を防ぐことができます。あと、Googleアカウントに複数カレンダーが紐づいている場合に追加先のカレンダーを選択することができます。しっかり設定しておきましょう。家族にタスクをフル開示する事故が発生します(一敗)。
|
||||
|
||||
HoursにはWorking Hours、Meeting Hours、Personal Hoursの3つがデフォルトで準備されており、自分で新しく作成することもできます。僕は26時ぐらいまで起きていることが多いので、日付をまたいで設定できないのが惜しいところ
|
||||
|
||||
とりあえずPersonal Hoursを起きている時間全てに変えておくと良いと思います。
|
||||
|
||||
#### Habits
|
||||
|
||||
Habitsは習慣、または習慣にしたいものです。とりあえず掃除とか入れておくと良いでしょう。上で設定したHoursの時間で、設定した優先度・所要時間・理想的な時刻(Ideal time)をもとに自動でスケジューリングしてくれます。
|
||||
|
||||
その他スケジュールに失敗したときに残す/消すの設定や、どの程度予定を守るか、依存関係などを設定できます。
|
||||
|
||||
#### Focus
|
||||
|
||||
集中して取り組みたいことをスケジュールに組み込んでくれます。空いている時間にFocusを差し込むか、Focusを作ってから間にタスクなどを差し込むかを選べるようです。僕は後者を使っていましたが、タスクの期限よりもFocusが優先されることがあったので前者(UI上で右)にしています。
|
||||
|
||||
Focusは週に約何時間スケジュールするかを設定することができ、僕はとりあえず多めに設定しています。
|
||||
|
||||
---
|
||||
|
||||
さて、概念の解説が終わったところで、自動化していきましょう。設定からIntegrationに進み、Google カレンダーとGoogle Tasksを連携します。
|
||||
|
||||
はい、完了です。これでReclaimが自動でスケジュールを作成してくれます。Google カレンダーは今まで通り普通に予定を作成できます。人が作った予定をReclaimは尊重し、動かすことはありません。Reclaimに委ねたい場合はGoogle Tasksに追加しましょう。また、予定を移動した場合や優先度、所要時間を変更した場合に再計算が行われ、改めてスケジュールが作成されます。
|
||||
|
||||
あとはスケジュール結果を見て調整して行きましょう。Bufferと絵文字プレフィックスは設定しておくと良いと思います。
|
||||
|
||||
Googleカレンダーを見ているとき、重要な予定だけフィルターできたほうが便利ですので、手動で管理するカレンダーと自動管理するカレンダーは分けるべきでしょう。
|
||||
|
||||
### Google Apps Scriptで自動化
|
||||
|
||||
タスクの期限がiCal形式のカレンダーで配布されている場合はGoogle Apps Scriptで自動化することができます。Google カレンダーにiCal形式のカレンダーをインポートし、`CalendarApp.getCalendarById(id,now,end)`でイベント一覧を取ることができます。あとは重複排除してGoogle Tasksにブチ込むだけなのですが、タスクのタイトルでReclaimを制御することができます。
|
||||
|
||||
[Creating and syncing Google Tasks to Reclaim](https://help.reclaim.ai/en/articles/4293078-creating-and-syncing-google-tasks-to-reclaim)
|
||||
|
||||
とりあえずdueを設定しておくとよいでしょう。
|
||||
|
||||
[Tasks Service](https://developers.google.com/apps-script/advanced/tasks)
|
||||
|
||||
[Class CalendarApp](https://developers.google.com/apps-script/reference/calendar/calendar-app)
|
||||
|
||||
重複排除の際にはPropertiesServiceが便利です。多くても1ヶ月分のタスクなんて数百件でしょうから。
|
||||
|
||||
## おわりに
|
||||
|
||||
こんなことをしても結局TwitterとMisskeyに時間を奪われています!!!!!
|
||||
|
Before Width: | Height: | Size: 41 KiB |
|
|
@ -1,75 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- 技術
|
||||
date: 2026-01-20T09:30:58+09:00
|
||||
tags:
|
||||
- null
|
||||
keywords:
|
||||
- null
|
||||
title: OpenCodeをGitHub Copilot Proで試す
|
||||
relpermalink: posts/2026-01-20/
|
||||
url: posts/2026-01-20/
|
||||
decription: OpenCodeをGitHub Copilot Proで試す
|
||||
---
|
||||
|
||||
最近はClaude Codeが流行っているようですが、いきなり3000円払って後悔するのもなぁ…と思っているうちにいい感じの代替が出てきました。
|
||||
|
||||
## インストール
|
||||
|
||||
OpenCodeは名前が名前だけにややこしいのですが、bun製の方のOpenCodeです。
|
||||
|
||||
[OpenCode 違い](https://zenn.dev/tkithrta/articles/13b576270f4d18)
|
||||
|
||||
↓でインストールしようとするとなんかバージョンが取得できないとか行ってエラーになるので、`npm install -g opencode-ai`でインストールしました。
|
||||
|
||||
```bash
|
||||
❯ curl -fsSL https://opencode.ai/install | bash
|
||||
Failed to fetch version information
|
||||
```
|
||||
|
||||
## プロバイダを接続
|
||||
|
||||
以下のコードを打ったらあとは指示に従います
|
||||
|
||||
```bash
|
||||
opencode auth login
|
||||
```
|
||||
|
||||
GitHub Copilotのページに行ってモデルを有効化しないと使えませんでした。
|
||||
|
||||
https://github.com/settings/copilot/features
|
||||
|
||||
モデルを有効化したあとopencodeの再起動が必要でした。
|
||||
また、Claude Opus 4.5は有効化後しばらく待ってから新規セッションを立ち上げると使えました。
|
||||
|
||||
## 簡単な使い方
|
||||
|
||||
まぁ普通にPlanモードで実装プランを作ってもらったあと、Buildモードで実装してもらいます。プラン作成中に質問が飛んできたりするので、随時答えたり修正したりしながら続けていきます。
|
||||
|
||||
`ctrl+c`で終了
|
||||
|
||||
`opencode -c`でセッションを継続して開始
|
||||
|
||||
## 所感
|
||||
|
||||
Antigravityのときは使おうとも思わなかった(Gemini 3 Pro Highでもリミット来ないので)Gemini 3 Flashが意外と賢い
|
||||
|
||||
Antigravityより自走力がある
|
||||
|
||||
shift+enterで改行とかはできないっぽい
|
||||
|
||||
Claude Opus 4.5は圧倒的に賢いけど一瞬でプレミアムリクエストの枠を消費してしまう
|
||||
|
||||
Antigravityと比べてGemini 3 Proが遅い気がする
|
||||
|
||||
Claude Opus 4.5やべぇよ!!!!!(コストが)
|
||||
|
||||

|
||||
|
||||
GitHub Copilot Proの枠だけで何かを完成させるのは普通に無理ですね 乞食ばっかりじゃなくてClaude Codeも試そうと思いました。
|
||||
|
||||
Claudeに詳しそうな友人によるとOpusでPlan、SonnetでBuildがバランスが良いらしい(Claude Codeでの話だと思うが)
|
||||
|
||||
MCPサーバーの設定が他と違うので注意
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- 技術
|
||||
date: 2026-01-29T00:21:34+09:00
|
||||
tags:
|
||||
- 開発環境
|
||||
keywords:
|
||||
- 開発環境
|
||||
title: MacBook環境構築2026
|
||||
relpermalink: posts/2026-01-29/
|
||||
url: posts/2026-01-29/
|
||||
decription: MacBook環境構築2026
|
||||
---
|
||||
|
||||
<iframe src="https://misskey.usbharu.dev/embed/notes/ahyv1dij16" data-misskey-embed-id="v1_ai2r4r3797" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" style="border: none; width: 100%; max-width: 500px; height: 300px; color-scheme: light dark;"></iframe>
|
||||
<script defer src="https://misskey.usbharu.dev/embed.js"></script>
|
||||
|
||||
去年アイマスにMacBook Proが買えるぐらいお金を使ってしまったので、反省して今年は最初にMacBook Proを買うことにしました。嘘です。
|
||||
|
||||
メモリが高騰しているということで、まだ影響が出ていなかったMacを買いました。最初はMac miniで考えていたのですが、やっぱ持ち運びたいよな…ということで、MacBookを選びました。
|
||||
|
||||
スペックはMacBook Pro(M5) 32GB/1TB です。Airのインターフェースが終わってたのでProにしましたが、流石にいい値段しました。
|
||||
|
||||
まだ数日しか使っていませんが、モバイル系の開発ではメモリの多さが効いてきそうです。
|
||||
|
||||
完全に新しい環境ということで、構築時のメモも兼ねて環境を記しておこうと思います。
|
||||
|
||||
## リスト
|
||||
|
||||
とりあえず入れたものリストです。今後増えたり減ったりします。
|
||||
|
||||
- brew
|
||||
- nvim
|
||||
- LazyVim
|
||||
- lazygit
|
||||
- fd
|
||||
- VSCode
|
||||
- JetBrains Toolbox
|
||||
- Intellij IDEA
|
||||
- Android Studio
|
||||
- Google Chrome
|
||||
- iCloudキーチェーン
|
||||
- DaVinci Resolve
|
||||
- Slack
|
||||
- Discord
|
||||
- ownCloud
|
||||
- shapr3d
|
||||
- zsh
|
||||
- Powerlevel10k
|
||||
- Oh My Zsh
|
||||
- XCode
|
||||
- mise
|
||||
- HackGen_NF
|
||||
|
||||
## とりあえず先人の真似をする
|
||||
|
||||
Macを触るのはほぼ初めてです。というわけでタイムラインでたまたま見かけていた人の設定を真似することにしました。
|
||||
|
||||
といっても尖ったやつは真似せず、自分にあってそうなものだけ試しています。
|
||||
|
||||
### とりあえずGhosttyとmiseを採用
|
||||
|
||||
homebrewというのもインストールしました。よく見かけていたやつですが、自分も使うことになるとは思いませんでした。
|
||||
|
||||
https://brew.sh/ja/
|
||||
|
||||
miseではnode.jsとhugo-extendedとpnpmをインストールしました。管理については今後考えていきたいです。
|
||||
|
||||
WindowsではWezTermというものを使っていたんですが、なんかGhosttyの名前をよく聞くのでとりあえず使ってみることにしました。ゼロコンフィグって最高ですね
|
||||
|
||||
普段はデフォルトのフォントを使っていますが、なんかうまく日本語を表示できなかったので、HackGenフォントをインストールしました。
|
||||
|
||||
コンフィグは
|
||||
|
||||
```
|
||||
font-family="HackGen Console NF"
|
||||
```
|
||||
だけ追加しています。
|
||||
|
||||
## NeoVimなど
|
||||
|
||||
普段nanoを使ってますが、正直なんでもいいのでこれも名前をよく聞くNeoVimにしました。コンフィグの盆栽をする前にやることがあるだろう ということでとりあえずLazyVimの設定を流し込んでいます。
|
||||
|
||||
LazyVimがらみでlazygitとfdを入れました。
|
||||
|
||||
lazyvimの設定は適当にTUIでやったので覚えてません。LSPとLazyExtendみたいなのをいくつか有効化しただけです。
|
||||
|
||||
## Google Chrome
|
||||
|
||||
よくわかりませんがタブの固定をしても一度閉じるとタブが消えてしまうみたいなのでよく使うタブをタブグループに放り込んで代用しています。あとはiCloudアカウントに保存されたパスワードとかを使うためにiCloudキーチェーンの拡張機能をインストールしました。 iPhoneではSafariをメインで使っていたんですが、とりあえずGoogle Chromeメインで使っていこうと思います。
|
||||
|
||||
## その他
|
||||
|
||||
Windowsと変わらず支えています。今のところRosettaはインストールせず、ネイティブだけで頑張っています。
|
||||
|
||||
色々やってるツリー
|
||||
|
||||
<iframe src="https://misskey.usbharu.dev/embed/notes/ahyw9tii3z" data-misskey-embed-id="v1_ai2qxvsf7n" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" style="border: none; width: 100%; max-width: 500px; height: 300px; color-scheme: light dark;"></iframe>
|
||||
<script defer src="https://misskey.usbharu.dev/embed.js"></script>
|
||||
|
||||
## 感想
|
||||
|
||||
快適の一言です。
|
||||
|
||||
日常使いや学校で使う分にはWindowsの方が好きかもですが、Webとかモバイルの開発するならMacはいいかもです。組み込み系の開発とか設計とかはまだ試せていないので今後試していきたいところ。不満点はわかっていた事ではあるんですが、ちょっと重いしぶ厚い事ですね。どっちもMacBook Airだと解決しとるやないかい!!!!
|
||||
|
|
@ -1,621 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- 技術
|
||||
date: 2026-02-01T13:07:30+09:00
|
||||
tags:
|
||||
- pnpm
|
||||
- npm
|
||||
- Tauri
|
||||
- Next.js
|
||||
- Biome
|
||||
- Storybook
|
||||
- Changesets
|
||||
- TypeScript
|
||||
- Renovate
|
||||
- Vitest
|
||||
keywords:
|
||||
- pnpm
|
||||
- npm
|
||||
- Tauri
|
||||
- Next.js
|
||||
- Biome
|
||||
- Storybook
|
||||
- Changesets
|
||||
- TypeScript
|
||||
- Renovate
|
||||
- Vitest
|
||||
title: プロジェクトを作るときに考えたいこと
|
||||
relpermalink: posts/2026-01-31/
|
||||
url: posts/2026-01-31/
|
||||
decription: プロジェクトを作るときに考えたいこと
|
||||
---
|
||||
|
||||
何か新しいものを作ろうとしたときに、毎回調べている気がするのでまとめてみた。
|
||||
|
||||
最近はWeb(Next.js)+Desktop(Tauri+Vite+React)で作ることが多いので、なんだかんだ偏っているけどnpm使うなら使えるはず
|
||||
|
||||
## プロジェクトの構造を作る
|
||||
|
||||
基本的にpnpmを使う
|
||||
|
||||
```bash
|
||||
pnpm init --init-type module
|
||||
```
|
||||
|
||||
モノレポでやる場合は`pnpm-workspace.yaml`を追加する
|
||||
|
||||
[pnpm-workspace.yamlの構文](https://pnpm.io/ja/next/pnpm-workspace_yaml)
|
||||
|
||||
大体こんな感じのディレクトリ構造でやることが多い desktopとwebのフォルダは`pnpm create ほにゃらら`が作るので自分では作らない
|
||||
```bash
|
||||
tree .
|
||||
.
|
||||
├── apps
|
||||
│ ├── desktop
|
||||
│ └── web
|
||||
└── packages
|
||||
├── ui
|
||||
└── utils
|
||||
|
||||
7 directories, 0 files
|
||||
```
|
||||
|
||||
### Next.js
|
||||
|
||||
こんな感じで作成する
|
||||
ESLintではなくBiomeを使う
|
||||
|
||||
```bash
|
||||
create next-app@latest web
|
||||
✔ Would you like to use the recommended Next.js defaults? › No, customize settings
|
||||
✔ Would you like to use TypeScript? … No / Yes
|
||||
✔ Which linter would you like to use? › Biome
|
||||
✔ Would you like to use React Compiler? … No / Yes
|
||||
✔ Would you like to use Tailwind CSS? … No / Yes
|
||||
✔ Would you like your code inside a `src/` directory? … No / Yes
|
||||
✔ Would you like to use App Router? (recommended) … No / Yes
|
||||
✔ Would you like to customize the import alias (`@/*` by default)? … No / Yes
|
||||
✔ What import alias would you like configured? … @/*
|
||||
```
|
||||
|
||||
`pnpm-workspace.yaml`と`biome.json`が作成されるが、プロジェクトルートで作成するので必要に応じて削除する。
|
||||
|
||||
### Tauri
|
||||
|
||||
Rustがインストールされていることを確認する
|
||||
|
||||
```bash
|
||||
pnpm create tauri-app
|
||||
✔ Project name · desktop
|
||||
✔ Identifier · dev.usbharu.test
|
||||
✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm, deno, bun)
|
||||
✔ Choose your package manager · pnpm
|
||||
✔ Choose your UI template · React - (https://react.dev/)
|
||||
✔ Choose your UI flavor · TypeScript
|
||||
```
|
||||
|
||||
### TypeScript
|
||||
|
||||
```bash
|
||||
pnpm add -D typescript
|
||||
npx tsc --init
|
||||
```
|
||||
|
||||
npm scriptにtypecheckを追加しておく
|
||||
正直いらないが… AIが利用できるコマンドを制限するときに楽
|
||||
|
||||
```json
|
||||
"typecheck": "tsc --noEmit"
|
||||
```
|
||||
|
||||
### Vite(ライブラリモード)
|
||||
|
||||
npmに公開するかはともかくライブラリを作るときはViteのライブラリモードを利用するといいらしい やったことない
|
||||
|
||||
https://ja.vite.dev/guide/build#library-mode
|
||||
|
||||
単にモノレポの1パッケージとして作るだけなら不要
|
||||
|
||||
---
|
||||
|
||||
pnpmでモノレポ内のパッケージを追加する場合
|
||||
|
||||
```bash
|
||||
pnpm add --workspace @test/ui
|
||||
```
|
||||
|
||||
npmではやったことないけど、バージョンカタログの仕組みであるpnpm catalogで管理するというのもいいかも
|
||||
|
||||
https://pnpm.io/ja/catalogs
|
||||
|
||||
|
||||
## テストとか諸々
|
||||
|
||||
### Biome
|
||||
Biome君VSCodeの拡張機能がちょっと残念だけど基本的に優秀なので使ってます
|
||||
|
||||
https://biomejs.dev/ja/guides/getting-started/#%E8%A8%AD%E5%AE%9A
|
||||
|
||||
```bash
|
||||
pnpm add -w -D @biomejs/biome
|
||||
pnpm exec biome init
|
||||
```
|
||||
|
||||
- JSONスキーマをURLからnode_modules内のファイルに変える
|
||||
- 自動的にインストールされているバージョンのスキーマを使うことができる
|
||||
- useIgnoreFile
|
||||
- *.d.tsファイルの除外
|
||||
- tailwindcss対応
|
||||
|
||||
```json
|
||||
{
|
||||
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
|
||||
"vcs": {
|
||||
"enabled": true,
|
||||
"clientKind": "git",
|
||||
"useIgnoreFile": true
|
||||
},
|
||||
"files": {
|
||||
"ignoreUnknown": true,
|
||||
"includes": ["**", "!**/*.d.ts"]
|
||||
},
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"indentStyle": "space",
|
||||
"indentWidth": 2
|
||||
},
|
||||
"linter": {
|
||||
"enabled": true,
|
||||
"rules": {
|
||||
"recommended": true,
|
||||
"a11y": {
|
||||
"noStaticElementInteractions": "off"
|
||||
},
|
||||
"nursery": {
|
||||
"useSortedClasses": {
|
||||
"fix": "safe",
|
||||
"level": "error",
|
||||
"options": {
|
||||
"functions": ["twMerge", "twJoin", "tv", "cn"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"javascript": {
|
||||
"formatter": {
|
||||
"quoteStyle": "double"
|
||||
}
|
||||
},
|
||||
"css": {
|
||||
"parser": {
|
||||
"cssModules": true,
|
||||
"allowWrongLineComments": true,
|
||||
"tailwindDirectives": true
|
||||
},
|
||||
"formatter": {
|
||||
"enabled": false
|
||||
},
|
||||
"linter": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
"assist": {
|
||||
"enabled": true,
|
||||
"actions": {
|
||||
"source": {
|
||||
"organizeImports": "on"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
npm scriptにlintとlint:fixを追加しておく
|
||||
--unsafeオプションはご自由に 僕はつけます
|
||||
```json
|
||||
"scripts": {
|
||||
"lint": "biome check",
|
||||
"lint:fix" : "biome check --write --unsafe"
|
||||
},
|
||||
```
|
||||
|
||||
### Vitest
|
||||
|
||||
テストにはVitestを使う 正直そんなに使ったことない
|
||||
|
||||
```bash
|
||||
pnpm add -D vitest
|
||||
```
|
||||
|
||||
npm scriptにtestを追加する
|
||||
|
||||
```json
|
||||
"scripts": {
|
||||
"test": "vitest"
|
||||
},
|
||||
```
|
||||
|
||||
### Storybook
|
||||
|
||||
AIと色々やるときにあるとすごい便利
|
||||
|
||||
ReactとかのUIライブラリが依存関係に入っていないと自動作成に失敗するみたいなので注意
|
||||
|
||||
```bash
|
||||
pnpm create storybook@latest
|
||||
```
|
||||
|
||||
あとは画面の指示に従うだけ
|
||||
|
||||
Tailwindcssの設定もしておく
|
||||
|
||||
https://pystyle.info/react-vite-tailwind-storybook/
|
||||
|
||||
### Storycap
|
||||
|
||||
ビジュアルリグレッションテストを簡単に行えるよう、コンポーネントのスクショを自動で取れるようにしておく
|
||||
|
||||
AIにUIコンポーネントを触らせるときにちょっとだけ安心できる
|
||||
|
||||
Storycapとあるが正確には改良版のStorycap-testrunというもの
|
||||
|
||||
```bash
|
||||
pnpm add -D @storycap-testrun/browser
|
||||
```
|
||||
|
||||
vitest.setup.tsに以下を追記
|
||||
```typescript:vitest.setup.ts
|
||||
import { page } from "vitest/browser";
|
||||
import { screenshot } from "@storycap-testrun/browser";
|
||||
|
||||
|
||||
afterEach(async (context) => {
|
||||
await screenshot(page, context);
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
vitest.config.tsのプラグインに以下を追記
|
||||
```typescript:vitest.config.ts
|
||||
import storycap from "@storycap-testrun/browser/vitest-plugin";
|
||||
|
||||
storycap({
|
||||
output: {
|
||||
file: (context) => `${context.id}.png`,
|
||||
},
|
||||
}),
|
||||
```
|
||||
|
||||
`.gitignore`に`__screenshots__`と書いておくと良い
|
||||
|
||||
## Git/GitHubとCI/CD
|
||||
|
||||
基本的にGit Flowをちょっと省略したブランチ戦略を取る
|
||||
`release`ブランチを省略(リリース作業は自動化、それ以外はdevelopでするので)
|
||||
`hotfix`ブランチも省略
|
||||
|
||||
### Gitの設定
|
||||
|
||||
やっていなければリポジトリの初期化 masterとmainに注意(n敗)
|
||||
```bash
|
||||
git init .
|
||||
```
|
||||
|
||||
`.gitignore`の設定
|
||||
|
||||
https://github.com/github/gitignore
|
||||
|
||||
こういうところから持ってくる
|
||||
|
||||
### コミット前に自動修正
|
||||
|
||||
lefthookとbiomeを組み合わせる
|
||||
|
||||
```bash
|
||||
pnpm add -D -w lefthook
|
||||
```
|
||||
|
||||
lefthook.yamlを作成する
|
||||
```yaml:lefthook.yaml
|
||||
pre-commit:
|
||||
commands:
|
||||
check:
|
||||
glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}"
|
||||
run: npx @biomejs/biome check --write --no-errors-on-unmatched --files-ignore-unknown=true --colors=off {staged_files}
|
||||
stage_fixed: true
|
||||
|
||||
pre-push:
|
||||
commands:
|
||||
check:
|
||||
glob: "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}"
|
||||
run: npx @biomejs/biome check --no-errors-on-unmatched --files-ignore-unknown=true --colors=off {push_files}
|
||||
```
|
||||
|
||||
適用
|
||||
|
||||
```bash
|
||||
pnpm lefthook install
|
||||
```
|
||||
|
||||
### GitHub
|
||||
|
||||
とりあえずリポジトリを作る。masterとmainに注意 上でやった`.gitignore`はここでやってもいい
|
||||
Renovateとかを有効化しておく
|
||||
|
||||
設定していく
|
||||
|
||||
- オートマージを許可
|
||||
- デフォルトブランチをdevelopに
|
||||
- プルリクエストブランチの更新を常に提案する
|
||||
- ヘッドブランチを自動的に削除する
|
||||
- Dependabot Alertsを有効にする
|
||||
- ブランチプロテクションルールを作成する CIの構築をしてからの方が楽
|
||||
- Masterブランチは直Push禁止
|
||||
- CI全Passが必須
|
||||
- バイパス禁止
|
||||
- Developブランチは直Push許可
|
||||
- CI全Passが必要だがバイパスを許可
|
||||
- レビューが必要なら最少Approve数を設定
|
||||
- チーム開発ならWebhookを設定
|
||||
- Issue追加・PR追加・リリースあたりを通知してスレッド運用が良さげ 正直SlackのGitHub Appが一番いい
|
||||
- Discord https://mekurun.com/tips/discord-github/
|
||||
|
||||
### Renovate
|
||||
|
||||
依存ライブラリのバージョン管理は自動化する
|
||||
|
||||
- minorとpatchの自動マージを有効化
|
||||
- platformAutomergeを有効化
|
||||
- rebaseWhenをconflictedかneverに
|
||||
- lockFileMaintenanceをtrueに 正直いらんかも
|
||||
|
||||
|
||||
```json:renovate.json
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": ["config:recommended"],
|
||||
"packageRules": [
|
||||
{ "matchUpdateTypes": ["minor", "patch"], "automerge": true }
|
||||
],
|
||||
"platformAutomerge": true,
|
||||
"rebaseWhen": "conflicted",
|
||||
"lockFileMaintenance": {
|
||||
"enabled": true,
|
||||
"recreateWhen": "always",
|
||||
"rebaseStalePrs": true,
|
||||
"branchTopic": "lock-file-maintenance",
|
||||
"commitMessageAction": "Lock file maintenance",
|
||||
"commitMessageTopic": null,
|
||||
"commitMessageExtra": null,
|
||||
"schedule": ["before 4am on monday"],
|
||||
"groupName": null,
|
||||
"prBodyDefinitions": {
|
||||
"Change": "All locks refreshed"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Vitest
|
||||
|
||||
package.json内に存在している不要なtestスクリプトは削除しておく
|
||||
|
||||
ルートのpackage.jsonに
|
||||
```json
|
||||
"test:all": "pnpm -r --reporter-hide-prefix test"
|
||||
```
|
||||
を追記しておく
|
||||
|
||||
-rオプションで子プロジェクトでも再起的に実行
|
||||
--reporter-hide-prefixオプションで後述するテストレポートの邪魔を防げる
|
||||
|
||||
簡単にテストレポートを手に入れる手段としてGitHubのアノテーションを使う
|
||||
|
||||
https://vitest.dev/guide/reporters.html#github-actions-reporter
|
||||
|
||||
|
||||
### VRT(ビジュアルリグレッションテスト)
|
||||
|
||||
AIにUIを触らせるならあったらすごく便利です
|
||||
|
||||
`reg-viz/reg-actions@v3`を使います。
|
||||
|
||||
playwrightとのインストールが必要な割に実行する必要があるタイミングが多く、コストが重め
|
||||
|
||||
PRのコメントに差分を投稿してくれるけど、PRのマージ先のコミットで必ずVRTが実行されている必要があるため、マージコミットにもVRTのアクションを実行する必要がある(この仕様にめちゃくちゃハマった)
|
||||
|
||||
残っている最新のスクショ結果ではなく、最新のコミットのスクショを探すという点に注意
|
||||
|
||||
簡単に書くのが凄く難しいので今動いているActionをそのまま書いておきます
|
||||
|
||||
`@travel-scheduler/ui`の部分をUIコンポーネントのパッケージ名に変えると動くと思います。
|
||||
|
||||
```yaml
|
||||
name: Visual Regression Test
|
||||
on:
|
||||
push:
|
||||
branches: [develop, main]
|
||||
pull_request:
|
||||
branches: [develop, main]
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
actions: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
test:
|
||||
timeout-minutes: 10
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
shard: [1/3, 2/3, 3/3]
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: pnpm/action-setup@v4
|
||||
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Cache Playwright binaries
|
||||
uses: actions/cache@v5
|
||||
id: playwright-cache
|
||||
with:
|
||||
path: ~/.cache/ms-playwright
|
||||
key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
|
||||
- name: Install Playwright Browsers
|
||||
if: steps.playwright-cache.outputs.cache-hit != 'true'
|
||||
run: pnpm -F @travel-scheduler/ui exec playwright install chromium
|
||||
|
||||
- name: Install Playwright system dependencies
|
||||
run: pnpm -F @travel-scheduler/ui exec playwright install-deps chromium
|
||||
|
||||
- name: Run storycap tests (shard ${{ matrix.shard }})
|
||||
run: pnpm -F @travel-scheduler/ui exec vitest run --project=storybook --shard=${{ matrix.shard }}
|
||||
|
||||
- name: Upload screenshots
|
||||
uses: actions/upload-artifact@v6
|
||||
if: always()
|
||||
with:
|
||||
name: screenshots-${{ strategy.job-index }}
|
||||
path: packages/ui/__screenshots__
|
||||
retention-days: 1
|
||||
|
||||
compare:
|
||||
needs: test
|
||||
if: always()
|
||||
timeout-minutes: 5
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Download all screenshot artifacts
|
||||
uses: actions/download-artifact@v7
|
||||
with:
|
||||
pattern: screenshots-*
|
||||
path: downloaded-screenshots
|
||||
|
||||
- name: Merge screenshots
|
||||
run: |
|
||||
mkdir -p packages/ui/__screenshots__
|
||||
for dir in downloaded-screenshots/screenshots-*; do
|
||||
if [ -d "$dir" ]; then
|
||||
cp -r "$dir"/* packages/ui/__screenshots__/ 2>/dev/null || true
|
||||
fi
|
||||
done
|
||||
echo "Merged screenshots:"
|
||||
ls -la packages/ui/__screenshots__/
|
||||
|
||||
- name: Upload merged screenshots
|
||||
uses: actions/upload-artifact@v6
|
||||
with:
|
||||
name: storycap-report
|
||||
path: packages/ui/__screenshots__
|
||||
retention-days: 30
|
||||
|
||||
- name: Run visual regression comparison
|
||||
uses: reg-viz/reg-actions@v3
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
image-directory-path: "./packages/ui/__screenshots__"
|
||||
```
|
||||
|
||||
### Changesetsによるバージョン管理
|
||||
|
||||
自分は調べながら初めて使ったけど、とても便利そう
|
||||
|
||||
インストール
|
||||
```bash
|
||||
pnpm add -wD @changesets/cli
|
||||
```
|
||||
|
||||
初期化
|
||||
```bash
|
||||
npx changesets init
|
||||
```
|
||||
|
||||
変更を追記(GitHub Appで自動化可能)
|
||||
```bash
|
||||
npx changesets
|
||||
```
|
||||
|
||||
追記した変更をまとめてリリース(GitHub Actionで自動化可能)
|
||||
```bash
|
||||
npx changesets version
|
||||
```
|
||||
|
||||
変更の追記の確認をしてくれるBot
|
||||
|
||||
https://github.com/apps/changeset-bot
|
||||
|
||||
masterにpushがあったら自動でリリース(changesets version)を行うAction
|
||||
|
||||
```yaml
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
concurrency: ${{ github.workflow }}-${{ github.ref }}
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: Release
|
||||
permissions:
|
||||
pull-requests: write
|
||||
contents: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v3
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
run_install: false
|
||||
- name: Setup Node.js 20
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 22
|
||||
|
||||
- name: Install Dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Create Release Pull Request
|
||||
uses: changesets/action@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
```
|
||||
|
||||
### npm versionによるバージョン管理
|
||||
|
||||
npmではやったことないけど、Gradleでは近い方法でバージョン管理をしていた 全パッケージが同じバージョン番号を持つプロジェクトやモノレポじゃないプロジェクトではGitに全部を合わせることができるので楽
|
||||
|
||||
https://qiita.com/minamo173/items/8b8b27bc6ecd17ad925e
|
||||
|
||||
masterブランチにtagがpushされたときにfrom-gitで発動させる
|
||||
|
||||
### GitHub Copilotによるレビューを行う
|
||||
|
||||
自動でレビューさせるかはともかく設定する
|
||||
|
||||
https://github.com/settings/copilot/features
|
||||
|
||||
で有効化できる
|
||||
|
||||
`.github/copilot-instructions.md`に日本語で頼む的な指示を書いておきましょう。
|
||||
|
||||
---
|
||||
|
||||
AI関連のことも書こうかと思ったけどだいぶ長い記事になったので一旦ここまで
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
---
|
||||
author: usbharu
|
||||
draft: false
|
||||
categories:
|
||||
- 技術
|
||||
date: 2026-02-09T18:08:54+09:00
|
||||
tags:
|
||||
- Rust
|
||||
keywords:
|
||||
- Rust
|
||||
title: IME用の辞書から子音抜き検索ができるコマンドを作ったよ
|
||||
relpermalink: posts/2026-02-09/
|
||||
url: posts/2026-02-09/
|
||||
decription: IME用の辞書から子音抜き検索ができるコマンドを作ったよ
|
||||
---
|
||||
|
||||
|
||||
## Q. 子音抜きって何?
|
||||
|
||||
A.
|
||||
|
||||
```
|
||||
春日未来(かすがみらい) → ksgmri
|
||||
```
|
||||
|
||||
まぁTwitterとかでえっちな話する時に使われるやつですね
|
||||
|
||||
これを覚えるというか元の名前を思い出すのが苦手なので作ってみました。まぁ作ったのはGemini君なんですが
|
||||
|
||||
## Skltn
|
||||
|
||||
Skeletonから子音を抜いた名前です。
|
||||
|
||||
[skltn](https://github.com/usbharu/skltn)
|
||||
|
||||
Rust製で、手元の環境だと27万行の辞書ファイルを大体30msぐらいで検索してくれました。正直速いのかはわかりませんが…
|
||||
|
||||
ニコニコ大百科の内容をIME用の辞書にしたやつを使うのがおすすめです。
|
||||
|
||||
## 最適化
|
||||
|
||||
当然ですがIME用の辞書ファイルはただのテキストで、普通に検索するとなるとフルスキャンする必要があります。フルスキャンでもReleaseビルドだと意外と速かった(190ms~)んですが、流石にもっと早くできるだろうと言うことで色々最適化してもらいました。
|
||||
|
||||
- メモリマップIO
|
||||
- 並列化
|
||||
- 二分探索→インデックスファイル作成
|
||||
- 早めの検索切り上げ
|
||||
|
||||
ほぼAIが考えた最適化の中で、唯一自分が考えた最適化が二分探索です。50音順に辞書が並んでいる前提で、1文字目を高速に検索できます。ちなみに大して速くなりませんでした。かなしい
|
||||
|
||||
ちなみにインデックスファイルを作成しますが、使ってもあんまり速くなりません なんでや…
|
||||
|
||||

|
||||
|
Before Width: | Height: | Size: 282 KiB |
|
Before Width: | Height: | Size: 246 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 206 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 155 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 230 KiB |
|
Before Width: | Height: | Size: 378 KiB |
|
Before Width: | Height: | Size: 276 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 227 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 181 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 119 KiB |