姫路IT系勉強会 2024.05 ======================= * 開催日: 2024/05/18 13:15 * 司会: wateさん * 参加人数: 参加者: 9名 (うち学生:1名) * HackMD: <https://hackmd.io/nj9-vCjmQEqwm0uoAqDmZw> * connpass: <https://connpass.com/event/317926> * ハッシュタグ:[#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での話の流れから、突発的に臨時イベントが企画されされるケースがあります * 画面共有について * [Chrome ツールバーにキャスト アイコンを追加する](https://support.google.com/chromecast/answer/7249696?hl=ja) 最近のニュース ----------------- * [姫路IT系勉強会](https://histudy.jp/) * [Ubuntu 24.04 release !](https://jp.ubuntu.com/blog/canonical-releases-ubuntu-24-04-noble-numbat-jp) * PHP * [PHP RFC: Release cycle update](https://wiki.php.net/rfc/release_cycle_update) * PHPのサポート期間は4年間になり、かつサポート終了日は年末に揃えられます。 * PHPのセキュリティサービス * [patchstack](https://patchstack.com/) * [MS DOS 4.0 がオープンソース化](https://cloudblogs.microsoft.com/opensource/2024/04/25/open-sourcing-ms-dos-4-0/) * [MS DOS 1.25, 2.0はオープンソースになっている](https://devblogs.microsoft.com/commandline/re-open-sourcing-ms-dos-1-25-and-2-0/) * FreeDOS開発者がFreeDOS上でMS-DOS 4.0をビルドする動画 * Building MS-DOS 4.00 on FreeDOS - YouTube: <https://www.youtube.com/watch?v=X7r76V_gWQ8> * ビルドするときのポイントは文字コードをUTF-8にすることと改行を変換しておくことだそう * MS-DOS 4.0からFreeDOSへコードを持ってこれるかについては、ライセンスは問題ないけれどMS-DOSの大半がアセンブラで書かれているので持ってこれないとのこと(ちなみにFreeDOSはCで書かれている)。 * [SOLID原則完全に理解した!になるための本](https://zenn.dev/nakurei/books/solid-principle-kanzen-rikai) * [IBMによるHashiCorp買収、注目は“Red Hat製品とのシナジー”とBSLライセンスの扱い](https://gihyo.jp/article/2024/04/ibm-hashicorp) * [学び合う組織に関する定量調査](https://rc.persol-group.co.jp/thinktank/data/learning-culture.html) お題 --------------- ここの下にお題(相談したいこと、発表したいことなどなんでも)お書きください。 ※ 記載するお題は参加者一人につき1つだけ記載するようにお願いします。 ※`### <ネタ>+(名前)`の形式でお題を記載してください。 ### お題をここに書く(名前を書く) (概要や背景などをここに書く) ### Markdown の説明(tamago) Markdownって便利ですね。 * ある程度のカンタンな記法でかける * わりと便利なので覚えましょう。 * GitHub の README.md などもこの記法です。 * HTMLなどに変換しやすい がんばって _斜体とかもいけるし_ **強調で太字**もできます。 Markdown 対応ソフトウェア - VSCode プレビューもできる - VSCodeからプラグイン、設定importできるので移行簡単 - [CommonMark Spec](https://spec.commonmark.org/0.31.2/) - [CommonMark Specの日本語訳](https://github.com/nishidayuya/CommonMark-ja_JP) - [GitHub Flavored Markdown Spec](https://github.github.com/gfm/) ### VSコードの便利な拡張機能を教えてください。(tamago) VSCodeをもっと便利に使いたいのでみなさんオススメの拡張機能を教えてください。 #### 汎用、環境構築用 * [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one) * [Markdown Preview Enhanced](https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced) * [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) * [Draw.io Integration](https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio) * [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) * 日本語名:開発コンテナ * Dockerで設定した開発環境をVSCodeで便利につかえる * [Git Graph](https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph) * https://cursor.sh/ VSCode + デフォルトでAI機能使ってみてほしい、私は使ってないけど。。 * [GitHub Copilot]([/I54J8VidRHOnw0j1HLIi-w](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot))じじいにはありがたい機能です * [Thunder client](https://www.thunderclient.com/) VSCode界のPostmanです。便利。 * [Postman](https://marketplace.visualstudio.com/items?itemName=Postman.postman-for-vscode)もあるよ * ssh でリモートにはいるのが便利だったが、名前失念... * これ?、[Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh) * これっぽい #### Pythonに特化した拡張機能 - [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) - Pythonの拡張機能ですが、コメントに`#%% `とするとPythonコードがブロックで実行できます - Microsoftの解説 - Working with Jupyter code cells in the Python Interactive window: <https://code.visualstudio.com/docs/python/jupyter-support-py> - 【画像で説明】VSCodeをJupyter化する .pyファイルをセル単位で実行 Python - Qiita: <https://qiita.com/komiya_____/items/547ae8b5a9b031f18b59> - ほかには、autopep8, Flake8, Black formatter, isort, pip managerを入れておくと便利 * VSCodeの中でJypiterを動かすこともできる * Pythonのコードを動かすこともできる! ### Pythonでウェブアプリを開発したいのですが、VSコードでコードを書いた後何をすればいいですか。(tamago) * Flask で webアプリを作る講義内容があります。webアプリ部分はまだですが、pythonの講義資料は作成中です * 今、前期授業でやっています。 * テキスト / プログラミング(Python): https://nogajun.codeberg.page/programming1/ * nogajun/programming1: 姫路獨協大学「プログラミング(Python)」テキストのソースです - Codeberg.org: https://codeberg.org/nogajun/programming1 * [TeX](https://texwiki.texjp.org/)(テフ) * TeXは文書作成用のマークアップ言語 * 最初、この辺を読むといいかも * [改訂第9版]LaTeX美文書作成入門:書籍案内|技術評論社: <https://gihyo.jp/book/2023/978-4-297-13889-9> * [LibreOffice](https://ja.libreoffice.org/) はオフィススイート * MS Word(OOXML/docx) <-> LibreOffice Writer(ODF/odt) * MS PowerPoint(OOXML/pptx) <-> LibreOffice Impress(ODF/odp) * Python授業用のMarkdownドキュメントからLibreOffice Impressスライドへ変換がとても楽 * `pandoc -f gfm -t pdt -o hoge.odt markdown.md`でodtに変換 * [pandoc](https://pandoc.org/) はドキュメントを変換するソフト * テンプレートを用意しておけばテーマを指定したり、フォントを日本語に指定できるらしい * LibreOffice Writerでodtドキュメントを開いて、メニューの「ファイル」→「送る」→「自動要約をプレゼンテーションへ」を選んでLibreOffice Impressへ変換 * スライドにテーマを当てて足りないところを直してスライド完成 ### Notionプロジェクト管理はや3年(K.f) せっかくなので燃える話題を🔥 Notionでプロジェクトを管理する!! - Notionとは - ドキュメント管理ツールだが、プロジェクトも管理できる - APIもあるので、更新されたらなにかするなどのGithub連携もできる。 - Figmaとか開発にも使える。便利! - 設計資料をぽんぽん追加しよう! - WEBページとして公開できる。 - [Code for HarimaのWebサイト](https://codeforharima.notion.site/Code-for-Harima-893bae4719f0496d998298ed91ce694a)にも使っています - サービスとしても公開できる。 - ページ毎に公開範囲や権限を指定できる - 社内ドキュメントおきばに使える - データベースが特殊なので、理解がむずかしいが慣れればいける - タスク管理としては違和感がある - プロジェクト管理としてはあり? - Notionのテンプレートは便利 - ユーザーがテンプレートを作成して記載内容を統一できる - Notion AI - 次になにを入力するとかは便利 - Notion のベンダーロックインが怖い - JSON でエクスポートしても、独特な構造なので移行は難しいかも - オープンソースの[AppFlowy](https://www.appflowy.io/)は、Notionからの[インポートを用意している](https://docs.appflowy.io/docs/appflowy/community/appflowy-mentorship-program/mentorship-2022/mentee-projects/importers) - Notion Academic をつかっていても、卒業したあとにどうするという問題が? - Notion案内サイト [学生 & 教職員向け](https://extns.notion.site/775f1673a3b147ec85294ccdac9a04b0) 学校のメルアドでPersonal Pro版が無償で使えるようです。 - Notionで差分がみれない - 差分がとれない(diffがほしい) - 作業依頼の項目を追加されると困る! - どんなPJに使う - メンバー - 複数人が絡む開発PJとして - 社内、ユーザ用wikiとして - 規模 - ワークスペースごとに数人〜数十人?が限度 - ドキュメント - 手軽さ - ストック型だけどフロー型の情報のように集積して良い - テンプレート - 定例、設計書 - 外部サービス連携 - figma, draw.io, github... - APIあるよ、なんでもできるよ - AI - ChatGPTタブに切り替えずその場で質問できる - タスク管理 - 工数管理 - 期限、ステータス管理 - 充実していない - 長期スケジュール - DB on DBで分割していけばOK - 依存関係 - 先行タスク、後続タスクの管理 - 設計 - mermaidで図表現 - class、ER、シーケンス - webページとして公開もできる - 独自ドメイン設定可能らしいが、実用上ドメインが当たっている必要はない * 工数管理と予定と実績の違いを調べたり、原因究明が難しい、Notionでは難しい * Redmineは予実管理ができる。見た目はあれだけど。 * 間接工数とかいいだすと難しい。 * マネジメント工数はわけて考えることが多い。 * ふりかえりはあまりできない(ずれがわからない) * Workflowを設定したいができない * 独断と偏見で勝手にチケットを消されるのが怖い * Notionじゃない! * もっとお金のする Atlassian Jira/Conflueceがあるよー。 * Excel大好き人間はいるので、Excel台帳が一番上位にいることもある * 性善説で運用できるかどうか * 地獄をみたら、これはできない。 * 使い方の教育とか文化の醸成とかから始めないと無理では? * 問題がおきたらシステムで縛るというのはどうなのか? ### Cloudflare Meet-up Osaka #4 に行ってきました(吉田) * [Cloudflare Meet-up Osaka #4](https://cfm-cts.connpass.com/event/317972/) 昨日5/17(金)行われたUG会に行ってきました。 * UG=ユーザーグループ * [Xタイムライン #CloudflareUG_KIX](https://x.com/hashtag/CloudflareUG_KIX) いろいろアツい話題がありました。 * Cloudflareは、自宅サーバーのトンネル公開サイト用に使っています(業務でもMoodleのテストサイトに使っています) * もともとngrokの代替で始めました。 * Google OneがパーソナルVPNをやめるというので、[Cloudflare WARP](https://one.one.one.one/)をいそいそと入れたりしました。 * Nuro光でいくつかのサービスに接続しようとハネられる。 * Nuro光で国外判定される現象? * そういったあたりもあって、Cloudflareは単なるインフラサービスかと思っていましたが、UGに参加してみますと、ガチ開発者向けのAWSサービスみたいなことをやっていました。 * [Cloudflareにはいくつもプロダクトがあります。ストレージのR2、データベースD1、KVストアのKVなどです。そしてそれらに繋ぐ方法が「Bindings」という方法です。](https://zenn.dev/yusukebe/articles/f1d5aa529ba873#bindings) * Amazon S3のアルファベットと数字をひとつずつずらしている * あと、AWS LambdaのようなWorkers * 最近、[Pythonにも対応して](https://developers.cloudflare.com/workers/languages/python/)ちょっと興味あり * サーバーレスと呼ばれる種類でサーバーを用意しなくていい * 最近はスケジューラーというのもあるらしい * Cloudflare開発用ワークフレームHonoの開発者 yusukebeさんのBindingsの解説・デモは圧巻でした。 * CloudflareのBindingsは、「ユーザーがつくったカスタムBindingsを流通させるマーケットプレイスみたいなのができるんじゃないかと。」という可能性を秘めているようです。 * マイクロサービスを自由に流通させることができる可能性。 * 以下のようのなこれまでの流れをさらに作り手向け・開発者向けに仕上げる可能性を持っている感じ。 * tarボールでソースを流通させる * Android/iPhoneでアプリを流通させる * コンテナやpodを流通させる * **New** マイクロサービスを流通させる * JavaScriptからはいった人は使いやすい。pythonに対応したのはありがたい。 * pythonでできる人はJavaScriptにいけばいい。 * pythonはWasmで動かしている? * WASMなしだそうです! [Cloudflare Workers が Python をサポートしたのでやってみる。](https://zenn.dev/kameoncloud/articles/e8d266f5477016) * LambdaでWordpressを動かすというデモもあった。 ### 抱腹絶倒間違い無しのテッパンネタを作るために鉄板買いました(もりや) * 意味がわからんし、どういうこと? * 職場にて抱腹絶倒間違い無しのテッパンネタを作るには、鉄板を買うのがベストであると訴えたところ、朝から元気やな、と言われたので楽天で10kgの鉄板を購入(4000円で買えます!) * ヤマトの人にものすごい目で睨まれるので、注釈に「重量物です。」と注釈があったほうが良いらしいです。 * ペルチェ素子を水冷で使うと、1枚スタックのみで-17度程度まで下がるらしい * ペルチェ素子を4連で使用し水冷で冷却することで、アイスっぽいものが簡単に作れる * トレイが保持できる熱量、システム全体の熱移動量の限界により、材料かアイスを作るのは難しい * 事前にトレイを凍らせ、冷却水に氷を投入、材料もすべて凍らせるとうまく行く! * ペルチェ素子をスタックし、冷却能力を強化し、鉄板自体を吸熱体としてしっかり機能させる必要がある ### テキストデータの形式変換で四苦八苦してる(ワテ) Redmineのソースコードをリバースエンジニアリングしているが、全体像を把握するためのドキュメントが欲しいと感じています。しかし、Redmineの記載フォーマットがTextile形式であるため、これをMarkdownに変換するのが難しいという問題に直面してる。 #### 背景 毎回、ソースコードだけを頼りにRedmineをリバースエンジニアリングしてると、色々辛いので、もっと全体像とか見えるドキュメントかほしいとか、モデルに定義されているメソッドなどをパッと調べられるようにし、手元でドキュメントを参照できるようにしようとしています。 #### 発生している問題点 [Redmine][]本家は記載フォーマットがTextileに設定されているため、REST APIなどでRedmine本家のWikiを取得してもそのままでは静的サイトジェネレーターに通すことができません。 [Pandoc][]を使って変換しようと試みましたが、Markdown自体が複数の亜種が存在し、どれを通しても完全に変換することが出来ません。 Textile形式のドキュメントをいい感じにMarkdownに変換する方法は無いでしょうか? Textile形式の仕様は以下の通りです。 * [Textile Markup Language Documentation](https://textile-lang.com/) * [Textile記法 — Redmine.JP](https://redmine.jp/tech_note/textile/) #### 特記事項 [Redmine][]固有のWiki記法などは正規表現を使って、取り除く/変換するといったことはやってたりしますが、仕様に記載されていない以下のような独自構文もあったりするみたいで結構な地獄です。 ```textile * リスト1 * リスト1-1 * リスト1-2 ``` ※ソースコード見たら、なんか以下のような独自拡張が入ってました…(Textile and Markdown Hybrid for Rubyだとぉ…) [lib/redmine/wiki_formatting/textile/redcloth3.rb](https://github.com/redmine/redmine/blob/master/lib/redmine/wiki_formatting/textile/redcloth3.rb) #### 試行錯誤中/思案中 * 独自構文などを正規表現で変換しつつ、正しいTextile形式に変換し[Pandoc][]を通す? * 鋭意対応中ですが[Ansible][]でこれをやるのは結構死ねる… * ちょっとまって。それ、そもそもAnsible上でやることじゃない。正攻法ならどこかに書き出して、ちゃんとしたスクリプト言語でやる処理だと思う(の) * 諦めて[Redmine][]本家のWikiにリンクするだけにする? * [Redmine][]のREST APIのドキュメントどこぉ?って言うのは無くせるけど… * [Redmine][]本家のドキュメントは(スタイリングの問題で)なんか読みにくいねん… * いよいよになったらスクリプトを自作するしか無い? * Rubyで独自スクリプトを書くのは流石に死ねる・・・ * 代替え案としてzxでやろうかなと考えたことも有りました・・・ * [zxの紹介 〜 さよならシェルスクリプト そして伝説へ](https://zenn.dev/overflow_offers/articles/20220606-zx-introduction) #### fu7mu4調査中... * 先人の自作変換スクリプト * https://yuumi3.hatenablog.com/entry/2015/08/04/105847 * https://github.com/thewoolleyman/textile2markdown * https://github.com/jldec/tomd * redmine側でMarkdownに変換できる? * https://www.redmine.org/boards/2/topics/41244 #### 結論 独自構文などを正規表現で変換しつつ、正しいtextile形式に変換して[Pandoc][]を通す形でなんとかなりました。 [Ansible][]の[regex_replace][]フィルターを使って独自構文を置換していくというのは結構死ねました 以下のような感じで以下のような感じで独自構文を消し込みつつ、 * [template.textile.j2](https://github.com/wate/vagrant-redmine/blob/master/provision/roles/document/templates/rest_api/template.textile.j2) [Pandoc][]で[gfm(GitHub Flavored Markdown)][gfm]に変換し、変換しきれない部分を再度、置換しまくりました * [template.md.j2](https://github.com/wate/vagrant-redmine/blob/master/provision/roles/document/templates/rest_api/template.md.j2) ※[Pandoc][]の[Extensions][Pandoc Extensions]を調べるのが何気にしんどかった・・ [Redmine]: https://www.redmine.org/ [Pandoc]: https://pandoc.org/ [Pandoc Extensions]: https://pandoc.org/MANUAL.html#extensions [Ansible]: https://www.ansible.com/ [regex_replace]: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/regex_replace_filter.html [gfm]: https://github.github.com/gfm/ ### プロジェクト参加時の情報整理とドキュメンテーション(ワテ) あなたはドキュメントどころかメモ書きすら残っていないプロジェクトに、いきなり突っ込まれたことがあるだろうか? もし、あなたがそんなプロジェクトにいきなり突っ込まれた場合、どのように情報をキャッチアップしていますか? #### 目的 そういった悲劇を少しでも減らせるように、システム開発などのプロジェクトに途中参加したときに必要な情報ってなんだろう? ってことを再考し「最低限これくらいのドキュメントはこのしておこうね!」という雛形を用意しようとしています。 ※Web制作/システム開発/サーバー構築/クラウド構築など案件により必要な情報量が違ってくると思うので、多種多様なユースケースに応じた内容を知りたい ##### 参考URL * [プロジェクトに途中参加した時、どのようにキャッチアップするか](https://blog.mmmcorp.co.jp/2018/09/27/join-new-project/) * [(新人)エンジニアが開発しやすいREADMEの書き方](https://speakerdeck.com/knr109/xin-ren-enziniagakai-fa-siyasuireadmenoshu-kifang) ##### 余談 お題の見出しがうまくまとめられなかったので↑に書いた内容を以下のプロンプトでChatGPTさんにまとめてもらいました ※日本語の長い文章を1行にうまくまとめるの苦手やねん… ```text 以下の内容を一言(30文字以内)で表して """ (ここに本文を貼る) """ ``` ### 今、思っていること(のがた) * 時間があれば話しをする小ネタ集 * 今思っていることを書き出した * 大学のPC環境なんとかして * もう、ホントにめっちゃムカつく * LTSPでやろうとしたらなんかおかしい * そもそもサーバーに使ってるPCが壊れてるとかわからんし * てか、proxmox上にADでアカウント、教室PC管理してるシステム管理を無料で作ってる時点で意味がわからんし * ホームディレクトリをNFSでマウントしたらKDEが使ってるSqliteが死ぬとか意味わからん * [OpenMediaVault](https://www.openmediavault.org/)(NAS)のNFSとDebianの最小環境を作って、ホームをautofsでマウントするように設定したら症状がなくなった。なぜ??? * systemd-mountでも大丈夫だった。なぜ??? * Code for Harimaのウェブサイトに使ってたnotionの無料枠を使い切ったのでどうするか * どこかにサイトを用意するけど[Bludit CMSのGitHub連携](https://docs.bludit.info/how-to/how-to-setup-remote-content)とHackMDのGitHub連携を使って、HackMDでGitHubにプッシュしたらCMSを自動更新するかと考え中 * CMSもヘッドレスなんか使えんし、WordPressなんか触りたくない * Code for Harima案件だけど、稲美町のため池地図を作るのはどうするかな * ため池の周りに自生している草花を本にまとめている、おじいちゃんがいる * そのおじいちゃんの本をデータ化するという話 * これは[MapLibre for Python](https://eodagmbh.github.io/py-maplibregl/)で作るか。[folium](https://python-visualization.github.io/folium/latest/)でもいいけど * 自分でサイト作りたいけどデザインを考えるのが面倒 * テンプレサイト見てるけどパッとしない * AIで適当に案を考えてくれるサービスないですかね * 案だけでいい * podmanでdevcontainer動かんの? * 誰か動かして * あー、もう、何もやりたくねー ### 雑談ネタ 最近かいたプログラム/スクリプトは何?(fu7mu4) ひとりずつ回答お願いします。 * fu7mu4 * 某静的解析ソフトのデータを取得するために RESTで結果をとってくるやつ * curl で 細かく情報をPOSTしてとってくる * kf * テストデータSQL生成するやつ 告知 --------------- ### [AWS Summit Japan 2024](https://aws.amazon.com/jp/summits/japan/) - 開催日:2004/06/20 - 2004/06/21 - 開催場所:幕張メッセ - 招待コード:`公開終了` ### DebConf24 韓国(釜山) * 日本からの登録が少ないのでぜひ参加してください * 7/28-8/4 * DebConf 24 https://debconf24.debconf.org/
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up