--- title: 姫路IT勉強会 2021.05 langs: ja-jp --- # 姫路IT系勉強会 2021.05 * 開催日: 2021/5/15 13:15 - 16:50 * 司会: fu7mu4さん * 参加人数: 参加者: 9名(うちLisper 1名) 学生 1名 * HackMD https://hackmd.io/cVq5OOAaRnmZrNEhIbjUBw * connpass: https://histudy.connpass.com/event/212799/ * ハッシュタグ:[#histudy](https://twitter.com/search?q=%23histudy&src=typd) * Discord(オンラインミーティング専用)姫路IT系勉強会招待コード: https://discord.gg/rZCeScB * Discordは無料プランに乗れる人数(10人以内)なので使っています。 * 有料版でも$15/月程度なら払えなくもないですね。 * Discord以外にも色々ありますので、人数が増えたら検討しましょう。 ## 自己紹介とか * なんかこだましてます * どなたか、マイクとスピーカの位置がおかしくないっすか? * マイクは切っていたほうがいいかも ## 持て余しているストレージ2GB ChromeBookの活用方法 - 外出先でネットする用で1年ほど使用、2年ほど死蔵 - メモリー(ストレージ) 2GB しかない - Ubuntuとか入ればと思うがブートロック解除しても入らなかった。 - ゲームでもできないかと引っ張り出して、ChromeOSアップデートしてみた - ChromeOSのデモのため、ChromeBookからDiscordにログインしてみる - 学生向けPCが高いWindows機指定なのはどうか?って少し話題に - 学内ネットワークがWindows機前提だったりする。 - 小学校は、Windows決めうち? - [公立小中学校「GIGAスクール」端末のOSシェア1位はChrome OS、2位3位は? | 日経クロステック(xTECH)](https://xtech.nikkei.com/atcl/nxt/news/18/09684/) - > 端末をOS別にみると、Chrome OSを搭載する端末が327万8110台と最多でシェアは43.8%。次いで米Apple(アップル)のiPad OSが210万7935台で28.2%、僅差で米Microsoft(マイクロソフト)のWindowsが210万1357台、シェア28.1%で続いた。 - [Chromebookの価格と推奨スペック。GIGAスクール構想において魅力的な理由とは | Edu at Mitani](https://www.mitani-edu.jp/column/023/) - > ・OS:Google Chrome OS ・CPU:Intel Celeron 同等以上 ※2016年8月以降に製品化されたもの ・ストレージ:32GB ・メモリ:4GB ・画面:9~14インチ ・その他条件:タッチパネル対応、バッテリー容量8時間以上、LTE通信可など 上記のスペックはアメリカで、300ドル程度で販売されているパソコンを参考にされており、日本の販売価格帯は5万円程度を想定されています。 - 大学生が買うべきノートPC は? - 詳しい人はなんでもいい? - Windows + WSL でOK - macは M1 アーキテクトなので Linuxはまだ 動かない? - 動かなくもない程度。IntelMac並になるのはまだ先 - 以前GoogleはChromeBookでのAndroidアプリ開発をアピールしていました。 - https://developer.android.com/studio/install?hl=ja#chrome-os - ATOK なぜかうごかない - JustSystemに要望を送ってはどうか - 対応しきれないのかもしれない - [「文字入力は標準で用意されているIMEに加えてATOKなどほかのIMEをインストールできる。ただしキーボード接続時は標準IMEしか使えないほか、キーボード接続状態からタブレットとして使おうとすると標準以外のIMEが出てこないなど動作は不安定。標準IMEはフリックに対応していないため、タブレットではほかのIMEを使いたくなるが、そのさいは端末を再起動する必要があるなど手間がかかるのが難点だ。」](https://pc.watch.impress.co.jp/docs/topic/feature/1270376.html) - Debianは動かなかった - 専用のLinuxでないと駄目かも → [GalliumOS](https://galliumos.org/)ってのがあります - 最新のファームウェアに書き換えると動くかも? - 2GBのうちすでに 1.2GB 消費してる? - ほとんどはOSが使ってそう - 2GBじゃアプリのキャッシュに食われて埋まりそう - ストレージは16GBのはず。どうして2GBしか表示されてないの - 2GBはユーザーむけのパーティションで、切り直せばもう少し使えるのでは - で、何に使う? - インターネットメイン? ダッシュボード? - チャットやログの垂れ流し専用端末とか - あるいはYoutube流しっぱなしとか - Browsersyncで同期(フロント的) - 軽量Linux - [puppy linux](http://openlab.jp/puppylinux/#joken) - やはりサブ機では - CPUのついたサブモニタでしょ、所詮 - お値段考えたらそんなもん - 紹介したマシンは49800円とか5万切りでした - 共有していたらDiscordが落ちました - 配信が終了しました。(し〜ん) - お見せしたマシン - [ThinkPad 13 Chromebook](https://www.lenovo.com/us/en/laptops/thinkpad/thinkpad-13-series/ThinkPad-13-Chromebook/p/22TP2TX132E20GL) - スペック - 13.3インチ液晶 ノングレア - 1366 x 768px - Intel [Celeron 3855U](https://ark.intel.com/ja/products/92211/Intel-Celeron-Processor-3855U-2M-Cache-1_60-GHz) 1.60GHz/2C2T/2MB - HD Graphics 510 iGPU - 4GB RAM DDR3 - **ストレージ 16GB 内蔵eMMC** - Wi-fi 802.11 ac/a/b/g/n - USB 3.0 x2 TypeC x2 計4スロット - SDカードスロット - 魔改造の素材として - 再度 Debian のインストールに挑むか? - ゲーム機としてTVに繋ごうと思ったがHDMIポートなかった - USB->HDMI変換は使えると思う、多分 - **ストレージ2GBなのはパーティション切り直しましょう** ## ネガフィルムを撮ってみました - ネガフィルム「で」撮った、ではないです - スライドは[こちら](https://www.kuzuore.com/misc/documents/dqn.html#20210515)に置きました - カラーネガの時代、モノクロの時代 - 35mmじゃないやつもあった - いっそのこと、デジカメでフィルムを撮ってしまえ - 落とし穴いろいろ - この辺のノウハウを技術同人誌にまとめると売れそう(ふじわら) - アナログの戦いの後はデジタルの戦い - ImageMagickについてひとしきり討論ありました - `-contrast -contrast -contrast -contrast`引数指定おかしくない? - ImageMagickはバージョンで引数の指定がエグく変わる - ffmgegとかもバージョンでかなり変わる - セキュリティに穴があったらしい [さようならImageMagick](https://blog.cybozu.io/entry/2018/08/21/080000) - 流石にImageMagickなしはPHPでも辛い - [GD](https://www.php.net/manual/ja/book.image.php)ライブラリもあるが - 白黒画像の自動着色 - [satoshiiizuka/siggraph2016_colorization: Code for the paper 'Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image Colorization with Simultaneous Classification'.](https://github.com/satoshiiizuka/siggraph2016_colorization) - [colorization | 白黒画像をカラーに](https://colorize.dev.kaisou.misosi.ru/) - やっぱり専用機材(スキャナ)買ったほうが早いかも - 既に市場が死んでると思ったが、実際は様々な機器がありました - 私もフィルムがありますが、どうしましょう - 捨てるのは一瞬、後悔は一生 - やはり紙に焼いて、アルバムに綴るのがベスト? - 見返さないと持ってても意味ない気がするから - とっととデジタル化しておいてはどうか * デジタルにすると検索性が圧倒的に上がる * GPSデータ入れて場所別 * 顔認識で特定の人の写真だけ表示 ## プログラミング未経験の大人が初めて学ぶべきプログラミング言語・知識(sky_y) - 想定 - 対象:文章書く人(ライター、編集者を想定) - ドメイン:テキスト編集(日本語)+docx - 環境: Windows (Git Bash) or macOS (ターミナル) - 正規表現は必修すべき - [言語処理100本ノック2020](https://nlp100.github.io/ja/)の1〜3章を自力で解けるのが目標? * まず **git** はおさえておきたい * 100本ノックのUNIXコマンドならGitBashでカバーできる * 開発環境や言語環境 * 環境構築が容易なもの * UNIXコマンド触るためにWSLはしんどい * つきっきりでなら教えたことあるが、自学自習だと厳しそう * これこそまさにAWKじゃないでしょうか?(田窪) * Q: sed的なコマンドをどうするか * `sed`がGNU系とBSD系で違う問題 * `perl -pe` * Lispの話する? * MITがSICPやめてPython採用した話はどう思う? * [本の虫: MITがSICPを教えなくなった理由](https://cpplover.blogspot.com/2016/05/mitsicp.html) * Python ? * 初学者向けなら情報が多い言語でないとむずかしい * python で word(docx)をいじる [python-docxによるWordファイル操作方法のまとめ](https://gammasoft.jp/support/how-to-use-python-docx-for-word-file/) * JS? [textlint + prhで表記ゆれを検出する | Web Scratch](https://efcl.info/2015/09/14/textlint-rule-prh/) * 便利ツールは色々あるが、言語としてはどうだろう * 高度な言語処理ツールも厳しいかも * 形態素解析なら、mecabで pythonなら mecabのバインディングがあるような気がします。 * [PythonとMeCabで形態素解析(on Windows) - Qiita](https://qiita.com/menon/items/f041b7c46543f38f78f7) * [Janomeを使ってPythonで形態素解析 - Qiita](https://qiita.com/charon/items/661d9a25b2233a9f8da4) * 「形態素解析ができるよ」というモチベーションとしてのPython * [Janomeを使ってPythonで形態素解析 - Qiita](https://qiita.com/charon/items/661d9a25b2233a9f8da4) * Rubyはうーん * やや辛口なコメントがいくつかありました * 「プログラマが」書いて楽しい言語 * 初学者には分かりづらい部分があると思う * 書く人に依存する、属人化 * 次のステップを考えるとPython良さそう(Go言語とか) * YAMLを覚えると良い * ansible書くのに使えるとか * YAML <-> JSON 変換 ## 気がついたらPLになってたので、プロジェクトマネジメント入門書とか気になる話 - プロマネの入門書を探しています - [O'Reilly Japan - ユニコーン企業のひみつ](https://www.oreilly.co.jp/books/9784873119465/) - 最近出てちょっと話題を耳にしました。 - [アジャイルサムライ](https://shop.ohmsha.co.jp/shopdetail/000000001901/)の著者の新刊です。 - [サル先生のプロジェクト管理入門〜タスク管理を使いこなそう〜【プロジェクト管理ツールBacklog】](https://backlog.com/ja/project-management-guide/) - [サル先生のバグ管理入門〜バグをしっかり管理しよう〜【プロジェクト管理ツールBacklog】](https://backlog.com/ja/bug-tracking-guide/) - [想定する見積をより正確に!工数見積の誤差を減らすPERT手法とは | 株式会社LIG](https://liginc.co.jp/web/useful/51382) - 3人、Android保守+突発案件割り込み - 複数種の端末があります - チケット乱立気味 - タスクを細かく分けすぎでは - Redmineで実際にタスク管理してる人のコツ [Redmine 運用について 1/3 - はじめに - アカベコマイリ](https://akabeko.me/blog/2016/07/redmine-rules-1/) - タスクの見える化 - 何ができたらクローズするか明確化しておくべきでは - 必ずしも解決できなくても、終了条件は必要 - 要件定義が曖昧になっちゃう→閉じられない - GTDにおいて「複数のステップが必要な場合には、「望む結果」を明らかにします。」 - [GTDの5ステップの1つ「見極める(処理する)」について、詳しく解説します!│タスク管理大全](https://task-management-compilation.com/gtd_clarify/) - GTDとはデビット・アレン氏の提唱するタスク管理方法 [全面改訂版 はじめてのGTD ストレスフリーの整理術 | デビッド・アレン](https://www.amazon.co.jp/dp/4576151878/) - 類似案件のない案件で、見積もりはどうしていますか - ステップ数が見えていればある程度出せます - 「やってみて調査しないと分かりません」 - まず「調査」というタスクが発生します - 要件定義を学ぶなら、この本一択だと思います。   - [ソフトウェア要求 第3版](https://www.nikkeibp.co.jp/atclpubmkt/book/14/P98390/) ## Macを買いました - 8年前のノートPC から Mac に乗り換えた - M1で晴れてIntel Freeになりました! - Intel入ってない - x86が独特すぎる - PowerPC/Mipsほどではないが、M1の方が素直。 - CPUに限らずアーキテクチャは汚いほうがよく売れる、流行る - Bluetoothとか? - USBとか? - SGMLやXMLは流行りませんでした - SGML綺麗なんですか? - HTMLはシンプルなので流行った - [Worse is better](https://en.wikipedia.org/wiki/Worse_is_better) の法則 - 使い勝手や見た目はひどいですが、やはり本物のUnixはよいですね。 - 「本物のUnix」とは? -> 仮想化とかでなくネイティブで動く、Forkはやい - BSD系なのでGNUなれしているとコマンドのオプションとかにひっかかる - それはGNUが悪い - なんでオプションの付け方をあれこれ作ってしまうのか、例えばDOSとか - DOSが邪悪なのは常識だったのでは - なぜもっと早くPowerShell出さなかったのか - 独自ビルドのvim使ってます - Windowsは環境構築も絡んで、結局できませんでした - 端末(ターミナル)中心に戻って、情熱が微妙に戻って来ました。 ## GitHubのIssueを英語で書く - 題名からずれますが、GithubのIssue書くための英語を効率的に学ぶ、または、必要な表現がまとまっている情報源などありますか? - 単語レベルの問題なら - [すごくしょぼくてすみませんが](https://github.com/fu7mu4/git_message_template_for_japanese) - [GitHubで使われている実用英語コメント集](https://qiita.com/shikichee/items/a5f922a3ef3aa58a1839) - こんな例文はどうでしょうか ``` The Doc says as below about 'loclist', element of return value of getwininfo(). > getwininfo([{winid}]) > ... > loclist 1 if showing a location list > quickfix 1 if quickfix or location list window > ... However, actually 'loclist' indicates whether the window is locationlist or not, as 'quickfix' do. ``` - たぶん伝わると思います - 実際の動作 = actual behaviour などと書いたりします。 - 実際のコード、スクリーンショットも併用するとよい - Issueのテンプレートとかリポジトリで用意されてるので、英文の参考になる - [DeepL](https://www.deepl.com/ja/translator)が便利です。 - DeepLにいれる日本語には、主語や述語を省略せずに短い文にしましょう - 英文を逐次訳したような「硬い日本語」の方が綺麗な英文が出ます - [Grammarly](https://www.grammarly.com/) 校正 - 英語のIssueでやりとりをしても、上達したかは分からない - 伝わってるんだからそれでヨシ? - 相手だって英語ネイティブじゃなかったりする - プログラマの第一言語は英語です ## ブロックチェーン開発された方っていますか * 会社でビットコインにハマッている人から[Symbol](https://docs.symbolplatform.com/ja/#)で何か作れるのか?のお題が出ました * NEMベース * 老人向けのジョブサイトをサンプルターゲットで思いついたのでスタート * 単純にサーバーを立てて、APIを叩けば良いかと思いましたが泥沼にハマッております。 * BootStrapが用意してあって簡単にいきそうに見えるが… * ドキュメントがひどい * ユーザという概念がない * ユーザ=public key/private keyの組み合わせ * 仮想通貨に相当する「Mosaic」をやり取りする時に、鍵で署名すると情報が登録され、ユーザー情報代わりになります。 * Mosaicのやり取りを実際に行わないと”ユーザー情報”が登録されることはない * 作成される情報がWebAuthと似通っているので、恐らく相互利用が出来そう * Private系環境とPublic系環境の区別 * ブロックチェーンへの書き込み要求(トランザクション)に簡易とDEEPがある * 簡易はPrivateで実行すると標準でこっちに * DEEPはPublicへのトランザクション要求では必須になる * このため、チュートリアルの開発環境で開発するとブロックチェーンになっていない... * Public環境に書けないとブロックチェーンとして成立しない? * Private環境にすべて自前で構築しないといけない? * public環境を使う場合、トランザクションを一回投げるごとにNEMで手数料を払う必要がある * CliとSDKで結果が違う * ユーザー情報を取得した場合、Cliだとユーザー情報とMosaic情報が一緒に返ってきます * SDKで実行すると、ユーザー情報とシリアライズされたMosaic情報が返ってきて、そのままでは使えなくなります。 * シリアライズされた情報が、ブロックチェーンの高さ情報になっているので、そこから情報を引っ張れるAPIが存在している可能性があります。 * この楽しみを味わいませんか? * [日本暗号通貨ユーザ会](https://cryptocurrency.connpass.com/) * [LINE Blockchain Developers](https://blockchain.line.biz/#/) * [Hyperledger fabric で始めるブロックチェーンアプリケーション (1/3) - Qiita](https://qiita.com/tatsurou313/items/ca124beb9d9e06cceb77) ## Debianのnginxが古すぎてツラい(Shizuki) * Debianコンテナでnginx走らそうとしたら、バージョン古い! * buster:1.14 -> bullseye:1.18 * でも[turnkey linux](https://www.turnkeylinux.org/)ならngnx乗ってるコンテナあって楽でいいですね * turnkey linux は debian base のLinux にサービスをのせた状態で配布している * [Proxmox](https://www.proxmox.com/en/)からだと「テンプレート」選んでRUNで済む * [TURNKEY LINUX - アプライアンス型クラウド連携ディストリビューションで高速サービス開発](http://netbuffalo.doorblog.jp/archives/4499180.html) * [turnkey linux - distro watch](https://distrowatch.com/table.php?distribution=TurnKey) * [nginxのturnkey linux](https://www.turnkeylinux.org/nginx-php-fastcgi) * [wordpressのturnkey linux](https://www.turnkeylinux.org/wordpress) * [AWS Marketplace](https://aws.amazon.com/marketplace/seller-profile?id=a05a357b-083b-4613-9992-d3c232c045a1)でも利用可能 * Docker ではなく LXC * すぐつかえるのがウリ * ブラウザからイメージを選んでAWSに好きなコンテナをRUNできるよ * [proxmox](https://www.proxmox.com/en/proxmox-ve) で vm をたてたら遅くて代替として コンテナにした。 * コンテナは起動早い * IPアドレスも選べて便利 ## 雑談ネタ:みなさんが最近したコントリビューションは何ですか?(fu7mu4) - ふじわら: [Pandocユーザーズガイド](https://pandoc-doc-ja.readthedocs.io/ja/latest/users-guide.html)の旧版リンク(2011年ぐらいのやつ)から新版リンクへリダイレクトさせるようにした - [「Pandoc ユーザーズガイド 日本語版」を残す理由はあるのでしょうか? · Issue #10 · pandoc-jp/pandoc-doc-ja](https://github.com/pandoc-jp/pandoc-doc-ja/issues/10) - [GItHub Pagesから他サイトへのリダイレクト設定をページ毎に行う (jekyll-redirect-from使用) - Qiita](https://qiita.com/ma2shita/items/d197d4dc6680547f04ba) - SPDXのLicenseリストに書かれていた URL を更新 ## 雑談ネタ:あたらしいプログラミング言語やフレームワークにチャレンジした? (fu7mu4) - Go, Rust, JavaScriptを始めました。(田窪) - gRPCを触ってみたく、相性の良さそうなGoを触ってみるなどした(hirossan4049) - 少し前に、メールサーバーのDNSにdmarc入れてみました(さとう)