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

  • マトリョーシカ人形のようなメソッド設計を避ける - give IT a try

    フィヨルドブートキャンプのコードレビューでよく指摘してるシリーズです。 次のようなパンを焼くRubyプログラムがあります。 このプログラムはどういう工程を経てパンが焼かれるのか、ぱっと把握できますか? def main パンを焼く(粉, 水) end def パンを焼く(粉, 水) 焼く(パンを発酵させる(粉, 水)) end def パンを発酵させる(粉, 水) 発酵させる(パンを整形する(粉, 水)) end def パンを整形する(粉, 水) 整形する(パンをこねる(粉, 水)) end def パンをこねる(粉, 水) こねる(粉, 水) end main 上のプログラムは次のように書いても同じように処理されますが、工程の全体像がつかみやすいのはどちらでしょうか? def main 生地 = パンをこねる(粉, 水) 整形された生地 = パンを整形する(生地) 発酵した生地 = パ

    マトリョーシカ人形のようなメソッド設計を避ける - give IT a try
    trashtoy
    trashtoy 2022/11/28
    これはケースバイケース. 料理のレシピみたいに処理の「順番」を意識したほうが良い場合はこの例みたいな書き方がいいけど, 処理の「粒度」を意識する場合は入れ子構造のほうが可読性が高くなる場合も.
  • Rubyプログラマが中学校で情報モラル講演会をしてきたよ - give IT a try

    はじめに 先日、Rubyプログラマが職である僕が、なぜか地元・兵庫県西脇市の中学校で情報モラル教育に関する講演をしてきました。 このエントリではなんでそんなことになったのか、そしてどんなことを話したのか、といった話を書いていきます。 【もくじ】 はじめに 講演を依頼されたいきさつ 去年の情報モラル講演会は当にひどかった 今年は誰かな〜? → えっ、僕!? 当日使用したスライド この講演で伝えたかったこと 「スマホやSNSは怖い」だけでは終わらせない トラブルに遭遇したら大人に頼る(一人で解決しようとしない) リスクを語るときは、必ず予防策と対処法をセットで伝える テクニカルな解決策(設定の変更等)は重視しない 大人だって失敗したり、ちゃんとできてなかったりすることを伝える 生徒さんたちの感想 その他の裏話等 「経験がない&時間がない」で、かなり準備が大変だった 信頼が置ける専門家の方た

    Rubyプログラマが中学校で情報モラル講演会をしてきたよ - give IT a try
    trashtoy
    trashtoy 2019/07/29
  • 男女の参加バランスが良く、託児室があって、懇親会でぼっちにならないRuby勉強会を開催しました #tokyogirlsrb - give IT a try

    はじめに このブログでも何度か紹介してきた「女性も参加しやすい(でも女性限定ではない)Ruby勉強会」、TokyoGirls.rb Meetupの記念すべき第1回を2019年3月2日に開催しました。 TokyoGirls.rb Meetupを開催しようと思った目的や背景は以前書いたこちらのエントリにまとめてあります。 今回のエントリでは、「男女の参加比率」「無料託児室」「懇親会のぼっち対策」という3つのポイントに注目しながら、当日の様子や運営上の工夫を書いてみたいと思います。 【もくじ】 はじめに ポイントその1. 「男性ばかり」でも「女性ばかり」でもない男女比率になりました 参加者の感想(と僕自身の感想) 男性エンジニアにも何かしらの気づきを与えられる勉強会でした 「自分は男性だし、興味がないなあ」という方も ポイントその2. 無料の臨時託児室を提供しました なかなか大変だった臨時託児室

    男女の参加バランスが良く、託児室があって、懇親会でぼっちにならないRuby勉強会を開催しました #tokyogirlsrb - give IT a try
    trashtoy
    trashtoy 2019/03/08
  • Rails Girls Osaka #5 に参加して、女性限定イベントであることの意味を考えた #railsgirlsosaka - give IT a try

    はじめに 2018年6月17日に開催された、Rails Girls Osaka #5にコーチとして参加してきました。 今日はこちらのイベントに参加しております。 #railsgirlsosaka pic.twitter.com/lTEpRha2Bg— Junichi Ito (伊藤淳一) (@jnchito) June 17, 2018 Rails Girlsは以前から興味はあったのですが、参加したのは今回が初めてです。 機会があれば参加したいと思っていたのですが、コーチ枠も結構早く埋まってしまうんですよね。 ですが、今回は「コーチが不足して困っている」という情報を見かけたので、「お、これはチャンス!」と思って参加することにしました。 https://www.facebook.com/RubyKansai/posts/2172675319426147 というわけで、このエントリではRail

    Rails Girls Osaka #5 に参加して、女性限定イベントであることの意味を考えた #railsgirlsosaka - give IT a try
    trashtoy
    trashtoy 2018/06/22
  • 妻のパン屋のWebサイトを4年ぶりにレスポンシブデザインに作り替えた話 - give IT a try

    はじめに このブログを以前から読んでいる方はご存知かもしれませんが、僕のは兵庫県西脇市で「Coupé Baguette(クープ バゲット)」という小さなパン屋をやっています。 この店のWebサイトは僕が作っているのですが、作ったのが4年前(2013年)なので、だんだんデザインが古くなってきてしまいました。 「そろそろリニューアルしないといけないよな~」とは思っていたものの、なかなか時間が取れずしばらく放置状態だったのですが、この年末年始は少し長めの休みが取れたので、この機会に全面リニューアルを敢行しました。 明けましておめでとうございます。... - Coupe Baguette -クープバゲット- | Facebook というわけで、このエントリでは今回のデザインリニューアルについてあれこれ書いてみようと思います。 4年前との違い:7割以上がスマホからのアクセスになった 冒頭で「デザイ

    妻のパン屋のWebサイトを4年ぶりにレスポンシブデザインに作り替えた話 - give IT a try
    trashtoy
    trashtoy 2017/01/06
  • ITエンジニアが誤った情報にツッコミを入れるのは「正しさハラスメント」ではない - give IT a try

    はじめに 先日、はてなブックマークで話題になっていたこちらの記事を拝見しました。 確かに「一理ある」といえばそうなんですが、僕個人はこの意見に対して率直に「NO」だと感じました。 僕は基的に自分の専門分野であれば、結構積極的に技術記事にツッコミを入れていくタイプです。 このエントリでは、なぜ僕は「NO」だと感じたのか、そしてなぜ積極的にツッコミをいれていくのか、その理由について書いていこうと思います。 元記事の要点 僕なりに元記事を要点をピックアップすると次のようになりました。 ITエンジニアの中には初心者の成功体験を折りに来る人がいる。 筆者は成功体験の「気持ちいい」状態を阻害する行為に疑問を覚える。 初心者にはセキュリティ周りについて教えても仕方がない。 初心者もいずれセキュリティ対策について知識を得るはずだ。 早すぎる指摘が生まれるのは「それが間違っているから」だ。 初心者にはまず

    ITエンジニアが誤った情報にツッコミを入れるのは「正しさハラスメント」ではない - give IT a try
    trashtoy
    trashtoy 2016/12/29
  • ソニックガーデンで行われているコードレビューの具体例をお見せします (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
  • カレンダー整形問題を色々なパターンで解いてみた - give IT a try

    はじめに 僕とAkiさん(@spring_aki)で主催している西脇.rb & 東灘.rbでは、youRoom内でいろいろとRubyに関する雑談や情報交換をしています。 そんな中で参加メンバーの一人であるShimodaさん(@yuji_shimoda)がこんな問題を出題してきました。 たのしい Ruby 第2版 第17章 Time クラスと Date クラス 練習問題(3) - るびー めも # 問題: 次のような形式でカレンダーを表示せよ。 April 2013 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 「みなさんならどう解きますか?」と聞かれたので、僕も解答例をちょっと考えてみました。 この手の問題はプログラミング初心者時代に

    カレンダー整形問題を色々なパターンで解いてみた - give IT a try
    trashtoy
    trashtoy 2013/05/02
  • ソフトウェア開発プロセス残酷物語 - give IT a try

    昔々、あるところにジェイソンという、大変真面目な開発者がおりました。 彼がとある会社の情報システム部にやってきたとき、彼は社内システムのクオリティのひどさに衝撃を受けました。 情報システム部といっても、その会社では外注はせず、社内の開発メンバーがシステムを作っていました。 ジェイソンがそこで最初に担当したシステムは、見事なまでのスパゲッティコードでバグだらけ、データ設計も素人レベルでパフォーマンスも最悪、エラー処理もずさん、おまけにまともなドキュメントもなく、ちょっとした障害を調査したり、小さな改造を実施したりするのにも、大変な苦痛を伴うという、それはそれは大変なシロモノでした。 このシステムは元々エセーグルという、ちょっと変わった名前の開発者によって作られていました。 しかし彼はすでに別の開発チームに異動していて、こちらの質問には答えてくれますが、もはや人が直接手を動かすことはありませ

  • 技芸(アート)における経験の重要性 - give IT a try

    今日は過去に読んだことのあるWeb記事をふと読みなおして感じたことをつらつらと書いてみます。 プログラマを一生の仕事にできるビジネスモデルで目指す未来のビジョン(SIビジネスの質編) - Publickey プログラマを一生の仕事にできるビジネスモデルで目指す未来のビジョン(クラウド時代の受託開発編) - Publickey プログラマを一生の仕事にできるビジネスモデルで目指す未来のビジョン(夢に挑戦できる社会にする編) - Publickey なぜ受託開発をやめたかというと、アジャイル開発が受託開発の中でうまくいかないんですね。 プログラマだからうまくいかないのかと思ってリーダーをやってみましたが、うまくいかないと。マネージャをやってみたけどうまくいかないと。営業で仕事をとってくるところかなと営業もやってみたんだけどうまくいかないと。 ではなにが悪いのかというと、受託開発というビジネス

    技芸(アート)における経験の重要性 - give IT a try
    trashtoy
    trashtoy 2012/06/25
  • JavaやC#の常識が通用しないRubyのprivateメソッド - give IT a try

    衝撃を受けたできごと 最近Rubyを勉強しています。 JavaやC#でオブジェクト指向プログラミングの基はマスターしてるから、Rubyもそのあたりは楽勝〜!・・・と思っていたら、JavaやC#の常識が全く通用しない振る舞いに遭遇してかなり衝撃を受けました。それは、 privateメソッドはサブクラスからも呼び出せる ・・・ということです!!がーん。 たとえば、JavaやC#だと自分のクラス内でprivateメソッドが使われていない場合、不要なメソッドとして削除できます。(リフレクションを使って呼び出される可能性はここでは無視ね) しかし、Rubyでは誰かがサブクラスを作って呼び出している可能性があるので、privateメソッドを削除する場合は注意が必要です。メソッド名を変更する場合も同様ですね。 また、知らずに親クラスと同名のprivateメソッドを定義すると、予期せず親クラスの実装をオ

    trashtoy
    trashtoy 2012/03/15
    なるほど
  • Excel列名変換問題で第2回社内プログラミングコンテストを開催してみた(前編) - give IT a try

    2011.12.31 追記 後編を書きました。こちらもあわせてどうぞ。 Excel列名変換問題で第2回社内プログラミングコンテストを開催してみた(後編) - give IT a try はじめに 先日、FizzBuzz問題を使って社内プログラミングコンテストを開きました。 このブログでも書いた通り、なかなか興味深い結果になりましたが、一方で反省点もいくつか見つかりました。 特に問題が解けなかった人が出てしまったのは痛い誤算だったので、今回はできるだけ最後まで解けるような配慮をしてみました。 ただし、問題自体はFizzBuzz問題よりもずっと難しくしてあります。 今回もちょっと長いエントリになっていますが、よろしければ最後までお付き合いくださいませ。 前回の反省点 詳しくはこちらのエントリに書きましたが、簡単にまとめると 言語の得意・不得意が結果に大きく影響した 抜き打ちで実施したことがその

    Excel列名変換問題で第2回社内プログラミングコンテストを開催してみた(前編) - give IT a try
    trashtoy
    trashtoy 2011/11/04
    面白そう。時間があったらやってみたいのだが。
  • 1