姫路IT系勉強会 2019.03

姫路IT系勉強会 2019.03

13:30

自己紹介!

  • ガラケー壊れました。次どうしましょう
    • PinePhone とかいうのがあるそうで。
  • 「君ならPythonできるよね?」「できません」-> なぜかリファクタリング担当に
  • 定年になったらどうしましょうか
    • 非営利型法人でもたちあげたらどうでしょうか
    • 非営利法人も営利法人もやってることは基本一緒です

14:00

お題1: Ryzen 5買いました

  • 古いPCが壊れたので買い替え、入れ替え
    • 人権は大事
    • メモリ 16GB
  • 最初に起動するのは普通Linuxですよね
  • 既存のPCから抜いたディスクでXが起動しません…
    • RyzenのUEFIデフォルト設定は大体安全な方向に(仮想化支援はautoでも無効)
    • Intelは、よきにはからってくれたのに。
    • Ryzenチャレンジは2年前だったはず
  • 開発なら16GB以上は要る。
  • 仮想マシン4台だとメモリ16GBでもきついっす
  • マシンは早くなってもHDDがボトルネック
  • 今はAMDが買い
    • Ryzenは安いのも高いのもできる
    • Intelは品薄
  • Macは最初からメモリ積んで買っておく
    • 費用対効果的にはMacでは
    • 最近はちょっと高いっす
    • Macはアップデートに伴う非互換とかとんでもないポカとかが怖い
      • Bashのような基本コマンドはデフォルトのものか、それともhomeblewにするか。一長一短..
  • Intel Celeron 3865U激遅
    • 此奴の正体は実はATOMプロセッサ
      • ラズパイよりちょっと速いだけ
      • ただし冷たくてバッテリ保ちます
      • 一応、Kaby Lakeコアらしい

お題2:python3 の開発環境

  • PythonでWin、Mac、Linuxで同じものにできないか
    • Pycharmで色々試行しています
    • IDEならPycharm
    • VS CODE
    • ATOM
  • どこまでやる?
    • ごりごり なら IDE
    • シンタックスや補完機能
    • リファクタリンク
  • Netbeans
  • 結局Pycharm?
    • Udemyでも紹介されている。
    • エディタでは文脈を読んだ候補表示や補完が困難…
    • Comminity Editionにする? それともProfessional(有償版)?
  • Python特有の問題
    • インタプリタのバージョンやライブラリのバージョンを管理する必要がある?
  • Windows で sshプロトコル通信の gitをpycharm使おうとするとクライアント(puttyとか)ごとに色々変なhackが必要(鍵形式の違いなどに起因)
    • gitはLinux + OpenSSH前提なので…

お題3:フレームワークとは、DBについて

  • Wikipediaソフトウェアフレームワーク
  • PHPのフレームワークとは、そもそもどんなの?
    • 単語としては枠組みや骨組の意味で、プログラムを作るときに利用する枠組みや骨組
    • 実装例としてはCakePHPとか、larabelとか
    • 抽象化させたもの
  • フレームワークにもたれて、基礎知識をサボらないように
    • Railsが使えても、Rubyができることにはならない
    • フレームワークに起因するセキュリティホールとか対応できるの?
  • フレームワークより言語仕様の把握が先ではないか
    • フレームワーク自体がかなり肥大化しており、覚えることが多い
  • フレームワーク自身はライブラリ?
    • ライブラリのオートロード機能についての説明ひとくさり
      • composerにより、requireとかuseとかを指定せずに読み込んでしまう
        • WordPressなどは実装が古いのでrequireがいっぱい
      • 楽だけど、ヤバくね?
    • Pythonとは違う(Zen of Python)
    • Rubyはメソッド上書きが許せません
      • ふつうできると思いますが(LISP脳)
  • DB
    • SQLによるリレーショナルデータベースサーバーを指す場合が多い
      • 実装例としてMaria(MySQL)DBや PostgreSQL、OracleDatabaseとか
    • 非リレーショナルデータベース
      • MongoDB など
    • データがおいてあり、検索や取得が高速にできる方法、インターフェースがあるもの。
    • データベースは基本的にデータベースサーバーのこと
    • 軽量なものにはファイル、メモリ上のものもある
      • 実装例としてはSQLiteとか

お題4:筋電スイッチや視線入力で何かいいものは

  • 筋力が衰える病気の方のためのインターフェースを作りたい

    • 以前は頭が動いたので、頭で操作するデバイスを使っていた
    • 筋肉を動かす際に発生する電気を感知する
    • 筋電位でマウスや車椅子を動かしたりする実装がある由
  • 視線入力について

    • デスクトップの操作では、画面中央はよくても、周辺部は操作しにくい
      • アプリケーションの操作もやりにくい
    • マウスとキーボード前提のGUIをやめて、キャラクタ志向のLauncherを使ってはどうか

お題5:GPLのコードを参考にしたコードはGPLですか?

  • コピペではありません(キッパリ)
  • ライセンスは著作権にもとづいているので、著作権上保護されない範囲ならライセンスは関係しない
    • 保護されない範囲
      • アルゴリズム
      • 誰がかいても同じになるようなコード
      • 10行程度のソースコード
    • 合法的に別のライセンスにする方法:クリーンルーム開発
      • 仕様チーム:ソースコードから仕様を作成する
      • リーガルチーム:仕様の変数名や関数名などに元のソースコードの表記が残っていないか確認する
      • 開発チーム:仕様にもとづいてプログラムを作成する。この際元のソースコードを参照してはならない。

お題6:LXDEでフォントの変え方がよくわからない箇所があります

  • Debian GNU Linux buster + LXDEです。
  • アプリケーションのフォントはアプリケーション側で設定しますが、メニューなどが小さいままだったりします。
  • 一部のフォントが小さくて見づらいです
  • メニューの「設定」項目にフォント指定ツールがないか、再確認してください
  • デスクトップパネルなら $HOME/.config/lxpanel/LXDE/panels/panelとか
  • かなり改善しました。ありがとうございます。

お題7:おまけ

お題8:

お題9:

お知らせ