「サーバ」を含む日記 RSS

はてなキーワード: サーバとは

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を使っていたので大丈夫そうだったが、本当に大丈夫かどうかは自信がもてない

今後の期待

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

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

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

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

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

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

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

2023-11-28

チャットGPTブログ記事書く気にはなれない

チャットGPTで書けるような記事は既に他の人が書いているので、時間サーバ代とGPU代と電気ひいてはCO2無駄

2023-11-24

個人開発プログラマ趣味啓発の個人開発環境作ってる人に聞きたいんだけどクラウドって選択肢にある?それともVPS?それともオンプレ

クラウドはどこも従量課金ちょっと怖いんだけどスキルアップのためには使ったほうが良い気がする

ただ固定月額制は見当たらない

VPSだと固定制が出てくるけど、性能がちょっと...というところが多い

そうなるのオンプレPCラズパイを買ってサーバ化になるけど...

詳しい人、教えて!!!!!!!!!!!!!!!!!!!!!

2023-11-21

仕事で舐められる場合対処法を知りたい

会社で使ってるシステムが1日2回くらい停止するようになったのでベンダーに連絡。サーバとかログとか見てもらったんだけど

「わかりませんねー」「昨日ネットワーク調子が悪かったんですよね?そのせいでは?」等言われて直らず。

上司にも、ベンダーから匙を投げられた事は連絡し、仕方ないねという空気になったもの

使っている人は1日に2回も止まると大変なので改めて苦情が来る。

ここで登場したのが仕事ができる同僚。

ベンダーに連絡を取り、仕事ができる同僚が改めて「1日に2回くらい止まるんですけど、原因わかりますか?」と聞くと、ベンダーが突然「ログDBが壊れている可能性がある」などと言い出した。

お前いままでそんな事一度も言わなかっただろうが。

で、30分くらいなにか作業したらあっさり直る。

 

この件に限らず、別のベンダーもそう。自分にはろくに説明せず、会話もしたがらない。

酷いところだと同僚が打ち合わせに居ないと「あーじゃあ今日は打ち合わせにならないですねぇー」とか言ってくる。

 

おかげで「仕事ができないやつ」の完成だ。自分ひとりでは何もできない。頼んでも誰も何もやってくれず、トラブル解決能力がない。

ミスをしないとか、頼まれ仕事を完遂するとか、そういう部分だけで評価されるなら自分ひとり頑張ればなんとかなったけど

舐めらるともうどうしていいのか分からない。

かといって怒ったりすると今はコンプラ的にアウトだし。

2023-11-15

Webサーバインストールパーミッションエラーが出て数時間悩んだ挙げ句SELinuxをOFFにするのを忘れていたことに気づく

nヶ月ぶりx回目

2023-11-14

ワイはコンピュータ仕事をしてるけど、

あんまりキーボードを使わない。プログラミングするんだけど、大体はコピペで済む。後はソフトウェアキーボード出しておいて、ぽちぽちクリックして補完でなんとかなる。これだと右手マウスを持ってるのがホームポジションから楽。

だけど、そんなおじさんの仕事の様子を見ている若いからは「あい大丈夫かよ」みたいに思われてたようで、Linux作業ミスってVPSサーバネットワークが切れたときに、気付かれる前に直そうと急いで両手のブラインドタッチキーボード打った時は、後ろで小さなどよめきがあって、「できるんだな」って聞こえた。


できるわ!

Windows 95が出た時くらいのビル・ゲイツだって、もうプログラムは書かないってインタビューの返答の時に、「キーボード右手しか使わない」って言ってたからな。では右利きの男子左手マウスを使う時は、どんなとーきだ?

いつもエロ動画を6つくらい再生しておなにーしてるんだけど、そのMPC-HEの操作サイコミュでやりたい。

2023-11-06

Winny技術的にもそんなに大したものじゃない

P2P系は歴史改竄がヒドイ

最初NapsterがあったりWinMXがあったりしてのWinny

Winnyの特徴は単に匿名性が高いという点のみでP2Pとしての仕組みは大したことない

そもそもWinnyとかのP2P系は非構造P2Pと呼ばれていて適当コネクション張りまくる仕組みだから非常に効率が悪い

この辺の効率を高めようという話もあったし、Winnyとかはそういう挙動をするんだけど

当時からちゃん構造化させた方が効率も良くて管理やすいということは分かりきっていて研究最先端はそっちだった

簡単に言うと構造P2Pの方はきっちりと管理されているので数学的に効率性が保証されている代わりに匿名性が低い

逆に非構造P2P適当に良さそうな方法効率を高めようとしているので数学的な効率性を越えることは無いが匿名性を高められる

他にも効率を重視するならBitTorrentみたいな方式もあったしWinnyはただただ違法性を高めただけだった

しかも後期になると後発のPerfectDarkとかの方が圧倒的に匿名性も高いし構造P2Pを取り入れるなどしていて相当に強かった

P2Pの強みは中央集権的なサーバレスによるコストダウンネットワーク負荷の低減だったわけだが

プログラマー想像するフラットネットワークというのはどこにもなくて

実際には非対称かつ中央集権的なネットワークが(日本の)インターネットを支えていたので

ネットワーク負荷が大きな問題になってP2P規制対象になった

ネットワーク負荷的な問題がなければ47氏妄想したような著作権の方の改変がもしかしたら起きたかも知れないし

今のようなストリーミングライブが中心の音楽業界メディア構造になっていたかもしれない

まぁこの辺は正直分からないところがあって

プロバイダは本当にネットワーク負荷に困っていたのか、政治的ネットワーク規制されただけではないかという疑問は残っている

2023-11-02

anond:20231102102624

Webサーバサイドの開発だけやるなら困らないんだけど、それ以外をやろうとするとサードパーティソフトウェアバグだらけで困ることになるんだよな。

ユーザが少ないのが原因だしこの問題解決されない。

2023-10-26

anond:20231026201049

ブラウザの共有機能のマージ部分は信用してない

絶対に「競合があります:このデータ・設定はどちらを残しますか?」って聞いてこないといけないのにそれをしない時点でアレ

ブラウザインストールした直後または全リセットした状態で共有かけてる

(つまりサーバにあるデータを手元に複製させるだけになるようにしてる)

2023-10-25

anond:20231025180533

その田代砲というのはWebサーバに大量のPOSTを送りつけるだけのシンプルスクリプトなんだけど

こういうスーパーハカー(笑)向けツール(要はPC掲示板を落とすツール)は昔から「nuke」とか「フェイザー」といった武器由来の名前がつけられることが多く、それを使うことは「撃つ」と表現された

もともと攻撃目的なんだから自然な発想だったといえるね

サーバインのレジンキット、やたらかっこいいな

無塗装でも墨入れだけでかっこいいレベルの成形色にしてくれてるし

・・・って値段見たら76,780円!(笑)

いやまあだいたいそんなもんだけどやっぱレジンキットはたけえな

2023-10-17

0からAWS勉強するならこれがおススメ

https://b.hatena.ne.jp/entry/s/qiita.com/Sicut_study/items/6238413b66e274bccd7b

深夜4時まで勉強している割には他の記事Twitterからあんま深い事を感じないので怪しさMAXです。

もちろん書かれている流れも良いですが、増田のおススメも書こうと思う。

CLF クラウドプラティショナー 資格を取る

記事では全否定されていますAWSを学ぶ最短はこれだと思います

IPAITパスポートAWS版でこれを取得すればぼんやりAWSの各サービスとつながりが分かります。このぼんやりとってのが重要AWSはとにかくサービスが多いですが実際に開発すると使うのは大体限られます。もちろん記事のような流れでも良いですが、まずは全体を俯瞰できることが重要です。この資格取ればAWSへの苦手意識は持たなくなりますし、AWSCM見て「んなわけあるか!途中端折りすぎ!」と突っ込めるようになります

参考書写経

次にやるのは参考書写経です。なんでも良いですがサーバレス系の参考書だとリソースの削除も楽で良いです。AWS公式のでも良いですが大体和訳されていません。Amplifyとかは和訳されたのもありますバージョンアップで動かなくなったりして検索するのも面倒です。

もちろん参考書も2年前のものでも今では動かなかったりしますが、だいたいググるメモで書いている人居るので感謝しながらマネしましょう。1冊やりきれば充分です。

SAA ソリューションアーキテクアソシエイト 資格を取る

また資格です。SAAIPAなら基本情報です。正直これ取ればAWSを好きになります。でもサービスは組めません。でも苦手意識持たないのはこの業界では重要です。

正直CLFよりはだいぶ難しいですが初心者でも取れる資格なので頑張りましょう。

たぶんこれが増田の思うベストプラティスだと思う。と言うよりSAA取ればAWSに関しては日本エンジニアの半数より上に居れると思う。それくらい人が少ない。

ここから業務を経てSAPを取得したり、DVASOAの残りのアソシエイトも取って基礎を盤石にしたりとかは人それぞれだか、ひとつだけ言えるのは深夜4時まで勉強した付け焼刃ECSコンテナとかマジで触りたくない!

コンテナとかはAWS以外の知識も要るから時間をかけて人に説明できるレベル理解した方が良い。言いたいことはそれだけ。あとリソース削除言うけど無料枠とよほどの無茶しなきゃ金はほとんどかからないし、だいたいAWSが300クレジットくれるからどうにかなる。

自分サービス作るなら話は別だけど、試算ツールもあるし収益運用ちゃん見積もるのが大事だしAWS使うと大半はリソースどうしようか考えるのがメイン。どうせあとから増やせるでしょって思うサービス程増やせない

2023-10-11

全銀ネットの中継サーバメンテやらかしちゃった責任者、じゃなく担当者とかって

どうなるの?

これに限らず、ちょいちょい世間を賑わせてるシステム系の大規模障害だけど

こういうの起きたとき担当者ってその後どうなるの?

最近ネットワーク、速すぎて怖くない?

  1. Google検索ワード放り込むと1秒以内に数万件の結果が返ってくる。

その検索ワード距離にして数万キロのかなたにあるサーバ上で処理して返ってきてるわけじゃん。

参照したデータベースレコードってエクサバイトみたいなサイズでしょ?

そこからあれこれ演算して最適な結果を抽出して返すわけでしょ?

1秒以内でそれができるのかよ。マジかよ。こわい。ちょうこわい。

  1. レジバーコード決済すると1秒以内にスマホの方に決済結果が返ってくる。

バーコードスキャナレジ回線→数万キロのかなたにあるサーバ上のおれのカード残高情報を参照&更新回線沖縄のクソ田舎にあるおれの最寄りの楽天モバイル基地局電波塔→おれのスマホという経路を1秒で往復するとかヤバくない?どうやってんの?

1990年代パソコンだと、バーコードPCモデム、のバーコードからPCまでで1秒はかかってたじゃん。

2023-10-04

自らの内心に沸き起こる差別感情にどう対処するのか

内心、色々な差別感情が沸き起こることがある。

極力言動に出さないように気をつけているが、みんなどう対処しているのか。

# LGBT

LGBTであることをセールスポイントにしているタレントコメンテーター薄っぺらく見える。

性自認本来人間尊厳に関わる部分であり、商品として切り売りするものではない。それにもかかわらずセールスポイントとして売り物にする理由は、価値あるものを他に持たないかである

○私の差別感情であり、みんなそうだとは思わない

彼らをテレビで観ていると、家族失言をこぼしてしまいそうになる。

対処としては観るのをやめる。映画小説なども、LGBTが主要人であるものには近づかない。観ると私の中で差別感情が増幅されてしまう。

# アイドルマニアキャバクラホストクラブはまっている人、音楽家作家漫画家マニア

男女問わず馬鹿だと思う。

生きる活力は自らの内面から生み出すものである他人に過度に依存する可哀想な人、意志薄弱な人たちだろう。

○私の差別感情であり、みんなそうだとは思わない

対処としては、彼らに近づかない。

親族に該当者がいるので、この手の話題が出ることがある。その際には「一時の息抜きにはイイネ」という肯定的スタンスに自らを固定して会話することで、差別的な言動が出ないようにする。

# 薄汚い飲食店を好む人達

ラーメン屋町中華、一部の居酒屋は店内が汚く、客層もそれに応じて悪いのだが、それをあえて好む人たちがいる。通ぶりたい馬鹿である

○私の差別感情であり、みんなそうだとは思わない

対処としては、この手合いと飲食店へ行くときには、私の方で前もって候補を決めておく。この手の馬鹿は通ぶることが出来ればなんでもいいので、エスニック料理とか駅からちょっと歩く立地の店を選ぶとスムーズに決まる。

# 他の職種を見下す人たち

当方はある電機メーカー研究開発に従事している。

研究開発部門には、たまに、マーケティング部門マーケティングさせるよりも俺たちでマーケティングしたほうがいいとか、営業よりも俺たちのほうが売り方が分かっていると本気で言ってしまう人がいる。研究開発の人間マーケティング営業プロにどうやって勝つのか、理解が難しいのだが、彼らは真顔だ。

要は思い上がりだ。付き合いきれない。

対処としては無視する。反対にしても聞き入れる人はいないし、逆に協力しても失敗するので。

# プログラマであることに固執する人たち

ソフトウェア開発の世界の人たちだけが分かる話だが。 

プログラマであることに固執する技術者がかなりいる。勝手固執するだけならいいが、プログラマであることになぜか特権意識を持ち、他の工程従事する人をバカにする。

実際は、ソフトウェア開発において、プログラミングは数ある工程のたった一つでしかない。さらに、プログラミングよりも前の工程、例えば要件定義仕様検討のほうが遥かに重要だという事実常識である

それでもプログラミングに固執するのは馬鹿である

○私はプログラミングをそれなりに理解しているつもりである仕事コンパイラインタプリタ実装経験がある。特許も取った。またAWSサーバレスウェブアプリケーション実装したことがあるし、趣味で開発したAndroidアプリDAU一万人である

対処としては、彼らをむしろ褒めるスタンスを取ることである。率直にいって低賃金プログラミングに従事する人がいるか会社としては儲かるという側面がある。

2023-10-02

anond:20231002155526

gRPCのサーバとかC++で書けないこた全然ないが、CMakeもうざいしメモリリークも面倒だしで、ならRustやった方がいいわな

anond:20231002153024

ウェブサーバサイドにrustって、マジで言ってるんか?

趣味じゃなくて仕事にする話だとして

2023-10-01

マイナ保険証仕様の3大イケてないところ

券面に健康保険証の情報が表示されていない

券面に資格情報が印字されていないので、マイナカードを持っていても見せても健康保険に加入しているかからない。

持っている本人もわからないし、第三者も見ただけではわからない。病院の読み取り機にかざしてはじめてわかる。

はてな村の住人くらいのデジタルネイティブからは、券面に記載が無くてもスマホアプリで読み取れるとか反論があると思うが、一般人通用する理屈ではない。

例えばSUICAでは、定期券情報をわざわざ券面に印字している。これも、チャージ額と同じように読み取り機で確認する仕様にすることも可能だっただろうし、その方が低コストだったはずだが、それでも定期券情報の印字にこだわったのは、一般に普及させるためには「見てすぐわかる」ことが必要だったのだろう。

マイナ保険証ICカード形態で普及させるのなら、券面に印字スペースを作って健康保険情報を印字すべきだったと思う。

これは、モバイルSUICAがそうであるように、アプリになれば解決するかもしれない。

健康保険確認暗証番号必要

健康保険証の確認とき」で暗証番号入力必要になるのは、ユーザーにとって利便性が悪い。

現状で暗証番号が広く受け入れられているのは、キャッシュカードクレジットカードの一部だが、これはユーザーの金を引き出す/使うという「重要取引きのトレードオフ」だから

パスポートにもICチップが埋め込まれているが情報を読み取るのに暗証番号必要ない。免許証本籍地を見るための暗証番号を設定するが、使われていない。

とはいえ認証なしに情報を読み取れるようになるとスキミング問題もあるので難しいのだけど、安易暗証番号入力させると、病院などで盗み見られる問題が起こる可能性があって、こちらの方がユーザーにとっては重大だろう。

この問題キモ銀行とは違って病院では暗証番号入力を隠すことへの意識が低いところにある。

マイナンバーが印字されている

他人に教えてはいけない秘密の番号(マイナンバー)が印字されてしまっているという問題

マイナカードマイナンバー個人を紐づけるためのカードだとしても、マイナンバーのものを印字する必要があったのか。

例えば、クレジットカードでは再発行によってカード番号が変わることがあるが、それでもカード会社は個人特定することができている。同じようにマイナンバー本体サーバ内で管理して、券面には一時的な番号を記載する、あるいは電子データ内のみに持つようにするので良かったのではないか

2023-09-28

anond:20230928172300

原理的には今でもチルダ必要パスHTMLが設置されてるんやけど、サーバ側でそのことを隠蔽するようになったんやで

anond:20230919141733

Pythonの初歩を学ぶ→機械学習サンプル(mnistなど)を少し動かす→機械学習に興味を持つ→機械学習を学ぶ

機械学習に興味が出なかった場合、上で作ったmnist+αなコードAWS Lambdaで動かす。javascriptを学んで、推論する画像アップロードして、結果をwebブラウザ上で表示してみる。

この時、サーバサイドの実装に興味を持ったかAWSの動かし方に興味を持ったかwebブラウザに表示する部分に興味を持ったか、3通りくらいいると思う。

次はその技術を使って、別のものを作ってみる。AWSなら別のAWSマネージドサービスや、Auth0で認証系を作ってサービス拡張してみる。CloudformationやCDKをいじってみる。

サーバサイドの実装に興味を持ったら、機械学習結果をDBに保存したり、いろんな学習モデルを実行できるAPIを作ってみる。

javascriptならリッチな見栄えのUIを目指してみる、Next.jsなりに置き換えてみる。

こうやって、少しずつ拡張してみるのを続けると1020年すぐ時間が飛ぶよ。

そして、これだけ楽しめたら潰しがきいたことにならないかな。

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