2019-01-01から1年間の記事一覧
今年も一年が終わるということで今年も振り返ってみる。 今年の振り返り アウトプット BLOG BLOGは、今年1年で56記事書いてました1週間に1.2記事ぐらい書いてるので、そこそこ書いてた ちょっと気になった記事をpickupして載せときます。 madogiwa0124.haten…
みなさんRubyのlamdaを使っていますか?lamdaを使うとロジックを変数にいれて抽出するようなことが出来ます。これを使うと複雑なロジックを変数に入れて名前をつけられたり、いろいろとスッキリかけるケースが多そうな気がしてきたのメモしておきます lamda…
昨今、フロントとバックエンドを別々のリポジトリにしてOpenApiでインターフェースを定義して進むプロジェクトが増えてきていると感じていますが、OpenApiとか全然付いていけてないので個人でNuxt.jsとRuby on Railsが別々のコンテナで立ち上がる環境を作っ…
普段自分が何気なく実行しているgem installが実際にどのように行われれているのか気になったのでコードを読んで流れを追ってみました ※今回読んだのはrubygemsのstableなブランチを思われる3.0のコードです。 GitHub - rubygems/rubygems at 3.0 gem instal…
はじめに Railsで確認画面を実装すると毎回、ベストプラクティス的な解決方法が見つからず悩むので、どういう実装をするのが良いのか少し感がてみました。(私の個人的な見解です♂️) はじめに 確認画面の難しさ よく見るやり方 その他のやり方を検討してみる…
今回はタイトルどおり、Rspec、Capybaraを使ったfeature specでJavaScript側の時間を操作するhelperを作ってみたので考慮漏れとかあるかもですが書きます。 ↓コードだけみたい人はこちら rspecを使ったfeature specでjavascriptの時間を指定時間に固定するhe…
業務でちょっとembulkを触る機会があって、いろいろ触ってみたかったのでDockerを使った実行環境とサンプルを使って少しわかってきたので使い方とか概要をメモしておきます embulkとは? embulkとは下記で記載しているように、色々なファイルとかデータベー…
最近自作フレームワークにrails newのようなコマンドを追加したくてRubyGemで実行コマンドを作る方法について調べたのでメモしておきます github.com 実行コマンドとは? 実行コマンドというのはrails newやrspecといったRubyのコード外からgemのコードを呼…
Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んで、オブジェクト指向の原則について学びがあったので、Rubyのコード例と共に内容を整理してみました。 Clean Architecture 達人に学ぶソフトウェアの構造と設計作者: Robert C.Martin,角征典,…
Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んで、オブジェクト指向の原則について学びがあったので、Rubyのコード例と共に内容を整理してみました。 Clean Architecture 達人に学ぶソフトウェアの構造と設計作者: Robert C.Martin,角征典,…
Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んで、オブジェクト指向の原則について学びがあったので、Rubyのコード例と共に内容を整理してみました。 Clean Architecture 達人に学ぶソフトウェアの構造と設計作者: Robert C.Martin,角征典,…
Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んで、オブジェクト指向の原則について学びがあったので、Rubyのコード例と共に内容を整理してみました。 Clean Architecture 達人に学ぶソフトウェアの構造と設計作者: Robert C.Martin,角征典,…
Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んで、オブジェクト指向の原則について学びがあったので、Rubyのコード例と共に内容を整理してみました。 Clean Architecture 達人に学ぶソフトウェアの構造と設計作者: Robert C.Martin,角征典,…
WEBrickとSqlite3で動作するシンプルなWebアプリケーションが作れる、MakanaiというフレームワークRubyで作りました github.com なぜ作ったか? RailsやSinatraといったRuby製の素晴らしいWebアプリケーションフレームワークが世の中にあるなか、なぜMakana…
最近、下記のようなページの離脱時のイベントを補足してサーバーにリクエストを投げるような処理を実装したのですが、 import axios from axios; window.addEventListener('beforeunload', () => { axios.post('/logs', { event: 'beforeunload' }); }) ペー…
最近自分の個人サービスのRailsアプリケーションをWebpaker3系(3.5.5)から4系(4.0.7)にアップグレードしたのですが、割とハマったので手順をメモしておく✍ ちなみにVue.jsを使っている場合の手順になるので、ご注意ください⚠ とりあえず手順だけ package.jso…
RubyでオレオレWebフレームワークを作っているのですが、だいぶ形になってきたので知識の整理がてら色々まとめてみる✍ 今回は第4回目です 第3回 クエリ文字列を含んだGETに対応したRouting機能作るはこちら madogiwa0124.hatenablog.com 今回のゴール 処理の…
オレオレフレームワークを作っていると自作のRackアプリケーションのテストを書くときに、 「どうやってリクエストをモックすればいいか」という問題が立ちふさがるのですが、 Rackの標準ライブラリを使うといい感じに出来ることがわかったのでMEMO✍ そもそ…
今回社内でRails 6へのバージョンアップを担当しているということもあり、下記イベントのパネルディレクトリのパネラーとして登壇させて頂きました 特に内容に深く触れるとかは無いですが、日記的に記録として残しておきます✍ techplay.jp LTとかではなかっ…
N+1を解消する方法としてincludesを使うことが多いと思います。includesを使うrailsがよしなにpreloadとeager_loadを使い分けてくれますが、その使い分けの条件を知らずに、とりあえずincludesを使ってしまうと思いも寄らないSQLが実行されてしまう恐れがあ…
rails guideのconfig.cache_classesの説明を修正してcontributeしました github.com rails 6にversion upする中でRailsDiffを見てたら、テスト環境のconfig.cache_classesのデフォルト値が変わっていましたが、 http://railsdiff.org/5.2.3/6.0.0 guideの説…
RubyでオレオレWebフレームワークを作っているのですが、だいぶ形になってきたので知識の整理がてら色々まとめてみる✍ 今回は第3回目です 第2回 GETに対応したRouting機能を作るはこちら https://madogiwa0124.hatenablog.com/entry/2019/09/01/233842 今回…
RubyでオレオレWebフレームワークを作っているのですが、だいぶ形になってきたので知識の整理がてら色々まとめてみる✍ 今回は第二回目です✌️ 第1回 Hello World はこちら https://madogiwa0124.hatenablog.com/entry/2019/08/25/181608 今回のゴール まずはR…
RubyでオレオレWebフレームワークを作っているのですが、だいぶ形になってきたので知識の整理がてら色々まとめてみる✍ 今回のゴール Rackを使ってWEBrickとコードを繋ぐ WEBrickとRackを使ってレスポンスを返す おわりに 参考 今回のゴール 最終的には、CRU…
こんにちは、まどぎわです(・∀・) rubyで文字の類似度とか測るgemとか無いかなーと探してたらamatchというgemを見つけたので、使い方とかをメモしておきます✍ amatchとは? 使い方 実際に解析してみた パフォーマンス おわりに 参考 amatchとは? This is a …
Sinatraコールドリーディングも今回で最終回です 今回はerbでテンプレートを指定して実行後に実際にブラウザに返却されるresponse bodyが生成されるまでを見ていきます! 前回までの内容はこちら、以前の記事を前提として書いてますので1回目、2回目を読んで…
最近、パフォーマンス測定について学びがあったので基本的な内容が多いですが、自戒もこめてまとめておきますm( )m 大事なこと 思い込みを捨てる ボトルネック、発生箇所を場所を測定し特定する システムのパフォーマンスを測定する 起動中のプロセスを確認…
Sinatraコードリーディングの第二回目です 前回は、ruby app.rb実行後にServerが起動するまでのコードを読んでみましたが、今回はServerが起動したあとに特定のURLにアクセス際にapp.rbで定義した処理が実行されるまで、どのような動きになっているのかを追…
今まで暗黙的に使ってたRailsのコードをちゃんと読もうと思ったのですが、最初からRailsのコードを読んでいくと深みにはまりそうだったので、まずはシンプルなsinatraの実装を読んでみようということで、Sinatra(ver 2.0.5)のWeb Serverが起動するまでのコー…
最近ruby標準のOpenStructライブラリが便利だなと思ったので、使い方とかメモ✍ OpenStructとは? OpenStructはrubyの標準ライブラリです。マニュアルには下記のように記載されてます。 要素を動的に追加・削除できる手軽な構造体を提供するクラスです。 Open…