タグ

ブックマーク / blog.sushi.money (87)

  • 作り直し - hitode909の日記

    ソフトウェアを作ってて、作り直したり、書き直したりするべきかどうかという話をすることがある。 大きな規模だと、ソフトウェアを作り直す、というところから、小さな規模だと、込み入った機能を書き直す、くらいまであるけど、作り直すとうまくいくのは、次の二つのうちどちらかではないか。 最初に作ったときより世の中の技術が発展したとき 昔のコンピュータでは収まらなかったとか、昔は良いライブラリがなかったけど、今はある、というとき。 単に今ありふれた技術で作り直すと、よいものができそう。 最初に作ったときよりはコンピュータのスペックが上がったので、そのつもりで、並列度倍に上げても止まらないし、より速く動かせる、とか。 昔はバッチで計算しないといけなかったけど、今ならリアルタイムに返せる、とか。 昔は依存管理のよいライブラリがなかったけど、今ならこれ入れたら簡単、とか。 最初に作ったときより人間の技術が発展

    作り直し - hitode909の日記
  • YAPCでおもしろ発表してきた - hitode909の日記

    YAPCおもしろ発表してきた. はてなブログの開発を振り返って設計の進化と最高の設計を紹介するという話. speakerdeck.com なぜか大人気発表みたいになってて,会場満員で,すみませんこんなところに来ていただいてすみませんというかんじだった. 紹介したはこちら.予約投稿で仕込んであって,発表終わったら,こちらから買ってくださいとかやろうと思ってたけど,すっかり忘れてた. YAPCの発表で紹介した - hitode909の日記 質問たくさんいただいて,よいかんじにおさまったと思う. 「難しくて挫折するという問題がありますよね」「歯をい縛って実装しろって書いてあった」 #yapcasiaE— そらは (@sora_h) 2015, 8月 21 Q: 「コメントの良い書き方は?」 A: 「オブジェクト指向入門下巻に書いてあります」 ↓ 「買って読みます。」 #yapcasiaE

    YAPCでおもしろ発表してきた - hitode909の日記
  • KAOSS DJで姉を出したり朝ご飯を選んだり絵文字を高速入力したりgit pushもできる - hitode909の日記

    最近KAOSS DJで遊んでて,きのうMIDIイベントを受け取るところまでできたので,もうちょっと知的なことをやってみる. フェーダーに応じて姉を出す クロスフェーダーの値に応じて文字を出してみる.UniMIDIでイベントを受け取って,182番のときだけ値を見てなんかする.182番はクロスフェーダの操作で,3番目にフェーダーの位置が入ってる. require 'bundler' Bundler.require input = UniMIDI::Input.first.open loop { events = input.gets events.each{|event| data = event[:data] next unless data[0] == 182 size = data[2] / 127.0 * 30 puts '姉' * size } } sketch-midi/ane.r

    KAOSS DJで姉を出したり朝ご飯を選んだり絵文字を高速入力したりgit pushもできる - hitode909の日記
  • 気が狂った設計 - hitode909の日記

    大きめのこととか,自信のないところを触るときは,コード書く前に,こういう作戦考えてみたけどどうですかって聞いてみたり,こういうことやりたいんだけど一緒に考えませんかって,いっしょに話して設計考えたりするとよいと思う. 一緒に考えたすぐあとに気が狂った設計とか言い出したらおかしいので,未然に変な設計のままコード書いてしまうのを防げる. 特に辛い気持ちになるのが、「気が狂った設計」「クソコード」「(こんな実装は)有り得ない」といった言葉だ。 Pull Requestのレビューが辛くて会社をやめたい 単に言葉が強いのはよくないと思う.我が社にはそんな強い言葉でレビュー書く人はいない. 我が社には,普段から強い言葉を発する人もいなくて,みんな物腰柔らかな変な言葉を話している. 言葉使いや文体は,ずっと過ごしてると同僚から移ったりするので,普段からそういう言葉を話していると,全体の雰囲気も悪くなりそ

    気が狂った設計 - hitode909の日記
  • フライパンの蓋 - hitode909の日記

    今はモダンなJSの技術よりフライパンの蓋あったほうがいいかどうかが気になっている— 趣味はマリンスポーツです (@hitode909) 2015, 4月 6 蓋要るよ派 蓋いるよ— hakobe (@hakobe) 2015, 4月 6 @hitode909 この前買った結果世界が変わったのであったほうが良いです— Julius/HP (@ast_j) 2015, 4月 6 蓋する— おきゃん (@Oh_CanNotAngel) 2015, 4月 6 フライパンの蓋ないと目玉焼きも餃子も美味しく作れないのであったほうが良いです— Masayoshi Wada (@masawada) 2015, 4月 6 フライパンの蓋あったほうがいいです— soh335 (@soh335) 2015, 4月 6 あると便利なフライパンの蓋— ✌ ( ❦ ٮ ❦ )✌ ♘ (@myg_) 2015, 4月

    フライパンの蓋 - hitode909の日記
  • 最高のマウスストーカーを作った - hitode909の日記

    だいぶ前のはてなインターンの講義で,JavaScriptの講義をしたのだけど,そのときの課題で,マウスストーカーを作る,というのを出題した. 教科書は公開されていて,課題はこのへん. https://github.com/hatena/Hatena-Textbook/blob/public2014/javascript-event-driven.md#課題2 インターン生たちがいろんなおもしろマウスストーカーを作ってくれて,おもしろかったのだけど,せっかく出題したので,僕も作ってみた. このページでも有効になってるので,マウスのボタンを押してみてください.ご迷惑おかけします. http://mouse-stalkers.github.io/the-best-stalker-ever/ こういうファンシーな見た目. GIFだと見ずらいけど,☆が飛んでくるっていうマウスストーカー.マウスダウン

    最高のマウスストーカーを作った - hitode909の日記
  • 英単語がQWERTY配列上で右か左か調べるやつ作った - hitode909の日記

    英単語,キーボードで打ってて,右手と左手をバランスよく使えると,気持ちがいい. ずっと片手で打ってると,なんか調子がおかしくなる. たとえば,ポキポキポッキーポキポキポッキーポキポキポッキーってずっと打ってると指つりそうになると思う. 普通に暮らしてるとポキポキポッキーって打ちたいことはないけど,プログラム書いてると,変数名などは同じのがよく登場するので,そういうのに指つりそうな名前をつけないよう,調べられるようにした. GitHub - hitode909/rl: Print the term's balance in QWERTY keyboard 使い方 rl.rbに単語を渡すと,右か左か教えてくれる. appleは右っぽい. % ruby rl.rb apple left: 2, right: 3 60% right microsoftはちょっと左. % ruby rl.rb mi

    英単語がQWERTY配列上で右か左か調べるやつ作った - hitode909の日記
  • ターミナルから簡単に曲を聞けるbgm.rbというのを作った - hitode909の日記

    bgm.rbは音楽プレイヤー.ターミナルから簡単に曲を聞ける. hitode909/bgm · GitHub 聞く 聞きたい曲のジャンルを入れたらおもむろに曲が流れる.終わったら次の曲.最大200曲聞ける. % bundle exec -- ruby bgm.rb hiphop ドクター・ドレー - The Next Episode https://itunes.apple.com/jp/album/the-next-episode/id14435051?i=14435093&uo=4 Run-DMC - Walk This Way https://itunes.apple.com/jp/album/walk-this-way/id255372435?i=255373524&uo=4 エミネム - Lose Yourself https://itunes.apple.com/jp/albu

  • Google IME SKK サーバー 作った - hitode909の日記

    Google CGI API for Japanese Input*1を使って変換するSKKサーバーを作った. Googleのサーバーが高性能なので,通常のSKK辞書ではできないような変換ができる.以下は例. 手元の辞書にないが世の中にはあるような言葉を変換できる. 意味不明な言葉でも適当に変換できる. 一文まとめて変換できる. インストール gemになってるので,gem installでインストールできる.依存ライブラリは特にないはず. % gem install google-ime-skk追記,Ruby1.8ではgem install jsonする必要があった,Ruby1.9では不要. 実行 google-ime-skkという実行ファイルができるので実行するとサーバーが起動する. % google-ime-skk 設定 AquaSKKでは,skkserv辞書として追加する.デフォルト

  • テスト先に書きたい若者よ - hitode909の日記

    弊社では毎年インターンを受け入れているのだけど,いまもインターンが来てて,テスト先に書きたいけど油断すると先に実装を書いてしまう,とか話してた. 個人的には,テスト先に書くのが大事というよりかは,意識して仕様を先に考えるのが大事だと思っている.テストを先に書くと,先に仕様を考えざるを得ないので,良いスタイルが身につく. 僕がよくやるのは,関連しそうなクラスの絵をひと通りノートに書いてみて,その図だけで,うまく動くことを説明できるくらい考えてみる.その時点でおかしかったら,コード書いてもおかしくなる.ノートに方眼ついてるとクラス図書きやすい.UMLとかじゃなくても,自分で見て分かるくらいでもいいと思う. 紙でうまくいったら,外部仕様だけソースコードに書いてみる.クラス名と,メソッドの定義と,メソッドの上くらいに,ひと通りコメントでも書いてみて,この関数はこういうことをするんです,こういう引数

    テスト先に書きたい若者よ - hitode909の日記
  • Tumblrの画像がリズム良くどんどん出てくるページ作った - hitode909の日記

    Tumblrの画像がリズム良くどんどん出てきてめでたいページを作った. http://hitode909.appspot.com/nagameru/ 様子 おしゃれ サブカルソフトウェア開発した 使い方 左上にマウスカーソルを持っていくとユーザ名入れるとことが出て,なんか入れるとアカウントを切り替えられる. 左下にマウスカーソルを持っていくと,再生する速さ,どこからループするか,ループの長さ,シャッフルするか,くらいを決められる 曲に合わせてクリックし続けるとBPMを設定できる 左下のスライダーをなんかいじるだけでそれっぽいオシャレ紙芝居が再生されるという設定 アカウント切り替えた例 http://hitode909.appspot.com/nagameru/?user=abuf 荒れたアカウント http://hitode909.appspot.com/nagameru/?user=sa

    Tumblrの画像がリズム良くどんどん出てくるページ作った - hitode909の日記
  • ■ - hitode909の日記

    今日テストなくてめちゃくちゃに壊れてるアプリケーションのテストを一から書いてて、わりと書けてよかった。午前中セットアップに手間取ってて、午後からテスト書き始めて、小さいアプリケーションだったのでC0 90%くらいまでいけた。3年間くらいテストないせいでびくびくみんな触っててめちゃくちゃに壊れててよくなかった。テストえいって書けば書けるんだから、隙を見て書いていきたい。ずっとテストのあるWebアプリケーション眺めてるのでだんだんコツが分かって気がする。まず最初にCIに載せて、カバレッジ測れるようにする。面倒だけど、これやっておくと後で役立つ。普通にテスト書くと、実行環境までは定められないけど、CIがあれば、そこをベースに議論できる。最初は、アプリケーションのルートのモジュールをuse_okするだけ、くらいでまず通して、カバレッジも取れるようにする。たとえば、MyAppっていうアプリケーション

    ■ - hitode909の日記
  • はてなブログ編集画面JSのページャ見どころ紹介 #pagernight - hitode909の日記

    昨日,ページャNightという勉強会で,はてなブログのJSの見どころを紹介するLTをした.(昨日の日記). 資料公開しようかと思ったのだけど,発表資料そのまま公開しても意味不明なので,エントリに書き直すことにした. たとえば,このLGTM画像は発表資料の1枚目で,もし発表資料をそのまま公開したら,こういう謎の画像を解説もないまま見ることになっていたはず. JSのページャいっぱいある はてなブログの編集画面には編集サイドバーというのがあって,写真とかAmazon検索とかTwitterとかinstagramとかあれこれ貼れるようになってる. Amazon検索しても画面遷移するわけじゃなくて,ウェブ2.0という感じで,XHRでJSONを取ってきて,HTMLを組み立てて表示,クリックすると選択,貼り付けを押すとエディタに挿入される,という仕組み. 編集サイドバーから貼れるサービスは10種類くらいあ

    はてなブログ編集画面JSのページャ見どころ紹介 #pagernight - hitode909の日記
  • encode_utf8しまくるやつ - hitode909の日記

    UTF-8文字列をUTF-8でエンコーディングした時に得られる文字化けに詳しい人「それUTF-8文字列をUTF-8でエンコーディングしてるんじゃない?」— インタビュー記事 (@moznion) 2014, 6月 11 use strict; use warnings; use Encode qw(encode_utf8); use Time::HiRes qw/usleep/; my ($value) = @ARGV; while(1) { print "$value\n"; usleep 100000; $value = encode_utf8 $value; } encode_utf8しまくるやつ % perl encode.pl '徳川家康' 徳川家康 å¾³å·å®¶åº· å¾³å·Â家康 Ã¥þóÃ¥÷ÃÂÃ¥îöÃÂ¥

    encode_utf8しまくるやつ - hitode909の日記
  • 背景を止められない不自由なインターネット - hitode909の日記

    きのうの日記、背景が動いて見てられないっていう感想が大半だった。これは悲しいことで、昔なら、さらっと背景を止めるUserScriptでも書いて、背景止めてから落ち着いて読めてた。 最近は、iPhonetwitterクライアント内蔵ブラウザなど、ユーザーが手を入れられないブラウザが増えている。PCのブラウザも手を入れにくくなっていて、Firefoxだと右クリックでGreasemonkey書けたりしていたのが、Google ChromeではUserScript書きにくい。 これは寂しいことで、インターネットは皆の物だから、自分のブログを好きな見た目にするのも、他人のブログを好きな見た目で読むのも、勝手にできていいはずだと思う。俺たちのインターネットを取り戻したい。 photo by dalbera 追記 嫌がらせで背景を動かしたり、背景止めないと読めないと思ってやってるわけではなくて、背景が

    背景を止められない不自由なインターネット - hitode909の日記
  • ペンギン許さん - hitode909の日記

    たとえばペンギンクラスを作るとき、まずペンギンクラスを定義する。と言うと、いや待ってください、ペンギンは鳥ですから、鳥から継承させましょう、とかそういう話になる。 継承すると、ポリモーフィズムという技を使えて、鳥を受け取る関数に鳥でもペンギンでも渡せるようになったり、鳥の機能をペンギンが獲得して、足の数は?とか聞くと2とか返ってくる。 便利だけど、鳥でもペンギンでも共通して足の数を知りたいアプリケーション以外でそういうことをし始めると、きりがなくなって、哺乳類クラスが登場したり、生命の樹みたいになって最悪の継承ツリーが出来上がる。 アプリケーション的に意味ない限りは、クラスを作ったり継承したりしてはいけない。そのうち役立つかと思って作りたくなる気持ちは分かるけど、必要になってから作れば良い。大体の場合、後世の人たちが、このクラスなんであるんだろって迷うのにかかるコストの方が高い。

    ペンギン許さん - hitode909の日記
  • プレゼンテーション - hitode909の日記

    プレゼン自分ではすべったことないから得意だと思ってるのでいつも気をつけてることをシェアします。これさえ守ればすべらないのだから楽。 目次 目次 最初にめちゃくちゃおもしろい話をする 箇条書きせず一行ずつページを分ける 絵をでかくする 新しいページ作ったらデフォルトのパーツを全部消す 先に言う 意見や疑問を述べる スターウォーズエピソード4を見る 最初にめちゃくちゃおもしろい話をする 聴衆は懇親会のことしか考えてないので、とりあえず最初におもしろい話をして、注意を引きつけるとよい。つかみはこれでオッケーだって言えればよいくらいの面白い話をしましょう。よくある技術ブログとか、技術雑誌だと、こんにちは、最近温泉に行って心身共にリフレッシュしました、ヒトデです、とか書いてあるけど、そんなの読んで喜ぶ人が人と家族と親類以外にこの世にいたらおかしいから、そういうのじゃないとよい。 箇条書きせず一行ず

    プレゼンテーション - hitode909の日記
  • marquee - hitode909の日記

    marqueeタグ,最近人気ないけど,かわいいので,使っていきたい.今日の日記もmarqueeにすることにした.あなたの意図に反してこの文字が流れていたら私の意図通りこの文字が流れていると言える.フィードリーダーとかではmarquee出せない気がするので,わざわざ元のページ開いて見てほしい.現実世界には,あまり流れる文字ない気がするけど,巻物とかがんばって巻くとmarqueeになる.はmarqueeじゃなくて,Page Downという感じだから,あまりもう紙では見ることない気がする.身近なmarqueeとしては,新幹線とか乗るとmarquee見れる.自分が新幹線作ることを考えると,乗客にmarqueeを見せ続けて便利というのは不気味だから,新幹線考えた人は偉い.普通は乗客にmarquee見せようと思わないと思う.あと京都駅の駅前に防災情報みたいな電光掲示板が設置されてて,そこでmarqu

    marquee - hitode909の日記
  • コードレビュー - hitode909の日記

    コードレビュー,慣れるとできるけど,いきなりdiffを渡されて,どうぞ見てくださいと言われてもよくわからないと思う. やりましょうというのはいいけど,ただむやみに読んでもうまくいかない.変更がある程度大きくなるとdiffだけ見てもよくわからないので,いろいろ見ることになる. 僕はいつも以下のようなことを無意識にやってて,うまくいってる気がしてる.GitHubのPull Requestの仕組みを使ってる前提で. Discussionをさらっと眺めてどういう問題を解決したいのか見る Commit Statusを見て,テスト通ってることを確認する Commitsタブで1コミットずつブラウザの新しいタブに開く 全部クリックし終わったら古い順に1コミットずつ読む 気になる点があったらエディタとかにメモしておく.あとで書き直されるかもしれないので,まだコメントしない 全コミット見終わったらFiles

    コードレビュー - hitode909の日記
  • 名前 - hitode909の日記

    昨日読んだコード、$nameっていう変数の先頭二文字を取り出した変数名が$naでおもしろかった。おもしろいけどうれしさはない。先頭二文字取り出す必要があるなら、何かシステム的に意味のある行為のはずで、システム的に意味のある名前がなかったら何か名前をつけて、みんなその名前で呼んだり話したりできるようにする必要があると思う。たとえば、「名前の先頭二文字」より、「ユーザーのプロフィールアイコンの格納されているディレクトリ」のほうがわかりやすい。ディレクトリは、仕様としては、名前の先頭二文字を使う、とか。また、あちこちで名前の先頭二文字を気にしてるのは変で、プロフィールアイコンクラスにこの人のURL作ってくださいってお願いしたらURLもらえるほうが普段は先頭二文字とか無視できて便利。 blameしてないから特定の人をdisってるわけではなくて、こういうコードは一般的にこうあるべきという話で、bla

    名前 - hitode909の日記