ジャンキー日記

ちゃらんぽらんな人間の初ブログですw

覚えたことまとめ - (現場業務)

 今回は技術的なものじゃなく、

現場業務について書いてみようと思う。

 

開発案件の大まかな流れは、

 

要件定義

 ↓ 

基本設計

 ↓

詳細設計

 ↓

開発・単体テスト

 ↓

修正・結合テスト

 ↓

総合テスト

 

この基本設計と詳細設計の粒度については、

現場のルールによって変わってしまうので、

一概にこういうものと断定することができない。

(最悪ない場合もある)

 

ただ、基本設計はシステム全体の大まかな仕様が記載されていて、

詳細設計はシステムの細かいところ(機能など)が記載されているという認識で

問題ないと思う。

 

上で詳細設計は「システムの細かいところ(機能など)が記載されている」

と書いたが、

詳細設計を作成しつつ、開発・製造する場合がある。

こうなると手戻りが頻繁に発生してしまう。

ただこれは現場での方針なので返ることができない。

それでなくても開発が始まれば仕様変更は必ずと言っていいほど発生する。

 

また、現場には言っていることがコロコロ変わる人や、

筋違いの話をする人もいる。

 

色々と書いたが、

ストレスの原因になる人や物事が現場にはとても多いw

そして必ずと言っていいほどそれは起こるw

 

全部真面目に対応していると心が疲れるし、

いちいち気に留めていたら持たない。

 

そこで自分なりの気持ちが楽になる方法。

 

現場の人の言動や対応の場合、

 

そもそも会話の相手が故意でない限り、

傷つけている自覚もないし、無自覚でやっていることが多い。

ただこっちが傷つくのも事実。

そんなときは「この人は別に傷つけるつもりで言っていない」「何か原因が他にある」

と思うようにしている。

自分自身、忙しい時や体調が悪い時、思うようにいかないときは、

言葉遣いが荒くなってしまう時もある。

だってお互い人だもん、そんなときもある。

ただそれを自覚して気を付けることができる人とできない人がいるのも事実。

これに関しては変えられない。

なら自分の受け取り方を変えるしかない。

 

自分はネガティブ思考で被害妄想が強い。

話してる相手が不機嫌な場合、

自分が何かしてしまったんじゃないか?とか、

自分に対して怒っているんじゃないか?とか考えてしまう。

そのせいで動きが遅くなってしまう。

でもこれも受け取り方次第でどうにかなる。

 

よく言われるのは、

それは自分ができるからそう思うだけで合って俺にはそんなことできない。ってよくいわれる。

でも俺だって最初はできたわけじゃないし、今でも完全にできているわけじゃない。

ただできることから少しずつ変えてみた結果、今の考えができるようになった。

 

今回伝えたい内容は、

出来ないことがあっても問題はないし、しょうがない。

ただ、それが原因で辛い思いをするなら自分が変わるしかない。

すぐにはできなくても少しずつできるところからやるしかない。

やったことによって分かることもあるし、

やったことによって結果が変わることもある。

出来ないことに理由をつけて逃げないでほしい。

精神論と言われるかもしれないけど、精神でしか変えられないものもある。

 

これができるだけでどんな環境でもある程度は頑張れる。

 

現場業務というより気持ちの部分の話になってしまったが別にいっかw

 

終了!!!!!!!!!!!!!!!

覚えたことまとめ - (エラー)

今回は自分が一番苦戦していた、

エラーの対処について書いていこうと思う。

 

開発を始めた当初エラーが出ているけど、

何を言っているのか分からないときが良くあった。

というか最初は全く分からなかったwww

 

ただ、回数を重ねるとなんとなく分かる時があった。

 

はっきり言えることは、

今でもエラー文を読んだだけでは原因と解決方法は分かりませんw

 

簡単なものなら分かるが、

少し厄介なものは全くです!!!

 

エラー文ははっきり言ってよくわかりませんw

大多数の人がそうだと思います!!!

でもなんで分かるかというと、

何となくで察している部分が多いです!!!

そもそも英文翻訳されているので日本語がお粗末なんですw

 

明確な解決方法はないですが、

トライ&エラーを繰り返すしかありません!!!!!

 

繰り返すことによって覚えるしかありません!!!

最初は難しいエラーでも原因が分からないだけで以外と簡単なものだったりします!!

ここでよくあるエラーが「型が一致していない」が多いです!!

最初はこのエラーを解決できるか否かが第一段階だと思います!!

これは以前に書いた型変換を活用できるようになれば解決できます!!

これが解決できるようになるだけで大幅に不安やストレスからは解消されますw

 

今回はここまで!!!!!!!

 

次回もまた思いついたことを書きます!!

 

終了!!!!!!!!!!!!!!!!!!!!!

 

覚えたことまとめ - (関数)

今回は【関数】についてを書いていきます。

 

関数は、ファンクション、メソッドとも呼ばれます。

関数はどんなプログラムでも使用される、なくてはならないものです。

主に機能単位で関数を作ります。

 

関数作るにあたって、

【引数】と【戻り値】というものが必要になります。

以下に例を書きます。

 

-------------------------------------------------------------------------------------------------------------------

 

例)計算を出す ※関数の呼び出し(1~3)と定義(5~9)

1|  int aaa = 10;

2|  int bbb = 5;

3|  int ccc = Keisann(aaa, bbb);

4|

5|  public int Keisann(int AAA, int BBB){

6|  int CCC = 0;

7|  CCC = AAA + BBB;

8|  return CCC;

9|  }

-------------------------------------------------------------------------------------------------------------------

 

5行目を分解して説明します。

public       ⇒ アクセス装飾子

           決まり事みたいなもので、public または private を書きます。

int          ⇒ 戻り値の型

           関数の処理結果をどの型で渡すかを決めます。

           3行目の受け取る側(ccc)と型が一緒でないといけない。

Keisann      ⇒ 関数名

           関数に任意の名前を付けることができます。

           ただ同じ名前が使えない場合もあります。

(int AAA, int BBB) ⇒ 引数

           関数の呼び出し元から受け取る変数を記載。

           引数が0でも可。複数の場合はカンマ区切り。

           渡す側と受け取る側で型を一致させなければいけない。

 

開発をやり始めた最初に陥りやすいエラーが、

戻り値と戻り値を受け取る側の変数の型が一致していない、

引数の数が一致していない、

引数の型が一致していない。

これらが例に挙げられる。

 

以前書いた型変換を行うことで解決ができる。

 

今回は業務が忙しいのでここら辺で止めます!!!

次回はまた何か思いついたことを書きます!!!

 

 

終了!!!!!!!!!!!!!!!!!!!!!!!!!!!

覚えたことまとめ - (型変換)

今回は前回の宣言通り【型変換】について書こうと思います。

型変換は文字通り、現在の型から別の型に変換することです。

使用する意図や目的ですが、一番簡単な例を挙げます。

 

例)数値を文字列に変換して格納する。

-------------------------------------------------------

 int AAA = 123;

 string BBB = "";

 

 BBB = AAA; -----NG

 BBB = AAA.ToString(); -----OK

-------------------------------------------------------

 

AAAはint型ですが、

ToString()をすることによって文字列型に変換することができます。

 

BBB = AAA、のように格納する場合は左右が同じ型でなければいけません。

 

 

実務よりの使用例でいうと、

画面に日時を表示させなければいけない時に、

日時を表示させる部分は文字列でなければいけないという前提があり、

ただ日時はDate型になるので一致しません。

そのようなときに、「DateTime.Now.ToString()」と記載します。

「DateTime.Now」は現在日時を取得、

ToString()」は文字列に変換ということになります。

 

 プログラミングを始めて最初はよくここに引っ掛かることがあります。

なので最初にエラーが頻発してしまったり、うまくいかないときは、

型変換が原因だったりします。(自分もそうでしたw)

 

次回は関数について記載してみたいと思います。

 

終了!!!

覚えたことまとめ - (引数)

今回も現場で覚えたことを書いていく。

 

今回は引数について書こうと思う。

 

引数はメソッドに引き渡す値の事を言います。

(メソッドはそのうち書きます)

 

文章だとわかり辛いので例を以下に書きます。

 

---------------------------------------------------------------------------------

  1| string AAA = "あああ";

  2| int BBB = 111;

  3| 

  4| test(AAA, BBB);  ---⓵

  5| 

  6| test("いいい", 222)   ---⓶

  7| 

  8|      ~~~中略~~~

  9| public void test(string aaa, int bbb) {

10|     string testA = aaa;

11|     int testB = bbb;

12| }

---------------------------------------------------------------------------------

 

引数は①のように変数で渡すことも、

⓶のように直接文字列や数値で指定することもできます。

 

どんな時に使い分けるかというと、

データの登録や更新の際に、

データが常に変わる場合は変数を、

固定の場合は直接という感じです。

 

例えば、

testというメソッドがデータ登録・更新の処理両方を兼ねている場合、

bbbが1の場合は登録、2の場合は更新という風に使い分けることもできます。

 

あと、自分が苦手だったのは、

引数の型で苦戦しました。

 

AAAとaaaはstringで定義されているが、

intで渡したいときどうすればいいのかが分からなかった。

 

なので次回は

型の変換を書こうと思います。

 

終了!!!

覚えたことまとめ - (スコープ)

これからは仕事で覚えたことを少しずつ書いていこうと思う。

 

まずは初歩的なところを書いていく。

 

プログラムを初めてから最初に苦戦したのが

スコープ

だった。

 

最初はこれが分からなかったせいで、

サンプルを作るのにも一苦労した。

 

本の通りに書いているのにエラーが出てしまい、

エラーの内容を見ても何を言っているのか全然分からなかった。

 

参考にしていた本もコードの一部が書いてあるだけで、

どこにそれを書けばいいのかが分からなかった。

書きたいこと、やりたいことは分かるのに

それをどこに書けばいいかが分からなくて、

それが原因で徐々に勉強に手がつかなかった。

 

そんなときに「ゴールから始めるC#」という本を見つけて、

この本はどこに書けばいいかがしっかり記載しているので、

この本のおかげで勉強が少し楽しくなった。

 

本題ですが、

スコープをネットで調べると、

見える範囲、使える範囲、依存する範囲等が出てくるが、

範囲毎に使える使えないがあるのは分かったが、

その範囲がどこで分かれているのかが分からなかった。

例1のように変数を定義する前に使用するのができないのは分かるが

例2がダメな理由が分からなかった。

 

例1

----------------------------------------------------------------------------------

1| AAA = "あああ";

2| 

3| string AAA ;

4| 

----------------------------------------------------------------------------------

 

例2

----------------------------------------------------------------------------------

1| if(○○○○) {

2|     string BBB;

3| }

4| 

5| BBB = "あああ"; 

----------------------------------------------------------------------------------

 

今は分かるが、

当時は理由が全然分からなかった。

 

そこで自分が覚えた範囲の覚え方が、

中括弧で括られている部分が範囲、

という風に覚えた。

 

----------------------------------------------------------------------------------

  1|  クラス{

  2|   string AAA;

  3| 

  4|   if(○○○○){

  5|     string BBB;

  6|       if(△△△){

  7|         string CCC;

  8|       }

  9|   }

10| }

 

----------------------------------------------------------------------------------

 

中括弧( { } )内が範囲になるので、

クラスは1~10までが範囲、

if(○○○○)の範囲は4~9、

if(△△△)の範囲は6~8になります。

 

なので、AAAは2~10で使え、

BBBは5~9、

CCCは7~8で使用することができる。

 

これを覚えるのに時間がかかってしまった…

 

次は引数を書こうと思う。

 

終了!!!

 

最近の色々

 2か月ほど間が空きました…

 

6月くらいから忙しくて全く書くことができなかった…

 

そして最近は残業続きでめっちゃしんどい…

 

ちょっと落ち着いてきたけど、

まだ忙しくて気を抜けない状態…

 

 

そんな苦しんでるなか、

この業界に入ったきっかけをなんとなく書こうと思う。

 

 

元々前職はパチンコ店で役職やってました。

辞めた理由はパチンコ業界が衰退していくのが分かってしまったのと、

子供ができたときに胸を張って言えないと思ったから。

(他にも色々あるけど長くなる…)

 

んで、この業界に入ったきっかけは、

パチンコ台自体には興味があったから、

基盤等々があって台が動いてるわけだけど、

どうしてそうなってるかが気になったのがきっかけ。

 

あとはゲームとか映画が好きで、

色々な技術があるんだなぁってどんどん興味が湧いたから。

 

実際は基盤やらゲーム、映画やらの専門知識はないが、

浅い部分ではわかるようになった。

 

この業界に入って後悔している部分も結構あるけど、

その分、いろんな知識が身について楽しいと思えることも多い。

 

仕事はやっぱり楽しんでやらないと意味がないから、

今の仕事の中で自分がやりがいを持てる仕事を

見つけたり、作ったりして、

その仕事を楽しまないとなぁって最近すごく思う。

 

できることを考えるより、

やりたいことを考える方が元気になる。

 

自分ができなきゃ周りにやってもらえば良いw

まずはそれを全力で楽しむことが大事だと思う。

 

次のことは知らんw

次のことは次考えるw

今を楽しんで何が悪いw

 

そんなことを思う7月でしたw

 

(次はいつ書けるかなぁ…w)