読者です 読者をやめる 読者になる 読者になる

ECのウェブ担当者のメモ

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

スポンサーリンク

Googleスプレッドシートのショートカット一覧

f:id:jun9632:20170428100849p:plain

MacのGoogleスプレッドシートのショートカット一覧です。

個人的には、ショートカットで行を挿入 「control+option+I、R」 したかっただけですが、 いちよう一覧で記載しておきます。 ご参考まで

一般的な操作

項目 ショートカットキー
列を選択 control+space
行を選択 shift+space
すべて選択 ⌘+A, ⌘+shift+space
元に戻す ⌘+Z
やり直す ⌘+Y ⌘+shift+Z fn+F4
検索 ⌘+F
検索と置換 ⌘+shift+H
範囲へコピー ⌘+return
下方向へコピー ⌘+D
右方向へコピー ⌘+R
保存(すべての変更はドライブに自動的に保存されます) ⌘+S
開く ⌘+O
印刷 ⌘+P
コピー ⌘+C
切り取り ⌘+X
貼り付け ⌘+V
値のみ貼り付け ⌘+shift+V
一般的なキーボード ショートカットを表示 ⌘+/
コントロール非表示 control+shift+F
入力ツールのオン、オフ(非ラテン系言語のスプレッドシートで使用可) ⌘+shift+K
入力ツールを選択 ⌘+option+shift+K

セルの書式設定

項目 ショートカットキー
太字 ⌘+B
下線 ⌘+U
斜体 ⌘+I
取り消し線 option+shift+5
中央揃え ⌘+shift+E
左揃え ⌘+shift+L
右揃え ⌘+shift+R
上に枠線を適用 option+shift+1
右に枠線を適用 option+shift+2
下に枠線を適用 option+shift+3
左に枠線を適用 option+shift+4
枠線を削除 option+shift+6
外枠を適用 option+shift+7
リンクを挿入 ⌘+K
時間を挿入 ⌘+shift+;
日付を挿入 ⌘+;
日付と時刻を挿入 ⌘+option+shift+;
書式を小数に設定 Ctrl+Shift+1
書式を時刻に設定 Ctrl+Shift+2
書式を日付に設定 Ctrl+Shift+3
書式を通貨に設定 Ctrl+Shift+4
書式をパーセンテージに設定 Ctrl+Shift+5
書式を指数に設定 Ctrl+Shift+6
書式をクリア ⌘+\

スプレッドシートの操作

項目 ショートカットキー
行の先頭に移動 fn+←
シートの先頭に移動 ⌘+fn+←
行の末尾に移動 fn+→
シートの末尾に移動 ⌘+fn+→
アクティブセルまでスクロール ⌘+delete
次のシートに移動 ⌘+shift+fn+↓
前のシートに移動 ⌘+shift+fn+↑
シートリストを表示 option+shift+K
ハイパーリンクを開く option+return
データ探索を開く option+shift+X
スプレッドシートからフォーカスを外す control+⌘+shift+M
合計機能に移動(セル範囲を選択している場合) option+shift+Q
ポップアップにフォーカスを移動(リンク、ブックマーク、画像) control+⌘ を押しながら E、P
フィルタ処理したセルのプルダウン メニューを開く control+⌘+R
変更履歴を表示 ⌘+option+shift+G
スプレッドシート内でチャットを開く shift+esc
図形描画エディタを閉じる ⌘+esc shift+esc

メモとコメント

項目 ショートカットキー
メモを挿入、編集 shift+F2
コメントを挿入、編集 ⌘+option+M
コメントのディスカッション スレッドを開く ⌘+option+shift+A
現在のコメントを入力 control+⌘ を押しながら E、C
次のコメントに移動 control+⌘ を押しながら N、C
前のコメントに移動 control+⌘ を押しながら P、C

メニュー

項目 ショートカットキー
[ファイル] メニュー control+option+F
[編集] メニュー control+option+E
[表示] メニュー control+option+V
[挿入] メニュー control+option+I
[表示形式] メニュー control+option+O
[データ] メニュー control+option+D
[ツール] メニュー control+option+T
[フォーム] メニュー(スプレッドシートがフォームにリンクされているときに表示) control+option+M
[アドオン] メニュー新しい Google スプレッドシートに表示) control+option+N
[ヘルプ] メニュー control+option+H
[ユーザー補助機能] メニュー(スクリーン リーダーのサポートの有効時に表示) control+option+A
シートメニュー(コピー、削除などのシート操作) option+shift+S
コンテキスト メニュー ⌘+shift+\

行や列の挿入、削除

項目 ショートカットキー
行を上に挿入 control+option+I、R
行を下に挿入 control+option+I、W
列を左に挿入 control+option+I、C
列を右に挿入 control+option+I、G
行を削除 control+option+E、D
列を削除 control+option+E、E

数式

項目 ショートカットキー
すべての数式を表示 control+~
配列数式を挿入 ⌘+shift+return
拡張した配列数式を折りたたむ ⌘+E
数式のヘルプを表示/非表示(数式の入力時) shift+fn+F1
数式ヘルプの全表示、コンパクト表示(数式の入力時) fn+F1
絶対参照、相対参照(数式の入力時) fn+F4
数式結果のプレビューを切り替え(数式の入力時) fn+F9
数式バーをサイズ変更(上または下に移動) control+option+↑ または control+option+↓

スクリーン リーダーのサポート

項目 ショートカットキー
スクリーン リーダーのサポートを有効にするGoogle スプレッドシートでスクリーン リーダーを使用する方法の詳細 ⌘+option+Z
列を読み上げる ⌘+option+shift+C
行を読み上げる ⌘+option+shift+R

参考ページ

詳しくはこちらを確認してください。

support.google.com

関連記事

marketing-web.hatenablog.com

仕事で使える!Googleスプレッドシート Chromebookビジネス活用術 (仕事で使える!シリーズ(NextPublishing))

仕事で使える!Googleスプレッドシート Chromebookビジネス活用術 (仕事で使える!シリーズ(NextPublishing))

lazyload.jsの使い方まとめ

f:id:jun9632:20170308174421p:plain

色んな使い方があるんですね。

参考になります。ありがとうございます。

cly7796.net

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

jQuery最高の教科書

jQuery最高の教科書

DEPRECATION WARNING cleanup! is deprecated and will be removed from Rails 5.1

f:id:jun9632:20170222111224p:plain

Rails5でdelayed_jobを起動したら、以下のようなWARNINGが出力されました。

DEPRECATION WARNING: cleanup! is deprecated and will be removed from Rails 5.1 (use Rails.application.reloader.reload! instead of cleanup + prepare) (called from <top (required)> at bin/delayed_job:5

気持ちが悪いのGoogle大先生に聞いてみたところ下記がヒットしました。

github.com

請負になりますが、

initializers配下にdj_rails5_patches.rbを下記のように作りました。

config/initializers/dj_rails5_patches.rb

module DelayedWorkerPatches
  def reload!
    return unless self.class.reload_app?
    if defined?(ActiveSupport::Reloader)
      Rails.application.reloader.reload!
    else
      ActionDispatch::Reloader.cleanup!
      ActionDispatch::Reloader.prepare!
    end
  end
end

module Delayed
  class Worker
    prepend DelayedWorkerPatches
  end
end

これで、ワーニングは出力されないようになりました。 ありがうございます。

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

Ruby on Rails 5 超入門

Ruby on Rails 5 超入門

autocomplete off 対策には、autocomplete new-password

f:id:jun9632:20170210110532p:plain

クロームなんかで、パスワードフィールドに勝手に入力してくるのやめて欲しいなと思って

autocomplete='off'

を設定しても、効かないじゃん!って思ったことありませんか?

そんなときは、new-passwordです。

autocomplete='new-password'

そうすると、空で表示してくれるようです。 ただ、まだ全部のブラザには対応していないんじゃないかという噂もあるの注意して使ってください。

slimのフォームのサンプルは以下です。

     .col-xs-12
        .form-group
          = f.label :email
          = f.text_field :email, class: 'form-control'
      .col-xs-12
        .form-group
          = f.label :password
          = f.password_field :password, autocomplete: 'new-password', class: 'form-control'

関連記事

marketing-web.hatenablog.com

Ruby on Rails 5 超入門

Ruby on Rails 5 超入門

RailsのAction Mailerを使ってSendGridのカテゴリーを設定する

f:id:jun9632:20170209185254p:plain

RailsのAction Mailerを使ってSendGridのカテゴリーを設定する方法です。

まずSendGridはこちら

sendgrid.kke.co.jp

SendGridは、主にメール配信のサービスになります。 最近使いはじめて、最高に便利なサービスです。

無料の利用枠もあるので、興味のある方は是非使ってみてください。

で、本題に入ります。

SendGridでは、メール毎にカテゴリーを設定して、配信することが出来て、 どのカテゴリーのメールが、届いたとか、開かれたとか、クリックされたとか カテゴリ毎にグルーピングしながら、解析するこができる機能があるんです。

でで、RailsのAction Mailerを使ってカテゴリーを設定するには、

以下の様に、メールのヘッダに SMTPAPIパラメータにcateoryを設定する必要があります。

def signup_mail

    xsmtp_api_params = { category: ['signup'] }
    headers['X-SMTPAPI'] = JSON.pretty_generate(xsmtp_api_params)

    opt = {}
    opt[:to] = 'aaaaaa@mail.com'
    opt[:subject] = '件名aaaaaa'
    mail(opt)
end

こんな感じで、設定すると、このメールにsignupカテゴリーが設定されます。

SMTPAPIの説明についてはSendGridのブログを参考にしてください。

sendgrid.kke.co.jp

関連記事

marketing-web.hatenablog.com

Railsレシピブック 183の技

Railsレシピブック 183の技

参考記事

本当にありがとうございます。

qiita.com

(1点 header[‘X-SMTPAPI’] => headers[‘X-SMTPAPI’] が正解だと思われます。)

ActionView::MissingTemplateの対策

f:id:jun9632:20170208181346p:plain

ActionView::MissingTemplate

そうです。 Railsでviewでテンプレートが無いときに発生します。

基本的には、テンプレートを準備しなかったミスだとは思うんですが、

動的に部分テンプレートを見つけて描画したりするときなどは、 もしテンプレートがあれば、その部分テンプレートを描画。 テンプレートがなければ、何もしないでスキップするなんて、 処理をやりたいことがあると思います。

そんな時に便利なのが、

lookup_context.exists?

です。

使い方は

- if lookup_context.exists?(@shop_code, "shop", true)
    = render("shop/#{@shop_code}")

仮に、下記のような、テンプレートファイルがあったときに

views/shop/_shop_123.html.slim

@shop_codeが以下のような、テンプレートファイル名と一致すれば、そのテンプレートを描画してくれます。

@shop_code = 'shop_123'

下記のようにマッチしなければ、そのままスキップ

@shop_code = 'shop_456'

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

Ruby on Rails 5 超入門

Ruby on Rails 5 超入門

Awesome Nested Setのチートシート

f:id:jun9632:20170130164755p:plain

こちらRailsのカテゴリを階層で管理してくれるGem Awesome Nested Setです

github.com

そのチートシートです。

github.com

主に使いそうなところ

これで一気にループ回せます。

Category.each_with_level(Category.root.self_and_descendants) do |category, level|
  ...
end

使いそうなメソッド一覧

my_cat.root                  root for this node
my_cat.level                 the level of this object in the tree (e.g. root = 0)
my_cat.parent                the node's immediate parent
my_cat.children              array of immediate children (just those in the next level)
my_cat.ancestors             array of all parents, parents' parents, etc, excluding self
my_cat.self_and_ancestors    array of all parents, parents' parents, etc, including self
my_cat.siblings              array of brothers and sisters (all at that level), excluding self
my_cat.self_and_siblings     array of brothers and sisters (all at that level), including self
my_cat.descendants           array of all children, children's children, etc., excluding self
my_cat.self_and_descendants  array of all children, children's children, etc., including self
my_cat.leaves                array of all descendants that have no children
my_cat.root?                         true if this is a root node
my_cat.child?                        true if this is a child node (i.e. it has a parent)
my_cat.is_ancestor_of?(obj)          true if nested by any obj
my_cat.is_or_is_ancestor_of?(obj)    true if nested by any obj or self is obj
my_cat.is_descendant_of?(obj)        true if self is nested under obj
my_cat.is_or_is_descendant_of?(obj)  true if self is nested under obj or self is obj
my_cat.leaf?                         true if this is a leaf node (i.e. it has no children)

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

marketing-web.hatenablog.com

Ruby on Rails 5 超入門

Ruby on Rails 5 超入門