プログラミング Tips

ITエンジニアの雑記ブログ。
IT関連ニュースの考察や、プログラミングに関するTipsの備忘録として…
育児や日常の雑記帳としても、記事を投稿していきます。

プログラミングと日常生活に関する情報を発信しています。

CES 2019登録方法まとめ


2019年年始にアメリカ ラスベガスで開催の"Consumer Electric Show" (通称:CES)の来場者登録が始まった。
50年の歴史のある展示会で、常に最新の技術が公開されてきた場所。

今年の開催日程は、2019年 1月 8日〜11日の4日間である。


近年では、

  • 自動運転技術
  • ドローン技術
  • AI技術(画像・音声認識)

などの技術が所狭しと展示・紹介されている。

あの場にいると、今後そう遠くない将来の自分たちの生活が現実のようにイメージできる。

今回も参加できるように、来場登録だけでもすませておく!!

登録までの手順が、役立ててもらえるように順を追って紹介して行きたいと思う。

STEP 1. CES2019 の登録オフィシャルサイトへ!!

ここのリンクから、登録サイトを表示

"REGISTER FOR CES 2019"をクリック
過去登録した経験があっても"Already Registered"は使わないこと!(下記注意書き参照)

20181003_CES2019_Registoration3

<注意>
過去CES視察の為の登録をしていてもその情報は引き継がれていない!!
実際、昨年の"CES2018"登録情報を入力しても、エラーになってしまう。

念のため、サポートにメール問い合わせしたが、
「毎年リセットされるので、新たに登録してほしい」と言われた

もしポップアップが表示されたら、"OK"選択



20181003_CES2019_Registoration4

しばらくすると登録画面に切り替わる

STEP 2. サインイン情報入力

表示仮面下部の"Sign up"をクリック

20181003_CES2019_Registoration5

下記の必要情報を入力。全て必須項目となっている

  • Email: メールアドレス
  • Password: パスワード
  • First name: 名
  • Last Name: 性
  • Company: 会社名
  • Title: 役職

全ての入力が完了したら、"Register"をクリック!

20181003_CES2019_Registoration8_

パスワードの入力規則について

尚、パスワードに関しては、入力規則があるのでそれに従うこと
満たしていない項目がある場合は、赤色表示に変わるのわかりやすい

  • 8文字以上であること
  • 1文字以上の数字を含むこと
  • 1文字以上の小文字を含むこと
  • 1文字以上の大文字を含むこと
  • 氏名の一部を含まないこと

20181003_CES2019_Registoration7



役職について

役職の英語表記は悩むことが多いが、

  • Engineer:開発職
  • Sales:営業職
  • Assistant Manager:係長クラス
  • Manager:課長クラス
  • General Manager:部長クラス

こんな感じで入力すればOK!

視察において、役職で何か待遇が変わることはないので、それほど神経質に考えることはない

STEP. 3 メールでの本人確認

このような画面が表示されたら、このページでの作業は一旦終了

20181003_CES2019_Registoration9_

先ほど登録したメール宛に本人確認メールが送られるので、そこにある認証ボタン"ACTIVATE ACCOUNT"をクリック!

20181003_CES2019_Registoration10_

するとこのようが画面が表示されてログイン情報の登録完了!!!
ここまで5分!!

20181003_CES2019_Registoration11

次回は、登録者の詳細情報を登録していく!



最後に…

ログイン登録完了後は、一番最初に表示した画面右側の"Sign in"(登録済み)からログインできるようになる。
20181003_CES2019_Registoration6_


参考情報:前回CES2018に関する情報




US発ソーラー充電対応バックパック "Beam Backpack"

日常的にPCを持ち運ぶクセになっていて、それゆえにバックパックは
常に気になる一品を探している。

最近、まさに自分が探し求めていた一品に出会ってしまったので、ここで紹介。

アメリカで人気のビジネスバックパックをまとめた記事はこちら

全背面ソーラーパネル搭載 +Beam Backpack+



キックスターターという「クリエイター系」クラウドファンディングサイトで投資を募っている。

希望金額$5,000-(約50万円)に対して、今日(2018/9/26)時点で1,000%が集まっているから、投資呼び込みは成功して、出資者(購入者)には11月を目処に順次成果物が届く予定
Kingsons_Prime_Beam Backpack_spec

Beam Backpackのココがすごい!!

  1. 給電・蓄電のユースケースが完璧!
  2. 収納に気が利いてる!
  3. 防水性能がパンパない!

給電・蓄電のユースケースが完璧!

まずこのメーカーの考えるユースケースを見てほしい

Kingsons_Prime_Beam Backpack_usecase

  1. ソーラーからバッテリーへの充電
  2. ソーラーからデバイスへの給電
  3. ソーラーからバッテリーへ充電しつつ、デバイスへの給電
  4. 電源からバッテリーへの充電

基本的にすべてのシナリオを見たいしていると思った。
モバイルバッテリーのサイズを変えれば、PCにも対応できそう

収納に気が利いてる!

こちらもメーカーのサイトから…

Kingsons_Prime_Beam Backpack_laguage



容量が20リットル程度で、デイユースサイズには申し分ない。
着替えを詰め込むだけの一泊程度の主張であれば、これだけで十分

インナーやサイドポケットも、小型ガジェットが収納できる設計になっている

防水性能がパンパない!

Kingsons_Prime_Beam Backpack_waterploof

見逃しがちだけど、地味に大事。
開発の為の商売道具なだけに濡らすのはご法度!

その点、耐水性も考慮されている点は評価が高い

バックパックに求める4つのポイント

最後に、バック選定基準について、参考情報として触れておく。上位ほど重要視している

  1. みんなが持っていない(もしくは保有率が低い)コト
  2. 値段は、¥15,000-円以下であるコト
  3. 容量目安は20L程度であるコト
  4. 大小収納のポケットが多いコト

今回この条件を見事にクリアーし、更に希望の斜め上をいくスペックに魅了されて購入を決定!!



みんなが持っていないコト

PCやスマホ、タブレットは結構いい・ワルイがはっきりしているので、周りとかぶることはこのご時世避けられない。特に Mac Book Pro ユーザーの私の場合、カフェを見回せば2〜3人はみつけられる。
スマホもiPhoneユーザーだらけは同じ…

つまり、PCやデバイスでの差別化は不可。
iOSアプリエンジニアの私にとって、Macは必須アイテムだから、ここは選択の余地がない事も事実。

一方、バックはそれらとは違って、星の数ほどの種類があって他との違いを出すには一番いい!!

服装と同じで、お気に入りのバックにPCを詰め込んで家を出るとテンションが1トーン上がるので、パフォーマンスを上げるにも重要な要素!

(冷静に考えて移動中デバイスは見えないから、オリジナルをデバイスで表現するのは困難だと気づく…笑)

値段は、¥15,000-円以下であるコト

2万円を超えるバッグもあるし、当然素晴らしいんだけど…
日常使いとしてはちょっと高価すぎるから、1.5万円を一つの制限にしている。

ちなみに今回紹介するバッグは、$198(20,000円)の約50%OFFお10,000円+送料4,000円。
合計14,000円程度!!

元値だと落選だけど、この値引きがかなり熱かった!

容量目安は30L程度であるコト

ソフトウェアエンジニアとして、日常的に持ち歩くもの

  • ノートPC
  • PC電源
  • iPad mini
  • iPhone
  • ケーブル
  • 充電アダプタ
  • イヤホン
  • 名刺
  • 折りたたみ傘
  • 財布

これから持ち歩きたいもの

  • ポータブル充電器

これらを入れても余裕があるサイズだと30L程度が理想的

大小収納のポケットが多いコト

これは持ち歩くガジェットに比例する。
小分けのできる別パッケージで持ち運ぶ事もありだが、
一体型がいいよね!?って事で…

ただし、デザインや値段によっては、妥協できる内容




以上、モバイルアプリエンジニアオススメのバックでした。

SSL証明書"Let's Encrypt"の自動更新を設定してみた!

前回投稿で、Debian9 + Apacheの環境にSSL認証設定を施してみた。その際、無料のSSL証明書Let's Encryptを用いたのだが、この証明書は「有効期限:90日」と短く、その都度証明書の更新が必要になる。

カレンダーに登録して、毎回マニュアル更新での対応も考えたが、自動更新コマンドが準備されていることがわかったので、その方法をまとめてみる。



環境

クライアントPC

  • MacOSX 10.13.4

サーバー

  • Debian9
  • Apache/2.4.25 (Debian)
  • certbot 0.10.2

サーバーへSSH接続できることを前提とする。

また、今回はroot権限でそのまま作業を行うが、セキュリティ確保の為にはroot認証は無効化することを推奨する。

サーバーの環境構築とSSH設定、root無効化などの詳細に関しては、
ConoHa VPS の Debian9 に Djangoベースのサービスデプロイしてみた!!〜その①〜
とか
SSH conf を簡単に接続する方法まとめた!
を参照

尚、当然ながら、SSH認証の設定が完了していることを前提とする。設定方法に関しては、こちらを参照

自動更新設定

冒頭に記述の通り"Let's Encrypt"の証明書有効期限は90日と短いため、定期的に更新が必要となる。裏を返すと、定期更新のための機能を備えているとも言える。

そのコマンドが

certbot renew

である。

非常に多機能且つ優秀なコマンドで、その一部を用いるだけで、90日更新の苦悩がほぼゼロになる!!

これを加味して、今回の設定作業は大きく下記2STEP

  1. certbot renewコマンドの準備
  2. Linuxのcrontabに登録


Step1. certbot renewコマンドの準備

利用するオプション:
--rsa-key-size : 認証鍵のサイズをデフォルトの2048bitから4096bit指定とする。この結果、SSL認証設定のセキュリティ強度が上がる(=第三者評価サイトの結果が【B】→【A】へアップ!!)。詳細は、こちらを参照

その結果、以下のコマンドを実行することで証明書情報の更新作業が自動化される

# 証明書有効期限が30日未満の場合、RSA:4096bitサイズの認証鍵で証明書を更新
$ certbot renew --rsa-key-size 4096

これで、認証情報を自動更新するコマンドが準備できた。

<ポイント>
勘違い防止のために説明すると、このステップは、SSL証明書の有効期限を確認して有効期限が30日未満の場合、"Let's Encrypt"サービスから新しいSSL証明書取得する部分を自動化したに過ぎない。

このコマンドを実行するタイミングは、「まだ手動のまま!!」である。よって次の手順でこのコマンドをLinuxシステムにスケジュール登録して、一定タイミングで実行されるようにする。

Step2. まずは登録前のテスト

ここからは、Linux Debianにcertbot renewコマンドをスケジュール登録して、SSL証明書更新の完全自動化を目指す!

まず以下の--dry-runオプションを使って自動更新をテストしてみる。このオプションでは、証明書は更新されずに動作確認のみ実施されるため、証明書の取得回数制限に引っかかる心配もない。詳細説明はこちら

$ /usr/bin/certbot renew --dry-run

この結果、下記のようなメッセージが出力されれば、入力したコマンドをcrontab登録しても同等の結果が得られる

ちなみに以下のメッセージでわかったことだが、RSA認証鍵サイズは既存のものを継承するらしい!!(12行目くらいに「4096bit」ってあることがわかる)事前の設定で、評価を【B】→【A】へ格上げするために、2048bitサイズを4096bitサイズへ更新したが、毎回--rsa-key-sizeオプションの付与が作業必要と考えていたが、この結果から、不要であることが判明!!

やっぱりデバック大事!!



Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/hogehoge.net.conf
-------------------------------------------------------------------------------
Cert not due for renewal, but simulating renewal for dry run
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for hogehoge.net
Waiting for verification...
Cleaning up challenges
Generating key (4096 bits): /etc/letsencrypt/keys/0002_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0002_csr-certbot.pem
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/360scene.net/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)

IMPORTANT NOTES:
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.

<補足:証明書取得回数制限について>
"Let's Encrypt"では、証明書の取得回数に制限を設けている
詳細に関しては、公式サイト日本語翻訳サイトを参照

証明書を更新したら、WEBサーバーの再起動も必須!

/usr/sbin/service apache2 restart

今回servieコマンドはプルパスで指定する必要があるので、注意!!



Step.3: Linuxのcrontab登録

事前チェックが成功したので、いよいよ登録!

Linux標準のcrontabの使い方については、こちらを参考にした

OSの設定状況を確認しながら、登録まで行う

まずcronへの登録状況を確認

$ crontab -l
no crontab for root

まだ何も登録されていない

次にcrontabへ設定を登録するための準備。
下記コマンドで、編集エディタを選択。【1】のnanoを推奨していることがわかるので、「1」を選択

$ crontab -e
1. /bin/nano        <---- easiest
2. /usr/bin/vim.tiny

Choose 1-2 [1]:1

設定ファイルが表示されるので、

  • スケジュールリングのタイミング
  • 実行するコマンド

を記述。記述方法は、先ほどのサイトを参照

# 毎月1日午前3時に、
# "root"ユーザが "/usr/bin/certbot renew"を実行
# "&&"で処理を連結
# WEBサーバー"apache"を再起動
00 03 01 * * root /usr/bin/certbot renew && /usr/sbin/service apache2 restart

念のために確認。下記が表示されるので登録完了!

$ crontab -l
…
<省略>
…
00 03 01 * * root /usr/bin/certbot renew && /usr/sbin/service apache2 restart

完了!

これで証明書更新のタイミングを気にする必要がない!!



↑このページのトップヘ

-->