--- title: 姫路IT勉強会 2024.02 langs: ja-jp --- 姫路IT系勉強会 2024.02 ======================= * 開催日: 2024/02/17 13:15 * 司会: wateさん * 参加人数: 参加者: ???名 (うち学生:0名) * HackMD: <https://hackmd.io//vD9CgEc7RQGzmHyPOEteOA> * connpass: <https://histudy.connpass.com/event/309840/> * ハッシュタグ:[#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/) * [【速報】老舗掲示板サイト「スラド」「OSDN」の閉鎖は取り止めに](https://forest.watch.impress.co.jp/docs/news/1565354.html) * [君のレポジトリを領域展開 - 次世代バージョン管理システム Jujutsu の紹介](https://zenn.dev/zetamatta/books/c1e309aea68960) お題 --------------- ここの下にお題(相談したいこと、発表したいことなどなんでも)お書きください。 ※ 記載するお題は参加者一人につき1つだけ記載するようにお願いします。 ※`### <ネタ>+(名前)`の形式でお題を記載してください。 ### お題をここに書く(名前を書く) (概要や背景などをここに書く) ### [雑談]やっぱり筋肉は全てを解決する? (fu7mu4) * 会社でサーバー(物理)を運んだりして大変だった。 * インフラ担当に筋肉は必要!と痛感しました。 * みなさんの体力維持などになにかしていますか? ### 確定申告終わりましたか?(のがた) * 終わってません!以上! * 政治団体にすれば帳簿未記載でもごめんで許されるらしいので政治団体作ろうか(皮肉 * [裏金さておき納税呼びかけ 首相、16日からの確定申告前に 予算委 | 毎日新聞](https://mainichi.jp/articles/20240214/k00/00m/010/346000c) * 自民党裏金リスト: <http://onyancopon.starfree.jp/uraganejimin/> * 大変ですよね… ### 「セキュリティを高くしたい」とは(哲学)(妖介) * お問い合わせが増えたのは大変ありがたいが「オススメのセキュリティ対策を提案してくれ」と言われることが多いです * 毎回「オススメのセキュリティ対策とは!?」と宇宙猫になります * ネットにつながなければセキュリティリスクをかなり低減できますが… * 誰かがUSBメモリを持ってきて全滅 * WebシステムならとりあえずFW・IDS・WAFあたりを提案してるけど、丸投げしてくる方に運用ができるとはあまり思えない(たぶんアンチウィルス感覚) * どんな提案をしたらいいでしょうか…… * あ、[サイバーセキュリティの教科書](https://book.mynavi.jp/ec/products/detail/id=141365)は買いました(徳丸先生が推薦してた) * [体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践](https://www.amazon.co.jp/dp/4797393165) * 個人情報保護法対策は * WEB系のほうからきっちりやってください * エンジニアのセキュリティ知識のレベル大丈夫? * 裏側のバリデーションなどを理解しているかどうか * セキュリティは総合格闘技だからインフラだけ対策しても意味ないよね * 問題が発生したときにはインフラ側で守るみたいなことをせざるを得ない * 本来は多重防御、アプリケーションンレベルであってインフラ側は最終対応 * エンドユーザーが運用だと認識してもらう * IPAの資料、[セキュリィ実装チェックリスト](https://www.ipa.go.jp/security/vuln/websecurity/ug65p900000196e2-att/000044403.xlsx)をエンドユーザーにみてもらうのがいい。 * 安全なウェブサイトの作り方 | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構: https://www.ipa.go.jp/security/vuln/websecurity/about.html * ランサムウェア対策はどうでしょう。バックアップ戦略など。 * 病院や工場がやられたことがある * サプライチェーン攻撃もありえる * S3 で WORM属性が設定できるのはいい。一回だけ書き込みを許される、書き換えはできない。削除もできないランサムウェア対策にはいい。 * セキュリティわかりませんという方にはまかせない方がいいですよ。 * VPNに閉じこめたら→VPNエンジニアがいない * 以前のPHPの最初の方はセキュリティ意識が高い * 最近の人のセキュリティ意識が低い。 * zenn、qiitaに記事を投稿すると、転職エージェントから応募がくるから投稿する人がいる * Google検索も質が低くなってきた * ChatGPTもたまに嘘を吐くから。 * 便利といえば便利 * 人を選ぶとしかいえない。 * 使える人はどんどん使うので、AIで書くと格差が離れていく。新人は成長できずに、玄人がどんどん速くなっていく * よめなかったコードを別のプログラミング言語に変換してもらって、理解するっていう使い方もあるな。英語を日本語に飜訳してもらうのと同じ * ChatGPTはpythonに慣れている印象。Copilotはもっとpythonになれているのかもしれない。 * システムはやっぱり運用ありきで考える必要がある。 * 既存のライブラリに脆弱性があるかどうかチェックからはいってください。 * [Vulnerability scanner written in Go which uses the data provided by https://osv.dev](https://github.com/google/osv-scanner) * SPDX/Cychron DX形式で、OSSなどのサードパーティの構成品一覧(Software Bill Of Material)の作成のもある。 * [Supported Languages and Lockfiles | OSV-Scanner](https://google.github.io/osv-scanner/supported-languages-and-lockfiles/) * OSS,リスト化しておいて脆弱性のあるOSSを検索できるようにする * PHPなどは Composer.lockなどのロックファイルを指定すればいい * Debian の deb ファイルに対応している。 * Vuls はデータベースを自前でもたないといけない。 * SBOMがもっと公的機関も理解してくれてレビューできればいいんですけどね。 * セキュリティ系を全部インフラに任せないでください! * セキュリティ対策をしたうえでですね。 * 運用予算を計上しておいてもらう。都度対応スポット対応だとごてごてになる。 * 不動産屋に鍵の話をしないでください。 * 技術担当窓口などの情報を商流にいれておけばうまくいきそう。 * メンテナンス情報などもそちらに流すなどすればいいかも * whoisの技術担当みたいなものかな * こういう話もありました * [アマゾンウェブサービスからの請求書を「英語だから」という理由で破棄し続けて全システム停止するところだった旧弊社、まだ面白い - Togetter](https://togetter.com/li/2297458) ### 最近老眼です(まつおき) * 10年ぶり?とかの参加です。 * LANの線を作るのに色が見えません。 * LANの線を自作しますか? * 作るとテスト必要になったりするので、購入ですますことが多いです。 * 縦管配線の場合は作らないといけない。 * お勉強用のメガネを作りました。読書・お勉強する老人諸君にもお勧めです。 * モニタ用の老眼鏡 * 眼科で処方箋作って貰って[zoff](https://www.zoff.co.jp/shop/default.aspx)とかで買うと安いかも!会社用+家用・・・ * きっちり測定してやってくれるところがある。 * 中途半端にケチると失敗するというのがあるので。 * 体に近いところは金をかけた方がいい。 * 椅子、ディスプレイ、キーボード * 最近ITからびみょー離れて?LANの線ひいたりルーター付けたり「セキュリティの箱」付けたりなんかしてます * 子供が9歳になりました。 * 大きくなったなぁ(しみじみ * アクセシビリティの問題で年齢を考えていない? * フォントサイズは20代30代を参考にかかれていた? * ブラウザで大きくできるけど、一般の人が知らない? * WEB制作もこういったことを考えていった方がいい。 * WEBアプリケーションアクセシビリティっていう本がある。 * [Webアプリケーションアクセシビリティ ――今日から始める現場からの改善:書籍案内|技術評論社](https://gihyo.jp/book/2023/978-4-297-13366-5) * 合理的な配慮をしなければならないんだけど、工数を考えていない人が作業を減らそうとしている? * デフォルトで含めておいて、オプションで削られる形にしておいた方がいい * 削っていいかどうかも聞かないといけない * 完璧は無理でしょうがそういった配慮はいるし意識しましょう。 * 教える側ときにはセキュリティ削ることが多い * 教える時間を考えると削らざるをえない * 動けばいいというのは素人 * 姫路IT系勉強会の初期にこんな話をした * 君達も年をとるから、こういうことも配慮しないといけないよね。 * [幼児・高齢者も読みやすい!年齢別の最小可読文字サイズを知ろう! | Beginner's Design Note](https://reikawatanabe.com/font-size-recommendation/) * 老眼は自覚する年齢までにやってくる * カメラやってた時代に「君もすぐ老眼になるよ」っていわれてそんなバカなと思ってたら本当に来た * 眼鏡屋などで指摘されて知るケースも * 「30過ぎたら老眼が始まります」と言われました ### 「義務じゃないから対応しなくていい」という人にどう対処すべきか(のがた) * うめぐさなので人が多ければとばしてください * 思った経緯 * 今年4月から施行される「改正障害者差別解消法」で「[合理的配慮の対応](https://shougaisha-sabetukaishou.go.jp/)」が求められます * それに対して「Webアクセシビリティの義務化」と間違って捉える人が続出しました * そして「それも違うよ」と訂正が広まると今度は「義務じゃないから対応しなくていい」と言い出す人が出ました * 参考: 4月1日に改正法施行! Webアクセシビリティ改善を進めるには、どうすればいいですか? 植木真さんに聞いてきた | Webのコト、教えてホシイの! | Web担当者Forum: <https://webtan.impress.co.jp/e/2024/02/16/46304> * 疑問 * こういう人たちに対して、理解をしてもらうにはどうしたらいい? * ということで、ネタにできるかなと思った次第。 * レピュテーションリスクかなぁ。評判悪くならないといいですねってことですね。 ### Node.jsのTypeORMにトライした話 (ながせ(sanak)) * デジタル庁のアドレス・ベース・レジストリジオコーダ(https://github.com/digital-go-jp/abr-geocoder)が `better-sqlite3` というSQLite3を対象にしたものだったので、TypeORMでPostgreSQL/MySQLへの対応を行いました。 * [TypeORMサポートのトライアル by sanak · Pull Request #1 · sanak/abr-geocoder](https://github.com/sanak/abr-geocoder/pull/1) * [Data Source Options | TypeORM](https://typeorm.io/data-source-options#postgres--cockroachdb-data-source-options) * データベース初期化時にそこそこのボリュームのCSVファイルのインポートが必要になり、読み込み処理の最適化の箇所が苦労しました。(まだ最適化は可能かも) * アップストリームの開発者の方からリファクタリングの要望があったので、そちらにも対応しました。 * [[TypeORM] 2024/01/27 お打ち合わせでのリファクタリングのアドバイス適用 by sanak · Pull Request #4 · sanak/abr-geocoder](https://github.com/sanak/abr-geocoder/pull/4) * オススメのあった書籍: * [Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考 (電子書籍)](https://www.shuwasystem.co.jp/book/b620733.html) * [良いコード/悪いコードで学ぶ設計入門](https://gihyo.jp/book/2022/978-4-297-12783-1) * 3月末頃にアップストリーム側に更新がかかるようなので、それに合わせて再リベース予定です。 * リファクタリング対応内容 * if elseで書かれているのがわかりにくいなどがよくなかった。 * 例えばサポートされていない、oracleを指定した場合に PostgreSQLになるような。 * 古いJavaScriptで書かれているのを新しい書き方に直したほうがよかった。 * 新しい書き方にキャッチアップしていかないといけない。 * 読み易さを重視しないといけないかもしれないパフォーマンスはあまりかわらない。 * rubyの文法では、returnを明示しない場合、メソッドの戻り値は最後に評価した値になる、っていうのが理解されない * common lisp も rust もそうでは? * python系の人だと暗黙っていうのがよくないと認識される * pythonは PEPで書き方がきまっている * [chef-solo](https://docs.chef.io/chef_solo/) ?で rubyのコードで心が折れた。rubyは文化が違う。 * rubyはperlの影響がある。 * perl は非常に多くの方法でコードがかけてすぐに読めなくなることで有名 * node界隈は地獄です。 * ライブラリなどの興隆が激しい。すぐに流行り廃りがある。 * bun っていうのがでてきたり * deno は nodeの開発者がnodeを作り直したもの。 * 技術選定をがんばるしかない。 * react は再描画が複数回走っている? * 無駄にAPIを呼びだしてしまっていた。 * react をメンテできるようにするには、reactをずっと追いつづける必要あるから * ドキュメントをおいていても react が変更されると X年後にビルドできなくなるかもしれないよね。 * Reactは一年ごとくらいにアップデートできるような体制が必要では * 新しいからといって飛びついても 5年くらいはメンテすることを念頭におきたい。 * トレンドを追うのは否定しないよ。 * OSS一般の話 * 古いものに固執しつづけている印象がある * 若い人に権限を渡していかないといけない * githubで開発するとか * gitea はちょっとかわいそう * [githubで開発するgitea](https://github.com/go-gitea/gitea) ### [Leantime][](というプロジェクト管理ツール)を触ってみた(ワテ) * 以前に[Leantime][]というプロジェクト管理ツールがあるのを教えてもらってたが、なかなか触る機会がないままだったけど、 少し前にメジャーバージョンアップがあったようなので設置し、触ってみたところなかなかいい感じだったので実際の画面を見せながら軽くデモをする ※他の人の意見を聞いたみたい * よさそう * シンプルかつリッチな見た目で良いように思いました。 [Leantime]: https://leantime.io/ ### 「さくらのレンタルサーバー」がいつの間にか進化してた(ワテ) コンパネを確認するためだけに契約してて放置してたのを以下の件をきっかけに久々に触ってみたら色々と進化してた。 * [【さくらのレンタルサーバ / マネージドサーバ】DKIMおよびDMARC対応に関するお知らせ | さくらのサポート情報](https://help.sakura.ad.jp/notification/n-2634/) 以前はなかった以下のような機能が増えてたりして幸せを感じた。(※Ansible使ってレンタルサーバーの設定調整をしやすくなった) * [SSH公開鍵認証の設定をしたい | さくらのサポート情報](https://help.sakura.ad.jp/rs/2804/) 以下のようなPlaybookを書いてみた * [さくらのレンタルサーバーの初期セットアップ用Playbook](https://github.com/wate/setup-sakura_rental_server) * Rclone は並列処理が楽 * ResticがRcloneと連携できる * 高度なことが簡単にできる多機能バックアップツール、Restic [前編](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0765)/[後編](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0766) * FreeBSDやWindowsのバイナリもある:[release 0.16.4](https://github.com/restic/restic/releases/tag/v0.16.4) ### (小ネタ)OpenAIのVisionにいろんな偉人で顔写真を説明させてみました。 * ITネタがないので、前回の飲み会時に話題に出ました、顔写真を村上春樹以外の偉人で表現したらどうなるのか?を試しました。 * 清少納言、紫式部、夏目漱石、東野圭吾、他で試しています。 * 知見もクソもありませんので、ペルソナの自由度を感じで貰えれば ### ハックバーの感想 * あまり技術的な話はなかった。 * ほとんどの客は学生かフリーランサーで、雑談をしていた。 * Connpassのページをみても、フリーランサーが仕事のネットワークを作成する * Histudyほど濃いわけではなかったらしい。 ### [CloudFlare Pages][]でいろいろと遊んでみた(ワテ) DNSを[CloudFlare][]に寄せようとしたついでに[CloudFlare Pages][]で遊んでみた感想。 * Static Site Generatorで生成したファイルを置くには十分だと思う。 * astro など * デプロイはめっちゃ楽 * node系だったら楽です。 * [CloudFlare Pages][] はブランチごとにページがビルドできる。 * 使い勝手はいい。 * 月500ビルドは無料のはずなので個人ページならいける。 * 簡単な処理ぐらいならいける。 * mock とかではいける。 ※管理画面にログインして画面を手動でポチポチしていくのはめんどくさいねん・・ [PlanetScale is bringing vector search and storage to MySQL](https://planetscale.com/blog/planetscale-is-bringing-vector-search-and-storage-to-mysql) [Vector search — Meilisearch documentation](https://www.meilisearch.com/docs/learn/experimental/vector_search#using-vector-search) [meilisearch/docs-scraper: Scrape documentation into Meilisearch](https://github.com/meilisearch/docs-scraper) [CloudFlare]: https://www.cloudflare.com/ja-jp/ [CloudFlare Pages]: https://pages.cloudflare.com/ 告知 --------------- ### イベント名(開催日時) (イベントの概要をここに書く)