以前にAWS Summitで似た様な話をしているので、こちらのブログとかも参考にしてください。 https://dev.classmethod.jp/articles/aws-summit-online-2020-cus-47/ 今回の内容も、公式のドキュメントを全部読むなら大体書いてあることなので、既にある程度知…
これは社内向けに書いた、Kafkaってそもそも何やねん、ということをメンバーに解説するための記事を一部編集して公開できる様にしたものです。 第2回以降では、Kafkaを利用したアプリケーション開発のノウハウについて解説していく予定です。そちらも社内の…
Kafka Streamsをそれなりのデータ規模で運用していくとデフォルトの設定値では動作に困るケースがしばしば出てきます。 その中でも気にしておいた方がいい設定値について紹介していきます。 acceptable.recovery.lag これはあるタスクにおいてStateStoreとch…
Rubyist近況[1] Advent Calendar 17日目です。 仕事的な近況 最近、仕事で全然Rubyを書かなくなってきた。たまにRailsアプリの改修作業をやる程度で、今年書いた量で言うなら間違いなくJavaが一番多いだろう。 直近で書いたブログ記事を参照してもらえると分…
この記事は Kafka Advent Calendarの14日目の記事です。(1日遅れてるけど) 今回は割とライトな記事です。 ローカルキャッシュとしてのStateStore Kafka StreamsにおいてStateStoreは、トピックから入力されて何らかの状態を保持した処理をしたい場合にその状…
この記事で紹介する内容はある意味で非常にリスキーであり、Kafka Streamsの内部実装に強く依存しています。 現状代替できる策が無いため、やむなく編み出した方法であることに注意してください。 Kafka StreamsのStateStoreとchangelogについて Kafka Strea…
この記事はKafka Advent Calendarの10日目の記事になります。 Kafka StreamsにはProcessor APIというlow levelなAPIがあります。 https://kafka.apache.org/10/documentation/streams/developer-guide/processor-api.html https://docs.confluent.io/ja-jp/p…
SonyのフルワイヤレスイヤフォンであるWF-1000XM4は最大で96khzに対応しており、ハイレゾ対応であることを売りの一つにしているが、それを利用するためにはBluetoothのデータ転送codecとしてLDACというcodecを使う必要がある。 まず前提としてデフォルトのWF…
AMD系GPUのハードウェアエンコード支援機能としてAMFというものがあり、それを利用できるffmpegをビルドする方法。 AMDのサイトからubuntu用のRadeon Software for Linuxを落とす。 ex. Radeon™ Software for Linux® 21.30 Release Notes | AMD 展開して、am…
社内向けのドキュメントと兼用したので、前提とかメンバー向けの解説が含まれているので、前後のパフォーマンスの変化だけを見たい人は、下の方のグラフ画像までスクロールしてください。 gravitonインスタンスを活用するモチベーション ワークロードによる…
現在、Embulkは次の安定版であるv0.11.0に向けた開発版としてv0.10がリリースされています。 メンテナであるdmikurubeさんのアナウンスに依ると、0.11.0以降はJRubyがデフォルトでembulkに組込まれなくなるため、プラグインは基本的にJavaで作ることが推奨さ…
最近は、LinuxでPCゲームをやるのもかなり現実的になってきたので、その知見についてまとめた記事を書こうと思う。 自分がGentooユーザーなので、細かい部分はGentooを前提にした話になっているが、概要はLinux全般でモダンなPCゲームをやる時の参考程度には…
Linuxに乗り換えようかなと思っている人向けにビデオ会議のためのオーディオ環境構築の一例を紹介する。 ハードウェア Audio I/F: Focusrite Scarlett Solo 3rd Gen focusrite.com 1万円ちょっとで買えるし、ダイレクトモニターも付いてるし、Linuxのusbaudi…
年末、たまたま見つけたRyzen9 5900Xを勢いで買ってしまったので、そのまま流れで新しいPCを組むことにしました。 年始っぽくて良いかなとも思ったり。 構成は以下の通り。 Mother: ASUS ROG Strix X570-F Gaming (27k円) CPU: Ryzen9 5900X (89k円) Memory:…
自分が所属している会社のメンバーの教育用資料として、それなりの規模のデータを扱う時に前提として意識しておかなければいけないことをざっくりまとめたので、弊社特有の話は除外して公開用に整理してみました。 大規模データ処理、分散処理に慣れている人…
2020/10/3 に開催されたKaigi on Rails 2020に登壇してきました。 オンラインのイベントやカンファレンスに登壇したことはあるんですが、今迄割とカンファレンスの現場感みたいなのが薄いなと感じる中で、Kaigi on Railsはかなり以前の祭り感みたいなのを感…
最近、パーフェクトRuby on Railsの増補改訂版をリリースさせていただいた身なので、久しぶりにRailsについて書いてみようと思う。 まあ、書籍の宣伝みたいなものです。 数日前に、noteというサービスでWebフロント側に投稿者のIPアドレスが露出するという漏…
長らく改訂版をお待たせしていたパーフェクトRailsがついに新しくなります。 私は、やはり人間は締切が近くならないと働かない、という極めて重要な事実を改めて学ぶことができたのが良かったと思っています。 そろそろ献本させていただいた本は届き始めてい…
コロナが蔓延してから美味しいものを食べるために外食するという行為がほぼ無くなってしまい、お金を稼ぐモチベーションが薄れていたので、いっそ散財してモチベーションを取り戻そうと思い、自宅の環境改善としてオーディオにお金をぶち込んでみた。 ついで…
ISUCON9に出場してきた。そして敗北してきた。 fujiwara, tagomoris, 自分という大人気ない面子で出場して負けてしまったので、非常に悔しい。 大した活躍が出来なくて申し訳なさで一杯である。 最終スコアは5000ちょいぐらいでしたが、3台分のリソースを全…
最近、仕事で分散ストリーム処理に手を出していて、その基盤としてApache KafkaとKafka Streamsを使うことにしたので、動作概要とストリーム処理のイメージについてまとめておく。 kafkaそのものについては今更説明の必要は無いだろうと思う。 Kafka Streams…
4/18 - 4/20で開催されていたRubyKaigi 2019に参加し登壇してきました。 今回の登壇内容は「Pragmatic Monadic Programming in Ruby」というタイトルです。 スライドは以下。 speakerdeck.com 実装はこちらです。READMEの整備が全然出来てないのと、APIがま…
RubyConf 2018のRubyKaigi関連トラックに採択されたので、登壇するためにロサンゼルスまで行ってきました。 RubyKaigiトラックということで、内容はRubyKaigiの再演でした。 学生の時にめっちゃ貧乏だったのもあって、今迄海外に行く機会が全く無かったので…
職場でcassandraの運用を開始したので、選定理由とか運用してみて得た知見や所感等を書いてみようと思う。 (まだ十分に知見を得たとは良い難いので、間違った印象を得ていたり、より良いオペレーションに気付いていない可能性があります。) cassandraの採用…
Asakusaの方面から来ました 今回、RubyKaigiに来た人は何度かこの画像を目にしたかもしれません。 昔からAsakusa.rbに良く参加している人が発表資料を作る時に、良く使われている画像です。 いかにもシンボリックでアングルが良い写真なので、これが定番とし…
仙台で行われたRubyKaigi 2018に参加してきました。 RubyKaigiは毎年最高のイベントなのですが、今年は総合的に今迄で最も良い体験ができたRubyKaigiでした。 実績解除 今回のRubyKaigiで初めてメインスピーカーとして登壇することができました。 私が初めて…
このエントリはRails developer meetup 2017で発表した内容をブログとして書き出したものです。 サンプルのスニペットが多いので資料の代わりにエントリとして公開します。 スライド用のmarkdownを元に起こしたものなので、少し読み辛いかもしれませんがご容…
とてもとても悲しいので、とりあえずやったことと言い訳を書いて気を紛らわせることにする。 敗北した身でグダグダ言うのが格好悪いことは百も承知だが、人間には魂の救済が必要であることをご理解いただきたい。 序盤〜方針決定 最初パスワードのコピペミス…
先日、著者のデータ分析基盤構築入門の著者の一人である@yoshi_kenさんより、献本をいただきました。 http://gihyo.jp/book/2017/978-4-7741-9218-5 この本は、Fluentdと、ElasticSearch, Kibanaを中心にしたデータの可視化と分析を行える基盤を実際に構築す…
先日、広島で開催されたRubyKaigi 2017に行ってきました。 相変わらず各トークのテクニカル度合いが異常にハイレベルで刺激的なカンファレンスでした。 最近、静的解析やRubyと型の関係がホットトピックであることもあり、ripperやparser gem等のRubyパーサ…