姫路IT系勉強会 2021.05

  • 開催日: 2021/5/15 13:15 - 16:50
  • 司会: fu7mu4さん
  • 参加人数: 参加者: 9名(うちLisper 1名) 学生 1名
  • HackMD https://hackmd.io/cVq5OOAaRnmZrNEhIbjUBw
  • connpass: https://histudy.connpass.com/event/212799/
  • ハッシュタグ:#histudy
  • Discord(オンラインミーティング専用)姫路IT系勉強会招待コード: https://discord.gg/rZCeScB
    • Discordは無料プランに乗れる人数(10人以内)なので使っています。
    • 有料版でも$15/月程度なら払えなくもないですね。
    • Discord以外にも色々ありますので、人数が増えたら検討しましょう。

自己紹介とか

  • なんかこだましてます
    • どなたか、マイクとスピーカの位置がおかしくないっすか?
    • マイクは切っていたほうがいいかも

お題

持て余しているストレージ2GB ChromeBookの活用方法

ネガフィルムを撮ってみました

  • ネガフィルム「で」撮った、ではないです
  • スライドはこちらに置きました
  • カラーネガの時代、モノクロの時代
    • 35mmじゃないやつもあった
  • いっそのこと、デジカメでフィルムを撮ってしまえ
  • 落とし穴いろいろ
    • この辺のノウハウを技術同人誌にまとめると売れそう(ふじわら)
  • アナログの戦いの後はデジタルの戦い
    • ImageMagickについてひとしきり討論ありました
      • -contrast -contrast -contrast -contrast引数指定おかしくない?
      • ImageMagickはバージョンで引数の指定がエグく変わる
        • ffmgegとかもバージョンでかなり変わる
      • セキュリティに穴があったらしい さようならImageMagick
      • 流石にImageMagickなしはPHPでも辛い
        • GDライブラリもあるが
  • 白黒画像の自動着色
  • やっぱり専用機材(スキャナ)買ったほうが早いかも
    • 既に市場が死んでると思ったが、実際は様々な機器がありました
  • 私もフィルムがありますが、どうしましょう
    • 捨てるのは一瞬、後悔は一生
    • やはり紙に焼いて、アルバムに綴るのがベスト?
      • 見返さないと持ってても意味ない気がするから
    • とっととデジタル化しておいてはどうか
  • デジタルにすると検索性が圧倒的に上がる
    • GPSデータ入れて場所別
    • 顔認識で特定の人の写真だけ表示

プログラミング未経験の大人が初めて学ぶべきプログラミング言語・知識(sky_y)

  • 想定

    • 対象:文章書く人(ライター、編集者を想定)
    • ドメイン:テキスト編集(日本語)+docx
    • 環境: Windows (Git Bash) or macOS (ターミナル)
    • 正規表現は必修すべき
    • 言語処理100本ノック2020の1〜3章を自力で解けるのが目標?
  • まず git はおさえておきたい

    • 100本ノックのUNIXコマンドならGitBashでカバーできる
  • 開発環境や言語環境

    • 環境構築が容易なもの
    • UNIXコマンド触るためにWSLはしんどい
      • つきっきりでなら教えたことあるが、自学自習だと厳しそう
  • これこそまさにAWKじゃないでしょうか?(田窪)

  • Q: sed的なコマンドをどうするか

    • sedがGNU系とBSD系で違う問題
    • perl -pe
  • Lispの話する?

  • Python ?

  • JS? textlint + prhで表記ゆれを検出する | Web Scratch

    • 便利ツールは色々あるが、言語としてはどうだろう
    • 高度な言語処理ツールも厳しいかも
  • 形態素解析なら、mecabで pythonなら mecabのバインディングがあるような気がします。

  • Rubyはうーん

    • やや辛口なコメントがいくつかありました
    • 「プログラマが」書いて楽しい言語
    • 初学者には分かりづらい部分があると思う
    • 書く人に依存する、属人化
    • 次のステップを考えるとPython良さそう(Go言語とか)
  • YAMLを覚えると良い

    • ansible書くのに使えるとか
    • YAML <-> JSON 変換

気がついたらPLになってたので、プロジェクトマネジメント入門書とか気になる話

Macを買いました

  • 8年前のノートPC から Mac に乗り換えた
  • M1で晴れてIntel Freeになりました!
    • Intel入ってない
    • x86が独特すぎる
      • PowerPC/Mipsほどではないが、M1の方が素直。
      • CPUに限らずアーキテクチャは汚いほうがよく売れる、流行る
        • Bluetoothとか?
        • USBとか?
      • SGMLやXMLは流行りませんでした
        • SGML綺麗なんですか?
        • HTMLはシンプルなので流行った
      • Worse is better の法則
  • 使い勝手や見た目はひどいですが、やはり本物のUnixはよいですね。
    • 「本物のUnix」とは? -> 仮想化とかでなくネイティブで動く、Forkはやい
    • BSD系なのでGNUなれしているとコマンドのオプションとかにひっかかる
      • それはGNUが悪い
    • なんでオプションの付け方をあれこれ作ってしまうのか、例えばDOSとか
      • DOSが邪悪なのは常識だったのでは
        • なぜもっと早くPowerShell出さなかったのか
    • 独自ビルドのvim使ってます
      • Windowsは環境構築も絡んで、結局できませんでした
  • 端末(ターミナル)中心に戻って、情熱が微妙に戻って来ました。

GitHubのIssueを英語で書く

The Doc says as below about 'loclist', element of return value of getwininfo().
> getwininfo([{winid}])
> ...
> loclist  1 if showing a location list
> quickfix  1 if quickfix or location list window
> ...

However, actually 'loclist' indicates whether the window is locationlist or not, as 'quickfix' do.
  • たぶん伝わると思います
    • 実際の動作 = actual behaviour などと書いたりします。
    • 実際のコード、スクリーンショットも併用するとよい
  • Issueのテンプレートとかリポジトリで用意されてるので、英文の参考になる
  • DeepLが便利です。
    • DeepLにいれる日本語には、主語や述語を省略せずに短い文にしましょう
    • 英文を逐次訳したような「硬い日本語」の方が綺麗な英文が出ます
    • Grammarly 校正
  • 英語のIssueでやりとりをしても、上達したかは分からない
    • 伝わってるんだからそれでヨシ?
    • 相手だって英語ネイティブじゃなかったりする
  • プログラマの第一言語は英語です

ブロックチェーン開発された方っていますか

  • 会社でビットコインにハマッている人からSymbolで何か作れるのか?のお題が出ました
    • NEMベース
  • 老人向けのジョブサイトをサンプルターゲットで思いついたのでスタート
  • 単純にサーバーを立てて、APIを叩けば良いかと思いましたが泥沼にハマッております。
    • BootStrapが用意してあって簡単にいきそうに見えるが…
    • ドキュメントがひどい
    • ユーザという概念がない
      • ユーザ=public key/private keyの組み合わせ
      • 仮想通貨に相当する「Mosaic」をやり取りする時に、鍵で署名すると情報が登録され、ユーザー情報代わりになります。
      • Mosaicのやり取りを実際に行わないと”ユーザー情報”が登録されることはない
      • 作成される情報がWebAuthと似通っているので、恐らく相互利用が出来そう
    • Private系環境とPublic系環境の区別
      • ブロックチェーンへの書き込み要求(トランザクション)に簡易とDEEPがある
      • 簡易はPrivateで実行すると標準でこっちに
      • DEEPはPublicへのトランザクション要求では必須になる
      • このため、チュートリアルの開発環境で開発するとブロックチェーンになっていない...
      • Public環境に書けないとブロックチェーンとして成立しない?
      • Private環境にすべて自前で構築しないといけない?
      • public環境を使う場合、トランザクションを一回投げるごとにNEMで手数料を払う必要がある
    • CliとSDKで結果が違う
      • ユーザー情報を取得した場合、Cliだとユーザー情報とMosaic情報が一緒に返ってきます
      • SDKで実行すると、ユーザー情報とシリアライズされたMosaic情報が返ってきて、そのままでは使えなくなります。
      • シリアライズされた情報が、ブロックチェーンの高さ情報になっているので、そこから情報を引っ張れるAPIが存在している可能性があります。
    • この楽しみを味わいませんか?
  • 日本暗号通貨ユーザ会
  • LINE Blockchain Developers
  • Hyperledger fabric で始めるブロックチェーンアプリケーション (1/3) - Qiita

Debianのnginxが古すぎてツラい(Shizuki)

雑談ネタ:みなさんが最近したコントリビューションは何ですか?(fu7mu4)

雑談ネタ:あたらしいプログラミング言語やフレームワークにチャレンジした? (fu7mu4)

  • Go, Rust, JavaScriptを始めました。(田窪)
  • gRPCを触ってみたく、相性の良さそうなGoを触ってみるなどした(hirossan4049)
  • 少し前に、メールサーバーのDNSにdmarc入れてみました(さとう)