ネットの海の片隅で

技術ネタの放流、あるいは不法投棄。

報われてほしい人たちと万人のための Web

ちょっと前からぼんやり考えてることがあるので、そのモヤモヤを整理しようと思ったものの、まだ整理できてないのでモヤモヤしたまま一度書き出してみる。 TL; DR チラ裏 気になっているもの 最近、note というサービスが気になっている。 description によ…

URLs are (not) alone

少し前にこんなエントリを書いた。 osa.hatenablog.com 要約するとこんな感じ。 URL はリソースを一意に特定するのがプライマリな役割だが、可読性が高くて指し示すリソースの内容がわかると嬉しい /articles/2018/03/16 より /articles/great-article のほ…

キー、その名状しがたきもの

URL とキーについて考えていたら、URL に含むキーについていろいろ思うところがあったので雑に dump しておく。 暗黙のうちに REST を前提にしてしまっているところはあるが、意識的に REST とは文脈を切り離して素朴に書いてみる。 重複する部分もあるが、U…

Ruby で 1 < 2 < 3 みたいな比較演算を書けるようにする試み

TL;DR 華麗に失敗した。 発端 そういえば Python ってたしか 1 < 2 && 2 < 3 じゃなく 1 < 2 < 3 みたいに書けるよな Ruby でもいろいろ魔改造すれば似たようなことできないかな? こんなモチベーションなので実用は目的にしていない。 何番煎じかもわからな…

oneshot task に規約と仕組みを導入する

Cookpad TechConf 2018 の突発 LT で話した内容をもう少しちゃんと書いてみます。 アドホックなタスクの必要性 日々、サービスを運用しているとアドホックなデータの変更や処理の再実行などが必要になります。 典型的には以下のようなケースです。 データマ…

モデリングについて

カフェで設計を考えていたらいろいろ思うところがあったので、カフェでのツイートを中心にしつつ自分向けにまとめてみる。 モデリングとは ここで言うモデリングは「人間の営みをコンピュータで実装するために分割して名前をつける行為」くらいの意味を意図…

『ベタープログラマ』を読みました。

この本です。 前から気になってたので年末年始の休みを利用して読んでみました。 感想 端的に言ってしまうと、あまりオススメしません。 訳がしんどい 原文を読んだわけではないので、本当に訳が良くないのか、そもそもの文章が良くないのかはわからないんで…

2017年振り返り

去年に引き続き、簡単に今年を振り返ってみます。 (帰省する電車の中で書くのが恒例になりつつある) 去年は時系列で書いたけど、今年はトピックごとに書いてみる。 いろんな場所に行った 首都圏を除くとこんな感じ。 いつ どこに なぜ 5月 名古屋 友人の結…

AWS Solutions Architect (Associate) に合格しました

TL; DR Online Badge www.certmetrics.com きっかけ 仕事で re:Invent 2017 に行くことになり、Certified な人びとだけが使えるラウンジ*1があると聞いたので。 勉強方法 公式の参考書を入手 ちょっとやったところで、英語での勉強は効率が悪いことに気づく …

middleman, CodeBuild, S3, CloudFront でいい感じにシュッとやる

モチベーション 自分が何者であるかを表明しておく場所が Web に欲しいなという気持ちがあった。 そのために osa.in.net というドメインを取得していたが、肝心のコンテンツが一切なかったのでとりあえず仕組みをつくることにした。 要件 安くて簡単 自分が…

Ruboty で TRPG をする

Ruboty pluginを書いたので簡単に紹介しておく。 https://github.com/s-osa/ruboty-roll 使い方 1d100, 3d6 などの文字列を ruboty roll に渡すと、ダイスの出目と出目の合計値が出力される。 > ruboty roll 3d6 [2, 4, 5] => 11 > ruboty roll 1d100 [41] =…

価値のないものを高速につくらないために

スピードとスピード感は違うし、素早くつくることと雑につくることも違う。 我々の仕事がコードを書くことではなく問題を解決することである以上、どんなに素早くつくるとしても誰のどんな問題を解決するのかは常に意識していなければならない。 その点につ…

スピード感のために品質を落とすということはチームの成長を諦めるということ

サービスを開発していると、スピードが重視される。 そのこと自体にはまったく問題はなくて正当なことだと思っている。 ユーザーに対して一刻も早く価値を届けるためには必要なことだ。 そもそも、自分がいる Web 界隈ではこの点について異論のあるサービス…

2016年振り返り

Twitter を見ていたら、いろんな人が今年のまとめを書いていたので僕も書いてみます。 実家に帰る近鉄特急の中で書いています。完全にチラ裏な感じです。 Timeline 卒論 多くの人に心配&迷惑をかけていた僕ですが、とうとう大学を卒業しました。 卒論のタイ…

gemをあまり使わずにFat Modelを整理するための本「Growing Rails Applications in Practice」

タイトルの通りで、 Growing Rails Applications in Practiceを読みました。 Fat controllerやFat modelに代表されるように、少し気を抜くとカオスになりがちなRailsアプリケーションの整理方法についての本です。 表紙とか目次も含めてPDFで88ページしかな…

排他的リソースに対するスケジュールの重複判定をSQLでシュッとやる

DB

突然ですが、排他的にしか利用できないリソースに対するスケジュールの重複判定の問題を考えてみようと思います。 典型的には「ある会議室では同時に複数の会議を開催できない」というようなスケジューリングの問題です。 ある既存のスケジュールを下の図の…

MIX PENLa-PRO のカスタム色設定

ミックスペンラプロといえば全国のP御用達のペンライトですが、このペンライトは色の並びがよくわからない感じになっています。 参考:コンサートペンライト/MIX PENLa-PRO MIX PENLa力が低いと、「あの色どこだっけ?」とか「あ、このピンクじゃない! も…

Rubotyでくじびきをする

Ruboty pluginを書いたので簡単に紹介しておきます。 https://github.com/s-osa/ruboty-kujibiki https://rubygems.org/gems/ruboty-kujibiki 使い方 GitHubにも書いてありますが ruboty kujibiki の後にカンマ区切りの文字列を渡すと、そのうちの1つをラン…

プログラマの最も重要な仕事道具は紙と4色ボールペン

日頃、メモを取るときや設計するときなどに4色ボールペンを使って仕事をしています。4色ボールペン使いのひとりとして、どのように使っているかをメモしておきます。ゼブラのクリップオンを気に入って使っています。 黒 多くの人が最もよく使う色である黒で…

エアロバイク読書のススメ

最近、意識的に読書をしています。基本的に1時間/日(下限値)くらい。 また、運動も意識的に始めました。こっちは運動の種類によりますが、1回につき20分から1時間くらい。 これらを別々にやると1.5-2時間くらい消し飛ぶので、運動と読書を同時にやってみよう…

電子書籍と紙の本を使い分ける

本が好きです。 電子書籍が大好きです。 Kindleには1200冊以上の本が入っています*1。 簡単に購入できて保存場所も取らない電子書籍は最高だと思っていました。 しかし、最近、紙の本を買う機会が増えてきました。 電子版が出版されていなくて泣く泣く紙の本…

AndroidユーザーがiPhoneを触って感じた12のこと

先日、iPhone 6sを購入しiOSデビューしました。 今までAndroidしか触って来なかった人間がiOSを触るとどう感じるのかを素直に書いてみようと思います。 良いと感じたところ アプリに恵まれている App Storeに並んでいるアプリが良いです。 「アッテ」とか使…

激しく今さらながら、iPhoneを買った

先日、iPhone 6sを買ったのでその経緯をまとめておく。 きっかけ ペーパープロトタイピングをしているときに、ぼそっと言われた一言。 「あ、UIがAndroidだ」 プロトタイプを作っているときに、Androidに向けて書いていた意識はなかった。 Androidしか触った…

限りなくゼロ円に近いコストで維持できるWebサービス

タイトルに書いたものを作りたい。 ごくごく簡単で単機能なWebアプリをほぼ無料で維持する、みたいなイメージ。調整さんみたいな? 方法としてはAWSを使う感じで、いわゆるサーバーレスアーキテクチャとか2-Tier アーキテクチャとか呼ばれているものになりそ…

変化

昔のぼく 「技術力ほしい」 最近のぼく 「技術力が必要」

はじめてのISUCON

2015-09-28に「お前それ糖質警察の前でも同じこと言えんの?」チームの一員としてISUCON5に出場してきました。 経緯 去年くらいからISUCONに興味はありましたが、 ISUCON出場者怖い ぼっちなので一緒に出る人がいない という問題により出場していませんでし…

僕が「エンジニア」と名乗らない理由

はじめに 徹頭徹尾ポエムです。 いくつかの小さな理由 決定的な要因ではないにせよ、僕がエンジニアと名乗らないのには以下のようないくつかの理由がある。 工学の学位を持っていない。 「エンジニア」はソフトウェアエンジニアだけじゃない。 変圧器を作る…

データベーススペシャリスト試験に合格しました。

4月に受けたデータベーススペシャリスト試験(DB)に合格していました。 情報セキュリティスペシャリストに続いて2つ目の高度試験合格になります。 えびでんす 参考書 このへんで勉強しました。 ただ、DBの設計経験がないとかなりしんどい気がします。逆に、…

GitHubのIssues/Pull requestsにopen/closeした週で絞り込むフィルタを追加する

やりたいこと Issues/Pull requestsを作成した週で絞り込む。 Issues/Pull requestsをクローズした週で絞り込む。 週ごとの振り返りとかで使いたい。 実現方法 dotjs用のスクリプトを追加する。 参考:defunkt/dotjs · GitHub Before デフォルトのUI。「先週…

Rubyでゼロ除算になるかもしれないときの書き方

やりたいこと 分母に0が来る可能性がある除算をRubyで書くときに、すっきり書きたい。 考えるケース 店(Shop)がそれぞれ複数の在庫(Stock)を持っているシンプルなケースを考える。イメージとしては下のような感じ。 class Shop has_many :stocks end cla…