タグ

ブックマーク / re-engines.com (7)

  • Railsの低レベルキャッシュを使ってみた | RE:ENGINES

    はじめに こんにちは、tonnyです。 先日、APIにて外部からデータを取得する実装をしておりました。 このとき、同じようなデータを毎回毎回取得しに行くのもよくないと思い、簡易的ではありますが、Railsのキャッシュ機能を使用しました。 今回はそちらを備忘録的にまとめたいと思います。 環境 Ruby: 2.4.1 Ruby on Rails: 5.1.3 ドキュメント 概要については、こちらをご参照ください。 Railsのキャッシュ機能:概要 また、各メソッドについてはこちらを参照させていただきました。 今回はこの中からいくつかご紹介できれば、と思います。 ActiveSupport::Cache::Store < Object 準備 configの確認 今回は rails console にて確認していきます。 ただ、Development環境ではキャッシュ機能がオフになっております。

    Railsの低レベルキャッシュを使ってみた | RE:ENGINES
  • Go言語でGinkgoを利用してBDDしてみた | RE:ENGINES

    はじめに こんにちはsuzukiです。Go言語の連載9回目です。 今回はライブラリのGinkgoを利用してBDDについて説明いたします。 BDDとは BDD(BehaviorDrivenDevelopment)とはビヘイビア駆動開発と呼ばれる開発方法です。 実現したい機能の振る舞い(要求仕様)を決める 振る舞い(要求仕様)を元にテストコードを作成 テストコードを満たすための機能を開発 リファクタリングを行う 上記のように開発していきます。 振る舞いの意味については色々な意見があるかと思いますが、この記事では要求仕様として進めさせていただきます。 Ginkgoについて 今回使用するGinkgoについて主要な関数についてまとめさせていただきます。 Ginkgoの概要 BDDを進める上でテストコードの作成を行いやすくするためのライブラリです。 GomegaというMatcherのライブラリと併用し

    Go言語でGinkgoを利用してBDDしてみた | RE:ENGINES
  • Go言語の基礎〜Go 1.11 開発環境構築とパッケージバージョン管理〜 | RE:ENGINES

    はじめに こんにちは、雨の日が最近多く、気温の変化が激しくて、体調管理に気をつけなければと思うこの頃です。 さて、今回はGo言語についてです。Go言語をご存知の方は、最近ですと、2018年8月末に1.11がリリースされことや、Go2でのgenericsやエラーハンドリングに関する議論など耳にされている方も多いのではないでしょうか。 改めて話題になってたことで、私たちもGo言語を改めて学びなおそうと、勉強会合宿を開催しました。そこで発表・共有した内容を簡単にまとめ、数回にわたり連載を予定しております。 今回の記事では、改めてGo言語を勉強してみたいという方向けに、Go言語概要と環境構築から、Go 1.11でexperimentalでリリースされた Modules について紹介したいと思います。 Go言語(Golang)とは Go言語の連載最初の1回目の記事なので、簡単にGo言語についても説明

    Go言語の基礎〜Go 1.11 開発環境構築とパッケージバージョン管理〜 | RE:ENGINES
  • Vue on Rails で作ったアプリを振り返ってみる | RE:ENGINES

    はじめに 個人的にRailsで作成していたWebアプリケーションのフロントエンド部分をVue.jsに切り出しました。 今回は私の使い方を振り返りつつ、記事にしたいと思います。 ドキュメントや他サイト様の記事を参考に、我流が入っている部分もあるので、ベストとは言えないかと思いますが、何かしらの気づきになれば良いな、と思います。 以前書いた、Vue.jsとRailsでTODOアプリのチュートリアルがベースにはなっています。 全体的なこと ディレクトリ構成 RailsWebpackerでVue.jsをインストールすると、 javascript ディレクトリができるので、その下をVue.js専用としています。 javascript ├── components │ ├── commons │ │ ├── alert.vue │ │ └── loading.vue │ ├── errors │ │

    Vue on Rails で作ったアプリを振り返ってみる | RE:ENGINES
  • [WordPressのSEO対策]PageSpeed Insightsのスコアを上げる方法 | RE:ENGINES

    はじめに WordPressでプログを公開し始めて、もう半年以上も経ちますが、SEO対策はほとんどやっていませんでした。 さすがに少しぐらいはSEO対策をやろうと思い、エンジニアリングでできそうなところとして、GoogleのPageSpeed Insightsのスコアを上げる対策をしてみました。 基的なことですが、下記の対応をするだけこのブログサイトのスコアは常時80以上のスコアをキープできるようになりました。ぜひ、参考にしていただければと思います。 現状のスコアと改善点を確認する 何はともあれ、現在のスコアと改善を確認するところからですね。 こちらのサイトで計測したいウェブページのURLを入力して、分析ボタンを押してください。 暫くすると現状の「スコア」と「適用可能な最適化のリスト」が表示されます。この「適用可能な最適化」を一つずつ改善していけばスコアは上がります。 とはいえ、一つずつ

    [WordPressのSEO対策]PageSpeed Insightsのスコアを上げる方法 | RE:ENGINES
  • Swift3で動的にUIViewを切り替える Part2 | RE:ENGINES

    はじめに どうも、はじめです。 前々回にExtraViewを使って画面の切り替えを行う方法を書きましたが ContainerViewというものを使ってみてかなり便利なことがわかったので 備忘録的な意味も含めて今回記事を書いてみようと思います。 前提条件 Swift3.1 完成イメージ 完成イメージとしては以下のような画面になります。 動きとしては、 SegmentのFirst、Secondを選択すると、[ContainerView A]と書かれている部分が切り替わり、 それとは別に固定のViewが一つ存在している状態となります。 StoryBoardの準備 Viewの配置 まずはじめにわかりやすいように以下の3つのViewを用意します。 ① Segmentを配置するView ② ContainerViewを配置するView ③ 固定Viewを配置するView ① Segmentを配置するV

    Swift3で動的にUIViewを切り替える Part2 | RE:ENGINES
  • MySQL 5.7 オプティマイザの改善〜UNION ALL〜 | RE:ENGINES

    はじめに Amazon RDSのMySQL 5.7で開発を行うことになりました。そこで、少しですがMySQL 5.7の機能を調べる機会がありましたので、今回は「UNION ALL」に関してのオプティマイザの改善について記載したいと思います。 「UNION」と「UNION ALL」の違い 先ずは、改めて「UNION」と「UNION ALL」の違いを簡単に説明しておきます。 UNION 結合対象のSELECT文の結果の全レコードを取得し、重複レコードを除去し返却します。 UNION ALL 結合対象のSELECT文の結果の全レコードををそのままつなげて返却します。 違いは結合した結果から、「重複レコードを除去するか、しないか」だけとなります。 MySQL 5.7での「UNION ALL」の改善とは 後ほど、「UNION」「UNION ALL」の実行計画の例を記載しますが、実行計画は単純であり、

    MySQL 5.7 オプティマイザの改善〜UNION ALL〜 | RE:ENGINES
  • 1