--- title: 姫路IT勉強会 2023.01 langs: ja-jp --- 姫路IT系勉強会 2023.01 ======================= * 開催日: 2023/01/21 13:15 * 司会: wateさん * 参加人数: 参加者: ???名 (うち学生:0名) * HackMD: <https://hackmd.io/XrHGIYbyQhOFLEVWN4ouGA?both> * connpass: <https://histudy.connpass.com/event/271118/> * ハッシュタグ:[#histudy](https://twitter.com/search?q=%23histudy&src=typd) * [姫路IT系勉強会 Discordへ参加する](https://discord.gg/rZCeScB) * **オンライン開催の場合はDiscordのボイスチャットを利用しています** * Discordは無料プランに乗れる人数(10人以内)なので使っています。 * 有料版でも$15/月程度なら払えなくもないですね。 * Discord以外にも色々ありますので、人数が増えたら検討しましょう。 * [姫路IT系勉強会 Slackへ参加する](https://join.slack.com/t/histudy/shared_invite/zt-ugowinom-ZG0ORhstkrqQGVyjksr_OA) * 勉強会当日以外での質疑応答やメンバー同士のコミュニケーションに利用しています * Slackでの話の流れから、突発的に臨時イベントが企画されされるケースがあります 最近のニュース ----------------- * [姫路IT系勉強会](https://histudy.jp/) * [2022年8月の「LastPass」ハッキング被害、顧客データも盗まれていた ~当初想定より深刻](https://forest.watch.impress.co.jp/docs/news/1466351.html) * [第743回Ubuntuの標準ブートローダーであるGRUBを改めて見直す gihyo.jp](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0743)がマニアックでよかった * [Debian Bug report logs - #1027108 RM: python2.7 -- RoQA; Obsolete](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1027108) Debian 11(bullseye) からpython2系パッケージが削除された。 * [Cockie Clicker RTA in Japan Winter 2022](https://www.youtube.com/watch?v=NL-7gicQa9c) が開催される * [Mozc UT Dictionary は公開を終了しました。](http://linuxplayers.g1.xrea.com/mozc-ut.html) * [Mozcdic-UT (Mozc-UT)が終わった話と、代替品を開発してる話](https://chienomi.org/articles/linux/202301-mozcdic-ut-mozcdict-ext.html) * よし、みんな SKK だ! * 昔、Primeというのがありました。これを書き直したい * https://ja.osdn.net/projects/prime/ * [CircleCI セキュリティアラート: CircleCI 内に保存されているシークレットのローテーションをお願いいたします](https://circleci.com/ja/blog/january-4-2023-security-alert/) * [Electronライクな新フレームワーク「Gluon」登場。Chromium内蔵せずWebブラウザを利用、Node.jsだけでなくDenoとBunにも対応](https://www.publickey1.jp/blog/23/electrongluonchromiumwebnodejsdenobun.html) * Chromium を内蔵する Electron だと ffmpeg も配布しなくちゃいけなくなってライセンス上めんどくさくなるけど、Gluon だとOK 自己紹介 --------------- * 変ジニアの集まりです!(キモい) お題 --------------- ここの下にお題(相談したいこと、発表したいことなどなんでも)お書きください。 ※ 記載するお題は参加者一人につき1つだけ記載するようにお願いします。 ※`### <ネタ>+(名前)`の形式でお題を記載してください。 ### お題をここに書く(名前を書く) (概要や背景などをここに書く) ### 雑談ネタ:みんなのIT書き初め(fu7mu4) * みなさんが新年があけてから書いたプログラムや設計・構築したシステムなどを紹介してください。 #### fu7mu4 * [Emacs](https://www.gnu.org/software/emacs/) の設定ファイル(.emacs.el)の整理 * emacs のバージョン毎にわけて書いている。 * Emacs 29 からは emacs lisp が libgccjitで [ネィティブコンパイル](https://blog.tomoya.dev/posts/hello-native-comp-emacs/)できるようになった * ちょっと早くなる。 * macOSの場合だけかもしれないが、ネィティブコンパイルの emacs lispが OSアップグレードなどでたまに壊れる #### nogajun * 学生の書いたPythonファイルを見てました… * 学生は自由にかくからサポートしていた。 * VSCodeの設定をガチガチにしたい。 * lint設定も指定していたが忘れてられてる。 * 学生は穴をうまくついてくる。 #### ワテ * [Vagrant](https://www.vagrantup.com/)と[devcontainer](https://code.visualstudio.com/docs/devcontainers/containers)の両方に対応できるようにローカル開発環境構築用のテンプレートを作り直しました * ただし、各環境を適時切り替えて併用するという運用は想定していない (一方の環境を選んだらそれを使い続けるという運用を想定) * https://github.com/wate/lde * サーバーの運用保守レポートの生成処理を自動化してました * [osv-scanner](https://github.com/google/osv-scanner) * package.jsonなどのパッケージの情報がかかれているファイルの情報を読み、脆弱性があるかどうかをDBに問合せ、JSONで出してくれる * 最低限。 * [Multi Stage Build](https://docs.docker.jp/develop/develop-images/multistage-build.html)別のコンテナでビルドされた特定のバイナリのみを持ってくる技術 * バイナリのベージョンを変えやすい * 構成変更の柔軟性、ビルド時間短縮、イメージサイズの縮小、などのメリットあり * Dockerファイルがアホほど増えるので、管理問題は絶対に出てくる * デザイナーなどを相手にしているので、イメージをひとつで、中身を書きかえるようにしている。 * [Docker Desktop](https://www.docker.com/products/docker-desktop/)でイメージを複数使用していると使わないイメージがたまってしまう問題がある。 * 便利コマンドの紹介 * [mycli](https://www.mycli.net/) * MySQL のテーブル名なども補完してくれるもの。 * PostgreSQL用もあったはず。[pgcli](https://www.pgcli.com/) * Oracle用ないの? * [d2](https://d2lang.com/tour/intro/) * pre-commit * 日本語の表記ゆれなどを[textlint](https://github.com/textlint/textlint)でそろえたい * 日本語変換の問題もある #### もりや * ハーモニープロジェクトに着手 * [音姫](https://www.amazon.co.jp/TOTO-%E3%83%88%E3%83%BC%E3%83%88%E3%83%BC-YES400DR-TOTO%E3%80%90%E9%9F%B3%E5%A7%AB%E3%80%91%E3%83%88%E3%82%A4%E3%83%AC%E7%94%A8%E6%93%AC%E9%9F%B3%E8%A3%85%E7%BD%AE-%E3%83%88%E3%82%A4%E3%83%AC/dp/B007Q91WZ0)さんはよくない! * 最終的に手洗い場でアンコール合唱!! * 音楽ファイルを0.2秒毎に分離し、[MFCC(メル周波数ケプストラム係数;Mel-Frequency Cepstrum Coefficients)](https://aidiary.hatenablog.com/entry/20120225/1330179868)に変換 * ランダムなサウンドとの一致にAIを使った方が早いか * 統計解析のほうが早いか * 統計解析を使用し、プレ変換で音楽ファイルをIndex化するのが最速とかの検証してました #### 妖介 * 営業職なのでプログラムは書いてません…… * Windows+[rclone](https://rclone.org/)でオブジェクトストレージにバックアップとるスクリプト書いたりはしました * rcloneはサーバーのバックアップにも使える * [S3](https://aws.amazon.com/jp/s3/)で新規アップロードとダウンロードしかできないようにすればいい * さくらインターネットのオブジェクトストレージでライフサイクルできる? * 自動ではできない。手動で削除などを行う必要がある。 * ログローテートの設定変更をどうするか。 * Web Accessなどのログを解析する[goaccess](https://goaccess.io/)にいれたい。 * ネタにあるSSGのastroセットアップするのにWSLを本格的に使い始めました * [ubuntu](https://www.ubuntulinux.jp/) 20.04のnode.jsで動かなかったのでちょっとハマりました * deb パッケージをつかった?→YES * ソースですることはできる。 * 結局 nvm でやった * WSL2 は便利! * WSL2 登場後、新しいPC は Windowsを使うことが増えた。 #### hirossan4049 * dotfilesを少しだけ整理した * https://github.com/hirossan4049/config * [i3](https://i3wm.org/) : デスクトップ環境か.... * Slackのステータスに[Spotify](https://open.spotify.com/)で再生中の曲を表示できる何かをdenoで作った * https://github.com/hirossan4049/slack_spotify_status * 結局使ってない * [deno](https://deno.land/)の恩恵はあまり感じられなかった。 * ラズパイ使ってUSBシリアルで受信したデータをGCP(Cloud Logging)に吐くなにかを作ったり * スマフォアプリと[BLE](https://ja.wikipedia.org/wiki/Bluetooth_Low_Energy)で通信していて、ハードウェアのモニタリングのログをとってる。 * エアロバイクを買ったのでデータとれるといいなとは考えている。 * 自転車の車速パルスみたいな * フィットケア、フィットボクシングの情報をとって加工してヘルスケアにいれたい..というのはある。 * スクショから数字を読む??どうする? OpenCV? * [Tesseract+PyOCRで簡易OCRを試してみる](https://qiita.com/nabechi6011/items/3a367ca94dbd208efcc7) がいいかもしれない * 話題とは違うが、[Playwright](https://github.com/microsoft/playwright) でサイトのデグレチェックができると嬉しい。 * テストコードを書く費用がだせない顧客用 ### コーディングをいい感じに出来ないものか?(小ネタです(もりや) * 自作プロジェクトや、ライブラリを書いてるときは良いですが、間が開くと何書いたか忘れる * 極力READMEにコード例を残し、コメント、メソッドの単純化でコード補完時に何となく分かるようにはしている * それでも、1000行くらいのライブラリ、数年間イジっている場合 * publicなメソッドが補完時に溢れる * お前はどれから呼んだら良いねん、になる * インスタンスを小規模に返す事で、呼び出せるpublicメソッドを制限 * 物凄いファイルが増える * ジェネリクスでいい感じに出来ないものか * Typescriptでは型情報で判別するコードが書けない * Javascriptに型がないのでビルドすると消える * 最近流行りのフルファンクションで書いたら * フルファンクション=クラスを書かないスタイル * 命名規則地獄にハマる予感が凄い * 解決策 * [Rust言語](https://www.rust-lang.org/ja)にいく、JavaScriptやTypeScriptをやめる * TypeScriptのコミュニティやMicrosoftに相談する * ドキュメントに書く? * 候補を提案するツール([LSP](https://en.wikipedia.org/wiki/Language_Server_Protocol)?)を自作をカスタマイズを行なう ### みんなー!オラにイケてるSSGをおしえてくれー!(妖介) * 会社でS3+[CloudFront](https://aws.amazon.com/jp/cloudfront/)みたいな構成を記事にする計画があります * Web系の人に刺さる記事にしたいので、[SSG(Static Site Generator)](https://en.wikipedia.org/wiki/Static_site_generator)から吐き出したコンテンツをrcloneとかでデプロイしたい * Github ActionsまでいくとWeb系の人に刺さらないのでは感があります * そこでWeb系の人に刺さるSSGを例に使いたい!!けど普段触らないのでイケてるのを教えてください * とりあえず今は[astro](https://astro.build/)を触り始めてます * [astro](https://astro.build/), [nextjs](https://nextjs.org/), [nuxtjs](https://nuxtjs.org/ja/)がある [react](https://ja.reactjs.org/) がベースになっているかどうかなどが異なる。 #### Astro * 一番アーキテクチャあってる * 記法も簡単でいい。 * nextjsや nuxtjs は本来動的サイト用のツールだったのを静的にしているだけじゃない? * 日本語の公式ドキュメントがほしい...チュートリアルの一部が日本語になっていない。 * コントリビューションしてあげてください! * 全然関係ないけどAstroというと、こちらの[Astro](https://www.youtube.com/watch?v=5huBq36OLDs)が出てくる #### nuxtjs * reactというか[Vue](https://jp.vuejs.org/index.html)の方が人気がある * Vue は ドキュメントが日本語。 ### 最強のArduino開発環境をつくりたい(小ネタ hirossan4049) - [ArduinoIDE](https://www.arduino.cc/en/software)が使いにくい - 補完がすぐ効かなくなる/微妙すぎる - エラーがわかりにくい - [VSCode](https://code.visualstudio.com/)/[Codium](https://vscodium.com/)で編集してArduinoIDEでビルド&転送を繰り返している - VSCodiumで`Ctrl+R`でarduino-cliコマンドを使ってビルド&転送できるようにしたりしてたが、USBシリアルデバイスの切り替えとかがめんどくさすぎてやめた - VSCode + [ESP-IDF](https://github.com/espressif/vscode-esp-idf-extension)でいい気がしてきた - 解決 - 参考:[ESP-IDF Visual Studio Code Extension を使ってみる(インストールから初期設定)](https://labo.mycabin.net/electronics/esp-idf-esp32/839/) - VSCodeすげぇ。 ### 「Webアプリ開発」の授業が無事終わりました(nogajun) * 文系学生(知識なし)にかんたんなWebアプリを作らせる「Webアプリ開発」の授業が終わりました * Pythonの[Flask](https://flask.palletsprojects.com/en/2.2.x/)フレームワークと画面は[bootstrap](https://getbootstrap.jp/)、データベースはSQLを使わないjsonバックエンドの[TinyDB](https://tinydb.readthedocs.io/en/latest/)でかんたんな掲示板みたいなものをやりました * 意外と好評だった。 * ビジュアルからはいるのがよかった。 * ロジックは後回し * さぼる学生はいなかった * ゆるい書き方に書き直したりした。 * 開発環境はVS CodeとDevContainerで全員統一できて、そこはよかった * どうなるかと思ったけど、意外といい感じに落ち着いた感じ * 最後「自分のアプリを作れ」という課題にしようと思ったけどやっぱり無理でした * なので「授業で作ったアプリを改造しろ」にしたけれど、かなり四苦八苦してた様子。 * 「いいねボタンを付けたい」という学生がいたけれど、[ajax](https://developer.mozilla.org/ja/docs/Web/Guide/AJAX)を使うことが学生自身でわかって終わりました * 学びの成果ができている * おかしいときはF12で調べられる! * とりあえず、全員、「Webアプリは、さまざまな技術の組み合わせ」というのが理解できたので、よかったよかった * 教育として成功したようだ。 * ドキュメントは書きすぎない。 * エンジニアは書きすぎるのであとで削ること。 * 説明動画は、いる。 * 画面の操作を説明するときはやはりスクリーンキャストなどが必要。 * Google 拡張の[素晴らしいスクリーンショットとスクリーンレコーダー](https://chrome.google.com/webstore/detail/awesome-screenshot-and-sc/nlipoenfbbikpbjkfpfillcgkoblgpmj?hl=ja) * [ScreenPresso](https://www.screenpresso.com/ja/) * 有料 * スクリーンショットに注釈が入れられる+保存後でもアンドゥ・修正などができる ### Android が RISC-V の対応についての雑談 (fu7mu4) * [AOSP(Android Open Source Project)](https://source.android.com/) が [ARM](https://www.arm.com/ja/architecture) と [RISC-V](https://riscv.org/japan/) の両対応になるとの情報がきていた * [RISC-V向けAndroidが本格化、ARMと同等の扱いに](https://gihyo.jp/article/2023/01/android-weekly-topics-230119) * アプリのJava/[Kotlin](https://kotlinlang.org/)はそのままでいけるらしい。 * AOSPの下回りだけ RISC-V に対応すればよい。 * つまりデバイスやLinux Kernelに手をいれる場合は大変になる * スマフォアプリはそのまま移行できるが? RISC-Vスマフォは登場する? * 車載環境などもどうなるのか。 * Googleは[Fuchsia](https://fuchsia.dev/)という独自OSが出てるけど、それとの関係はどうなる? * Fuchsia は Nest Hub で採用されている。 * [Googleの“第三のOS”「Fuchsia」、初代「Nest Hub」へ](https://www.itmedia.co.jp/news/articles/2105/26/news054.html) * 中国では INTELへのアクセスが制限されたので、国をあげて RISC-V に向かっている。今後 RISC-V があつくなる? * 中国のOSはLinuxベースの[UOS](https://www.chinauos.com/)や[OpenKylin](https://www.openkylin.top/)など作ってる * RISC-V は熱に耐えられる? 性能はあげられても熱の問題があるのでは? * データの流しこむスピートなども問題がある。 * GPU->CPUに流しこむスピードなども特許ではばまれている。 * [Raspberry PI](https://www.raspberrypi.com/)の値段が高騰しているが、RISC-Vで作成すれば安くなる? * RISC-V 単独で製品でないかもしれない。 * INTELの一部の機能をRISC-Vでサポートするような構成があるかもしれない。RISC-Vで全体ではない。 * RISC-V関連ニュース * [RISC-Vへの移行の流れは止まらない、「2024年にはArmを超える」](https://monoist.itmedia.co.jp/mn/articles/2212/27/news069.html) * [RISC-Vブームが加速する中国、すでに10億個以上のチップを出荷](https://gihyo.jp/dev/serial/01/china-oss-frontline/0008) 告知 --------------- * [もりやさんのYoutubeチャンネル](https://www.youtube.com/channel/UCHOifEqw1ArnLeWPF8Dkwgg) * いつか動画が公開されるかも ### イベント名(開催日時) (イベントの概要をここに書く)