タグ

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

  • 「プロを目指す人のためのRuby入門」の効果的な読み方を動画で指南してみました #チェリー本 - give IT a try

    ありがたいことに、たくさんの人に読んでもらっている拙著「プロを目指す人のためのRuby入門(通称・チェリー)」ですが、書はそれなりのボリュームがあり、なおかつ後半(7章以降)がかなり難しくなってくるので、読み終わるのに苦労している方もたくさんおられるようです。 すでに他の言語でプログラミングの経験をたくさん積んでいる人であれば、その知識を活かしてスムーズに読み進めることができるかもしれませんが、これからプログラマになろうとしている初心者の方(独学で勉強したり、プログラミングスクールに通われたりしている方たち)は、なかなかハードルが高いと思います。 そこで今回、筆者である僕自身が動画を使って「プロを目指す人のためのRuby入門」の効果的な読み方を初心者のみなさんに指南してみることにしました。 その動画がこちらです↓ 著者自身が語る「プロを目指す人のためのRuby入門」の効果的な読み方 こ

    「プロを目指す人のためのRuby入門」の効果的な読み方を動画で指南してみました #チェリー本 - give IT a try
  • みんなが安心して参加できる勉強会・懇親会のために主催者ができること(自由に再利用 or 改変可能なスライド付き) - give IT a try

    はじめに 先日、TwitterIT勉強会や懇親会に関するこちらのツイートを拝見しました。 ↓勉強会に参加したい ・レベルについていけないかも🤯 ・違う目的で参加している人居たら嫌だな(そもそも出会い目的じゃ無いし) ・内輪感あり過ぎてて溶け込めない雰囲気じゃないかな🤔 ・懇親会はコミュ力最大限に使うし目的違うのでいらない ↓不安の結果 やっぱり自宅で勉強しよ😇 ※繰り返し— Shoko Sato 🐶 (@satoshoco) January 11, 2020 勉強会数えきれないくらい行ってるけど人見知りなので未だに懇親会苦手感ある(とっても楽しいのだけど) 懇親会でTokyoGirls.rbのぼっち対策が行われた会を数件見ていて、この活動広まるといいなあ…と思ってる。 https://t.co/40b4y52I3I— makicamel (@makicamel) January

    みんなが安心して参加できる勉強会・懇親会のために主催者ができること(自由に再利用 or 改変可能なスライド付き) - give IT a try
  • 【書評】「レガシーコードからの脱却」の9つのプラクティスは圧倒的に正しい(経験者談) - give IT a try

    はじめに 株式会社アトラクタの原田騎郎さん(@haradakiro)から、書籍「レガシーコードからの脱却」をご恵贈いただきました。(どうもありがとうございます!) せっかくいただいたなので、書を読んだ僕の感想を書いてみようと思います。 どんななの? 端的に言うと、「初めからレガシーコードを作りださないための9つのプラクティスを説明した」となります。 最初にタイトルを見たときの印象は「今そこにあるレガシーコードを、どうやってイケてるコードに書き直していくのか?」を説明したなのかなと思ったんですが、書が主眼としているのは「そもそもレガシーコードを作らないこと」でした。 ですので、「レガシーコード改善ガイド」とは毛色が違うだと考えた方が良さそうです。 (「レガシーコード改善ガイド」は、「今そこにあるレガシーコードを改善する方法」を解説したです) レガシーコード改善ガイド (Obj

    【書評】「レガシーコードからの脱却」の9つのプラクティスは圧倒的に正しい(経験者談) - give IT a try
  • Ruby関西 勉強会で「プロを目指す人のための例外処理(再)入門」という発表をしてきました #rubykansai - give IT a try

    はじめに 2017年1月13日(土)に開催された第80回 Ruby関西勉強会で「プロを目指す人のための例外処理(再)入門」という発表をしてきました。 会場はすごくきれいで快適な、大阪梅田のグランフロントにあるAimingさんでした。 (どうもありがとうございました!) このエントリでは僕の発表内容と、勉強会中のエピソードを書いていきます。 発表スライド 当日使用した僕の発表スライドはこちらです。 例外処理については過去にいろいろ痛い目に遭わされているのと、間違った使い方をしている初心者さんをよく見かけるので、「お願いだから正しく使って!!」という気持ちでこのスライドを作りました😅 例外処理にまつわる僕の体験談については「当にあった怖い話」としてスライド内で紹介していますw その他にも例外処理のバッドプラクティスやベストプラクティスなど、例外処理を書くときは絶対に押さえておきたいポイント

    Ruby関西 勉強会で「プロを目指す人のための例外処理(再)入門」という発表をしてきました #rubykansai - give IT a try
  • ブログに技術書の内容を丸写しする問題点と、オリジナルなコンテンツを書くためのアイデア - give IT a try

    はじめに 「プロを目指す人のためのRuby入門」を出版して以来、で学んだ内容をブログに載せてくれている方をよく見かけます。 それ自体は著者として大変嬉しいのですが、たまに「ん?これはちょっと・・・」と思うようなブログ記事を見かけるときがあります。 具体的にいうと、の内容を丸写ししているだけのブログ記事です。 このエントリではの丸写しがなぜいけないのか、かわりにどういうブログを書けばいいのか、ということについて書いていきます。 の内容を丸写ししているブログの例 の内容を丸写しをしているブログというのは文字通り「丸写し」しているブログです。 具体的なイメージを共有するために「こんな感じ」という例を載せておきます(特定の誰かのブログを意図しているわけではありません)。 タイトル「第2章 2.2.3 文の区切り」 「プロを目指す人のためのRuby入門」を読んでいるので、勉強した内容をメモ

    ブログに技術書の内容を丸写しする問題点と、オリジナルなコンテンツを書くためのアイデア - give IT a try
  • テストコードにまつわる5つのエトセトラ - give IT a try

    はじめに ひとつ前のエントリでRSpecの話を書いたので、それにちなんで最近僕の身の回りで起きたテストコードに関する雑多なエピソードをいくつか書いてみます。 その1:テストコードを書いてない処理で見事にバグを出してしまった・・・!! 僕はソニックガーデンの中では「テスト番長」の異名を持っていて、基的にテストコードはしっかり書くタイプです。 ですが、どうしてもリリースを優先しなければいけないときは、やむを得ずテストコードを後回しにして先にリリースすることもあります。 先日リリースした「テストを後回しにしたコード」は、リリース直後は問題なく動いていました。 その数週間後、別の仕様変更が入り、変更したコードをリリースしました。 「テストは全部パスしているので大丈夫なはず~!」と思ったら、リリースの翌日に変なシステムエラーが発生。 エラーが起きている場所を見て、ガーン。 例の「テストを後回しにし

    テストコードにまつわる5つのエトセトラ - give IT a try
  • Qiitaに「テストコードの期待値はDRYを捨ててベタ書きする」という記事を書きました - give IT a try

    お知らせ 昨日、Qiitaに「テストコードの期待値はDRYを捨ててベタ書きする ~テストコードの重要な役割とは?~」という記事を書きました。 テスト初心者の人が読むと役に立つかもしれません。 よかったら読んでみてください。 追記:さらに続編も書きました 上の記事で説明したテストコードをMinitestで書いたバージョンと、RSpecらしく書いたバージョンを説明している、続編の記事です。 この記事を書いた理由、もしくは「DRYを捨てる」という表現について この記事を書いた理由は、テストコード内で変数や実装コード側のロジックを多用するコードを最近何度か目にしたからです。 たとえばこんな感じです。 given(:user) { create :user, name: 'Alice' } scenario 'ユーザー詳細ページを表示する' do visit user_path(user) expe

    Qiitaに「テストコードの期待値はDRYを捨ててベタ書きする」という記事を書きました - give IT a try
  • 今夜わかる「スタック・オーバーフロー」の世界 - give IT a try

    はじめに プログラミングをやっている人であれば、スタック・オーバーフロー(Stack Overflow)を知らない人はいないと思います。 エラーメッセージをコピペしてググるとトップによく出てくる、このページのことです↓ Stack Overflow - Where Developers Learn, Share, & Build Careers また、ご存知の方も多いかもしれませんが、去年の12月からは日語版サイトも登場していて、現在は日語で質問と回答が投稿できるようになっています。 スタック・オーバーフロー とはいえ、ネットで見つけて回答を読むことはあっても、自分から質問したり回答したりする人はまだまだ少数派のような気がしています。 そこで、今回のエントリでは日語版サイトをメインターゲットにして、スタック・オーバーフローの使い方をまとめてみようと思います。 注:このエントリでは関数

    今夜わかる「スタック・オーバーフロー」の世界 - give IT a try
  • Minitestの技術書としては日本初!?「RSpecユーザのためのMinitestチュートリアル(ベータ版)」を公開しました! - give IT a try

    はじめに 先日のブログでも書きましたが、電子書籍「Everyday Rails - RSpecによるRailsテスト入門」の追加コンテンツとして「Minitest版のテストコードとその解説書」を書いています。 執筆はまだ完全に終わっていませんが、キリのいいところまで書き終えたのでいったんベータ版としてリリースすることにしました。 追加コンテンツのタイトルは「RSpecユーザのためのMinitestチュートリアル」です。 今回のエントリではこの書籍の内容について紹介します。 2015.7.29 追記:正式版を公開しました! 2015年7月29日に正式版を公開しました。 詳しい内容は以下のエントリで紹介していますのでこちらも併せてご覧ください。 blog.jnito.com 「RSpecユーザのためのMinitestチュートリアル」 「RSpecユーザのためのMinitestチュートリアル」の

    Minitestの技術書としては日本初!?「RSpecユーザのためのMinitestチュートリアル(ベータ版)」を公開しました! - give IT a try
  • 「Ruby on Rails on Minitest」を翻訳してみた - give IT a try

    はじめに 今日の朝、Twitterで突然こんなリプライをもらいました。 @jnchito want to translate my slides from railsconf 2015??— Ryan Davis (@the_zenspider) May 11, 2015 どのスライドのことだろう?と思って調べてみたら、どうもこのページで紹介されているスライドのことみたいです。 Ruby on Rails on Minitest | 2015 Railsconf | by ryan davis 発表の動画もYouTubeにありました。 RailsConf 2015 - Ruby on Rails on Minitest - YouTube スライドはPDFで提供されていて、全部で254ページあります。 http://www.zenspider.com/pdf/2015_railsconf_

    「Ruby on Rails on Minitest」を翻訳してみた - give IT a try
  • MinitestとRSpec、FixturesとFactoryGirlの良いところ悪いところをコードを書いて比較してみた - give IT a try

    2022.5.4追記) FactoryGirlはFactoryBotという名前に変更されています(参考)。この記事は昔の名前である「FactoryGirl」を使っています。 はじめに 今年のゴールデンウイークはMinitestとRSpec、FixturesとFactoryGirlについていろいろ研究(?)していました。 具体的にはこんなことをやっていました。 Rails Tutorial 第3版を写経した(第3版ではMinitestとFixturesを使っている) Rails TutorialのテストコードをRSpecとFactoryGirlで書き直した Everyday RailsのテストコードをRSpec + FactoryGirlからMinitest + Fixturesに書き直した The Minitest Cookbookを読んだ 今回のエントリではMinitestとRSpec

    MinitestとRSpec、FixturesとFactoryGirlの良いところ悪いところをコードを書いて比較してみた - 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
  • プログラマ歴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
    manabou
    manabou 2014/09/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
  • JavaやC#の常識が通用しないRubyのprivateメソッド - give IT a try

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

  • 正規表現で楽々コード置換 - give IT a try

    会社で紹介した正規表現の入門的なテクニックをこっちにも載せておきます。 まずは例題から ちょっと訳あって、これまで型付けDataTableを使って書いていたロジックを、型無しのプレーンなDataTableに書き換える必要が出てきました。 イメージ的にはこんな感じです(もちろん説明のためにかなり簡略化しています)。 // 変更前 BookShopDataSet.BookTable table = FindBooks(); BookShopDataSet.BookTableRow row = table[0]; Assert.AreEqual("詳説 正規表現", row.Title); Assert.AreEqual("ジェフリ− E.F.フリ−ドル", row.Author); Assert.AreEqual("オライリージャパン", row.Publisher); // 他にもたくさんの

    正規表現で楽々コード置換 - give IT a try
  • 1