HackMD
  • Beta
    Beta  Get a sneak peek of HackMD’s new design
    Turn on the feature preview and give us feedback.
    Go → Got it
    • Beta  Get a sneak peek of HackMD’s new design
      Beta  Get a sneak peek of HackMD’s new design
      Turn on the feature preview and give us feedback.
      Go → Got it
      • Sharing Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • More (Comment, Invitee)
      • Publishing
        Please check the box to agree to the Community Guidelines.
        Everyone on the web can find and read all notes of this public team.
        After the note is published, everyone on the web can find and read this note.
        See all published notes on profile page.
      • Commenting Enable
        Disabled Forbidden Owners Signed-in users Everyone
      • Permission
        • Forbidden
        • Owners
        • Signed-in users
        • Everyone
      • Invitee
      • No invitee
      • Options
      • Versions and GitHub Sync
      • Transfer ownership
      • Delete this note
      • Template
      • Insert from template
      • Export
      • Dropbox
      • Google Drive Export to Google Drive
      • Gist
      • Import
      • Dropbox
      • Google Drive Import from Google Drive
      • Gist
      • Clipboard
      • Download
      • Markdown
      • HTML
      • Raw HTML
    Menu Sharing Help
    Menu
    Options
    Versions and GitHub Sync Transfer ownership Delete this note
    Export
    Dropbox Google Drive Export to Google Drive Gist
    Import
    Dropbox Google Drive Import from Google Drive Gist Clipboard
    Download
    Markdown HTML Raw HTML
    Back
    Sharing
    Sharing Link copied
    /edit
    View mode
    • Edit mode
    • View mode
    • Book mode
    • Slide mode
    Edit mode View mode Book mode Slide mode
    Note Permission
    Read
    Owners
    • Owners
    • Signed-in users
    • Everyone
    Owners Signed-in users Everyone
    Write
    Owners
    • Owners
    • Signed-in users
    • Everyone
    Owners Signed-in users Everyone
    More (Comment, Invitee)
    Publishing
    Please check the box to agree to the Community Guidelines.
    Everyone on the web can find and read all notes of this public team.
    After the note is published, everyone on the web can find and read this note.
    See all published notes on profile page.
    More (Comment, Invitee)
    Commenting Enable
    Disabled Forbidden Owners Signed-in users Everyone
    Permission
    Owners
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Invitee
    No invitee
       owned this note    owned this note      
    Published Linked with GitHub
    Like BookmarkBookmarked
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    --- title: 姫路IT勉強会 2022.10 langs: ja-jp --- 姫路IT系勉強会 2022.10 ======================= * 開催日: 2022/10/15 13:15 * 司会: wateさん * 参加人数: 参加者: 5名 (うち学生 0名) * HackMD: <https://hackmd.io/4kivuBtBRTKHChfP7qQoqg> * connpass: <https://histudy.connpass.com/event/262167/> * ハッシュタグ:[#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/) * [Google、棒型キーボードを発表――自作できる設計図を公開](https://k-tai.watch.impress.co.jp/docs/news/1444002.html) * [google/mozc-devices](https://github.com/google/mozc-devices/tree/master/mozc-bar) * [Linux、バージョン6.1でRustを導入へ--トーバルズ氏が明言](https://japan.zdnet.com/article/35193491/) * [Kernel 6.0 released [Posted October 3, 2022 by corbet]](https://lwn.net/Articles/910087/) * [Redmine導入で「林業」に革命! ITツールが変えた伝統産業](https://news.careerconnection.jp/career/144163/) * [無償の仮想PCソフト「VirtualBox 7.0」が公開 ~約4年ぶりのメジャーアップデート](https://forest.watch.impress.co.jp/docs/news/1446404.html) 自己紹介 --------------- * LibreOffice の新しいのがリリースされたので 10/13 に試したら、[Bug 151511 - Libreoffice 7.4.2 MacOSX Language pack does not recognize on intel mac](https://bugs.documentfoundation.org/show_bug.cgi?id=151511) バグを踏んだので報告して 10/14 に直してもらった、そんな毎日のfu7mu4 * この話も毎回出てるよね。てか、毎回誰もリリース前にMacを試さないからリリースされてから登録される(の) * 2日でJekyllわかんないのに調べながらデザインとコーディングして死にそうになってました(の) * State of the Map Japan 2022 in Kakogawa: https://stateofthemap.jp/2022/ お題 --------------- ここの下にお題(相談したいこと、発表したいことなどなんでも)お書きください。 ※`### <ネタ>+(名前)`の形式でお題を記載してください。 ### Gitてへペロ(fu7mu4) * Impresss スライド(odp)あり * 8ぺーじくらい * Libreoffice 7.4.2製です。 * Impressスライドの日本語が明朝体になってる…。これずっとあるバグなんですよ。直したけどテスト書いてないからってリジェクトされてます(の) * [gitてへペロ@slideshare](https://www.slideshare.net/fu7mu4/gitpdf-253601313) * OSSのライブラリを追加したかった * が、tar玉どーんと入れてしまった * どうしようもないので、orphan branchで対処、するしかなかった… * てか、git submoduleにしたほうがいいんじゃね? * 修正をいれないなら git subtree や submoduleがいい? * submoduleは運用が難しいから * .submoduleファイルにリモートリポジトリのファイル情報を書いている。 * submodule を更新する操作が必要になる。 * subtree はソースをもっているが、履歴の整合が崩れてこわれることがあっていや。 * 直す技術がない状況ではちょっと使えないかな。 * git submodule updateで外側を更新しているのか内部を更新しているのかを間違う恐れがある。 * [git submodule はトモダチ!怖くないよ! (チートシート付き)](https://www.m3tech.blog/entry/git-submodule) ### キーボード * 長いキーボード * Googleの長いキーボードの話 * もりやさんみたいな話 * 過去にやってた * ポスターサイズのキーボード * 料亭に予約システムを入れたときに、入店時にテーブルの空き状況を更新したいと言われる * キーボードの指定のキーを押すと空き状況が更新される物がほしいと言われ、作る * キーボードが小さいとゴネられる * デカけりゃインだろ?ということで、ポスターサイズのキーボードを作る ### エンダーーのWeb版を作りました(もりや) * [エンダー](https://ender.yasukosan.net/)を一応公開してます。 * Python版のAIがそのままでは動かいない * 学習後の重みデータが約1GBあり、実行時には最低8GB程メモリが必要に * EnterかEnter以外か、を判別するのにスペック要求が高すぎる * TensorFlowLite形式のデータに変換し、データを軽量化 * 公開してますが、うまく動きません * Python単体でRaspberryPIで動かしているものは、引くほど正確に判定しました * 確認された環境 macOS : Google Chrome Latest * 波形処理は魔界 * ブラウザで録音する場合、[AudioContext][]を使用 * [AudioContext][]インスタンスにノードと呼ばれる処理ユニットを繋ぐことで波形処理が出来るブラウザAPIです。 * これのおかげで、音を鳴らしたいタイミングを厳密に指定して音を出せます。 * エンダーーを判別しているAIがCNNベースのため波形の画像化が必要 * MFCCという音の特徴量を画像化する手法をとります * これが、Pythonと[AudioContext][]で結果が全く異なる。 * PythonはLibrosa、JavacsriptはMeydaAnalizerを使用 * MeydaAnalizer側は結果が異なる話は出ているが、そんな訳はない。で止まっている * 波形を分析するパラメーターの指定が、両者で若干異なっている * [AudioContext][]で録音→[MFCC][]に変換→サーバーにアップ→PythonでAI用テンソルに変換→推論→失敗 * この方式の場合、MFCC変換後の画像データの特徴の出方が大幅に異なる * ”特徴”で見ると、おそらく[AudioContext][]側が正しいはず? * 全てEnter以外になる * [AudioContext][]で録音→Waveに変換してアップ→PythonでMFCCに変換→AI用テンソルに変換し推論→失敗 * この方式だと、MFCC変換後の画像データは似た特徴を出力できている * 正答率は10%無い * 録音後のデータをWaveに変換して、ファイルの状態でアップロードするのは地味に面倒 * 打鍵判別と、録音が別プロセルで動いているため、判別時点と取得データに時間のズレがある * 打鍵の判別と録音のプロセスタイミングを同期させる * [AudioContext][]で録音した内容でAIを再学習させる * どちらかで多分解決しそう <!-- リンク参照: https://spec.commonmark.org/0.30/#link-reference-definitions --> [AudioContext]: https://developer.mozilla.org/ja/docs/Web/API/AudioContext [MFCC]: https://fast-d.hmcom.co.jp/techblog/melspectrum-mfcc/ ### AWS SDK for PHPモックすんのメンドクサイ(かねだ) * Mock * PHPUnitのMockは別にある * Laravelは[Mockery](https://github.com/mockery/mockery)がバンドルされてる * AWS SDK for PHPの[mock-handler](https://docs.aws.amazon.com/ja_jp/sdk-for-php/v3/developer-guide/guide_handlers-and-middleware.html#mock-handler) * https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code * 仕事でテストを書いていた、WEBアプリのカバレッジ見てたら、AWS SNS呼び出してるとこが真っ赤だったのさ * 通常の直接 Mock はできなくて、上の mock-handler でないとダメ * つかLaravel Notification がなんで対応してないの? * Laravel はSESは呼びだせるけど、SNSが呼び出せない。 * ここだけ直接書くしかない。 * 公式が[サードパーティ製](https://laravel.com/docs/6.x/notifications#specifying-delivery-channels)勧めてる模様* テスト戦略次第ですかね * 例えばドライバレベルはドライバを切り替えるように実装しておき、テストから除外するみたいなこともありえる。 * [CakePHP](https://cakephp.org/jp)の場合のダミードライバ * Mailerはconfigで何をつかうかを変更できる。 * テストするなら、テスト用のドライバの MailTrap までをテストする。 * 操作が簡単なので手動でしてしまってカバレッジの目標達成をあきらめてもいい。 * SDKが送信するかどうかはSDKに任せてもいい。 * 開発用のサービスがあるとテストは便利 * ユニットテストも含めてテスト戦略をたてる必要がある。 * ユニットテストでMailTrap に正しい文面が送られているかだけをチェックする。 ### Jekyllなんもわからん(のがた) * State of the Map Japan 2022が12月なのに10月に入ってもサイトが仮状態 * 2020年のサイトをコピーしたリポジトリ用意したという連絡あったけど、前のサイトが[Jekyll](https://jekyllrb.com/)で作ってたのでそれを引き継ぐことに… * とりあえず、[bootstrap](https://getbootstrap.jp/)でモックを作ってJekyllに落とし始めたけど、公式も含めてだけど日本語の情報、すごく古いまま止まってなくね? * 仕方ないのでテーマをダウンロードして、それを解析しながら作る状態に… * てか、元々用意されたところが[bundler](https://bundler.io/)で全部入れるようになってたけど、どういう風にセットアップするのか書いてないし、rubyなんもわからん状態でgemとか設定して「ruby嫌い」というお気持ちになりました * debianのパッケージでもってきても動かなかった... * テンプレにあてはめようとしても、情報がなかった。今の情報が入手できない。 * ruby 界隈めんどくさい * 作成する予定のに似たJekyllのテンプレをさがして試してなんとかした。 * 情報も古いのしか残っていない... * サイトも更新されていないような気がする * ホントは[Hugo](https://gohugo.io/)でやりたかった * 時間がなくて今からは代えられなかったので、Jekyllで * MkDocsに寄せるのがいいかも * ドキュメントはこれでいい! * [Material for mkdocs](https://squidfunk.github.io/mkdocs-material/) * リポジトリにテンプレがあって、オーバーライドかければいい * ブログ形式ではないペライチのものも作れる * Mkdocs だとナビゲーションなんかもできる * Jekyllも自動生成できるみたいだけど、よくわからん * Markdownではちょっと厳しいようなときも mkdocs はいいかんじに拡張してくれている * devcontainer の docs フォルダから mkdocs を生成するようにしている * 有料版のインサイダーまではいらないかも * サイト作成用にあれば嬉しいパーツが充実しているようだ。 * スタティックサイトジェネレータとしても有用になっている * MkDocsのサイトを見るとドキュメント生成用にしかみえないが material for mkdocs はいいよ。 * Jekyll はモダンなサイトにはちょっと… * Jekyllでモダンなサイトを作るのは無理じゃないけど、時間もなく情報の探し方もわからない状態では、かなりしんどかった * VSCodeに [drow.io](https://app.diagrams.net/) を連携させておくとすごく便利 * これで github pages 作っている人いる!! * Github Actionsを組みあわせてもいいかも ### Redmineに限界を感じてきている、今日この頃…(ワテ) * いろいろ調べていくうちに限界を感じ始めてきました… * データベース構造とか * https://github.com/wate/redmine_db_schema/ * コードとか… * モジュール化プラグイン化する? * OSSコミュニティにいる人は情報を増やすことをしない、ドキュメントの重要性を理解していない問題 * 情報が増えると人が入りやすくなる。→コミュニティのため * ソフトの全体像がわからないと、設計にかかわってくる * 競合ソフトや他社をみない...? * LibreOffice は MS Officeの良い部分をとりこまない * ほかには、Baseも古いけど、[AirTable](https://www.airtable.com/home/built-for-you)のようなものを全然見てない * AirTableはスプレッドシートとDatabaseの間ぐらいのような感じのサービス * [AirTable:直感的にデータベースを使えて業務システムに最適](https://note.com/a_n_do/n/n525324e06344) * こういうのも触りました: [NocoDB](https://www.nocodb.com/) * [NASでも動く! Excel感覚で使えるウェブデータベース「Baserow」と「NocoDB」【イニシャルB】 - INTERNET Watch](https://internet.watch.impress.co.jp/docs/column/shimizu/1430366.html) * Redmine は NOTIONのいいところをとりこまない * OSSでは車輪の再発明を嫌うが、これは車輪の再発明ではない * いいところを取り込むために試すようなこと * 車輪を作り直して改良している * Redmine的なものをPHPで再実装したら、レンタルサーバーでもおける? * [MariaDB](https://mariadb.org/)などを DBのメインにする * SQLiteは ? * SQLiteにしたところで堅牢性はないのでそこは利用者ががんばってね * SQLite は WASMになったのでクライアントではいい * PostgreSQLもミドルウェア全部のせられる? * Rust ? Elixer ? * 計算ライブラリの場合は [rust](https://www.rust-lang.org/ja) でいけたのですが、サービスはちょっと厳しいかもしれない。 * [ArduinoのIDE](https://www.arduino.cc/en/software)が rustに対応したら、Rustに移行しようと考えている。 * Go でいけることが Rust でできるようになったので、Rustで * Go は..テンプレート記法にうまくなじめなかったので、Goは読めるだけでいいかなと思っている。 * PHP は厳しい? * [WASI](https://wasi.dev/) は コンテナでやっていたものが全部できるから言語インタプリタがなくても大丈夫になるかもしれない。 * 覚える言語シンタックスは減らしたい。 * [WEB Assembly](https://developer.mozilla.org/ja/docs/WebAssembly)化したとき Rust が一番サイズが小さいというのがある。 * PWA上で WEB Assembly をくみこめるしフルの機能が使える。 * Googleの[MediaPipe](https://mediapipe.dev/)のAIサンプルがだいたいiPhone、AndroidでWASM実装できる状態になっているので、PWA化してもネイティブと変わらない速度で動くのが実際に確認できます。 * 動作確認も Playground ができて便利 * 一回ダウンロードするというのが唯一の欠点か * [WebGPU](https://www.w3.org/TR/webgpu/) * 計算用のライブラリなので非常に早い ### ざつだん? * redmineを再構築すると、いいものできるかも * 別言語で実装するかも? * 昔、gitリポジトリを管理する[gitolite](https://gitolite.com/gitolite/index.html)というのがありました * それとredmineを連携するシステム作ってた * [Flat ODFとRedmine, Git(Gitolite, SparkleShare)で文書共有システムを作ってみた(構築編) | Days of speed:](https://www.nofuture.tv/20131217) * これ、発表の日付が2013年。10年前だわ * OSSのプロジェクトの運用もちょっと難しいところがある。 * どこかに文書化したい * 古い開発状況のあれがのこっていてきつい。 * 当時とはディスプレイの解像度がちがう * 老眼? もある。 * ruby界隈はrubyに寄せようとしすぎ。 * rubyで書きやすいようにする主義だから? * python はマシ(のような気がする)。ノリでパッとやるイメージ * Jekyllさわっていても古さを感じたので、ruby界隈の雰囲気かなー #### distrobox * slack からの転載 * そんなあなたに[distrobox](https://github.com/89luca89/distrobox)。Linuxでしか使えないけどdokerとローカル環境をシームレスにつないでくれる便利なヤツです * いわゆるDevContainerのVSCodeのガワがない版 * GUIのアプリが動く(Xがつかえる) * [VirtualBox](https://www.virtualbox.org/) 7がリリースされたがどうか * Apple Silicon対応は本格的に使えるか? * まだ実験的実装なので使えない * ほかの人はDevContainerでいけるよねで * DevContainerを使うとき、(ライセンス的に)Docker Desktopが問題になるけど、WSLにDocker CLIをインストールしても使えた * Docker Desktopは、いい感じに設定してくれるけど、WSLにDocker CLIできるならDocker Desktopがなくても問題ないのでは? #### 文書のかきかたのポイント * 文字だらけにしないでスクショを貼りまくる * 構成に注意する * わかりやすくしないとよんでくれない * 最初に QuickStart、その後に設定変更の構成 * チーム開発だと背景の違う技術スタックの異なる人がくる * 問題を考えると最終的に日本語の読解力にいきつくことがあるので、最初は短かく * 略語対策はMkDocsの拡張のtooltipsで * Markdownテキストでもそれっぽく表示される。 * 略語は[tooltip plugin](https://roipoussiere.frama.io/mkdocs-tooltips/)で説明するといい * 基本的に略語はできるだけ使わない方がいい * 社内用語も通じなくなるから使わない方がいい 告知 --------------- ### State of the Map(12/3) * 12月3日、加古川商工会議所でState of the Mapあります。 * [State of the Map Japan 2022 in Kakogawa:]( https://stateofthemap.jp/2022/) ### KOF 2022(11/11, 11/12) * 関西オープンフォーラム の [KOF 2022](https://www.k-of.jp/2022/)があります。

    Import from clipboard

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lost their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template is not available.


    Upgrade

    All
    • All
    • Team
    No template found.

    Create custom template


    Upgrade

    Delete template

    Do you really want to delete this template?

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    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

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Tutorials

    Book Mode Tutorial

    Slide Mode Tutorial

    YAML Metadata

    Contacts

    Facebook

    Twitter

    Feedback

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions

    Versions and GitHub Sync

    Sign in to link this note to GitHub Learn more
    This note is not linked with GitHub Learn more
     
    Add badge Pull Push GitHub Link Settings
    Upgrade now

    Version named by    

    More Less
    • Edit
    • Delete

    Note content is identical to the latest version.
    Compare with
      Choose a version
      No search result
      Version not found

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub

        Please sign in to GitHub and install the HackMD app on your GitHub repo. Learn more

         Sign in to GitHub

        HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Available push count

        Upgrade

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Upgrade

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully