CYBERGARAGE ARCHIVE
Notes. Engineering observations and everyday discoveries. Articles in Japanese.
16 published articles · All archives →
Algorithm Database Keyboard Machine Learning Memo Programming Virtual Reality 2026-08-14 NOTES · JAPANESE
AsciiDocとAIエージェントで、6週間に28冊を出版した話 2026年7月から8月にかけて、Kindleダイレクト・パブリッシング(KDP)[1] で28冊の技術書・実用書を出版しました。この数ヶ月OSSの開発やブログの更新が止まっていたのは、ずっとこれを書いていたためです。近況報告を兼ねて、「何を、どうやって作ったのか」を書き残しておきます。 出版の全体像 出版した内容は「技術系」と「QOL(Quality of Life)系」の2領域です。読者層がほとんど重ならないため、著作は2つのレーベル(名義)に分けていま
2024-10-25 NOTES · JAPANESE
Rust導入ガイド – 効率的な学習方法から導入まで 以前[4]、同一アプリケーションをGo、Rust、C言語で実装し、各言語による実装効率と速度を評価しました。今回は、その経験をもとにRustの効率的な学習方法と導入についての見解をまとめてみます。 Rustの学習方法 Rustは生産性を実感するまでに学習期間が必要な言語とされています[5]。初期学習段階での離脱者が50%以上にのぼり、その多くが1ヶ月以内に挫折しているという統計[6]もあるため、まずは、効果的な初期学習が特に重要です。 STEP1: 学習準
2024-01-28 NOTES · JAPANESE
CES参加者のためのガイド – 展示会参加からラスベガス滞在まで 久しぶりに、ラスベガスで開催されたCES 2024に参加してきました。CESは、世界中から最新のテクノロジーとイノベーションを紹介するイベントであり、毎年多くの業界関係者やテクノロジーファンが集まります。ここでは、CESへの参加方法や、ラスベガス滞在で気がついた点をまとめています。 事前準備 – 開催日前日まで 今年のCES展示会の出展者は、公式アナウンスによると4000社以上と、かなりの規模です。意気込んではみても、効率面、体力面を考慮すると、全てのブー
2023-09-23 NOTES · JAPANESE
PostgreSQLプロトコル実装に必要な柔軟性 最近、PostgresSQL互換サーバーを実装する目的で、Go言語向けのPostgreSQL互換サーバー構築用フレームワークである「go-postgresql」と、それを活用したマルチプロトコル/マルチモデルをコンセプトとする「PuzzleDB」を開発する過程で、PostgreSQLのプロトコル実装を調査しました。 以前、RDBMSの代表的なPostgreSQL・MySQLの通信プロトコルの概要を調査[3]をしましたが、今回は、実装におけるポイントや、異な
2023-03-01 NOTES · JAPANESE
最適なサイレント(静音)タクタイルキースイッチとは? – 打鍵感との両立を求めて オフィスだけでなく、リモートワークのオンラインミーティングで利用するキーボードは、打鍵感だけではなく、静音性も重要なポイントです。最近では、気分転換をかねて出社やコワーキングスペースの利用の機会も増えてきており、静音キーボードの見直しのため、打鍵感の良いタクタイルを中心に、静音スイッチを色々試してみました。 静音キーボードの難しいところは、静音性と打鍵感がトレードオフになるところです。リモートワーク時代に求められるキーボードには、静音性を確保しつつ、打鍵感
2023-01-14 NOTES · JAPANESE
Rustアプリケーションの実装効率と性能評価 – C・Go言語実装との比較 Rustは、安全性と高速性の両立を目的にデザインされた言語[1]であり、近年では業務に採用されるプロフェッショナル言語としての、更なる飛躍が期待されています[3][8]。 ただし、2021年のアンケート結果[3]でも、仕事での利用率は前年の42%から59%に大きく向上している反面、業界での採用実績面の少なさが、Rustの将来性の最大の懸念(38%)に挙げられており、現時点では実績不足な面は否めません。 今回は、Rustの実用性を判断するために、データベース
2022-07-31 NOTES · JAPANESE
Redis プロトコル実装調査 – RESPの課題と現状について Redisは、インメモリのキーバリューストアとして2009年に登場し、現在でも活発に機能拡張が継続されているプロダクトです。特に、2020年に登場したRedis 6系では、Rediの通信プロトコルであるRESP (REdis Serialization Protocol)[1]がRESP 3[2]として刷新され、大幅な機能拡張が実現されました。 本家のRedis自信も進化を続けていますが、最近ではRedisと互換性のあるRESPプロトコルに対応した大規模な
2022-02-11 NOTES · JAPANESE
Keychron Q1の導入とカスタマイズ 廃盤になったHHKB Lite2から、Keychron[1]やDrop[2]の65%キーボードに移行できたので、その延長線上でKeychronのQ1を選んでみました。Keychron K2に移行して感じていた課題[1]は、Windows環境ではDrop ALTの導入で解決[2]できたのですが、今回はMac環境の課題を解決するためのQ1の導入です。 Mac環境についてはWindow環境ほどカスタマイズは必要なく、ほぼKeychronK2/K3への移行に満足し
2022-01-05 NOTES · JAPANESE
Drop ALT (HHKB Lite2の後継探し) – 3ヶ月ほど使ってみて HHKB Lite2は、残念ながら2019年で廃盤となりました。Power MacからIntel Macへの移行を契機に、職場と自宅でかれこれ15年以上愛用してきたHHKB Lite2でしたが、ふと「HHKBに拘る必要はないのかも」と思い始め、移行先のキーボードとして標準的な英語配列のコンパクトキーボード、Drop ALTを試してみました。 HHKB Lite2の廃盤から、いったん通常の英語コンパクトキーボードに移行してみたものの[1]、やはりHHKBに依
2022-01-04 NOTES · JAPANESE
Keychron K2/K3 (HHKB Lite2の後継探し) – 3ヶ月ほど使ってみて HHKB Lite2は、残念ながら2019年で廃盤となりました。Power MacからIntel Macへの移行を契機に、職場と自宅でかれこれ15年以上愛用してきたHHKB Lite2でしたが、ふと「HHKBに拘る必要はないのかも」と思い始め、移行先のキーボードとして標準的な英語配列のコンパクトキーボード、KeychronのK2/K3を試してみました。 Keychron K2/K3を選んだ理由 HHKB登場時はともかく、現在ではテンキーレス(TKL)80%
2020-06-06 NOTES · JAPANESE
自己設計(Self-Design)と設計連続体(Design Continuums)の概念について 自己設計システムとは、システム内の選択可能なプリミティブから、データベースのワークロードとハードウェアに最適な組み合わせを自動的に生成するという概念のものです[1]。今回は、この自己設計システムのコンセプトの著者の、キーバリューストアを題材とした直近の論文を紹介してみます[2]。 自己設計によるカスタマイズ (Customization through Self-Design)とは? 自己設計(Self-Design)は中世の原子論的に、基礎となる設計要素
2020-05-09 NOTES · JAPANESE
時系列データクラスタリングとk-Shape 最近ある時系列データの因果関係が分析できればと、手始めに時系列データの相関解析やクラスタリングの手法を調査しています。 今回は、時系列データクラスタリング手法の動向と、2015年に論文が発表された正規化相互相関手法を用いた形状ベース(Shape-based)の時系列クラスタリング手法であるk-Shape[3]についてまとめてみます。 クラスタリングとは? クラスタリングとは、対象となるグループに対する高度な知識がなくとも、類似のデータを関連するグループや同
2019-10-28 NOTES · JAPANESE
VR黎明期の振り返る – 「VR原論」の後日譚 最近、「人工現実感の世界[1]」のリニューアル版として「VR原論[2]」の刊行がありました。時期的には、1990年にホールアース研究所により開催されたサイバーソン(Cyberthon)[3][4]前後の、当時のVRの雰囲気をまとめた書籍です。 「人工現実感の世界」は、VR黎明期当時のVRを取り巻く状況を取材したものであり、その刊行時期において「思考のための道具」などでも著名なラインゴールド(Howard Rheingold)氏の「Virtual Reali
2019-08-11 NOTES · JAPANESE
MongoDB プロトコル実装調査 – v3.6以降の現状について MongoDBは、DB-Enginesの2019年8月のランキング[1]で第5位と、近年でも安定した人気を得ているドキュメントデータベースです。また、マイクロソフトのCosmosDBや、FoundationDBの「Document Layer」に代表されるように、既存のデータベースでもMongoDBインターフェースを互換APIで対応する動向も見受けられます[2][3]。 ただし、2019年8月現在、MongoDB公式の最新バージョンは4.0系であるにも関わ
2019-06-02 NOTES · JAPANESE
RDBMSの問い合わせ(Query)プロトコルについて – PostgreSQL・MySQLを例に 最近、RDMBSの通信プロトコルに興味があり、代表的なPostgreSQL・MySQLの通信プロトコルの調査をしています。今回は、とくに興味があった問い合わせ(Query)とその応答の通信プロトコルについて整理してみます。 取っ掛りとなる調査ではありますが、その通信プロトコル仕様から、PostgreSQL・MySQLそれぞれの設計思想的なところも垣間見れ、興味深い調査となりました。端的に言えば、PostgreSQLは高速かつ合成的で合理的、対するMySQL
2019-05-02 NOTES · JAPANESE
学習によるデータベース最適化について – Sagedb: A learned database system 昨年から今年に入り、マサチューセッツ工科大学とGoogleなどの共著で、SageDBなどの機械学習によるデータベース最適化の論文が発表されています[1][2]。現時点では研究レベルの論文ではありますが、将来のデータベース在り方について色々な示唆に富んでいる論文です。 今回は、この論文の主要コンセプトである「学習によるカスタマイズ」に関連する話題にふれ、今後のデータベース像について考えてみます。 データベース最適化の背景 データベース最適化の研究については長