タグ

ブックマーク / blog.riywo.com (21)

  • ブログをAstro に移行しました - As a Futurist...

    式年遷宮の様な感じですが、数年おきにブログを作り直してます(前回)。今回は Gatsby でデザインした UI をほぼそのままに、フレームワークを Astro に移行しました。静的サイトの作成では Astro の開発者体験が最高に優れているので、2 年間ほぼ塩漬けにしてしまっていた Gatsby のコードを無事に移行できてよかったです。 Astro とは? Astro は 一言で言うと、Better HTML です。Astro というフォーマットでサイトが記述できるのですが、普通の(素の)HTML も Astro としてそのまま使えます。厳密には違いますが、HTML のスーパーセットみたいな感じです。その HTML の要素群を component としてまとめることで関心を分離できて(この辺は Web Components でも実現できます)、必要に応じてビルド時にロジックも走らせることが

    ブログをAstro に移行しました - As a Futurist...
    ryshinoz
    ryshinoz 2023/01/08
  • コードが読めるソフトウェア開発者 - As a Futurist...

    僕はコードを読むのは得意な方だけど、それが過ぎてコードを書かなくてもシニアソフトウェア開発者になってしまった。実はコードをちゃんと読めるソフトウェア開発者って希少価値が高いのではないか、と思ったので自分がどんな感じでシニアになったのかをまとめてみた。似た様な人の参考になれば幸いだ。 同意。僕は未だ書く方はほとんど機会なく成果もないけど、コードを読み尽くして、負荷試験や番で挙動を把握し続け、メトリクスでとことん確かめていった結果、Sr. Engineer になれた。 https://t.co/KXtMdEaRr8 — Ryosuke Iwanaga (@riywo) April 16, 2021 コードを書かなくてもシニアソフトウェア開発者になれた 僕は今 Amazon の Sr. Systems Development Engineer という職種で働いている。いわゆるソフトウェア開発職

    コードが読めるソフトウェア開発者 - As a Futurist...
    ryshinoz
    ryshinoz 2021/04/21
  • 質の高い技術文書を書く方法 - As a Futurist...

    大学や大学院で論文の書き方を鍛え上げた人たちには遠く遠く及ばないが、僕の様なはぐれもの1でも最近は Amazon 社内で文書の質が高いと評価してもらえるまでにはなった。Software Engineer として、コードでのアウトプットはもちろん大事だけど、文書のアウトプット(およびそれによって得られた実際のアウトプット)は同じだけ重要である2。今回は自分が最近どういうところに気をつけて技術文書を書いているのか、ということについて数年後の自分が忘れてないことを確かめられる様にまとめておく。 そもそも文書とは? 英語だと document。ここで指す(技術)文書とは、人間が読む文体で書かれた技術に関連する情報、といったものだ。具体的に言うと以下の様なものを想定している: 新しいプロジェクトの骨子を説明する資料 会議の叩き台となる 1 枚ペラ 番環境に変更を加えるにあたっての包括的な情報や具体

    質の高い技術文書を書く方法 - As a Futurist...
    ryshinoz
    ryshinoz 2021/01/28
  • VancouverにあるAmazon S3チームのDeveloperになります - As a Futurist...

    tl;dr - Amazon に入って 3 年が経ちましたが、この度転籍という形で Canada の Vancouver にある Amazon S3 開発チームに Systems Development Engineer として移ることになりました。 2010 年頃からずっとなりたいと思っていた北米での開発者の仕事(もちろん英語のみ)なので、当に嬉しいです。AWS の Solutions Architect(SA)としてお客さんと向き合う仕事をじっくりさせてもらい、そこから実際に開発をしているチームに開発者として拠点も含めて移れるキャリアパスがあるんだよ、という一例になれましたので、SA になると自分の手を動かす機会が減ってしまうことを懸念している開発者の方の背中を押せたら幸いです。なお、2018 年 6 月頭に日を出国予定で日の会社も退職してしまうので、(旅行を除いて)日に戻って

    VancouverにあるAmazon S3チームのDeveloperになります - As a Futurist...
    ryshinoz
    ryshinoz 2018/05/02
  • Multi PaxosをJavaで実装してみた - As a Futurist...

    Java の練習と分散システムの理解のために、Multi Paxos の実装をしてみてた。16 ファイルで 970 行程度で一応正常系は動くものはできたと思う。そろそろ疲れたので切り上げ。コードはださないけど、やったことをまとめ。 実装方針 この記事を何度も読んで、この通りに実装した。それに尽きる。 Understanding Paxos もちろんPaxos Made Simpleも読んだけど、実装するにあたっては上の記事がきれいにまとまってて必要十分だったので助かった。特に Multi Paxos について丁寧に説明があるのでありがたかった。 まずは Paxos を実装 Paxos は単一の値の合意をとるためのプロトコルで、まずはここを実装した。上の記事通りに、Proposer/Voter/Arbiter の 3 Role を class で実装。一応分けたけど、Peer としてはどれも

    Multi PaxosをJavaで実装してみた - As a Futurist...
    ryshinoz
    ryshinoz 2017/09/04
  • PHPカンファレンス2014でHHVM/Hackの話を聞いて感動した - As a Futurist...

    使える言語の幅を広げたいと思ってPHP カンファレンス 2014に参加してきました。徳丸さんの「安全な PHP アプリケーションの作り方 2014」は改めて自分のセキュリティの知識を確かめるのに大変有意義だったのですが、何より感動したのが Facebook の Paul Tarjan による「HHVM + Hack == PHP++」のセッションでした。 すごく簡単に僕が理解した限りで HHVM/Hack を紹介すると、HHVM とは PHP の処理系の一つの実装です。その特徴は JIT コンパイルにより超高速になっていることに加え、圧倒的な魅力は PHP の Extension(C 拡張ライブラリ)の多くが実装されていて PHP のメジャーなフレームワークが問題なく動作するということです。つまりもう実践で戦えるということ。そして、Hack というのは HHVM が処理できるもう一つの言語

    PHPカンファレンス2014でHHVM/Hackの話を聞いて感動した - As a Futurist...
  • サンフランシスコ生活終わりました - As a Futurist...

    1 年ちょっとサンフランシスコで生活してましたが、日に帰任ということで 12 月末に日に帰ります。SF でお世話になった方々ありがとうございました。今後も仲良くしてください。日の方々、アメリカかぶれですがまたよろしくおねがいします。 英語について 英語が流暢になった、とはとても言えないですが、少なくとも行く前に持った「覚悟」に加えて「度胸」がつきました。文法めちゃくちゃだろうと発音がひどかろうと単語が聞き取れなかろうと語彙がなかろうと、伝えたい・聞きたいという思いを形にするだけの度胸は多少ついたと思います。そうしないと生活できないから。 仕事でもいわゆる日とのブリッジみたいな仕事ではなく、こちらの会社の普通の 1 メンバーとして周りにも仕事相手にも全然日人がいない環境で仕事ができたので、英語がわからないとか言ってられない感じでした。なんとかサバイブできてよかったです。だいぶ迷惑は

    サンフランシスコ生活終わりました - As a Futurist...
    ryshinoz
    ryshinoz 2013/12/27
  • ポータブルなwebアプリケーションとそのインフラの未来の一考

    naoya さんのポータブルな Web アプリケーションを受けて最近思ってることをば。140 文字で時々書いてるんだけど、まとまりがないので一回まとめておきます。 12-factor app ステートフルなアプリケーションについては、Heroku の人が提唱してる 12-factor app というのが現在の状況をよく表してます。 The Twelve-Factor App The Twelve-Factor App(日語訳) Heroku や他の PaaS によってもたらされたこうした一種の”制約”によって、アプリケーションの新しいカタチが生まれてきています。引き算によって新しい価値が生まれてきているわけですね。 とはいえ、PaaS は PaaS でそれぞれに独自の仕様を持っているわけですが、Herokubuildpack という仕組みを使って、Heroku とインタフェース仕様

    ポータブルなwebアプリケーションとそのインフラの未来の一考
    ryshinoz
    ryshinoz 2013/12/04
  • 最近のサーバの抽象化について - As a Futurist...

    学者でもなんでもない現場のいちエンジニアの感想です。しかも、どれもちゃんと使ったことないので、聞きかじりをまとめたメモ書きなので嘘が入ってますが、興味ある方がいればどうぞ。 はじめに かつては「OS=物理サーバ」であって、その物理サーバの資源(CPU,RAM,DISK,etc.)をどのように使うかは OS がプロセスに割り振る形で決定されていました。しかし、それでは例えば以下の様な問題があります。 ファイルシステム資源をプロセスが自由にコントロールできない ProcA と ProcB で使いたい libfoo のバージョンが異なる場合面倒 CPU, RAM 資源もコントロールしにくい 同居してるプロセスがメモリい尽くして、みんな死亡、みたいな そもそも異なる OS を同居して使うことができない CentOS ばかり使ってるのに、使いたいライブラリが Debian でしか動かないとか 解決

    最近のサーバの抽象化について - As a Futurist...
    ryshinoz
    ryshinoz 2013/08/06
  • Packerリリースおめでとうございます! - As a Futurist...

    先週末に Vagrant で有名な @mitchellh さんの新作、”Packer”が発表されました(正式にいつリリースしたのかよく分かってないですが、HN に流れたのは先週)。 Packer Packer | Mitchell Hashimoto mitchelh さんのブログ記事 簡単に言えば、EC2 や Virtualbox などの仮想環境における OS インストール作業を、設定ファイル 1 枚で自動化できるツールです。似たようなツールはたくさんありますし、これからもたくさん出てくるでしょう。ぜひいろんな人に今のうちから触ってもらって、よりよいツールにしていって欲しいと思ったので、超簡単な紹介をしておきます。英語が苦じゃない人は Intro をひと通り読むと良いと思います。 Packer 概要 Packer はメタ OS インストール自動化ツールで、いくつかのフェーズを持ちそれぞれ

    Packerリリースおめでとうございます! - As a Futurist...
    ryshinoz
    ryshinoz 2013/07/01
  • かっこいいスライドの作り方 #yapcasia 2012編 - As a Futurist...

    さて、今回スライド結構がんばって作ってみました。どうよ、これかっこ良くない??? https://speakerdeck.com/riywo/ops-tool-made-by-perl-beginner-number-yapcasia-2012 どうやって作ったのか、大したことはないんですが軽く共有しておきます。 と言っても、ぶっちゃけ以下のエントリを丸パクリして Keynote でポチポチ作っただけですが。。。 Slide Design for Developers フォント Yanone – Free Font: Yanone Kaffeesatz こちらを使わせて頂きました。とてもかっこいいです。 配色 Color Trends + Palettes :: COLOURlovers こちらから自分の好みのパターンを幾つか探して、Keynote のパレットに拾っておいてあとはそれをポチ

    かっこいいスライドの作り方 #yapcasia 2012編 - As a Futurist...
    ryshinoz
    ryshinoz 2012/10/03
  • 初めてのオレオレbash補完 - As a Futurist...

    さて、ひとつ前のエントリは釣りだったわけですが、題の bash 補完を初めてやってみました。ちょっとした物だったら割と簡単に書けたので、共有。 目標 自作コマンド(仮にsugyanとします)はこんな感じの I/F だとします。 sugyan subcommand [args] いくつかの subcommand は次にくる引数が限られる 例えばsugyan momocloの後にはkanako renichan shiorin ahrin momoka sugyan listでそういう補完の一覧が色々出せる sugyan list commandで subcommand の一覧 sugyan list momocloでももクロ一覧 一応sugyan listでcommand momocloが返る あとはいつもの bash のままにファイルとかを補完して欲しい 実際叩くと、 $ sugyan

    初めてのオレオレbash補完 - As a Futurist...
    ryshinoz
    ryshinoz 2012/08/28
  • 今更CAP定理で分散データストアの勉強を始めてみた - As a Futurist...

    長くなったので三行でまとめると CAP 定理を素人なりに調べてみた 分散データストアを CAP 定理で俯瞰してみた どのデータストア使うかの決定因子は CAP 定理的な視点の方がインタフェースとかより先 異論は認めるというか、専門知識ゼロなのでもっと正しい理解があればぜひ教えてくださいませ。 はじめに 僕は MySQL 厨なんですが、最近はやれ「MongoDB がいい」だの「HBase 最高」だのとよく聞きます。これら多種多様なデータストアを語る上で、「RDBMS VS NoSQL」みたいに問い合わせ言語の方式やデータ保存形式の違いで語るのは宗教論かなぁと僕は思ってます。単体プロセスのデータストアとしての特徴とか性能とかは正直なんでもいいかなぁと。 思うに、質的に重要なのは MySQL の master-slave&sharding という Web で今までスタンダードに使われてきた分散

    今更CAP定理で分散データストアの勉強を始めてみた - As a Futurist...
    ryshinoz
    ryshinoz 2012/07/28
  • DevOpsDays Tokyo 2012に参加してきたので聞いたこととか思ったことまとめ - As a Futurist...

    DevOpsDays Tokyo というイベントが行われていたので参加してきました。DevOps という単語やムーブメントを牽引する英語圏のゲストを招いての大規模なイベントでした。会場の GMO さんやスポンサー各社のご協力のおかげか、至れり尽くせりな感じですごかったです。 Tokyo 2012 – welcome セッションスピーチはほとんどが各社製品紹介みたいな感じだったので割愛しますが、その後に行われた OpenSpace が相当エキサイティングでした。これは海外のカンファレンスだとよくある形式なんですが、会場とコマだけ用意されているので、あとは話したい人が話したいテーマをその日に適当に入れてプレゼンとかディスカッションをするという感じのものです。その場で生まれる議論のダイナミズムは、普段から色々と頭を使って手を動かしているエンジニアにとってはとても刺激されるものではないかと思います

    DevOpsDays Tokyo 2012に参加してきたので聞いたこととか思ったことまとめ - As a Futurist...
    ryshinoz
    ryshinoz 2012/05/27
  • NHNテクノロジーカンファレンスでしゃべって来た #nhntech - As a Futurist...

    前日に Fluentd Casual Talks を会社で開催してぐったりしたまま、NHN さん主催のテクノロジーカンファレンスで 25 分の発表をしてきました。講演者の中で 1 人だけ一般人感が滲み出ていて大変恐縮でした。 “Mobage DBA Fight against Big Data” - NHN TE from Ryosuke IWANAGA 動画もあります 感想 実は MySQL の話をこれだけちゃんとしゃべるのは内にも外にも初めてでした。雑誌の記事とかで数ページとかはありましたが、外向けにしゃべる時は運用周りの事ばっかりでしたね、実は。 自分が join する前からあった技術、入ってから使った・作った技術をおりまぜて、といいつつ別に弊社独自のものはほとんどなくてごくごく一般的な知識を紹介しているので、MySQL の大規模運用については割と網羅的にまとめて紹介できたかなぁと思

    NHNテクノロジーカンファレンスでしゃべって来た #nhntech - As a Futurist...
    ryshinoz
    ryshinoz 2012/05/22
  • リソースモニタリングツール「CloudForecast」入門 - As a Futurist...

    kazeburo さんが開発をされているサーバリソースの可視化ツール「CloudForecast」ですが、個人的に使ってみていてとても使いやすいなと思っています。もっと使ってくれる人が増えるといいなと思い、自重せずに入門エントリを書いてみました。 CloudForecast って何? そもそも何なの?という話ですが、CloudForecast とはリソースのグラフ作成ツールとして有名な「RRDTool」の薄いラッパーとして作られています。記述言語は Perl ですので、Perl と RRDTool の使い方が大体分かっている人にとっては導入さえしてしまえばかなりかゆいところまで手が届く=カスタマイズが簡単かつ自由自在なツールだと思います。とりあえずのイントロとしては kazeburo さんの YAPC::Asia 2010 でのこちらのスライドをご覧頂ければと思います。 RRDTool っ

    リソースモニタリングツール「CloudForecast」入門 - As a Futurist...
  • MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...

    しわっす!DBA 兼オペレーションエンジニア兼タスクマネージャやってる riywo です。何のネタを書こうかなぁと考えたのですが、正直ネタを仕込む時間もなかったので僕がいつもやってることをさらっと紹介するということで勘弁して下さい>< MySQL がおかしい! 03:14 hidek: なんかエラー出まくってるんだけど! 03:14 zigorou: MySQL と通信してるとこっぽい 03:15 riywo: 見ます こんなやりとりは皆さん日常茶飯事ですよね?ね?ね?こんな時に、DB に責任を持つものとして真っ先に対応するのが僕らの仕事です。でも、じゃあ具体的にこのあと何をしましょう?既にサービスはエラーだらけで一刻を争う状態です。 (対応開始) まずはエラーメッセージ 今回の様な場合はアプリのエラーログにどばっと MySQL に関するエラーが出ているでしょう。まずはそれを見ることが始ま

    MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...
  • DNS勉強会@ゼロスタに行ってきた - As a Futurist...

    恒例の行ってきたエントリです。そういえば qpstudy 書き忘れてたけど、あれは勉強会じゃないからいいよね(;・∀・) というわけで、今日は万難を排してゼロスタートコミュニケーションズで開催された「DNS 勉強会」に行ってきました。つぶやきまとめはこちらをご覧ください。途中の@sugyan さんがよくわかりません。 Togetter – 「インフラエンジニア( zaki )による、エンジニアのための「初心者向け DNS 勉強会」 #zsstudy」 DNS ってなんじゃい! BIND があまりにもよく使われるせいで、「DNS=BIND」的な感じで BIND の設定のはなしとかばっかりが世の中にはびこってるけど、そもそも DNS ってどういう仕組みでどういう登場人物がいるのかという話を、@zaki 社長自ら解説するという豪華な勉強会。最初かなりグダグダな感じ(始まってから「ハッシュタグ今決

    DNS勉強会@ゼロスタに行ってきた - As a Futurist...
    ryshinoz
    ryshinoz 2011/04/22
  • GNU Parallelがすごすぎて生きるのがつらい

    皆さん今日もたくさんのサーバを相手にされていることかと思いますが、いくつかのサーバにアクセスして 1 秒間の統計情報(例えばvmstat 1 2)を集めてパッと表示したい時ってどうやってますかね?shell script を学びはじめたばっかりの僕はこんな感じで書いてました。 $ for i in host1 host2 host3; do ssh $i "vmstat 1 2 | tail -1"; done 0 0 0 329004 210836 14275360 0 0 0 2424 1410 1828 0 0 100 0 0 0 0 0 3716112 587704 25921684 0 0 0 488 1643 2026 0 0 100 0 0 1 0 0 555440 265560 14015548 0 0 0 4204 1534 2392 1 0 99 0 0 vmstatと

    GNU Parallelがすごすぎて生きるのがつらい
    ryshinoz
    ryshinoz 2011/04/19
  • 「安全なWebアプリケーションの作り方」を読んでセッションを復習してみた - As a Futurist...

    タイトルが長くて略称があれば知りたい感じの「安全な Web アプリケーションの作り方」を暇を見つけて読んでいます。今まであいまいなままだった部分を順を追って説明してくれるので、当に助かります。Web アプリ作りの初心者は卒業したかなーという人は必ず目を通しておくと良いと思います。 Cookie を用いたセッションについて復習 「HTTP はステートレスで」とかいう話はよく聞きますが、じゃあどうやってセッション管理するのがいいの?って話をよく考えると体系的に聞いたことがなかった!というわけで、こので文字通り体系的に学び直すことができました。 その中でも、「セッション ID の固定化」という話題はちゃんと分かってなかった部分があったので、こちらのサイトを参考に PSGI なアプリケーションを作ってみました(僕の書いたアプリ自体はその他の脆弱性に溢れていますがw)。コードはエントリの最後に。

    「安全なWebアプリケーションの作り方」を読んでセッションを復習してみた - As a Futurist...
    ryshinoz
    ryshinoz 2011/03/07