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

AWS/Java/Node.js/Spreadsheets/Docker/Jenkins/コミュニティ・勉強会レポを主とした技術系ブログ

#devsumi 2017参加レポ (Developers Summit 2017) 最終日 (2/17)

デブサミ2日目 最終日!

2日目にして最終日のレポです。

■ 自動化はどこに向かうのか ~まだ開発・運用の自動化で消耗しているの?~

乗り換え含む乗った全ての電車が遅延で消耗してしまった、途中から。

自動化は目的ありきで、ツール使いたいからってだけではダメよ。という感じの内容でした。シーズではなくニーズありきでという話がJJUGで出ましたが、何でも目的ありきですよね。

でも、何の自動化すらやってない現場がもし2017年現在まだあるならば、それはヤバいと思う。

■ 完全ベンダーロックインのMicroservices/DevOpsでマイクロソフトに貢献しよう!

MSエバンジェリストの牛尾さんセッション。
前半DevOpsの話、後半VSTS紹介。

f:id:ryoichi0102:20170218213438j:plain

Google Chrome 56登場で待ったなし! 30分で学ぶ常時SSL/TLS実装のポイント

f:id:ryoichi0102:20170217121921j:plain

■ コンテナをフル活用した現場

The Twelve-Factor App (日本語訳) を中心に。

PJ参画時のスタードダッシュが効くようプロジェクトをまたがってルールが決まっているのが良いですね。

C#で簡単にモバイルアプリを作ろう!

MSエバンジェリストちょまどさんによるC#とXamarinの概要の紹介。
C#のライブコーディングがありましたが、こちらもネットワーク不調でしたね。
動画を予め用意しておくっていうリスク管理は重要ですね。

f:id:ryoichi0102:20170218213255j:plain

■ コミュニティとエンジニアの生き方

コミュニティの運営についての非常にアツいセッション。

コミュニティは参加者と登壇者と運営で成り立っていて、参加者は"いわゆるお客様"ではない。コミュニティは集団の何かしら少しづつの貢献の上に成り立っていて、使い潰して捨てられるようなものでは成立しない。
無いことを嘆いたり・批判をすることは良くない。

私も社内で勉強会を主催することがあるのですが、
やはり運営についての難しさを感じることが
"継続は力なり"と言いますが、継続するためには集団の力が必要と改めて感じました。

そのためにどうするかのtry and errorや具体的なTipsが聞きたい。
⇒Ask The Speakerに行ってみた。やはり社内は大変で、社外のコミュニティの方が数の力があるので、まだやりやすい方ですねとのことでした。

■ 今年はJava進化の年! 今知っておくべき新しいJava

本業で使うので聴講。
Java 9についての変更概要に関するセッション。
2017/07/27 リリース予定とのことで、これはまた近くなったら別途書こうと思います。

■ 総評

セッションタイトルが(仮)のままのものが多かった。
永遠のβ版じゃないんだから、気持ちよく固めきってきてほしい。
あと運営スタッフが今回から変わったのか会場がかなりドタバタしていたのが目立った。

と、文句はこれぐらいにして・・・

今回私の周辺では6人参加と過去最大でした!
f:id:ryoichi0102:20170218212603j:plain
去年も書いたけど、アフターだけ謎に参加の弊社員は来年こそ来てくれるはず!!
と言いつつも今年は増えたので来年もっと割合が増えると良いな!

#devsumi 2017参加レポ (Developers Summit 2017) 初日 (2/16)

今年もデブサミへ!

参加4年目です。仕事が忙しいのに申し訳ない。でも参加。

今年のテーマは
"エンジニアとして生きる、技術の先にある現実に踏み出す"
です。papandaさんっぽいです。
やはりデブサミはソウルフルであってほしい。

■ Webフロントエンドの変遷とこれから

前半は歴史の話、侍魂とか懐かしい。

後半はこれからのWebフロントエンドとエンジニアが幸せであり続けるための話。
はじめてのプログレッシブ ウェブアプリ  |  Web  |  Google Developers
GitHub - extensibleweb/manifesto: The Extensible Web Manifesto

Google のインフラ技術から考える理想のDevOps

重要なのは役割ではなく知識範囲としてのフルスタック

製造業などで自工程完結という言葉がありますが、
それぞれのセクションがセクションを越えてやりやすいような仕事をするというのは目指したい所です。セクショナリズムではないですね。

■ 30分でLINE Messaging APIを使ったチャットボットを作って優勝賞金1000万円のLINE Bot Awardsにチャレンジしよう!

最初は概要説明、そして残り13分で
登録〜echobotを動作させるBotのライブコーディング。
IntelliJ使ってたけど結構良さそう…!! 手早い。

■ パネルディスカッション「エンジニアが創るプロダクトの未来 ~エンジニアからプロダクトマネージャーへ~」

自社もプロダクトを持っているので染みる話もあり。
valuable, usable, feasible
この3点で考えるってのは布教していきたい。

f:id:ryoichi0102:20170216205606j:plain

MicrosoftのAI開発機能/サービス

Cognitive Serviceの紹介。

f:id:ryoichi0102:20170216205518j:plain

Azure基礎的な感じですが、私は知らなかったのでミになりました。

■ IoTへのWeb側からの関わりかた

ダイエットフードwとMQTTの紹介。

■ 事業成長にコミットするエンジニア組織への道のり

文化のつくりかたの話。

エンジニア採用に力を入れた後だが、社員エンジニアはこうあるべき、という指針がふわっとしており、その価値が確立できなかった。
組織として見直すことに。そこで、
・売上/利益最大化
・事業成長に負けないように技術的に成長すること
とした。

技術 × 熱意 × プロダクト理解

管理も必要だが、エンジニアが主であることが改めて重要である。

・人事制度の変更:
 マネージャーとエンジニアの乖離についてのキャリアの再定義。
・(開発ではない)合宿:
 模造紙や付箋などでエンジニアのみで実施。課題とアクションプランが明確になるように。
・求職者へのアピール:
 ブログ・インタビュー・OSS活動・社内LT/ハッカソン

■ 視点移動〜ビジネスと組織と人の狭間で越境し続けるエンジニアの物語、その彼岸

私は泣きにきたんでしょうか、感動しました。

speakerdeck.com

久々のpapandaさん。
f:id:ryoichi0102:20170216205505j:plain

www.slideshare.net

わかる・・・本当きてよかった

DockerでFTPサーバーを構築したら簡単すぎた

pullしてrunするだけがいい

色々検討しても良いのかも知れませんが先日のOracle Databaseの件のように動かないコンテナに苦労したり、不可能な環境構築にトライしたくない領域だったので、今回は最初からDocker Hubを検索。Most downloads, most starsを選択しました。
https://hub.docker.com/r/stilliard/pure-ftpd/

なお、SFTPならコチラがMost downloads, most starsでした。
https://hub.docker.com/r/atmoz/sftp/

さて、通常はドキュメント通りに進めますがpure-ftpd:hardened だとアップロード後のリネームができなかったりしたので、pur-ftpd:latestを使います。

> docker pull stilliard/pure-ftpd:latest

latest: Pulling from stilliard/pure-ftpd
386a066cd84a: Pull complete
:::::略:::::: Pull complete
26eb4ca837a0: Pull complete
Digest: sha256:d21f3d12be52d8669b5561c7325f60013b61c9920a78db9d85e2e1545cbdae4f
Status: Downloaded newer image for stilliard/pure-ftpd:latest

> docker run -d --name ftpd_server -p 21:21 -p 30000-30009:30000-30009 -e "PUBLICHOST=localhost" stilliard/pure-ftpd:latest

0206a6e60ff6f738a1e23beecdb46d4631da2e654962dc18e1c7526e325cc840

> docker ps -a

CONTAINER ID  IMAGE                       COMMAND                 CREATED                 STATUS        PORTS                                                     NAMES
0206a6e60ff6  stilliard/pure-ftpd:latest  "/bin/sh -c '/run...."  Less than a second ago  Up 3 seconds  0.0.0.0:21->21/tcp, 0.0.0.0:30000-30009->30000-30009/tcp  ftpd_server

> docker exec -it 0206a6e60ff6 bash

root@0206a6e60ff6:/# cd /home/ftpusers/

root@0206a6e60ff6:/home/ftpusers# ls -la

total 8
drwxr-xr-x 2 root root 4096 Feb 7 20:39 .
drwxr-xr-x 3 root root 4096 Nov 30 08:28 ..

root@0206a6e60ff6:/home/ftpusers# pure-pw useradd my-account-name -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /home/ftpusers/my-account-name

Password: ********
Enter it again: ********

root@0206a6e60ff6:/home/ftpusers# mkdir my-account-name

root@0206a6e60ff6:/home/ftpusers# chown ftpuser:ftpgroup my-account-name

root@0206a6e60ff6:/home/ftpusers# ls -la

total 12
drwxr-xr-x 3 root root 4096 Feb 7 20:41 .
drwxr-xr-x 3 root root 4096 Nov 30 08:28 ..
drwxr-xr-x 3 ftpuser ftpgroup 4096 Feb 7 20:41 my-account-name

/home/ftpuser/【設定したアカウント名】
ディレクトリが作成されていることが確認できます。
ここでFFFTPなどでファイルアップロードなどします。
ユーザー名とパスワードはpure-pwコマンドの時に設定したものです。
(下記の例はtestというディレクトリを作成した例)

root@0206a6e60ff6:/home/ftpusers# cd my-account-name

root@0206a6e60ff6:/home/ftpusers/bob# ls -la

total 12
drwxr-xr-x 3 ftpuser ftpgroup 4096 Feb 7 20:41 .
drwxr-xr-x 3 root root 4096 Feb 7 20:41 ..
drwxr-xr-x 2 ftpuser ftpgroup 4096 Feb 7 20:41 test

簡単すぎて鼻血出そう...