ECのウェブ担当者のメモ

ECサイトを運営管理している、WEB担当プログラマのメモ

スポンサーリンク

AWS EC2のAmazonLinuxでタイムゾーンをUTCから日本時間に変更する

f:id:jun9632:20161021123921p:plain

作業は主に2つ

  • /etc/sysconfig/clockの編集
  • /etc/localtime のリンク先に東京の時間帯ファイルを設定

/etc/sysconfig/clockの編集

/etc/sysconfig/clockに設定されている タイムゾーンをUTC から Asia/Tokyo に変更します

vim /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=true

/etc/localtime のリンク先に東京の時間帯ファイルを設定

/etc/localtime と時間帯ファイル(Asia/Tokyo)にシンボリックリンクを作成する。

sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

きっとこれでよいはず。

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

参考サイト

docs.aws.amazon.com

RailsのSTI(Single Table Inheritance)を無効にする

f:id:jun9632:20160816174108p:plain

RailsのActiveRecordでtypeカラムがあると、STI(Single Table Inheritance)としてテーブルを使おうとします。

一つのテーブルでtypeの値によって複数のモデルが共有する感じです。

これ、とても便利なんですが、意図せずtypeカラムがあってもSTIとして扱います。

それのSTIを無効化する方法です

class Item < ActiveRecord::Base


  self.inheritance_column = :_type_disabled # 追加


end

以上です。

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

RailsのActiverecordでkeyがid ValueがmodelオブジェクトのHashを作りたい

f:id:jun9632:20160815110531p:plain

簡易的にN+1問題に対応しようとした時に、 Keyがid, ValueがそのモデルのオブジェクトのHashが欲しい時がありました。

そんな時は、index_byが良いっぽいです。

たとえば、Itemモデルで下記のようなテーブルがあって

id name code
1 あああ aaaa
2 いいい bbbb
3 ううう cccc

以下のようなハッシュが作りたい時

{1=>#<Item id: 1, name: 'あああ', code: 'aaaa'>, 2=>#<Item id: 1, name: 'あああ', code: 'aaaa'>, ・・・・}

下記のように index_byを使うと取得できます。

Item.all.index_by(&:id)

以上

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

Railsレシピブック 183の技

Railsレシピブック 183の技

参考サイト

index_by (Enumerable) - APIdock

Railsで複数チェックボックをstrong parametersで取得する

f:id:jun9632:20160812171332p:plain

Railsでチャックボックスのフォームを使おうとすると毎回迷走します。

複数チェックボックを設定してそれを、controller側でStrong parametersで取得する方法です。

ItemのidをチェックボックスのValueに設定しています。

view

(省略)
- @items.each do |item|
  = check_box_tag'items[id][]', item.id
(省略)

controller

  def item_id_params
    params.require(:items).permit(id: [])
  end

以上、このような感じです。

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

Rubyで数値を0詰めする方法

f:id:jun9632:20160812103741p:plain

Rubyで数値を0詰めする方法です

sprintfを使って フォーマットさせます

sprintf("%03d", 3)

結果は

"003"

になります。

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

たのしいRuby 第5版

たのしいRuby 第5版

参考サイト

sprintf フォーマット (Ruby 2.2.0)

サイトの背景と文字色で参考になるサイト

f:id:jun9632:20160810122323p:plain

こちらです。

www.hp-stylelink.com

文字色 白に対して色んなシーンのパターンが紹介されています。

おっしゃれな感じでとても参考になります。

関連記事

marketing-web.hatenablog.com

伝わるデザインの基本 増補改訂版 よい資料を作るためのレイアウトのルール

伝わるデザインの基本 増補改訂版 よい資料を作るためのレイアウトのルール

伝わるデザインの基本 よい資料を作るためのレイアウトのルール

伝わるデザインの基本 よい資料を作るためのレイアウトのルール

f:id:jun9632:20160808150321p:plain

Nginxで特定のlocationだけベーシック認証を除外する方法です 基本的には、全体に的にベーシック認証をかけて、特定のディレクトリ(ロケーション)だけベーシック認証なしでアクセスできるように 設定する方法です。

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;


location ^~ /none_basic/ {
         satisfy any;
         allow   all;
}

以上

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

nginx実践入門 (WEB+DB PRESS plus)

nginx実践入門 (WEB+DB PRESS plus)