Spaghetti Code Monster

きれいなコードを読み書きしたい.

管理職について思うこと

このエントリは、次の記事に勝手に便乗しています

自分の管理職歴

ありません。ぺーぺーです。

なので、下っ端から見た管理職の姿について書いていきます。そのため、内容は薄っぺらいと思います。
また、あくまで私個人の主観の話であり、"一般的な考え"とは異なると思っていますし、一部感情的なものも含んでいます。

やりやすいなーって感じた管理職

情報を公開してくれる

  • こんなこと必要なのかなって思うことも展開もらえます*1

様子を聞きに来てくれる

  • 報連相が大事なのはわかります
  • ただし、それは元々上司を戒めるための言葉ですし、様子を聞きに来てくれることで状況を伝えやすいです。*2

程よく方向性を与えてくれる

  • ゴールを示してくれつつ、ある程度の自由を与えてくれていたので、成果を出すために動きやすいと感じました

やりにくいなーって感じた管理職

忙しいアピールが甚だしい

  • 管理職なのに、自分の仕事が管理できていないのではないですか?

  • こんな人に生産性について云々言われる筋合いはありません

  • 今まで忙しいけど頑張ってますアピールをすることで周りからの承認欲求を満たしていたんでしょうか?

    • いつまでそれに縋っているのは醜すぎますね

人の好き嫌いが激しい

  • お気に入りの人にはとことん甘い反面、気に入らない人間への態度が明らかに違う こんな人が部下の評価を正しく人の評価ができているとは思えません。
  • お気に入りの人にベッタリしている様子は傍から見ていてとても気持ち悪いです

言動が一致していない

  • そもそもそんな人を信用することはできません

報連相をやたら要求してくる

  • 報連相は管理してる雰囲気を作るためのものではありません
  • なぜ報連相をされなかったのかを考えていただきたいです

おわりに

正直、後者で上げた人は管理職としての能力がないと思ってます。
気に入った人間だけ囲って、お山の大将でいたらいいんじゃないでしょうか。

*1:上司から積極的に情報を公開していると思っていただければと思います

*2:それが当たり前だと思っている環境が羨ましい限り

SORACOM UG 信州 x JAWS-UG Nagano x TwilioJP-UG 共催ハンズオン 参加レポート

3月30日に開催された、SORACOM UG 信州 x JAWS-UG Nagano x TwilioJP-UG 共催ハンズオンに参加しました。 その時の参加レポート的なものです。

今回のイベント、興味があったまま手を出せずにいた3つのサービスが共催だったこともあり、とても楽しみにしていました。

イベントの概要、イベントで使われた資料については、
https://soracomug-tokyo.connpass.com/event/118913/

イベント中の様子については、
https://togetter.com/li/1333132

を見たら手っ取り早く雰囲気を掴めるかと思います。

ここでは、個人的にためになったことをまとめていきます。(というか、当日のメモをほぼ貼り付けただけです…)

SORACOMの紹介とブログのススメ

IoTとは?

  • デジタル化を実現する手段
    「見えていなかったものをみえる」ようにして,「視えたものを集めて生かす」
    この両者をつなぐのはネットワークで、どこでも使えるネットワークの一つがSORACOM
  • SORACOMはIoT向けの通信を提供している。 3GやLTEを使っているので、セキュリティとかクラウド連携もクリアしてくれる。

IoT開発のフェーズごとにおける課題とPlatform

バイスからのデータを簡単に可視化 → harvest
検証するために素早く使える仕組み → Lagoon
AI/ビッグデータとかを使った高度なソリューションを活用 → BEAM

SORACOM Air

IoT向けのデータ通信基盤(2G/3G/LTE、Sigfox/LoRaWAN)
日本向けのSIMだけでなく、海外向けのSIMもある。

7月2日に開催されるSORACOM Discovery 2019(https://www.discovery2019.soracom.jp)の紹介もありました。行ってみたい。

素早く検証するにはどうするか?

  • 何も作らない.あるものを利用する
  • 自前主義からの脱却

様々なデバイスでIoT化をサポート

  • USB型通信アダプタ
  • LTE-Mボタン
  • 基板ベース(wio-LTEとか)

Amazon Dashボタンが販売終了

  • これから必要なのは「モノづくりではなく,コトづくり」

工場での導入事例 - WiFi ベースだと、他の設備が必要(ルータとか) → LTE-M buttonだと,他の設備が不要

ブログ書こう!

  • 誰のため? → 未来の自分のため
  • ブログは「未来の自分へのドキュメント」 忘れる能力→救い
    とはいえ,できるようになったことを忘れるのは忍びない → そこでブログ!

ブログの種類には、次の種類がある
- トライ系 目的と達成できた/できなかったことを載せる
- 紹介系 これでできることや始め方
- レポート系 このエントリ

機密情報が洩れるじゃん?

  • 何が機密なのか、わかってない人の常套句
  • ブログに書けること、書けないことが分かっている人は 技術だけじゃなくビジネスの本質に対する理解度が高い人材

AWSの紹介

もともとAmazonのインフラノウハウをサービス化して提供したもの
サービス数は165(らしい)
今回は、ハンズオンで使うAWS LambdaとAWS IoT、IoT 1Clickについて

AWS Lambda

  • サーバレスコンピューティング
  • まずはサーバレス→ ダメならサーバ立てるって潮流ができている
  • 管理不要
  • 状況に応じて自動で拡張
  • 使ってないリソースについては支払い扶養
  • 可用性,耐障害性 は実装済み 99%のシステムは,サーバレスにリプレースすると安くなる → 時間当たりの時間はEC2,ECSのほうが安い
    常時リソースを確保して,動作し続けるものはEC2のほうが安い
    冗長構成の実装も必要ない

イベントドリブン

  • 完全にステートレスで動作する必要ある
  • 常に外部のDBにアクセスする必要あり 外部DBはDynamoDB(NoSQL)がおすすめ
  • 一時的なデータはRedisとか
  • 関数単位のロギング 慣れるまで大変っぽい

実行時間

最大900秒

関数単位で,権限制御ができる

うまく制御すればかなりセキュアにできるが,それには慣れが必要

AWS Identity and Access Management

通称IAM
- IAMユーザ - IAMロール - IAMポリシー - IAMはリソースに対して付与するもの

ソースコードに権限を埋めないコーディングをする

Lambdaの言語使い分け

AWS IoT + IoT 1Click

AWS IoT Core

Greengrass

  • edgeデバイス向け 国内から東京リージョンにアクセスした場合でも、50msのレイテンシが発生する
  • AWSの機能をローカルでもできるようにしたもの
  • 最新の動きをEdgeに適用して,クラウドで集中管理

Greengrass ML inference

  • 推論環境をデバイスに組み込める
  • FPGAとかでも利用できるらしい

バイスクラウドの関係

IoT駆使したデバイスを作る場合,なにを考える必要があるか? Digitalization=ソフトウェアによる価値最大化 = 物理的な制限からの解放

Twilioの紹介

  • Twilioは通話,SMSだけじゃない
  • コミュニケーションをAPIで管理しよう
  • プログラムで電話をかけようとかできるようになる
  • 今までになかったコミュニケーションを実現 -【導入事例】電話活用したスマートロックキー

Channels

  • ここからいろんなサービスに通知を投げたりできる
  • サービスごとに対応するコードを書く手間を減らせる

決済

  • PCI Compliantに準拠しているので,電話で決済できる

    Programmable Video

  • videoの中に含まれている付加価値を提供できる

Programmable Wireless

Programmable FAX

  • もともとはエイプリルフールのネタだったが、意外と使われているらしい

Mail

  • SendGrid買収した

Functions

  • Lambdaてきな
  • Node.jsのみサポート

    Assets

  • S3てきな
  • APIを使ったアップロードはできない

    Sync

    WebSocket的な

Authy

  • 2要素認証

Proxy

  • お互いの番号を知らせずにコミュニケーションできる仕組み

Twilioを使った架電

  • REST
  • Flows.Executions

ハンズオン

次のことをやりました。 - LTE-Mボタンが押されたらメールを送信する - LTE-Mボタンが押されたらTwilioのAPIで電話をかける - LTE-Mボタンが押されたらデバイスの状態を更新する この日使ったデバイスは扇風機

感想

Python Boot Camp in 長野に参加した

2017/6/10(土)にGEEKLAB.NAGANOさんで開催された,Python Boot Camp in 長野に参加しました.

pyconjp.connpass.com

少し日が開いてしまって,記憶があやふやですが,参加した記録を残します.

参加した目的

  • 最近ブームになっているPythonの理解を深めたかった
  • 会社の有志が集まって,Pythonを勉強しているWGがあり,そこに情報展開をしたかった

実際にやったこと

Python Boot Camp Text — Python Boot Camp Text 2016.04.28 ドキュメントを中心に講義形式で行われました.
Python初心者向けに作成されており,とても分かりやすい内容でした.

小学生並みの感想

テキスト以外にも,Pythonの少し深い話も聞けたのはとても興味深かったです.

  • floatのround関数は,偶数丸めになっている.正確な数値を得たい場合はDecimalを使用する
  • Dictはデータの順序を保証していないが,3.6では実装上順序がある状態になっている
    (他バージョンとの互換が怖いかもと思いました)
  • Dictのキーはイミュータブルなデータしか受け付けない.
  • データの集合をDictのキーにしたい場合,ListではなくTupleを使用する

講義の終わりのほう触れた,Pythonの仮想環境(venv)もとても便利な機能だと感じました.
いろいろなPythonのバージョンや,必要のないライブラリの切り分けが簡単にできるのは,Pythonの開発をするときにとても重宝しそうな印象を受けました.
(実際にvenvが活用できないと円滑に開発ができないかも?)

また,PythonC#って似てるところがあるよなーと思いました.

  • PythonのwithはC#のusingみたいな使い方ができる
  • async,await
    (Pythonは3.5から追加されたらしいです.講義には出ませんでしたが…)

この次にやりたいこと

仕事のサポートツールをPythonで作ったり,競技プログラミングとかの問題をPythonで解くとかして,Pythonをとりあえず書く習慣をつけていきたいと思います.

いずれは,PyConにも参加したいですね:-)