とーますメモ

Ruby on Rails / Goなどの学習メモ

さくらVPSにムームードメインを割り当てる

自分用メモ下のサイトさんがすごい役に立った。 okuzawats.com参考までに。

【さくらVPS】Nginx + Goのインストール・設定

前回、NginxとGoをそれぞれインストールした。thoames.hatenadiary.jp thoames.hatenadiary.jpここでは以下の前提で設定する。Goは「127.0.0.1:5050」で既に動作しているという前提で 話をすすめる。 $ ./app & nginxの設定を以下のようにすれば動作する。 …

【Go】Goアプリをデーモン化(常駐化)させてみた。

Supervisorという「プロセス管理/デーモン化」ツールが便利そう。 色んなサイトで紹介されていたので、使用してみる。 インストール $ sudo yum install supervisor 設定ファイル編集 $vi /etc/supervisord.conf 一番下にGoアプリの設定を以下のように追記。…

【さくらVPS】Nginxインストール・設定

yumに入っているものは古いため、 リポジトリを登録してインストール Nginx用のリポジトリを作成 $ vim /etc/yum.repo.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1 インスト…

【Go】CentOS(さくらVPS)に最新のGoをインストールする方法

yum経由でもインストールは可能であるが $ yum install golang 古いバージョンが入るので、 新しいバージョンを入れたいときは以下のようにする。取得 $ cd /usr/local/src $ sudo wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz 解…

【Go】さくらVPSでgo getが失敗した理由(対応方法あり)

結論から言うと、gitのバージョンが古いことが原因だった模様。 以下の記事通りにgitのバージョンを上げたら直る。 thoames.hatenadiary.jp[参考] oranie.hatenablog.com

【さくらVPS】gitの古いバージョン(1.7.x)を新しいバージョンに変更する方法

自分のVPSのgitのバージョンは1.7.1だった。 それを現時点で最新の2.15.1にする。 古いバージョンを削除 $ yum remove git 新しいバージョンをダウンロード $ cd /usr/src $ sudo wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.gz tar x…

【Go入門】デプロイツール「sup」の使い方

自分用メモ。RailsならCapistranoが有名だが、Goでも同じようなツールがないか調べてみたところ このツールが検索に引っかかったので、使い方を調べてみた。ツール名は「sup」。 github.com特徴は、YAML形式の設定ファイルに対象ホストやコマンドを自分で記…

【Github】コミット時に登録される自分のEmailアドレスを削除したい!

自分用メモ。Githubはコミッターの判別に、登録されているメールアドレスを用いている。 GitHub uses the email address set in your local Git configuration to associate commits pushed from the command line with your GitHub account. Setting your c…

【Go】elasticでNewRegexpQueryを使ってみたが・・・

自分用メモ。elasticでは「NewRegexpQuery」がちょっと微妙。 [a-z]とかは使用できるが「^」や「$」が使えないっぽい。。。godoc.org

【Shopify × Rails】ShopifyAppに手動でログインする方法

自分用メモ。shopify_appを使用しているなら通常は 未ログイン状態の場合、ログイン画面に遷移し、omniauthを通じた認証が行われる。認証後はセッションにShopify情報にアクセスするためのセッションが保存される。ただ自分の場合、Activeadminと組み合わせ…

【Google Home】IFTTT(イフト)との連携

IFTTT(イフト)とは、 複数のサービスを連携させることができる「仲介サービス」のこと。ちなみに無料。 名前の由来は、「IF THIS THEN THAT」の頭文字をつなげたものだが 連携させるサービスもこの名前の様式通り、"これ"をしたら、"あれ"をする。と言った…

【Google Home】言語設定の変更の方法

自分の場合は、英語と日本語を交互に使う用途があるため設定Google Homeアプリを開き、設定画面 -> 「その他の設定」-> 「デバイス(設定中のもの)」-> 「アシスタントの言語」に行くと設定が変更できる。

【Activeadmin超入門】CanCanCanの設定 〜その2〜

前回の【Activeadmin超入門】インストール・環境設定 〜その1〜 - とーますメモに続けて、権限管理を行うためのCanCanCanの設定を書いていく。前の記事にも書いたとおり、CanCanCanはCanCanの後継プロジェクトであり、 設定の仕方はCanCanと同じように記述…

【Activeadmin超入門】デザイン・スキン変更 〜おまけ〜

複数の管理画面をactiveadminで使用している場合は 間違わないようにするために、できれば違うデザインを反映させたいところ。ここではActiveadminで使用できるスキンである「ActiveSkin」を紹介する。github.com 1)インストール gem 'active_skin' 2)SC…

【Activeadmin超入門】インストール・環境設定 〜その1〜

Activeadminとは 要は「管理画面」系のRailsアプリをお手軽に作ることができるgem。デザインは単調なものだが、決まったやり方に沿って作れば、 CRUD画面、検索フィルター、バッチ処理、CSV出力などの処理 また連携するgemを入れることでユーザ認証、権限管…

【Google Home】超絶便利!電話のかけ方

※現在の時点(2017/12/19)では、アメリカとカナダしか対応していない。Google Homeを使用して電話をかける場合で 「名前で電話をかけたい場合」は、Google連絡先(Google Contacts)に相手の連絡先を 設定しておく必要がある。 ※番号で電話をかける場合は上…

【Google Home】音声の英語設定の仕方

自分の場合、知り合いの英語ネイティブにも使用してもらいたかったので 英語の設定が必要になった。設定は簡単で、 Google Homeアプリを開き、 設定画面から「その他の設定」-> 「デバイス(例: オフィス、キッチン」-> 「アシスタントの言語」からGoogle音…

【Google Home】複数ユーザ登録の方法

Google Homeに自分の声を登録するには App StoreもしくはGoogle Playで Google Homeアプリをダウンロードする必要がある。また複数人のユーザ(家族や友人)の登録も 同じようにGoogle Homeアプリをダウンロードし 声を登録させれば良い。最大で6人まで登録…

【ShopifyApp × Rails】Embedded Appsの設定について

RailsでShopifyアプリを作成する際は、 公式から配布されているgemである「shopify_app」を使用して アプリを作成するのが普通だと思う。github.comこのgemを介して、アプリの初期設定を行うと 現時点(2017/12/15)では アプリはデフォルトで「Embedded app…

【Rails】select_tag使用時にデフォルト値を設定する方法

ググってもさっくり結果が出なかったので自分用のメモ。select - リファレンス - - Railsドキュメント上記の公式ページを見ると、 optionsの設定には、「options_for_select」を使用しているが :selectedを指定している例がなかったので調べたら、 やっぱり…

【RSpec】テスト時に他のDBと同じデータを使いたい!

結論から書くと以下。1)seed_dumpでDBからデータを抽出 2)db:seed用のrakeタスクを作成 3)1)で作成したファイルを指定し、データを挿入FactoryBot(旧:FactoryGirl)では面倒くさい時、 開発用などデータが入っているDBのデータを、 そのまま利用し…

【CircleCI2.0】Rspecの並行テストの設定

RailsのCircleCIのサンプルyml(Sample.yml)を見ると 以下のような記述がある # run tests! - run: name: run tests command: | mkdir /tmp/test-results TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timing…

【CircleCI2.0 ✕ Rails】database.ymlはpushしたくないけど、CircleCIを使うにはpushしないといけない問題

自社の開発では、database.ymlは .gitignoreに追加し、リポジトリにpushしない方針にしている。そしてチームメンバーは各々のユーザ名やパスワードを database.ymlに設定し、各環境のDBを使用する。 ※チームメンバーの開発環境(VM)が全て同じものであるな…

【CircleCI2.0】困った!RailsとMySQLのconfig.yml設定

CircleCI2.0の公式サイトを見ると、PostgreSQLについての設定例はあるのだが 一番知りたい、MySQLの設定例が無い。circleci.comそして、自分は今回初めてCircleCIを利用する初心者。そして色んなサイトを参考にしようと、調べては見るものの 自分がよくわか…

【CircleCI2.0】config.ymlのworking_directoryの設定と、Gemのキャッシュ

working_directoryを設定することで リポジトリをチェックアウトする場所を設定するが 何も設定しない状態だと、デフォルトのチェックアウト場所は「home/circleci/project」になる。将来的に複数のプロジェクトを利用するなどの場合を想定すると それぞれの…

【CircleCI2.0】入れておきたいGem

Rubocop 書かれたRubyコードが「コーディング規約」通りに 書かれているかチェックしてくれる。チェックさせないファイルを指定したり、 一部チェックを無効化したりすることもできる。また既存のプロジェクトに導入した場合などで 大量に直さないといけない…

【MySQL】高速化メモ

[参考元] Top 20+ MySQL Best Practices 面白いと思ったTips 結果が1件であると予め知っている場合でも「Limit 1」をつけたほうが良い 「PROCEDURE ANALYSE()」を使用し、最適な型やサイズの提案を貰う。

【Shopify】アプリの種類についてまとめてみた

大きく分けて3つあるが、 使用できる基本的な機能は同じ。 ただし作り方や、一部(後述)のAPIが違う。 1)Private App 名前の通り、App Storeで公開はせず、内部だけでの使用を前提としたアプリ。 以下の3)でも説明するがPrivate Appでは「Embedded SDK…

【Elasticsearch】5.x系でElasticsearch-headを使う時の注意点

既に色んなサイトにも載っているが、 5.x系でElasticsearch-headを使用する場合は、プラグインとしてではなく 1つのスタンドアローンサーバとして使用する事になる。ローカル環境で使用するため、 公式サイトの説明通りに、まずはインストールする。 環境設…