巨人の肩にダッシュで登る

僕がアウトプットできる人になるまでのブログ。形になるまでは温かく見守って下されば幸いです。

今日の自習 2019/03/04/月

今日は勢いでruby環境作ってみた

AWSのアカウント登録

AWSの料金設定設定

IAMユーザーの作成

administer group グループの作成

Cloud9のセットアップ

アジアパシフィックシンガポール サーバーhennkou

$ sudo yum update

railsのインストール

rubyでhello,world

github へ追加

f:id:aichak:20190305003146p:plain f:id:aichak:20190305002950p:plain f:id:aichak:20190305002957p:plain

今日の自習 2019/03/03/日

今日のひとこと

本日は午後14時から市内図書館学習室で自習した後、

17:00で閉館なのでそこからスタバに移動して自習再開。

個人用のslackのワークスペースを作成して、

GitHub, twitterなどと連携設定を行なった。

↓のTrello、評価良かったのでからお試しで連携してました。

trello.com

今日やる予定だったこと

  • 随時追記中.
  • 今日やったこと

  • 随時追記中
  • 困ったこと・学んだこと・共有したいこと

  • 随時追記中
  • 明日やる予定のこと

  • 随時追記中
  • 今日の自習 2019/03/02/土

    今日のひとこと

    寝るまでしっかり勉強するぞ。

    今日やる予定だったこと

  • Javaで学ぶデザインパターンのFactory Methodパターン
  • 今日やったこと

  • 困ったこと・学んだこと・共有したいこと

  • 随時追記中
  • 明日やる予定のこと

    今日の自習 2019/03/01/金

    今日のひとこと

    今日、メールを確認したら、ヤマト運輸営業所に↓の本の到着とのこと。

    www.amazon.co.jp

    読む本の順番は前もって決めてたけど、せっかくなので試しに1ページ読んでみたら

    全然止まらない。

    今日は、こっちを優先するかも

    今日やる予定だったこと

  • 徹底攻略 Java SE 8 Silver 問題集の第7章を解いて答え合わせ。
  • リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックの8章
  • 今日やったこと

  • なぜ、あなたはJavaでオブジェクト指向開発ができないのか 内容を確実に理解しながら、読破。
  • 困ったこと・学んだこと・共有したいこと

  • 随時追記中
  • 明日やる予定のこと

    今日の自習 2019/02/28/木

    今日のひとこと

    PDCA 大事。

    プログラム関係ないですが、

    昨日に引き続き今日も自習日報の更新作業に失敗したので愚痴と反省と対策を綴ります。

    僕は日報を自習中に随時更新して、自習終了=日報完成というやり方を採用しています。

    今回の失敗は利用している喫茶店Wifi環境が約10分ごとに切れるということに起因します。

    ネットが切れた状態で、更新作業を行うことで、書いた内容が消えます。

    対策としては、更新ボタンや公開するボタンを押す前にプレビュー画面を見る。

    今の所その順番で行うことで、同じ失敗は起きていません。

    一応現段階では念の為、さらに全文コピーしてから更新作業を行なうようにしています。

    一度書いた内容が消えるのはプログラムであれ資料であれ精神的にとてもツライ。

    今日やる予定だったこと

  • 徹底攻略 Java SE 8 Silver 問題集の第7章を解いて答え合わせ。
  • 今日やったこと

  • 徹底攻略 Java SE 8 Silver 問題集の第7章を解いて答え合わせ。
  • 昨日スッキリわかる Jaca入門 実践編を読破したので、ダッシュで最初〜最後まで内容確認
  • オブジェクト指向でなぜつくるのかを読書。
  • 困ったこと・学んだこと・共有したいこと

  • 消えたので週末書き足します。
  • 明日やる予定のこと

  • リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックの6章
  • 今日の自習 2019/02/27/水

    今日のひとこと

    最近、全然未熟な自分のGitのアカウントだけど、名前を統一したいなー、変えたいなーって思ってて、

    今日の昼休憩に行動してみた。

    下の記事を参考にsupport@github.com宛に件名「Request for inactive account release」で送ってみる。

  • GitHub のユーザー名を既に取得されているものに変える方法
  • GitHubで使われてないアカウントを解放してもらった
  • 返信は5時間かからないくらいできた。

    結果、対象アカウントは非アクティブでダメでした笑

    ここで言いたいのは、ダメだった!と残念だった!といいたいわけじゃない

    とても親切心に溢れる丁寧な文章で返信がくるので、

    依頼をためらっている人がいたら、気軽に送ってみたらいいよって言いたい。

    正直、今年UdemyのGit講座を受講してGithub登録して間もないので、

    まだgit_tutorialとかしかない。

    多くのプログラミング学習者が利用するGitHubという大きな会社に

    リポジトリの中身がほとんどないプログラミング初学者が依頼メールを送るのは

    実際、僕は一瞬ためらった。

    素敵な返信ありがとう、Jimmyさん。

    今日やる予定だったこと

  • スッキリわかる Java入門 実践編 第2版の14章〜15章を読破。
  • 徹底攻略 Java SE 8 Silver 問題集の第7章を解いて答え合わせ。
  • リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックの6章
  • 今日やったこと

  • マンガでわかるプロジェクトマネジメント を最初から最後まで読破。
  • リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックの6章を読破。
  • support@github.com に、非アクティブっぽいgithubアカウントの解放依頼メールを送る。結果、非アクティブじゃないよって返信をいただく。
  • 増補改訂版Java言語で学ぶデザインパターン入門 の15章 Facade - シンプルな窓口
  • 増補改訂版Java言語で学ぶデザインパターン入門 の5章 Singleton - たった1つのインスタンス
  • 増補改訂版Java言語で学ぶデザインパターン入門 の10章 Strategy - アルゴリズムをごっそり切り替える
  • 増補改訂版Java言語で学ぶデザインパターン入門 の3章 Template Method - 具体的な処理をサブクラスに任せる。
  • スッキリわかる Java入門 実践編 第2版の14章〜15章を読破。
  • 徹底攻略 Java SE 8 Silver 問題集の第6章を解いて答え合わせ。
  • 困ったこと・学んだこと・共有したいこと

  • バグ追跡システム(Bugzilla,Trac,Redmineなど)
  • UMLが定める13種類の図
  • 集約(aggregation)とコンポジション(composition)
  • WBSと懸案管理表
    • Singletonパターン
      • 指定したクラスのインスタンス絶対に1個しか存在しないことを証明したい
      • インスタンスが1個しか存在しないことをプログラム上で実現したい

    明日やる予定のこと

  • 徹底攻略 Java SE 8 Silver 問題集の第7章を解いて答え合わせ。
  • 今日の自習 2019/02/26/火

    今日のひとこと

    昨日届いた↓が予想以上に読みやすい。

    リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

    お昼の休憩中に5章くらいまで読むペース。

    大学生の時、研究室の教授が命名条件について厳しかった、と理由もあるのかも。

    5章のフレーズに『「宿題時に題したコードの関数には必ずコメントをつけろ」

    学生たちにこんなことを言う大学教授がいる。』とあった。

    当時の教授はどういう考えで発言してたのだろう、と学生時代を思い出してたら、

    昼休憩が終わった。


    今日、「Effective Java」をAmazonで購入した。

    英語版か、日本語訳か。とても迷った。

    結論:日本語訳の本が出てる時点で、日本語訳を買う。

    より早く読破して、日本語訳が出てない本を理解できる人間を目指す。

    今日やる予定だったこと

  • 徹底攻略 Java SE 8 Silver 問題集の第6章を解いて答え合わせ。
  • スッキリわかる Java入門 実践編 第2版の14章〜15章を読破。
  • 今日やったこと

  • リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックの1〜5章
  • 本ブログのデザイン変更。パターン変えただけ。
  • スッキリわかる Java入門 実践編 第2版の14章〜15章を読破。
  • 徹底攻略 Java SE 8 Silver 問題集の第6章を解いて答え合わせ。
  • 増補改訂版Java言語で学ぶデザインパターン入門 の第15章「Facade - シンプルな窓口」
  • 困ったこと・学んだこと・共有したいこと

  • Junitのテスト方法
  • junit.org
  • アサーション(assertion)の記述方法。↓は例。アサーション機能を有効にするためには、コンパイル時にはjava -ea Mainというように、-eaオプションをつける必要がある。
  • public class Account{
       private int balance;
       public void transfer(Account dest, int amout){
       /***/
       System.out.println("正常に送金完了しました。");
       assert this.balance >= 0;
       assert this.balance >= 0 : "負の残高 ・・・" + this.balance;
       }
    }
    
    $ java -ea Main
    

  • メトリクスについて。CoberturaでJavaプログラムのコードカバレッジを測定する
  • cobertura.github.io

  • メトリクスツール
  • findbugs.sourceforge.net checkstyle.sourceforge.net

    • 可変長引数の特徴
      • 同じ肩の数が可変な引数をまとめられるだけで、異なる型はまとめられない。
      • 可変長引数以外の引数を受け取る必要がある場合、可変長引数は最後の引数にすること。
    void sample(int value, int... num){ 
       // do something
    }
    

  • static領域とヒープ領域に分けられる。
  • 変数名が異なるだけでもオーバーロードにならない
  • 初期化ブロックはコンストラクタより先に呼ばれる。
  • public class Sample {
       Sample() {
          System.out.println("A");
       }
          System.out.println("B"); // 初期化ブロック
       }
    }
    
    public  class Main {
       public static void main(String[] args){
          Sample s = new Sample();
       }
    }
    
    //「B」「A」と表示される。
    

  • Javaのアクセス修飾子とUMLの可視性
  • アクセス修飾子UML
    public+
    protected#
    なし~
    private-

    明日やる予定のこと

  • スッキリわかる Java入門 実践編 第2版の14章〜15章を読破。
  • 徹底攻略 Java SE 8 Silver 問題集の第6章を解いて答え合わせ。
  • リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニックの6章