とーますメモ

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

2018-01-01から1年間の記事一覧

【Rails】Sidekiqを使用してみた。

自分用メモActiveJob経由か、直接使うかは 以下の記事で詳細を書いた。 thoames.hatenadiary.jp自分の場合は、フルにSidekiqの機能を使用したかったため 「直接Sidekiqを使用する」方法を取る。 インストール Gemfile gem 'sidekiq' gem 'redis-namespace'[…

【Rails】SidekiqをActiveJob経由で使うのが良いか、直接使うのが良いのか。

初めてバックエンドの非同期処理を書くことになったため 良さそうなgemを探したところ、以下の3つが有名なことがわかった。・Delayed Job ・Resque ・Sidekiq色んなサイトで、各gemの説明があるので ここではその説明は省くが 自分の場合、以下の理由から・…

【Redis】MacでRedisを使ってみる

自分用メモ。 Redisとは、メモリ内にデータを保存するタイプのKVS。 永続性やデータ型のサポートがあることが特徴 クラッシュセーフではありません。 メモリは揮発的であり、クラッシュするとデータが飛んでしまいます。 スナップショットによる永続化も可能…

【Shopify】Rails内でWebhookを試してみた

自分用メモ。ShopifyのWebhookの使い方については 既に素晴らしいまとめをしてくださっている方が いるので、その方のやり方を踏襲。qiita.com一点だけ追記すると、検証ロジックの「Secret Key」は 手動でWebhookを作成する場合と、AdminAPIを用いて作成する…

【Shopify】Railsを利用したShopifyアプリを作成してみる

自分用メモ。 アプリを作成する前に前提として以下の3つの準備が必要 ①ngrokの設定 最初からサーバを用意できるのならば、それでも良いかもしれないが 自分の場合、ローカルマシンを開発サーバとして、 Shopifyから「直接」アクセスさせる方法を試す。local…

【Rails】Carrierwave(1.2.2)をActiveRecordと切り離して使用する方法を試してみた。

自分の用途としては、ただ画像を外部APIへ送信するため ローカルDBに保存する必要がなかった。しかし、多くのサイトを見るとCarrierwaveをActiveRecordと併せて使用する サンプル例が多いため、自分で調べてみた。 インストール Gemfileに追記 gem 'carrierw…

【Go】Echo × レイヤー管理のWebアプリをgo-bindataでまとめて、サーバ上で常駐化させてみようとしたが・・・

ちなみにかなり時間を割いて調べたけど、 自分が欲しい情報が得られず、トライアンドエラーを繰り返すも 全くうまくいかず、やっとこそなんとか常駐化まで出来た内容をメモ書き。【前提】 Echoフレームワークを使用し、常駐化にはSupervisorを使用する。 Sup…

【Rails】独自例外の置き場所(配置ディレクトリ)について

自分用メモ。日本語で検索しても情報が出てこなかったので ちょっと調べてみた。調べ方としてはGithubのコード検索で「 出てきたコードがどのディレクトリに配置されているのかで調査。10件〜15件ぐらい見た感じだと、大体が「lib」ディレクトリ内に入れる。…

【Rails5】バリデーションエラーでtranslation missingが出る。

自分の場合、英語で表示したかったの 以下を設定したが何も変わらず。失敗した例: config/application.rb config.i18n.default_locale = :en 以下を設定したら上手く表示された。成功した例: config/application.rb config.i18n.fallbacks = [:en] [参考] …

【Atom】拡張子を追加し、ハイライトカラーを割り当てる方法

file-typesを使用する。atom.ioインストール後、Atom -> Config...を選び、config.csonを開く。その後、以下のように設定例)liquid拡張子のファイルをRailsのERBとして割り当てる。 "*": "file-types": liquid: "text.html.erb" 設定できる設定一覧は以下。…

【Rails】renderで指定したテンプレートの内容(文字列)だけを取得したい場合

renderではなく、「render_to_string」を使用すれば良い。例)views/templates/_default.html.erbを使用する前提。 render_to_string partial: "templates/default", locals: { title: params[:title], body: params[:body] } [参考] ruby-rails.hatenadiary…

さくら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アプリを開き、設定画面 -> 「その他の設定」-> 「デバイス(設定中のもの)」-> 「アシスタントの言語」に行くと設定が変更できる。