タグ

ブックマーク / blog.jnito.com (32)

  • 過度なDRYは読みやすさの敵!?「リーダブルテストコード」という発表をしました #vstat - give IT a try

    先日、このブログでもお伝えしましたが、「VeriServe Test Automation Talk No.3」というオンラインイベントで登壇してきました。 veriserve-event.connpass.com 申込者数はなんと1000人を超えていて、大変驚きました。 僕は「リーダブルテストコード」というテーマで発表しました。スライドはこちらです。 Twitterでたくさんシェアされたり、はてなブックマークがたくさん付いたり、こちらもすごい反響でビックリしました。 で、どんな内容だったの? ひとことで言うなら「テストコードを徹底的にDRYにしようとしちゃダメよ!」というお話です。 このネタは昔からQiitaやTwitterとかでことあるごとに話してきましたが、この勉強会であらためてなぜダメなのか、DRYに書かず、どう書くべきなのか、という話を力説してみました。 優秀なプログラマほど、「

    過度なDRYは読みやすさの敵!?「リーダブルテストコード」という発表をしました #vstat - give IT a try
  • イヤな臭いにさようなら!業者に頼らず自分でエアコンのファンを掃除する方法 - give IT a try

    はじめに いやあ、夏真っ盛りですね。 毎日蒸し暑くて、この季節はクーラー(エアコン)無しでは生きていけません。 しかし、長年クーラーを使っていると、だんだんイヤな臭いがしてきませんか? 洗濯物を部屋干ししたときにたまに付いてしまう、カビっぽいような何とも言えないイヤ~な臭いが・・・。 我が家のクーラーもだんだんそんな臭いが強くなってきて、「暑い!クーラー!うっ、臭い。。。けど付けないと生きていけない」という状況になってきました。 そんなジレンマを打破すべく、昨日はリビングと仕事部屋のクーラーを思い切って掃除してみました。 エアコンの掃除は専門業者に頼む、という方法もありますが、1台1~2万ぐらいの料金を取られたりします。 しかし、気合いを入れれば自分でもそれなりにキレイにできます。 というわけで、このエントリではエアコンのイヤな臭いを取る掃除方法を紹介します。 注意事項 あくまで素人の作業

    イヤな臭いにさようなら!業者に頼らず自分でエアコンのファンを掃除する方法 - give IT a try
  • 小学校の卒業式でPTA会長として祝辞を述べてきた - give IT a try

    はじめに:PTA会長、祝辞に悩むの巻 昨日は息子の卒業式でした。 僕は今年PTA会長をやっているので、保護者としてではなく、来賓として出席しました。 こういうイベントでやってくるのが、「PTA会長の祝辞」です。 学校側はサンプルとして過去の祝辞をいくつか渡してくれたものの、自分で祝辞を考えるのはなかなか大変でした。 まず、「どこかで聞いたことのあるような平凡な祝辞」はしゃべりたくない。 あと、きれいな言葉が並んでるんだけど、抽象的で具体性のない祝辞もイヤ(「君たちには無限の未来が広がっています」「どんな困難も諦めずに乗り越えていってください」「いつも夢と希望を持って~」みたいなやつです)。 子どもの立場に立ってみると、祝辞って大半が「退屈なおっさんの話」なんですよね。 僕自身、まったく記憶や印象に残っていません。 なので、「ちょっと変わってて」「具体的で」「多少なりとも印象に残るような」祝

    小学校の卒業式でPTA会長として祝辞を述べてきた - give IT a try
  • 「レンジで字が消える!」というYouTube動画を真似した息子がノートを黒焦げにした話(※追記あり) - give IT a try

    2016.10.30 追記:おわび この記事は元々、YouTubeをよく見ているお子さんを持つ保護者のみなさんに向けて、注意喚起をしたいと思って書いた記事でした。 ですが、YouTubeの利用規約には「サービスは13歳未満の子供による利用を意図していません。あなたが13歳未満の場合、YouTubeウェブサイトを利用しないで下さい。」との記述があります。 お恥ずかしいことに私はこの利用規約をちゃんと確認していませんでした。 利用規約を確認しないまま、子どもにYouTubeを視聴させてしまったことは、私の完全な注意不足でした。 大変申し訳ありませんでした。 また、記事の中で「おそらく動画を投稿した人たちはそこまでの危険性があるとは自覚していないのでしょうが、もう少し想像力を働かせて上記のような問題点に配慮してほしかったなと思います。」と書きましたが、私もこのブログを公開することで動画を投稿

    「レンジで字が消える!」というYouTube動画を真似した息子がノートを黒焦げにした話(※追記あり) - give IT a try
    ducky19999
    ducky19999 2016/10/26
    息子に読ませよう
  • 英語力をアップさせる知見がいっぱい!「Rubyistのための英語勉強会」を開催しました - give IT a try

    はじめに 先週の土曜日(2015/8/29)に西脇.rb&神戸.rbの合同勉強会として「Rubyistのための英語勉強会」を開催しました。 nishiwaki-koberb.doorkeeper.jp この勉強会はその名の通り、Rubyist(Rubyプログラマ)の英語に対する苦手意識を克服し、英語力を高めることを目的にした勉強会です。 いちおうRubyist向けとはなっていますが、大半の内容はRubyist以外の人にも役立つものだと思います。 そこで今回のエントリではこの勉強会の内容や発表された知見等を紹介します。 会場は阪神深江のNilquebe(ニルキューブ)さんでした 当日の流れ 当日はこんな感じのタイムスケジュールで進行しました。 13:00~13:30 自己紹介 13:30~13:45 語彙力診断テスト 13:45~14:15 「こういうときに英語ができなくて困る」「英語ができ

    英語力をアップさせる知見がいっぱい!「Rubyistのための英語勉強会」を開催しました - give IT a try
  • Rails Q&A「Scaffoldで作成されるテストはそのまま使うべきか?」 - give IT a try

    はじめに 先日、ソニックガーデンでインターンをやってもらっている学生さんから、Railsのテストに関する質問を受けました。 他のRails初心者さんにとっても役立ちそうな内容だったので、こちらで共有しておきます。 質問 現在学習している「RailsによるアジャイルWebアプリケーション開発」ではscaffoldを使ってアプリを作っていきます。 rails generate scaffold xxxをした際、specディレクトリ以下に自動的にRSpecのファイルが生成されます。 たとえば以下のようなファイルです。 疑問に思ったのは、これらをベースにして、足りないところを補うといった形で開発を進めていくのが正しいやり方なのでしょうか? それとも、これらは削除して自分が必要だと思ったところだけを記述していけば良いのでしょうか? 僕の回答 端的に答えるなら「これらは削除して自分が必要だと思ったとこ

    Rails Q&A「Scaffoldで作成されるテストはそのまま使うべきか?」 - give IT a try
  • 「RSpecとMinitest、使うならどっち?」という発表をしてきました #kanrk06 - give IT a try

    はじめに 去る2015年7月11日、関西Ruby会議06で「RSpecとMinitest、使うならどっち?」という発表をしてきました。 今回ではこの発表に関する情報と、参加した感想等をあれこれ書いてみます。 発表の前に客席の写真を撮らせてもらいました。会場でかい! 発表のスライド 今回使ったスライドはこちらです。 RSpecとMinitest、使うならどっち? / #kanrk06 - Speaker Deck 発表の動画(当は練習風景) イベント当日の動画はありませんが、発表の前に練習用に撮ったスクリーンキャストがあります。(約25分) 発表内容はほとんど同じなので、当日イベントに参加していない人もこれを見ればだいたい内容がわかると思います。 RSpecとMinitest、使うならどっち? #kanrk06 - YouTube 今回の発表で工夫した点や気をつけたポイントなど 事実と意見

    「RSpecとMinitest、使うならどっち?」という発表をしてきました #kanrk06 - give IT a try
  • Rails3.1ではchange_tableメソッドでマイグレーションするとロールバックできない - give IT a try

    注意!! このエントリの内容はRails3.1.3での実行結果を元にしています。 将来的にこの内容が最新のRailsの仕様と異なる可能性も高いので、トラブルシューティングの目的でこのエントリを参照する場合は使用中のRailsバージョンをよく確認してください。 Rails3.1からはマイグレーションでchangeというメソッドが導入されました。 以前はUpメソッドに変更用の処理を、Downメソッドにロールバック用の処理を書く必要があったのですが、changeメソッドを使うとUpに相当する記述だけで済みます。 あとはRailsが自動的にDownに相当する処理を考えてくれます。(つまり、コードがよりDRYになります) # Ruby 3.0以前 class AddAgeToUsers < ActiveRecord::Migration def self.up add_column :users,

    Rails3.1ではchange_tableメソッドでマイグレーションするとロールバックできない - give IT a try
  • 浜松Ruby会議01で発表してきました + ライブコーディング動画を作りました #hmrk01 - give IT a try

    はじめに 昨日、浜松Ruby会議01で「Ruby未経験だった僕がドヤ顔で偉そうなことを言えるようになるまでの3年間」という発表をしました。 今回のエントリでは発表内容やイベントの感想等を書いてみたいと思います。 スライド「Ruby未経験だった僕がドヤ顔で偉そうなことを言えるようになるまでの3年間」 今回の発表で使ったスライドはこちらです。 Ruby未経験だった僕がドヤ顔で偉そうなことを言えるようになるまでの3年間 内容的には、この3年間の僕の紆余曲折を振り返りつつ、Rubyのスキルアップで役に立ったポイントを説明していく、というものです。 僕はスライドに書いていないこともたくさんしゃべるスタイルなので、リアルタイムに聞いてもらった方が情報量が多いですが、今回はスライドを見るだけでもある程度は伝わるかな~と思います。 2015.03.31追記:動画が公開されました Ustreamで発表当日の

    浜松Ruby会議01で発表してきました + ライブコーディング動画を作りました #hmrk01 - give IT a try
  • テストコードは「書けるようになる」ものじゃなく「書きたい」と思うもの(ポエム) - give IT a try

    Railsチュートリアルを見ながらテストコードを写経しても、自分でテストコードが書ける気がしない」という新人さんのつぶやきに思わず反応した僕の、斜め上から目線の感想を書きなぐっておきます。 テストコードは「書けるようになる・ならない」の問題じゃなくて、「テストコードって便利!テストコードって大事!!」って思えるかどうかじゃないかな~と思ってる。 僕みたいなおっちゃんが働き始めた頃は「テスト = 手で動かして目で確認してスクリーンショットを撮ってエクセルに貼り付ける」という肉体労働だった。 コードを変更したら、もう一回「手で動かして目で確認してスクリーンショットを撮ってエクセルに貼り付ける」を繰り返さなきゃいけなかった。 ところが、テストコードを書けば「自動化できる!何回でも繰り返せる!すぐ終わる!自動テストすげー!!」ってなって、「こりゃテストコード書けた方が100倍いいわ」っていうモチ

    テストコードは「書けるようになる」ものじゃなく「書きたい」と思うもの(ポエム) - give IT a try
  • 「プログラムのテストはパンチが全部終わってからにしてください」 - give IT a try

    かれこれ12~3年前、僕が最初に入社したSIerでのお話。 同じ職場の若い技術リーダーが、僕を含む新人プログラマにこんなことを何度も言ってきました。 「プログラムのテストはコーディングが全部終わってからにしてください」 つまり、最後の最後までプログラムを動かすな、全部作り終わってからテストとデバッグを始めろ、という意味です。 今思えばあれは完全に間違った指導だったよなあ、と思います。 プログラムはちょっと書いてはデバッグ、ちょっと書いてはデバッグ、を繰り返す方が絶対効率が良いです。 理想的にはTDDのサイクルがよいと思います。つまり、 テストを書く テストが失敗することを確認する コードを書く テストがパスするのを確認する gitにコミットする リファクタリングする テストがパスするのを確認する gitにコミットする ・・・というサイクルをちょっとずつ繰り返した方が堅牢なプログラムを効率よ

    「プログラムのテストはパンチが全部終わってからにしてください」 - give IT a try
  • Ruby初心者必見!?「ビンゴカード作成問題」のリファクタリング風景をお見せします #codeiq - give IT a try

    はじめに 先月、CodeIQにビンゴカード作成問題を出題しました。 CodeIQに「ビンゴカード作成問題」を出題しました。みなさんの挑戦をお待ちしてます! - give IT a try このビンゴカード作成問題、ありがたいことに50人もの方が解答を送ってくれました。 挑戦してくださったみなさん、どうもありがとうございました。 前回のエントリでは優秀作品ベスト3を発表しました。 今回のエントリはその続編です。 一部の解答(5)について、僕が実際にいただいた解答を採点しつつ、リファクタリングする様子を動画に撮っておいたので、その様子をお見せしちゃいます。 おさらい「ビンゴカード作成問題」とは? ビンゴカード作成問題とはその名の通り、Rubyを使ってビンゴカードを出力する問題です。 Bingo.generate_cardというメソッドを呼ぶと以下のような文字列を出力する、というのが要求仕様で

    Ruby初心者必見!?「ビンゴカード作成問題」のリファクタリング風景をお見せします #codeiq - give IT a try
  • 「エンジニア病」を抱えたあなたに効く「デザインの考え方」 ~ソニックガーデン・デザインメンター対談のまとめ~ - give IT a try

    はじめに 先日、僕が勤務しているソニックガーデンのブログ記事で、弊社プログラマとデザイナーさんの対談記事が公開されました。 【前編】エンジニアの会社でデザインがうまくいくワケ〜「エンジニア病」にはダメ出しされよう 【中編】プログラミングとデザイン、やっていることはわりと同じ〜「デザインは感覚じゃない」 【後編】デザインできるプログラマの育てかた〜「デザインメンター制度」のキモは理由で納得! インタビューに登場する町田さん(@machida)と赤塚さん(@ken_c_lo)は僕もよく知っているとても素晴らしいデザイナーさんです。 素敵なデザインができるのはもちろん、HamlやSassなどプログラマ寄りの技術知識も豊富に持ち合わせていますし、物腰も柔らかくてとても相談しやすい方たちです。 業界の各方面から引っ張りだこなのも十分頷けます。 ところで、上の記事の中に出てくる「デザインメンター制度」

    「エンジニア病」を抱えたあなたに効く「デザインの考え方」 ~ソニックガーデン・デザインメンター対談のまとめ~ - give IT a try
  • 自分のブログがある日突然バズったときに気をつけること - give IT a try

    はじめに:架空のブロガーにある日突然起きた出来事 あなたは新米ブロガーです。 自分のブログを開設して数ヶ月が経ちましたが、いっこうにアクセス数は増えません。 「僕のブログ、いったい誰が読んでるんだろう?」と思いながらも、いつもと同じように今日も新しいエントリを公開してみたら・・・なぜか思いがけず大ヒット! あっちこっちでツイートされるわ、はてなブックマークは大量に付くわ、挙げ句の果てには「はてなブックマーク」のトップページにででーんと自分のブログが表示されてる!! まさか自分の書いたブログがこんなに大反響を呼ぶとは思わなかった!! ・・・なんて日がそのうちあなたにも訪れるかもしれません。 たくさんの人に自分のブログを読んでもらえるのはブロガーとして嬉しいことです。 しかし、突然アクセス数が増える(つまり、バズる)と嬉しいことばかり、というわけにはいきません。 はてなブックマークのコメント欄

    自分のブログがある日突然バズったときに気をつけること - give IT a try
  • 使えるRSpec入門・その1~その4を書き終えました + 執筆裏話とか - give IT a try

    はじめに 昨年末からQiitaに執筆していた初心者向けのRSpec入門記事、「使えるRSpec入門」の全4回をすべて書き終えました。 各記事のリンクは以下の通りです。 使えるRSpec入門・その1「RSpecの基的な構文や便利な機能を理解する」 使えるRSpec入門・その2「使用頻度の高いマッチャを使いこなす」 使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」 使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」 「使えるRSpec入門」って何? 「使えるRSpec入門」は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」をテーマにしたシリーズ記事で、略して「使えるRSpec入門」と名付けました。 僕がRSpecでRubyRailsのテストを書いてきた経験から、「これはよく使うから重要」「

    使えるRSpec入門・その1~その4を書き終えました + 執筆裏話とか - give IT a try
  • 漢数字が数字順にソートされない理由を調べてみた - give IT a try

    はじめに:「なぜ漢数字は数字順に並ばない!?」 先日、こんなツイートをしたところ、結構たくさんの人にリツイートされました。(執筆時点で50件以上) 「漢数字はソートしても数字順に並ばない」という事実を生まれて初めて知った。まさかのサプライズ。 pic.twitter.com/Eqx3ltIfHs— Junichi Ito (伊藤淳一) (@jnchito) 2014年11月27日 「なぜ漢数字は数字順に並ばないのか」という問いに対して、表面的な回答をするなら「数字順に並ばないのは、数字の大きさではなく文字コード順でソートされているから」ということになります。 いや、もちろんそれはわかってるんです。 問題は「そもそもなんで数字順に文字コードを振らなかったの!?」ということです。 感覚的には「一郎、二郎、三郎」って並んでほしいじゃないですか。でも、プログラム上でソートすると「一郎、三郎、二郎」

    漢数字が数字順にソートされない理由を調べてみた - give IT a try
  • これからプログラミングを始める人のベンチマークとして「僕の12年間のプログラマ人生」を振り返ってみた - give IT a try

    はじめに:「これは何ですか?」 これは12年前から現在に至るまでの僕のプログラマ人生を振り返ったものです。 また、参考情報としてプログラマ人生が始まる前の中学時代~大学時代の話も載せています。 photo by Philip Bloom あ、僕のプログラマ人生はまだ継続中ですので念のため! 「何のためにこれを書いたんですか?」 このエントリを書いた目的は、これから格的にプログラミングを始めようとしているみなさんのベンチマーク(目標や計画を立てるための参考情報)にしてもらうためです。 最近、「これからプログラミングを始めようとしています」もしくは「最近プログラミングを始めました」という人に出会う機会が増えてきました。 これからプログラミングを始める人は「どうすればプログラミングが上達するのか」「一人前になるまでにどれくらい時間がかかるのか」「どういったキャリアを歩めばいいのか」というイメー

    これからプログラミングを始める人のベンチマークとして「僕の12年間のプログラマ人生」を振り返ってみた - give IT a try
  • ブログで追体験する西脇.rb & 神戸.rbのRuby開発合宿 - give IT a try

    はじめに 僕は2013年から西脇.rbというRubyコミュニティを主催しています。 まあ実際は西脇.rb単体で活動することはなくて、Akiさん(@spring_aki)が主催している神戸.rbといつも合同で毎月1回Ruby勉強会を開くのが主な活動です。 前々からコミュニティのメンバーとは「合宿って面白そうだよねえ。いつかやってみたいよねえ」みたいな話をしていたのですが、場所を探したり、あれこれ準備をしたりするのが大変そうでなかなか着手できませんでした。 ところが、今年に入ってから新しいメンバーもどんどん増えコミュニティ的にいい感じに盛り上がってきました。 そこで「よし、じゃあみんなで合宿でも行ってみるか!!」と一念発起して開発合宿を開催することにしました。 というわけで、今回は2014年10月4日(土)と5日(日)の2日間で開催された西脇.rb & 神戸.rbのRuby開発合宿の様子を書い

    ブログで追体験する西脇.rb & 神戸.rbのRuby開発合宿 - give IT a try
  • プログラマ歴12年の僕が選んだ「10年経っても役立つ技術書17選」 - give IT a try

    はじめに 僕がプログラミングを始めてから、もうすぐ12年になろうとしています。 この12年間、いろんな技術書を読んだり、仕事やプライベートでたくさんコードを書いたりしてきました。 最初に入ったSIerでは主にJavaを、前職の社内SE時代はC#をメインのプログラミング言語として使ってきました。 現在はRubyをメインで使っていますが、言語が変わっても、また何年経っても「これはあのとき学んだ知識が役に立ってるよなあ」と思う瞬間がときどきあります。 そこで今回はこれまでに読んだ技術書を一通り振り返り、「こので学んだことは今でも役に立ってる」と思うものを17冊ピックアップしていきます。 おことわり (2014.09.29 20:00追記) このエントリのタイトルは「10年経った今でも役に立っている」という意味で付けています。「今から10年後まで役立つ」という意味ではありません。(紛らわしくてご

    プログラマ歴12年の僕が選んだ「10年経っても役立つ技術書17選」 - give IT a try
  • ソニックガーデンで行われているコードレビューの具体例をお見せします (SonicGardn Study #11 の補足として) #sg_study - give IT a try

    はじめに 2014年8月11日の晩に放送されたソニックガーデンのweb勉強会、SonicGardn Studyでは「いつまでクソコードを書き続けるの? 〜出来るプログラマだけが知っているコードレビュー7つの秘訣〜」というタイトルで、弊社ソニックガーデンの西見さん(@mah_lab)が講演してくれました。 デキるプログラマだけが知っているコードレビュー7つの秘訣 from Masahiro Nishimi いつまでクソコードを書き続けるの? 〜出来るプログラマだけが知っているコードレビュー7つの秘訣〜 - YouTube この放送の中でも触れられていたように、ソニックガーデンではコードレビューを大事にしています。 ただ、勉強会のスライドの中では具体的なコード例や指摘の例がほとんど出てこなかったので、「実際どんな感じなの?」という疑問を持った方もいたんじゃないかと思います。 そこで今回は「入社

    ソニックガーデンで行われているコードレビューの具体例をお見せします (SonicGardn Study #11 の補足として) #sg_study - give IT a try