メンチカツには醤油でしょ!!

ITエンジニア徒然 (AWS/Java/JavaScript/Google Spreadsheets/Jenkins/Mac/外部コミュニティ・勉強会レポ)

MacのChromeで開発者ツールを表示させようとするとメールが立ち上がる

開発者ツールを立ち上げようと思ったらメールが…

メールボックスの設定すらしていないのにメールクライアントが立ち上がって、本文に閲覧中のページのURLが

最初macOS自体のショートカットなのかと思いシステム環境設定⇒キーボード⇒ショートカットで出てくる一覧を確認するもメール関連のものがなく困ってました。

f:id:ryoichi0102:20170707184245p:plain
(一体どこにメールが立ち上がるショートカットが設定されているのか…)

原因はChromeのキーボードショートカット

Windowsではあまりお目にかからなかったのですがMacではこんな所に"ページの場所をメールで送信"と…発見。

f:id:ryoichi0102:20170707184220p:plain

ということでChromeのショートカットを変更

しようとするもKeyconfigとかいう拡張機能を入れなければいけないらしい。
えっ…イマドキkey bindingsの設定なんてそこらへんのJSONファイル編集すれば変更できるんじゃないの?

・・・で、よくよく調べたらOSデフォルトでアプリのショートカット挙動を変える方法がありました。

システム環境設定⇒キーボード⇒ショートカットで出てくる一覧からアプリケーションを選択し、+ボタンを押します。

f:id:ryoichi0102:20170707184245p:plain

ここで、アプリケーションはChromeを選択し、
メニュータイトルに、デベロッパー ツールと入力、
キーボードショートカットは⌘Command + shift + Iを打鍵します。
特にメニュータイトルは一字一句間違えずに入力します(完全一致らしい)。

f:id:ryoichi0102:20170707184427p:plain

下記のように設定されればOKですね。

f:id:ryoichi0102:20170707185104p:plain

設定完了

次に開いた新しいタブから適用になっています。

f:id:ryoichi0102:20170707185637p:plain

Chromeの他のショートカットも設定したい

上記の要領で、メニュータイトルに表示されている文言をメニュータイトルに設定すれば、他の機能のショートカットもカスタマイズできます。

参考

そもそもキーボードショートカット設定が似ているのが原因でした。

Command + shift + I (デフォルト:メール) と
Command + option + I (デフォルト:開発者ツール) と。

で、間違えて押すことが多く元々煩わしいかった、上書きする形で設定しました。

apple.stackexchange.com

IAMでRDSのインスタンス作成を制御する

IAMでRDSを制御する

たとえば、t2.microのPostgres 9.5インスタンスの作成をユーザーに許可するポリシーJSONは以下の通り。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RDSList",
            "Effect": "Allow",
            "Action": "rds:Describe*",
            "Resource": "*"
        },
        {
            "Sid": "RDSCreatePostgres",
            "Effect": "Allow",
            "Action": [
                "rds:CreateDBInstance",
                "rds:AddTagsToResource",
                "rds:ListTagsForResource"
            ],
            "Resource": [
                "arn:aws:rds:ap-northeast-1:000000000000:db:mydb-*",
                "arn:aws:rds:ap-northeast-1:000000000000:og:default:postgres-9-5",
                "arn:aws:rds:ap-northeast-1:000000000000:pg:default.postgres9.5",
                "arn:aws:rds:ap-northeast-1:000000000000:subgrp:default"
            ],
            "Condition": {
                "StringEquals": {
                    "rds:DatabaseEngine": "postgres",
                    "rds:DatabaseClass": "db.t2.micro"
                }
            }
        }
    ]
}

対象リージョンを変更したい場合は、ap-northeast-1の部分を変更します。

000000000000の部分はアカウントNoです。

mydb-*の部分はDBインスタンス識別子です。 

rds:CreateDBInstance だけじゃ少し足りないかも

Actionの
    "rds:AddTagsToResource"
    "rds:ListTagsForResource"
はResourceの
    "arn:aws:rds:ap-northeast-1:000000000000:db:mydb-*"
にかかっています。

インスタンス作成時に同時にタグ追加(AddTagsToResource)が行われるため、その権限が必要になります。
(実際の画面では、インスタンス作成にタグ追加エラー表示が出るが、インスタンスは作成されます)

f:id:ryoichi0102:20170524165546p:plain

インスタンス作成後に自由にタグ追加されたくないのであれば設定すべきではないでしょう。上記のJSONから"rds:AddTagsToResource"を取り除きます。Resourceは"rds:CreateDBInstance"にもかかっているので取り除きません。

また、インスタンス作成後にユーザーがインスタンスの詳細を表示した際、タグの一覧表示の部分でエラーになるため、"rds:ListTagsForResource"を設定しています。

f:id:ryoichi0102:20170524170412p:plain

参考

"rds:DatabaseEngine": "postgres"
"rds:DatabaseClass": "db.t2.micro"
のあたりで指定できる値の一覧が載っています。

docs.aws.amazon.com

RDS+IAMの全体的なドキュメントはこちら。

docs.aws.amazon.com

JJUG CCC 2017 Spring スライドまとめ(随時更新) #jjug_ccc

まとめました

JJUG CCC 2017 Springの発表資料(スライド)を纏めました。
現在非公開になっているものは見つけ次第、追記していこうと思います。

また、漏れてたり間違ってたり追加があったり後に非公開になったりした場合は @ryoichi_obara までお知らせ頂ければと思います。
スライドが無くて、Togetterがあるものはそちらにリンク貼っていたりします。

A0 日本Javaユーザーグループ 年次総会

www.slideshare.net

ABCD1 JJUG CCC 20th fireside chat

未公開

E1 ふつうのJavaコーディング

F1 Hipsterで学ぶ!Springによるサーバサイド開発手法

GH1 非機能要件とSpring Boot

ABCD2 Java EE 8 and its latest topics

未公開

E2 Java Clientで入門するApache Kafka

www.slideshare.net

F2 エンプラ開発におけるレガシーアプリケーションの巻き取りとモジュール分割の戦い

www.slideshare.net

GH2 Vue.js + Spring Bootで楽しくフルスタック開発やってみた

Vue.js + Spring Bootで楽しくフルスタック開発やってみた

AB3 Scala機械学習基盤PredictionIOとSparkによるレコメンドシステム

CD3 新しいTERASOLUNA Batch Frameworkとは

未公開

E3 Java libraries you can't afford to miss

www.slideshare.net

F3 SpotBugs(FindBugs)による大規模ERPのコード品質改善

www.slideshare.net

GH3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介

www.slideshare.net

I1 全部 Java で作っちゃえ!! Vaadin 8 による "オール Java" Web アプリ開発のしくみと実践

全部 Java で作っちゃえ!😁 Vaadin 8 によるオール Java Web アプリ開発の仕組みと実践

L1 How to use MicroProfile and a way to rebirth Japanese enterprise computing

www.slideshare.net

M1 JavaエンジニアのためのPostgreSQLステップアップ

www.slideshare.net

AB4 ヤフーの広告レポートシステムをSpring Cloud Stream化するまで

www.slideshare.net

CD4 Unified JVM Logging: Java 9 から変わる JVM ログ

未公開

E4 What you need to know about HotSpot and Your Code

未公開

F4 ナビタイムも導入!!ボットで始発・終電案内から観光ガイドまで 〜 Java でも日本語自然言語処理をカンタンに利用可能 Microsoft LUIS!!

docs.com

GH4 Javaエンジニアに知って欲しいRDBアンチパターン

I2 Polyglot on the JVM with Graal

www.slideshare.net

L2 JavaエンジニアのためのScala入門

JavaエンジニアのためのScala入門 #jjug_ccc #ccc_l2 · GitHub

L3 新卒2年目が鍛えられたコードレビュー道場の軌跡

M2 文型さえおさえれば英語を読む力は上がる!

M3 Selenideを使ってみた 〜 ブラウザテスト自動化 〜

AB5 Scalaによるサービス開発現場での継続的リファクタリングの実践

未公開

CD5 Javaエンジニアから見たKotlinの魅力

www.slideshare.net

E5 Javaで実装して学ぶOAuth 2.0!

F5 Seasar2からSpringへ移行した俺たちのアプリケーションがマイクロサービスアーキテクチャへ歩み始めた

www.slideshare.net

GH5 Introduction of Project Jigsaw

www.slideshare.net

I3 Androidアプリ開発からみたRxJavaの使いどころ

L4 SIプロジェクトでよくあるフレームワークのカスタム開発ってまだ必要なの?

未公開

L5 Java8移行は怖くない~エンタープライズ案件でのJava8移行事例について~

www.slideshare.net

M4 今日からDL4J

M5 グラフデータベース入門

www.slideshare.net

AB6 Java8プログラミング ベストプラクティス & きしだが働いてるかどうかIDEのメモリ使用状況から機械学習で判定する

www.slideshare.net

CD6 劇的!データベース・ビフォーアフター 時代はディスクからインメモリーへ――

未公開

E6 Spark + DeepLearning4J の特長と最新動向(仮)

www.slideshare.net

id:Takakiyo 様、お知らせありがとうございます!

F6 U-NEXT学生インターン、過激なJavaの学び方と過激な要求

www.slideshare.net

GH6 Engineers can change the world ~ "世界" で活躍するエンジニアになるために

docs.com

I4 Arachne Unweaved

www.slideshare.net

L6 Javaとアイドルのコラボ!?某アイドルBot開発の裏側

L7 Javaチョットデキルへの道~JavaコアSDKに見る真似したいコード10選~

www.slideshare.net

M6 JavaFXでデスクトップガジェット風プログラムを作る

www.torutk.com

M7 新卒2年目から始めるOSSのススメ 〜明日からできるコミットデビュー〜

www.slideshare.net

AB7 VMの歩む道。Dalvik、ART、そしてJava VM

www.slideshare.net

CD7 マチコ&河村の怒り新党 〜真の最終回〜

未公開

GH7 ハックで生きる:オープンソースで会社を興すには

未公開

I5 Java x Arduinoで始めるIoT / フィジカルコンピューティング

未公開

L8 思ったほど怖くない!Haskell on JVM 超入門

www.slideshare.net

M8 Ordinary Object Pointer について調べてみた