GGG

プログラミング言語やソフトウェア開発について思ったことを書いてます

Ruby 技術者認定制度試験 sliver 合格しました

Ruby に出合ってから1か月半で、Silver取りました。

これからRuby on railsでの開発が始まるということで勉強しました。

勉強した内容を簡単にまとめておきます。

勉強したこと。

Ruby技術者認定試験合格教本の6章(添付ライブラリ)を除いて ひととおり勉強。

  1. 教科書を読む
    • 教科書上のサンプルコードを実際にコードを書いて実行確認する。
  2. Rubyでプログラムを書いてみる(連続3日間)
    • 自分で課題を決定し作ってみる。
  3. 模擬試験をやる
    • 教科書付属の模擬試験をやる(Silver)
    • 公式サイトの模擬試験(後述参照)をやる(Silver)
      • 毎日1回を模擬試験をやる。 *1週間続ける。
      • 実際には、教科書の模擬試験 → 公式サイトの模擬試験の順で実施。
        • 慣れてきたら1日に教科書と公式サイトの模擬試験を両方やる。

模擬試験は、答えを覚えるくらいまでやりつづける。 (25分くらいで50問を解き終えられるくらいまでやる)

教科書は1回だけ読んだ。

あとは、

期間

3週間くらい(試験勉強期間)

URL

www.ruby.or.jp

Ruby技術者認定試験合格教本 Silver/Gold対応 Ruby公式資格教科書

Ruby技術者認定試験合格教本 Silver/Gold対応 Ruby公式資格教科書

Silver模擬試験

http://www.ruby.or.jp/ja/certification/examination/index.data/exam_prep_jp.pdf

【感想】あの人はなぜ、東大卒に勝てるのか

あの人はなぜ、東大卒に勝てるのか―――論理思考のシンプルな本質

読書期間

1日(2-3時間)

まとめ

論理思考とは

  • 言葉を明確にして筋道を作ること
  • あくまでも、直感を補助するもの

言葉とは

境界線を作ること。

対象を識別し、対象とそうでないものを分けること。

e.g) りんごを識別することで、りんごでないものが分かる。

新しい言葉を習得する機会がある場合は、 成り立ちなどの語源も踏まえて、深くおぼえるのがよい。

--> 深く知ることで、知識が知恵となり、応用力となる。

考えるとは

書くこと。

フレームワークについて

  • ひとことでいうと
    • 意識的に狭く考えること
      • 今、何について考えているか明確にする。
      • 見えていない外部・内部の境界を明確にする(意識化する)
  • 本来の目的
    • 発想の質を高める。
    • 発想のもれを防ぎ、発想を広げる
  • 注意事項
    • 万能・完璧ではない。
      • 確実性
      • 具体性
    • 過信しない。

 頻出語

バカの壁

感想

論理思考とは、「言葉の道筋をつくること」とよく聞くが、 どんなによい道筋を立てても「言葉」がしっかりしてないければ 道筋には価値が生まれない。

そのため、使う「言葉」をしっかり理解して使うことが大切である。

では、しっかり理解するとはどういうことだろうか?

列挙してみた。

  • 意味
  • 使い方
  • 起源/成り立ちの由来

なんとなく意味をつかんで、雰囲気で使っている言葉はあるだろうか。

それは、プレゼンや商談のようなビジネスシーンでは使わない方がいいかもしれない。

私自身、エンジニアとして非エンジニアや他分野のエンジニアに技術的な面で説明する際に IT用語をそのまま使ってしまっているケースがある。

そのIT用語はちゃんと理解してますか?

あやしい表現や言葉はしっかりした方がいいかもしれない。

明日の自分へ

専門用語をよりしっかり理解していきたい。 そして、説明する際には専門用語を使わずに説明していこう。

あの人はなぜ、東大卒に勝てるのか―――論理思考のシンプルな本質

あの人はなぜ、東大卒に勝てるのか―――論理思考のシンプルな本質

  • 作者:津田 久資
  • 発売日: 2015/09/18
  • メディア: 単行本(ソフトカバー)

【感想】準備する力

準備する力  夢を実現する逆算のマネジメント<文庫改訂版> (角川文庫)

著者: 日本代表GKの川島永嗣

書経

家族が持っていた、この本に目がとまった。 気になったので借りた。

読書期間

2-3日

まとめ(気になった表現など)

準備する力とは?

逆算のマネジメント

だそうです。

もう少し具体的には

  1. 目標を実現するために何をしたら良いかを逆算。
  2. 日々のタスクに取り入れること。

準備する期間は、数週間~3,4年と10年単位と様々。

著者のプロフェッショナルの定義とは

その仕事にこだわりを持つこと。

仕事のモチベーションとは

スキルアップと向上心

著者のぶれない軸(芯)とは

100%全力を出すこと

ステキな表現

  • ぶれない軸(芯)を自分の中で温めつつ、発想を転換してみる。
  • 自分の価値をあげるためには、いつでも自分自身が価値を高める努力を惜しまないことが大事
  • 自分の光っている部分を伸ばしつつ足りない部分を補っていけばよい。
  • 自分には自分の道がある。
  • アプローチの角度を変える
  • 新しい環境下になじめなくとも無理に自分のペースに周囲を巻き込もうとせずに、その環境にいかに順応し、自分の持ち得る力を100%出せるかを考える。
  • 遠回りになっても自分の意志や好奇心に素直に従う
  • 近い将来、自分はどうなりたいか考えてみる。

感想

いくつもの考えさせられるテーマがあった。 自分のこのタイミングで、この本に出合えて本当に良かった。

自分にとっての「ぶれない軸」とは?

自分にとっての「ぶれない軸」とはなんだろうか?

著者は「100%全力を出す」ことだそうだ。

この本を読んだとき、自分のぶれない軸ってなんだ? 

・・・特に思いつかない・・・。ないのだ。 と思った。

皆さんは、どうだろう? ありますか?

これから見つけていこうと思う。

答えは外にあるのではなく、自分の中にある。

自分を見つめなおすにはいい機会だった。

近い将来自分はどうなりたいか考えてみる。

今、置かれてる状況・環境から逃れたい一心で行動してしまう・・・そんなこともあるかもしれない。

それだけで良いわけがない。

3年後、5年後、10年後に自分がどうなっていたいか?

もう一度考えてみたいと思う。

自分には明確なビジョンがなかった。 おぼろげなモノはあるが、明確ではなかった。 明確にしなければ、「準備」もできない。

これ重要。

Gemfile を使って gemを管理する

bundler をインストールし、以降は Gemfileで管理する

>gem install bundler
Fetching: bundler-1.11.2.gem (100%)
Successfully installed bundler-1.11.2
Parsing documentation for bundler-1.11.2
Installing ri documentation for bundler-1.11.2
Done installing documentation for bundler after 10 seconds
1 gem installed

>runemacs Gemfile
# 後述

>bundle install --path vendor/bundler
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Installing coderay 1.1.0
Installing method_source 0.8.2
Installing slop 3.6.0
Using bundler 1.11.2
Installing pry 0.10.3
Bundle complete! 1 Gemfile dependency, 5 gems now installed.
Bundled gems are installed into ./vendor/bundler.

Gemfile

source "https://rubygems.org"

gem "pry"

Reference

ruby.studio-kingdom.com

Ruby on Rails エンジニアになりました。

IT企業にてRuby on rails エンジニアになりました。

ソフトウェアエンジニアとしてスクリプト言語をひとつマスターしたい。 フルタイムでスクリプト言語の経験を積みたいと思ったしだいです。

PowershellVBAは過去に作業の自動化でコード書いたことありましたが片手間でやっておりました。

前職は、半導体製造装置メーカーで、この辺のことをやってました。 約8年間勤務した次第です。

今後もぬくぬく過ごすのも悪くなかったのですが、 仕事に慣れてきた、なんか楽だなと思ってしまいました。

人生は一度限り、チャレンジしてみたいと思った次第です。

そして、自分の前職の経歴を書いてみてわかったんですが 案外、マネージメント関係の仕事してたんだなww

よく使う?最近使ったgit command

これまでGitの操作はSourceTreeによるGUI操作が多かった。

転職して職場が変わったらCUI操作がメインになった。

ここ最近、使ったコマンドを一覧にしてみた。

Git command

一覧

command Description
git init カレントディレクトリにリポジトリ生成
git add --all ステージへ全てのファイルを追加する
git reset ステージ上のファイルをUnstageする
(コミット対象から外す)
git remote add origin <remote-repository-pass> リモートリポジトリ名 origin へ <remote-repository-pass>を追加
git push -u origin --all 登録している origin へリモートリポジトリへ push
git push origin --tags ローカルで付けたタグを全てリモートリポジトリへ反映させる
git push origin <タグ名>
git checkout -b <branch-name> ブランチ名<branch-name>のブランチを生成し、<branch-name>へチェックアウトする
git checkout -f 作業内容をクリアして、直前のコミットの状態にする。
git checkout <branch-name>  ブランチ名<branch-name>をチェックアウトする
git branch ブランチ一覧を表示する。
git branch -d <branch-name> ブランチ名<branch-name>を削除する
git status 変更状態を表示する。
git commit -m "You write something here for what you modify." メッセージをコマンドライン上で指定しコミットする。
git log 過去のコミットメッセージを表示する。
git merge <branch-name> 現在のブランチにブランチ<branch-name>をマージする。
git rm --cached <file-name> gitのトラック対象から外す
git tag <タグ名> タグ <タグ名> をセットする
git reset HEAD <ファイル名> 「git add (ステージング)」した<ファイル名>を取り消す(アンステージする)

リポジトリの生成

カレントディレクトリにリポジトリを生成する
$ git init 

ステージ , アンステージ

ステージに移動する
$ git add --all
アンステージする
$ git reset

リポジトリ状態表示

git status

リポジトリのトラック対象から除外

$ git rm --cached foobar.txt

リモートリポジトリとして<remote-repository-pass>登録

git remote add origin <remote-repository-pass> 

コミット

コマンドラインにコミットメッセージを含めてコミットする
git commit -m "You write something here for what you modify."

【感想】ハードワークでも折れないこころの作り方

ペンタゴン式 ハードワークでも折れない心のつくり方

書経

表題の通りでこころが折れそうになったので読もうと思った。

読書期間

2-3日

まとめ

定義

折れない心とは?

竹のようなしなやかなこころ

もう少し具体的には、「柔軟性」、「自分自身の弱さを認識し、受け入れること」

どうやって作るのか?

自分自身を知る

  • 何について不安・恐さを感じるのか?
    • 書き出してみると良い
  • 弱い部分を知り、認める。
  • 価値観を知る。
  • 固定観念を知り、排除する。

日ごろの鍛錬

  • 日ごろから柔軟性を磨く。求められたときに準備無しには急に対応できない。

    • 基本を何度も繰り返し、いつでもできるようにする。
    • 実践形式のシミュレーションによる学習
  • 何を磨くのか?

    • 客観的な情報をもとに考えること。
    • 呼吸法
      • 理想的な呼吸法
      • タクティカル・ブリージング
  • ON , OFF をしっかり作る
    • OFF : 瞑想の導入
    • ON : 適度な緊張

実践でこころを強くする

  • まず戦略(プラン)をありき
    • プランはたたき台
    • 詳細までつくる
  • 視点を変える。

問題解決のステップ

  1. まず、何を解決するのか決める

    1. 何を決めるのか
    2. 目的は何か
    3. 制約条件は何か
  2. OODAループを用いて解決する

    1. Observe
    2. Orient
    3. Decide
    4. Act

折れた場合、折れそうになった場合

  • 根本原因を突き止めること。
    • 見えるものが原因とは限らない。
      • e.g ) 仕事の成果が出ない(悪化した)のは、もしかしたらプライベートに問題を抱えてるのかもしれない。
  • 本書では、ストレストリガーという表現をしている。

自分なりのやりかた(不安を解消する方法)

不安の明確化

何に不安があるのか、パニックになってわからない状況になったらまず冷静になる。 どうやったら冷静になるのか?

何に恐怖や不安を感じるのか、思いつくまま書き出してみる。 (ブレインストーミング的に)

解決策の模索 ( Observe )

書き出した内容(不安なこと)について、どうやったら解決できるのか?

・自分自身で解決方法を思いつくまま書いてみる。 ※実現できるかどうかはどうでもよい・ (ブレインストーミング的に)

→ とにかく情報を出す。出すことで整理される。

解決するための方向付けを導き出す。(Orient)

  • 出た情報を元に具体的なやり方(解決方法)に落とし込む。
  • 優先順位と実現性を出す。
  • 実現性については第三者に相談もいい。

試す項目を決定する。(Decide)

  • 上位三位について,それぞれ下記のことをやる

    1. 頭の中でシミュレーションする
    2. 納得がいったら、"やる"リストに入れる。
      • 納得が行かなかったら、保留にする。
  • 保留の項目は Orientに戻り別の実現方法を考える。

問題解決をするために動く (Act)

  • 実際に行動に移す。   

参考URL

OODAループ - Wikipedia