枯れた技術の水平思考

世の中わからないことだらけだ.少し確かなことは検証をしたことだけ

VRRPを用いて単一のIPアドレスを複数のマシンで冗長化する方法

背景 問題 アプローチ 用語 概要 設定 keepalived のインストール 192.168.0.41の設定 192.168.0.42の設定 設定値の解説 フェイルオーバーの確認 192.168.0.41のターミナル 192.168.0.42のターミナル 実際にフェイルオーバーの動作確認をする 192.168.0.41の…

【2023年版】Nested Virtualization対応ホスティングサービス一覧

背景 (1月に独立した会社の)自社サービスで、コンピュートのライブマイグレーションが必要 コンテナではなく、VMを用いて実現する LXDであれば、コンテナでも実現できそう とはいえライブマイグレーションができる環境が限定的 今はまだLXDではなくVMを用…

法人を設立し独立した/あるいは退職エントリー

まえがき 1 月 6 日に法人を設立し、2 月から独立しました。 一部の方には冗談で言っていた「btj.systems《ぶとじシステム》」を合同会社として法人登記し、2 月からこの法人でお仕事をいただき、生活しております。 btj.systems 合同会社 - Software Develo…

RDBとKVSにおけるキー設計の違いについて

背景 KVS のデータの設計を考えているときに,UUID の他にいい感じに分散できる ID がないかという話になった. RDB では ULID がソート可能なため,局所性を高められいいという話をした. その際に KVS(BigTable)では局所性を高めたほうがいいのかと聞かれ…

Orace Cloudのコンピュートインスタンスでデータを維持してリージョンを移行する方法

経緯 Oracle Cloud の Always Free に ARM インスタンスが追加のニュースをみて、ホームリージョンである東京リージョンでインスタンスの確保を試みたのですが、 当時の東京リージョンには空きがなく、大阪リージョンで ARM インスタンスを利用していました…

執筆論文の解説「パーソナライズされたコンテンツ配信のための低遅延分散KVSの構築」

この記事は 自作DBMS Advent Calendar 2020 の22日目の記事です. 自作DBMSという趣旨とは少し異なりますが, DBMS (や DBMS っぽいもの)を自作している人々が自分の実装を自慢し合ったり苦しさを共有したりするアドベントカレンダー Disk-Oriented, In-Memo…

VRC AutoRejoinToolについて紹介

この記事は VRChat Advent Calendar 2020の12日目の記事です。 VRChatとは 普段このブログを読んでくださっている方にはあまり馴染みがないと思うので簡単にVRChatの説明をしておきます。 仮想空間上でアバターを用いてユーザーと交流できるソーシャルVRプラ…

LinuxのIOスケジューラごとのスループットのベンチマーク

以下のTweetを見てIOスケジューラごとにスループットが気になったので検証をした. SSDだしIOスケジューラnoopにするか...?そこまでパフォーマンス上がるのだろうか— コバルト (@27Cobalter) November 13, 2019 自分がベンチマークをとってる間に以下のよう…

大学院への飛び入学を目指します

先日誕生日を迎えてそのタイミングで決意を新たにした…わけではないのですが,タイミングとして良く,周囲へ説明も兼ねて記事にしておこうと思います. そして成果が上がらずともその結果を受け入れるための準備でもあります. 背景 自分はソフトウェアエン…

PimaxのHMDで映像にノイズが発生した際にケーブルを無償で送ってもらう手順

Pimax 5K Plusを使ってVRChatなどを楽しんでいたのだが,ここ数週間HMDの中のスクリーンにおいて,雪が降っているような星が光っているような白飛びが気になり始めた. Pimax 5K Plus white flick 左上あたりを注視するとわかりやすい [pimax white noise] …

AWSのEBSで整合性のあるスナップショットを取得する方法

背景 EC2上でEBSを用いてMongoDBを構築しており、これの日時バックアップにAWS Backupを検討していた。 そこで無停止バックアップ取得時のAWS Backupのファイルシステムの整合性の担保について調べた。 調べたこと AWS Backupを用いても整合性を気にしなくて…

Cookieを使用しないユーザー属性の推定技術の特許公報を読む

経緯 先週の金曜日にログリー株式会社から以下のプレスリリースがでており非常に興味をそそられました. Cookieを使用せずにユーザー属性を推定する技術を確立し、特許を取得https://corp.logly.co.jp/news/20190510/000095 自分は今はアドテクノロジー(広…

UUID v4の衝突実験をした話

みなさんユニークなIDを振りたいときどうしていますか? プライベートでVRに最適化したネットワーク同期エンジンを作っていて,そのエンジンで使うオブジェクトの識別子にUUID v4を検討していました. しかしながらUUID v4は非常に確率が低いものの衝突する…

IPAにとあるwebサイトのセキュリティの問題点を報告したはなし

今年1月に何故か立て続けに2件の脆弱性関連情報をみつけていて,IPAに報告をしていました. 今回の記事はその2件目にあたるお惣菜の宅配サービスにおけるセキュリティの問題を発見した話を書いていこうと思います. ここではあくまで報告に至る経緯の掲載を…

Fluentdのout_forwardに機能を追加した話

この記事は Supership株式会社 Advent Calendar 2018の23日目の記事です。 今年Supershipに転職していて、業務でログ基盤のリプレースとアプリケーションのリプレースを行っておりFluentdに機能追加のPull Requestを送る機会があったので何ができるようにな…

Fluentdでログの中身からタグ付けする

Fluentdでログの中身からさらにタグ付けをしたいというユースケースがありました。 具体的には Docker log driver 経由でFluentdが受け取ったログをstderrとstdoutでタグ付けしなおしたい(re routeしたい)といったものがあり以下のように対応しました。 こ…

HTC Viveのケーブルの絡まりを解決する

このようにすることでコードが絡まりにくくなった。 pic.twitter.com/FC63wcBcbF — ぶーと? (@bootjp) 2018年6月16日 これはELECOMのこれをつかったのだけど,巻きつけるviveのコードは長いので,巻きつけるのに一時間くらいかかった.https://t.co/uc…

Golang using variable before checking for errorsの対応

govet に using variable before checking for errorsと怒られたときの対応方法. なにを指摘されているのか? 例 defer variable.Close() とあったき Close() メソッドがエラーを返す可能性がある場合にエラーチェックしろと言われている. 対応方法 defer …

社会人学生に学割が効くサービス一覧

今月から社会人大学生になったので自分が使う可能性があり学割が効くサービスをまとめておく GitHub プライベートリポジトリ Amazon.co.jp Amazon Students AWS 200 USDのクーポン Jetbrains IntelliJ IDEAだけでなくCLionやDataGripなども使える ただし使用…

High Sierraでシステム拡張がブロックされたとき

システム拡張(カーネル拡張)がブロックされたときの対処法 以下の画像のような状態を想定している。 キャプチャを撮り損ねたので、以下の画像の引用させていただく。 画像引用元: Unable to load kext on High Sierra (10.13) #777 基本的にはAllow(許可)…

AWS S3でオブジェクトキーの命名に気をつける話

本件は2018年7月18日のアップデートで不必要になったようです. パフォーマンス向上の為のキー名の工夫が不要に 旧ドキュメントに記載されていた「The sequence pattern in the key names introduces a performance problem.(キー名を連続するパターンにする…

XmlJavaTypeAdapterをfieldに使うとき

XmlJavaTypeAdapterをfieldに使うときは @XmlJavaTypeAdapter(Example::class) ではなく @field:XmlJavaTypeAdapter(Example::class) とする。 kotlinでsourceCompatibility = 1.8のときに確認

PageSpeed Insights 100点にした

なぜやったか? 自己満足のため 結果 このブログの構成 Nginx + PHP-FPM WordPress やったこと WP Static HTML Output プラグインでHTMLの静的配信 原則GETリクエストはNginxだけで簡潔させる FastCGI Cacheにすら到達させない 不要なJSの読み込みをやめる …

【調査】ERR_BLOCKED_BY_XSS_AUDITOR 原因調査

前提 体感的には先週くらいからTwitterを見ていると特定サイトでの特定挙動において以下のエラーが一部のブラウザにて発生しているようで、それに関する調査及び調査中記事です。 内容はすべて調査中のものであり、仮定や仮説が含まれており実際と異なる場合…

手書きSNSが10秒ほどTVに取り上げられたときのメモ

先日、NEWS ZEROにて個人的に作っている手書きSNSが取り上げられました。 サービスがTVで放映された時間はおおよそ10秒ほどです。 公式サイトで動画が配信されています。 その時のデータをざっくり適当にまとめておこうと思います。 アクセス的な話 放映直後…

dockerでEXPOSEしているポートがglobal側からも見えてしまう問題と対策

docker 便利ですよね、とにかくイメージつくって runさせればどこでも同じものが動かせるので。 Docker Meetup Tokyo #6 に応募してみたりもしました。 それはさておき、globalにはEXPOSEしたくないけどホストマシンのなかでEXPOSEしたいコンテナってありま…

手書きSNSのその後の構成とTwitterにドメインがブロックされた話

先月末に手書きSNSをリリースしたのですが、そのなかでいろいろとあったのでまとめておこうと思います。 トラフィックが増えすぎて安いPaaSでは耐えられなくなる もう、図にある通りなんですが、PaaSのDBの max user connectionをオーバーしたり、 プロダク…

docker-machine上のコンテナにローカルホスト以外から接続する

最近サービスを作っていて、docker化したが故にdockerが入っていない人に確認してもらうのにハードルが上がったようなそうでないような事を感じる昨今です。 というのもOSXの環境下だとdocker machineという仮想マシンがいるので、通信関係がややこしいんで…

手書きメッセージオンリーSNSを作ってみた。

年始から手書きメッセージオンリーなSNSを作り始めて、そろそろ一ヶ月ということで 本日βリリースとしてこちらのサービスをリリースしてみようと思います。 Smoocy(スムーシー) 手書きコミュニケーションSNS 現状モバイルデバイスしか対応していないので、お…

iOS9のiPhone6Plusでfixedなelementでクリックイベントが取れないことがある

この問題はiOS10にて解決いたしました。 前回のiOS9でのfixedなelementの扱いがおかしい(bug?)に引き続き、またもやfixedなelementに悩まされる金曜日でした。 iOS9では、この他にiOS 9 の Safari でタブバーが表示されていると fixed な要素の計算上の位置…