並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 105件

新着順 人気順

rails-5の検索結果1 - 40 件 / 105件

  • 中年IT人材おじさんの平穏 - megamouthの葬列

    IT人材が不足してるんだって。零細Web制作会社で言えば、退職者が残したubuntu12サーバーに眠るRails5アプリをすぐにDDDでマイクロサービスに再構成して、jQuery満載のコードを全て読み下したうえで、フロントエンドをReactかなんかのSPAに全部書き換えて、E2Eを含めた自動回帰テストを整備して、ついでにCIも整備して、k8sにデプロイできるようにして、ドキュメントは小まめに残し、職場の心理的安全性を落とさず、飲み会にはかかさず参加、役員との関係も良好で、定期的な勉強会も開いてくれて、それでも残ったプライベートの時間を最新の技術動向やセキュリティ情報の収集に全量突っ込んでくれる、そんなごく当たり前のエンジニアが不足している。ついでに言うと、人類の原罪を一身に贖ってくれるスキルの持ち主も不足しているらしい。多分、我々はもっと求人サイトに金を払うべきなんだろうね。 同業者から、

      中年IT人材おじさんの平穏 - megamouthの葬列
    • RubyとRailsの学習ガイド2019年版

      この記事は RubyそしてRailsをこれから勉強したい方に、どんな技術を勉強すればいいかと、それらの技術全体のガイドマップを図示します。そしてそれを学ぶための資料(書籍、Web記事ほか)を紹介していきます。この記事は、頭の中に技術全体の地図を描き、イメージしてもらうのが狙いです。 Railsアプリを作るときに必要になたくさんの技術について説明していきますが、本当にたくさんの技術が出てきます。まだ学んでいない、分からない言葉が出てくると思いますが、全体を把握するために、ひとまずは「そういう技術があるのだな」くらいで捉えてもらえればと思います。将来、その言葉が出てきたときに「どこかで聞いたような?」と思えたら儲けものです。 勉強方法のお勧めは、1つの知識を徹底的にやるよりも、まずは全体を通して勉強し、そのあとで勉強したいところに戻って積み重ねて学んでいく方が、挫折しづらいのでお勧めです。 追

      • シンプルでわかりやすいコードを書くためにあなたがすべきこと - give IT a try

        はじめに 先日、とある知りあいのRubyプログラマからこんな相談を受けました。(内容はちょっとボカしてます) 社内のコードレビューでもっときれいなコードを書けるようになった方がいい、と言われました。 「きれいなコードを書けるようになれ」と言われても、具体的にどうすればいいかわかりません。 伊藤さんのアドバイスを聞きたいです。 この内容だけだとどんな問題があるのかわからないので、実際に指摘を受けたRailsアプリのコードを見せてもらいましたが、確かに「もうちょっと頑張りましょう」と思うような点がチラホラありました。 ただ、具体的にどうすればいいの、という答えは一言では言えません。 というわけで、今回のエントリではこの悩みを解決するのに参考になりそうな話をあれこれ書いてみようと思います。 (その前に)もくじ かなり長い記事になってしまったので、先に目次を載せておきます。 はじめに (その前に)

          シンプルでわかりやすいコードを書くためにあなたがすべきこと - give IT a try
        • 【Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本】を段階的にまとめた - Qiita

          これってなんなの? 【ど素人状態=社会人になって初めてプログラミングを勉強したぜ!(特に新卒)】〜【Webエンジニアの3年生ぐらい】になるまでに読むと良い本まとめです。「どんな目的で学ぶか?」*「いつぐらいまでに読むといいか?」を段階的にまとめました。「これだけ読めばいい!」と、そんな簡単な話ではありませんが、「今いるレベルより少し上の人がどんなジャンルのことを学んでんだろ?」という方の参考になれば嬉しいです。過去の自分に向けてでもあります、自戒。これからWebエンジニアになる人、なって間もない人の参考になれば幸いですm(__)m ※続編 【Webエンジニアど素人】が【3〜4年生】くらいになったら読むといい本を目的別にまとめた ”Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本”の段階的まとめ(一部外部記事あり) ど素人の方々が手を動かしながら1〜6ヶ月以内に学ぼう! ◆どの

            【Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本】を段階的にまとめた - Qiita
          • 肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)

            更新情報: 2013/11/19: 初版公開 2021/01/08: 訳文見直し、追記 こんにちは、hachi8833です。今回は、自分が知りたかった、Active Recordモデルのリファクタリングに関する記事を翻訳いたしました。1年前の記事なのでRails 3が前提ですが、Rails 4以降でも基本的には変わらないと思います。リンクは可能なものについては日本語のものに置き換えています。 なお、ここでご紹介したオブジェクトは、app以下にそれぞれ以下のようにフォルダを追加してそこに配置します。 注記: 以下は使われそうなフォルダを列挙しただけであり、実際にはこの一部しか使いません。 Value Object Service Object Form Object Query Object View Object Policy Object Decorator ⚓ 肥大化したActive

              肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)
            • 達人出版会:技術系電子出版・電子書籍

              探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 Blenderでアニメ絵キャラクターを作ろう!トゥーンレンダリングの巻 夏森轄 サイバーセキュリティの教科書 Thomas Kranz(著), Smoky(訳), IPUSIRON(監訳) ゲーム作りで楽しく学ぶ オブジェクト指向のきほん 森 巧尚 ブランドスイッチの法則 田中 宏樹 Blenderでアニメ絵キャラクターを作ろう!モデリングの巻 夏森轄 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶

                達人出版会:技術系電子出版・電子書籍
              • 未経験からRuby on Railsを学んで仕事につなげるまでの1000時間メニュー - Qiita

                Rails使って仕事してて、最近はRubyを使って初学者の方たちにプログラミング教えてます、@saboyutakaです。 未経験からエンジニアになりたいという人達に普段教えていて、ガイドラインがあるといいなと思って作りました。 まずなんで1000時間か これからWebアプリケーションを作るエンジニアになりたい人がこれを読んでくれていると思って書きます。そもそもなぜエンジニアとして働けるかというと、作りたいものがある人や企業が居て、それを作ることができる技能に対して給与や報酬が発生します。そして技術職として仕事で対価を得られる最低限のスタートラインに立つための学習期間が1000時間だと想定しています。 技術は投資時間に比例して身につくので向き不向きはここでは考えません。向き不向きはむしろ時間投資を続けれるかどうかであって、楽しめるかどうかやなぜやるかの動機、決意などに依存します。これに関して

                  未経験からRuby on Railsを学んで仕事につなげるまでの1000時間メニュー - Qiita
                • データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし

                  こんにちは、id:shallow1729です。最近はインフラ寄りなお仕事をよくやっていますがこれまでにいくつかデータ移行やデータ基盤構築などのバッチ処理のお仕事をしてきました。以前にも一度そういった経験を元に記事を書いたのですが、MySQLやシステムに関する知識が以前よりも増えた今もう一度書き直したいなと思いました。 なので今回はバッチ処理を書く時のテクニック2022版という感じです。今の仕事の関係でMySQLやrailsを前提にしている話が多いですが、おそらく他のデータベースを使っている人にも役に立つ話が多いのではないかと思います。ただ、今回の記事は経験に基づくものが多く、あまりよくないアイデアもあるかもしれません。改善点や間違いなどあればご指摘ください。 冪等性を持つように 冪等性とは端的に言えばある操作を複数回実行しても一回しか実行しなかった時と同じ結果になる性質の事です。長時間かか

                    データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし
                  • 良いデバッグログはプロジェクトの資産である

                    http://eventdots.jp/event/591027 (2016-07-30追記:Rails 5.0からproductionでもDEBUGがデフォルトらしいです) (2020-09-23追記:https://github.com/rails/rails/pull/39707 INFOに戻りそう)

                      良いデバッグログはプロジェクトの資産である
                    • エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog

                      未経験からエンジニアになり3年が経ちました。 この3年間はベテランエンジニアとの差を埋めるべく、プライベートの時間の大半を学習に充ててきました。幸い少しずつ成長を感じられ、業務では難易度の高い仕事を任せてもらえるようになったと感じます。このキャッチアップのために100冊以上の技術関連書籍を読んだことでしょう。 ここ最近、知人やTwitter経由で知り合った方から、私が学習に使った書籍について質問を頂くことが多いです。そこで、今後参照していただきやすいように、これまで私が読んで良かった書籍を1つの記事にまとめようと思います。 前提:エンジニアとして経験した技術 書籍について 全エンジニア向け Web / インターネット イラスト図解式 この一冊で全部わかるWeb技術の基本 (★) HTMLコーダー&ウェブ担当者のための Webページ高速化超入門 (★) Webを支える技術 -HTTP、URI

                        エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog
                      • Ruby on Rails ガイド:体系的に Rails を学ぼう

                        Railsの仕組みを体系的に学べる大型コンテンツ Rails Guides に基づいた1,600ページ超えの大型リファレンスです。 プロダクト開発に役立つ実践的な知識が満載 Railsチュートリアルを完走し、プロダクト開発中の人に最適です。 全文検索やバージョン毎の検索にも対応 Proプランでは、さらに効率的な活用をサポートします。 このアイコンが付いているガイドは現在作業中 (WIP: Work In Progress) です。作業中のガイドはそれなりに有用ではありますが、不完全な情報やエラーが含まれている可能性があります。 はじめに Rails をはじめよう Railsのインストール方法と最初のRailsアプリケーションの作成に必要なすべてを解説します。 モデル Active Record の基礎 Active Recordの基礎となるモデル、データベースへの永続的な保存、Active

                          Ruby on Rails ガイド:体系的に Rails を学ぼう
                        • Railsが5.1になることでフロントエンドの開発が本当に楽しくなりました - チラシ裏日記上等!!新館

                          Ruby on Rails の 5.1.0.beta1がリリースされましたね! weblog.rubyonrails.org 仕事でRailsを使うものとしてちゃんと触っておかねばと思い、まずは自分の好きなJavaScript周りがどれぐらい良くなったのか見てみたところかなりびっくりしました。JavaScriptすごく開発しやすいです。 webpack があって yarn がありますし、ReactやVue、angular まで rake タスクでセットアップできます。ちょっと前までRailsでJavaScriptやるのが辛いなんて言っていたのが嘘みたいです・・・。 今回はRails 5.1.0 で Vue.js を使って新しくプロジェクトを作るところまでやってみました。 rails new rails webpacker:install:vue Webpackでのビルド Hot Modul

                            Railsが5.1になることでフロントエンドの開発が本当に楽しくなりました - チラシ裏日記上等!!新館
                          • Rails を使った EC アプリケーション開発について学べる本 "Take My Money" を読んだ - kymmt

                            読みました。 Take My Money: Accepting Payments on the Web 作者:Rappin, NoelPragmatic BookshelfAmazon どんな本か 副題が "Accepting Payments on the Web" となっているように、決済 (payment) システムをもつ Web アプリケーションを作る方法について説明しています。『達人プログラマー』などでおなじみの The Pragmatic Bookshelf シリーズの本です。 チケット販売システムの開発を通して、次のような具体的な話題に触れています。基本的には Rails 5 を使ってロジックからビューまでを開発していきます*1。 決済システムの実装 ショッピングカート 外部決済サービスとの連携 サブスクリプション機能 エラーケースとその対策 管理画面の実装 返金など注文の操

                              Rails を使った EC アプリケーション開発について学べる本 "Take My Money" を読んだ - kymmt
                            • 依存関係をなくそう : Rubyアプリ・Gemの開発者への提言 | POSTD

                              本記事はRubyについて書かれたものではありますが、Python、JavaScript、Javaなど、全ての言語コミュニティに当てはまる事実を述べたものです。依存関係が引き起こす負の連鎖は誰のためにもなりません。 上の図は、私がこれまでに使用した全てのRailsアプリの依存関係を可視化したものです。以下の例はいずれも、どこかで聞いたことのあるものではないでしょうか。 何百ものエントリを含むGemfile 本番環境で読み込まれるテスト用Gem 数百メガバイトもRAMを食うRailsのプロセス Rubygemsシステムは、それを再利用する誰もが容易にRubyのパッケージを作ることができるという点で、賞賛に値するものです。しかし、その便利さが意味するところは、そうしたGemと他のGemを非常に安易に結び付け、さらにそれが、「インターネットでダウンロード」され、数百もの依存関係を持つRailsアプ

                                依存関係をなくそう : Rubyアプリ・Gemの開発者への提言 | POSTD
                              • Excel管理の座席表をLeafletでWeb化した話 - LINE ENGINEERING

                                ! This post is also available in the following languages. 英語, 韓国語, ベトナム語 こんにちは、LINEのIT支援室で社内システムの開発と運用をしている岩月です。この記事はLINE Advent Calendar 2017の6日目の記事です。 人員の増加に対応するために、今年の4月、LINEはJR新宿ミライナタワーに移転しました。移転に伴い、IT支援室ではいくつかの新しい社内システムを導入しましたが、今日はその1つである「座席表」についてお話させていただきます。 開発のきっかけ 移転前、座席の管理は以下のようにExcelで行われていました(名前は消しています)。 ◯◯さんの座席を調べたいと思ったら、Excelもしくは変換されたPDFをダウンロードして、ビューアーの検索機能で名前を調べる必要がありました。恐らくよくある運用というこ

                                  Excel管理の座席表をLeafletでWeb化した話 - LINE ENGINEERING
                                • Railsフロントエンド技術の今とこれから

                                  待望されたYarnサポートの入ったRails5.1が2017年4月にリリースされました。 Ruby on Rails 5.1 Release Notes — Ruby on Rails Guides 他にもjQueryがデフォルトdependencyから外されたり、Optionalでwebpackサポートが入ったりしており、Railsのフロントエンドは大きな転換点を迎えたと言ってよいでしょう。本エントリではRailsのフロントエンド技術の今を振り返り、今後どうなっていくかをまとめてみたいと思います。 DisられてきたRailsフロントエンド Railsのフロントエンド技術スタックは、フロントエンドを専業とするエンジニアにDisられるものでした。具体的には下記の技術要素です。 jQueryCoffeeScriptAssets Pipeline (sprockets)gemのエコシステムに乗っ

                                    Railsフロントエンド技術の今とこれから
                                  • Rails5.1に向けてフロントエンド周りで起こっている革命まとめ - Qiita

                                    こんにちは Rails5.1に向けて、DHHのjqueryを依存から外す発言を発端にフロントエンド周りが急激に発展しているので、簡単にですがまとめてみました。 各issue, PRの詳細には踏み込みませんが、知見に溢れているので読んでみるの推奨です。 間違い、足りないものがあったら編集リクエストお願いします。 jQuery依存を無くす話が出る rails(issue): Drop jQuery as a dependency jquery-ujsはjqueryに依存しないようにする jquery-ujs: Drop jQuery as a dependency "jquery"-ujsじゃなくなったので名前変更 rails-ujs誕生 実際にRailsからjquery依存がなくなる rails: Drop jQuery as a dependency jsライブラリを入れる方法がnpmパッ

                                      Rails5.1に向けてフロントエンド周りで起こっている革命まとめ - Qiita
                                    • 既存のサービスを組み合わせて本質的な開発に集中する - star__hoshi's diary

                                      qiita.com 個人開発アドベントカレンダー9日目です! (2週間遅れです... 🙏) 一年前に開発してた Web サービスで、このような構成の開発をしていました。 個人開発はとにかく時間が足りないので、既存のサービスを使える場合はそのサービスを使って開発を行いました。 開発していたものは結局リリースしなかったのですが、CI や SaaS を使い快適に開発できたので、使っていたサービスや構成について書いていきます。 これは個人開発での遊びであり、これで商用サービスもいけるかというとわかりません。 (それと私は iOS エンジニアであり、サーバサイドは門外漢です) サービス概要 Lastfm のような、音楽を再生したらその履歴をとって何回再生したか、いつどこで再生したかなどを自分が聞いた音楽を歴史として遡れるようなアプリを作っていた。 メインの技術スタックは Rails + Herok

                                        既存のサービスを組み合わせて本質的な開発に集中する - star__hoshi's diary
                                      • SmartHR が定期メンテナンスを始めた理由とやめる理由 - SmartHR Tech Blog

                                        SmartHR のソフトウェアエンジニア ぷりんたい です。SmartHR には2017年2月に入社しました。 この記事は SmartHR 長時間のサービス停止を伴うシステムメンテナンスのお知らせ によせて書かれたものです。 ご挨拶 SmartHR では、昨年の6月より週2日という頻度で夜間のサービス停止を行ってきました。まずは、この運用形態を選択したことによりご利用中のお客様にはご不便をおかけしたことをお詫び申し上げます。 今日のクラウドサービスでは、無停止運用が当たり前といった風潮もありますが、なぜ SmartHR が停止メンテナンス運用を選択したのか、今後のサービス提供においてどのようなことを重視していくのかを技術者としての立場からご説明させて頂きます。 SmartHR の開発初期とマルチテナント問題 SmartHR は2015年2月に開発が始まり、同年11月にサービスインしました。

                                          SmartHR が定期メンテナンスを始めた理由とやめる理由 - SmartHR Tech Blog
                                        • Rails入門 | Rails日本語ドキュメント | Ruby STUDIO

                                          Ruby on Rails Guidesの内容を翻訳して作成したガイドです。 誤訳や誤記があると思いますのでその点についてはご了承ください。 もし、誤訳などの間違いを見つけましたら、 @tomof まで教えていただければ幸いです。 訳注:Rails4の「Getting Start」からは、scaffold(スキャフォールド)の説明がとり除かれたようです。 これは、おそらくscaffoldを使用することで、かえって初心者の理解を妨げる要因になると考えられてのことだと思われます。 scaffoldの事が知りたければ、Rails入門(Rails 3)を参照してください。 Railsの入門ガイドです。 このガイドを読むことで、次の事が学べるはずです。 Railsのインストールし、Railsアプリケーションのプロジェクト生成、データベース接続 Railsアプリケーションの一般的なレイアウトについて

                                          • Ruby on Rails Guides

                                            Ruby on Rails Guides (v7.1.3.3) These are the new guides for Rails 7.1 based on v7.1.3.3. These guides are designed to make you immediately productive with Rails, and to help you understand how all of the pieces fit together. The guides for earlier releases: Rails 7.0, Rails 6.1, Rails 6.0, Rails 5.2, Rails 5.1, Rails 5.0, Rails 4.2, Rails 4.1, Rails 4.0, Rails 3.2, Rails 3.1, Rails 3.0, and Rails

                                              Ruby on Rails Guides
                                            • JavaScriptのバンドルとトランスパイルが不要なモダンWebアプリ | POSTD

                                              筆者はES6以前のVanilla JSがあまり好きではありませんでした。 そこで、バニラJavaScriptをなるべく書かなくていいように、2000年代を通じてさまざまなアプローチを追求してきました。最初はRJS(Ruby-to-JavaScript)、次はCoffeeScriptでした。どちらのアプローチも、バニラJavaScriptより楽しく書けるソースコードを、ブラウザが実行できるバージョンのJavaScriptへトランスパイルするものです。ある程度は、うまくいっていました。 とはいえ、これは明らかにその場しのぎの手段に過ぎず、ブラウザがより洗練されたJavaScriptを理解できる日を待ちわびていたのです。ただ、そんな日が来ることはなく、永久にその場しのぎでやり過ごすのかと思われる時期がしばらく続きました。 しかし、幸いなことにJavaScriptは改善を続け、2015年にはES6

                                                JavaScriptのバンドルとトランスパイルが不要なモダンWebアプリ | POSTD
                                              • Railsアプリやgem作る時にいつも入れているgem一覧 - くりにっき

                                                id:joker1007 さんに触発されました。 Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。 1年間で10個以上アプリやgemを作っている中でよく使うgemをまとめてみます Railsアプリ(rails new した直後に必ず入れる) annotate https://github.com/ctran/annotate_models modelのソースの先頭にテーブルのスキーマ情報を付加してくれるgem。いちいちschema.rbを見に行く必要がなくなるので超ベンリ こんな感じ # == Schema Information # # Table name: plugins # # id :integer not null, primary key # name :string # title :string # version :string #

                                                  Railsアプリやgem作る時にいつも入れているgem一覧 - くりにっき
                                                • ユーザー基盤を作り直しながらRailsでのサービス層に向き合う - クックパッド開発者ブログ

                                                  こんにちは。パートナーアライアンス部の諸橋 (@moro) です。 突然ですが、わたしはいまクックパッドの「ユーザー基盤」を再構築しようとしています。 一口に「ユーザー基盤の再構築」といっても、そのゴールが何を指すかは(わたし自身にとってもまだ)漠然としており、固定されたゴールは見いだせていません。しかし後述するように、いくつかの問題は明確な形を取っています。言い換えると、それら明確な問題と向き合いながら『柔軟でいい感じのユーザー基盤を目指す』というのがこの再構築プロジェクトの目的です。 その第一歩目として、ユーザー登録部分を現状のクックパッド本体とは別の小さなRailsアプリケーションとして実装を進め、つい先日、一部の限定された利用者の方に向けて公開することができました。 今後も様子を見ながら公開範囲を拡大していく予定です。 再構築の背景 ではその「明確な問題」とはなんでしょうか。 最大

                                                    ユーザー基盤を作り直しながらRailsでのサービス層に向き合う - クックパッド開発者ブログ
                                                  • 永久保存版Railsアップデートガイド - pixiv inside

                                                    はじめまして、2018年7月入社の sue445です。自称「フルスタックキュアエンジニア」です。最近はpixiv PAYのチームでRailsを書いたり社内gemを作ったりしています。 好きなプリキュアはキュアピースです。 前置き 先日Rails 5.2.1がリリースされました https://weblog.rubyonrails.org/2018/8/7/Rails-5-2-1-has-been-released/ pixiv PAYでもその対応を行っていて、先日本番環境にRails 5.2.1を投入しました 💪 ググると特定のバージョンでのアップデート方法はいろいろ見つかるのですが、どのバージョンでも使える汎用的な方法が意外になかったので紹介しようと思います。 Rails 4.1系以降はだいたいこの方法でアップデートしてきたのでそれなりに実績のある手法だと思います。 筆者スペック 初め

                                                      永久保存版Railsアップデートガイド - pixiv inside
                                                    • プログラマ向け:自分の強みや得意分野を見つける方法 - give IT a try

                                                      質問:あなたの強みや得意分野は何ですか? プログラマのみなさんに質問です。 あなたの強みは何ですか? 胸を張って「任せとけ!」と言える得意分野はありますか? これはソニックガーデンの採用面談でよく聞かれる質問です。 僕もときどき採用希望の人と面談(という名の雑談)をすることがあるのですが、この質問に対して「はい、私はxxが得意です!」と即答できる人はかなり少ないです。 まあ、入社を希望する段階でいきなり「これが得意です!任せてください!」と言うのはかなり勇気がいりますよね。 下手に偉そうなことを言って、あとから「なんだ、大したことねーな」と思われたくない、という不安もきっとあるでしょう。 僕もかつては即答できなかった 何にせよ、即答できない気持ちはよくわかります。 実際、ソニックガーデンに入社した当時の僕もそうでした。 しかし、入社してから3年ほど経ってみると、いつの間にか僕にも得意分野(

                                                        プログラマ向け:自分の強みや得意分野を見つける方法 - give IT a try
                                                      • Dockerfileはなぜ複雑になるのか - Qiita

                                                        はじめに Dockerfileとは docker imageを作成する際のコマンドをコード化したもの 公式ドキュメント Dockerfileは「コンテナを動かす」ためだけなら簡単に作成することが出来るが、工夫せずに書くと運用上いろいろな問題が発生する。 それらの問題点のほとんどは書き方のテクニックによって回避することが出来るが、それらのテクニックを駆使すると、今度はDockerfileの中が複雑になっていく。 Dockerfileはなぜ複雑にならざるを得ないのか 発生する問題とそれに対するテクニックを例を上げて説明していくことで理解してもらう。 rails5.1 hello world projectを例に説明する。 簡単なDockerfileの例 重要なのはFROMとRUNとCOPYのみ FROM ベースとなるimageの指定 https://docs.docker.com/engine

                                                          Dockerfileはなぜ複雑になるのか - Qiita
                                                        • CIマニアから見たGitHub Actions(Beta)の使い所 - くりにっき

                                                          1ヶ月くらい使って勘所が見えてきたのでメモ メリット 1リポジトリ辺り20並列までジョブを並列実行できる ジョブ実行時はアクセストークンが勝手に設定されている マトリクステストがやりやすい 実際にGitHub Actionsに移行したプロダクト zatsu_monitor activerecord-compatible_legacy_migration index_shotgun デメリット yamlのanchorが使えない マトリクステストだとSlack通知がつらい 合わせて読みたい メリット 1リポジトリ辺り20並列までジョブを並列実行できる これに尽きる。 CircleCIにしろTravis CIにしろorganization(user) *1単位で並列数が縛られているため、例えば同じuserの他のリポジトリでジョブが詰まっていると別リポジトリではqueueが詰まってジョブが実行され

                                                            CIマニアから見たGitHub Actions(Beta)の使い所 - くりにっき
                                                          • Better Specs { rspec guidelines with ruby }

                                                            translations Documentation RSpec is a great tool in the behavior-driven development (BDD) process of writing human readable specifications that direct and validate the development of your application. On the web there are many resources that give complete overview of _what_ you can do with RSpec. But there are fewer resources devoted to how to create a great RSpec test suite. Better Specs tries to

                                                            • 運用に耐えるRailsによるWebアプリケーションの作り方 - Qiita

                                                              2019/09/09加筆: 注意事項 多くの人に見ていただいていますが,この記事は2017年12月当時(Railsの最新バージョンが4.2ぐらい)に書かれたものであり,現在は内容がかなり古くなっています 2019年9月現在,筆者はRailsどころかwebアプリケーション開発からも離れているため,今の所アップデートする予定はありません(というかできません). そのため,本記事を参考にする場合は使用しているRailsのバージョンに合わせて適宜脳内補完しながら読んでいただければ幸いです. 本記事に書かれているようなベストプラクティスを検討する上で最善の方法は,Railsの公式リファレンスとRailsのコードそのものを読んで最善策を模索することです.Rails5以上を使っている場合は,こんな古い記事を読まずに,自分で最善の方法について検討することをおすすめします. 筆者は,2014年半ばから201

                                                                運用に耐えるRailsによるWebアプリケーションの作り方 - Qiita
                                                              • ずぶの素人がRails開発できるようになるために必要な5つのこと

                                                                1. Rails 2012-01-31 kchinda@aiming-inc.com (a.k.a. @ckazu)

                                                                  ずぶの素人がRails開発できるようになるために必要な5つのこと
                                                                • Swagger+JSON SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話 - pixiv inside

                                                                  CTO兼福岡オフィス立ち上げ担当として新アプリを作っている@edvakfです。 JSON APIを開発しているとこういう問題がありがちですよね。 仕様どおりにAPIの形式を作ったはずだけどなんか自信が持てない テストでいくつかのキーが存在するかの簡単なチェックはしてるつもりだけど、全部チェックするのは大変すぎる APIのControllerやViewをリファクタリングしたらレスポンスの形が変わってアプリがめっちゃクラッシュし始めた というのが怖くて誰もリファクタリングできなくなった APIドキュメントがメンテされない 知らない間にレスポンスのフィールドが増えてたけどドキュメントに書いてない これらを解決したい!と思って試行錯誤したら、スマートに解決することができました。この記事ではRailsのことについて書きますが、考え方は他の言語・フレームワークでも同じです。 なお、今回使ったgemのバ

                                                                    Swagger+JSON SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話 - pixiv inside
                                                                  • 数十台規模のPHP 5.3プロジェクトをダウンタイムゼロでPHP 5.6化した時のまとめ | GMOメディア エンジニアブログ

                                                                    新年明けましておめでとうございます。GMOメディアの流しエンジニア、山田コーダーです。さて、ようやく弊社でもPHP 5.3、5.4系のプロジェクトの5.6化が一段落してまいりました。 PHP 5.6のリリースが2014年ですので今更感がありますが、「レガシーなPHPプロジェクトのバージョンアップに困っている」「使いたいライブラリーが5.3に対応してないからバックポートした」などという悲痛な声を目にしたこともあり、これからPHPのバージョンアップをされる方たちへのささやかな参考資料になればと思い、書かせていただきました。 さて、まずは本題に入る前に結果からお見せしようと思います。以下はNew Relic(アプリケーションのパフォーマンス監視サービス)のレスポンスタイムのグラフです。なおこのプロジェクトでは、ブラウザー表示用HTMLを出力するサーバー(Web 約10台)と、スマートフォンアプリ

                                                                      数十台規模のPHP 5.3プロジェクトをダウンタイムゼロでPHP 5.6化した時のまとめ | GMOメディア エンジニアブログ
                                                                    • Rails5.1から導入されるwebpacker.gemは本当にRailsのフロントエンド開発に福音をもたらすのか? - Qiita

                                                                      Rails5.1が今betaで出ていますね。中でも目玉はwebpacker.gemによるモダンなフロントエンド開発がRailsに導入されることでしょう。 今までのRailsのasset pipelineとは別に、yarnによって依存性を管理しwebpackで結合する独立したjsのビルドシステムがサポートされます。 これによって、以下のような従来のasset pipelineでは解決がむずかしかった問題への解が示されました。 coffee scriptへの依存 npmによる依存性、バージョン管理が難しい javascriptのライブラリが野良gem化されてupdateされない問題 webpacker.gemはyarn/webpackの薄いwrapperとなっていて、加えて幾つかのrakeタスクを追加することでフロントエンド開発をサポートします。 具体的には以下のような機能が提供されます。 y

                                                                        Rails5.1から導入されるwebpacker.gemは本当にRailsのフロントエンド開発に福音をもたらすのか? - Qiita
                                                                      • Rails アプリでオンラインでカラムの削除やリネームを行うには - eagletmt's blog

                                                                        前提知識 Rails アプリにおいて、テーブルの追加やカラムの追加は簡単なものの、カラムの削除やリネームは慎重に行う必要がある。たとえアプリからそのカラムを参照してないとしても、いきなりカラムを削除するとエラーになる可能性が大いにある。 というのも Rails にはスキーマキャッシュというものがあり、テーブルのカラム情報をモデルがキャッシュしているからだ。このキャッシュはたとえばいわゆる N+1 クエリ問題を避けるために includes (eager_load) するときに参照される。 SELECT 句で t0_r0 のような機械的に別名が振られるようなクエリを見たことがある Rails エンジニアは多いと思う。 機械的に全カラムを取得するためにスキーマキャッシュを利用しているため、このようなクエリが実行されてる中でカラムを削除したりリネームしたりすると、スキーマキャッシュをもとに並べら

                                                                          Rails アプリでオンラインでカラムの削除やリネームを行うには - eagletmt's blog
                                                                        • Rails の CVE-2019-5418 は RCE (Remote code execution) です

                                                                          CVE-2019-5418_is_RCE.md Rails の CVE-2019-5418 は RCE (Remote code execution) です 2019-03-23 更新 Remote Code Executionとして、Advisoryが更新された。 https://groups.google.com/d/msg/rubyonrails-security/zRNVOUhKHrg/GmmcVXcmAAAJ Thanks to @sorah @tenderlove 前置き これは休日に書いた記事で所属している組織とは一切の関係がない。 概要 CVE-2019-5418 は実際のところ高確率でRCEなのだが File Content Disclosure という聞き慣れない名前で公表されて、CVE-2019-5419 で DoSが出来るという内容になっている やあ、脆弱性の開示方

                                                                            Rails の CVE-2019-5418 は RCE (Remote code execution) です
                                                                          • RailsアプリをECSで運用するまでにやったこと、これからしていくこと - スパイスな人生

                                                                            おはようございます。一番よく使うemojiは 👀 (:eyes:) のうなすけです。 さて弊社では、最近社内Railsアプリをひとつ構築しました。それをECSで運用することにしたので、そこに至るまでの経緯、つまづき、これからの課題などなどを記事にしていこうと思います。上の図は現時点での簡単なAWS上での構成図です。 以下、見出しは時系列順でやったことを記録していきます。 社内Railsアプリ、一体どんなもの? ここで新規に構築することになった社内Railsアプリですが、特に凝ったことはしていない単純なRailsアプリです。初めからECSで運用することにしていたので、開発環境も全てDockerで構築しています。Railsのバージョンは5.1.0、Docker imageのFROMにはruby:2.4.1-silmを採用しています。 Docker imageのtagについて developm

                                                                              RailsアプリをECSで運用するまでにやったこと、これからしていくこと - スパイスな人生
                                                                            • 日報共有アプリケーションをOSSとして開発している話

                                                                              日報一覧画面最近、プライベートな時間をつかってRepostというオープンソースの日報共有アプリケーションを開発しています。 投稿した日報に対して、コメントや絵文字でリアクションすることでチームでのコミュニケーションを活性化させることを目的としています。日報版Slackのようなイメージです。 まだ開発着手から1ヶ月ということもあり、バージョン0.0.1でまともに稼働できる段階ではないですが、開発のモチベーションを高めるためにも記事を書いてみました。 技術スタック チャンネル作成画面RepostはフロントエンドにReduxを採用し、SPAとして構築しています。APIサーバとしてのバックエンドはRuby on Railsで開発しています。また、エディタ部分はDraft.jsを用いてMarkdownエディタを実装しているところです。 Draft.jsについては、過去にとあるプロダクトに採用した経験

                                                                                日報共有アプリケーションをOSSとして開発している話
                                                                              • Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々

                                                                                元記事: Awesome Ruby Ruby 以外の言語, ソフトウェアについては を参照してください. Awesome List in Qiita Awesome Java Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium 抽象化 ActiveInteraction - アプリケーション固有のビジネスロジックを管理します. Cells - Rails のコンポーネントを表示します. Decent Exposure - コントローラに宣言的インタフェースを提供するヘルパー. dry-rb - 共通のタスクをカプセル化するための, 次世代 Ruby ライブラリコレクションです. Interactor - 1回のリクエストで複雑なインタラクションを実行するため

                                                                                  Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々
                                                                                • Docker for Mac がずいぶん良いらしいので、Docker で Rails アプリを動かしてみた - えいのうにっき

                                                                                  Docker は、以前に「勉強」だけはしていたのだけど「実践」はあんまりできていなかった。でも、ここのところ Docker for Mac の評判がずいぶん良いらしいので、遅くはなったけど「実践」の頃合いかなということで腰を上げてみた。Docker 再入門、ってことで。 Docker for Mac のインストールと Getting Started ここの通りに進めていってみる。Docker for mac は 2016/06/29 現在、public beta。 進めていくなかで、Getting Started の途中にある、hello-world の docker run にて $ docker run hello-world Unable to find image 'hello-world:latest' locally Pulling repository docker.io/l

                                                                                    Docker for Mac がずいぶん良いらしいので、Docker で Rails アプリを動かしてみた - えいのうにっき