ブックマーク / qiita.com/jnchito (11)

  • きみたちは今まで何のためにRailsでMVCパターンを勉強してきたのか - Qiita

    はじめに タイトルは半分釣りです。ごめんなさい。 先日、僕のブログで以下のようなエントリを書きました。 アウトプットのネタに困ったらこれ!?Ruby初心者向けのプログラミング問題を集めてみた(全10問) - give IT a try 簡単にいうと、技術書の丸写しをしてアウトプットした気にならず、自分でコードを書いてそれを公開しようぜ〜という内容です。 で、そのお題となるような簡単なプログラミング問題を10問ほどブログ内で紹介しています。 これまで何人かの方がご自身のブログやQiitaに解答コードを載せているのを見かけました。 ちゃんとチャレンジして偉い!すばらしい!!👏👏👏 ・・・と、実行に移した姿勢は非常に良いのですが、コードを見てみると多くの方が「うーん、惜しい!」と思ってしまう「ある病気」にかかっていました。 というわけで、この記事ではその「ある病気」について、それとプログラ

    きみたちは今まで何のためにRailsでMVCパターンを勉強してきたのか - Qiita
    koyancya
    koyancya 2019/05/20
  • 【Ruby】乱用厳禁!?後置ifで書くとかえって読みづらくなるケース - Qiita

    ただし、後置ifが使えるからといって、無理に普通のif文を後置ifに書き直す必要はありません。 むしろ、後置ifを使うとかえって読みづらくなるケースもあります。 後置ifが不向きなケース たとえば、あなたがコードレビューをしているとき、こんな(物騒な)コードを見かけたらどう思いますか? 「おいおい、頭大丈夫?」と思うようなコードですが、実はこのコードは後置ifで書かれていました。 (ユーザがゾンビだった場合のみ、メッセージを返すメソッドだった!) 後置ifを読むときは条件文があとにやって来ます。 コードが横に長いと条件文がぱっと目に入らないため、「えっ、なんでこのタイミングでこんな処理が入るの!?」と読み手を困惑させる原因になります。 こういったケースでは普通のif文で書いた方が可読性が高くなります。 def message_to(user) # 普通のif文で書けば、特定の条件のみメッセ

    【Ruby】乱用厳禁!?後置ifで書くとかえって読みづらくなるケース - Qiita
    koyancya
    koyancya 2018/08/31
    笑ったw -> “(ユーザがゾンビだった場合のみ、メッセージを返すメソッドだった!)”
  • 和英辞典・自動翻訳だけじゃダメ!もっといい英語名を見つけるためのTips集 - Qiita

    はじめに プログラマのみなさんはコードを書くときによく英語を使うと思います。 だけど、英語って難しいですよね。 僕自身もそうですが、クラスの名前やメソッドの名前、テーブルのカラムの名前を考えたりするときは「これ、英語でなんて言うんだろう??」と頭を抱えることが多いはずです。 他にも、トラブルが発生したときにWebサービスのサポートに英語でメールを書いたりする場合もあります。 そんなとき、安易に頼ってしまいがちなのが、オンラインの和英辞典や自動翻訳の類いです。 ですが、和英辞典や自動翻訳だけが適切な英語を探す唯一の方法ではありません。 むしろ、僕に言わせれば和英辞典や自動翻訳は質の悪い英語を作り出してしまう原因になりやすいです。 なので、僕はできるだけ和英辞典や自動翻訳には頼らないようにしています。 でも、こんなふうに言うと「えー、そんな!じゃあ和英辞典や自動翻訳以外にどんな方法があるの!?

    和英辞典・自動翻訳だけじゃダメ!もっといい英語名を見つけるためのTips集 - Qiita
    koyancya
    koyancya 2017/06/27
    画像検索の結果を参考にするの、賢いなぁ
  • サンプルコードでわかる!Ruby 2.4の新機能と変更点 - Qiita

    はじめに 2016年9月にRuby 2.4のpreview2が、11月にpreview3が、12月11日にrc1がリリースされました(参考1、参考2、参考3)。 僕は早速インストールして新機能を試してみましたが、みなさんはいかがでしょうか? というわけで、この記事では僕が実際に動かして確認したRuby 2.4の変更点や新機能をサンプルコード付きでまとめます。 この記事は大きく分けて次のセクションに分かれています。 文法上の変更点 後方互換性が失われる変更点 パフォーマンス改善 オブジェクト全般の新機能 主に数値に関連する新機能 主に文字列・正規表現に関連する新機能 主に配列・ハッシュに関連する新機能 ディレクトリやファイルに関連する新機能 その他の標準ライブラリに関連する新機能 スレッドに関連する新機能 なお、Ruby 2.4は2016年12月25日にリリースされる予定です。 記事はrc

    サンプルコードでわかる!Ruby 2.4の新機能と変更点 - Qiita
    koyancya
    koyancya 2016/09/18
    clamp 相当の SQL の Function が欲しい。今は自作している
  • Arelでクエリを書くのはやめた方が良い5つの理由

    はじめに:Arelって何? みなさん、Arel(アレル)ってご存知ですか? ArelはActive Recordの内部で使用されるSQL生成ライブラリです。 Railsのクエリの書き方をググると、ときどきArelを使った実装例が見つかるので、見たことがある、もしくは何度か使ったことがある、という人もいると思います。 Arelをよく知らない人のために、Arelの利用例をちょっと見てみましょう。 たとえば「コメント文中に、"ruby"が含まれるユーザープロフィールを検索したい」という場合、Rails標準のクエリインターフェースを使うと条件部分のSQLを文字列で書く必要があります。(PostgreSQL環境を想定) Profile.where( "profiles.comment ILIKE ?", "%ruby%" ).to_sql #=> SELECT "profiles".* # FROM

    Arelでクエリを書くのはやめた方が良い5つの理由
    koyancya
    koyancya 2016/08/10
    Sequel は知ってたけど Squeel は知らなかった -> "Squeelはどうなの?"
  • これであなたのQiita記事もランキング入り!?@jnchitoによる編集リクエスト解説(解説動画付き)

    これであなたのQiita記事もランキング入り!?@jnchitoによる編集リクエスト解説(解説動画付き)Qiita日語 はじめに みなさん、コードを書くのは得意ですか? ・・・はい、みんな得意ですよね! じゃあ、文章を書くのは得意ですか? ・・・あれ?急に声が小さくなりましたね(苦笑) たぶん、自信を持って「わかりやすい文章が書けます!」って言えるエンジニアの方は少ないんじゃないかと思います。 というわけで、この記事では実際の「編集リクエスト例」を使って、わかりやすい技術記事を書くポイントを説明します。 説明で使うQiita記事 説明で使うQiita記事はこちらです。 nested_form で子レコード間の関連を検証する - Qiita 内容としてはRailsでよく使われる nested_form というgemの応用的な使い方を説明しています。 編集リクエスト前の記事 上のリンクはすで

    これであなたのQiita記事もランキング入り!?@jnchitoによる編集リクエスト解説(解説動画付き)
    koyancya
    koyancya 2016/06/14
    か、解説動画... 凄い...
  • 初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」 - Qiita

    はじめに Qiitaをご覧になっているエンジニアのみなさん、正規表現は使いこなせてますか? 正規表現が使えるととっても便利ですよね! あれ?そちらの方、「ぼく、正規表現ようわからへん・・・」って小さくなってませんか?? 大丈夫です!そんなあなたのために、この記事を書きました。 知識ゼロからでも正規表現を学べるようにやさしく説明しているので、とりあえずこの記事を最後まで読んでみてください。 今は \d{2,5}[-(]\d{1,4}[-)]\d{4} が謎の呪文にしか見えなくても、最後まで読めばきっと意味がわかるようになっているはずです! 対象となる読者 記事は正規表現の予備知識が全くない「正規表現初心者」を対象としています。 正規表現は便利だってよく聞くけど、意味不明な呪文にしか見えなくてなんか怖い 正規表現を勉強しようと何度か頑張ったけど、結局よくわからなくて実務で活用できていない と

    初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」 - Qiita
    koyancya
    koyancya 2016/02/03
    すごい。連載なのか -> "1回目の記事"
  • サンプルコードでわかる!Ruby 2.3の主な新機能 - Qiita

    はじめに Ruby 2.3が2015年12月25日にリリースされました。 そこでこの記事ではRuby 2.3の主な新機能を紹介していきます。 対象となるバージョン 以下のとおり、この記事では ruby 2.3.0 を使っています。 参考文献 今回紹介するサンプルコードは下記のサイトにあったコードをベースにしています。 New features in ruby 2.3 - BlockScore Blog ただし、実行結果を確認するために Minitest を使ったり、コードをいくつか変更したりしています。 サンプルコードはGitHubにあります この記事で使ったサンプルコードはGitHubに置いてあります。 興味のある方は手元で動かしてみてください。 JunichiIto/ruby-2.3-sandbox それではここからRuby 2.3の新機能を紹介していきます。 深い階層にあるハッシュの

    サンプルコードでわかる!Ruby 2.3の主な新機能 - Qiita
    koyancya
    koyancya 2015/11/16
    いいまとめだ
  • ActiveRecord serialize / store の甘い誘惑を断ち切ろう - Qiita

    はじめに みなさん、ActiveRecordの serialize や store は好きですか? 僕は 嫌い です。 serialize や store は原則として使わない方がみんな幸せになれると思っています。 なのでみなさんも serialize や store は使わないようにしてください。 以上! ・・・で終わったら意味がわからないと思うので、この件についてなぜダメなのかをちょっと詳しく掘り下げてみます。 そもそも serialize / store とは? serialize や store は ActiveRecord の機能の一つです。 text型のカラムに配列やハッシュなど、好きな形式のデータを放り込めます。 テーブルやカラムを追加しなくても自由にデータが保存できる 魔法のような機能 (注:皮肉)です。 サンプルコードを使ってこの機能を確認してみましょう。 以下の例では

    ActiveRecord serialize / store の甘い誘惑を断ち切ろう - Qiita
    koyancya
    koyancya 2015/08/05
    テンプテーションゴDB「」
  • Bundler バージョン1.10がリリースされました(翻訳) - Qiita

    はじめに 日、Bundler 1.10.5 がリリースされました。 このバージョンは新機能が追加されただけでなく、最近Rubyの開発現場を混沌とさせていたBUNDLED_WITH問題を改善するための変更も含まれています。 新機能やBUNDLED_WITH問題の改善に関する詳しい情報は以下のブログに書かれています。 Bundler: Version 1.10 released ただし、結構な量があるので英語に詳しい人でないと読み下すのがしんどいかもしれません。 そこでこのブログの内容を日語訳してみることにしました。 翻訳を読んでもらえれば分かると思いますが、 Bundlerの開発チームはみなさんが Bundler 1.10にアップグレードすることを強く推奨しています。 私たちもできるだけ早くBundler 1.10以上(最低でも1.9.10)にアップデートして、Bundler 開発チーム

    Bundler バージョン1.10がリリースされました(翻訳) - Qiita
    koyancya
    koyancya 2015/06/25
    "Bundlerの開発チームはみなさんが Bundler 1.10にアップグレードすることを強く推奨 しています"
  • 【SQL腕試し問題!】入会者数と退会者数を日付ごとに集計するSQLを書いてください - Qiita

    CREATE TABLE users ( id INTEGER PRIMARY KEY, joined_on DATE NOT NULL, left_on DATE NULL ); INSERT INTO users VALUES (1, '2014-08-01', '2014-08-10'); INSERT INTO users VALUES (2, '2014-08-01', '2014-08-05'); INSERT INTO users VALUES (3, '2014-08-03', NULL); INSERT INTO users VALUES (4, '2014-08-03', '2014-08-10'); INSERT INTO users VALUES (5, '2014-08-10', NULL); 解答方法 実行方法は自由ですが、SQL Fiddleを使うとお手軽かも

    【SQL腕試し問題!】入会者数と退会者数を日付ごとに集計するSQLを書いてください - Qiita
    koyancya
    koyancya 2014/08/22
    "退会していないユーザーの場合、退会日にはNULLが入る"
  • 1