X



【IT】さらばスパゲティコード、「マイクロサービス」で分割
■ このスレッドは過去ログ倉庫に格納されています
0001田杉山脈 ★
垢版 |
2019/06/07(金) 23:45:21.86ID:CAP_USER
システムを構成する機能を切り分けた「マイクロサービス」の活用が進んでいる。プログラムが複雑に入り組んだ「スパゲティ状態」に陥る事態を避けて、開発や運用を容易にする。眼鏡専門店「JINS」を運営するジンズは、あらゆるモノがネットにつながる「IoT」基盤に採用した。

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

「アプリケーションやデータの種類を柔軟に変えられるようになった」。眼鏡販売大手の…
https://www.nikkei.com/article/DGXMZO44083340T20C19A4000000/
0003名刺は切らしておりまして
垢版 |
2019/06/07(金) 23:50:55.07ID:lvaIB9Y0
うちのC++の1関数2万行のコードも直してください
もはや残っているメンバーの誰一人手を付けられません
大手です
こんなプロジェクトばっかです
世界で勝てるわけ無いです
0004名刺は切らしておりまして
垢版 |
2019/06/07(金) 23:54:00.83ID:ha1PUuai
ようこそデバッグ地獄なんじゃないの?
0008名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:01:14.48ID:idBhKb7s
途中途中でリファクタリングの工数と予算を要求すると蹴られるんだよな
で、ス→スパ→…→スパゲッティ、と
スの段階でリファクタリングすりゃ、最小の混乱で済んだのに
0010名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:02:21.89ID:6ZydLyfa
プログラムがスパゲッティなのの半分は仕様がスパゲッティだから
0012名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:11:54.29ID:0mGGrbaX
参照関係の洗い出しはそれほど難しくはないよ。

しかし、
0013名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:13:53.26ID:zzIgDvlI
コンテナ使おうが何しようがスパゲッチーは変わらんやろ…
0015名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:20:06.79ID:TuiWpoK1
>>3
2万行程度なら簡単そうだけど
無理だと思うなら捨てて作り直した方が早いんじゃね
0016名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:20:43.60ID:3+Si24+K
>>10
人間そんなに頭良くないから、最初から完璧な完成形なんて設計できねぇんだよ。
金が無きゃフェーズフェーズで90点くらいで出来上がると60点くらいになる。
0017名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:27:51.13ID:uA7R7QrS
メガネ屋さんとどんな関係が?
0018名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:35:10.14ID:2TKc3F1p
遂に出てきたな
0019名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:35:26.14ID:+76JWvVC
何が言いたいのかサッパリわからん
プログラムの事を知らない人間が記事を書いてるのでは?
0020名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:35:28.18ID:xL5bxpHZ
ソースを全て解読しようとするから無理なわけで
ソースを機能で分解して、分解できないなら一から作って結果突合の方が精度高い
0021名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:37:47.22ID:2TKc3F1p
>>19
お前みたいなやつのせいでいろんなことに苦労したもんだよ
分からないなら今すぐその業界をやめなさい。センス無い。
0022名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:42:24.44ID:KCbIEVa1
なくならないとおもうけどな
コード化する以前にどういうふうに
するかを頭にえがかなけければ

構造化のほうがましかも
0023名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:42:57.68ID:561/Wdwj
業務内容を精査・整理して、作り直した方が早いだろう?

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

極端な話、開発費を1/2、1/3に出来る
0024名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:44:34.83ID:kxsavYD3
>>16
オープンソースのプログラマーの話で、まず、完璧に動くものを作り、次に、それをふまえて、ゼロから作り直すという
作業手順でやってるって話を聞いた。優秀な人でもそうなんだよ。
0025名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:45:00.70ID:NTgiKhYn
>>21
ファイル数増やして仕事した気になってるスパゲティならぬスカスカコードを量産するお前みたいなバカだな
0026名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:47:00.35ID:sdvzw1yQ
相互依存関係が強いと改修コストが高い
1つ完結で小さなサービスの寄せ集めなら影響しない
0027名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:47:02.44ID:561/Wdwj
現状の気ままな、アバウトな業務をある程度整理するだけでも
意思決定が速くなるという嬉しい副産物も得ることが出来る。
0028名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:50:42.53ID:561/Wdwj
発注者自身が、自社の事が判らないと手の付けようがない。

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

それではできませんと言う勇気が無いと後で重大トラブルになる。
0029名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:51:03.97ID:idBhKb7s
masmで10万行のプログラムを作成・メンテ・サポートしてたけど、
始めから(隠れ)リファクタリングを頻繁に行い整った状態を維持すれば、
どうってことない規模だったな
0031名刺は切らしておりまして
垢版 |
2019/06/08(土) 00:53:33.81ID:T0vN6uNX
マイクロサービスって何?って聞くと
答える人によって違うんだろうなw
0033名刺は切らしておりまして
垢版 |
2019/06/08(土) 01:01:47.96ID:561/Wdwj
「旅行のご予定はいつですか?」

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

「ご予算は・・・。」

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

「・・・。」
0034名刺は切らしておりまして
垢版 |
2019/06/08(土) 01:02:16.98ID:f1sTrNBk
まぁ、実際WiFi系ISPのDC側制御を全てシェルスクリプトで済ませたことあるな。
インフラ屋としては、これだけ小さなプログラム群が充実してる中、
プログラマが態々専用の制御プログラム組んで工数消費してくれた挙句、
システムに余計な制限付けたり、あまつさえ不安定にしてくれる意味が分からない。
ユーザー向けのUIだけ作ってくれってかんじ。
0036名刺は切らしておりまして
垢版 |
2019/06/08(土) 01:10:32.03ID:561/Wdwj
出来上がった時のイメージをキチンと共有できるかどうかも有るしなぁ・・・。

後から、違うと言われても困るだろうから
0037名刺は切らしておりまして
垢版 |
2019/06/08(土) 01:22:47.49ID:HCEe5yIF
>>3
1関数で2万行って・・・
何をどうしたらそうなるのか。
0039名刺は切らしておりまして
垢版 |
2019/06/08(土) 01:24:52.22ID:UksdIGg8
あとで分析して違う言語に移し直すとかなったら、スパゲッティの方が効率よく
かつ何の誤植なり差異もなく移せると思うがねえ

なんでもかんでも細かく書くやつの気がしれん
0040名刺は切らしておりまして
垢版 |
2019/06/08(土) 01:42:41.64ID:ErDiX992
関数なんて使わない。呼び出しだけで何クロックかかることやら。ただひたすらジャンプあるのみ。
0042名刺は切らしておりまして
垢版 |
2019/06/08(土) 02:12:42.73ID:sOtt/Ki9
日経記者、解ってねぇな
スパゲティによる保守性悪化の問題じゃなくて、モノリシックによる柔軟性欠如の問題
これ脱却するのはマイクロサービスアーキテクチャで、その実行運用に便利なのがコンテナ

この構造を理解せずに、コンテナ使えばプログラムが良くなると勘違いしてる馬鹿が大杉
そこで、スパゲティなモノリシックを、そのまま巨大コンテナにして、その中でマルチスレッドやらWeb三層やら動かそうとして、8コア32GBメモリとかを使う
でもって、k8s不安定、オラクル使えねぇとかで、コンテナ仮想化はまだまだ未熟だとか、偉そうに評論してる
ちなウチ、大手SI
0043名刺は切らしておりまして
垢版 |
2019/06/08(土) 02:30:53.78ID:OOgWJIEE
>>3
当時のコーディング担当者の気持ちを今の保守担当者に乗り移らせるしかないな

複雑すぎてソース解析ツールが停止し前代未聞の「解析不能」判定になった関数を保守したことがある
20年以上使われた1000行以上の巨大関数に潜在不具合が2件あったよ
ソースを見て移植し検証完了まで三ヶ月かかった
0046名刺は切らしておりまして
垢版 |
2019/06/08(土) 02:59:28.78ID:EclMVtdd
今頃になって「時代はマイクロサービス(キリッ」とか頭おかしいです
0047名刺は切らしておりまして
垢版 |
2019/06/08(土) 03:12:07.47ID:6ZydLyfa
>>24
それオレが言うところの2パスプログラミングだ。
(もしくは習作・清書プログラミング)

1パスめが洗い出し、2パス目がほんちゃん
2パス目は視点が遠くなって将来を見据えられる。
0050名刺は切らしておりまして
垢版 |
2019/06/08(土) 04:40:10.69ID:zX7X5gBh
バローズのFortranの

プログラムのメンテ

二度とやりたくない
0051名刺は切らしておりまして
垢版 |
2019/06/08(土) 05:30:57.94ID:qvEZAd4m
今度はそのマイクロ同士がどう連携してるのかが分からなくなり
結局同じ羽目になる予感。
0052名刺は切らしておりまして
垢版 |
2019/06/08(土) 05:55:16.82ID:kQPa6NJl
>>49
>>3の所に行って助けてやれ。

>>51
結局関数の粒度が荒くなっただけなんだよね。マイクロサービスって。
呼び出す側の問題がこれで解決されるとは限らない。
0053名刺は切らしておりまして
垢版 |
2019/06/08(土) 05:58:16.89ID:A8RqwhKP
>>1
例えるなら  単に 外注してるだけ。 逆にその外注先が 突然 提供サービス変更したら 自社で修正や再構築するコストが発生するだけ。
小さい企業なら いざ知らず、デカい企業が サービス停止で信用を失えば 活動継続すら出来なくなる。
これ 外注するマイクロサービスの数に比例してリスクが増える。
0055名刺は切らしておりまして
垢版 |
2019/06/08(土) 06:19:25.48ID:CekcVbIA
プログラムを小分けにして、分かりやすく、バグ取りしやすくするのは昔からやけどな。
なんか目新しい事あるけ?この記事?
0057名刺は切らしておりまして
垢版 |
2019/06/08(土) 07:40:00.26ID:sOtt/Ki9
マイクロサービスアーキテクチャはSOAの進化系
関数の粒度が粗くなったという感覚は当たってるね
それだけじゃなく、APIをなるべくステートレス、非同期にしてマイクロ同士を疎結合にし、重複呼び出しにも冪等性を持たせる部分が、従来とは違う
これをやると、性能足りない部分のスケールアウトが容易になるし、機能追加や変更も簡単になる
ただ、モジュール分割のセンスが良い人が作らないと、中途半端で再利用性が悪い似た機能のマイクロが乱立したり、入出力を変換するESBみたいなマイクロが乱立したりして、オーバヘッドばかり大きくなる
その辺りは、SOAから変わってない気がする。結局はセンスが重要。
0058名刺は切らしておりまして
垢版 |
2019/06/08(土) 07:49:04.45ID:CB4nSlw6
AIでさ先人達が作ったコードを整頓して見やすくしてくれるなら有難いけど
人が作ったPGは何がどうなっているのやら
0060名刺は切らしておりまして
垢版 |
2019/06/08(土) 08:13:20.31ID:643SFGk+
物理的なスパゲティ状態もなんとかしてもらえませんか
0061名刺は切らしておりまして
垢版 |
2019/06/08(土) 08:21:14.73ID:TuiWpoK1
>>57
結局いつの世もスパゲッティーを作るのは人なんだよな
理解してない人が使えばどんなものだってスパゲティーにできる
スパゲティーの魔法使いが日本にはたくさんいる
0062名刺は切らしておりまして
垢版 |
2019/06/08(土) 08:55:39.85ID:vE84SrpF
マイクロサービスってなんぞ?
ってWikipedia見てきたけど、要はモノリシックでやるんじゃなくて個々のサービスを組み合わせてやるって話だな
サービスの分割とサービス間のインターフェイスがまともに作れればうまく行くと思う
性能は当然劣化するけどそれを気にしなくても良くなったから出てきたんだな
0064名刺は切らしておりまして
垢版 |
2019/06/08(土) 09:13:55.13ID:avaiJ5LQ
プログラマーで仮想通貨で儲けられなかったやつは負け組かな
0065名刺は切らしておりまして
垢版 |
2019/06/08(土) 09:24:09.69ID:sOtt/Ki9
>>61
ウチの場合、スパゲティ屋よりもモノリシック屋ばかりなのが課題
要求仕様ベースでの個別開発が染み付いてるもんで、内部をモジュール化するセンスが欠片もなく、やらせたら画面遷移の単位でDB操作までをやるコンテナが並んで、コンテナ間はDB共有での超密結合
結局、モノリシックから一歩も抜け出せないもので、冗長化や性能はハードの単位、要求仕様外の機能追加は無理ゲー。俺が入って丸ごと作り直し
0066名刺は切らしておりまして
垢版 |
2019/06/08(土) 09:25:10.70ID:vE84SrpF
>>63
それでいいんだよ
各々が独立してるからおかしい所から直して行ける
モノリシックだと直すのも大変だしデグレード地獄もあるし
0067名刺は切らしておりまして
垢版 |
2019/06/08(土) 10:42:05.58ID:Vs+XK+wp
>>66
一箇所直したらそこに繋がってるモジュール複数から不具合発生する光景が
0068名刺は切らしておりまして
垢版 |
2019/06/08(土) 10:51:55.35ID:Vs+XK+wp
>>62
ここ数十年「疎結合で蜜凝縮な設計にしましょう」っていうのは
プログラミングの最初に教えられてるはずなんだが、アプリレベルではなかなか
守られてないのが実情なわけで、マイクロサービス導入したら解決するなんてのは
宣伝の中だけの話だよ。
0069名刺は切らしておりまして
垢版 |
2019/06/08(土) 10:58:27.75ID:dLG5E4dz
記者がマイクロサービス分かっていない、ってのは分かった。
0070名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:15:25.58ID:jej5mWVQ
スバゲッティを大皿に山盛りにするから、絡まり易くなり食べるのが大変
大皿を止めて小皿に1本ずつ盛れば絡めるのが大変な位に簡単になる
でも、小皿でテーブルが溢れ、どの順番で小皿を取ればいいのか判らなくなる
0071名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:17:18.93ID:Avjbznsz
アーキの実力次第でどうとでもなりそうだけどな。
マイクロサービスだから優れたもの作れるわけじゃない。ちゃんとそれを使いこなせないと全く意味ないわけで。

これベンダーはiSiDのやつ?最近流行りのAWS使うサーバレスで基盤作ってるやつじゃないかな。
0072名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:18:44.71ID:jej5mWVQ
>>68
小さい単位に分ければ良いってもんじゃないのを、現場は経験則で判ってる
どの程度の大きさが適切か?が最大のポイント
0073名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:19:14.21ID:2UoEYLOA
そんなに心配しなくても、近い将来AIが勝手に上手い事やってくれる時代が来るだろ
中身は完全にブラックボックスだろうけどw、ちゃんと動くなら問題ない
0074名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:22:52.05ID:jej5mWVQ
>>71
同じ事をやってたのでは、高い金をとれない
高い金を客から取るために、時々、目先を変えて、
「今までとは違う素晴らしい方式ですよ!」のアピールが必要
何を持ってくるかは、変遷があるが、昔から繰り返される詐欺商法
0075名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:25:45.55ID:jej5mWVQ
>>69
日経だものw

>>56
正解、ベテランは違うw
0076名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:30:03.39ID:TuiWpoK1
>>65
「ほら、稼ぎが増えただろ?」
って本気でも思ってる奴が多いという恐怖
0077名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:31:42.23ID:TuiWpoK1
>>72
ミニでもナノでもない
マイクロってことだね
0078名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:38:37.46ID:SfTYUNZI
returnの位置を間違えてただけで3日も悩んだ俺に死角はない!
0079名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:42:49.63ID:TRrWxBI/
>>24
うはー・・・贅沢なw
でも、それできるとかなりキレイなの書けそう
0080名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:42:51.53ID:mm5AbBVp
おかゆでも食ってろバカ(´・ω・`)
0082名刺は切らしておりまして
垢版 |
2019/06/08(土) 11:47:48.10ID:vE84SrpF
>>67
インターフェイスがちゃんとしてたらそんな酷いことにはならないよ

>>68
性能問題があったからね
まあ関数にデータを引数で渡すのは非効率だ!
とか言ってた老害もいるからこういう概念を理解できないアホがいても不思議じゃないw
0084名刺は切らしておりまして
垢版 |
2019/06/08(土) 12:00:08.15ID:TRrWxBI/
>>82
それ老害以前だろw
0085名刺は切らしておりまして
垢版 |
2019/06/08(土) 12:09:38.81ID:yrGJ5Vhw
 クラス設計にしろ、組み込みのタスク分割にしろ、マイクロサービスにしろ、結局は作る人のスキルだと思う。
0086名刺は切らしておりまして
垢版 |
2019/06/08(土) 12:45:17.30ID:QgrHkayo
インフラが分からない開発者は
だんだん仕事が減っていくんだろうな。
0087名刺は切らしておりまして
垢版 |
2019/06/08(土) 13:04:22.63ID:Vs+XK+wp
>>82
ちゃんとしたインターフェースを設計してそれを保守し続けることが難しいんだよ。
0090名刺は切らしておりまして
垢版 |
2019/06/08(土) 14:17:23.63ID:cWXwKkQZ
>>84
まあ極論だけど事実昔のプロセッサは元々の性能低いしスタックポインタからの相対アクセスが不得意だったりしたのでバッドノウハウとしては仕方がなかった面もある
0092名刺は切らしておりまして
垢版 |
2019/06/08(土) 14:55:18.21ID:sOtt/Ki9
>>86
コンテナPaaSになると、アプリ屋もインフラを意識して、作らなきゃならなくなるから、インフラの知識が必要
だが、インフラ屋が貴重になるわけではなく、多くのインフラ屋は逆にPaaSに仕事奪われ、少人数で済む様になる
0093名刺は切らしておりまして
垢版 |
2019/06/08(土) 15:43:02.38ID:UJAXRu3q
>>34
シェルスクリプト、ものすごく古い技術なのに、手練れが扱うと魔法みたいに凄いよね
残念ながら自分のような凡人プログラマには呪文にしか見えないが
0094名刺は切らしておりまして
垢版 |
2019/06/08(土) 15:53:51.83ID:uIB5jIKr
ある種の必然、たとえば制御構造の貧弱なプログラミング言語や初心者プログラマが関わるとそのようなプログラムが生まれる。
これは一種の笑い話と言ってもいい。

しかしこの問題はもっと本質的かつ普遍的なもので、その時点でのアーキテクチャ(CPUの性能、言語の表現力、OSの能力、
メモリ搭載量、ストレージ、ネットワーク)では賄いきれない要求が出されたときに、優秀とされるプログラマの多大な努力の結果として
余人には理解しがたいプログラムが生まれただけのことだ。美しくないだの言っている場合ではない。そうしないと仕事にならなかったのだ。
十年前やそれ以前程度ではこれは普通にあった。プロセス間通信などしていては速度が出ないよ。引数のコピーなどしていては速度が出ないよ。
仮想記憶はあるけどそれによる性能低下は困るよ。

他の世界、たとえばwebサービスはしばらくは余裕があった。しかしc10kだの言われ出して過去に否定したパラダイムをあたかも最新
技術であるかのように讃えてスパゲッティの海を泳いでいるではないか。

そしてもっとすごい奴が控えているぞ。
顧客に「このAI、こういう時だけおかしな動きをするんだ。これは不具合だから直してね。あ、運用始まっているから再学習はNGね」
と言われてニューラルネットワークのデバッグやリファクタリングをさせられる未来はもうすぐそこにある。
0095名刺は切らしておりまして
垢版 |
2019/06/08(土) 16:08:39.54ID:bNR5HtRJ
何万行でも分岐が一切ないコードとかあるし・・・
0096名刺は切らしておりまして
垢版 |
2019/06/08(土) 16:16:27.06ID:FhKE5VLe
>>1 >>100


ファーウェイ(中国)の反日広告
〜世界地図から日本が消されている〜

https://mobile.twitter.com/ayarin14/status/1071928438208946176/photo/1
https://mobile.twitter.com/ayarin14/status/1071928438208946176/photo/2


これは中国国内のプロモーションで
世界にはバレないと思ったか

日本国民感情、いくら嫌いでも
世界地図から他国は消さないと思うでぇ
https://twitter.com/5chan_nel (5ch newer account)
0097名刺は切らしておりまして
垢版 |
2019/06/08(土) 16:55:08.61ID:tEoeFpmR
粒度にあわせて適切な通信方法を選びなさいと言う要請がスパゲティ化の原因。何かから何かに情報を伝えたいだけなのに場合ごとに違うやり方になってしまう。
0103名刺は切らしておりまして
垢版 |
2019/06/08(土) 17:23:19.72ID:emMb8UoE
今あるスパゲティコードを、AIの力でマイクロコード単位に
分けてくれる神サービスじゃねえのかよ
期待して損したわ
0104名刺は切らしておりまして
垢版 |
2019/06/08(土) 17:28:01.00ID:4677yM5V
スパゲッティコードをマイクロサービス単位で捨てやすくなるだけで
今あるスパゲティコードをマイクロサービス化はしてくれないんだな。残念
0107名刺は切らしておりまして
垢版 |
2019/06/08(土) 18:15:45.30ID:uIB5jIKr
結局のところアプリケーションの人格まではサポートしてくれないわけで、
マイクロサービスの組み合わせがスパゲッティ化するというオチは回避できるのか?

なんか業務をBPRにアジャストできなくて結局使わなくなったアレコレを唐突に思い出した。
0108名刺は切らしておりまして
垢版 |
2019/06/08(土) 18:24:36.89ID:uIB5jIKr
あと、要求する機能がサービスになかった場合とか、分割した結果パフォーマンス的にアウトになった場合とか。
0109名刺は切らしておりまして
垢版 |
2019/06/08(土) 18:43:26.54ID:uwFQwJRe
開発に入る人数が多くなったら作業単位を分割しましょう、ってだけだろ、本質は...
0111名刺は切らしておりまして
垢版 |
2019/06/08(土) 19:10:05.38ID:LK+267F4
関数長いとかは、範囲選択してリファクタリングで、正しく自動的に関数化してくれるから、
分けていくのは楽っしょ。

設計レベルで見直すなら大変だけど、
余程汎用性が高いもの以外、
殆ど流用ってされない。
0112名刺は切らしておりまして
垢版 |
2019/06/08(土) 19:40:22.74ID:UJcVmmmA
ソースがスパゲティになるような現場ではマイクロサービスとか無理だぞ。
だってそもそもカプセル化すら分かってない連中がプログラム書いてるんだからw
0113名刺は切らしておりまして
垢版 |
2019/06/08(土) 19:42:05.63ID:VtNN80GQ
>>3
修正加えるときに
ちょっとずつ治すしかない
0115名刺は切らしておりまして
垢版 |
2019/06/08(土) 20:08:07.32ID:zOwRkwRW
>>2
スパゲティ記事なんだよ
0116名刺は切らしておりまして
垢版 |
2019/06/08(土) 20:11:55.98ID:79Jlg4DA
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

まで読んだ
0117名刺は切らしておりまして
垢版 |
2019/06/08(土) 21:13:33.15ID:EBLK/Cjj
>>68
結合度に凝縮度か。
業界にそんなこと意識してる奴が何パーセントいるやら。
そういうレベルでの設計の良し悪しが論じられる現場なんて5分の1も無かったなあ。
0119名刺は切らしておりまして
垢版 |
2019/06/08(土) 22:35:15.48ID:Q8xZyQIc
プログラミングをはじめる遠いあの昔w
さすがにしっていたからスパゲッティだけはやらないようにしてきた
go toレスの常念頭にと

ある仕事で、元ソースを参考に(仕様書なしw)
数百本のをやってくれといわれ
スッパのは無視して構造化でつくりかえた
全部作り変えてもいいか?と言ったら
よいという返事だった、あの上司最高w
0122名刺は切らしておりまして
垢版 |
2019/06/09(日) 00:00:16.49ID:4aRKR7YD
>>3
一つの関数、違う言語なら1つのメソッドで2万行か。狂ってる。
0123名刺は切らしておりまして
垢版 |
2019/06/09(日) 00:06:34.17ID:CljtO8b9
go toでとんでもないところに
とばすって酷いな
そこからまたはじめるためかw
そういうのをはじめてみたとき
びっくりした
それでも動くからええのやぁと
言っていたひとがいたあの当時
0124名刺は切らしておりまして
垢版 |
2019/06/09(日) 01:03:14.68ID:BxjvH2Ll
>>109
あとドキュメント・・・w
0127名刺は切らしておりまして
垢版 |
2019/06/09(日) 07:35:58.19ID:4SyRe9uN
ファイル数が増えると逆に探す手間が増えるのでは?
ネットだとちょっとしたラグも積もり積もって気になってくるし。
0128名刺は切らしておりまして
垢版 |
2019/06/09(日) 10:17:41.80ID:m/jqfL7C
>>3
2万行だって
・どうでもいいコメントは全部削ってgitの中にだけ残す
・使われてないプリプロセッサも(略)
・同じようなパターンをテンプレート化
・処理ステップに応じて関数分割

ってやりゃ20行くらいの関数群になるだろ

ちょっとずつ分かるとこから整理すりゃいいのよ
0129名刺は切らしておりまして
垢版 |
2019/06/09(日) 10:29:15.90ID:A64vYLQd
運用マニュアルと設定情報がスパゲッティーになるだけなんだよなぁ
複雑なものは何やっても複雑なんだよ
0130名刺は切らしておりまして
垢版 |
2019/06/09(日) 10:33:00.55ID:nX3bDZyX
>>3

土建業界主導の日本産業がイカンのだわ。

未だに、ソフト開発を体張らんた易い仕事とバカにしてる。

超高層ビルの建設と同じように考えてもらわんとな。

構造設計をちゃんとやり、施工のための詳細な図面を作らせ
そのレビューを重ね、現場が整然と遅滞なく施工を行えるように
段取りをする。 さらに、施工の進行状況を細かくチェックし
監督指導する。

膨大な手間と費用がかかる。それだけの効果を引き出そうとするとするなら
当然のことだわな。
0132名刺は切らしておりまして
垢版 |
2019/06/09(日) 10:50:55.57ID:m/jqfL7C
>>130
それ設計に縛られて改変ができないパターン
車の低層制御みたいにガチガチに作るならともかく
市場向けソフトなら必ず起きる
将来のフィードバックに対応できんよ

高層ビル設計するんじゃなくて
丈夫な鉄筋とか、柔軟に組み換え可能な
パーティションなんかを設計すべき
0133名刺は切らしておりまして
垢版 |
2019/06/09(日) 11:16:11.15ID:RQc/PZRE
>>131
まともなソフト開発する部署が少ないしそういう人が増えるのもやむをえん w
まともに開発したくてもできないしがらみが多いかもしれん。
0135名刺は切らしておりまして
垢版 |
2019/06/09(日) 11:25:42.35ID:L84cwuJx
あー、gitか。やんなきゃw
0137名刺は切らしておりまして
垢版 |
2019/06/09(日) 18:21:45.10ID:m/jqfL7C
元記事読んだが、これ使うって
自社のソフト要員が余程へっぽこなんだな
普通にjsnodeとsqliteとpython機械学習で
モジュール組み合わせ自在に作れそうだけど
0138名刺は切らしておりまして
垢版 |
2019/06/09(日) 21:49:02.57ID:ff3A+SZB
マイクロサービスアーキテクチャは
関数型プログラミングに似たバグの少ない設計と、スケールアウトのしやすさが利点
非同期処理による状態の増加が欠点
全体としてプラスになるかマイナスになるかは結局設計者の能力次第
0140名刺は切らしておりまして
垢版 |
2019/06/09(日) 23:11:34.44ID:V5Hw3Bml
非同期処理ってできるやつ半分くらいになるぞwwwww
まあ昔と違ってクラスやらクロージャやら使えるからまだマシだろうけど。
0144名刺は切らしておりまして
垢版 |
2019/06/10(月) 11:49:27.20ID:BKbmDuqm
そして10年後、どの部分にどのマイクロサービスを使ったか誰も把握しているものはいなくなった…
0147名刺は切らしておりまして
垢版 |
2019/06/10(月) 15:42:06.32ID:e6Ghmezj
スパゲティコードはコードのモジュール構造をどうするかっていう話だけでは解決できない
何世代ものプロジェクト改修を経る過程で出現するゾンビコード(不要と思われるが誰もメンテしていないコードや
不要かどうかが断定できないコード)のほうがより深刻なスパゲティ状態を生み出す
コードセットは10年くらいのサイクルで改修ではなく完全リプレースが必要でマイクロサービス化による
大きなメリットの一つは部分システムの完全リプレースによるゾンビコードの排除がやりやすくなることだと思う
0148名刺は切らしておりまして
垢版 |
2019/06/10(月) 16:11:41.04ID:kz9z2aQ1
スパゲティコードって、gotoを多用するオレが書くコードのこと?
0149名刺は切らしておりまして
垢版 |
2019/06/10(月) 16:27:53.69ID:oB2A7yfe
>>148
おおむねそう。
今は仮想関数や依存性注入なんかで実際に動かしてみないとどこ走ってるかわからないものも含む。
0152名刺は切らしておりまして
垢版 |
2019/06/10(月) 19:57:03.46ID:8qsUR4v3
>>129
何を言いたいのか分からない
0158名刺は切らしておりまして
垢版 |
2019/06/11(火) 13:37:20.26ID:Z1jcbHJc
マイクロサービスに幻想抱きすぎだろ
構想と実装だけ進んで環境整備追いつかなくてデバッグ死ぬ
0160名刺は切らしておりまして
垢版 |
2019/06/11(火) 21:24:34.73ID:mTwyP1Yp
クラウドサービスの提供者がこういうアーキテクチャ欲しくて作っちゃった気持ちはよくわかる。
そしてそれは既存のシステムには何の影響もなく、これから作るシステムはそうなるだろうってだけの話で
これまで出てきた数多のプログラマや鯖缶の恨み言を解決あるいは低減してくれるものではない。

まーアレだ。「スパゲッティ」なんて書くからプログラマばっかり釣れちゃって無駄にヘイト上がってるけど、
dockerfileとかdocker-composeとかapplicationContext.xmlとかstruts-config.xml書くの好きな人が
盛り上がるべきだったんだろうな。
0162名刺は切らしておりまして
垢版 |
2019/06/13(木) 00:01:25.97ID:5m+AyYE6
>>161
マイクロサービス自体は
サーバータイプのインフラ上でも出来るぞ?
そりゃ、コンテナベースの方が便利だろうけど
0163名刺は切らしておりまして
垢版 |
2019/06/13(木) 09:54:11.40ID:1M8BQD5U
>>162
そういうインフラ部分を業者に丸投げ出来るのが良いのに
0165ゆっこ
垢版 |
2019/06/15(土) 00:35:53.89ID:If7623bj
焼きサバだよ!!!焼いたサーバーだよ!!!
0167名刺は切らしておりまして
垢版 |
2019/06/15(土) 19:49:33.51ID:z1Kfu0S0
playgroundでSwiftで勉強してるわ
プログラマになれば儲かるんでしょ?
0168名刺は切らしておりまして
垢版 |
2019/06/17(月) 10:06:07.76ID:FLBlzABy
>>157
ペンネじゃスパゲティプログラムにならんわ
0169名刺は切らしておりまして
垢版 |
2019/06/18(火) 08:25:45.23ID:7JuWTHQh
>>167
儲かるようになるのは
「もう無理やめる」ってな修羅場を
3回くらい経験してからだぞ

金払いの良い客は大抵無茶言ってくる
プログラムに理解ある客は
要求は極めて妥当だが儲からない
0171名刺は切らしておりまして
垢版 |
2019/07/01(月) 01:33:30.75ID:Pgmkj2xk
>>169
俺の経験では、無茶を言ってくる客は金払いが悪い。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況