サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
diary.hatenablog.jp
別に隠す理由があるわけではないし、X を見ればどこに行っていたかなんて丸わかりなのだけれど、下記のようなツイ……ポストを見かけたので敢えて伏せて(?)書いてみるかと思って書いてみます。対戦よろしくお願いします。 #yapcjapan ブログ, 見つけたものはマジで全部見ていますので... 君のブログも絶対に見つけて読むぞ.........— PAPI𝕏 (微笑みデブ) (@__papix__) October 7, 2024 私と名前を出さないあのカンファレンスとの関係 恥ずかしながら、あのカンファレンスに参加したのは今回が初めてでした。もちろん存在自体はもはや思い出せないくらい昔から知っていたのだけれど、開催情報をずっと見落とし続けており、開催当日に Twitter(当時)に流れてきた楽しそうな写真を、みんな美味そうなもの食いやがって許せんなんで誰も教えてくれなかったんだと指くわえて見
OBS Studio は現代の配信者にとって必須なソフトウェアです。かつては XSplit などのお世話になったこともありましたが、とくに YouTube Live や Twitch で活動している現代のアマチュア配信者のほとんどは OBS Studio を用いていると思います。かくいう私もそのような配信者のうちの1人で、Rust で Z80 を動かしたりリードソロモンを教わってゼロから実装したりする配信をしています(隙あらば宣伝): #ch789 / KOBA789 - YouTube そんな OBS Studio ですが、配信画面のレイアウトを整えるのは至難の業であることが知られています。GUI の操作が難しいからでもありますが、レイアウトを司る「変換」という機能の仕様が難解なのが主因だと思います。日本語訳がわかりづらいこともその難解さに拍車をかけています。たとえば「変換」は "Tra
年末。 KOBA789 です。 本年もさまざまなことがありました。思い出したり反省したり、やんわりと近況報告したりするために書き残しておこうと思います。 年初 2023年はロケットの打ち上げから始まりました。私が管制システムの一部を担当した衛星が1月3日の夜中に打ち上がり、初の人工衛星運用を体験し、我々の至らなさあるいはコンピュータの活躍の余地について解像度を高める経験となりました。 仕事なので詳細は書けない。 また、友人に煽られて新車の購入を決意。煽られた翌週にディーラーに行き、即日サインしました。 買ったのはスズキ・スイフトスポーツ。よくも悪くも私に似合ってるのではないでしょうか。車のチョイスは残酷なほど当人の趣味が出ます。 このタイミングで車を買ったのは、欲しかったからだけではありません。仕事ばかりで遊んでおらず貯金が貯まっていたので、このままだとまたすぐ会社を辞めそうだなと思ったか
あなたの予想に反して、この記事の大半はタイトルとおおよそ関係のない感想文である。感情の発露に任せて書いているのであって、読ませるために書いているわけではないため、読みづらくても耐えて欲しい。 表題のとおり、非公式 ISUCON 練習プラットフォーム「ISUNARABE」をリリースした。 これは、ISUCON の素振り*1をより簡単にすることを目指して開発されたシステムで、近年の ISUCON 予選のポータルと似たような機能を持っている。 具体的には、過去問環境の CloudFormation テンプレートの自動生成・チーム編成・ベンチマーク実行・ベンチマーク結果確認などである。自動生成された CloudFormation テンプレートでスタックを作成すると、GitHub から取得したチームメイトの公開鍵が焼かれた状態のインスタンスが上がってくる、というあたりが重要なポイントだと個人的には思
KOBA789 です。寒い日が続きますね。こうもあまりに寒いとアイスを食べたくなるものです。昨日の私はその衝動に抗えず、コンビニでソフトクリーム(チョコ味とのミックス)を買ってきて食べました。余計に寒くなったのでもう二度とやりません。今はおでんが食べたいです。よろしくお願いします。 リモートから手元に向かってコマンドを実行したい さて、寒いとアイスが食べたくなるように、リモートマシンに SSH でログインしていると手元でコマンドを実行したくなるものです。せっかくリモート接続してるのにね。人って不思議です。 たとえば、SSH 先の Linux マシンで code って打ったら手元の MacBook Air で VS Code が起動してほしいわけです。VS Code の Integrated Terminal 内ならできますけど、そもそも VS Code のウィンドウが1枚も開いていないとき
霧矢あおい(KOBA789)です。 タイトルのとおり、ISUCON12予選に Ruby で出場して8位で予選通過しました。最終スコアは34635(ベストと等しい)です。 本戦出場は ISUCON9 ぶり2回目です。 チーム「ソレイユ」 今年は私の多忙もあってチーム解散の危機だったんですが(チームメイトにはご迷惑をおかけしました)、無事いつものチームで出場することができました。 ひとりチームからソレイユへの移籍に際して運営さんにお手伝いいただき、無事移籍を成功させたときの様子。 というわけでメンバーは以下: 星宮いちご(osyoyu id:tomo_ari) 霧矢あおい(KOBA789 id:koba789) 紫吹蘭(s4ichi id:everysick) アイカツ劇場版公開おめでとうございます。忙しくてまだ観られていません。 たたかいのきろく うちのチームは例によって Git をほぼ使っ
これは KOBA789 日記 Advent Calendar 2021 - Adventar 21日目の記事です。 GitHub Projects (beta) みなさん GitHub Projects (beta) は使っていますか? 私はめっちゃ使っています。 しかし beta ということもあってまだまだ使いづらかったり機能が足らなかったりすることがありますよね? マウスでポチポチしながら、SQL で操作できたらラクなのになぁと妄想したりもします。というわけで作りました。 ghsql GitHub Projects (beta) のデータを SQL でクエリ・更新できるツールを作りました。SELECT はもちろん、UPDATE や DELETE もできます(INSERT は未実装)。 github.com インストール まだ crates.io とかには公開してないので、git clo
これは KOBA789 日記 Advent Calendar 2021 - Adventar 14日目の記事です。 日記を書くには早すぎる時間なんだけれど、久しぶりに「データ指向アプリケーションデザイン」を読んだら気持ちが高まりすぎてしまったので、書く。 データ指向アプリケーションデザインと私 「データ指向アプリケーションデザイン」(以下、本書)は "Designing Data-Intensive Applications" の和訳であり、2019年に発行された書籍です。 原著の方は2017年には発行されていたらしいのだけれど、恥ずかしながら当時は知りませんでした。和訳が出たということで話題になっていたのを見て知り、買って読みました。 初めて読んだときの衝撃といったらすごいものでした。学術的なバックグラウンドがほぼ皆無な私が趣味・業務内の試行錯誤のみから思索してぼんやりと仮説を立てていた
KOBA789 です。 今年2月末に前職を退職してからここ半年ほど無職をしていたのですが、いよいよもって無職に飽きてきたので人工衛星を作ることにしました。 実は9月頭から働いています。 株式会社アークエッジ・スペース 次の職場は株式会社アークエッジ・スペースです。東大の研究室発のスタートアップで、衛星バス開発を得意としている会社です。 衛星バスというのは、言ってしまえば人工衛星の OS に相当するものです。 OS に喩えましたが、もちろんそれは単なるソフトウェアではなく物理的な実体を伴うハードウェアとその中で動作するソフトウェアの集合体です。 ちなみにユーザーランドに相当する部分はミッション機器と呼ばれます。 まだまだ人数の少ない会社ですが、業界の土地勘や人脈に富んだ CEO や、人工衛星開発の経験があるエンジニアが揃っており、スタートアップとしては超実力派です。 ArkEdge Spac
KOBA789 です。 今年もチーム「ソレイユ(osyoyu, koba789, s4ichi)」で ISUCON に Ruby で出場し、敗退しました。 まずは我々の戦法や秘密兵器の紹介から。 伝統と信頼のサーバーサイドプログラミング ISUCON7 くらいのときから続けている手法で、競技用のサーバーに開発環境を構築し、3人とも同じホストに SSH でログインして同じファイルシステム上のソースコードを書き換えます。 他人の変更をリアルタイムに確認できることや後述するようにソースコードのバージョン管理が不要なことなどがメリットです。 SSH 時に WATASHI という環境変数で自分の名前を渡すことで、同じ isucon ユーザーへのログインであっても各個人の普段使いの dotfiles がロードされるようになっています。 これは「実家システム」と呼ばれており、チームの生産性に大きく貢献し
KOBA789 です。 時が経つのは早いもので、気づけば2月末に無職になってから1ヶ月以上が過ぎていました。 その間に何をしていたのかといえば、表題の特集記事の執筆をしていました。 宣伝 このブログ記事は WEB+DB PRESS Vol.122 を読みたくなるためのものです。ぜひ買ってね。買ったらちゃんと読んでね。 作って学ぶ RDBMS のしくみ、書きました。みんな大好き Rust を使って解説してます https://t.co/nm526qQYnm— KOBA789 (@KOBA789) April 8, 2021 gihyo.jp 使用言語は Rust だし、RDBMS はそもそも難しいトピックだしで結構重めの内容ですが、まずは読み物として寝転びながらでもいいので読んでみてほしいです。 ゴールデンウィーク*1の自由研究のお供にもどうぞ。たぶんちょうどいい分量なんじゃないかなぁ。ゴー
クソお世話になりました pic.twitter.com/DfmHibNWMQ— KOBA789 (@KOBA789) 2021年2月26日 タイトルの通りです。2月26日付でクックパッド株式会社を退職しました。有給は6時間しか余っていなかったので最終出社日=契約最終日です。 社内の人は社内ブログにもうちょいマシな記事を置いてきているはずなのでそちらを読んでください。 なんでやめたの? 改めて説明するのがダルいのであまり詳しく書きたくはないのですが、要らぬ邪推を避けるために書いておくと、少なくとも給与やオフィス移転などへの不満ではないです。 平たく言えば COVID-19 Situation に疲れたというやつです。 転職先は? 転職しません。無職をやります。 フリーランスやるんですか、ともよく聞かれるんですがフリーランスは無職ではありません。 しばらくはやりたいことをやって過ごそうかと思い
これは 自作DBMS Advent Calendar 2020 - Adventar 25日目の記事です。 LSM-Tree 実装するとか言ってたけど奥歯に穴が空くなどのインシデントがあり、できませんでした。 代わりと言ってはなんですが、簡単な Tuple-at-a-time 方式のクエリエクスキューターを書いてみたのでご紹介します。 github.com 実装した理由はもちろん自分の学習のためでもあるのですが、会社の同僚が MySQL のインデックスの貼り方で悩んでいるときにパッと説明用に取り出せる小さいコードが欲しかった、という背景があります。 そういうわけで今回は Rust ではなく Ruby で書いてみました。 クエリ実行にだけ焦点を当てたかったため、データはすべてナイーブなインメモリで書き込みなし、データ構造も B-Tree ですらなくて静的に構築されたただのソート済み配列です。
これは 自作DBMS Advent Calendar 2020 - Adventar の12日目の記事です。 自作 DBMS ネタというか、課題で B-Tree を書かされてる学生向けって気もしますが、いずれにせよ誰かの役に立つと信じて。 Disk-Oriented な DBMS で欠かせないデータ構造といえば B-Tree です。 で、そのデータ構造をちゃんと把握するには図示が有効なわけですが、これがまた大変というか、理解のために書いてるのに理解してないからうまく書けなくて余計混乱するという悪循環に陥りがちなわけです。 というわけでこの記事では B-Tree を図示するときの細かいテクニックをご紹介します。 (ボケーっとしながら書いたら真の B-Tree と B+Tree が混ざってしまった。適当に脳内で補完して読んでください) ノードはキーと値(ポインタ)の2階建てにする 素朴に実装す
これは 自作DBMS Advent Calendar 2020 - Adventar 1日目の記事です。 初日からギリギリで大丈夫なんですかねぇ(主催者)。 先日こういう記事を書きました。 Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run その中で、 このあたりで固定長のページをノードとした B+Tree に、可変長のデータを入れようとすると途端に実装が面倒になることに気が付きます。 と書いたのですが、具体的にどう面倒になるのかについてはなにも説明しませんでした。 今回は固定長のページに可変長のタプルを入れるとなにがどう面倒なのかという話を解説します。 テーブルヒープにおける可変長タプル まず、B+Tree ではなく単純なテーブルヒープを考えます。 PostgreSQL のテーブルデータなどがそういう実装ですね。 これは CMU の例の講義
KOBA789 です。みなさん DBMS は好きですか。私は好きです。 最近、自作 DBMS をずっと作っていて、ようやく最低限の機能ができたので公開をしました。 (とはいえコードを書いていたのは正味2日ほど。設計と勉強に2週間かかった) github.com この記事ではこれを作った目的と、そのちょっとした詳細についてご紹介します。 目的 Disk-Oriented DBMS の学習に適している Rust で書かれた実装が欲しかった、というのが理由です。 DBMS の勉強に適している実装というのは意外と多くありません。 MySQL や PostgreSQL といった有名な実装は実用的である一方でコード量は非常に多く、また細かな最適化によって教科書的なアルゴリズムと実際のコードの差が大きくなっているため、初学者にとっては構造を把握しづらくなっています。 教科書的な実装の Disk-Orie
(読みづらいタイトルだな) ことの発端はこのツイート。 MySQLは、以下を満たさないという理解でいいのか? エラーが出た時にPostgreSQLのようにロールバックを行わないので Atomicity(原子性)・・・トランザクションの実行結果は「全て成功」か「全て失敗」のいずれかでなければならない#mysql— imaharu (@imaharuTech) July 2, 2020 さすがの MySQL でもそこを破ってくることはないだろうと思いつつ、トランザクション野郎としてはちゃんと確かめねばならないと思い、早朝にも関わらず布団から出てラップトップを開いた(午前10時)。 実験1 以下のような docker-compose.yml と sql/script.sql を用意し、実験をする。 version: '3.3' services: db: image: mysql:8 envir
みなさんが夏の訪れを感じるのはいつですか。 私は自宅サーバーのファンの音がうるさくなったときです。 私が普段自宅サーバーでサービスを公開するときは1つだけのグローバル IP アドレスを使って Virtual Host でやりくりしています。 (ロードバランサとして k8s 上の Contour(Envoy) を使っています。便利ですよ) しかし、HTTP(s) ではないサービスをちょっと露出させたかったりするときに困ります。 かといって固定 IP アドレスをたくさんもらえる ISP 契約というのは一時的な用途のために契約するのにはちょっとお値段が。 今回はそんな自宅サーバーでグローバル IP アドレスをちょっと使いたいときに使えるテクを紹介します。 TL;DR AWS の Elastic IP を EC2 につけて、IPIP6 でトンネルする やりかた 前提として、対象の自宅サーバーは I
ヤァヤァ、KOBA789 であるぞ。 今回はおもしろハードウェア活用術のご紹介です。 安い HDMI キャプチャデバイスが欲しい 欲しい。欲しいじゃないですか。 ゲームにしろカメラの映像にしろ、なんらかの映像をオンラインで生配信したいと思ったとき、真っ先に必要になる機材が HDMI キャプチャデバイスです。 日常的にパソコンやってると USB Audio IF とか、ウェブカムとか、そういうのは案外持ってるもんですが、HDMI キャプチャは持ってないがち。 しかし HDMI キャプチャデバイスというのはあまり一般的なデバイスではないので案外高い。 いくら安くても1万は切れないことが多くて、まぁ2〜3万は覚悟が必要になるわけです。 映像ソースが1本しかないのであれば、まぁ買い切りだし1個くらい買ってもいいか、となるもんですが、これが2本、3本となると話は別です。 ちょっときつい。 ロスレスな
osyoyu(星宮いちご), koba789(霧矢あおい), everysick(紫吹蘭)の三人(ソレイユ)で出た。 伝統のサーバーサイドプログラミング 我々はローカルで開発をしない。代わりに1台目のサーバーにログインし、本番サーバー内のコードを直接編集する。 メンバーのうち、私を含む2人(everysick, koba789)は歴史的経緯により dotfiles がほぼ同じ*1という仲だったため、残り1人(osyoyu)を犠牲にして、私の dotfiles を流し込んだ。 アプリケーションコードの変更は、使い慣れた設定の環境が使える私と everysick で一台のサーバー(作業環境)を奪い合いながら、ソースからビルドした emacs 26 を使って行った。ちなみに osyoyu は vim 使いである。 これによる利点は、必然的にペアプロが強制されるためにケアレスミスをとにかく減らせる
最近は Rust と Java を交互に書くという脳トレをしています。KOBA789 です。 先日、知人から PLEX が新しいチューナー "PX-Q1UD" を出したという情報を聞き、気になって買ってみました。 PLEX USB接続型フルセグ対応地上デジタルTVチューナー PX-Q1UD 出版社/メーカー: PLEX発売日: 2018/02/28メディア: Personal Computersこの商品を含むブログを見る 価格は2万円弱ほどで、USB 接続で地デジを4チャンネル同時録画できるというシロモノです。 中身は PX-S1UD(こちらも持っている)相当を USB ハブ経由で4つぶら下げただけの構造で、ドライバも同じものが使えます。 というか、接続すると dmesg には PX-S1UD の名前が流れます。 以下、イケてる点とそうじゃない点のまとめです。 イケてる点 ドライバが最近の
std: Add a new wasm32-unknown-unknown target by alexcrichton · Pull Request #45905 · rust-lang/rust · GitHub Rust の nightly で wasm32-unknown-unknown という target が入ったので、Emscripten ナシでも wasm を吐けるようになったということで。 rust と js で json 投げあうコードまで書くか— Insanely fast (@mizchi) 2017年11月26日 やった。 github.com 普通に serde とか使えて便利。 文字列を渡すときには Rust 側の関数で alloc してヒープのそのポインタへ JS から書いてやる必要がある。で、関数にはそのポインタを渡す。 受け取るときはポインタが返ってくる
これは決勝出場決定チームなどと飲んだあとに酔っ払って書いている。明日は土曜日。 細かいことは http://osyoyu.hatenablog.com/entry/2017/10/23/014843 に書いてあると思う。この記事を読めば俺の記事は用なし。 8万点くらいしか取れなかったけど、かつてないチームワークを発揮し、それぞれのパフォーマンスを生かしきったいい試合だったと思うので、酔っ払いながらに書いておく。よかった。 git 禁止 今回で出場は3度目だが、過去二回の出場で学んだことがある。我々には運用をする奴がいない。再起動には耐えられないし、本番で ruby を動かす方法は知らない。学生はあくまでオモチャしか知らないのだ。そのため、我々にはチームワークがない。運用する奴がいないので全員がバラバラにコードを書き始める。最悪だ。 そこで今回、俺はある提案をした。それが git 禁止だ。
これはすこし食べた状態の肉 家で肉を焼きました。 なぜ焼いたかというと、フライパンが手に入ったからです。 フライパンというのはプログラミングで言うところの Emacs みたいなやつで、ないと肉が焼けない。 この前、友達をパシッて閉店セールやっていたつくばの西武で良いフライパンを買ってきてもらった。 間違い探しではありません。良いフライパンであることを強調するために2度貼りました。 このフライパンは良くて、どれくらい良いかと言うと、今回の肉焼くのに油を一滴も使ってない。なぜ使ってないかというとないからです。油がない。 自分で肉焼いて食うことのメリットはいくつかあって、ひとつは金。ただ、このフライパンが二食分以上の値段したのでそこは今回関係ない。もうひとつは自由で、自由に食いたい時に自分で焼く。 俺は細切れ肉を焼いて塩胡椒だけで食うのが好きで、とにかく細切れ肉を食いたい。しかし、当たり前だがそ
みなさん、和布蕪は好きですか。私は食べたことがありません。 さて、MeCab は優秀な日本語の形態素解析機として有名ですが、みなさんは MeCab をそれ以外の用途で使ったことがありますか。食わず嫌いは感心できませんねぇ。 日本語の形態素解析機としての振る舞いは MeCab のほんの一面に過ぎません。MeCab はいつも読んでる IPAdic が何語の辞書かなんて知りませんし、日本語の文法がハードコートされているわけでもありません。MeCab は、振る舞いの全てを辞書に決められているといっても過言ではないほど、辞書によって様々な「言語」を解析できるようになります。ここでいう「言語」とは、記号の並びの規則、またはその規則に則って並べられた記号列のことだと思ってください。つまり、「辞書」は言語の語彙だけでなく、規則を記述する能力を持っているのです。 MeCab の「辞書」に含まれる情報に軽く触
最高だぞ 次回は今回の人間の知り合いの会社らしい 俺はオレンジ お前ら行け これは聖地渋谷までわざわざ行って撮った インスパイアされた次回 夜の合同説明会 - アニメイトラボ, ドリコム, GMOペパボ, Repro - connpass 他の就活目的レンジャー: 就活目的、夜の合同説明会 - osyoyu.hatenablog.com 就活を目的させていただきます - 思考録++ #cdgh 夜の合同説明会の感想 - polamjaggy 入隊したい方はこちら: 就活戦線2016 - polamjaggy
表題のとおりだが、更に CircleCI のビルドを高速化するために yarn を使うぞ。 やりたいこと 最新の TypeScript を使う 1.8 とか使わない テストコードも TypeScript で書く empower する 明示的に require('power-assert') しない source map が生きてる状態でカバレッジを取る TypeScript の行ベースで結果が出る やりたくないこと 中間ファイルの生成 やっていく ガンガン入れる。 yarn add --dev typescript ts-node babel-register babel-preset-power-assert power-assert mocha nyc @types/mocha @types/node この状態で、 mocha --compilers ts:ts-node/regist
トレンドに乗るためにはトレンドを自分の方に捻じ曲げるのが一番いい、ということで、Twitter で日夜 GraphQL, GraphQL と騒いでいる日々であります。 GraphQL の話、スライド上げました https://t.co/hTUvA9Fajt ハンズオンに良さそうなコードや解説記事などもそのうち公開します #tng23— KOBA789 (@KOBA789) 2016年10月22日 先日、tng23 で「GraphQLの話」をしてきました。解説記事とか書くみたいなことをノリで口走ったので、これは伏線回収です。 GraphQL は公式のドキュメントが充実しています。とはいえ、全部英語なので日本にはあまりリーチしてないですね。みなさん英語読んで……。 母語でない言語で書かれた文章を自分のペースで読みながら、そこに書かれている新しい概念を獲得するってのは結構な重労働です。そこで、お
来月の生活費がありません。KOBA789 です。 来月の生活費がないのに Raspberry Pi 2 が出たと聞いて速攻でポチりました。10人位でまとめて購入したので一気に口座から5万くらい飛んでいきました。未払い各位は僕に生活費を払いに来てください。よろしくお願いします。 さて、その Raspberry Pi 2 Model B が早速届いたのでベンチとかしてみよう、というのが今回の主題です。では張り切っていきましょう。 スペックで見る Raspberry Pi 2 Model B 公式サイトの解説ページ曰く、 A 900MHz quad-core ARM Cortex-A7 CPU (~6x performance) 1GB LPDDR2 SDRAM (2x memory) Complete compatibility with Raspberry Pi 1 とのこと。CPU が速く
次のページ
このページを最初にブックマークしてみませんか?
『Write and Run』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く