--- title: 姫路IT勉強会 2020.03 langs: ja-jp --- # 姫路IT系勉強会 2020. 03 * 開催日: 2020/03/21 * 司会: * 参加人数: 参加者: 14名 学生 4名 * HackMD https://hackmd.io/x1uSR15JQKCXMbsJIbj0Qw * connpass: https://histudy.connpass.com/event/167838/ * ハッシュタグ:[#histudy](https://twitter.com/search?q=%23histudy&src=typd) * jitsi オープンソースのオンラインミーティングシステム[jitsi](https://jitsi.org/)の [himejiitstudyのルーム](https://meet.jit.si/himejiitstudy) を作りました。とりあえずパスワード無しで入れるようにしています。 * この人数と端末はADSLじゃ無理かも😭 > [TOC] # 自己紹介 * 初参加者も多く、活発です。 * コロナウイルスでテレワークする人もいます * どこにでもいるCommon Lisperとか * 東京から飛行機で来た人もおります。 * 財務畑からWebエンジニアを目指す方も # IT系の仕事が欲しい - IT系といってもどのようなジャンル - Web - Rails - インフラ、サーバーエンジニア - JavaScript - PHPHPHP - SQL - 勉強法 - インターンもいいです。ぜひトライしてください - 自分なりに本やNetで調べたりして、独学でアプリを作成 - よく詰りがち - 本は最初だけ。あとはNetで「これは正しいのか?」と疑いながらやってます。 - エラーメッセージを読みましょう。ぐぐりましょう。慣れればわかります。 - 「分からない!」という人はエラーメッセージを読んでいません。 - ドツボを踏めば踏むほど強くなれます! - 全員が全員地獄をみているわけではないです。 - IT系の仕事は実際にどういうことをするのか? - JavaScriptとVue.jsを使用したアプリを開発している例(TODO) - 要望収集 - 要件管理 - 設計 - 実装 - 実装は意外と楽 - 設計を無視するとあとで苦しむことになる - 完成図をもとに設計するか、徐々に開発すすめながら書くか - 最初にER図(Entity Relations)を書いてデータベースのテーブルを明確にする - ネーミングは重要なのでcodicで https://codic.jp/ - 完全な計画、完全な設計、... というやり方をウォーターフォール開発という - 期間をきってウォーターフォールを数回くりかえすやり方をスパイラル開発 - 2週間程度の短期間(スプリント)を繰替えすやりかたをアジャイル開発という - 「IT」に詳しく無い人しか周りにいない。・・ - 成果物をそういう人に見てもらって、要望を反映させていく、のもいいかも。 - 「Webエンジニア」といっても色々な分野があるので、自分が何をしたいか、見極めることもいいかも。 - 人の書いたコードを読む力がいる。 - githubやgitlabでオープンソースのソースコードを読んで学びましょう。 - 参考 https://github.com/mackerelio/mackerel-agent-plugins/blob/master/mackerel-plugin-mysql/lib/mysql.go - コードの書き方を学ぼう。 - 「偉大なプログラマーはコードを「盗む」」 - 書籍「リーダブルコード」[Amazonのリーダブルコードへのリンク](https://www.amazon.co.jp/%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89-%E2%80%95%E3%82%88%E3%82%8A%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%A7%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-Theory-practice-Boswell/dp/4873115655/ref=sr_1_1?adgrpid=51401753457&dchild=1&gclid=EAIaIQobChMIg7KK1uyq6AIVEKqWCh2ZngDGEAAYASAAEgI_HPD_BwE&hvadid=338546175838&hvdev=c&hvlocphy=1009557&hvnetw=g&hvqmt=e&hvrand=16407237119920507331&hvtargid=kwd-299650801919&hydadcr=24975_11176368&jp-ad-ap=0&keywords=readable+code&qid=1584769033&sr=8-1) - 勉強会などで知り合いを増やしましょう。 - 何かをさらして、知識レベルを示しましょう。 - 複数の会社を知らないとだいたいのレベル、業界標準がわからなくなる。 - 一つだけ得意な人より幅のある人が求められている。 - 「PHPが得意です」な人には厳しいかも - 面接の口頭試問例「ブラウザにURLぶちこんで画面表示されるまでの仕掛けについて、20分くらい説明してください」 - 関西のPHPの傾向 - 姫路あたりは、Wordpressの案件が多い - Railsで組むとメンテナンスできる人が減るような - Railsだとサーバーの環境の構築が難しい。 - Cakeだと日本語ドキュメントが充実している。 - Ansibleで構築できるようにすると手離れがいい。 - PHPはどこでも安泰 - JavaScriptがこんなに流行るとは思わなかった。 - Backendでexpress, Rails+vue.jsというのも - Reactが流行っている - 分かり易い指標:AmazonとGoogleとFacebookがやっているフレームワーク - 大手が(本気で)使用していると、一応安心して若手に勧められる。 - 数年後にフレームワークがのこっていることが期待しやすい - PHPのバージョン - [PHPのサポートバージョン](https://www.php.net/supported-versions.php) - - Active Supportとディストリのサポート - PHPのバージョンアップと同時にサーバーのリプレースを提案するとか。 - Wordpressのバージョンもからめても ---- # ノートパソコンのお勧め教えてください - 自宅ではMacMini使ってます。 - プログラミングなどに使いたいです。 - ローカルで仮想マシンなどを立ち上げるなら、スペックは高いのが便利です。 - クラウドにアクセスするだけなら、さほどのスペックは要らないのでは - Macに慣れると、Windowsはめんどくさいです。 - 流石にDebianはきついかも - なにをー(の) - WindowsもWSLでLinux互換環境 - Web界隈はMac使いが多い - 持ち運び端末ならChromebook超おすすめ - Androidアプリも使えてLinux機能(LXD)でDebianも使えるので困らない - 何かあればオールリセット - アカウントを入れれば復元されるしインストール作業がないから楽 # 再開 15:20 # Pythonによる自動化について知りたいです - 遺伝子の研究をしています - 画像パターンの解析結果をExcelに貼るとか、グラフ化とかしたい - Python Pandasでいけるのでは - 画像認識は、数千枚程度なら機械学習でできそう - 画像にアノテーションをつけて - XGBoostをつかう - 分類させて、振り分ける - typoo タイポ - 目的はプログラミングの練習。それが研究に使えれば尚よし # いろいろ可視化 Web API サービス『Pixela』の紹介です - 体重の記録の可視化したいなど。 - 今年の10月の [オープンセミナー岡山](https://oso.connpass.com/) - 昨年12月、岡山でMackerlelハンズオンやりました - 姫路でもやってみたいです - ぜひお願いします! - [Pixela](https://pixe.la/ja)は趣味開発プロダクトのひとつです 。 - 毎日の「値」集計登録して、githubのようにアクティビティ表示します - WebAPIのリクエストで操作します(curl -X POST hogehogeのように) - 初心者のチュートリアルにもいいかも - CLIツールも作りました。 - 利用規約も勉強して作りました。 - [ブログ](https://blog.a-know.me/archive/category/Pixela)にも色々書いています - Webhook,タイムゾーン、アラート通知、バッジ通知、をサポート # リモートワークをうまくやるにはどうすれば - 準備が大変だった - 社員数15人程度 - 役割分担が明確化されていない - もともと社内コミュニケーションはChatWorkやビデオ会議室でやっていた - やってみると - 社内のリソースにアクセスする手段が - WindowsはVPN経由でリモートデスクトップできた - Macではなかなかリモートデスクトップがうまくできない - 会社のPCを自宅に持ち帰ってやった - AppStoreにいくつかあることはある - 日本語まわりの設定がややこしいらしい - RedMineに書いてはどうか - 書けることは書いています。 - 画像データなど、そちらに置けないものも多い - GoogleDesktopはやはり好ましくない? - Chat - 雑談をする - slackには #times_dote のような個人チャットで関係のないことを書く文化がある。 - 細かい内容もチャットでなげる - まずリモートワーク自体の問題点の洗い出しを手がけてはどうか - 例えば、口頭連絡はリモートには届かない - 問題点の聞き取り調査は行っています - ルーティンワークのレベルで対応は始まっている - 打ち合わせなどがログに残るように - リモートワークの結果、運動不足になりました。 - たまに外出すると、隣人のまなざしが痛いです - 社内のサービスをWeb化して便利にしよう。そういう意味ではWebシステムの出番があるかな。 - リモートワークをどこまでできるかの検証になっている。 - データ自体もAmazonにおくなどした方がよいかもしれない。 - コンプライアンスをなんとかせねば - 固定回線をもたないユーザにはどうすれば - いまどきのモバイルでは、まだ無理っしょ - みながみな当社のメンバーというわけではないです # Amazon Rekognition Cutom Labels で画像判別 - 参考 [Amazon Rekognition Custom Labels でアーモンドとピーナッツの判別モデルを作ってみた。](https://qiita.com/KC_NN/items/d265eddcbdc8a47ed88c) - 転移学習 - 何かに対して得られた機械学習を別の対象に振り当てる技術(?) - 機械学習の効率化が期待できる - ディープラーニングに応用 - アノケーション:人力で判別した画像を機械に学習させる - このままではデータの認識は難しい # RasPi で各種センサーを付けてみました - 温度センサー - MicroBit # WebAuth動きました - TPMが難しかったので[Yubikey](https://www.google.com/search?q=Yubikey&oq=Yubikey&aqs=chrome..69i57j0l7.3523j0j7&sourceid=chrome&ie=UTF-8)を使用して動きました - 確実に参考になりませんが[サンプルコード](https://github.com/Yasuko/webauth_angular_laravel)です