ともろーの日記

Initializing . . .

コミュニケーションの重要性

本日は、コミュニケーションの重要性について書こうと思います。


先日、とあるプロジェクトのミーティングがありました。

そのプロジェクトが若干炎上しかけています...(´;ω;`)


プロジェクトの概要

  • 構成はサーバー,クライアント,マスター
    • クライアントでは、ゲームを行えるようにする。
    • クライアントでの結果に応じてマスターに表示する内容を変更する。
    • サーバーはその間をつなぐ役割を果たす。

  • メンバーは先輩×2+同級生×2+自分
  • 先輩は、マスターとサーバー担当、自分と同級生はクライアント担当

  • 夏休み前に仕様を決定して、夏休みはそれぞれがベストを尽くしてそれぞれの部分が完成! 夏休み明けにマージ!




    という予定でした...(・_・;)




    実際に夏休みに入り、僕はひたすら開発に明け暮れました。

    どのようにすれば仕様通りに動くのか、効率よくできるのか、バグはないのか、などとことん作りこみました。

    自分のことで精一杯になりすぎていたのがいけなかったのかもしれません。

    先日のミーティングまでほとんど先輩とのやり取りをしていませんでした。


    先日のミーティングで以下のことが発覚しました。

  • 先輩方は1人がサーバー、もう一人がマスターの作成をするとの配分を決めていた。
  • マスターの開発担当の先輩は、開発環境が無いという理由で全く開発していなかった。
  • 全員がプロジェクトの詳細を把握していなかった。



  • もうこれダメですよね\(^o^)/


    そもそも誰がリーダーなのかはっきりしていないまま、開発が進んで(?)いること自体が問題なのかもしれないですけど...

    どのようなものを作るのかを仕様の決定の際に理解しているべきじゃないですか?

    その人が理解出来ていないということより、理解出来ていないことを自覚していないことが一番の問題だった気がします。(*その人以外は理解出来ていました。)

    もしどのようなものをつくるのか理解出来ていたのであれば、開発環境が無いということは初めの担当振り分けの時点で気づいていたはずです...


    どのようなものを開発するのかということは、初めに全員が理解するべきことです。

    はじめの段階で、理解出来ていない人は理解出来ていないということをはっきりと述べるべきです。

    また、自分が十分な理解ができていないということを気づいた時はすぐにメンバーに連絡するべきです。


    プロジェクトが炎上してしまう前に...

    高校生のうちにやっておくべきこと

    今日は大学に入って2ヶ月たった僕が、高校生のうちにやっておくべきと思ったことを書きます。

    メールを書く練習をする。

    大学生になると、バイト先や教授にメールを書く機会が増えます。そのため、基本的なメールのマナーを身につけておくべきだと思います。

    タイピング速度を上げる

    パソコンで入力しなければならない課題が出されることが多いように感じます。そのようなときに、タイピング速度が早ければ入力の時間を考える時間に回すことができます。

    自分から進んで行動する習慣をつける

    大学は基本的に、何も働きかけてくれません。自分で、どのような活動があって参加するにはどのようなことをする必要があるのかということを調べて行動しましょう。

    何か自分をアピールできるものを作っておく

    自分の場合、アプリケーションの作成やウェブサイトの作成をしていました。決して完成度が高いものとは言えませんが、そのものを作る課程で得た発見や困難について話せることができます。これらは自分のアピールポイントになります。

    どちらのほうがいいか自分で考える習慣を付ける

    例えば友人にプロジェクトに誘われたとします。そのとき、あなたはどうしますか? その友人について行く事によって困難が増えるかもしれない。自分のしたいことをする時間が減るかもしれない。その友人と協力することによって面白い何かを作れるかもしれない。 自分にとって、どの選択が一番良いのかを考えて決めましょう。

    Processing ではじめるプログラミング 13日目(最終回, おまけのようなもの)

    これまでprocessingをしてきてこれで基本的なものはマスター出来たはずです。

    あとはあなた次第です。Processing をもう少し詳しくやってみるのもいいですしメジャーな言語(C, Javaなど)を勉強してみるのもいいかもしれません。

    最後になりましたが、processing でこのようなこともできると知って欲しくてコードを書いてみました。

    もしよかったら実行してなぜこの動きになるのかを考えてみてください。

    int[] hankei;
    float[] x,y;
    float[] theta;
    int kosuu = 30;
    void setup(){
      size(600,600);
      noStroke();
      smooth();
      x = new float[kosuu];
      y = new float[kosuu];
      hankei = new int[kosuu];
      theta = new float[kosuu];
      for(int i=0;i<kosuu;i++){
        x[i] = random(300);
        y[i] = random(300);
        hankei[i] = 0;
        theta[1] = random(360);
      }
    }
    
    void draw(){
      clear();
      for(int i=0; i<kosuu;i++){
        hankei[i]--;
        x[i] += sin(theta[i])*5;
        y[i] += cos(theta[i])*5;
        if (hankei[i]<0){
          x[i] = mouseX;
          y[i] = mouseY;
          hankei[i] = int(random(70));
          theta[i] = random(0,360)*3.14/180;
        }
            ellipse(x[i],y[i],hankei[i],hankei[i]);
      }
    }
    


    f:id:tomorrow63:20160702010206p:plain:w300

    Processing ではじめるプログラミング 12日目(関数のお話)

    今日は関数のお話をします。

    関数とは、処理をする箱のようなものです。

    例えば、f(x)=x+1 という関数があったとします。

    イメージとしては、箱に数字を入れると1が足されて出力されます。

    xに3を入れてみると(箱に3を入れる)4が出てきます。

    f:id:tomorrow63:20160531154650p:plain


    プログラムでも、処理を行う箱(関数)を作ることができます。

    一つ足すという関数をつくるためにはこのようなコードを書きます。

    int f(int x){
      x = x+1 ;
      return x;
    }
    

    ここでの関数の名前はfです。入力は一行目のxという部分に入れられます。

    出力はreturnのあとのxの値です。

    それでは実行してみましょう!

    何も起こりませんね

    f:id:tomorrow63:20160531174527p:plain:w300

    これは関数が呼び出されていないからです。

    箱をつくっても箱の中に何も入れなければ何も起こりません。

    箱に数を入れるプログラムを作ります。

    void setup(){
      int a = 3;
      a =  f(a);
      print (a);
    }
    
    int f(int x){
      x = x+1 ;
      return x;
    }
    

    このプログラムを実行すると、以下の順番で処理が実行されます。

    1. int a = 3;
    2. f(a)で、今aに3が入っているので、f(3)となります。
    3. 関数部分int f() の部分へ行き、xに3が入れられます。
    4. f() の中の処理で、xに1が足されます。そのため、xが4となります。
    5. return x; でxに4が入っているので、4が返されます。4という結果がsetup()の中のf(a)の結果になります。
    6. setup()の中の処理に戻ります。 aに4が代入されます。
    7. print(a); でaの値(4)が出力されます。


    f:id:tomorrow63:20160531175641p:plain:w300

    このようにしてプログラムは実行されていきます。