--- title: 姫路IT勉強会 2023.04 langs: ja-jp --- 姫路IT系勉強会 2023.04 ======================= * 開催日: 2023/04/15 13:15 * 司会: wateさん * 参加人数: 参加者: ???名 (うち学生:0名) * HackMD: <https://hackmd.io/PGldHbiJR3eqx0NbFYPYkw?both> * connpass: <https://histudy.connpass.com/event/279753/> * ハッシュタグ:[#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/) * [curlは3/20で25周年! ありがとうcurl](https://daniel.haxx.se/blog/2023/03/20/twenty-five-years-of-curl/) * [「PHS」、本日31日で終了――旧DDIポケットから今を知るキーパーソン、ソフトバンク寺尾氏に聞くその足跡と意義](https://k-tai.watch.impress.co.jp/docs/interview/1489495.html) * [Dockerが「Free Team」プランの廃止を撤回](https://forest.watch.impress.co.jp/docs/news/1489392.html) * [恒例のエイプリルフールまとめ](https://www.famitsu.com/news/202304/01298130.html) * [qualcom の codeauroraは3/31に終了しました](https://bye.codeaurora.org/) 自己紹介 --------------- * 変ジニアの集まりです!(キモい) お題 --------------- ここの下にお題(相談したいこと、発表したいことなどなんでも)お書きください。 ※ 記載するお題は参加者一人につき1つだけ記載するようにお願いします。 ※`### <ネタ>+(名前)`の形式でお題を記載してください。 ### お題をここに書く(名前を書く) (概要や背景などをここに書く) ### Rails使っているアプリケーションのローカルビルドを試している話 (ながせ(sanak)) * [Redmine](https://redmine.jp/)のUIがイケてないという良くある話 * https://twitter.com/kis/status/1633389609588785154 * > 「これまでだとRedmineがそれ(Backlogとか)のOSS版的立ち位置でしたが、さすがにイマドキあのUIはないなぁ、と」 > ですよねー > この増田は有能。 >> [VPSや自宅サーバーにインストールしたいSaaS代替Webアプリ38選](https://anond.hatelabo.jp/20230126104427) * テーマでなんとかするのでは? * Redmine以外の他のアプリはどうなんだろう? * その他、以下のサイトなども参考に * [「良くも悪くもすごく割り切っているフレームワーク」 “ルールに従えば使いやすい”Railsのいいところ、つらいところ - ログミーTech](https://logmi.jp/tech/articles/326565) * イマドキ[Rails](https://rubyonrails.org/)使うの?という声がある。 * Railsの例として、GitLab, Redmineがある。 * GitHubのWebも Railsらしいですよ? * [GitLab](https://about.gitlab.com/) * 依存ライブラリが多いが、GitLab社の開発者の8割以上だったかが使っているmacOS環境で[Docker](https://www.docker.com/)が遅いらしく、[GDK(GitLab Development Kit)](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/index.md)というビルドシステムが使われている * セットアップスクリプトの中でいろいろダウンロードしたりするらしい * これまで使っていた[rbenv](https://github.com/rbenv/rbenv)+[nvm](https://github.com/nvm-sh/nvm)環境を、[asdf](https://asdf-vm.com/)に切り替え、起動までは確認 * asdf は ruby, golang .... などをあわせて使っているらしい。 * [asdf - Another System Definition Facility](https://asdf.common-lisp.dev/)ではない * GitLabやGitHubのユーザーの活動を可視化する例の草をはやす機能がRedmineにも欲しい! * GitLab から Redmineに移植したい。 * [Mastodon](https://joinmastodon.org/) * [VSCode DevContainer](https://code.visualstudio.com/docs/devcontainers/containers)環境を使えば、起動までさくっとできる * 調査中 * 余談: Mastodonフロントエンドの[Elk](https://elk.zone/)([GitHub](https://github.com/elk-zone/elk))がすごく使い勝手が良いし[技術的にも面白い](https://github.com/elk-zone/elk#-stack) * [OpenProject](https://www.openproject.org/) * Redmineから(おそらくかなり初期に)フォークしたもの * https://github.com/opf/openproject * フロントエンドは、Angular.js * Rails だと フロントエンドとバックエンドが密結合になりがちらしい。 * Redmineが古臭いのはいいとしてなぜ更新しないのだろうか? * オリジナルの作者はとくに Redmineから収入があるわけではない * Redmineをサポートしている会社もあるけれどもUIの更新は進んでいない * ユーザーは重視されていないような... * すでに使っているユーザーが変化を望んでいない場合がある * コミュニティの中の問題 * メンテナンスの人の問題かなぁ。 * Redmineは[Subversion](https://subversion.apache.org/)でソースコードを管理しているらしい * Subversionの管理については、記録を残してGitの移行は大変なので、そのままになっているのかもしれない * 近代化は進んでいない * コミュニティに提案して改善していくしかないが大変 * このままだとRedmineを使わずに、別のものを選ぶことになる。 * フォークしよ! * 標準テーマが十分よければ、独自テーマはいらないのかな。 * コア開発者が最近の開発についていけてない可能性もある。 * Ruby開発者はなにもかもをRubyに寄せようとしているような雰囲気 * [Admin LTE](https://adminlte.io/) とかあるんだが * 大変じゃないくて新しいのに対応したくないのではないだろうか? * [【Rails】AdminLTEを用いて管理画面機能を搭載 - qiita](https://qiita.com/mmaumtjgj/items/9ee5da80202c3bc3be75) * こういうのの導入には、時間のある若者が大鉈をふるうなど必要なんだけど、現在の開発者に求めるのは酷かなぁ * 新しいメンバーがはいってくるかどうかは運でしかない。 * ドキュメントが整備されていないので、厳しい * OSSコミュニティでよくある問題 * いつか決断するしかない、タイミングによってはプロジェクトがゆるやかな死を迎える * 機能追加などをとめてドキュメントを整備する * 画面などのインターフェースを改善する * バージョン管理をsubversion→gitへ移行する * 移行が厳しい人は[git-svn](https://git-scm.com/docs/git-svn)でも使えば? * 本家のコミュニティに日本コミュニティから提案があってもいい * rubyのRailsコミュニティは健全だと思う * Rails 界隈はコメントがないことが多いので辛い * Javascriptなどにアノテーションがかかれれいない * 最近はコメントがかかれない、傾向にあるのでは? * コメント書かないよね * コメントを後から書き足せばいいんじゃないのかな。 * OSSは自由がある * wateさんの個人の感想 * よいOSSはドキュメントも整備されている:[debian](https://www.debian.or.jp/)など * 余談: rails関係で恐ろしい話。GitHubは毎週railsとrubyをアップデートしてる!😱 * [Hacker News / Building GitHub with Ruby on Rails | Hacker News](https://news.ycombinator.com/item?id=35478884) * [元記事 / Building GitHub with Ruby and Rails | The GitHub Blog](https://github.blog/2023-04-06-building-github-with-ruby-and-rails/) * [GitHubは200万行規模のRailsアプリケーションであり、毎週RailsとRubyを最新版にアップデートし続けている - Publickey]( https://www.publickey1.jp/blog/23/github200railsrailsruby.html) ### nim言語がおもしろそうなのでチャレンジすることにした(fu7mu4) * [nim言語](https://nim-lang.org/)は過疎っているらしいのでやってみることにした。 * nimはコンパイル型言語 * c/javascript に変換できるらしい * 内部で c->バイナリにしているらしい * 私がんばりますね! * 他の人も決意表明すればいいですよ ### serverlessframework typescript lambda(kotoku) * 初の[TypeScript](https://www.typescriptlang.org/)が難しいのか行き詰まりつつも、楽しく仕事してます。typescriptか[terraform](https://www.terraform.io/)かserverlessframeworkのこと! * typescriptどうですか? * [CDK for terraform](https://developer.hashicorp.com/terraform/cdktf) : terraformは宣言的に書くしかなくて辛いところをtypescriptなどで書ける。 * Terraform は 書き方が独自すぎて配列の範囲を変更するなどでも辛い。 * JavaScriptは型がなくて辛いというのがわかる * 型レベルで判定できるので楽 * typescriptが使えるようになれば、[Lambda](https://aws.amazon.com/jp/lambda/)もTypeScriptで書きたくなると思う。 * pythonもサーバー側にいれておけば、シェルスクリプトの代りにするとかもできます。 * シェルスクリプトは Linuxでしか使えないから pythonの方がいいのでは。(暴言) * [git-bash](https://gitforwindows.org/)くん「…」 * [POSIX に限定したらいけるんじゃない](http://posixism.org/)かな.. * typescript等で困ったら相談してもらってかまわない。 * [AIがコーディングしてくれる「Amazon CodeWhisperer」正式投入。GitHub Copilotに対抗、個人利用は無料 | テクノエッジ TechnoEdge](https://www.techno-edge.net/article/2023/04/15/1163.html) * [HTML](https://developer.mozilla.org/ja/docs/Web/HTML)は言語だって!! * ド三流ですが二流になった気分です!! * 一流になれるよう頑張ります! ### 子供向けノートパソコンってどんなのがありますか?(kotoku) * 半年後の話なんですけど、4歳の子供に誕生日プレゼントでノートパソコン買ってあげたい。4歳にあったノートパソコンとは、、、w * 制限をかけやすいので中古ノートにLinuxを入れるのがいいと思います * [子どもにLinuxを使わせるべき10の理由 - ZDNET Japan]( https://japan.zdnet.com/article/20418115/) * 物理的に壊れても大丈夫なように中古でよい。 * Windowsは厳しい * [ChromeBook](https://www.google.com/intl/ja_jp/chromebook/chrome-os/) もいいかもしれない。小学校によっては授業で使うことがあるかも * [raspberry piならキーボードつきのもの](https://www.switch-science.com/products/6750)を * ゲームを作る...? * [ブラウザでぷよぷよ](https://puyo.sega.jp/program_2020/)を組むとか? * 昔は[こういう](https://archive.org/details/BASIC19883)のをやってたんですよね…。BASICのリストをひたすら打ち込んでました * [スクラッチ](https://scratch.mit.edu/)できるはず ### WindowsRPAツールのリサーチ(ヒカル) * 背景:エンタープライズ系Windowsデスクトップアプリの設定数が多いため、設定を自動化したい。(100項目以上の設定を手作業したら数時間かかり吐きそうになりました) * ツール候補:[PyAutoGui](https://pyautogui.readthedocs.io/en/latest/)、[Appium](https://appium.io/)、[Power Automate Desktop](https://www.microsoft.com/ja-jp/biz/smb/column-power-automate-desktop.aspx) * [Ansible](https://www.ansible.com/)でできないか? * windows標準じゃなく、ベンダーが作成したものであるので、対応していない。 * ベンダー作成したアプリなどであるため、保守契約・サポートなどはない * Power Automate Desktop は? * Microsoftのアカウントなどが必要 * Power Automate Desktopだったら、とりあえず数年後も使えるんじゃないか。 * [PowerShell](https://learn.microsoft.com/ja-jp/powershell/)で[GUIのキーボードが押せる](https://learn.microsoft.com/ja-jp/previous-versions/windows/scripting/cc364423(v=msdn.10)?redirectedfrom=MSDN)ので、それでしている人も多いみたい * Linux でも PowerShell動くし * SCCM(System Center Configuration Manager)で構成管理どうでしょ * アプリの設定までできるのでしょうか? * [Configuration Manager](https://learn.microsoft.com/ja-jp/mem/configmgr/core/understand/introduction) でしょうか? * Sysprepなんかも? * [Sysprep](https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/sysprep--system-preparation--overview?view=windows-11) * 設定後にWindows自体をバックアップしたら? * [失敗談:AnsibleでWindowsをPyAutoGUIできなかった - 川獺の外部記憶](https://kawauso-lab.hatenablog.jp/entry/2020/06/13/223351) * インストール、設定前と設定後でレジストリや設定ファイルの差分をとるというのも。 * 最近は`%AppData%`にファイルで保存されたり別の場所にあったりするので探すのは大変。 * 緊急・急ぎなら手動でがんばるというのもありえる * Windowsの自動化はあまりやられていない * 仮想マシンで検証などができるようになったので多少楽にはなった。 * ソフトウェアによってはグローバルにインストールできないことがある。 * 親切なベンダーだと、`インストーラー.exe /?`とかでたまーーーにコンフィグとか教えてくれてたりする * [winget](https://github.com/microsoft/winget-cli)は楽 * アプリのインストーラー、パッケージマネージャー * winget は標準ではいっている。 * Debian/Ubuntuでいうapt * wingetはアンインストールもサポートされた * ただ1回のwingetでインストールできるのは、1アプリケーションのみ * `apt install xxx yyy zzz`みたいに一気にインストールしたい!! * [winget export](https://learn.microsoft.com/ja-jp/windows/package-manager/winget/export)で一覧をjsonに書き出して[import](https://learn.microsoft.com/ja-jp/windows/package-manager/winget/import)で一括インストールできるけど、[MS Store](https://www.microsoft.com/ja-jp/store/b/actofspecifiedcommercialtransactions)のものは対応していない! * なので、バッチのループでインストールも必要… ### いまさらviteおいしいです(かねだ) * [Laravel](https://laravel.com/)10で使ってます * [vite](https://ja.vitejs.dev/)でプロジェクト内のファイルを変更・保存すると、トランスパイル→リロードを自動でやってくれて楽 * [Livewire](https://laravel-livewire.com/)とかいう、なんか気持ち悪い機能と相性がいいらしい * なんか[alpine.js](https://alpinejs.dev/)使ってるらしい * [Bootstrap](https://getbootstrap.jp/)使ってると動かない * PHPのクラスファイルを編集しても変更に追従してくれる。 * JavaScriptの[Webpack](https://webpack.js.org/)のようなもの? * Webpackはアプリが大きくなるとどんどん遅くなる * viteはこの問題を解決したもの * ということは[ocaml](https://ocaml.org/)のビルドシステムの[omake](https://github.com/ocaml-omake/omake)みたいなものですね。わかりました。 * viteの経緯 * https://browsersync.io/ に設定が加わったのが webpack * vite は webpackの後継 * [Viteっておいしいの?](https://hackmd.io/AK9gHK85Qp-_cbx4owYI5Q) というのは過去に本Discordでチャンネルがあった。 * Laravel 9から viteが組込まれた。 * Larabelは新しいものをいれるスタイル * Fedora ? * 追従するのしんどいという声もある * Laravel * Laravel は後ろでごにょごにょしてくれるので、そのあたりを理解していないとうまく使えない。 * 新しいものを使いたいならいいかもしれない。 * Laravel が導入したことをキャッチアップするとPHPの最新状況が把握できるかもしれない。 * Laravel を把握している人がいた方がいい。 * 逆に [CakePHP](https://cakephp.org/jp)は余計なことをしないが、古くさいという印象がある。 * Laravel はサポート期間が短かい気がする。3年 * 仕事でつかうにはサポート期間が短いかもしれない。 * [CentOS](https://www.centos.org/)は10年とかありましたね * 自動車業界だと車は10年以上サポートしないといけないので大変 * 最近は[OTA(OverTheAir)](https://cybersecurity-jp.com/column/47095)といって更新を無線で配信できるようになったから... * 若手は、新しいものをやりたいといっていいと思うが、そのときのデメリットは、説明してあげないといけないのかな。 ### 期限切れのルート証明書で発生した障害(はたの) * あるSaaSでクライアントのログ監視をしていたらある日、ログが送れなくなった。 * 間で[HAPROXY](https://www.haproxy.org/)が動いていた。こいつからのログ送信が止っていた * SaaS側のサーバ証明書更新に伴い、クライアント側のルート証明書でサーバ証明書の検証が出来なくなったことが原因でした。 * SaaS側のサーバ証明書の更新通知はいちいちやってくれませんよね。 * 通常はないのでは? ある方が珍しい。 * 寧ろ管理するのはインフラエンジニア? * Ansibleならこれらの設定を収集してMarkdownで書き出せる * HistudyのRedmineではこれをWikiに記載している * PackageFactモジュールでインストールずみにパッケージをすべて取得している。Fact系のモジュールは便利 * https://docs.ansible.com/ansible/latest/collections/ansible/builtin/package_facts_module.html * https://docs.ansible.com/ansible/latest/collections/ansible/builtin/service_facts_module.html * 運用してますよアピールは重要 * 大規模では向き不向きがある、大規模なら zabbix * そもそもクライアント側のルート証明書の期限は2011年で切れていたのでなぜ今まで通信出来ていたのか謎。 * [jc-tool](https://dev.classmethod.jp/articles/jc-tool/) ### Whisper試してみました(もりや) * OpenAI API経由で[Whisper](https://openai.com/research/whisper)試しています。 * Whisperよりも、音の制御が面倒 * 渡すデータをmp3、分割に[ffmpegのwasm](https://github.com/ffmpegwasm/ffmpeg.wasm)版が便利 * ローカルでTiny版動かすより、API叩いたほうが早い * 誤字脱字は、ChatGPT側に「文字起こしをした文章である」という説明込みで修正をさせると綺麗にまとまります。 * 録音時間ではなく、ファイルサイズ25M上限の記載がありますが * nodejs環境では生成可能なArrayBufferの関係で5分を超えるデータの場合そもそも処理できない場合があります * 文字起こし後の内容をChatGPT側でイジると使い勝手が広がります * 会話を止めるか、続けるかのパラメーターで起こした内容に対する質問に繋げる * 生成させる内容を複数出して、誤字脱字修正のパターンを見る * 音声コマンドを実現させるのは問題が * クルマのカーナビの音声認識につかえないかな。 * オフラインでやりたいがGPUをつかうので厳しい。 * 一方実際、市販車は[Sensory社の音声認識ライブラリ](https://www.grape.co.jp/speech/sensory.html)を購入した。AIではない。 * ロマン駆動開発だからしかたがない * K.I.T.T.は夢、マイケル・ナイトになりたい * [KITTの声で音声案内するナイトライダーのカーナビ](http://newcarnewsblog.blog41.fc2.com/blog-entry-200.html)は2008年にリリースされている * オンラインに繋いで良いなら、[Amazon Transcribe(音声をテキストに自動的に変換する)](https://aws.amazon.com/jp/transcribe/)、JSONに整形してくれます。 * 音声の文字おこしを議事録に利用できないか。 * Yamahaのは音声を流した場合、誰がはなしているかがわかる。Whisper は誰が話しているかがわからない。 * 話の内容がとぶのでそのままはできない。人が手をいれる必要がある。 * [Adobeのpremiere](https://www.adobe.com/jp/products/premiere.html) と Docker Desktopとの相性問題 * Docker Desktopの起動中にAdobeのPremiereでリソースが読めない * フォーラムで報告があがっていたが解決されていない * WindowsならEvent Logを記録してログを報告しないといけない.... * バグ報告にも技術がいる * Redmineでもバグ報告のときにはテンプレートを用意して、全部埋めないと受理しないようにしないといけない * 来月AdobeのPremiereで文字起こしがくるらしい。 ### 大学でプログラム未経験者向けプログラミング授業を始めました (のがじゅん) * いろんな事情でプログラミングの授業を引き継ぐことになりました * 前任の方の授業は、[こんな感じ](https://www.himeji-du.ac.jp/univ/syllabus/refer/10/5/2023_10_111639.html) * 自分は好きだけど文系学生には、やはりとっつきが悪かった * なんで[Google Colab](https://colab.research.google.com/?hl=ja)と[ゼロからのPython入門講座](https://www.python.jp/train/index.html)をベースに授業をすることに * ~~pythonじゃなくてLispにしたら覚える構文が少なくていいんじゃないの?~~ * ブラウザでは動かないでしょ? * ひまわり言語はどうか? * [なでしこ3](https://nadesi.com/doc3/index.php?FrontPage)ならブラウザで動くみたい * 動的型付けで、エラーもある程度だしてくれる言語だから python * ~~Common Lisp...は変数に型がないから~~ * ネストで構文が表現できるのが初心者には説明しやすい。 * わかっている人とわかっていない人では見えるものが違う。 * 一回目はコードをひとつも入力させなかった。 * かなり手前から教える必要があった。 * 今の学生は覚えることが多すぎでは? * はじめての人にはつらい状況 * WEBプログラミングの授業の前に受ける、プログラミングの授業 * 私が大学の頃はできなければ、合格できなかった。 * 今とは時代が違うようです * できない人は落としてもいいんですよ。ただ、世代が変わって前提が少し変わっているから時代に合わせて変える必要があるなと感じました(の) * 意欲があるかどうかも違う。 * 文系の学生は意欲があるけれど方法もわからなかったりした。 * 勉強会にくる人は特別な人で情報収集できるから違う * 初心者のセキュリティガン無視されるのは怖い * セキュリティ無視の怖さがわからない。今の人はわからない。 * 世代を感じる * [フロントエンド開発のためのセキュリティ入門(Amazon)](https://www.amazon.co.jp/%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89%E9%96%8B%E7%99%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E5%85%A5%E9%96%80-%E7%9F%A5%E3%82%89%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%A7%E3%81%AF%E6%B8%88%E3%81%BE%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E8%84%86%E5%BC%B1%E6%80%A7%E5%AF%BE%E7%AD%96%E3%81%AE%E5%BF%85%E9%A0%88%E7%9F%A5%E8%AD%98-%E5%B9%B3%E9%87%8E-%E6%98%8C%E5%A3%AB/dp/4798169471)という本 * [2023年2月にも話題](https://histudy.jp/histudy/2023/02/)にあがった。 * [フロントエンド開発のためのセキュリティ入門(slideshare)](https://speakerdeck.com/masashi/frontend-security) * [フロントエンド開発のためのセキュリティ入門(YouTube)](https://www.youtube.com/live/BKLeEbLK5I0) ### ChatGPTの使い所がやっと見えてきました(ワテ) * [OpenAI API を用いた文書校正(誤字脱字検出)](https://blog.jxck.io/entries/2023-03-24/proofreading-via-openai.html) * 公開ドキュメントの校正に使うとかなり良さそう * わかりやすいドキュメントを書くのにいつも苦労してるから、[ChatGPT][]を日本語のLinter代わりにするといい感じになりそう * コード書くのにAIの補助がほしいなら[ChatGPT][]じゃなく、[GitHub Copilot][]でいいやんって感じがしてる * ただ、まだ[GitHub Copilot][]は使ったことない * 最近はAnsible周りか、RedmineをゴニョゴニョやってるかどっちかなのでAIの出番がない * [ChatGPTのAPI無料枠は期間限定](https://forest.watch.impress.co.jp/docs/serial/yajiuma/1492497.html)でしたーー * Garbage In, Garbage Out * ゴミをいれるとゴミしかでない * チケット駆動開発のチケット整理などを行えさせればいいかもしれな * ChatGPTに「不足していることがあれば、それを報告してください」と加えると、幸せになれる? [ChatGPT]: https://openai.com/blog/chatgpt [GitHub Copilot]: https://github.com/github-copilot/signup 告知 --------------- ### イベント名(開催日時) (イベントの概要をここに書く)