「sql」を含む日記 RSS

はてなキーワード: sqlとは

2024-04-27

例のSQL関係他者ソフトを悪く書いてプチ炎上したブログ記事に書いてあった著者名と一緒に検索してみたら存在を抹消されてるみたいで笑っちゃったんだよね

検索結果では「田中です」(仮名)って書いてるのに記事を開くと一切名前が書いてないの

あと「こんにちは田中です。」ってなってたところが「こんにち。」になってる記事があって更に笑っちゃった

2024-04-26

anond:20240426171640

一時期やたら騒がれてて猫も杓子もNoSQL使いたがったけど結局大半のプロジェクトSQLRDBMS回帰したな

もちろん向いてるケースはあることにはあるんだけど

anond:20240426123109

Excelできます

入力できます

英語読めますが話せません

python, php, ruby, perl, sqlができますし、AWSもわかります

でも給料は低いです

2024-04-01

anond:20240401031349

参照の透過性があればなんでも一緒だよ!

SQLダメならLINQはどう?

LINQダメならHaskellいいね❤️

もうね、SQL小学校で教えた方がいい。

pandasでもいいけど。

みんながSQLが分かれば、Microsoft Queryでパフォーマンス重視のガチSQLを書いても、後任者はみんなわかってくれる。

事務員必須スキルSQLしろ

関数型という考えを理解していれば、数式を崩したりVBA頼みにしたりすまい!

2024-03-17

もし世界GUIがなければ

事務員SQLを使いこなす世界線がやってくるだろうな

2024-03-05

anond:20240305104607

単純なのはそうだろうね。でもDB構造を利用してクエリ簡単な集計とソートをしようとするとあら不思議、途端に役立たずになる。

質問を細分化すればいいのだが、細分化するためにdbsql知識不要ですか?

他にも、いまだレガシーシステムに残っている生クエリメンテするときに、ai説明鵜呑みに出来ますか?

そもそもaiから吐き出されるdeleteやupdateの意味も分からクエリを扱うことなんてできますか?

私は怖くてできない。

SQLなんか覚える必要なかった

全部AIが書いてくれる

俺の苦労は何だったんだ

2024-03-02

エクセルマクロのお作法計算用シートという諸悪の根源について)

前置き

この日記の内容は、会社の後輩から最近エクセルマクロ勉強し始めて(キラキラ)」という話を聞いて、先輩ムーブかますために話した内容になります

とにかくこれから説明する「計算用シート」が憎くて憎くてたまらず、ちょっと引かれるほど熱弁してしまいました。

ただ、他の方がどうされているのかや、逆に「計算用シート」を愛用する方の意見も聞きたくなり、増田に書いてみました。

増田の経歴

この記事趣旨

エクセルマクロのお作法とか書きましたが、要するにエクセルマクロで「計算用シート」って色々な意味でよくないよね、という話をしたいです。

3行でまとめます

〇 エクセルシートはユーザーインターフェースインプット)か出力結果(アウトプット)のためのものとすべき

〇 データ加工をする場合には、原則配列辞書配列連想配列)に格納して加工を行い、最後の結果だけシートに出力するべき

〇 何事にも例外はある。

計算用シートとは

この記事では、エクセルシートを下記の通り分類します。

エクセルマクロにも色々あると思いますが、今回は下記を想定します。

日付や人物名などを入力し、データベースや別のエクセルファイル、別のシートから取得したデータ入力された値を基に加工し、加工後のデータをシートに出力する

この場合入力欄があり編集可能なシートがユーザーインターフェース、最終的に加工されたデータが出力されるシートが出力結果です。

(もちろん、ユーザーインターフェースの別の欄(セル)に出力する場合もあるし、その場合ユーザーインターフェース出力結果が一体のものとみなします。)

また、データ用シートは同じエクセルファイル内に基となるデータが含まれ場合を想定します。

(これ自体が非推奨で、SQLデータベースかせめてAccessを使え、という意見はありますがそれは別にして…)

ではここで定義する計算用シートとはなにかというと、文字通り計算を行うためのシートです。

例えばイメージするのはこんなマクロです。

1.元となるcsvファイルエクセルに読み出してシートに格納

2.そのデータは日付が数値型になっているので、日付(数値型)の入った列を文字列に変換した日付(文字列型)列を新たに作成

3.その列をキーとして対象となるデータを取り出すvlookup関数を各行に格納した列を新たに作成

4.その列で特定された列をさらに加工した列を新たに作成し、…

これは極端な例ですが、とにかく変数配列定義せず(あるいはエクセルセルオブジェクト変数のように扱い)、エクセルに値を入力し、それを直接加工することで目的となるデータ加工をしたり、様々な処理をします。

その舞台となるのが、計算用シートです。

なんかこんな感じの処理をしているエクセルマクロ、どこの会社でも腐るほどあるんじゃないでしょうか。

ある程度マクロに慣れた気の利く人なら、このシートはロック非表示にして、ユーザーから触れないようにするでしょう。

・・・これ、やめたほうが良くないですか?

こいつが日本生産性を落とす諸悪の根源だと思います

駄目な理由

ある程度詳しい人なら同意してくれると思いますが、このやり方でダメ理由はいっぱいあります

後で説明する配列辞書配列連想配列)と比べると格段に処理が遅いです。

わざわざエクセル操作しているから当然ですね。

ちょっと詳しい人が知っている「画面更新非表示」を駆使しても、配列を使った処理からみれば止まったハエです。

(参考)VBAで作ったマクロの高速化① 配列を使う

  • 可読性が下がる

いったんエクセルシートにデータを格納して加工しているので、コードエクセルシートを両方見る必要があり、とても読みにくいです。

変数として命名されていないのも致命的で、処理の意図が余計に分からなくなります

計算用シートを事前に用意して、別のセル関数を格納しておき、マクロ関数を使ってデータ加工をするものも見たことがあります

これは懲役刑に処したほうがいいと思います

まり知られていませんが、セルの最大文字数は32,767 文字です。

セルの最大文字数を超えると自動的に隣のセルに値が入り、シートが滅茶苦茶になります

他にもエクセルの数値を丸め自動変換の仕様とか文字列→日付の自動変換とか、いくつものバグに苦しめられます

できる人だと、いちいち最大文字数が多い場合の処理を書いたり自動変換機能を殺したりしてくれますが、そんなことに手間をかけているか日本GDPは上がらないんだと思います

他にも、データが大きくなると処理が重くなり不安定になる、計算用シートを人が触ってしまリスクがある、などいくらでも理由は上げられます

(逆に利点は、目の前でガチャガチャ動いてスーパーハッカーになった気分になれるくらいしか思いつかない・・・

じゃあどうするの

配列を使いましょう。

配列とは何ぞや、という人はググってください。

配列データを入れて、データ加工は配列変数に対して行い、一番最後の出力だけセルに値を格納する。

他のプログラミング言語なら普通にやっていることです。

個人的オススメしたいのは辞書配列連想配列)で、うまく使うとデータ管理簡単になり、処理も爆速になります

(参考)【VBA】大量データから高速で値を検索【Dictionaryを使う】

csvファイルもなまじエクセルで開けるだけに別のブックやシートで開きがちですが、これは悪魔のささやきです。

直接ファイルを読み出してLine InputやSplitで配列に格納しましょう。

エクセルとして開くやり方はコード書くのは簡単でも、実行時間に天と地ほどの差が出ますエクセル開くと処理もめちゃ不安定です。

(参考)Excel VBAでCSVオープンするときのパフォーマンス比較

いや、冒頭のマクロを書く人の気持ちも分かるつもりです。自分コードを書き始めたころは全部シート上で操作していました。

冒頭のマクロのほうが直感的なんですよね。自分が手で書くことをマクロやらせる、というマクロ本来趣旨にはあっていますし。

途中の計算過程もすべて目の前で展開されるから分かりやすいです。

ただ、それではダメなんです。。。処理は遅いし挙動不安定だし後で改修・保守する人が死にます

あと、エクセルシートやセルは当然エクセルしかないので、エクセルマクロVBAから他の言語に移れなくなります

自分エクセルマクロの里の出なので、計算用シート脱却には苦労しましたが、苦労して会得した配列辞書配列連想配列)のスキルはそのまま他の言語に活かすことができました。

配列の中身を見る方法別にある(ローカルウィンドウやDebug.printを使うなど)ので、リハビリに取り組んでほしいです。

(参考)VBA デバッグの仕方

もちろん例外もあります

計算用シートを許容できる、使うべきケースもあると思います。。

個人的には、

最後のは、なんでも自分確認しないと気が済まない上司発注で、意味不明と思いましたしたがしぶしぶやりました。)

などの場合計算用シートを使ってもよいと思います

この場合インプットエクセルシートに直接加工するのは論外なので、計算用(加工用)のシートを用意してそこで操作を行うことは必要だと思います

他にも、こういうときは「計算用シート」があったほうが良い、という状況があれば教えてもらえると嬉しいです。

最後

そもそもツッコミとして、「データ加工するならエクセルマクロを使わずpythonとかRとかもっとまともな言語使えよ」という言葉が来そうな気がします。

ただ、個人的にはエクセルマクロVBA)は大好きですし、初心者にもおすすめしたいです。

自分のような非エンジニアだと、セキュリティ関係などでPythonの開発環境とかすごく用意しにくいんですよね。

(あと、コマンドプロンプトの真っ黒な画面が怖かった)

その点エクセルマクロは、開発環境の用意はプロパティでチェック項目を一つオンにするだけだし、入門書がたくさんあるし、セル挙動を追えば視覚的にプログラム理解できるし、初心者に優しいです。

(そのやさしさが上述したとおり悪魔の罠なわけですが。)

最初計算用シートに頼ってでもエクセルマクロからプログラミングを始めて、本格的なデータ加工をし始めたあたりで計算用シートという諸悪の根源から脱却する。

さらに本格的なデータ処理を行うために、PythonやRなど別の言語習得したり、エクセルからSQLデータベースやACCESSなどに切り替えていく、というプロセスがいいのではと個人的に思います

2024-02-12

anond:20240212120947

セクキャバで時給2000ー2500円とかみたけど

都内ならSQL叩ければ普通に出る額だぞ

SQL叩ければピンサロ嬢ぐらい稼げるって聞いたんだがマジ?

ピンサロ嬢ってどんぐらい稼ぐのかわかんねえんだけど

2024-02-04

anond:20240204013240

数年でネイティブアプリが書けるとかSQLの一個も書けるとかじゃなく

css in jsライブラリWebフォームライブラリを2年で3回変えましたとかの連中大丈夫かみたいのはある

2024-02-02

ポケモンGO7ヶ月

ポケモンが嫌いな子供はいない

ウチにはテレビが無いのにいつ頃からか息子がピカチューと言い出した

どこで覚えてくるのだ

幼稚園だろうか?好きなだけ触らせているタブレットか?知らんが、

ともかくある時期からポケモンポケモンと言い出した

ネトフリだかアマプラだかでポケモンを観せてやった

ドハマる

3年続いていた鉄道ブームがあっさり終焉ポケモン鞍替え

(本人曰くは鉄道趣味も並行してしるらしい、夢は大宮鉄道博物館にEF55を見に行くこと)

数週間はTVアニメで満足していたが俺のスマホをチラ見したときポケモンGO広告が見えた

「それゲームでしょ?ポケモンGOでしょ?」

だーかーらー、そういう知識はどこで仕入れてくるのだ、すげぇな最近の5歳

やらせろと煩い、面倒は嫌いなのでインストールして触らせる

秒速ドハマる

スマホを返してくれない

ポケモンを捕まえるために散歩に行こうと言い出す、公園に行く

 

ポケモンGO簡単説明すると、スマホGPS位置情報と連動し画面上に抽象化された実際の町と同じ地形が現れ、スマホが移動すれば画面上の位置も移動する、ポケモンランダムに現れる、ボールを投げて取る、沢山取れば進化や強化ができる、たまに珍しいポケモンも現れ、様々なタスククリアすることでも獲得できる

 

息子は夢中でモンスターボールを投げてポケモンを捕まえている

ただの絵じゃん、デジタルデータじゃん

恐らくサーバー側ではSQLユーザーデータ管理しているだろう

管理者であればSQLコマンド一発でレベルアップだろうがポケモンコレクションだろうがどうにでも操作できる

データベースのどこかのレコードのなにがしらのテーブルの数値を変更するためにちまちまちまとアホらしい作業をやってる

人生無駄

子供にもわかるように意訳し諭したが「ぼく子供からそういう難しいことはわからない、それよりパパ見て超珍しいポケモンゲットした、飴が集まったか進化できるよ」

仕方がないので余っていたスマホを息子用に再整備し、バカからどうせすぐに壊すだろうからハードケースに入れてセットアップしてアカウントも作り直した

それから半年が過ぎた、まだブームは続いている、俺と息子のPL(ポケモンレベル)は39まで成長した。スマホは傷だらけだがまだ壊していない。

レイパス(一日1枚付与される特別戦闘チケット勝利するとレアポケモンを取得できる)をスルーして流したことは一度も無いのではなかろうか。毎日やってる

幼稚園から帰ると着替えてすぐに出かける。

俺の自転車の後ろに乗り、あっち行け、こっち行けと指示され俺は自転車を漕ぐ

俺は俺のために自転車スマホホルダーを装備した

つーか自転車バッテリーが持たないので自転車も新調した

スマホ操作するとき自転車を止めなきゃならない、法的に

俺は画面も見れないので俺が取りたいポケモンが出たら後ろから息子が教えてくれる仕組み

だが、ある日教えてくれてない事に気づいた、

問い詰めたらパパだけレベルアップ進むのズルいから、らしい、かわいいなぁ

 

子供バカだ、しょせん5歳

ポケモンGOにはゲームコインがあり、集めると有利なアイテムが手に入る

クレジットカードで購入することもできるが自力で貯めることもできる

無課金主義なので自力で貯める方針

そのためにはジムポケモンを配置しなきゃならない、一日最大で50コイン取得できる

長い時間ジム滞在させたほうが多くコインが貰える、他のユーザートレーナー)に攻撃されてジムを乗っ取られるとそこでリセットポケモン返却+それまでの時間コインをゲット)となる

有利なのはユーザーが寝静まりジム奪還可能性が低くなる深夜だ

一箇所のジムに最大6匹(同一ユーザーは1匹)まで配置することができる

時間滞在させれば最大の50コインが貰える

俺は子供が寝た後に近隣のジムに赴き(町中に点在している)、既配置されている他人様のポケモン達をぶっ殺しジム乗っ取り俺と息子のポケモンを配置する

俺なにやってんだ?

二人分100コインリアルマネーに換算するとざっと140円

俺の時間単価から考えたらクレカでサクッと購入したほうが合理的だが

 

そういうものではない、それをやっちゃお終いだ、ゲームをやる意味が無い

 

オートキャッチャーという別売りデバイスがある

Bluetoothスマホ接続しちまちま手作業ポケモンを取らなくても全自動で周囲のポケモンを根こそぎ取ってくれる

こーゆーの使ったら意味ねぇのよ

 

というか、ポケGO初めてから数日後にアホらしくなりどうせアカウントマーケットがあるだろうと検索したら案の定ある

引退した人などの育成とポケモンコレクション済みのアカウントが売られている

時間を金で買うと言うやつだ、結構安い

でも、そーゆー事したら意味ねぇのよ

 

息子と自転車で走り回り一喜一憂するのがプライスレスなの、楽しい

 

ともかくそういう思いで集めたコインだが、コインはある程度貯めてからアイテム交換(購入)したほうが割引率が高い

100コイン(2日分)でレイパス1枚と交換できる

250コインなら3枚分のレイパスと交換できる

どう考えても後者がお得で、それ以外にもコインはある程度貯めたほうが良い

戦闘用のレイパスよりもゲームを快適有利に進めるため先に入手したほうが良いアイテムもあるのだが、5歳のバカは100コイン貯めるとそっこーでレイパスに交換し戦闘をする。

アホだ

何度説諭しても聞きやしない、まぁ好きにすりゃいい

 

戦闘(バトル)するとポケモンが弱ったり死ぬ(正確には気絶、ポケモン世界ではポケモンは死なない、平和だね)

弱ったポケモン回復させてやらなきゃならない、

回復には回復アイテム必要、これもゲーム内で一定作業をしなければ手に入らない

俺は勝手に溜まっていくので回復アイテムは常に捨てるほどあるが

息子は、バトルする、負ける、残ってる弱いポケモンで再戦、当然負ける

これを繰り返し、ポケモンは最大300匹持てるのだが全滅するまで諦めない、アホだ

回復アイテムは常に枯渇している

 

回復アイテムを入手するにはフォトディスクをちまちま回すかフレンド(ゲーム内のユーザーリレーション)とギフト交換しなきゃなんないが、そーゆー作業は面倒くさいとやりたがない

これも俺が夜にこっそりやってた

2ヶ月ほどでアホらしくなり自己判断に任せた

すると数週間で全滅状態が無くなった、タコなりに学習したようだ

 

そんなこんなしていると気づいたら足し算と引き算と掛け算を習得しやがった

我が家は非認知能力全振りの方針なので認知能力学習ほぼほぼやらせてない、が

コイン管理などゲーム進行には四則演算必須で、数字概念学習導入、誘導はしてやったが、なんか知らんうちに3桁の足し算と引き算は暗算している、掛け算の概念もどうやら分かっている模様

ポケモンすげぇな

 

レイドで俺だけ取れて息子が取り逃がしたら発狂して面倒なので息子が取れたことを確認してから俺も取っていたんだけど、いつからかこれも無くなった、パパ良かったね、ボクは取れなかった残念、なんて言うようになり、前頭葉精神的成長の証か

と喜んでいたらパパからポケモン交換でぶんどるからいい、だって

 

町中で同じようにポケGOをやってる少年たちと遭遇することがあるが

息子は臆することなく話しかけて「ポケモンやってるの?フレンドにならない?」って、そこからポケモン談義してる、すげぇな5歳のコミュ力

中学生くらいが苦笑いしながら応じてくれる温かい世界

幼稚園にもポケモングループがあるらしく日がな一日ポケモンの話をしているらしい

休日友達時間場所を決めて落ち合う約束までしている

スマホみせっこ自慢大会に連れて行かされる、飽きると走り回って謎のポケモンゴッコ

パパ友ネットワークができた

 

無課金主義のつもりだけど「ふかアクセス」は毎月買ってる、さーせん、二人分1400円/月

だって早くレベルアップしたいし孵化装置欲しいもーん

2024-01-23

anond:20240123211154

OracleってWhere in に指定出来るの1,000件までなんだよな。SQLとか懐かしい。

anond:20240123211230

ストアドもあるけど、普通に値取ってくるSQLでそういう状態になってる。

SQLがどんどん嫌いになってしまうわ。

いまやってる仕事SQLが数百行はザラじゃないんだけど、これやばいよな。

ものによっては1,000行以上いってる。

PHP側を簡素にしたいのかもだけど、そこまでわかりやすくなってないか地獄だわ。

出力して結果をコピーしてエクセルに張り付けて重複の削除押したら1分で終わるのに

SQLだけでやれと言われてDISTINCT書いたら1時間経っても結果が返ってこないナリィ…

2024-01-04

anond:20240104150940

会社員としての経験がなぜ無にかえるのと思っているのか?って思うよ

若い頃に楽して稼いじゃったからだぞ。風俗だけじゃなくて水商売も同じ

 

水商売接客が出来るなら、同性の同僚はともかく(フツーにキャスト同士で揉めてるし)

異性の同僚や上司なんて転がし放題よ

実際、それで、IT経験バツイチ子持ちアラサー↑で、

転がしまくって初アサインでフルリモートかつ残業ゼロ仕事を勝ち取った人おったよ

 

けどまぁ秒でやめたよね、給与が安い&やり甲斐がないか

 

やり甲斐スキルアップやある程度の給与求めるなら、英語が出来るんだし、

◯◯やった方がいいとかXXやった方がいいって言ったけど、

子どもいるから家にストレス持ち帰りたくないとか言ってやらないよね

 

苦労する=スキルアップ出来る ではないので、無駄な苦労はしない方がいいが、

かといって若さや性を売って簡単に金を稼げるは覚えさせてはいけない

後の就業に大きな影響与えるし、年取ったら水商売風俗給与安いし自尊心傷つくぞ

ワイの謎のフォロワー(風俗嬢)に言いたいこと

パソコン嫌いじゃ無いならITやれ

美人かわいいで許されてて接客も勤怠も終わってる人は、

理解ある彼くん・パパくんの登場をお待ちいただくか、本人が変わる気になるまでどーにも出来ないが、

特別美人かわいいワケではなくて、そこそこ接客と勤怠そこそこしっかりしてる人なら、コミュ障だらけのIT無双出来るぞ

 

問題給与だが、

本業ではなく副業でやってるわけわかんね〜ヤツのレベル収入なら速攻でITが上回るようになると思うよ

経験でも売り方間違えなきゃ400万以上狙えるし、将来的には600〜1000万全然狙えるで

 

セックスが好きで好きで仕方なくて天職だと思っているわけで無いなら、無駄自尊心削られるだけだしすぐにおやめなさい

 

・・・と思ってるけど言えるわけないので増田奉納

 

例によって例のごとくメンヘラってるみたいなのでどこまでお話本当か知らんが(メンヘラ営業だったりして)、

複雑なご家庭にお生まれ・お育ちの模様。ホンマ安全地帯って大事よなって思う

ガチャ大失敗してしまったのは気の毒だが無意味自分自身を傷つけ続ける必要性は無い

金ないからウーバーイーツやると同じくらいの狂気を感じる(車やバイク運転が何よりも好きでめちゃくちゃ運転も経路選択も上手い人は別)

もしくは半世紀くらい前の世界や法が及ばない後進国からやってきたとか

金が無いからこそ健康優先でデスクワークだろうにな
セクキャバで時給2000ー2500円とかみたけど
都内ならSQL叩ければ普通に出る額だぞ

もちろん、死ぬほど車/バイクが好きだから宅配やるぜと同じく、

死ぬほどセックス全般を愛していてセックススターになりたいっていうなら別だが

おそらくそうではなかろうよ

2023-12-16

25卒質問

SQLを書くお仕事したいんですけどどういう職種につけばいいですか?

実務経験はないです

2023-11-29

過去イチでヤバイPJを引き継いだ

弊社のビジネス創造部門的なところが作ったPJがあるんだが

どうもゴリゴリ炎上してるらしくて支援に入った

こういう仕事は割とあるんだがなかなかのヤバさだったので紹介したい

ちなみにサービスの内容は非常に良くてユーザーも万単位で付いているらしい

からこそ炎上している

バックエンド環境

バックエンドAWS EC2動作しているがログインアカウント共通化されていてパスワードを全員で共有している

ユーザーを追加しようとしたら「そのような勝手行為セキュリティ許可されていません」とのこと

本番環境とStagingはインスタンスが分かれているが運用は同じ方法

Staging上で5人ぐらいが作業しているが、ホームの下にそれぞれのユーザー自分名前ディレクトリを作って作業している

バックエンドシステム

バックエンド側のシステムは詳細は伏せるが、某システムで動いている

仮にNode.js系だとすると、package.jsonがあってnpm run installでインストールするのだが、普通にインストールしようとするとエラーになる

内容は依存関係で失敗しているのだが、本番も同じソース動作している

動作させるにはnode_modulesをまるっとコピーして、とのこと

さっきの自分名前ディレクトリ配下コピーしてきて、適当ポート番号でサーバを立ち上げれば一応は動く

このため、新しいモジュールを入れようとすると依存関係で失敗するため、便利なモジュールがあってもインストールできないし

セキュリティアップデートも当てることはできない(現にバージョンがすごく古い)

バックエンドシステム内容

ソースコードGitHub管理されているがセーブポイント感覚でcommitされているのでコミットログを見ても何が起きているのかさっぱり分からない

おまけにPRも使わずmainマージしまくっていてわけがからない

加えてソースコードコメントアウトの嵐でどこに何が書いてあるのかさっぱりわからない

データベースPostgreSQLだが山ほどテーブルがあるのに外部キー依存は入っていないしVIEWも作られていない

まぁ、他にもテーブルを見ていくとアンチパターンオンパレードで、EAV、ジェイウォークあたりは確認できたしHTMLSQLが格納されているテーブルも見つけた

ソース上でクエリを作ってAPIを作っているが、ザッと見ただけでもインジェクションし放題の状態になっていた

フロントエンドシステム

フロントエンドも詳細は伏せるが、いわゆるReact的なものを利用している

こちらは npm run installでインストールできるし npm run devでちゃんと動く

ローカル動作するので非常に助かる

ただ前述の通りバックエンドローカルで構築できないのでEC2を利用するしかなく、CORS対応のためのプロキシを自前で用意する必要があった

フロントエンドソースコード

バックエンド同様にGitHub管理されているが、管理しているだけ

バックエンドは5人ぐらいが利用しているが、ソースコード編集するのは実質1人なのでコンフリクトほとんど起こさないらしいが

フロントエンドは5人ぐらいが編集するのでコンフリクトしまくっている

解消するときデグレすることが日常茶飯事でその都度Hotfixしている

コードコメントアウトだらけなのに加えて、不必要コードが大量にあるので可読性が著しく低い

(難しい処理を読み解いて追いかけていったら最終的に使われていない、などが大量にある)

2000行ぐらいあるコードとかChatGPTに突っ込んだら20行ぐらいになる予感がある

また、DBがご覧の状態なので取得されるデータ全然抽象化できておらず、コードが膨れ上がっている

例えばProductの一覧データサーバから取得して、ユーザークリックしたProductをCartに投入するのだが、投入する情報Productではなく、CartItemにする必要があるし

OrderするときはOrderItemにしてAPIを叩く必要がある

ほとんど同じ情報なのだ微妙に変わっていたりKey名が違っていたりするのでそれぞれ変換する

他にも数え上げればキリがないが、コピペして少しだけ改変している部分などが大量にあってバグがあるのかどうかすら判別できない

セキュリティ課題

DBHTMLSQLが入っていると言ったが、調べて見るとDBから取得したHTMLをそのまま埋め込んで表示していたりした

SQLについてはフロントエンド側でSQL生成しており、そのテキストAPIに送り込んでサーバ側で実行して貰った上で格納とかしていたので

「ここにDROP TABLEとか書けばTABLE消えるんですか?」

と聞くと

「そんなことする開発者はクビだなwww

とか言われたのでことの重大さを伝えたが、まだ対処できていないようだった

認証等はOAuth2を使っていたので大丈夫そうだったが、本当に大丈夫かどうかは自信がもてない

今後の期待

システム内容はゴミのような状態だがサービス的には良いので、幹部プロダクトオーナーからは追加要望が山盛り来ている

開発チームが「稼働が足りない」という理由で断ったので「じゃぁ支援して」ということで自分のところに来たのだが

申し訳ないが、そもそもそういうレベルに無いし、全て作り直しが必要

と伝えてもどうやら伝わっていない様子

ちなみに元々の開発チームは過去にもこんな感じでサービス作ってたらしいが売れないので問題になってなかった様子

ぱっと見は動いているように見えるのが厄介なところ

正直逃げたいところではある

ログイン ユーザー登録
ようこそ ゲスト さん