blog.syfm

徒然なるままに考えていることなどを書いていくブログ

esa、Google Cloud Functions、Hugo、Netlify で簡易 CMS をつくる

Hugo は、Markdown ファイルを元にブログポストの HTML を静的に生成することのできるツールです。Hugo で生成した HTML を Netlify や GitHub Pages にデプロイすることでブログをホストするためのサーバを用意せずにブログを公開することができます。 しか…

fzf ライクな fuzzy-finder を提供する Go ライブラリを書いた

fuzzy-finder fzf や fzy、skim などの fuzzy-search (あいまい検索) を提供する CLI ツールの登場により、コマンドラインでの操作はますます表現豊かになっています。 例えば、カレントシェルのコマンドヒストリの一覧から fuzzy-finder を使って選択したり…

fuzzy-finder で使われるスコアリングアルゴリズム

fuzzy-finder を構成するアルゴリズム fzy や fzf といった fuzzy-finder を使うと、stdin などからリストを受け取り、ユーザの入力によってマッチする行を絞り込むことができます。このとき、入力文字列の各文字は隣接している必要がありません。例えば、以…

A Philosophy of Software Design を読んだ

A Philosophy of Software Design作者: John Ousterhout出版社/メーカー: Yaknyam Press発売日: 2018/04/06メディア: ペーパーバックこの商品を含むブログを見る 170 ページくらいの洋書で、ソフトウェアの Complexity (複雑さ) について扱っている。洋書で…

一年を振り返り… (2018)

去年は syfm.hatenablog.com 1月 初日の出 高校の友人らと毎年恒例の初日の出を見に行った。 end of 就活 1月のカレンダーの予定を見てみたら毎週就活関連で東京へ行っていた。1月で全て終わったので以降はだいぶ落ち着いた。 OpenAppLab Aizu LT feat. Cyb…

dept を使った Go ツールの依存管理

はじめに ツールのバージョン管理が煩雑 ツールの統一的なインストール方法がない ktr0731/dept Go Modules におけるツールの依存管理 dept を使った依存管理 dept の実装 まとめ はじめに Go プロジェクトでは、しばしば静的解析ツールが使用されます。例え…

gRPC-Web Internals

これは Aizu Advent Calendar 2018 の 2 日目の記事です。 1 日目は @Ruto009 さんで、3 日目は @ayanoaizu さんです。 adventar.org gRPC-Web is GA! 今年の 10 月末に、gRPC-Web がついに GA (Generally Available) となり、メジャーリリースが行われまし…

就活を終えた

はじめに この記事はポエムです。 先日、内定承諾をして就活が終わった。 就活を始めたのが去年の 9 月くらいだったので、だいたい 1 年くらい就活をしていたことになる。 とはいえ、内定承諾をしたのが最近だっただけで実質的な就活は去年の年末で終わって…

技術書典 5 で Go & Kotlin 本を頒布します

技術書典 5 の「う11」で「Go & Kotlin Playground」というタイトルの本を頒布します。 以下のような本です。表紙は入稿 1 時間前につくりました。 Go & Kotlin Playground ホームページもつくりました。 gcf.syfm.me 割とニッチな章ばかりかなぁと思います…

GopherCon 2018 に Mercari BOLD Scholarship で参加・発表してきた

今年の 8 月 26 日から 9 月 1 日の間、Mercari BOLD Scholarship で Go 最大のカンファレンスである GopherCon へ参加していました。 tech.mercari.com GopherCon 2018 は希望者のみ参加できるワークショップ、3 日間に渡って行われるトークセッション、最…

ISUCON8 予選で負けた

タイトルの通りで、fail して負けました おわり #isucon— きたろー (@ktr_0731) September 16, 2018 参加メンバーは前回一緒に出た @natumn と、前回予定が合わなくて参加できなかった @acomagu です。 syfm.hatenablog.com 前回は惨敗したので ISUCON 6 と…

イケている技術、イケていない技術

たまに Twitter で「イケている技術」とか、「イケている会社」といったフレーズが流れてくることがある。そしてそのたびに違和感を覚えている。 Twitter で流れてくることにはほとんど価値はないので、それに対してなにか意見するのは不毛かもしれないけど…

自作 CLI ツールのワークフローとそれを支える技術

去年の秋頃から作っていた gRPC クライアントツールである Evans が今年に入り、徐々にいろんな方々に使われ始めました。 github.com Issue や Pull Request を頂けてとてもありがたい反面、それらを反映したバグフィックスや機能追加がツールに取り込まれて…

自分には何が向いているのか?

最近はよく、「結局自分には何が向いているのか?」を自問していることが多い。 別に就活で鬱になっているとかそういうものではなく、この問い自体は高校生くらいの時からずっと考えていて、それがいろんな環境・人と関わることが多くなってからより強く考え…

ある構造体型の変数の値をもう一方の変数にコピーするライブラリを書いた

書いたもの github.com 使用例 type Foo struct { Hoge string Fuga string piyo string } v1 := Foo{Hoge: "dummy", Fuga: "FUGA", piyo: "dummy"} v2 := Foo{Hoge: "HOGE"} ires, _ := mapstruct.Map(v1, v2) res := ires.(Foo) fmt.Println("%#v", res) …

gofmt を理解する

これは Aizu LT feat. CyberAgent での発表に補足を加えた記事です。 発表資料は speakerdeck.com gofmt Go には標準でさまざまなツールが揃っています。 その中でも自分が好きなものに gofmt があります。 gofmt は所謂コードフォーマッタの一つで、ソース…

一年を振り返り… (2017)

去年は 👇 syfm.hatenablog.com

Clean Architecture で Go 製の API サーバを書く

この記事は Aizu Advent Calendar の 20 日目の記事です。 adventar.org 前日は id:nktafuse の 、 nktafuse.hatenablog.com 明日は id:ywkw1717 です。 ywkw1717.hatenablog.com きっかけ 最近職場で Clean Architecture を取り入れたアプリケーションを Py…

GitHub に草を生やし続けて一年が経った

去年の今頃から毎日 GitHub に commit しようと決心し、最近 365 日を達成しました! いい感じ なぜかデフォルト表示の方の左上が白くなってますが、ちゃんと一年経っています。 意図 そもそもなぜ始めようとしたかというと、技術の習得には input と output…

より気軽に、簡単にテストができる gRPC クライアントをつくった

先日の A(izu)LT 0x09 で「Evans: more expressive universal gRPC client」 というタイトルで発表してきました。 タイトルの通り、gRPC クライアントをつくった話です atnd.org ALT は、会津大学の有志によって年に二回ほど開催されている LT (Lightning T…

ISUCON7 に出た

土曜日に ISUCON7 に出ていた。 チームは、自分と、同じ大学の友人一人。本当はもう一人いる予定だったけど、別な予定と被っていたらしく、二人のチームになった。 トラブルがあったようで、開始の時間が遅れて 13:00 からになったりと、運営の方もとても大…

はてなインターンで最高の夏を過ごしてきた

明示的に言ってはいなかったのですが、この1ヶ月間、はてなサマーインターン 2017 に参加していました! 公式のページ developer.hatenastaff.com TL;DR 用に言っておくと、最高の夏でした!!! 以下では、そのはてなインターンの思い出を振り返っていきた…

宇治 (響け!ユーフォニアム 聖地巡礼)

インターンが始まって早くももう3週間目が終わります。残すところあと1週間になりました。 先週までは土曜日に楽しいイベントがあったのですが、今週は初めてなにもない土曜日だったので観光に行きました。 嵐山 or 聖地巡礼で迷ったのですが、一日過ごせる…

近況

ここ最近は大学の期末考査や、アルバイト、インターンの課題が 2 つ、ドラクエ 11 と、死ぬほど忙しかった 今日・明日は休日なのでつかの間の休息みたいな感じになっている 今年の夏は 3 社のインターンに行き、8/14 から 9/30 まで休日以外はすべて埋まって…

Go にコントリビュートするまでの手順

最近、ついに Go (golang/go) にコントリビュートしました! 正確にはレビュー中で、レビューが通ってもマージされるのは Go 1.10 なので、だいぶ先は長いですが取り敢えず自分のできることは一通り終わりました。 Go ではレビューシステムに GitHub は使っ…

転職しました

今年の2月に約2年ほどアルバイトとして働いていた IT 企業を退職しました。 その後、3月から別な IT ベンチャーの会社でアルバイトのサーバサイドエンジニアとして働いています。 今しがた気づいたのですが、今日はちょうど入社して3ヶ月でした。 辞めた理由…

任意のコマンドのサブコマンドにエイリアスを設定できる salias をつくった

動機 最近のコマンドは大抵サブコマンド形式になっています。 $ docker pull hello-world このように、コマンド名 + サブコマンド + 対象 みたいな形式。 サブコマンドには大きく2種類あって、サブコマンドに動詞を指定するタイプと、リソースを指定するタイ…

データベーススペシャリスト試験を受けた

動機 先週の日曜日に情報処理技術者試験があって、データベーススペシャリスト試験を受けた。 受けた理由としては、データベースの基礎とかが所々欠けていて、今はそこまでデータベースをがっつり使ってはいないけどいずれ使うときに苦労しそうだなと思って…

ホームページを移行した・続

今日のお昼ごろに以下のようなエントリを書いたら、id:upamune さんから Netlify なるサービスを教えていただいた! syfm.hatenablog.com www.netlify.com パッと見めちゃくちゃ良さそうなので早速試してみた。 以下のように、GitHub や Bitbucket と連携し…

ホームページを移行した

(ホームページと言えばいいのかランディングページと言えばいいのか未だに曖昧…。) http://syfm.0t0.jp から https://www.syfm.me へ移行 既存の環境 今までは MyDNS という DDNS サービスで syfm.0t0.jp というドメインを使っていて、デプロイ方法と環境に…