2019年06月08日

さらばスパゲティコード、「マイクロサービス」で分割

1 : 田杉山脈 ★ :2019/06/07(金) 23:45:21.86 ID:CAP_USER.net
システムを構成する機能を切り分けた「マイクロサービス」の活用が進んでいる。プログラムが複雑に入り組んだ「スパゲティ状態」に陥る事態を避けて、開発や運用を容易にする。眼鏡専門店「JINS」を運営するジンズは、あらゆるモノがネットにつながる「IoT」基盤に採用した。

【前回記事】クラウド仮想化の進化形、「コンテナ」の正体

「アプリケーションやデータの種類を柔軟に変えられるようになった」。眼鏡販売大手の…
https://www.nikkei.com/article/DGXMZO44083340T20C19A4000000/








おすすめ
よく奴隷が回してるヤツってなんのために回してるの?

カナダで、先住民族の女性数千人に対する集団虐殺が発覚!政府が関与・・・

中国「韓国叩きに協力してくれてありがとう日本!」

立川のタピオカ店におじさんの店員がいただけで嫌悪感を露わにする女のツイートが話題に

俺氏、Youtubeに犬の動画出してるだけで年収1200万円wwwwwwwwwwwwwwwwwwwwww




3 : 名刺は切らしておりまして :2019/06/07(金) 23:50:55.07 ID:lvaIB9Y0.net
うちのC++の1関数2万行のコードも直してください
もはや残っているメンバーの誰一人手を付けられません
大手です
こんなプロジェクトばっかです
世界で勝てるわけ無いです



15 : 名刺は切らしておりまして :2019/06/08(土) 00:20:06.79 ID:TuiWpoK1.net
>>3
2万行程度なら簡単そうだけど
無理だと思うなら捨てて作り直した方が早いんじゃね



30 : 名刺は切らしておりまして[sage] :2019/06/08(土) 00:52:29.05 ID:iZhkkEh+.net
>>3
辞めて、さっさと他にうつれば?なぜしないの?出来ないの♪



37 : 名刺は切らしておりまして :2019/06/08(土) 01:22:47.49 ID:HCEe5yIF.net
>>3
1関数で2万行って・・・
何をどうしたらそうなるのか。



43 : 名刺は切らしておりまして :2019/06/08(土) 02:30:53.78 ID:OOgWJIEE.net
>>3
当時のコーディング担当者の気持ちを今の保守担当者に乗り移らせるしかないな

複雑すぎてソース解析ツールが停止し前代未聞の「解析不能」判定になった関数を保守したことがある
20年以上使われた1000行以上の巨大関数に潜在不具合が2件あったよ
ソースを見て移植し検証完了まで三ヶ月かかった



49 : 名刺は切らしておりまして[sage] :2019/06/08(土) 04:33:23.39 ID:CjTfs52Z.net
>>3
2万行程ならたいした事ないだろ



4 : 名刺は切らしておりまして :2019/06/07(金) 23:54:00.83 ID:ha1PUuai.net
ようこそデバッグ地獄なんじゃないの?


5 : 名刺は切らしておりまして[sage] :2019/06/07(金) 23:55:48.42 ID:bhiyFQeX.net
>>1を読んでも
何の話かさっぱりわからん



6 : 名刺は切らしておりまして[sage] :2019/06/07(金) 23:55:57.19 ID:EgB5IvEX.net
スパゲティーを小皿に取り分けてもスパゲティー


7 : 名刺は切らしておりまして[sage] :2019/06/08(土) 00:00:26.14 ID:MR0BjAV9.net
パソコンの背中の配線群の事かと思ったが
違うんだね。



8 : 名刺は切らしておりまして :2019/06/08(土) 00:01:14.48 ID:idBhKb7s.net
途中途中でリファクタリングの工数と予算を要求すると蹴られるんだよな
で、ス→スパ→…→スパゲッティ、と
スの段階でリファクタリングすりゃ、最小の混乱で済んだのに



9 : 名刺は切らしておりまして[sage] :2019/06/08(土) 00:02:08.17 ID:ETs9mwBA.net
スパゲティは半分に折って茹でると
食べる量が1割〜2割程度減る的なお役立ち情報?



10 : 名刺は切らしておりまして :2019/06/08(土) 00:02:21.89 ID:6ZydLyfa.net
プログラムがスパゲッティなのの半分は仕様がスパゲッティだから


16 : 名刺は切らしておりまして :2019/06/08(土) 00:20:43.60 ID:3+Si24+K.net
>>10
人間そんなに頭良くないから、最初から完璧な完成形なんて設計できねぇんだよ。
金が無きゃフェーズフェーズで90点くらいで出来上がると60点くらいになる。



24 : 名刺は切らしておりまして :2019/06/08(土) 00:44:34.83 ID:kxsavYD3.net
>>16
オープンソースのプログラマーの話で、まず、完璧に動くものを作り、次に、それをふまえて、ゼロから作り直すという
作業手順でやってるって話を聞いた。優秀な人でもそうなんだよ。



47 : 名刺は切らしておりまして :2019/06/08(土) 03:12:07.47 ID:6ZydLyfa.net
>>24
それオレが言うところの2パスプログラミングだ。
(もしくは習作・清書プログラミング)

1パスめが洗い出し、2パス目がほんちゃん
2パス目は視点が遠くなって将来を見据えられる。



11 : 名刺は切らしておりまして[sage] :2019/06/08(土) 00:10:30.92 ID:CFlzUcPy.net
マイクロサービスの中が更にスパゲッティになる


12 : 名刺は切らしておりまして :2019/06/08(土) 00:11:54.29 ID:0mGGrbaX.net
参照関係の洗い出しはそれほど難しくはないよ。

しかし、



13 : 名刺は切らしておりまして :2019/06/08(土) 00:13:53.26 ID:zzIgDvlI.net
コンテナ使おうが何しようがスパゲッチーは変わらんやろ…


14 : 名刺は切らしておりまして[sage] :2019/06/08(土) 00:19:02.59 ID:rErt5JcK.net
スパゲッティーしか作れない人材がマイクロサービス構築できんのか?


17 : 名刺は切らしておりまして :2019/06/08(土) 00:27:51.13 ID:uA7R7QrS.net
メガネ屋さんとどんな関係が?


18 : 名刺は切らしておりまして :2019/06/08(土) 00:35:10.14 ID:2TKc3F1p.net
遂に出てきたな


19 : 名刺は切らしておりまして :2019/06/08(土) 00:35:26.14 ID:+76JWvVC.net
何が言いたいのかサッパリわからん
プログラムの事を知らない人間が記事を書いてるのでは?



21 : 名刺は切らしておりまして :2019/06/08(土) 00:37:47.22 ID:2TKc3F1p.net
>>19
お前みたいなやつのせいでいろんなことに苦労したもんだよ
分からないなら今すぐその業界をやめなさい。センス無い。



25 : 名刺は切らしておりまして :2019/06/08(土) 00:45:00.70 ID:NTgiKhYn.net
>>21
ファイル数増やして仕事した気になってるスパゲティならぬスカスカコードを量産するお前みたいなバカだな



20 : 名刺は切らしておりまして[sage] :2019/06/08(土) 00:35:28.18 ID:xL5bxpHZ.net
ソースを全て解読しようとするから無理なわけで
ソースを機能で分解して、分解できないなら一から作って結果突合の方が精度高い



22 : 名刺は切らしておりまして[sage] :2019/06/08(土) 00:42:24.44 ID:KCbIEVa1.net
なくならないとおもうけどな
コード化する以前にどういうふうに
するかを頭にえがかなけければ

構造化のほうがましかも



23 : 名刺は切らしておりまして :2019/06/08(土) 00:42:57.68 ID:561/Wdwj.net
業務内容を精査・整理して、作り直した方が早いだろう?

特に企業統合が多い時期なら尚更だ。

極端な話、開発費を1/2、1/3に出来る



26 : 名刺は切らしておりまして[sage] :2019/06/08(土) 00:47:00.35 ID:sdvzw1yQ.net
相互依存関係が強いと改修コストが高い
1つ完結で小さなサービスの寄せ集めなら影響しない



27 : 名刺は切らしておりまして :2019/06/08(土) 00:47:02.44 ID:561/Wdwj.net
現状の気ままな、アバウトな業務をある程度整理するだけでも
意思決定が速くなるという嬉しい副産物も得ることが出来る。



28 : 名刺は切らしておりまして :2019/06/08(土) 00:50:42.53 ID:561/Wdwj.net
発注者自身が、自社の事が判らないと手の付けようがない。

勝手に進めると怒られるだろうし。

それではできませんと言う勇気が無いと後で重大トラブルになる。



29 : 名刺は切らしておりまして :2019/06/08(土) 00:51:03.97 ID:idBhKb7s.net
masmで10万行のプログラムを作成・メンテ・サポートしてたけど、
始めから(隠れ)リファクタリングを頻繁に行い整った状態を維持すれば、
どうってことない規模だったな



31 : 名刺は切らしておりまして :2019/06/08(土) 00:53:33.81 ID:T0vN6uNX.net
マイクロサービスって何?って聞くと
答える人によって違うんだろうなw



32 : 名刺は切らしておりまして[sage] :2019/06/08(土) 01:00:21.31 ID:4677yM5V.net
再利用とどちらを優先するか
あと、粒度を間違えると大変



33 : 名刺は切らしておりまして :2019/06/08(土) 01:01:47.96 ID:561/Wdwj.net
「旅行のご予定はいつですか?」

「夏になるか、秋になるか、2月になるかもしれません・」

「ご予算は・・・。」

「20万円になるか、ボーナスが減れば10万円で、
 宝籤に当たれば50万円になると思います。」

「・・・。」



34 : 名刺は切らしておりまして :2019/06/08(土) 01:02:16.98 ID:f1sTrNBk.net
まぁ、実際WiFi系ISPのDC側制御を全てシェルスクリプトで済ませたことあるな。
インフラ屋としては、これだけ小さなプログラム群が充実してる中、
プログラマが態々専用の制御プログラム組んで工数消費してくれた挙句、
システムに余計な制限付けたり、あまつさえ不安定にしてくれる意味が分からない。
ユーザー向けのUIだけ作ってくれってかんじ。



35 : 名刺は切らしておりまして[sage] :2019/06/08(土) 01:07:18.20 ID:KCbIEVa1.net
ダイクストラ


41 : 名刺は切らしておりまして[sage] :2019/06/08(土) 01:54:29.99 ID:pmM0f7mH.net
>>35
OSPF



36 : 名刺は切らしておりまして :2019/06/08(土) 01:10:32.03 ID:561/Wdwj.net
出来上がった時のイメージをキチンと共有できるかどうかも有るしなぁ・・・。

後から、違うと言われても困るだろうから



38 : 実況禁止さん@\(^o^)/。[sagete] :2019/06/08(土) 01:24:51.68 ID:CeH/vCDa.net
スパゲティサービス←オチ


39 : 名刺は切らしておりまして :2019/06/08(土) 01:24:52.22 ID:UksdIGg8.net
あとで分析して違う言語に移し直すとかなったら、スパゲッティの方が効率よく
かつ何の誤植なり差異もなく移せると思うがねえ

なんでもかんでも細かく書くやつの気がしれん



40 : 名刺は切らしておりまして :2019/06/08(土) 01:42:41.64 ID:ErDiX992.net
関数なんて使わない。呼び出しだけで何クロックかかることやら。ただひたすらジャンプあるのみ。


42 : 名刺は切らしておりまして[sage] :2019/06/08(土) 02:12:42.73 ID:sOtt/Ki9.net
日経記者、解ってねぇな
スパゲティによる保守性悪化の問題じゃなくて、モノリシックによる柔軟性欠如の問題
これ脱却するのはマイクロサービスアーキテクチャで、その実行運用に便利なのがコンテナ

この構造を理解せずに、コンテナ使えばプログラムが良くなると勘違いしてる馬鹿が大杉
そこで、スパゲティなモノリシックを、そのまま巨大コンテナにして、その中でマルチスレッドやらWeb三層やら動かそうとして、8コア32GBメモリとかを使う
でもって、k8s不安定、オラクル使えねぇとかで、コンテナ仮想化はまだまだ未熟だとか、偉そうに評論してる
ちなウチ、大手SI



44 : 名刺は切らしておりまして[sage] :2019/06/08(土) 02:41:46.87 ID:SjtUBZrm.net
この記事のが正しい
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00620/040900010/



46 : 名刺は切らしておりまして :2019/06/08(土) 02:59:28.78 ID:EclMVtdd.net
今頃になって「時代はマイクロサービス(キリッ」とか頭おかしいです
気になるAmazonの本


 コメント一覧 (17)

    • 1. 名無しさん@まとめたニュース
    • 2019年06月08日 08:11
    • 協力会社の馬鹿女が仕様を完全に誤解したままプログラムを作り、それが総合試験直前に発覚。仕方ないので、俺がそのプログラムから呼び出しているSQLクエリを急遽改造し、プログラムが正常に動作するようにレコードのフェッチ順序を変更するようにしたが、1クエリで全てうまくやらないといけなかったため、サブクエリの嵐状態に。結局、1クエリが800ステップほどになってしまった。綺麗に作りたいのはやまやまだが、開発者のなかにはこういう馬鹿もいるので、ままならないことも多い。
    • 0
      • 16. 名無しさん@まとめたニュース
      • 2019年06月08日 16:06
      • >>1
        管理者がバカ案件やんけ
        それを開発者の性だと思ってるお前もバカの仲間
      • 0
      • 17. 名無しさん@まとめたニュース
      • 2019年06月09日 02:29
      • >>16
        お前のほうが現実を知らない低脳馬鹿だろ。常識的な知識もロクにない開発者ってのは稀にいるんだぞ。ほとんどはまともな開発者なんだから、常識的な知識があるかなんていちいち確認するかよ、時間の無駄だ。
      • 0
    • 2. 名無しさん@まとめたニュース
    • 2019年06月08日 08:50
    • 最終的にはノンプラミングで個々の社員が色んなアプリ作っていく時代になるだろうからそもそもプラグラミングが無くなっていくんだよ。
    • 0
    • 3. 名無しさん@まとめたニュース
    • 2019年06月08日 09:28
    • 以前のプロジェクトでの「メガデモ君」を思い出した。改行もインデントも使わない独特なソースコード書くヤツで「他の人が読めたら負けだと思っている」系のひと、
      緯度経度から地図に方角の線を引くだけなのだが・・直線で引きやがった、曲線になると言っても理解できず、修正を拒否(たぶん理解できてない)2次元の地球平面論者なのだろう。
      メガデモ系出身で優秀という話しだったが・・学力の方がアレだった。(電波の到達範囲をマッピングするソフト、地図の歪みに従い曲線で引かないと、実際とのズレがでる。)結局、ソノ部分はまるまる作り直した。
    • 0
    • 4. 名無しさん@まとめたニュース
    • 2019年06月08日 09:39
    • SOAとは違うのかい?
    • 0
    • 5. 名無しさん@まとめたニュース
    • 2019年06月08日 09:53
    • マイクロサービスによってよりシステムが複雑になりそう
    • 0
    • 6. 名無しさん@まとめたニュース
    • 2019年06月08日 10:07
    • 「2万行程なら」とか言っているやつエアプか?
      「大学の研究室で学生が一人で作ったCプログラム」じゃあるまいし
      1関数で数万行って普通にあり得ない糞プログラムなんだが

      ※5
      そう.だからモノリスの方が(開発しやすいし,結局は保守性も)良いっていう人も多い.よほど成熟したサービスか,本番レベルの完成形がしっかりみえていないと無理.或いは,最初からかなり単純なサービス位.
    • 0
    • 7. 名無しさん@まとめたニュース
    • 2019年06月08日 10:16
    • マイクロサービススパゲッティの地獄を知っていたら、普通のスパゲッティコードの方がよっぽどマシに見えてくるはず
      作り手の脳みそがスパゲッティのままなら、道具を変えてもただ問題が移動するだけだ
    • 0
      • 13. 名無しさん@まとめたニュース
      • 2019年06月08日 11:24
      • >>7
        金もらって開発したことある?
      • 0
    • 8. 名無しさん@まとめたニュース
    • 2019年06月08日 10:22
    • 仕様変更のたびに納期を延ばす文化を育てるほうが重要
      スパゲティの材料が何かを考えたほうがいい
    • 0
    • 9. 名無しさん@まとめたニュース
    • 2019年06月08日 10:30
    • ネストせずにとっととreturnしろ的な単純な話じゃなくて?
    • 0
    • 10. 名無しさん@まとめたニュース
    • 2019年06月08日 10:33
    • 1関数2万行ワロタ
      あるあ・・・ねーよ!
    • 0
    • 11. 名無しさん@まとめたニュース
    • 2019年06月08日 10:36
    • スパゲティコードが嫌ならカネを出しな
    • 0
    • 12. 名無しさん@まとめたニュース
    • 2019年06月08日 10:43
    • 目的達成が最優先課題なのに、仕様書がそれを縛っているから、間を埋めるコードがスパゲる。
    • 0
    • 14. 名無しさん@まとめたニュース
    • 2019年06月08日 11:25
    • マイクロサービス誰も理解してなくてクソw
    • 0
    • 15. 名無しさん@まとめたニュース
    • 2019年06月08日 14:18
    • 関数も、オブジェクト指向も、似たような売り文句だったような
    • 0


コメントフォーム
記事の評価
  • リセット
  • リセット

コメントを投稿してくれる方へ
いくつかのエロい単語やURL等は使えません。
下記の投稿は無断で削除する場合があります。予めご了承ください。
・荒らし行為(宣伝行為含む)
・犯罪的なコメント
・差別的なコメント
・過激な下ネタ

他ブログのネタ満載 アンテナページへ


スポンサードリンク
QRコード
QRコード
読者登録
LINE読者登録QRコード
記事検索
月別アーカイブ
最新記事
スポンサードリンク