• 2020年6月15日月曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-16T00:49:00-07:00&max-results=7&start=7&by-date=false

今日から頭脳労働

ふぃ~。(´・ω・`)

先週で肉体労働は終わらせたから、今日から頭脳労働に入れる予定だ。
と言うのも、IT業界にはITドカタという言葉があるくらい、肉体労働的な側面の強い仕事があるのよ。

例えば、このシステムってDBの項目で200~300、CSVの項目も200~300。


  • CSVから値を取得し、DBにセットする。


と、ただそれだけの処理でも、この項目数だと変数を定義したり、ゲットしてセットするだけでも凄い重労働で、手が腱鞘炎になるくらいキツい。(;´・ω・`)

が、そのようなパワー労働は先週で一通り終わったことだし、今日からはもうちょっと知的な頭脳労働に移行し、肉体負担は減らせることを期待したい。

今来ている話だと、日付だな。
僕が荒っぽく作ったバッチは、


  • フラグが1であるものを更新する。


なんだけど、来ている話を見ると、


  • フラグが1であり、かつ日付が過去であるものを更新する。


に修正しなきゃいけないっぽい

「っぽい」ってのは何かって言うと、上の話は値を取得する時の話でしょ?
「その日付項目は、いつどこで値をセットするんだ?」って話が来てない。
つまり、僕の所には情報が50%しか届いていないってことだ。

この話、取得処理の修正はSQLのWhere句を1つ増やすだけだから、修正は2分で終わる。
でも、取得処理だけ修正しても辻褄が合わんし、辻褄が合わんって事に気付いて、整理し、問い合わせしたり、チャットしたり、Web会議したり……、というのに時間を要する。

これが頭脳労働だ。

まあ、システム開発の正論を言えば、本来はその辺の辻褄合わせが終わってから実装に入るべきなんだけど、このプロジェクトはで、とにかく粗方の実装が終わってから、上記みたいな話が増えて修正していく、というスタイル。

とは言え、「修正」とは「Where句を1つ増やすこと」とかそういうレベルの話。
バッチ全体を修正しなきゃいけないような根こそぎの仕様変更にはならない、という程度の見通しがあるから見切り発車してるねん。

何とかなるやろ。

ともかく、肉体負荷は軽減の見通しや。
返事が来るまでの待ち時間も増えてくるだろう。

少しは楽したいのう。(´・ω・`)
  • 2020年6月13日土曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-16T00:49:00-07:00&max-results=7&start=7&by-date=false

但し書き

仕様書
  • 契約日:入力必須項目。但し、契約が成立していない時は必須ではない。

バカヤロ~。
それは入力必須項目とは言わんのや。(´・ω・`)

それに、「契約が成立していない時」は契約日なんて入力禁止ちゃうんか?
「入力禁止」と「必須ではない」をゴッチャにすんな。(´・ω・`)

そもそも、「但し」って何や? 「但し」なんて言葉はシステムに存在せんのや。

  • 契約日:①契約済の場合、入力必須とする。②未契約の場合、入力禁止とする。

と書かんかい。

システムはif else if else で成り立ってるってことが骨身で分かってないからこんな日本語を使うことになるんや。
システム抜きでも普通にこの方が分かり易いやろ。
日本語どうなっとるんや。

あと、条件に応じてCSVの構成が微妙に変わるのは、それはフォーマットが2つあるのと同じや。
殆どの項目が重複しているからと言って、2つあるフォーマットを1つの表で書くのはやめろ。(´・ω・`)

  • 2020年6月12日金曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-16T00:49:00-07:00&max-results=7&start=7&by-date=false

インターフェース不足

とりあえず出来る範囲でざ~っと作成したが、ここから先は仕様の様子を伺ってみないと作り辛いなぁ。(´・ω・`)

一番痛いのが、連結先システムのインターフェースが空っぽであること。

例えば、この会員の住所をAPI通信で取得する。


  • 都道府県
  • 市区町村
  • 番地
  • ビル名等

これらをAPI通信で取得する。
そういうAPIが存在するってことは資料見れば分かるんだけど、物理名とか全然無いやんけ。

どういう構造のXMLで届くのか、そこが空っぽなのよ。
XMLパラメータが「ken」だったら、こっちのソースの変数名も「ken」、というように物理名を一致させなきゃいけない部分だから、そこが無いと仮実装にも限界がある。

何で無いかと言うと、他チームの方はDBスキーマすら作ってないから。

そりゃ先に会員住所テーブルを定義して、それと一致する命名でAPIを作るに決まってるんだから、DB設計も未着手なのにAPIインターフェースなんか定義出来るわけないわな。(´・ω・`)

とまあ、こんな感じで、ひとまず一端ピークは越えたかな?

仕様が決まるか、他チームの作業が進むか、それが無いと僕もやりようが無いって状況だから、何かあれば作業し、無ければ待ち状態。

少し待ってから「急いでやってくれ!!」みたいな話が来る、の繰り返しで固めていくような進行になりそうである。

ともかく土日はゆっくりするか。(´・ω・`)
  • 2020年6月11日木曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-16T00:49:00-07:00&max-results=7&start=7&by-date=false

23時

突貫工事していたらもう23時か。(; ・`д・´)

これ以上は明日の集中力に支障が出る。
明日に備えて寝なければ。(; ・`д・´)
  • 2020年6月10日水曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-16T00:49:00-07:00&max-results=7&start=7&by-date=false

仮実装

ひとまず、僕の理解で仮実装を進行中。

「仮実装」って何なのかと言うと、例えば、DBのその項目が一意キーかどうか分かんないんだよね。(; ・`д・´)

そういう時は周囲の雰囲気で推し量る。


(´・ω・`)「知らんけど、ネーミングセンスが『管理ID』なんだから、一意キーとして使われるイメージとちゃうんか?」


くらいの僕の感覚でとりあえず進めていく。
これが「仮実装」だ。

その間にマネージャー率いる仕様策定チームで細かいことを調査して貰って、


( ゚Д゚)「いや、管理IDだけでは一意にならん。『ステータスが有効であること』を付け加えて一意になる」


ということが判明したら、その部分を修正する。
仕様策定チームの調査が間に合った範囲で終わらせるのが6月20日という目標である。

だから、修正する時に修正し易いよう実装しなきゃいけないんだよね。
どこを修正することになるかは分からんけど。

分からんけど、機能を部品化するとか、パラメータを外部定義するとか、そういうのを念入れてやっておけば、大体はカバー出来るんとちゃうか?
みたいな。

まあ、嗅覚として、このシステムは「えっ? そんな仕様があるの!?」みたいな部分は少なそうに見えるから、たぶんそれなりに着地可能なんじゃないかって感じ。
そんな感じで進行。

何だかんだでエンジニアにはってものがあって、「見えてないけど、自分達の勘は概ね正しそうだ」みたいな感覚はチームの総意としてあるのよ。

この勘が成り立つのは、結局は小規模だからだな。
僕と若い衆の2人しかプログラマーがおらん。

ITプロジェクトの難易度って、結局は規模で決まっちゃう所があって、小規模だったらこんな進行でも何とかなるのよ。
マネージメントだの開発モデルだの、そういうのは大きいプロジェクトを何とか纏めようと苦心する話であって、小規模プロジェクトは小手先のマネージメントよりもプログラマーゴリ押しの方が圧倒的に強い。

泥仕合に強いヤツが強いのが現実

勘で冒険してバッタバタで解決。
IT業界のインディ=ジョーンズ。(; ・`д・´)
  • 2020年6月9日火曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-16T00:49:00-07:00&max-results=7&start=7&by-date=false

とんでもナス

しかし、聞けば聞くほど、このプロジェクトはとんでもねぇなぁ。

何か、6月20日までに実装を終わらせて欲しいって言われているんだけど、現時点で仕様未確定。
ドキュメントも打ち合わせで使った資料が転がっている程度。
残る期間はあと10日。
無理やろ。(;´・ω・`)

たぶん、締め切りである6月20日の時点でもまだ要件定まってない。

まあ、その辺は皆まで言わずとも汲んでやるのがエンジニアの人情っつーもので、要件も決まって無ければ資料も足らんのは承知の上で、分かる範囲で作っておいてくれ、と。

例えば、「ファイルのFTP送信バッチが必要」というキーワードさえ聞いていれば、


  • その送信先サーバはどこにあるのか?
  • サーバ内のどのパスにファイルを置いて欲しいのか?
  • 送る際のファイルの命名規則は?


みたいなものは分からなくても送信機構自体は作れるし、分からない部分も判明した際に修正し易いように実装しておいて欲しい。

csvファイル処理も、csvファイルフォーマットがどこまで正しいか怪しいんだけど、少なくとも主キーとなる項目だけは分かれば、作れる部分も多いだろう。

そんなくらいの温度感で「6月20日までに実装を終わらせて欲しい」という話だ。

「何を以て完了と定義するのか?」は敢えてハッキリ決めず、マネージャーと僕の阿吽の呼吸を上手く合わせて乗り切っていく、というニュアンスで暗に合意して進行。

とんでもねぇなぁ。(;´・ω・`)

まあ、どこまでとんでもなくても、所詮は小規模プロジェクトだから、凸凹していても最終的には押し込める見通しなんだよね。

やったるっきゃないな。(´・ω・`)
  • 2020年6月8日月曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-16T00:49:00-07:00&max-results=7&start=7&by-date=false

Webデザイナー募集

この現場、Webデザインまで僕の双肩に掛ってきておるぞ。(;´・ω・`)

僕はBootStrapを忠実に使っているだけでしかなく、BootStrapの範囲を超えたものは専門外なのだが。(;´・ω・`)

何とかやってみるが、一般ユーザにウケるかどうかは知らん。(;´・ω・`)