姫路IT系勉強会 2022.05

お題

Firefox で TLS証明書の開始日と終了日が逆に表示されてますが…(さとう)

    • 有効期間
      • 終了日 Mon, 21 Mar 2022 12:21:39 GMT
      • 開始日 Sun, 19 Jun 2022 12:21:38 GMT
    • 環境
      • Debian Sidの Firefox-ESR(91.9.0esr-1)
    • 翻訳の間違いでは
      • メッセージの翻訳ツールのバージョンとかが敗因かも
  • macOS、Windows版の Firefox では正常に表示されています
    • 他のディストロとかも確認しましょう
    • Ubuntu の Firefox 99.0 では発生しない
    • Mozillaのサイトからダウンロードしたバージョン(100.0.2)も直っています
      • 「開始日」「終了日」の順番に表示されました
  • どこにバグ報告すればいいのか
    • Debian Sid のメンバーに報告してはどうか
    • 他で発生しないから Sid だけでOKです
  • 開発元が多いと地獄です
    • プラグインが原因なのか DB が原因なのか….
  • RedmineのFull Text Searchでバグレポートを上げたことがあります
    • これくらいは書きましょう
  • Web系は特に、「エラーが出たぞ」としか表示しない人が多いです
    • 関係のない開発者にバグレポートぶつけられては特に迷惑です
  • 結論
    • ESRが古すぎたというオチでした
    • sid だから泣かないで

俺の考えたさいきょうのRedmineデバッグ環境(ワテ)

  • https://github.com/wate/redmine-lde
    • Redmineのデバッグをしようとして、いい感じのデバッグ方法の情報が見つからない
    • そして、あまりにもイラッとしたので、カッとなって作ってみた
    • 完全にキワモノ扱いされそう・・・
  • 英語つけたらいいかんじになりそう
  • README.md にリモートデバッグであることがわかるようにしてほしい
    • VS Code から リモートデバッグしたい!!
  • Docker 環境だと ruby しかはいっていなくて不満
    • 開発環境のツールこみこみの環境がほしい
      • 自分でイメージ作って docker-compose.yml を作るしか
        • 開発ツール全部乗せのDockerイメージはメリットが少ないかも
      • Virtual Box の方が便利!
      • Virtual Box は M1 Mac で動作しないことがあるらしい…
      • Paralles Desktop (有償) ならいける
    • デバッグしやすいのは大事
  • ベースは debian 11
    • CentOS問題があって debian に振替えた。
      • CentOS alternative が複数あって先が読めないから
        • Alma ? Rockey ?
        • さくらのナレッジで前佛さんの記事があったはず…
    • ubuntu はドラスティックに変えることがある。
    • サーバー用途としてはどうなの?と考えている
      • LTSはあるけど、10年は長すぎでは(-> CentOS ?)
        • パッケージのプログラミング言語が古びすぎてしまいます
          • C/C++/Fortranならなんとかいけ…
    • debian はいいぞ。
    • 開発環境のバージョンがあまりに変更があるときつくない?
      • JavaScriptは..?(node?)
        • 偶数バージョンが LTS 扱いらしい
        • 奇数バージョンは 変更がはげしい
        • stable は v16, latest は v18
        • あの界隈、やたらに新しいの使いたがるが、5年先とかの安定運用考えてるの?
          • node系なら個人情報とかあまり扱わないで済むのかも
        • nodeはパッケージ依存地獄にハマりそう
          • 開発ツール以上には使いたくない
          • それ、ちゃんと運用設計してるの?
      • PHP にしろなんにしろ vX.0 がこわい。vX.1 まで様子見しよ。
        • PHPは8.1があるので、とりあえずは安心できそう
          • その昔、GCCはVersion-X.Y.Zの場合、 Z>Y>X になるまで安心できなかった
            • でも最新の追っかけはやめられなかったそうな
      • debianも vX.0 は避ける。サーバー用途としては
    • endoflife.dateというサイトが便利
      • EOFとか探しやすい

英語の勉強やってますか? (fu7mu4)

  • 会社でTOEICを受けることになった
  • それはさておき IT や OSS では英語がさけられない
  • そこでみなさまの英語の勉強方法やノウハウなどをきいてみたい

僕は勉強してないです

  • 頑張って慣れるようにしています
  • 単語は自然に頭に入ってきます
    • 設定ファイル読んだらわかるでしょ
  • 英語はよまないことも考える。
  • どうせ日本語とは違うのだから、パターンマッチングで対応
  • ぐぐったり自動翻訳にかけたり
  • なんとか読めるけど、書くのは超苦手です
  • 辞書引きながら読めとはいうが、 コーディング中は辞書なんて引いていられない
    • 英語を読む方に割くリソースがない
    • マウスオーバーで辞書

そもそも、TOEICどうなのよ

  • 英語の勉強というより、試験対策になりがち
    • 英語全般の勉強にはなりにくい
  • 昔受けたことあります。300点取れませんでした
  • なにを目指すかによって勉強方法は違うんじゃないのか
    • Listening なのか
    • ITに特化するのか、一般教養なのか
  • 会社も試行錯誤っぽいです
    • 受験費用だけは出してくれますが
    • 2回くらいやって、向上したかを報告してほしい、とか
  • スラングはわからない
    • LoL = Land of Lisp, Let Over Lambda ? Laugh out load ?
    • MBA = Master of Business Administoration じゃなくて MacBook Air だったり
    • = www
    • Redditあたりはスラングが多い
      • GitHub の Issue はもう少しまとも、母語が非英語の人も沢山いる
      • Redditは北米、英語圏向けサービスゆえ
    • そんなのは自動翻訳でいいのでは
    • 略語はきびしいかもしれない。一般人にはDBも通じないかもしれない。
    • 自分にわかるからといって相手がわかるわけではない
    • 会話しているメンバーによるので注意が必要
      • 違う職種の人がみるときは要注意
      • 経営者の人もそれがある。BS/PL とか
    • スラング、略語表をつくると大変…
    • SEO用語??????
      • エンジニアも、「わかって当然」なつもりの略語には注意しましょう
    • マーケット用語も
      • 上の方でフィルタリングされていると助かる…マネージャー、ディレクターで適切に情報とタスクをコントロールして欲しいな
    • 職種をまたぐときつい。
      • スタックやキューも、先入れ後出しや先入れ先出しと平易にしましょう。
        • このあたりなら、簿記用語あたりでも使われてるはず

休憩 15:10 再開

モバイルルータ変えました(さとう)

  • 2年縛りの期限が迫り、値上げ圧+5G勧誘に負けて契約更新+新モバイルルータGetとなりました
  • 「大抵の人」にはどうでもいい機能/動作が、かなりイロモノに感じられた一席です
  • 資料
    • 組み込み機器なので、落とし所がそんなふうになるのでは
      • どっちでもいいなら、実装の楽な方を選ぶ、とか
    • 想定顧客には、たぶんどうでもいい特徴でしょう
      • 重箱の隅をつつくクレーマーもいる
      • おまえのために作ってるんじゃない、と言いたくなります

店舗リストから地図上にピン表示するページの絞り込み実装(ムネナガ)

  • REST API で店舗リストを取得して地図上にピン表示する
  • まあよくあるヤツを Next.js(React) で作る予定
    • なんだけど、REST API では全件・都道府県・市区町村ぐらいしか絞り込めなさそう
      • 市町村でリクエスト送って、取得した店舗データ内に緯度・経度情報が入ってるはず
      • APIは先行して作ってて仕様を固めつつある団塊
    • 地図で移動させて市区町村またぐときどうすんの?
  • 明示されてはいないが、「スケーラブル」を考慮しとかないといけない気配
    • BtoB サービスの一機能なので、どういう規模のユーザー企業がつかうか
      • まあ全市町村に2~3店舗展開してても3000店ぐらい?
        • 市町村数は1718
    • 全店表示の時にあまり店舗数が多いと絞り込みが必要?
    • 地図表示ライブラリに100,200突っ込んで大丈夫?
      • コンビニ等のトイレの位置情報をスマホで見れるシステムをつくったことがあります
        • 面倒だったのでサーバーのデータをクライアントに丸投げしています
        • 10kmのパターンで数千件とれた
        • 体感上遅い、というわけでもなく
        • 表示処理がボトルネックになりそう
      • データの絞り込みはアプリの設計でも対応したらどうか
        • 処理が追いつかないほど多いなら警告出すとか
      • 数百件くらいなら大丈夫でしょう
        • フロントの開発では「○件までは、大丈夫です」とか件数を増やしたテストはしておく
      • あまりに件数が多い場合の対応はサーバー、バックエンド側で対応必要になるのでは
    • 全件表示で件数が多すぎると、エンドユーザーにとって使い勝手が悪い
      • 変に「出来るから」でパフォーマンスチューニングしても仕方ない
  • 緯度経度で検索するAPIはあまり一般的でない
  • 測地系の変換があるとめっちゃうざい(日本測地系/世界測地系)
    • 店舗側での入力時と、エンドユーザー側に表示する時の地図サービスが同じなら、ほぼ問題ない…
      • 複数企業がかかわる場合、測地系は統一しておかないと問題がおきそう(バックエンド側?)
      • 企業の使う管理画面は一つの地図サービスで統一されると思う
      • エンドユーザー向けの地図サービスはユーザー企業によって異なるものを使うかも
  • その手のサービス自前で作り込むより、Google Maps 借りて、そっちに金払ったほうが開発が楽で安上がりでない?
    • ライブラリに Google Dynamic Maps を選んでくれたら、結構、楽できそうではある。
    • そんな金も払えないなら 撤退でしょ マネタイズ駄目でしょ、サービス設計ミスってない?

CPUコアの写真を眺めると(もりや)

なんか、開発環境をDockerで作ってくれ言われたんやけど。。。(かねだ)

  • ベースはWSL2
  • 仕様OSはDebian系とRedHat系の2種類
    • どっち使っても一緒じゃないの?母艦のOSの違いで違いってあるの?
      • Debian 系から起動するコンテナ
      • RedHat 系から起動するコンテナ
        • 2系統用意して欲しいとのこと
    • 違うコンテナエンジン(コンテナランタイム)を使いますか? podman / docker / lima
      • どっちでも Docker CE を使う
    • どっちも DockerHub からプルしたイメージを使う予定
      • 違いはでなさそうだが?
      • Debian でだけコンテナが転けるという事象が何年か前にあった

podman と docker と lima …? といっぱいあるけどどう違うの? (fu7mu4)

  • lima は macOS用ってことはわかった。
  • podman は Red Hat が開発している daemon なしの docker ?
  • あとはよくわかりません。違いをおしえてほしい
    • コンテナエンジンの違いに詳しいひといなかった。
    • podman とか使ってる場面では k8s で使っていて違いなさそう。

Windows11のWSL2は普通にGUI動いてたりします(WSLg)(かねだ)

  • Windows に X11 相当がはいっているかんじ
    • Ubuntu の Firefox がシームレスに使える
  • Windows Explorer から WSLにいける。
    • Windows Explorer内に、Linuxというフォルダが現れる
    • Linux フォルダでは、/ ルートから全部みれる
  • git の SourceTree で WSL2のファイルシステムにアクセスすると遅いので、Git Krakenを使うか?
    • ファイルシステム?ファイル同期?の仕組みが重いらしい
    • ファイルIOを共有してしまうため、仮想化環境下では重くなりがち
    • VirtualBox の 共有ディレクトリでも遅い
    • WSL2の中で git Kraken を使えば良いがソフトが有償
    • コマンドライン派のみなさん
      • tig を WSLで使うといいですよ…
      • git log --graph できれいにコミットグラフがかけますよ。
      • VSCode にもターミナルありますよ
      • Vim から Git
        • fugitiveプラグイン使うと、Vim内で Git 操作できる。
      • lazygit
      • git のエイリアスを作成してカスタマイズしよう
      • あまり SourceTree 使わない
        • SourceTree 起動しても ターミナルから git bash 起動しちゃう
      • SourceTree あってもコミットグラフ見るときかコンフリクトしたとき?
  • SourceTree で Windows ファイルシステムに git clone して WSL2 で そのディレクトリに移動して作業する回避策もある

告知

redmine tokyo 第22回のおしらせ (2022/05/28)