姫路IT系勉強会 2019.05

姫路IT系勉強会 2019.05

13:30

自己紹介!

  • 初参加者6名、うち学生3名です。

14:00

今回は付箋がないため、各自のお題を直接HackMDに書いています。

  • したがって順不同です

お題1:Redmine講座

お題2:tinyMCEにドロップした画像のデータがjavascriptから取得できません

  • WYGSYG の HTML エディタ https://www.tiny.cloud/

  • エディタに画像ファイルをドロップした場合に呼び出される、コールバック関数を実装しましたが、ドロップした画像のデータが取得できなかった。

  • 実際にはtinyMCE で画像データは取得できていた。

    • tinyMCEのレンダリング後の HTMLのimgタグの情報がとれない
    • tinyMCEのレンダリング前の情報がある必要がある。
  • javascriptの仕様とTinyMCEの仕様を調べて元にするイベントを調べたらいいんじゃないかな

お題3:勉強における写経について伺いたいです。

  • 盛大に脱線しました…

  • 説明

    • 今までやったことない言語について、効率よく身につけたい
    • 写経は役に立った、立たなかった意見など聞きたいです
  • 写経反対派

    • 写経の前にアルゴリズムをつかむ必要がいるので、何をしたいのかを考えるべきでは。
    • 「自分がしたいこと」をロジックに落とせることが大切では
  • 写経はサンプルコードを理解しながらする必要がある。

    • 考えながら写経すること。
    • 少しずつやらないと。
    • 書いたコードを説明できないと、自分が理解できていない。
  • githubのコードを読んで理解しなさい。

    • わからなければググりなさい。
    • 先人の知恵が詰まっています。
  • WordPressのコードはカオスです(設計が古臭い…)。

    • コードわからずにコピペしました、だらけ
  • Net上のプログラミング解説記事は玉石混交です。注意しましょう。

    • せめて書かれてた日付を確認しましょう(古いと役に立たないものが多い)
    • 書いている人が玄人とは限りません
    • 可能なら動作環境も(言語、OSのバージョンとか)
  • 本:「超」勉強法(買ってまで読む本でもない?)

    • 勉強のやりかたが7パターンのっている。
    • 図解版もあるよ!> 図解「超」勉強法
  • 個々人で合うものがあるので色々試してみるといいかも

    • 「わからない」はステップアップのチャンス
  • 公式サイト最強

    • 使い方、お作法が大体載ってる
    • 英語にビビらず見てみよう!
      • 翻訳は最新情報ではない
      • 訳者の主観が入りやすい
      • コードに言語は関係ない!
    • PEP8:Python の標準ライブラリに含まれているPythonコードのコーディング規約 https://pep8-ja.readthedocs.io/ja/latest/
  • 仏教の「写経」は、書き写す行為だけを指すわけではない

    • 念仏を唱えながら書くこと
    • プログラミングなら、「書いた処理を人に説明できること」
  • サンプルコードは公式サイトやgithubから探すといい

  • 検索キーワードを工夫しましょう(「会計ソフト OSS」など)

  • プラグインのコードを見るとか

    • rubyのコードは黒魔術なので読むものではありません(超偏見)
    • 大丈夫ですすぐに君もこちらがわになります。そしてすぐに(カオスな仕様に)感謝するようになる
  • 複数人で保守できないようなコードはクソコードです

    • 綺麗にコードをかけることが次のステップ
    • 最初から綺麗に書くように心がけましょう
      • 命名規則、データ構造など
        • camel case, pascal case など
      • 変数名1、変数名2やめろ
    • 本:リーダブルコードおすすめ
  • おまえら自分のコード晒せ(gihtub/gitlab)

    • Reviewと魔改造をしてもらえる、かもしれません
  • 言語をどうやって選びますか?

    • 仕事で選ぶことがある。
    • 使いなれた言語が万能ではないので、別の用途にあわせて覚える。
      • PHPはWEB向け、が多いです
      • Go はバイナリを置くだけで動作できる。
  • プロジェクト管理にはbacklogいいです。

    • クライアントを巻き込んでしまいましょう

お題4:ドライブに入れた光学メディアを、確実に読み書きできるモードに入るコマンドとかありますか

  • DVDを焼くスクリプトを書いています。
  • ドライブにメディアを入れても、すぐには読み/書きできません。
  • 「ひとしきり」待機してから次の処理にかかるようにしています。
  • それが「sync」コマンドのように、最低限の待ち時間でできればちょっとありがたいです。

ejectコマンドユーザー会で聞くこそよろしからん

お題5:javascriptを学習するにあたって、書籍を購入してみるも、辞書の様に仕様説明?の様なものが多く、実践的な学習がなかなか出来ない様に感じています。どうやって勉強されましたか。

  • お題3と被っていますのでそちらにどうぞ

お題6:小ネタ:gitlabの翻訳について

  • そもそもGitって
    • ファイル(主にソースコード)のバージョン管理
      • Git以外にはSubversionとかもある
      • 段階ごとの変更点、誰がいじったか。など
      • Webで差分の色つけなどUIをつけたサービスがGithubなど
    • Git にはサーバーとクライアントがある。
      • メジャーなGitサーバーにはgithub や gitlab, bitbucket がある。
  • Gitlabとは
    • GithubのOSS版(商用版もある)
    • Github同様にサービスでもあるが、用途としてオンプレ向け(コミュニティ版) と クラウド版(エンタープライズ向け)
    • 秘密の製品だからLANだけで管理したい!とか
  • Gitlabの翻訳プロジェクト
    • どうせ製品使うなら英語じゃなくてみんな母国語で使いたい
    • 全部開発者が網羅はできない
    • あんまり日本語化が進まないから日本語の構成役に名乗りでた
      • 名乗りもGitでファイルにマージしてもらう形で決める
      • マージの許可判定が今の構成役
        • 構成役が動かんから申請したらチェッカーがその人
        • あれ?詰んだ?

お題7:「ミュージシャンに特化した簡易的なホームページの作成サービス」を作りたいのですが正直言ってなにから始めたらいいのかさっぱりです。何の言語を使ったらいいのか、どういう風に勉強すればいいのか、また初心者は諦めたほうがいいのか……。何か助言をいただけたらと思います。

  • まずはフレームワークを決めてやるのがおすすめ

    • フレームワーク=よくある機能をある程度まとめたやつ
      • Webに必要な機能(ログイン、ユーザー管理などの機能)
      • みんなが個別に作らなくてもいいように
        • バグの出やすい部分の対策などもある程度任せられる
    • CakePHPは日本語ドキュメントがしっかりしているのでおすすめ
      • 何をどうすればわからない、なら、公式サイトのチュートリアルに挑んでみましょう
      • コマカーイところはAPIドキュメント(英語)を頑張って読みましょう
  • 最近はLaravelが有名 * PHPをしらないと辛いかも

  • PHP を学ぶには?

    • Progate や Paiza などの WEB上の学習システムでさわりを学ぶのがよいかも。
    • 他の人のレビューは有効
      • wateさんに●●●●●●●してもらいましょう!?
    • 設計からレビューするのもいいかもしれない。
    • 求められる要件を定義する
      • マインドマップ で整理するのがよい。
    • 一覧化して確認

お題8:ラズパイにこんなもの繋いだら面白いことできた!という経験があれば教えて欲しいです

お題9:イッパン的なゴカテイ(改)

お知らせ

  • 加古川IT系インフラ勉強会(6/8)
  • 姫路IT系勉強会(6月はおやすみ・・・?)