ホーム » 技術

技術」カテゴリーアーカイブ

古代の残骸とチャンク境界

マインクラフトでワールドの開拓が進むと、ネザライト装備を揃えるという課題に取り組むことになる。ネザライトはネザーのy=15を中心に上下7ブロック付近に生成される古代の残骸(あるいはがれき)を集めて精錬することで手に入るのだが、溶岩だらけのネザーで地下を掘るのは結構面倒だ。というのも古代の残骸の生成率は1チャンクあたり平均1.7個と非常に少なく、オーバーワールドで鉱石を採掘するときに使うブランチマイニングのような手法では見つけきれないからだ。そこでTNTを使って発破するような方法が使われるのだが、それにしても何かしら効率的に掘り当てる方法が知りたい。

マインクラフトの噂話のひとつに「古代の残骸集めはチャンク境界に沿って掘ると効率的」というのがある。なんとなくもっともらしく聞こえるし、実際にチャンク境界で掘るとたくさん取れると主張する人もいる。しかし、プログラマ的立場で考えるとチャンク境界で生成率を上げるようなコードは面倒臭くて書いていられないような気がする。だが気がするだけで済ましてしまうのもアレなので、ちょっと検証してみようと思う。

[続きを読む]

SeleniumでWebページをスクレイピングする

自分はバッチ大好きなので、何かを毎日チェックしたいときには、なるべくコードで自動化することを考える。たとえば最近MinecraftサーバをPaperMCで立てたのだが、PaperMCは(上流を含めて)開発が活発で頻繁にアップデートされる。これを定期的にチェックして常に最新版にしておきたいのだが、アップデート情報はWebページに記載されているのみの状況だ。具体的には

のページを見に行って、リストの一番上にあるものがアップデートされたものかどうか確認しなければならない。いちいちこれを目でチェックして手動でダウンロードするのは面倒なので避けたいわけだ。こういうときはWebページをバッチで読んで該当部分をparseしてやればよいわけだが、問題は該当ページがJavascriptによる動的生成である場合だ。このようなページはLWP::UserAgentのようなライブラリでは読めない。そこで動的にページ生成して、その結果を読むような仕組みが必要だ。

Seleniumはブラウザ自動化とそれを支えるツール・ライブラリ群のプロジェクトだ。

これと、APIをサポートしたブラウザを組み合わせれば、簡単にページをparseできるようになる。本稿ではAlmaLinux上のPerlでparseできるように環境を構築する手順を示す。

[続きを読む]

さくらのクラウド10年間を振り返る

自分には、日常のどうでもいいスナップ写真を撮るという趣味というか癖みたいなものがある。毎日写真を撮っているわけではないのだが、きっと5年後、10年後に見返したら面白いだろうなと思えるときに目立たずサッと写真を撮るようにしている。

写真が気軽なものになったのはデジタルカメラが登場してからだと思う。自分はQV-10は持っていなかったが、CAMEDIAのごく初期の機種を持っていて、それで記録を残していた。そういうわけで20年前のさくらインターネット株式会社のオフィスや社員の様子を写した写真は、ほとんどすべて自分が撮ったものだ。これらは広報や総務に供出していて、イベントで利用されたりすることもある。その後、デジカメは広く普及し、ケイタイでも高画質化が進み、今では誰でも気軽にスナップが撮れるようになった。とはいえ日常を撮る趣味の人はそんなにいない。ということで今でも、社内のイベントの写真は自分で記録するようにしている。

さて、2011年11月15日は石狩データセンターの開所日かつさくらのクラウドサービスの開始日だった。自分は11月初旬からサーバのセットアップのために石狩に詰めていて、11月15日は東京に戻ってサービスローンチを指揮していた。そのデータセンターでの作業の様子は、もちろん写真に撮って残してある。10年後に見たら面白いだろうと思っていたのだ。

[続きを読む]

AlmaLinuxを試してみる

2020年12月のCentOSを取り巻く環境が大きく変化するというニュースは非常に大きいものだったが、これまで本ブログでは取り上げてこなかった。個人ユースではStreamに移行してもなんとかなるかなという程度の問題だからだ。それにサポート終了までの猶予もまだある(あんまりないが)。それまでに状況を見極めてもいいんじゃないかと思っていた。案の定、現在に至るまでにいろいろなことが起こっていて選択肢は広がっている印象だ。

さて表題のAlmaLinuxなのだが、これはRHELのコミュニティ版ディストリビューションで、CentOSのポジションを引き継ぐ目的で開発されたものだ。

個々に書かれている特徴をかいつまんでみると

  • CentOSと同じRHEL互換OSで、1対1に対応している
  • ほとんど手間をかけずにCentOSから移行できる
  • 無償サポートで、2029年まではコミットする

ということで、CentOS8が反故にした約束をそのまま引き継ぎますよ、ということだ。

AlmaLinuxはなんといっても、ごく短期間のうちにリリースまで持ってきた開発力が注目されている。正式リリースは2021年3月30日、CentOSの発表からほとんど4か月間でリリースしている。これってちゃんと動くのかな? と疑問に思わないでもない……ということで、本稿ではそれを確かめてみたい。

[続きを読む]

lm_sensorsでサーバの温度を監視する

そういやオヒスのルータマシンの温度監視をやってなかったなと気づき、自宅のルータマシンの温度監視を流用すればいいやと思って調べてみたら、この前Zabbixのバージョンアップをやったときに動かなくなっていたことを発見してしまい、やり直すことにした。

概要

例によって本稿で示す監視の概略を示す。

  • lm_sensorsでサーバの温度センサから情報を取得する
  • zabbix-agentでデータを取る。ついでにdiscoveryルールも作る
  • zabbix-serverで受信する。グラフ化などは適当に

ターゲットは、最近お騒がせのCentOS8だ。

[続きを読む]