姫路IT系勉強会 2023.01

最近のニュース

自己紹介

  • 変ジニアの集まりです!(キモい)

お題

ここの下にお題(相談したいこと、発表したいことなどなんでも)お書きください。
※ 記載するお題は参加者一人につき1つだけ記載するようにお願いします。
### <ネタ>+(名前)の形式でお題を記載してください。

お題をここに書く(名前を書く)

(概要や背景などをここに書く)

雑談ネタ:みんなのIT書き初め(fu7mu4)

  • みなさんが新年があけてから書いたプログラムや設計・構築したシステムなどを紹介してください。

fu7mu4

  • Emacs の設定ファイル(.Emacs.el)の整理
    • Emacsのバージョン毎にわけて書いている。
    • Emacs 29からはEmacs lispがlibgccjitで ネィティブコンパイルできるようになった
      • ちょっと早くなる。
      • macOSの場合だけかもしれないが、ネィティブコンパイルのEmacs lispがOSアップグレードなどでたまに壊れる

nogajun

  • 学生の書いたPythonファイルを見てました…
    • 学生は自由にかくからサポートしていた。
    • VSCodeの設定をガチガチにしたい。
      • lint設定も指定していたが忘れてられてる。
      • 学生は穴をうまくついてくる。

ワテ

  • Vagrantdevcontainerの両方に対応できるようにローカル開発環境構築用のテンプレートを作り直しました
    • ただし、各環境を適時切り替えて併用するという運用は想定していない (一方の環境を選んだらそれを使い続けるという運用を想定)
    • https://github.com/wate/lde
  • サーバーの運用保守レポートの生成処理を自動化してました
  • osv-scanner
    • package.jsonなどのパッケージの情報がかかれているファイルの情報を読み、脆弱性があるかどうかをDBに問合せ、JSONで出してくれる
    • 最低限。
  • Multi Stage Build別のコンテナでビルドされた特定のバイナリのみを持ってくる技術
    • バイナリのベージョンを変えやすい
    • 構成変更の柔軟性、ビルド時間短縮、イメージサイズの縮小、などのメリットあり
    • Dockerファイルがアホほど増えるので、管理問題は絶対に出てくる
  • デザイナーなどを相手にしているので、イメージをひとつで、中身を書きかえるようにしている。
    • Docker Desktopでイメージを複数使用していると使わないイメージがたまってしまう問題がある。
  • 便利コマンドの紹介
    • mycli
      • MySQLのテーブル名なども補完してくれるもの。
      • PostgreSQL用もあったはず。pgcli
      • Oracle用ないの?
    • d2
    • pre-commit
      • 日本語の表記ゆれなどをtextlintでそろえたい
        • 日本語変換の問題もある

もりや

  • ハーモニープロジェクトに着手
    • 音姫さんはよくない!
    • 最終的に手洗い場でアンコール合唱!!
  • 音楽ファイルを0.2秒毎に分離し、MFCC(メル周波数ケプストラム係数;Mel-Frequency Cepstrum Coefficients)に変換
  • ランダムなサウンドとの一致にAIを使った方が早いか
  • 統計解析のほうが早いか
  • 統計解析を使用し、プレ変換で音楽ファイルをIndex化するのが最速とかの検証してました

妖介

  • 営業職なのでプログラムは書いてません……
    • Windows+rcloneでオブジェクトストレージにバックアップとるスクリプト書いたりはしました
      • rcloneはサーバーのバックアップにも使える
      • S3で新規アップロードとダウンロードしかできないようにすればいい
      • さくらインターネットのオブジェクトストレージでライフサイクルできる?
        • 自動ではできない。手動で削除などを行う必要がある。
        • ログローテートの設定変更をどうするか。
        • Web Accessなどのログを解析するgoaccessにいれたい。
  • ネタにあるSSGのastroセットアップするのにWSLを本格的に使い始めました
    • ubuntu 20.04のNode.jsで動かなかったのでちょっとハマりました
      • debパッケージをつかった?→YES
      • ソースですることはできる。
      • 結局nvmでやった
    • WSL2は便利!
      • WSL2登場後、新しいPCはWindowsを使うことが増えた。

hirossan4049

  • dotfilesを少しだけ整理した
  • SlackのステータスにSpotifyで再生中の曲を表示できる何かをdenoで作った
  • ラズパイ使ってUSBシリアルで受信したデータをGCP(Cloud Logging)に吐くなにかを作ったり
    • スマフォアプリとBLEで通信していて、ハードウェアのモニタリングのログをとってる。
      • エアロバイクを買ったのでデータとれるといいなとは考えている。
        • 自転車の車速パルスみたいな
      • フィットケア、フィットボクシングの情報をとって加工してヘルスケアにいれたい..というのはある。
      • スクショから数字を読む??どうする? OpenCV?
      • Tesseract+PyOCRで簡易OCRを試してみる がいいかもしれない
        • 話題とは違うが、Playwright でサイトのデグレチェックができると嬉しい。
          • テストコードを書く費用がだせない顧客用

コーディングをいい感じに出来ないものか?(小ネタです(もりや)

  • 自作プロジェクトや、ライブラリを書いてるときは良いですが、間が開くと何書いたか忘れる
  • 極力READMEにコード例を残し、コメント、メソッドの単純化でコード補完時に何となく分かるようにはしている
  • それでも、1000行くらいのライブラリ、数年間イジっている場合
    • publicなメソッドが補完時に溢れる
    • お前はどれから呼んだら良いねん、になる
  • インスタンスを小規模に返す事で、呼び出せるpublicメソッドを制限
    • 物凄いファイルが増える
  • ジェネリクスでいい感じに出来ないものか
    • TypeScriptでは型情報で判別するコードが書けない
    • JavaScriptに型がないのでビルドすると消える
  • 最近流行りのフルファンクションで書いたら
    • フルファンクション=クラスを書かないスタイル
    • 命名規則地獄にハマる予感が凄い
  • 解決策
    • Rust言語にいく、JavaScriptやTypeScriptをやめる
    • TypeScriptのコミュニティやMicrosoftに相談する
    • ドキュメントに書く?
    • 候補を提案するツール(LSP?)を自作をカスタマイズを行なう

みんなー!オラにイケてるSSGをおしえてくれー!(妖介)

  • 会社でS3+CloudFrontみたいな構成を記事にする計画があります
  • Web系の人に刺さる記事にしたいので、SSG(Static Site Generator)から吐き出したコンテンツをrcloneとかでデプロイしたい
    • Github ActionsまでいくとWeb系の人に刺さらないのでは感があります
  • そこでWeb系の人に刺さるSSGを例に使いたい!!けど普段触らないのでイケてるのを教えてください
    • とりあえず今はastroを触り始めてます
  • astro, nextjs, nuxtjsがあるreactがベースになっているかどうか。

Astro

  • 一番アーキテクチャあってる
  • 記法も簡単でいい。
  • nextjsやnuxtjsは動的サイトを静的にしているだけじゃない?
  • 日本語の公式ドキュメントがほしい…チュートリアルの一部が日本語になっていない。
    • コントリビューションしてあげてください!
    • 全然関係ないけどAstroというと、こちらのAstroが出てくる

nuxtjs

  • reactというかVueの方が人気がある
  • Vueはドキュメントが日本語。

最強のArduino開発環境をつくりたい(小ネタ hirossan4049)

  • ArduinoIDEが使いにくい
    • 補完がすぐ効かなくなる/微妙すぎる
    • エラーがわかりにくい
  • VSCode/Codiumで編集してArduinoIDEでビルド&転送を繰り返している
  • VSCodiumでCtrl+Rでarduino-cliコマンドを使ってビルド&転送できるようにしたりしてたが、USBシリアルデバイスの切り替えとかがめんどくさすぎてやめた
  • VSCode + ESP-IDFでいい気がしてきた
    • 解決
  • VSCodeすげぇ。

「Webアプリ開発」の授業が無事終わりました(nogajun)

  • 文系学生(知識なし)にかんたんなWebアプリを作らせる「Webアプリ開発」の授業が終わりました
    • PythonのFlaskフレームワークと画面はbootstrap、データベースはSQLを使わないjsonバックエンドのTinyDBでかんたんな掲示板みたいなものをやりました
      • 意外と好評だった。
      • ビジュアルからはいるのがよかった。
        • ロジックは後回し
      • さぼる学生はいなかった
      • ゆるい書き方に書き直したりした。
    • 開発環境はVS CodeとDevContainerで全員統一できて、そこはよかった
    • どうなるかと思ったけど、意外といい感じに落ち着いた感じ
      • 最後「自分のアプリを作れ」という課題にしようと思ったけどやっぱり無理でした
      • なので「授業で作ったアプリを改造しろ」にしたけれど、かなり四苦八苦してた様子。
        • 「いいねボタンを付けたい」という学生がいたけれど、ajaxを使うことが学生自身でわかって終わりました
        • 学びの成果ができている
      • おかしいときはF12で調べられる!
    • とりあえず、全員、「Webアプリは、さまざまな技術の組み合わせ」というのが理解できたので、よかったよかった
  • 教育として成功したようだ。
  • ドキュメントは書きすぎない。

Android が RISC-V の対応についての雑談 (fu7mu4)

  • Android Open Source ProjectがArmとRISC-Vの両対応になるとの情報がきていた
  • アプリのJava/Kotlinはそのままでいけるらしい。
  • AOSPの下回りだけRISC-Vに対応なので
  • GoogleはFuchsiaという独自OSが出てるけど、それとの関係はどうなる?
  • 中国ではINTELへのアクセスが制限されたので、国をあげてRISC-Vに向かっている。今後RISC-Vがあつくなる?
    • 中国のOSはLinuxベースのUOSOpenKylinなど作ってる
  • RISC-Vは熱に耐えられる? 性能はあげられても熱の問題があるのでは?
  • データの流しこむスピートなども問題がある。
  • GPU->CPUに流しこむスピードなども特許ではばまれている。
  • Raspberry PIの値段が高騰しているが、RISC-Vで作成すれば安くなる?
  • RISC-V単独で製品でないかもしれない。
    • INTELの一部の機能をRISC-Vでサポートするような構成があるかもしれない。RISC-Vで全体ではない。

告知

イベント名(開催日時)

(イベントの概要をここに書く)