技術書典6 き21 参加します

日時 2019/04/14 (日) 11:00〜17:00
場所 池袋サンシャインシティ2F 展示ホールD(文化会館ビル2F)

⽬次
1. 実践AWSセキュリティー!独断的偏⾒によるスターをつけてみました。
1.1 AWSでのセキュリティーについて
1.2 今回の趣旨
1.3 CISベンチマークについて
1.4 今すぐ対応できる5つのセキュリティー運⽤
1.5 【気軽さ★★★★★/満⾜度★★★★★】 MFAがrootアカウントに対し
て有効になっていることを確認する。
1.6 【気軽さ★★★★☆/満⾜度★★★★★】 rootアカウントの使⽤を避
ける。
1.7 【気軽さ★★★★★/満⾜度★★☆☆☆】 すべての地域でCloudTrailが
有効になっていることを確認する。
1.8 【気軽さ★★☆☆☆/満⾜度★★★☆☆】 rootアカウントを使⽤する
ためのログメトリックフィルタとアラームが存在することを確認する。
1.9 【気軽さ★★★★★/満⾜度★★★☆☆】 どのセキュリティグループ
も0.0.0.0/0からポート22への⼊⼒を許可していないことを確認する。
1.10 CISベンチマーク、全49項⽬
2. プログラミング初⼼者から抜けられない貴⽅へ
2.1 読者対象
2.2 概要
2.3 何が必要か?
2.4 強い⽬的
2.5 すぐ作れという回答が多いけど無理・・・?
2.6 完成させることが⼤事
2.7 オブジェクト指向が分からない
2.8 デザインパターンが分からない
2.9 MVCがわからない
2.10 完成後
2.11 まとめ
3. PHPの開発を絶対楽にするComposerの美味しい使い⽅
3.1 読者対象
3.2 概要
3.3 Composerとは何か?
3.4 ダウンロード または インストール
3.5 .pharって何?
3.6 composerコマンドの打ち⽅の違い
3.7 composerコマンドが打てない場合
3.8 ⼀般的な使⽤⽅法(Basic usage)
3.9 前書き
3.10 パッケージ名
3.11 パッケージのバージョンの制約
3.12 ライブラリのインストール(依存関係のインストール)
3.13 ライブラリを最新バージョンに更新する
3.14 Packagist
3.15 オートローダー
3.16 ⼀般的な使⽤⽅法(Basic usage)のまとめ
3.17 美味しい使い⽅
3.18 本番環境と開発環境での分け⽅
3.19 dump-autoloadとdumpautoload
3.20 PHPのバージョンに沿ったライブラリをインストールする
3.21 composer.jsonでのバージョニングの指定⽅法
3.22 composer⾃⾝のアップデートを⾏う
3.23 新しいパッケージをコマンドで追加する
3.24 composer.json ファイルをコマンドで作る
3.25 composerでコマンドを短縮できる
3.26 Packagistを使わないでGitHubにCompsoerのリポジトリを置く
3.27 まとめ
4. 著者紹介

Flutter勉強会 5回目

Fade a Widget in and out (CookBook)

公式のcook bookを試してみました。

ScaffoldにWidgetを入れていく

継承元のStateのジェネリクスにはStateFullWidgetを入れる

内容

CenterのWidgetを利用してBoxを中央に置く。
切り替えの管理はフラグを使う。
表示・非表示はopacityで透明と非透明で行う。
ScaffoldのfloatingActionButtonで切り替える。

まとめ

仕様道理に動かすことは出来たが理解が及ばず。
技術書典5で売っていたFlutter本に頼る?
もしくはDartの勉強をしてみる?
次回はFireBaseを使うかもしれないのでログインができるようにしておく。

メモ

引数にthis.titleとつけておくと自動で
this.title = title
をやってくれる?

スカゼミ週末発表会 2018/11/10

スカゼミ週末発表会 2018/11/10

よろしくおねがいしまあああす

峯岸さんの発表

AWS Dev day がやがや動画

概要

AWSのイベント「AWS Dev day」のハッカソンのようなもので、「がやがや動画」というものを作って優勝しました。
動画をアップロードすると、リアルタイムに動画閲覧ページの一覧に加えられます。

・メインページ
・スマートフォンから動画ファイルを追加するとガヤガヤ動画にうつる

AWS紹介

AWSはAPIを叩いて色々使えて便利。
堅牢性も担保してくれるので便利。
AWSのサービスはGUIが充実していて便利。
EC2はサーバーで便利。
elastic load balancerはロードバランサー

s3はストレージサービス。99.999999999%落ちないサービス
(前に落ちたけどね)

AWS Lambdaというサービスがある。検知機能。例としてはs3にアップロードしたらラムダが検知してプログラムを実行することができる。
Amazon Elastic Transcoderは動画ファイルを他のフォーマットに変換をかけてくれる。ガヤガヤ動画でやったことは動画をgif動画にすること。

がやがや動画でのAWS利用

s3->Lambdaが検知->トランスコーダーで変換->s3に設置

Pub/Sub

Pub/sub とっても簡単にメッセージのやり取りができるサービス。
チャンネルという概念がある。

チャンネルを通してpublish-Subscribeを行える

チャンネルに送信(publish)すると、チャンネルを購読(subscribe)している人に届く

Pub/SubはIoT coreを使っている

MQTTの説明
https://qiita.com/mamatumo/items/e99428775c20064f41ee

Pub/Sub参考

AWS IoT Message BrokerのMQTTでpub/subをやってみた #reinvent

AWS IoT CoreとPUB/SUBする為のツールを試しました

AWS IoT CoreとPUB/SUBする為のツールを試しました

IoT coaは、すごい時接続数に対応している?
自動拡張してくれる。Expander!!.

AWSの資格を取った

ソリューションアーキテクトアソシエイトを取った
https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/

高給取りになれる
https://itjinzai-lab.jp/article/detail/447

ソリューションアーキテクトアソシエイトの勉強方法を知りたい。

まずはAWSをやる。

公式で無料デモの模擬問題(10問)があるのでそれを受ける

AWSソリューションアーキテクトアソシエイトの本がある。2016年だけど役に立つ

お値段:1万5千円

模擬問題:2,000円~3,000円
どこが間違えたかも分からない。酷い
分野ごとには%で教えてくれる。優しい

1問1問を何度も復習。

実際は模擬問題より文章が多く難しい。
問われている内容は同じ
1000点満点 720点が合格ライン
860点取った
60問で一時間半

朝トレのあとに1時間本を読む。模擬問題を解く。
日本語が変
実際のテストは物語調の問題になる

サンプル問題のPDF
https://d1.awsstatic.com/training-and-certification/docs-sa-assoc/AWS%20Certified%20Solutions%20Architect%20-%20Associate_Exam%20Sample_v1.5_FINALJP.pdf

合格対策 AWS認定ソリューションアーキテクト -アソシエイトkindle版

AWSのAPIのQ&Aも参考になる

どのくらいの期間勉強したの?

元々AWS詳しい。それを踏まえて3週間くらい

Double Peace

以前に作ったサービス
https://v-peace-v.com/

AWS IoT Coreがわからない

Pub/Subを簡単に使う魔法

知らない人にとってはAWSのサービスは呪文

試験の範囲まとめ

s3
Dynamo DB
Cloud Search
ec2
RDS
ELB
Amazon ElastiCache
IAM
Route53
Cloud Front
Amazon Redshift(レッドシフト)
VPC
CloudWatch
CloudFormation
Elastic Beanstalk
OpsWorks
cognito
リザーブドインスタンス、スポットインスタンスのEC2の料金体系

がやがや動画まとめ

s3
lambda
Amazon Elastic Transcoder
Iot Core
cognito

スカゼミの入り方

ツイッターでDMかメンション下さい。

Flutter開発環境構築でのトラブル

Flutter開発で、iPhone実機テストを行おうと思って、$ flutter doctorで環境を確認したが、以下のエラーが出た。

[!] iOS toolchain - develop for iOS devices (Xcode 9.2)
✗ libimobiledevice and ideviceinstaller are not installed. To install, run:
brew install --HEAD libimobiledevice
brew install ideviceinstaller
! CocoaPods out of date (1.5.0 is recommended).
CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
For more info, see https://flutter.io/platform-plugins
To upgrade:
brew upgrade cocoapods
pod setup

エラーメッセージどおり$ brew install --HEAD libimobiledeviceを試すが、以下のエラーが出る。

==> Installing dependencies for libimobiledevice: libplist
==> Installing libimobiledevice dependency: libplist
==> Downloading https://homebrew.bintray.com/bottles/libplist-2.0.0_1.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libplist-2.0.0_1.sierra.bottle.tar.gz
🍺 /usr/local/Cellar/libplist/2.0.0_1: 29 files, 347.4KB
==> Installing libimobiledevice --HEAD
==> Cloning https://git.libimobiledevice.org/libimobiledevice.git
Cloning into '/Users/deni/Library/Caches/Homebrew/libimobiledevice--git'...
==> Checking out branch master
Already on 'master'
Your branch is up to date with 'origin/master'.
==> ./autogen.sh
Last 15 lines from /Users/deni/Library/Logs/Homebrew/libimobiledevice/01.autogen.sh:
checking dynamic linker characteristics... darwin16.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking for pkg-config... /usr/local/opt/pkg-config/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libusbmuxd >= 1.1.0... no
configure: error: Package requirements (libusbmuxd >= 1.1.0) were not met:

Requested 'libusbmuxd >= 1.1.0' but version of libusbmuxd is 1.0.10

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables libusbmuxd_CFLAGS
and libusbmuxd_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

READ THIS: https://docs.brew.sh/Troubleshooting

libusbmuxdのバージョンが、古いらしいが、アップデート方法が不明だった。
いろいろ調べてみたら、usbmuxdというのでいけるっぽいので、削除して入れ直す。

$ brew uninstall --ignore-dependencies usbmuxd
$ brew install --HEAD usbmuxd
$ brew unlink usbmuxd
$ brew link usbmuxd
$ brew install --HEAD libimobiledevice
$ brew install ideviceinstaller

$ gem update cocoapodsで、cocoapodsのアップデートができなかったので、これも古いのを一旦削除して、入れ直す。

$ gem uninstall cocoapods
$ gen install cocoapods

$ pod setupが失敗するが、以下の手順で成功

$ pod repo remove master
$ pod setup

再度、 $ flutter doctorを試す。

[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)

これで実機テスト出来るようになりました!

Windows7でChainerをインストールしてGPUで動かすまで

かなり手こずったのでうまく動いた方法をメモっておきます
cuDNNは使ってませんのでCUDAが動くまで。

まずこちら
Windows上にChainer v1.5+CUDA+cuDNNを一番簡単に入れれる方法

ポイントはAnacondaのPython2.7の64bit版 を使うこと
機械学習を使うための便利なライブラリが元から入っています。
Microsoft Visual C++ Compiler for Python 2.7をインストール

CUDA Toolkitをインストールする

pip install chainer

はい、chainerのインストールでコケました。
簡単に入らないじゃん!!って四苦八苦。

以下のサイトに書いてあることを試してみる
セットアップ (Anacondaで自分だけ使う場合。参考サイト:windowsで開発環境を整える)

配布サイトから64bitインストーラを持ってきて実行。Advancedのところで、PATHと標準の両方のチェックを外す。これでAnaconda Promptからしか使えない。

私はWindowsのプロンプトで実行したかったのでチェックつけてままインストール完了させました。

下記を書いてあるまま実行

conda update conda
conda update anaconda
set LIB=%LIB%;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\lib\x64
set INCLUDE=%INCLUDE%;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"
pip install chainer

通常のプロンプトで動かすならset LIBとset INCLUDEのところはユーザー環境変数に直接書いたほうがよいかもしれないです。ユーザー環境変数にLIBとINCLUDEを作り値を入力。
システムのプロパティ→詳細設定→環境変数から可能。

パスの設定した後は謎のバッチファイルを起動。何をしているか調べる気力が無かったのでとりあえず叩いただけ。
そうしたらchainerが無事インストールできました。

後は出来た環境でサンプルを実行

通常
python ..\examples\mnist\train_mnist.py
実行時間 約10分

GPU
python ..\examples\mnist\train_mnist.py –gpu 0
実行時間 約3分

3倍以上の差が出ました。やったね!

GPUで注意すべき点はビデオカードが対応しているかどうか
対応していないとCUDAをインストールするときに英文でGPU applicationは動かないよ!って警告文が出ます。

環境
GeForce GT 640
CUDA 7.5
Windows7 64bit
python 2.7 (Anaconda)
chainer 1.7.2