タグ

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

  • 10年かけてカナダでソフトウェアエンジニアになるまでの道のり - As a Futurist...

    修士課程を退学した15年前に、僕は全く実現可能性を考えずに”30歳までにアメリカの大学院に留学”という目標を立てました。 もう一度大学院に行きたい、行くなら世界トップのアメリカがいいだろう、そんな程度の認識でした。 ただ、これはどちらかといえば無理やりひねり出した30歳まで生きる理由であって、そこまで強い意志があったわけではありません。 しかし、おかげで何とか30歳を超え40歳目前まで生き延びることはでき、気が付けばアメリカではなくカナダで永住権を取って暮らしています。 大学院留学は引き続き他のハードルが高くて達成できる気はしませんが、15年前に目標を立てた時点では認識できていなかった 「海外移住する」という難儀を10年ほどかけて乗り越えることはできました。 けれど、そういえば事の顛末を一つにまとめたことが無かったなと気づいたので、僕のキャリア10年+αを振り返って記事にしてみました。

    10年かけてカナダでソフトウェアエンジニアになるまでの道のり - As a Futurist...
  • ブログを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...
  • コードが読めるソフトウェア開発者 - As a Futurist...

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

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

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

    質の高い技術文書を書く方法 - As a Futurist...
  • LLVMでForthを動かしてみた - 初めての言語処理系実装 - As a Futurist...

    ここ最近趣味として、LLVM を使って Forth 処理系を実装するというのをやっていました。ようやく一区切り(ここまではやりたい)と思っていたものができたので、コードを公開しつつブログを書いてます。 https://github.com/riywo/llforth 編は英語でどうぞ 質的に書きたい内容は英語で Medium および Wiki に書いてしまったので、そちらをご覧下さい。 I just published LLForth — Experimental implementation of Forth in LLVM https://t.co/On7NtBqEi8 #llvm — Ryosuke Iwanaga (@riywo) December 26, 2018 落ち穂拾い Low-Level Programming マジオススメ このがなければ LLForth はできな

    LLVMでForthを動かしてみた - 初めての言語処理系実装 - As a Futurist...
  • 「出過ぎた杭」を目指してみませんか? – 新卒エンジニアに向けて - - As a Futurist...

    新卒準備カレンダー 2011 春というおもしろい企画がありまして、3 日目は自分が担当させて頂くことになりました。@shibukawa さんの様に抽象的なレベルまで高めて書くほどの経験は残念ながらありませんので、僕ものんべんだらりと自分語りをしたいと思います。 Who are you? DeNA のサーバインフラエンジニア新卒 2 年目(=もうすぐ 3 年目)です。主な言語は Perl とshow slave statusです。プログラムやコンピュータに結構詳しい学生さんでも、インフラって何やってるのかについてはイマイチ伝わらないことが多いのですが、一応説明しておきます。僕は大してコードも書いてませんし、かといってプロジェクトマネージャみたいに人の管理もしていません。僕が相手にしているのはシステムが動いているコンピュータ(=サーバ)そのものです。システムの多くは無数のサーバが通信しあって提

    「出過ぎた杭」を目指してみませんか? – 新卒エンジニアに向けて - - As a Futurist...
  • DeNAを退職してAWSにJoinしました - As a Futurist...

    タイトルの通りですが、12 月末で 6 年弱勤めた DeNA を退職して、1 月から AWSJoin してます。日の Solution Architect です。初めての B2B のお仕事なので新卒新入社員の気持ちです。新卒入社時の予定ではもうアメリカに留学してるはずだったのに、どうしてこうなったのやら。。。 さて、DeNA にはエンジニア未経験の状態からここまで力を付けさせてもらって大変感謝しています。売上に直接貢献するような仕事はほとんどできなかったですが、起こらなかった問題に対する貢献は少しは出来たかなと思っています。そういえばここではちゃんと書いてなかったですが、最後の1年間は MYCODE という遺伝子解析サービスの開発をゼロから行っていて、何もないところからリリースまで辿り着くという産みの苦しみを味わうことができて非常にエキサイティングでした。ちょっとだけですが Sec

    DeNAを退職してAWSにJoinしました - As a Futurist...
    rokujyouhitoma
    rokujyouhitoma 2015/01/07
    お疲れ様でした!
  • 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...
    rokujyouhitoma
    rokujyouhitoma 2014/10/14
    凄い良い話。熱気が伝わってくる。Facebookの98%がHackというのも興味深い。
  • ポータブルな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アプリケーションとそのインフラの未来の一考
  • JSXでコンパイルしたJavascriptをmongo shellで動かしてみるテスト - As a Futurist...

    確実にメリットは全くないんですが何を血迷ったか、JSX でコンパイルした javascript を mongo shell にわせて実行してみようかとふと思いついたのでやってみました。mongo shell は SpiderMonkey を使っているので、javascript が普通に動きますとのことなので、まずは試してみました。 $ mongo > console.log("hello") Tue Feb 12 02:20:25 ReferenceError: console is not defined (shell):1 動きませんでした。。。print()関数しかないそうなので、とりあえずこういう逃げ。 > var console = { log : function (args) { print(args); } }; > console.log("hello") hello

    JSXでコンパイルしたJavascriptをmongo shellで動かしてみるテスト - 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...
  • 就労ビザ 【SFアドベントカレンダー2012】 - As a Futurist...

    最新の状況はご自身の目で確認するようにして下さい!!! ビザ? 何はなくともビザの話が必要ですね。そもそも海外旅行とかもあんまりしたことないので、僕はビザが何なのかも分かってなかったですね。外国に移動するにはパスポートが必要だというのは何となくみんな知ってると思うのですが、それとは別に入国する国が発行する「あなた入国してもいいよ」という感じのものがビザです(多分)。これがないとアメリカに入国することができません。 日からアメリカの場合、観光等で 90 日以内ならビザが不要でパスポートだけで行けますが(最近は ESTA の事前申請も必要。これについては後日書きます)、それ以上の滞在の場合はなにがしかのビザを取得しないといけません。というわけで長期に働くためにはそれ相応のビザを取得することから始める必要があります。 ビザの種類 ビザの取得をサポートしている会社のページを見てみます。 ビザ解説

    就労ビザ 【SFアドベントカレンダー2012】 - As a Futurist...
    rokujyouhitoma
    rokujyouhitoma 2012/12/03
    ピザの話しも欲しい。本場アメリカの。
  • 「リーダブルコード」が良書すぎて胃が痛い - As a Futurist...

    インフラ系のエンジニアは、あまりリファクタリングとかクラス構造といった視点でコードを読む機会が少なくて、勢い作ったスクリプトやツールはそれはそれはひどいものになりがちです(体験談)。 僕もエンジニアになって以来、まともなコードなんか書いたことなくて、従ってる原則といえば、「グローバル変数は悪」とか「短いことはいいことだ」とか「コメントは書かない方がいい」とか、なんか学生の時にたまたま目にしたよくわからない何かに従ってる程度。 少し大きい規模を書き始めると、昨日の自分と今日の自分で命名規則が全然一貫性なくて、「getHoge()」と「makeFuga()」がおんなじようなことをやってたりしていつも嫌悪感に駆られてました。 ちょうど 1000 行くらいのアプリ書いてたところだったので毎日吐き気をこらえながら「まずは動くものをつくるんだ。全てはそれからだ」と言い聞かせて汚いコードをゲロゲロしてた

    「リーダブルコード」が良書すぎて胃が痛い - As a Futurist...
  • コミュニティがあって僕は生きられた - As a Futurist...

    コミュニティについて、ふと振り返ってみた。 オフ会というもの コミュニティとはちょっと違うけど、多分オフ会的なのにちゃんと参加できたのは屋オフが初めてだと思う。インターネットでしか見たことない人と会うことはすごい不安だったけど、とてもいい人ばかりだったし尊敬できる人ばかりで、おかげで 12000 円も散財した。。。 コミケ書き終わったからオフ充してきた – As a Futurist… 第 3 回屋オフに行ってきた – As a Futurist… これがあったおかげで、オフ会というかインターネットでしか知らない人と会うことに抵抗なくなったし、むしろ積極的に会ってみた方がネットだけじゃできない話もできてものすごく有益だということを認識したんだと思う。 Tsukuba.R との出会い 僕が最初に出会ったコミュニティは Tsukuba.R。彼らとの出会いは、僕の人生にはかなり衝撃的だった。

    コミュニティがあって僕は生きられた - As a Futurist...
    rokujyouhitoma
    rokujyouhitoma 2012/01/17
    java-jaとPythonコミュニティ、それ以外のコミュニティに育てられたおかげでここにいます。
  • 突然のTwitter砲にもなんとか耐えたさくらVPSに感謝する - As a Futurist...

    なんか、2/6 の夜に「修士論文の代わりに退学願を提出してきた」が Twitter でばずったらしく、Yahoo 砲よろしく突如としてアクセスが集中しました。下の方にリソースモニタリングのグラフを貼りつけてますが、今までがほぼ 0 に見えてしまうくらいに来てたのでびっくりでした。 まぁ色々コメントつけて頂いたりしてますが、もう2 年も前なんでこのエントリについて今更僕から突っ込むことは無くて、あのエントリはあのエントリとして見て頂ければと思います。ここでは今回そんな突然のアクセス集中にも見事耐えてくれたさくら VPS に感謝しつつ、アクセス集中の状況を鯖管的立場から分析してみましょう。 ちなみに、以前エントリに書いていますがサーバの構成としてはさくら VPS1 台で、CentOS+Apache+mod_fastcgi+PHP-FPM+MySQL5.5(InnoDB)で WordPress

    突然のTwitter砲にもなんとか耐えたさくらVPSに感謝する - As a Futurist...
    rokujyouhitoma
    rokujyouhitoma 2011/02/07
    二年前の記事が注目受ける=>アクセス集中=>サーバが持ったという話。
  • 1