たれみみマンデー

AWSでSSL化する

AWSSSL化するのにCertificateManegerだーメールサーバーが必要だーSESだーS3だーってややこしすぎて困ってたらとても簡単な記事見つけて助かりました!備忘録

www.wantedly.com

aws.amazon.com

特定コントローラーのアクションにbefore_actionの例外をつける

schoolコントローラーindexアクションのみbefore_actionでnot_registered_schoolをスキップしたいとき(ややこしい、、、)

 

class ApplicationController < ActionController::Base

before_action : not_registered_school,except: [:index] ,if: :school_controller? 

def school_controller?

  self.controller_name == "school"

end

def not_registered_school

  *******

end

 

たれみみ (@taremimi_7)

Railsでリロードしないとjavascriptが読み込まれない問題

やっぱりturbolinks、、、

以下を追加すれば特定のページで切れます

<body data-turbolinks="false">

 

 

たれみみ (@taremimi_7)

Cannot allocate memory - fork(2) (Errno::ENOMEM) unicorn logのエラー

こんなエラーが出たので対処法。

Cannot allocate memory - fork(2) (Errno::ENOMEM) unicorn log

どうやらメモリがあふれたっぽい。

GitHub - kzk/unicorn-worker-killer: Automatically restart Unicorn workers based on 1) max number of requests and 2) max memory

このGemを使えばいける。あとconfig.ruをいじってリスタート。

yamakichi.hatenablog.com

上記サイトのconfig.ruで動きました。

感謝と備忘録。

 

たれみみ (@taremimi_7)

Vim内でコピー(command+c)が出来ない問題

クリップボードがしんでいたので備忘録

 

set mouse=a じゃなくて

set mouse=r

 

たれみみ(@taremimi_7)

Rails&AWSで絵文字(utf8mb4)の対応手順

1.Rails側のconbfig/database.ymkで以下のように設定変更。

default: &default

  charset: utf8mb4

  encoding: utf8mb4

  collation: utf8mb4_general_ci

  adapter: mysql2

  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

  username: root

  password:

  socket: /tmp/mysql.sock

**以下省略**

 

2.config/initializers/utf8mb4.rb というファイルを作り以下を記述

module Utf8mb4

  def create_table(table_name, options = {})

    table_options = options.merge(options: 'ENGINE=InnoDB ROW_FORMAT=DYNAMIC')

    super(table_name, table_options) do |td|

      yield td if block_given?

    end

  end

end

 

ActiveSupport.on_load :active_record do

  module ActiveRecord::ConnectionAdapters

    class AbstractMysqlAdapter

      prepend Utf8mb4

    end

  end

end

 

3.サーバー側(AWS)でMySQLの設定変更。/etc/my.cnf に以下を記述。

[client]

default-character-set = utf8mb4

 

[mysql]

default-character-set=utf8mb4

 

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

character-set-server = utf8mb4

skip-character-set-client-handshake

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init-connect = SET NAMES utf8mb4

innodb_file_format = Barracuda

innodb_file_per_table = 1

innodb_large_prefix

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Settings user and group are ignored when systemd is used.

# If you need to run mysqld under a different user or group,

# customize your systemd unit file for mysqld according to the

# instructions in http://fedoraproject.org/wiki/Systemd

 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

 

 

だれかのためになれば幸いです。

たれみみ(@taremimi_7)