Takunojiのプログラミング・プレイグラウンド(遊び場)

「プログラミングのススメ」と学習した結果身につくもの、アイディアを実現するために何をしたら良いか?の答えが出せるようになります。

やりたい事をやろうのススメ

障害を撃破!

やりたい事はあるけど、「時間が…」とか色々な理由(言い訳)が行く手を邪魔します。自分はそんな状況が続いて終いには身体を壊してしまいました。 こんな経験をしたので、激しく反省しました。。。 そんな訳で反省した内容をまとめました。

一度に沢山の事は出来ない

反省の結果ここに至りました。大切なのは「じゃーどーするか?」です。 1つアイディアを捻り出しました(笑) <イメージ図>

f:id:Takunoji:20181028003917p:plain
目標ブレーズイメージ図
上の様なイメージで目標(やりたい事)をブレークすると、やりたい事が分解されて一度に沢山の事をやらなくても物事を進められるであろう。と言う目論見です。 <プログラミングの場合> 1. 作成するイメージを作る
2. システム(アプリ)の運用に必要な環境(サーバ、スマホなど)を決める
3. 作成するものに必要な機能を洗い出す
4. 各機能を実現するために必要な仕組みを考える
5. 上記の実現に適した言語を選定
6. 実現する為の開発環境構築
7. プロトタイプを作る(実現可能か?判断するのにも使用する)
8. プロトタイプの実行結果を踏まえ本実装に入る

具体的には以下のリンク先に記載しています。

目標ブレーク

このように、名前をつけました。 この考え方を使って、やりたい事を出来る(実行可能な)レベルまで分解します。 大雑把に、やりたい事→最終目標として〜をやるために何が必要か?を考えて並べていくと、実行可能なレベルまで分解出来ると言うわけです。

プログラミング

結論から言いうと、プログラムの作成(プログラミング)の要領で、やりたいことを進めていく感じです。 プログラミングでは、コード(処理)を1行ずつ書いていきます。 この1行を書くために、いろんなことを調べたりテストしたり、人を説得したり。。。 いろんなことをやります。具体的には以下のようなものです。
1. コードの意味、使い方を調べる
2. コードの実行結果が正しいのかテストする
3. 仕様を持っている人(お客様など)に対し、検証結果や理論的な説明などを行う
これらを実行するときには「計画」に始まり、やること(やるべきこと)を分解して仕事の合間を縫って実行します。 人によっては「普段からやっている」人もいると思います。 大切なことは「具体的な認識を持つ」ということです。 ぼやっとした状態だと、目的を達成するためにやることがぼやけて「何をするべきか?」に対する答えが見つからないことが多いとお思います。

ポイント

目標ブレークが終わったら次は、分解した目標に対して実行する事をリストアップします。ここでは「タスク」と呼ぶ事にします。 これらをロードマップ(スゴロクのよう)にして並べ、コマを進めていく→ タスクを消化して行くと必然的に目標を達成出来ると言うわけです。 ちなみに、目標ブレークのテンプレートを作成したのでよかったらどうぞ。

自分は?

当の本人が実証出来てないのに何言ってんだ?と言われそうですが、未だ達成していません。進捗率は30%と言ったところでしょうか…

やろうとしているのは、目標達成アプリを作る事です。 これは、ゲームアプリの要素とビジネスアプリの要素があるので、なかなか完成しません(苦笑) サンプルとして、ネットワークに接続してコマを動かすゲームがあったのでそれを作っみました。作成期間が1ヶ月無かったので、やっつけでやった部分もあります(笑)

目標その1:U16プログラミングコンテストに出る(大人コンテスト)

1ヶ月でプロコン・クライアント(Java版)を作る企画を思いつき(大会の存在を知ったのが1ヶ月前。。。) 調査〜実装(作成)までをやりました。一度小さな目標を達成してみようと思った次第です。 作成したクライアントアプリ

これはこれで一応、間に合ったんで大会に出ました。(大人コンテスト) 実際は子供達に「面白いだろ?」と見せるためのプレゼン的なものだったのですが、楽しかったです。 ついでなので「Javaで実装すると早すぎて(CHaserサーバーの)レスポンスを取得するのに処理を止めないといけなかった」とちょっとJavaのアピールをしました。 そして、帰り際に子供達の「Javaだって!」という声が聞こえました。 「やった!」と一人で盛り上がっていました(笑)

なんでも良いので1つ何かを達成すると気持ちも違うものですね。 ちなみに、目標ブレークで表現すると以下の様になります。

サンプルブレーク

目標: u16 プロコン(大人版)に出る 具現化1: ゲームの環境構築 具現化2: ゲームに使うクライアント(これを競わせる大会です)を作る 具現化3: ゲームに勝てる実装を行う 。。。

しかし、元々の目標に対しては、着実に目標に向けて進めています。ちょっと愚痴っぽくなりますが。。。

迷走すると…

はっきり言ってやる気が無くなります。これは、途中で投げ出したくなる要因の一つです。目標に向けて色々とやっている時にはトラブルや障害がつきものなので、目標の指針になるロードマップがあると迷走しなくて済みます。 その代わり、解決策が見えず立ち止まることはあります。そんな時には他のタスクに手をつけるのも1つの方法だと思います。

時間が無い

これも、途中で投げ出したくなる要因の一つです。これも「じゃーどーするか?」が大切です。 「時間が無い」のは、正確には「まとまった時間が無い」と言うのが正しいと思います。実際には、通勤、通学の時間や休み時間などあら捜しをすればわりかし時間が取れるように思います。 ちまっとした時間でどーするか?と言うところがキーになります。ここは、タスクを更に分解して、5分、10分で出来る事を導き出し、空いた時間にやると言う方法があります。 大切な事は「継続する事」1日5分でも大きな結果が得られます。 ちなみにこのブログは電車の中で大まかに書き、仕上げを家でやりました。

余談ですが、1日5分の足の裏健康法で、壊した身体を健常者レベルまで回復しました。足の裏の血行を良くし、水分を沢山取り、体の毒素をおしっこで排出…と言うものでした。中国4000年の歴史もバカには出来ません(笑)

やる気が出ない

これは致命的です、まず本当にやりたいと思っているのか?やりたい事はなんだったか?を確認する事をオススメします。

ハナからやりたい事が無い

別に悪い事では無いと思います。「早く見つけなきゃ!」と慌てても何も変わらないと思います。 色々なことをやってみる、小さな目標を達成してみる、など本当にやりたいことを探すのもとても大切なことだと思います。

やりたいことを探す

これはとても楽しくて勉強にもなります。是非是非やってみてください。

でわでわ。。。