Lorentzca

Lorentzca

Japan
Cloud provisioning with Bolt
bolt

Cloud provisioning with Bolt

このブログを動かしているサーバーは Terraform で構築しています。 * Nomad クラスターを作成する とりあえずでプロビジョニングも Terraform で行なっていたのですが、いいかげん辛くなってきたので Bolt を使ったプロビジョニングに移行しました。 * Welcome to Bolt ツールとしては Ansible を今まで個人サーバーを構築する際に使っていたのですが、Bolt を今まで使ったことがなかったので選んでみました。 Bolt の概念 Bolt は Puppet Lab の開発した割と新しめのオーケストレーションツールです。Puppet との違いは対象のサーバーにエージェントソフトウェアを入れなくても使える点です。 Puppet の知識がなくても使う事ができ、やろうと思えば Puppet の機能を使用することも出来ます。 Bolt は任意のスクリプトやコマンドを複数のサーバーに実行する事ができます。 任意のスクリプトに説明などのメタデータを加えるなど再利用生を持たせたものをタスクと呼びます。 複数のタスクを 1 つ
1 min read
Mounting Docker volumes into Nomad tasks allocation directory
nomad

Mounting Docker volumes into Nomad tasks allocation directory

Nomad はグループ (タスクの集まり) 内で共有可能なディレクトリを提供しておりタスクからは環境変数 NOMAD_ALLOC_DIR または /alloc ディレクトリを直接参照することで使用可能です。 * Environment - Runtime | Nomad by HashiCorp また Nomad のタスクは Docker が使用できます。 * Drivers: Docker | Nomad by HashiCorp そこで、Docker コンテナの生成物をタスク間で共有できないか試したのですがすんなりできなかったのでメモ。 構成 以下のようなバッチジョブの構成で試します。 * Docker ドライバーを使用したタスクで成果物を作成。 * 後続の Exec ドライバーを使用したタスクで成果物を使用 なおこのようなタスク間に依存関係を持たせたい場合、現在 Nomad の機能としては存在しないので以下のように何かしらの工夫をする必要があります。 * Nomad ジョブのタスク間の依存関係をどのように実現するか考える 課題
2 min read
Provide dependencies to between Nomad tasks
nomad

Provide dependencies to between Nomad tasks

最近 Nomad をチマチマ触っています。 * nomad - ゆるふわキャンパー Nomad のジョブとしてバッチジョブを実行できるのですが、ジョブ内に複数タスクがある場合、タスクは並列で実行されます。 このためタスク間に依存関係がある場合、下流のタスクが失敗してしまうことに気付きました…。また、現在 Nomad にタスク間の依存関係を表現する機能はありません。 既存の議論 タスク間の依存関係を表現できるようにしたいという機能要望は数年前からあり、以下の Issue で議論されています。 * Provide for dependencies between tasks in a group · Issue #419 · hashicorp/nomad · GitHub 今後の予定としては依存関係の機能を追加予定とのことですがまだ目立った動きはなさそう。 Issue でワークアラウンドとして以下が紹介されていますが、よくわからない…。AST is 何?抽象構文木?Consul でタスクのヘルスチェックを行い依存関係を表現しているようですがちょっとよくわ
3 min read
Try TimeTree API
timetree

Try TimeTree API

TimeTree というカレンダーアプリを使用しています。 * TimeTree People TimeTree には API がありますが、最初はイベントを取得する API がありませんでした。が、最近追加されました! TimeTree ついに予定取得 API が!https://t.co/VRmhNfJRVC — †深淵の覚醒者† (@lorentzca) January 28, 2020 そして Alexa スキルも公開されていました! * Amazon.co.jp: TimeTree / タイムツリー: Alexaスキル 私はイベント取得 API を今から帰るボタンに使いたいと思っているので、 * 今から帰るボタン v2 それに先立って軽く触ってみます。 イベントの取得 イベントを取得するための認証方法として、現在アクセストークンと OAuth 認証の二つが用意されています。 * APIのはじめかた 今回はアクセストークンを使用してみます。アクセストークンはすぐ発行されるので環境変数にでも入れておきます。 当日以降
3 min read
Add the Eucalyn keyboard layout
iris

Add the Eucalyn keyboard layout

最近 Iris というキーボードを組み立て使い始めました。 * iris - ゆるふわキャンパー 元々 Planck というキーボードを使用しており、素晴らしいキーボードでとても気に入っていたのですがエンド・ゲームを目指すために左右分離型のキーボードに手を出してしまったのでした。 ※エンド・ゲームが一体何を指すのかは諸説あり、お金がなくなったときを指すという意見や、はたまた検索をやめた時であるという意見もあります。 私がキーボードを組み立て始めた理由の一つに、より手が疲れないキーボードが欲しいというものがありますが、左右分離型のカラムスタッガード配列である Iris を組み立てたことによりこの点はとても満足のいくものとなりました (現時点では…)。 キーボードの物理的な形状以外に手の負担を少なくする方法としては、指の移動をホームポジションからなるべく崩さないようにする、という方法もあります。より効率よく文字を入力するために様々なキーのレイアウトが考案されており、一般に普及しているレイアウトの QWERTY 以外に Dvorak や Colemak など様々なレイア
3 min read
Build and release keymap on GitHub Actions
iris

Build and release keymap on GitHub Actions

最近 Iris という自作キーボードを組み立てて使い始めました。 * Iris キーボードを組み立てた! 自作キーボードの利点の一つとしてキーマップを自由に変更可能という点があります。キーマップの変更はファームウェアを書き換えることで行います。ファームウェアは現在恐らく自作キーボード界のデファクトスタンダードである qmk_firmware を使うことが多いと思われ、Iris も qmk_firmware に対応しているものの一つです。 * QMK Firmware qmk_firmware は有志の手によって GUI ツールが用意されておりますが私は現在 GitHub 上でコードベースで管理しております。理由としては変更の履歴を残しておきたいからです。他にもありますが要するに GitHub だと管理が楽! Iris を組む前は元々 Planck という自作キーボードを使っておりそちらも GitHub 上でファームウェアを管理していました。また、CircleCI と連携させてタグをつけてプッシュした場合にビルドとリリースを自動で行うようにしていました。 これ
4 min read
I'm going home button v2
aws

I'm going home button v2

私は毎日帰宅する際に「今から帰るボタン」を押して LINE メッセージを送っています。 * 帰りますボタンを作った 最近このボタンに機能を追加しより便利にしてみました。 追加した機能 Google カレンダーと連携し、ボタンを押したタイミングからその日の 23 時 59 分までの間に始まるイベントがある場合 (飲み会とか)、イベントの内容を送るようにしてみました。 以下のような感じです。 日を跨ぐ可能性も考慮して終わりの時間には日付も入れるようにしています。 Google カレンダーからイベントを取得する方法 これ調べるのが結構大変だった…。混乱ポイントだったのが、まず適当にググってみたところ旧 Google カレンダー API の情報とごっちゃになっておりそこが混乱の元でした。Google 公式ドキュメントでも旧 API の情報が残っていて?ややこしい感じでした。 現在信頼できる公式ソースは以下。 * Calendar API  |  Google Developers 旧カレンダー API では API キーでアクセスできたみた
3 min read
Iris keyboard Build
mech-keyboard

Iris keyboard Build

現在 Planck という自作キーボードを使っています。 * planck - ゆるふわキャンパー Planck はとても気に入っており特に以下の点を気にいっています。☺ * 格子型の配列が意外に使い心地が良い。見た目も好き。 * コンパクトで手が疲れにくい。 が、欲を言えば * 分離型だとさらに疲れにくそう。 * もう少しエルゴノミクス寄りでもいいかも。 という気持ちもあり、設計から自作をするのもちょっと自信がまだ無かったので Planck と同じくキット型の自作キーボードを漁ってみました。MiniDox 等と迷った挙句、Iris というキーボードが良さげだったので PCB 等を買いました。 * Iris Keyboard の PCB を購入しました 上記記事から気付いたら 2 億年ほどの時が経ち、細々と足りない部品を調達しようやく今回組み立てるに至りました! 上記記事からさらに組み立てる際に買い足したものや、組み立てる際に困ったこと、感想を記録していこうと思います (なお、この記事は早速 Iris で書いております 😊)。
5 min read
Using Trello to manage private projects
trello

Using Trello to manage private projects

最近、Trello でやりたいことを管理しています。 これが割といい感じなのでメモしておきます。 やりたいこととは 主に以下の「やりたいこと」を対象として管理しています。 * 書きたいブログのテーマ * 作りたいツール * 試してみたいサービスや機能 * 個人サーバーの運用ネタ 上記の通り個人プロジェクト (と言うには小規模ですが) 的な思いつきや小ネタが対象となっています。 今まで 今まではずっと Any.do に思いついたことを書き込んでいましたが、以下の課題がありました。 * 今日やること、明日やること、のように管理されるがもっとフワッとした単位で管理したかった。 * 思いつきでどんどん書き込んでいるので 100 個以上のタスクが溜まっていた。 * いざ作業開始したとして平日の業務後や土日にちまちま進める感じなので、そういったスケジュール感にマッチしない。 というわけで Any.do は何も悪くなくお前の使い方がおかしかったんだ!という話です。 (最初は普通に使っていたんですがいつのまにかやりたいことを雑に書き込むようになって
2 min read
Convert ePUB file to Mobi file with the KindleGen command
kindle

Convert ePUB file to Mobi file with the KindleGen command

最近 Kindle Paperwhite を買いました。 本はアナログ派だったのですが引っ越ししてから通勤時間が短くなるなど生活の変化があり、出したり引っ込めたりがしやすい Kindle を買ってみました。が、思った以上になんだかリズムと合ってしまい最近購入する本はほぼ電子版を買うようになりました…。目も疲れにくいし電子ペーパーすごいな。あと前職のパイセンとキャンプに行った時にパイセンが Kindle を持ってきていてなるほどな〜というのもあり… (キャンプは意外と暇になるし自然の中で本を読むのは気持ちが良い)。 * 電子ペーパー - Wikipedia さて、最近 O'Reilly Japan Ebook Store で書籍を購入したのですが、ダウンロードできる形式が ePub か PDF のみでした (これは書籍によるみたいです)。ePub は Kindle に対応していません。PDF は Kindle に対応していますが、Kindle の (電子ペーパーの?) 仕様上 PDF だとページをめくるたびに画面がリフレッシュされてしまい個人的にはちょっと気になる感じでした
1 min read
System job is suitable for running mackerel-agent with Nomad
nomad

System job is suitable for running mackerel-agent with Nomad

現在 Nomad クラスターを展開しこのブログを運用しています。 * nomad - ゆるふわキャンパー Nomad クラスターは現在 3 台のサーバーから構成されており、それぞれのサーバーは Mackerel でモニタリングしています。Mackerel へサーバーのメトリクスを送るためには mackerel-agent が必要ですが、mackerel-agent は Docker イメージが用意されているので、これを Nomad のジョブとして動かし Nomad クラスターの各サーバーを監視しています。 * mackerel/mackerel-agent ジョブのタイプは Service タイプを使っており、各サーバに対し 1 つの mackerel-agent が動いている状態であって欲しいので以下の工夫をしていました。 * Nomad クラスターのサーバーは 3 台なので group 節で count を 3 に設定する。 * 1 つのサーバー上に複数の mackerel-agent が実行されてしまっては意味がないので、
2 min read
Run Let's Encrypt client with Nomad job
nomad

Run Let's Encrypt client with Nomad job

SSL 証明書の取得の自動化を可能とするプロトコルとして ACME (Automated Certificate Management Environment) がありこれの実装として Let’s Encrypt というサービスがあります。 Let’s Encrypt のクライアントとしては certbot や lego があります。どちらも以下のように Docker イメージが公開されており、つまり Nomad のジョブとして簡単に動かすことが可能です。 * Docker Hub - certbot * Docker Hub - lego certbot と lego の大きな違いは lego は Go で書かれておりバイナリ一つという手軽さがあるという点です。Docker を使うなら関係ないですが…。 今回 Nomad のバッチジョブとして lego を動かしてみたのでメモします。 モチベーション
6 min read
Improved blog search page
algolia

Improved blog search page

このブログの内容は Algolia にインデックスし Algolia API を使って検索できるようにしています。 自分の記事を見返すタイミングがしばしばあるので、その時はこれを使い Alfred ワークフローからインクリメンタルサーチして目的の記事を開いたり、あと地味にブログ内の静的ページとして検索ページを用意したりしています。 * algolia - ゆるふわキャンパー 今回はそのブログ内の検索ページを改善してみました! Before: After: 検索ページを設定してから長いこと (3 年くらい) 素朴な見た目のままだったのですが、しばらくみない間に Algolia のドキュメントが充実してきてフロントエンドさっぱりわからないマンでもなんとかチュートリアルを元にそれっぽいものができるような状態になっていたので (ありがたい 🙏) 今回検索ページの改修に踏み切ってみたのでした。 主に以下の点で改善されています。 😊 * 検索結果が大きく、見やすく表示されるようになった。 * 記事の概要を出すようにした。 * 記事のサムネイル画像を出すようにした。
2 min read
Create a new Dropbox Paper document from Alfred workflow
alfred

Create a new Dropbox Paper document from Alfred workflow

Alfred ワークフローから Dropbox Paper ドキュメントを作成できるようにしてみました。 この記事は以下のシリーズの続きになります (台風で…!暇…!)。 * Dropbox Paper のドキュメントを一覧して開くことのできる Alfred Workflow を作成した * Dropbox Paper ワークフローにドキュメントのコピー機能を追加しました 今までは Alfred から dbp new すると Dropbox Paper のトップページに飛ぶ挙動でしたが、タイトルを入力するとそのタイトルのドキュメントの編集画面に飛ぶ方ようにしたかったので改善してみました。 これからは dbp new <タイトル> を実行すると直ぐに編集画面に飛べます。 方法 これも基本は curl コマンドで Dropbox API を叩いて実現しています。が、新規ドキュメントを作成する /docs/create API は以下のようにファイルとしてデータを渡してあげる必要があり (新規作成というよりインポートですね)、一度ファイルを /tmp に作成してからそれを
2 min read
Add copy action to Alfred Dropbox Paper Workflow
alfred

Add copy action to Alfred Dropbox Paper Workflow

先週 Dropbox Paper のドキュメントを一覧し開く Alfred ワークフローを作成しました。 * Dropbox Paper のドキュメントを一覧して開くことのできる Alfred Workflow を作成した これで直ぐにドキュメントにアクセスできるようになって便利になったのですが、一方課題も…。 課題 Dropbox Paper は主にブログの下書き用に使っているのですが、Dropbox Paper のドキュメントをコピーして Ghost のエディターに貼り付けると表示が崩れるというかなり致命的な問題がありました。これでは不便すぎる…。 Dropbox Paper はマークダウンで書けますが、どうやらコピーされたテキストはマークダウン形式にならないみたいです。そりゃそうか。 解決方法 Dropbox API ではマークダウン形式でドキュメントの内容を取得可能な API が用意されているので、これを使ってワークフローでリストされたドキュメントを選択するとその内容をマークダウン形式でクリップボードに保存する機能を追加しました。 * docs/down
1 min read
Split DigitalOcean project
digitalocean

Split DigitalOcean project

最近このブログを Nomad クラスター環境へ移行しました。 * Nomad クラスターを作成する * Nomad クラスター上で Ghost ブログを動作させる クラスターは DigitalOcean 上に構築しており、構築は Terraform で自動化しています。ウェブサーバーやブログなどのアプリケーションの配備や管理は Nomad に任せています。 DigitalOcean ではプロジェクトという単位でリソースをまとめることが出来ます。 * Projects :: DigitalOcean Product Documentation とりあえず Nomad クラスター関連のリソースをまとめる意図で Nomad Cluster というプロジェクトを作成し Droplet や Load Balancer などのリソースを放り込んでいました。 が、最近 G Suite の試用を始め、G Suite 用の DNS レコードの設定を DigitalOcean DNS に設定する必要が出てきました。それ以外にも Redash
1 min read
Dropbox Paper Alfred Workflow
alfred

Dropbox Paper Alfred Workflow

私は今までローカルの Dropbox フォルダ以下にブログ記事の下書きを保管していました。 MacDown というマークダウンエディタで下書きを作成、Alfred で下書きフォルダを開く、といった方法で運用していました。その辺については以下に細かく書いています。 * 去年より個人ブログのポスト数を2倍くらい増やせたのでなぜなのか書く この方法ですがそもそも Dropbox Paper を使えばローカルにファイル保存しなくていいし、マークダウン対応してるし、PC でもスマホでも関係なく使えるのでええやんと思い始め、Dropbox Paper を使ったフローに移行することにしました。 そこで引き続き Alfred でシュッと下書きを参照したり新規記事を作成出来れば嬉しいので今回そのような Alfred Workflow を作ってみました。 * GitHub - lorentzca/alfred-dropboxpaper-workflow: Alfred Dropbox Paper Workflow こんな感じです。 仕組み Dropbox API v2
3 min read
I changed my 1Password account to family type
1password

I changed my 1Password account to family type

私はパスワードの管理に 1Password を使用しています。 1Password は個人向けやエンタープライズ向け等いくつかの種類があり、今までは個人向けのプランを使用していました。そして最近個人向けプランからファミリープランに変更しました。 👪 * 家族を安全に守るためのパスワードマネージャー | 1Password 感想などメモしていく。 ちなみに以前 1Password を買い切り版からサブスクリプション版に変更した際の記事は以下です (2 年以上経つのか…)。 * 1Passwordを買い切り版からライセンス版に移行しました ファミリープランに変更した理由 といっても 2 つしかないですが…。 マネーフォワード ME のアカウントを共有したかったから これが一番の動機です。 💰 現在妻と二人で暮らしているのですが、生活費や諸々のお金の動きを見える化したくなりました。私は元々マネーフォワード ME を使用しておりかつプレミアム会員なので、いい感じに可視化ができているのですが、個人ではなく世帯としての支出もいい感じに見えるように
3 min read
Run mackerel-agent as a Nomad job
nomad

Run mackerel-agent as a Nomad job

最近ブログを動かしている環境を単一のサーバーから Nomad クラスターへと変更しました。 * Nomad クラスター上で Ghost ブログを動作させる 以前からサーバーの監視を Mackerel を用いて行なっており、今回もクラスターを構成するノード上で mackerel-agent を起動し、監視を行います。 ただし、 Nomad のジョブとして動かしてみます。 Nomad のジョブとして mackerel-agent を動かす 今までは単一の VPS を使っていたので mackerel-agent は普通にサーバーにインストールしていました。 * CentOS / RedHat にインストールする - Mackerel ヘルプ 今回 Nomad を使うにあたりどのように mackerel-agent をインストールするか考えていて、普通にサーバーにインストールしても良いのですが、サーバーには Nomad とその関連パッケージ以外は入れないのが筋が良いと思うので、Nomad ジョブとして mackerel-agent を動かすことにしました。 macker
2 min read
Running Ghost blog on Nomad Cluster
nomad

Running Ghost blog on Nomad Cluster

このブログは数年間単一のサーバーで稼働していました。 学習も兼ねてわざわざ自前でサーバーを運用していたのですが、最近新しい構成に移したくなり、Kubernetes の流行もあってクラスターやマイクロサービスといった時代の流れに乗るべく、Nomad クラスターへの移行を行いました。 Nomad クラスターの作成までは下記記事にまとめています (インフラやクラスターの設定等はここからさらに変更しています)。 * Nomad クラスターを作成する 今回はこの Nomad クラスター上で Ghost を動かすところまでをまとめます。 構成 以下の通り、DigitalOcean のマネージドロードバランサー配下に Droplet を 3台配置し、クラスターを構成しています。 クラスターを構成するノードではそれぞれ Nomad と Consul が稼働しており、Consul でサービスディスカバリーを、Nomad でワークロードオーケストレーションを行なっています。 稼働しているジョブ Nomad はジョブという単位でワークロードを定義します。ジョブの中にさらに複数のグルー
7 min read
OTOKOMAE CAMP #7
camp

OTOKOMAE CAMP #7

今年も男前キャンプに参加してきました!!⛺ 男前キャンプは水道橋にあるアウトドアをコンセプトにしたカフェバー、 BASE CAMP のオーナーである A-suke さんが主催しているイベントです。 * 男前キャンプ * カフェ&バー BASE CAMP の紹介 私は今回で3回目の参加となります。 * 男前キャンプ#5に参加してきました! * 男前キャンプ#6に参加してきました! 会場は月尾根自然の森キャンプ場でした。その名の通り、尾根にあるキャンプ場で森の中にある素敵な場所でした。キャンプ場の概要は以下。 * 朝から入れる * 釣り堀がある * 直火は禁止 * ゴミは持ち帰り * 水道有り * シャワー有り * トイレ有り (汲み取り式) * 中央線梁川駅から徒歩で15分ほど (坂を登っていく) * 駅前に個人商店有り (9時開店) 今回の男前目標は、 * バックパック1つ、電車で参加 * 木と木の間にロープを張り、張ったロープを使ってタープを設営する方法を試してみる * 薪は全て落ちている枝を使う (バックパックでそもそも薪持ってい
6 min read
Create Nomad Cluster on DigitalOcean
nomad

Create Nomad Cluster on DigitalOcean

Nomad 上にこのブログ (Ghost) を移そうと考えています。 * Nomad by HashiCorp そこで、まずは Nomad クラスターを DigitalOcean 上に作成してみました。 この記事の一番最後にクラスター作成に使用している Terraform のファイルを貼っておきます。 Nomad とは Nomad とは Docker コンテナや Qemu 仮想マシン、 Java アプリケーション等のデプロイ、それらによる処理の実行の管理を自動的に行うツールです。 つまり、ワークロードオーケストレーターです。 * Introduction - Nomad by HashiCorp ラーメン二郎で言えばロット・マエストロやロット・マイスターが該当するかもしれません。 ※ロット・マエストロ/マイスターはラーメンが一定のペースで効率よく置かれるように、ラーメンのデプロイ (カウンターへの配置) を管理し、リソースの調整 (少食っぽい人に大を食わせない、食べるのが遅い人を急かす・手伝う) や他のマエストロ/マイスターとの協業 (広い店舗
9 min read
Manage state files on Terraform Cloud
terraform

Manage state files on Terraform Cloud

先日発表された Terraform Cloud の Remote State Management 機能、絶対いいやつなので試してみます。 * Introducing Terraform Cloud Remote State Management Terraform Cloud とは Terraform Cloud とは terraform のために作られた SaaS です。 以下のような機能が (今後公開予定の機能も含め) あります。 * state ファイル管理ストレージ * terraform を複数人で運用するためのコラボレーション機能 * terraform モジュールの共有基盤 展開としては小規模チーム向けの無料プラン、ビジネスプラン、エンタープライズプランと規模に応じた有償枠もできるそうです。 上記将来の機能や展開についての詳細は以下の記事にまとまっていました。 * Terraform Collaboration for Everyone 今回公開された機能は state ファイルのためのストレージ機能です。 これは t
3 min read
I am Mackerel ambassador
mackerel

I am Mackerel ambassador

先日 Mackerel アンバサダープログラムへ招待いただき、アンバサダーの任を仰せつかりました。 🙏🙏🙏 * Mackerel アンバサダープログラム はじめます! - Mackerel ブログ #mackerelio Mackerel は愛着のある監視サービスであり、プライベートでも有料プランを契約し使用しておりました。 * mackerel - ゆるふわキャンパー Mackerel との出会い 前職で、まだ Nagios や Cacti をメインに使用していた時代に社内勉強会で取り上げられていたのをきっかけに知りました (確か)。 それから Mackerel の採用が決まり、 Mackerel への移行やプラグインの作成等を業務で行なっていました。 勉強も兼ねて運用している当ブログをホストしているサーバも個人で取得した Mackerel アカウントで監視を行っていて、新機能を試したりプラグインを作ってみるなどして遊んでいました。有料プランでしか使えない機能が使いたくて有料プランに変更し、サーバ代より高い請求から目をそらしつつ、 Macker
1 min read
Monitor lock status with Mackerel
mackerel

Monitor lock status with Mackerel

Sesame というスマート鍵を購入し、より快適な生活が手に入りました。 * セサミスマートロックを買った また、 Sesame の API を試してみました。 * Sesame API を試す 次の段階として、鍵の状態を Mackerel で監視してみます。 ※念のため補足すると、公式アプリでも鍵の施錠/開錠を検知したら push 通知することができるので、必要最低限の監視はできていると言えます。 なぜ監視するのか ちょっと話が横道に逸れますが、スマート鍵の導入に興味がありつつためらう理由の一つに、セキュリティが挙げられるんじゃないかな、と思っています。特に「不具合や誤作動で知らないうちに解錠される可能性があるんじゃないか」「クラッキングされて解錠されてしまうことはないのか」という点が不安に思われるんじゃないかな、と思います。 個人的には不具合で解錠されてしまう可能性より、うっかり鍵を閉め忘れて外出してしまう可能性の方がずっと高いと思います (実際私は年に数回ほど、鍵を閉め忘れていました…)。 また、 Sesame のシステムをクラッキングす
6 min read