タグ

ブックマーク / r7kamura.hatenablog.com (20)

  • デザイン変更するときキャプチャ撮りまくると捗る - ✘╹◡╹✘

    これまではどちらかと言うとDBやWeb APIみたいな開発作業が多かったけど、最近はHTML/CSSを触るようないわゆるWebデザイン的な作業をする機運が高まってきた。あんまりちゃんとやったことが無いために年始から色々と考えてて、まあその結実としてキャプチャ撮ると捗るという体験があったので書き残しておく。ちなみにキャプチャは無い。あとでデザイン変えたやつ公開したら過程を整理して紹介できると良いと思う。 過程を残すと意見をもらいやすい 『藤村龍至 プロトタイピング-模型とつぶやき』というの中に、プロトタイプとして建築模型をつくっていく過程の話がある。与えられた条件を元にまず最もシンプルな状態から始め、課題を見つけながら少しずつ改善を加えていく様子が実例とともに紹介されている。この作業を反復しながら適用していくことで、模型の状態を都度更新していく。この方法には、設計者以外の人でも設計過程を見

    デザイン変更するときキャプチャ撮りまくると捗る - ✘╹◡╹✘
  • 『The Essential Web Design Handbook』読んだ - ✘╹◡╹✘

    Rafal Tomalの書いた『The Essential Web Design Handbook』というを読んだ。初心者のためにWebデザインの基となる知識を広く紹介している。構成としては、筆者がWebデザインを行うときのプロセスをまず最初に紹介し、その各段階を追っていきながら、「この作業は無視されがちだけどこういう点で効率的だからやった方がいい」「これを考えるときにはこういう知識を使う。今回の例ではこうやって考えた」という具合に進んでいく。 プロセス 筆者が推奨するWebサイトのデザインプロセスは次の通り: 調査して計画をつくる 発想を膨らませる スタイルガイドをつくる ワイヤーフレームを組む モックアップをつくる コードを書く 調査と計画 調査するというのは、明確なクライアントがいる場合は要求を聞くことであったり、競合サイトの様子を調べてくることであったり、使えそうな資料を広範に

    『The Essential Web Design Handbook』読んだ - ✘╹◡╹✘
  • 『ソフトウェアテスト技法ドリル』読んだ - ✘╹◡╹✘

    ソフトウェアテスト技法ドリル―テスト設計の考え方と実際 作者: 秋山浩一出版社/メーカー: 日科技連出版社発売日: 2010/10メディア: 単行購入: 7人 クリック: 153回この商品を含むブログ (19件) を見る 『知識ゼロから学ぶソフトウェアテスト』読んだ - ✘╹◡╹✘ を書いたところ、知り合いのテストエンジニアにこれオススメだよと勧めてもらい『ソフトウェアテスト技法ドリル』を読んだ。読みながら、どこでテストを書くのを満足すれば良いのか、このトレードオフはどんな条件下でどういう状態になるのか、テストについて常に信じられるものは何なのか、ということを考えていた。 なんでテスト書いてるのか まあ四年前のなのでググればレビューも沢山出てくるしとりあえずのことは置いといて、テスト書くときにいかに雑な仕事してるかという話でもしたい。日々コードを書いていると、たまに「なんでテスト書い

    『ソフトウェアテスト技法ドリル』読んだ - ✘╹◡╹✘
  • デスク遍歴 - ✘╹◡╹✘

    年の瀬なので、これまで作業するのに使ってきたデスクの遍歴について書く。 2011 これは3年前、大学生のときの実家の自分の部屋。インターンで得たバイト代をほぼ全部使って購入したMacbook Air 11inchと、Acerの大きめのディスプレイ。隣に転がってるヘッドフォンはAKGのK701で、けいおんで使われて流行ったのがきっかけで急に売れ始め理解できないまま業者が大量輸入するもそこまで売れず、抱えた在庫への不安から価格が一万円代まで下がった一瞬の隙を突いて買った。机は中学のときに親にもらったやつで、姉が一人暮らしを始めて余ってたのを貰い受けて二つ繋げて使ってた。ディスプレイとヘッドフォンと机は今も全く同じものを使ってる。右側にMacbookを置いてトラックパッド代わりに使うというのも今と変わってない。 部室 これは大学で所属していたギタークラブの部室の机。ここでよく譜読み (うちの部活

    デスク遍歴 - ✘╹◡╹✘
  • 『デザインの骨格』読んだ - ✘╹◡╹✘

    デザインの骨格 作者: 山中俊治出版社/メーカー: 日経BP社発売日: 2011/01/25メディア: 単行購入: 5人 クリック: 161回この商品を含むブログ (30件) を見る 年末に読もうと、幾つか会社からを持って帰ってきていた。その内の一冊、山中俊治の「デザインの骨格」というブログを再構成して書籍化した『デザインの骨格」を読んだ。元々がブログに書かれていたものということで、平易で、専門的過ぎず、諸所に解説もあり、読みやすい内容。自分もこういう文体で文章が書けたら良いなと思うところがあった。 過程の思考 の中では、著者がこれまでに経験したデザインの過程において、どんなストーリーがあったか、どんなことを考えていたか、ということが綴られている。自分にも、日々ものをつくる上で考えていることが山のようにある。それこそ、文字に起こせば書かれるプログラムの何十倍もの思考がそこにある。きっ

    『デザインの骨格』読んだ - ✘╹◡╹✘
  • 『Web API: The Good Parts』読んだ - ✘╹◡╹✘

    『Web API: The Good Parts』を読んだ。贈ってくれた人達ありがとうございます。 Web API: The Good Parts 作者: 水野貴明出版社/メーカー: オライリージャパン発売日: 2014/11/21メディア: 大型この商品を含むブログ (2件) を見る 目次 詳細はO'Reillyのページにて。 1章 Web APIとは何か 2章 エンドポイントの設計とリクエストの形式 3章 レスポンスデータの設計 4章 HTTPの仕様を最大限利用する 5章 設計変更をしやすいWeb APIを作る 6章 堅牢なWeb APIを作る 所感 Web API、よく知らない場合はとりあえず作りやすい方法で作っていこうという気持ちになりやすい。しかし、Web APIは後から変更するのが比較的難しいものなので、つらいものを使い続ける羽目になりやすい。また一貫性が重要視されやすいので

    『Web API: The Good Parts』読んだ - ✘╹◡╹✘
  • 25歳定年説によせて - ✘╹◡╹✘

    今日で無事25歳になりました。 去年とあるアドベントカレンダーの記事で25歳定年説について触れたけれど、いざ自分がその歳になってみると「確かに」と言った感じ。実際、周りのコンテキストを見てると、疲弊感、厭世感、アガりたい気持ち、結局一発あてられない風潮、その他もろもろが綯い交ぜになった茫漠とした不安が感じられることが多くなってきた。 その内、精神的な意味で体力というものが薄れ、週末にこういった活動に割く気力が無くなったとき、 ハッカーとしてはそこで死んでしまうのだと思う。そのことがただ悲しい。 何となくそういう予兆は感じられているし、あと2年もすればそのときは訪れると思う。 若者の界隈で、25歳定年説と呼んで震えている。 特にこの事実について何か主張があるわけではないが、ただこの社会は厳しいということに尽きる。 社会は厳しいの一言で思考停止するのをやめたい。 社会の斥力に負けて、心の弾力を

    25歳定年説によせて - ✘╹◡╹✘
  • 権限管理を実装するときの地味な話 - ✘╹◡╹✘

    「あるユーザがXをYできるかどうか」というメソッドを定義したいとき、Userに実装するよりも、Xに実装した方がうまくいくことが多かった。例えば「ユーザが投稿を編集できるか」という、ブログの共同編集のような機能で使うやつで考える。つまり、User#can_edit?(entry) みたいなやつにするか Entry#editable_by?(user) みたいなやつにするかという話になる。 後者の方でうまくいった理由は、Webアプリだとログイン中のユーザが存在しない場合というのがあるが、後者ではuserがnilの場合でも対応できたというのと、Userクラスが長大にならなかったという点 (Abilityクラスとかを全ての場所で統一して使えている場合はそれで良いので各自適当にやっていってほしい)。あとメソッドの命名規則の問題があって、名詞形 (例:User#name) か、xxx?で終わるメソッド

    権限管理を実装するときの地味な話 - ✘╹◡╹✘
  • リモートワークの地味な知見 - ✘╹◡╹✘

    華やかなところはまあググれば出てくるんで、地味なところに触れる。 日報にまとめておく リモートワーク中は、毎朝10:10 - 10:20の間、Google+ ハングアウトのビデオ通話を利用して進捗・問題共有しているんだけど、慣れてないと共有過多で時間が長くなりがち。8人居て、1人5分とかになると重い。いま取り組んでいる実装の話とかを始めてしまったり、あと会議参加者に対して「これどうですかね?」と質問する内容が含まれていたりすると、特に時間が長くなりがち。この辺は、事前にQiita:Teamの日報に前日やったことや翌日やることをまとめておいて、詳しくは日報に書いたんで見てくれという風に改善されたりした。日報、リモートワークで特に役に立つ。では日報を書いておけばミーティングは不要になるのではないかという話になるかもしれないが、この先は君の目で確かめてくれ。 情報の倍率を変えられるようにしておく

    リモートワークの地味な知見 - ✘╹◡╹✘
  • 「オブジェクト指向でなぜつくるのか」を読んだ - ✘╹◡╹✘

    オブジェクト指向でなぜつくるのか 第2版 作者: 平澤章出版社/メーカー: 日経BP社発売日: 2014/03/05メディア: Kindle版この商品を含むブログ (2件) を見る TL;DR 多くの人の「このを読むべきかどうか」という関心事に先に回答しておくと、「万人が読んでおいて損は無いとまでは言い切れないけれど、オブジェクト指向に興味があって元気もあるという奇特な人間は読んでも良い」です。 オブジェクト指向とは何か 平澤 章さんが書いた「オブジェクト指向でなぜつくるのか」というを読みました。オブジェクト指向を「難しいソフトウェア開発を楽に行うための総合技術」と表現しながら、「オブジェクト指向とは何か」という問いに対して現実的な解を与えようという一貫した姿勢に親しみを覚えました。 保守や再利用を目的とした技術 目的という側面では「オブジェクト指向はソフトウェアの保守や再利用をしやす

    「オブジェクト指向でなぜつくるのか」を読んだ - ✘╹◡╹✘
  • ストリーム表現とその変換 - ✘╹◡╹✘

    データをストリームとして表現する方法と、ストリームを変換する方法を紹介する。 ストリームはメッセージが流れる川である Pub/Subメッセージングモデルでメッセージを流すためのオブジェクトのことをストリームと呼ぶことにする。ストリームにはメッセージをPublishでき、またメッセージを受け取ったときの処理をSubscribeできる。例えばキーボードからの入力をPublishして、内容をコンソールに出力するような処理をSubscribeできる。 kamo.jsでストリームを表現する ストリームについて説明するために、kamo.jsというストリームを表現するためのライブラリをつくった。kamo.jsは、ストリームを作成するためのkamo.Streamというコンストラクタ関数を提供する。このコンストラクタ関数から作成されたオブジェクトは、publishとsubscribeというメソッド(※プロパ

    ストリーム表現とその変換 - ✘╹◡╹✘
  • APIデザインの極意 - ✘╹◡╹✘

    APIデザインの極意 Java/NetBeansアーキテクト探究ノート 作者: Jaroslav Tulach,柴田芳樹出版社/メーカー: インプレスジャパン発売日: 2014/05/23メディア: 単行(ソフトカバー)この商品を含むブログ (4件) を見る API設計は難しい "良い"APIを設計するのは難しく、APIの良し悪しを定量的に観測することは難しいとされている。後方互換性や拡張性、不具合の発生率などで曖昧に推し量ることはできるが、これは良い、これは悪い、とはっきり決め付けることは出来ない。そもそもAPIから「これ」と呼べるある側面を切り出すことも難しいと言える。また、APIの設計技法を学べる機会は多くないとしている。物事を感覚として認識することはできても、それを表現し他人に伝え信じてもらう方法を持たない場合が存在する。 API設計を芸術的取り組みにしてはいけない API設計の

    APIデザインの極意 - ✘╹◡╹✘
  • リゾートワーク - ✘╹◡╹✘

    1週間ほど休みとって沖縄旅行いってきた。 快適な空の旅 同乗者と空港でゆっくり朝ごはんべてたら普通に飛行機もう飛んじゃっててウケた。 ギークハウス沖縄 2日間泊めてもらったり近場の飯屋に連れて行ってもらったりとにかくお世話になった。 台風で落ちてきたココナッツ割ってべた。 屋上の見晴らしが良くて羨ましい。 東京に来る機会があれば卓球ハウスに是非。 レール 那覇空港から首里城付近まで、ゆいレールというモノレールが通っているので初日は主にこれで移動。 700円で24時間のあいだ乗り放題で重宝した。 主要なところしか通っていないのでモノレールだけでは行けないところもあるけど、 特にめっちゃここに行きたいみたいな願望は無くて漠然と沖縄吸いたいという感じだったから、 むしろレールが引いてあって便利だった。 首里城 観光地にしてはそこまで観光色が強くなくて印象が良い。 城壁 城壁好きなので一周出来

    リゾートワーク - ✘╹◡╹✘
  • 全てがJSONになる - ✘╹◡╹✘

    TL;DR JSON Schemaを使ってこういうことが実現可能になった。 ダミーAPIサーバの提供 ドキュメントの自動生成 APIクライアントの動的定義 APIサーバのバリデータの動的定義 APIサーバのレスポンスの自動テスト JSON Schemaとは JSON SchemaというのはあるJSONのデータ構造を記述するための方法および書式の仕様で、 JSON SchemaもJSONで記述される。 これを利用すれば、リソースベースの(=RESTfulライクな)APIの仕様が簡便に記述できる。 例えば、我々のAPIレシピとユーザというリソースを扱っていて、 それぞれCRUDのAPIを備えており、レシピはidとtitleとdescriptionという属性を持つ、 という旨をJSON Schemaで表現できる。 なんで最近ちょっと流行ってんの Mobile First、 Service Or

    全てがJSONになる - ✘╹◡╹✘
  • スター・ウォーズ内の英単語全部再生するやつ - ✘╹◡╹✘

    ARST ARSW: Star Wars sorted alphabetically - YouTube よく出る単語は出た数だけ再生してくれるし、動画見てたらどういうコンテキストで使うか思い出せるし、 ABC順で覚えやすいし、とにかく便利。

    スター・ウォーズ内の英単語全部再生するやつ - ✘╹◡╹✘
  • Railsアプリつくった - ✘╹◡╹✘

    最近APIサーバ用途でRailsアプリを1個つくったので振り返る。 概要 接続元はiOSやAndroidアプリとか、Webブラウザとか、別のWebアプリケーションとか。1ホストあたり秒間数百リクエスト、平均応答時間10msぐらい。Rails 4.1.0.rc2、Unicorn、Nginxを使ってる。正直Railsは全部入りで重いイメージがあったので何となく平均50ms以内程度であれば良いところだろうと思ってたけど、意外と速い。多分そもそもサーバの性能が良いんだと思う。実装時に気を付けたことは普段の開発と特に変わりない。いつもは大勢でワイワイ開発するものに少し手を加えるということが多いんだけど、今回は珍しく自分一人でつくったから目が行き届いてたのかもしれない。DBへの問合せの効率に気を配るとか、Rubyでの処理の無駄を省くとか、アプリケーションのプロセスに無駄なコードを読み込ませないとか、計

    Railsアプリつくった - ✘╹◡╹✘
  • 前進してる感 - ✘╹◡╹✘

    「目で見て手で触って 自分が何やってるのかちゃんとわかることを仕事にしたいと思ったんだ 弁当屋は作って買ってもらってべてもらうっていうのが すごいシンプルで具体的でしょ それが楽しいんだ お給料安いけど気分はいいよ」(『にこたま』1巻94頁 著者:渡辺ペコ) さっき読んだ漫画で、登場人物がこういう台詞を言う場面があった。人間が働く理由については疑問が沢山ある。これについては自分のことすら分からない。たまたまある方面に適性があって、学ぶ機会があって、経済的な事情に合致した、その結果に過ぎないという風に考えることもできる。この方面に興味を持ったことすら、周囲の環境がたまたまそうであったからかもしれない。 誰かが決定論という言葉を教えてくれたけど、その言葉を知ったこと自体にあまり意味はなかった。ただ、強く信じられる確かなものが欲しいという欲求があることは分かった。自分が何をやっているのか分かる

    前進してる感 - ✘╹◡╹✘
  • Ruby Patterns - ✘╹◡╹✘

    この記事には、Rubyを書いているときに「これは言語化されたり公式化されたりしていないけれど基的には必ずこのパターンに則ってプログラムを書いているな」ということをふと思い出したときにやってきてそのパターンを書く。多分3パターンぐらいで終わると思う。ウケが良ければ思い出す確率が高くなると思う。題材さえあれば何も考えずに書けるので、これを書くコストは全然高くない。 名前が"?"で終わるメソッドは必ずtrueまたはfalseのどちらかを返す trueとfalse以外(例えばnil)が返る可能性がある場合は、必ず式の先頭に!!を付けてtrueかfalseになるようにしてる。 このパターンを守ることがとても大事だという風には全く考えていないけど、もしhas_user?がuserを返すとして、has_user?という名前のメソッドがUserオブジェクトを返すというのは一体どういう意味を持っているのだ

    Ruby Patterns - ✘╹◡╹✘
  • 鞄情報 - ✘╹◡╹✘

    空前の鞄ブームが来てるみたいなので、個人の日記レベルの内容になりますが、普段使ってる鞄情報を共有します。 小 iPad miniとKindle Paperwhiteが入る。 肩掛けで肩に不調を来さないのはこのくらいのサイズまでだと思う。 最近考え方が変わってきてこれも重く感じてきたので、 Paperwhite入れる用途で腰に付けるタイプの良いのがあったら買い換えたい。グアム行くとき確かこれとクロックスで行った。 楽天市場 Orobianco GIACOMIO-7028341 中 Macbook Air 13inchとiPadとペットボトルぐらいが入る。 どうしてもPCが必要なときはこれを使ってる。 韓国これで行った気がする。韓国海苔は沢山入る。 DYKE | RUCK SACK | 吉田カバン | YOSHIDA & CO., LTD. 大 Macbook Pro 15 inchに加えて衣

    鞄情報 - ✘╹◡╹✘
  • DRY原則とテストの可読性 - ✘╹◡╹✘

    DRY原則に従おうとするほど、テストコードがどんどん読みづらくなる。 The RSpec Bookに答えがあるかと思って読んでみたものの、「あるある」と一言述べているだけだった。辛い。 テストコードが読みづらくなる例を示すために、1つRubyのライブラリをつくった。 値とパターンを与えてValidationを行う機能を提供するライブラリ。 実装60行、テスト120行なので、詳しく見たければすぐ読めると思う。 最近不意ながらキラキラネームの命名力が上がってきたと思う。 avalon - A validator implementation for Ruby https://github.com/r7kamura/avalon 冗長だが読みやすい例 letもsubjectもローカル変数も何も用いずに率直に書いたテストコード例がこちら。 冗長だが読みやすく、テストコードを見ればライブラリの使い

    DRY原則とテストの可読性 - ✘╹◡╹✘
  • 1