tkd2017の勉強ブログ

日々の勉強をアウトプットするブログ

AWS全サービスまとめを書いてました

だいぶブログの更新が止まってましたが、ひたすらAWSの勉強してました。会社のブログにアウトプットしてたので、こっちでもまとめをば。

マネジメントコンソールをベースにサービスを一覧化してまとめました。

【2018年】AWS全サービスまとめ その1

その1は次のカテゴリのまとめです。

  • コンピューティング
  • ストレージ
  • データベース
  • 移行
  • ネットワーキング & コンテンツ配信)

dev.classmethod.jp

【2018年】AWS全サービスまとめ その2

その2は次のカテゴリのまとめです。

  • 開発者用ツール
  • 管理ツール
  • メディアサービス

dev.classmethod.jp

【2018年】AWS全サービスまとめ その3

その3は次のカテゴリのまとめです。

  • 機械学習
  • 分析
  • セキュリティ、アイデンティティ、コンプライアンス

dev.classmethod.jp

【2018年】AWS全サービスまとめ その4

その4は次のカテゴリのまとめです。

  • モバイルサービス
  • 拡張現実 (AR) とバーチャルリアリティ (VR)
  • アプリケーション統合
  • カスタマーエンゲージメント
  • ビジネスの生産性
  • デスクトップとアプリケーションのストリーミング
  • IoT
  • ゲーム開発

dev.classmethod.jp

【2018年】AWS全サービスまとめ その5

その5はマネジメントコンソールの一覧にないサービスとして、次のものをまとめました。

  • Amazon Elastic Container Registry
  • Auto Scaling
  • VMware Cloud on AWS
  • Amazon EBS
  • Amazon SimpleDB
  • AWS Import/Export
  • AWS Schema Conversion Tool
  • AWS Snowball Edge
  • AWS Snowmobile
  • Elastic Load Balancing
  • AWS HealthとPersonal Health Dashboard
  • TensorFlow on AWS
  • AWS KMS
  • AWS Organizations
  • Amazon Lumberyard
  • AWS Billing and Cost Management

dev.classmethod.jp

さいごに

そんなわけで、AWS5冠に向けて邁進中です。

「採用で大事なこと」を読んで

Facebookでシェアされていたので、次のブログを読みました。

ameblo.jp

この中でビジョナリー・カンパニー 2という書籍が紹介されています。未読ですが。

さてブログの中で次のような一文がありました。

「適切な人をバスに乗せる」というのは、

優秀な人から順に選んで乗せるのとは、

似て非なるものです。

感覚的には、一緒に働きたいひとを

乗せるに近いでしょう。

これ、すごく共感できます。

前職でも現職でも採用プロセスに関わっていますが、採用って本当に難しいですよね。技術レベルやコミュニケーションスキル、入社後の姿などをイメージするわけですが……。

想像以上に活躍してくれる人もいれば、もちろん逆もあるわけです。そうなった時に「失敗したな」とお互いに後悔しないためにはフィーリング(一緒に働きたいという思い)が大事かなと。

そこさえ合えば、企業としてはどうしたら問題解決ができるか一緒に考えていきますし、個人としてはスキルアップなどもモチベーションをもって取り組んでいけるわけです。

お互いに不幸にならないために、採用はしっかりと取り組んでいきたいです。

typoのお知らせ

最後に記事内のtypoが気になったので、ここに書いておきます。

これは最近ではピポットと呼ばれる

”事業転換”が頻繁に必要になる

ネット業界ではとても大切なことです。

正しくは ピボット ですかね。

今日はこんなところで。

はてなブログでTwitterアカウントへのリンクと画像サイズの指定をする

新年明けましておめでとうございます。今年も一年、良い年となるよう頑張っていきたいと思います。

年末年始はAWSの各サービスを調べて、自分なりにまとめて消化していました。これについては会社のブログで近々公開予定です。

あんまり期間が空いてしまうと書くモチベーションも下がってしまうので、はてなブログで記事を書く中で調べたTipsを2つばかり紹介します。

なお編集モードは Markdown で確認しています(他のモードは未検証)。

Twitterアカウントへのリンク

はてなブログでは、はてなダイアリーと共通の はてな記法 が使用できます。どうやらマニュアルからは消えているようですが、次の記法が使用できます。

[twitter:@ユーザー名]

使用例は次のようになります。

@

はてなブログ記事にTwitterアカウントのリンクを埋め込む - ぱと隊長日誌

画像サイズの指定

こちらもはてな記法で対応できます。

  • 横幅指定(例として100px)

[f:id:tkd2017:20181234567890p:plain:w100]

  • 高さ指定(例として100px)

[f:id:tkd2017:20181234567890p:plain:h100]

使用例は次のようになります(w100を指定)。

f:id:tkd2017:20171225013642p:plain:w100

リンクを簡単に記述する(http記法、mailto記法) - はてなダイアリーのヘルプ

まとめ

基本的にMarkdownで記述できるため書きやすいですよね。

またはてな記法も併用することで、HTMLタグを直接使わずに書くことができます。

今後も新しいTipsを見つけたら紹介していきたいと思います。

2017年の振り返り

早いもので2017年も大晦日です。 笑ってはいけない を見ながら今年を振り返ります。あと赤霧島のロックを飲んでいます。

霧島酒造 赤霧島 25度 900ml

霧島酒造 赤霧島 25度 900ml

大きなイベントとしては、今年は転職という節目の年となりました。これについては退職者アドベントカレンダーに参加したエントリで書きました。

www.high-novice.com

というわけで、それ以外のことについて書くことにします。

前職からの学び

転職をして仕事の内容は変わりましたが、それでも前職で身についたものは現職でも役立っています。仕事をしている中であらためて気付いたことを書いてみます。

技術的なことやビジネスマナーなど、そういうありきたりなものは置いておきます。

文章チェック

前職では研修生へ配布する資料を作ったり、研修担当者へ送付する報告書を作っていました。自分の作成物はもちろんのこと、他人の作成した文章にも目を通す機会が多くあったため、 日本語として意味が通じるか誤字・脱字 などをチェックしていました。

現在ではほぼ無意識にこの辺をチェックしてしまい、小説やブログを読んでいる際にも気付くことが多くあります。

学生時代、作文などは不得意な分野であったため、なかなか身につけにくいスキルを習得できたのかなと今では思っています。

結論から

これはビジネスマナーの範囲の気もしますが、現職では部長クラスの人へ直接報告する機会が多くあります。その際、 結論を先に述べ詳細は後で ということを念頭に置いて報告するようにしています(前職でも直属の上長は部長でしたが)。

どうしてもゼロから順番に説明したくなってしまいますが、最初に結論を持ってくることで、伝えなければいけないことがブレずに済みます。

新人の方や、報告がうまくできない方は、結論から伝えようと努力してみてください。

来年は見直したい

2017年はあまり(あるいはまったく)できなかったことの反省。

読書

今年はそもそも読書量が少なく、来年はもう少し増やしていきたいです。まぁラノベとかは読んでるんですけどね。あ、りゅうおうのおしごと!アニメ化おめでとうございます。楽しみにしてます。

今年は藤井四段や羽生永世七冠など、将棋界は話題にこと欠かない一年でしたね。一ファンとして、とても楽しみにしていました。タイトルは三冠が不在の群雄割拠といった趣で、来年も非常に楽しみです。

OSS(オープンソースソフトウェア)

今までは社内へのコミットしかできていませんでした。「エンジニアとしての市場価値を高める」ために積極的に社外へのコミットをしていきたいです。

引き続き来年も頑張ること

2017年の取り組み始めたことで、来年もチャレンジしていきたいこと。

ブログ

新しくブログを始めました。また仕事でもブログでのアウトプットが求められています。できるだけ一定のペースで続けられるようにしていきたいです。

「ブログ書きたい」というモチベーションを大事にしていきたいですね。

AWS

入社前から基本的なサービスは触っていましたが、全体から見ると本当に一部だけでした。現職ではAWSの知識がないとそもそも仕事にならない部分があります。

勉強方法のひとつとして、AWSの認定資格があります。

  • Solutions Architect Associate
  • Developer Associate
  • SysOps Administrator Associate
  • Solutions Architect Professional
  • DevOps Engineer Professional

この5つは社内では5冠と呼ばれています。 5冠ないと人権がありません。 またさらに上位に次の2つの資格もあります。

  • Advanced Networking Specialty
  • Big Data Specialty

現在はSolutions Architect Associateしか持っていませんので、2018年は残りの4つを目標にして、5冠を目指していきます。

まとめ

さて、今年も残すところ後30分ほどとなりましたね。

テレビでは松本が蝶野にビンタされる直前です。

来年もよい一年にしていきましょう。

Vagrantで起動したCentOS 7に日本語ロケールがない問題

便利ですよね、Vagrant。使ってますか? 先日、起動したVMに日本語ロケールがなかったので、その対処法を紹介します。

環境

今回の環境は次のようになっています。

Vagrantに限らず、同様の問題が発生した場合は、同じ解決方法が使えるはずです。

$ vbox-img --version
5.2.2r119230

$ vagrant --version
Vagrant 2.0.1

$ vagrant box list
centos/7         (virtualbox, 1710.01)

問題の再現

次のコマンドを実行することで問題の再現が可能です。

$ vagrant init centos/7

$ vagrant up && vagrant ssh

[vagrant@localhost ~]$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

locale: Cannot set LC_XXX to default locale: No such file or directoryというメッセージが表示されています。

localectlコマンドを利用することで、ロケールがないことを確認できます。

$ localectl list-locales | grep '^ja'

解決方法

本来ならすべてのロケールが入っているはずですが、何らかの理由で見つからない場合、再インストールすればよいようです。

[vagrant@localhost ~]$ sudo yum reinstall -y glibc glibc-common

[vagrant@localhost ~]$ locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

$ localectl list-locales | grep '^ja'
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc

解決方法の調査には少し時間がかかりましたが、対策は非常にシンプルでした。

はてなブログ内の外部リンクにつけるアイコンを制御する

何度も更新しては記事にしていますが、前回はこんなことをしていました。

www.high-novice.com

これで外部リンクは別タブで開き、さらにアイコン付与ができたわけですが、プロフィール画面がこうなっていました。

f:id:tkd2017:20171223124310p:plain:w500

うーん、これはちょっとアレですね。

というわけで、外部リンクであっても画像の場合はアイコンを付与しないようにします。

構造の確認

ChromeのDevToolsを使って確認してみます。

f:id:tkd2017:20171223125134p:plain:w400

aタグの子要素としてimgタグがあります。つまりアイコンを付与するのは 外部リンクのaタグ かつ 子にimgタグをもたない ということになります。

これはCSSでは難しい(というかできない?)のですが、jQueryでは簡単に実現できます。

設定変更

設定は毎度お馴染み、詳細設定の headに要素を追加 です。今回修正されたコードは次のようになりました。

<script defer src="https://use.fontawesome.com/releases/v5.0.1/js/all.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(function() {
    $('a[href^="http"]:not([href*="' + location.hostname + '"])').attr('target', '_blank').attr('rel', 'noopener noreferrer')
      .not(':has(img)').append('<i class="fas fa-external-link-alt" style="margin-left: 3px"></i>');
})
</script>

$el.not(':has(img)')によって、$elのうち、子要素にimgタグをもたない要素のみを対象に操作をすることができます。

結果は次のようになりました。

f:id:tkd2017:20171223124403p:plain:w500

まとめ

最近のフロント開発ではAngularやReactにおされjQueryの出番は減ってきていますが、こういうちょっとした操作にはとても便利ですね。

Google AdSenseの審査に通過しました

12月8日に申請したAdSenseですが、12月21日についに有効化のメールが届きました。

f:id:tkd2017:20171223010954p:plain:w300

どうしてこんなに時間かかったのか不明です。年末で忙しかったのかな?

申請前にやったこと

AdSenseの審査をパスするためのノウハウはいろいろな人がブログにまとめてくれていますね。

検索してよさそうな記事を探して参考にしました。

koreimakaidesuka.hatenablog.com

独自ドメインやGoogle Search Console、Google Analyticsは設定して記事も書きました。

www.high-novice.com

www.high-novice.com

追加で、お問い合わせフォームプライバシーポリシーも作りました。

申請時と通過時のサイト状況

簡単にまとめてみました。

項目 申請時 通過時
日付 12月8日 12月21日
記事数 *1 11 15
PV 8 133
総PV 55 664

PV伸びているのは退職者アドベントカレンダーに参加したためです。

フォローボタンや外部リンク、画像などはあまり気にせず普通に使っていました。

差し戻されたこと

まともに申請する前に何度かつまずいていました。遠回りした記録については次の記事にまとめてあります。

www.high-novice.com

これとは別につまずいた点として、過去に別のメールアドレスでAdSenseのアカウントを作っていたらしく、ポリシー違反で差し戻されました。

結局過去のアカウントを削除して、新しいメールアドレスで再申請しました。

まとめ

約2週間と、時間はかなりかかりましたが無事に申請が通って一安心です。

とはいえ、AdSenseの使い方をきちんと理解できていないため、いろいろ自分で触ってみます。

*1:お問い合わせとプライバシーポリシーは除く