サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
sakanasoft.net
手っ取り早く綺麗なテンプレートで作成出来るGithub Pages Github Pagesはデフォルトでいくつかのテーマをサポートしており、Markdownで記事を制作するだけで綺麗なページをすぐに作成出来ます。しかもhttpsに標準対応しています。 事前準備 Github PagesはHTMLジェネレータであるJekyllを利用しています。JekyllはRubyのライブラリなので、事前にライブラリをインストール出来るようにRubyとbundlerを準備しておきます。Rubyはrbenvかrvmを利用して最新バージョンを使うのが良いでしょう。bundlerはRubyインストール後以下コマンドで用意します: $ gem install bundler Github Pagesリポジトリ作成からJekyllを使ってローカル確認環境を整備する それではGithub Pagesを作成していきます
Active Storage Amazon S3、Google Cloud Storage、Microsoft Azure Storage等のクラウドストレージへのアップロードとActive Recodeへの紐付けを行う Redis Cache Store config.cache_store = :redis_cache_storeによってCache StoreにRedisをRails組み込みで指定された設定をすることで指定出来る様になる HTTP/2 Early Hints HTTP 103 EarlyHintsを用いたサーバプッシュが行えるようになる Content Security Policy Content-Security-PolicyというHTTPヘッダを指定することでセキュリティポリシーをブラウザ側に伝えてそれらに則ってブラウザ側で脆弱性強化を行える仕組みが追加されたよう
ES2016(ES7)では非同期プログラミングが策定されました。各JavaScriptエンジンもPromiseから対応が始まり、Can I useを参照すると2018/1現在ではIE11以外のデスクトップ、スマホとも主要ブラウザはほぼ対応が完了していて利用出来る状態が進んでいるようです。 非同期関数からのエラーをどう返すべきか? node.jsを開発を行っていて非同期プログラミングをしているとPromise配下では例外とrejectがあって何を使って良いのか考えていました。辿り付いた結論は、 rejectはシステムでは極力使わずどうしても必要な場合は例外を利用する エラーハンドリングを行う必要がある想定可能なエラーはasync functionのreturnで結果を返す ということになりました。どうしてこういう方針になったのかをそもそもエラーとは何かを考察しながら説明します。 システムが想
GherkinとはCucumberやTurnipで採用されているテスト記述言語フォーマットのことです。RSpec vs MiniTest等の議論は巷では活発に行われていますが、Gherkinに関しては余り大きく取りあげられたりすることがないように感じます。 しかし、Gherkinは以下の様な理由から是非採用した方が良いテスト手法だと考えています: 自然言語で書ける。英語でも日本語でもOK テスト仕様部分とロジック部分をfeatureとstepで分離しており何がテストされているか分かり易い それではRSpec、MiniTest、Gherkin(Turnip)でそれぞれ同じテストケースを記述してみるとどういう書き方になるのかを検証していきます。 テストサンプルによるMiniTest / RSpec / Gherkin比較 以下はrails g scaffold post title:strin
yarnを利用してnode_modulesをインストールした後にローカルで直接フォルダを削除したり編集したりしたら更新出来なくなって困ったことはないでしょうか?yarnは高速化の為に必要なnpmは一旦ローカルにキャッシュされています。キャッシュするフォルダパスは $ yarn cache dir で確認出来ます。また、古いnpmバージョンも全てキャッシュします。キャッシュされているnpmリストは $ yarn cache list で確認出来るので、キャッシュ量が気になってきたら以下でクリアすると良いでしょう: $ yarn cache clean インストール時のキャッシュの利用のしかたを理解する yarnではどのようにキャッシュが利用されているか理解する為にpackage.jsonを作成するところから実験してみます。今回はmime npmをyarn-testフォルダにインストールしてみ
正直、コード規約、静的解析は余り好きでは無いです。正確には、あるツールのルールによって「意味も無く縛られる」のが嫌いです。 「こうした方が良いよ」っていう助言はとても貴重で有り難いのですが、最終的に「そうした方が良いので対応しよう」と判断するのは実際に実装を行うエンジニアがやるべきです。プロダクトコードに統一感が出て可読性も上がるのであれば当然そちらの方が良いのですが、「ルールは絶対」なんてことにしてしまうとその対応によって生産性が下がってしまうなんていうことになると本末転倒な話です。新しいRuby/Railsバージョンで推奨される書き方を学んでいくためのきっかけとして使うのであって、決して足枷になってはいけません。 ・・・前置きが長くなりましたが、Rubyで静的解析を行ってくれるRubocopを試してみましたので使い方と実際にどんな警告が出てどう対応したかを見ていきます。 スポンサーリン
前回、IntegrationテストをTurnipで導入すると良いという話をしましたが、それ以前は長い間Seleniumを利用してE2Eテストを行ってきました。Seleniumは実際にブラウザを自動的に操作して評価するわけですからユーザー視点での評価としてはこれ以上ありません。しかし、実際に運用してみると迅速にリリースを進めたいという思惑から遠のいていくケースも少なくありません。 現在Ruby on RailsでのWebアプリケーションを運用中ですが、テスト手法は受け入れテストも兼ねる機能テストをCucumber + Capybara + rack_testにて、単体テストをRSpecでリリースフローを回しています。今まで自分が構築してきたWebアプリケーションのテストについて振りかえってみて、どうしてこうなったという辺りを紹介してみたいと思います。 衝撃的だったSelenium 自分がSe
ツール ずっと放置してたRailsアプリをRuby 2.1.6→2.5.0、Rails 4.2→5.1、RSpec 2→3にアップデートした時の手順と非互換になった部分の修正まとめ WebSocket(Pusher)を使ってリアルタイムチャット&囲碁が出来るTiramisuというRailsアプリがあるんですが、数年前にRails4.2.1にバージョンを上げたっきりで放置してあってherokuの動作中のOSも既にサポート終了しているCedar-10(Ubuntu 10.04 LTSベース)のままでデプロイすら出来ない状態になってました。。 WebSocketの学習とリアルタイムで何が出来るかを検討して作った実験アプリですが現状でもちゃんと動きますし腐らせて永遠にキャッチアップ出来ないってのも辛いので現状の最新版Railsにキャッチアップしたので、その時の手順とdeprecatedや削除されて
このページを最初にブックマークしてみませんか?
『sakanasoft.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く