追記: 訳文修正いたしました(2018/03/28)。 概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: SOLID Principles #1: Single Responsibility Principle | Netguru Blog on Ruby/Ruby on Rails 原文公開日: 2018/02/13 著者: Marcin Jakubowski サイト: netguru 翻訳記事の相互リンクは今後更新いたします。 「SOLIDの原則シリーズ」へようこそ。このシリーズ記事では、SOLIDの原則をひとつずつ詳しく説明し、分析します。シリーズの最後にはいくつかのヒントや考察を含む総括記事をお送りしますのでどうぞご期待ください。 それでは始めましょう。「SOLIDの原則」とはそもそも何なのでしょうか?SOLIDとは、オブジェクト指向プログラミング設計における一般的な原則
2024-11-03 実践Dash(詳細解説Version) - 手を抜きつつもちゃんとWebアプリを作るLow-code Webアプリ開発 Python Dash streamlit PyCon JP 2024発表の詳細版です. Python製のLow-codeであるDashについて話をさせてもらいました(自分のレポート). トーク本編では話さなかったor話せなかった件を中心に紹介します. なお, 本エントリーのサンプルコードは以下のGitHub Repositoryにて公開… #Webアプリケーション開発 #Python #データ可視化 #Dash #Streamlit 2024-10-12 「自分事(じぶんごと)に徹した」自分の発表 - #PyConJP2024 の感想とポエム. PyCon JP イベント ブログ 楽しく話させてもらいましたありがとうございます. 自分事(じぶんごと
はじめに 「プロを目指す人のためのRuby入門」を出版して以来、本で学んだ内容をブログに載せてくれている方をよく見かけます。 それ自体は著者として大変嬉しいのですが、たまに「ん?これはちょっと・・・」と思うようなブログ記事を見かけるときがあります。 具体的にいうと、本の内容を丸写ししているだけのブログ記事です。 このエントリでは本の丸写しがなぜいけないのか、かわりにどういうブログを書けばいいのか、ということについて書いていきます。 本の内容を丸写ししているブログの例 本の内容を丸写しをしているブログというのは文字通り「丸写し」しているブログです。 具体的なイメージを共有するために「こんな感じ」という例を載せておきます(特定の誰かのブログを意図しているわけではありません)。 タイトル「第2章 2.2.3 文の区切り」 「プロを目指す人のためのRuby入門」を読んでいるので、勉強した内容をメモ
(English article is here) こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 皆さんはチャットツールのSlackを使っていますか? 今や社内やグループでのコミュニケーションに欠かせないSlackですが、ボット(Bot)というプログラムを作ると、自動的に会話をさせることができます。 Slackボットは文字列だけを取り扱うので、比較的簡単にプログラミングして開発することができます。また、一緒にSlackチャットを使っている社内やグループ内のユーザー達にもすぐに使ってもらえます。自分が作ったものをすぐに使ってもらって、フィードバックがもらえるのは楽しいものです。Slackボット作りは、プログラミング初心者が初めて作って公開するモノとしても最適です。 ただ、実際にSlackボットを作って動かすには、開発環境やサーバの設定が必要です。プログラミング
広告技術部のサンドバーグと星です。 普段の業務は、主に広告の管理システムの開発をしています。管理画面はRuby on Railsで作られており、今回は煩雑になりがちなE2Eのテストをきれいに書けたので、それについて話します。 背景 Gunosyの広告システムは4年以上前にリリースされ、これまで多くの機能が追加されてきました。 配信システムは一度リプレースされましたが、私達が運用している管理画面に関してはリプレース などはされず、現在も拡張され続けています。長く運用されているシステムのため 開発するメンバーの入れ替わりもあり、もちろん思想やコードスタイルも変わってきたため、 バグが発生しやすい環境になってしまっています。 ただ、外部のお客様も使う機能も含まれるため、バグが無いことを担保する必要があり、 テストがより重要になってきます。 また、複雑なデータ構造と画面操作があるため、単体テストで
この記事は Ruby 2.5.0 preview1 時点のものです。Ruby 2.5 リリース版については http://tmtms.hatenablog.com/entry/2017/12/30/ruby25 を見てください。 Rubyは毎年クリスマスにバージョンアップされます。 今年も問題なければ12/25にRuby 2.5が出ると思います。 https://docs.ruby-lang.org/en/trunk/NEWS.html を元に変更内容を調べてみました。 言語仕様 トップレベル定数参照 rescue/else/ensure 節 文字列内式のRefinement Unicode バージョン 10.0.0 組み込みライブラリ Array#append, #prepend 追加 Dir.children, Dir.each_child 追加 Dir.glob :base オプショ
先日行われたRejectKaigi 2017でファイルアップロードについて発表しました。資料はこちら。 内容的には、WEB+DB PRESS Vol.95で書いたファイルアップロード話を最新にしたものになります。Rails5.2で新しく追加されるActive Storageというファイルアップロード機能を紹介しつつ、ファイルアップロード全般の話題について触れています。 ファイルアップロードをただしく実装するにはそれにまつわる様々な要素についての知見が必要で、webエンジニア的には腕の見せ所ではないかと思います。Active Storageの登場でファイルアップロードについての知見が広まって、ただしく実装できる人が増えるといいなと思います(( ⁰⊖⁰)/) あわせて読みたい WEB+DB PRESS Vol.95posted with amazlet at 17.08.20小出 淳子 黒澤
Forkwell Portfolio の新しい機能を開発しながら、リファクタリングしている日々の @sinsoku です。 今日はリファクタリングの改善結果が気になったので調べてみました。 Ruby で AbcSize 20以上の数値、ファイル数の推移を出したいけど、簡単に出す方法ってあったりしないのかな。マージコミットを checkout して、AbcSize を計測して、csv にして、とかをするだけなんだけど、書くのがメンドイ。。。— 神速@リリカルエンジニア (@sinsoku_listy) 2017年7月11日 残念ながら簡単な方法は見つからなかったので、「メンドイ」という気持ちに負けずにスクリプトを書きました。 AbcSize とは Assignment: 変数の代入 Branch: 関数の呼び出し Condition: 条件分岐 から計測する複雑度です。Ruby だと Rub
github.com Railsのcontrollerで違和感があるのって actionのinputに params というインスタンスメソッド経由でアクセスすること しかも params はviewからアクセスできる! actionのoutputが controller のインスタンス変数への代入であること しかもそのインスタンス変数はviewからアクセスできる! というところだと思うんですよ。 なぜなら我々は「メソッドの引数でinputを受け取りメソッドの戻り値をoutputとすべし」ということを是としてコードを書いてるわけじゃないですか。リーダブルコードを読むまでもなく、変数のスコープは狭ければ狭いほどメンテナンスしやすいリーダブルなコードだというベストプラクティスを正しいものとしてコードを書いているわけじゃないですか。 そういうベストプラクティスに真っ向から反しているのが現在のRa
技術部開発基盤グループの大石です。 先日、弊社主催のイベント CookpadTechKitchen#8 〜舞台裏を支える黒衣たち〜 にて、「Kuroko2の近況とクックパッドのバッチ周りの概況」というテーマで発表させて頂きました。今回はこの発表内容の中でも Kuroko2 についてピックアップして紹介したいと思います (今回の記事ではクックパッドのバッチの概況については特に触れませんが下記資料を参照ください)。 Kuroko2 とは Kuroko2とは、Ruby製のWebベースのジョブスケジューラーです。2014年にクックパッド社内で開発され、2016年の秋にオープンソースとして公開しました。 詳細については、当ブログの クックパッドのジョブ管理システム Kuroko2 の紹介 や Kuroko2 リポジトリのドキュメント をご覧ください。 また、Kuroko2 のオリジナル作者である弊社
最近iOSアプリエンジニアに転向ぎみの@mikedaです。 JOBLISTで使っているrubyとrailsのバージョンがRuby 2.3.1、Rails 4.2.6とけっこう古くなっていたので、最近、エイヤとアップデートしました。 やったこととか対応したエラーなどをざっとメモっておきます。 作業は以下のように少しずつ進めました。 Rails 4.2.6 -> 4.2.8。合わせて全体的にgemのバージョンアップ Rails 4.2.8 -> 5.0.3 Ruby 2.3.0 -> 2.4.1 Rails 5.0.3 -> 5.1.1 Rails 4.2.6 -> 4.2.8 まずはrailsを4系の最新版にアップデート。 合わせて全体的にgemのバージョンアップしました。 bundle update # Gemfile # gem 'rails', '4.2.8' bundle updat
【まつもとゆきひろ氏 特別講演】若手エンジニアの生存戦略 - connpassに参加してきました。若手エンジニアないしはエンジニアを目指す学生向けに、生存戦略を説く主旨の講演でした。まつもとゆきひろ氏とは、プログラミング言語・Rubyを作った人です。 全体的な内容はこちらのブログで非常にコンパクトに紹介されているのでご参照ください。 zuckey17.hatenablog.com 私のブログではまつもとゆきひろ氏もといMatz氏が語ったことを前半に紹介しつつ、後半に主観感想もまとめたいと思います。 ■生き残るには? -死ななければいい。 「エンジニアの生存戦略、つまり生き残るには?」 その問いに「単純ながら、死ななければいい。」という皮切りでスタートした。 じゃあこの"死なない"ためにはどうするか。 そもそも生き残るとはどのような戦略を取ればいいのか? Matz氏は「背景や環境など当然違う
昨日のRails Developers Meetupで綺麗なテストコードの書き方について発表してきました。 Rails Developers Meetup #1(東京会場) - connpass 資料はこちら 余談 もともと数年前くらいから、テストコードの書き方についてまとめたいなーと思っていたのですがなかなかキッカケがなくて手を付けられていませんでした。今回のミートアップ駆動で一通り形にするところまでいけて今とてもスッキリした気持ちです 😇 もっと多くの人にテストコードの書き方を意識してもらいたいので、また機会があればどこかで喋りたいですね。 昨日発表した内容はGitHubリポジトリにまとめたものの一部です。綺麗なテストコードの書き方について詳しく知りたい方は下記のリンクからどうぞ。 willnet/rspec-style-guide お願い 今回まとめた内容はあくまで僕が考えるテスト
追記 直近の Docker 界隈について Linux コンテナ 参考 Linux コンテナとは Linux コンテナを構成する主な機能 OS リソース毎の Namespace cgroup サブシステム こんなにざっくりでは、Linux コンテナは語れないと思うけど haconiwa haconiwa とは haconiwa で何が出来ると? haconiwa 導入 はじめての haconiwa (1) はじめての haconiwa (2) 〜 コンテナ作成 〜 はじめての haconiwa (3) 〜 コンテナ起動 〜 haconiwa で学ぶ Linux コンテナ .haco ファイル再掲 namespace を弄る前に namespace uts namespace pid 俺は Linux コンテナについてなんにも解っていなかった(まとめ) haconiwa は Linux コンテ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く