はてなキーワード: インスタンスとは
第3回でNode.jsのインストールには成功していた。と思う。3時間くらいかかったけど。
ところが、
npm run dev
Error: Your current platform "freebsd" and architecture "x64" combination is not yet supported by the native Rollup build. Please use the WASM build "@rollup/wasm-node" instead.
こういう仕事は割とあるんだがなかなかのヤバさだったので紹介したい
ちなみにサービスの内容は非常に良くてユーザーも万単位で付いているらしい
バックエンドはAWS EC2で動作しているがログインアカウントは共通化されていてパスワードを全員で共有している
ユーザーを追加しようとしたら「そのような勝手な行為はセキュリティ上許可されていません」とのこと
本番環境とStagingはインスタンスが分かれているが運用は同じ方法
Staging上で5人ぐらいが作業しているが、ホームの下にそれぞれのユーザーが自分の名前でディレクトリを作って作業している
バックエンド側のシステムは詳細は伏せるが、某システムで動いている
仮にNode.js系だとすると、package.jsonがあってnpm run installでインストールするのだが、普通にインストールしようとするとエラーになる
内容は依存関係で失敗しているのだが、本番も同じソースで動作している
動作させるにはnode_modulesをまるっとコピーして、とのこと
さっきの自分の名前のディレクトリ配下にコピーしてきて、適当なポート番号でサーバを立ち上げれば一応は動く
このため、新しいモジュールを入れようとすると依存関係で失敗するため、便利なモジュールがあってもインストールできないし
セキュリティアップデートも当てることはできない(現にバージョンがすごく古い)
ソースコードはGitHub管理されているがセーブポイント感覚でcommitされているのでコミットログを見ても何が起きているのかさっぱり分からない
おまけにPRも使わずにmainにマージしまくっていてわけがわからない
加えてソースコードはコメントアウトの嵐でどこに何が書いてあるのかさっぱりわからない
データベースはPostgreSQLだが山ほどテーブルがあるのに外部キー依存は入っていないしVIEWも作られていない
まぁ、他にもテーブルを見ていくとアンチパターンのオンパレードで、EAV、ジェイウォークあたりは確認できたしHTMLやSQLが格納されているテーブルも見つけた
ソース上でクエリを作って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名が違っていたりするのでそれぞれ変換する
他にも数え上げればキリがないが、コピペして少しだけ改変している部分などが大量にあってバグがあるのかどうかすら判別できない
DBにHTMLやSQLが入っていると言ったが、調べて見るとDBから取得したHTMLをそのまま埋め込んで表示していたりした
SQLについてはフロントエンド側でSQL生成しており、そのテキストをAPIに送り込んでサーバ側で実行して貰った上で格納とかしていたので
「ここにDROP TABLEとか書けばTABLE消えるんですか?」
と聞くと
とか言われたのでことの重大さを伝えたが、まだ対処できていないようだった
認証等はOAuth2を使っていたので大丈夫そうだったが、本当に大丈夫かどうかは自信がもてない
システム内容はゴミのような状態だがサービス的には良いので、幹部やプロダクトオーナーからは追加要望が山盛り来ている
開発チームが「稼働が足りない」という理由で断ったので「じゃぁ支援して」ということで自分のところに来たのだが
「申し訳ないが、そもそもそういうレベルに無いし、全て作り直しが必要」
と伝えてもどうやら伝わっていない様子
ちなみに元々の開発チームは過去にもこんな感じでサービス作ってたらしいが売れないので問題になってなかった様子
ぱっと見は動いているように見えるのが厄介なところ
正直逃げたいところではある
オブジェクト指向とかかっこいい言い方をしても無駄だ。従来の構造化プログラミングから進歩したことなど一つもない。オブジェクト指向がなぜダメであるのか、それを今から話すぜ。
1. データと処理をまとめるという発想。
データと処理をまとめてクラスとして置くという発想がある。しかし、このようなことをしなくとも、モジュールという単位で利用データと処理の集合をまとめればよかったので、クラスを使う必要はない。しかもクラスはインスタンス化のときに、不要な情報まで持ってくるのでメモリ効率が明らかに悪い。コンピュータが進化しているからメモリのことはあまり考える必要がないとはいえ、必要ない処理をまとめて閉じ込めるのは無駄が多い。なぜクラスという名詞で概念分類できると考え始めたのかは不明だが、アルゴリズムとデータ構造という構造化プログラミングの手法を、クラスと型というパラダイムに変換することで型にうるさいC++馬鹿を生み出し、彼らが発狂することになってしまった。しかもデータと処理にわざわざ依存関係を持たせて、変更に対する柔軟性を失わせている。
2. 継承
継承によって既存の構造を持ってこようとする必要性が全く無い。それどころか、継承を使うことによってプログラムがスパゲティ化し、依存関係のグラフがややこしくなってしまう。継承など使わず、必要な情報はスコープの限られた共通の変数、または関数の引数として用意しておけば良い。もしクラスをどうしても使いたければ、共通のインターフェイスをもたせたほうがマシである。インターフェイスを使えば、クラス利用者が意識すべきpublicメソッドがなんであるか把握できる。
3. カプセル化
オブジェクト指向の中で役立つ概念はカプセル化だけである。しかし、カプセル化はクラスなしで構造化プログラミングの方法で実装できる。pythonでは、モジュールの中でアンダースコアから始まる関数を用意しておけば、それがprotectedやprivateと似たように機能させることができる。オブジェクト指向がなぜカプセル化が独自の概念だと言い始めたかは謎。
4. ポリモーフィズム
同じ名前のメソッドを、入力に応じて処理の内容を変える。このようなことはオブジェクト指向などと誇大宣伝をするほどのことでもない。構造化プログラミングで似たようなことができる。
ツイッターがダメになったあたりから企業(などの組織)の広報みたいな使い方をターゲットに誰か始めるんじゃないかと思ってたけど意外と出てこないね。
自前でインスタンス運用は無理だけどそこらの無料インスタンスもちょっと・・・という層向け。
自国の企業が運営しててX Japanよりまともな窓口があって安心感がある的な。
代行業者の方は別にユーザ企業ごとにインスタンスを作る必要はなくて、最低限インスタンス1個用意するだけ。
利用料の相場はどのくらいが適当なのか分からないけどたとえば月1000円とか?
(追記)
念のため書いておくと企業アカウントをフォローする側の一般ユーザーの登録は受け付けない想定なのだ。一般ユーザーは他のインスタンスからリモートフォローすればいいのだ。
この人が言いたいことは分かりすぎるくらい分かる。自分の配属先は割とモダンでイケイケな感じ(詳細は末尾※)だったけど、元記事の人と同じくつらい境遇にいる同期もいたので。
自分の場合は配属先の居心地が良かったものの、当時の会社全体に対するイメージは「現状維持してるだけの会社」って感じで、将来は暗いなと思ってた。
自由で進歩主義的な感じになった。まず、服装が自由になった。社員の自立性を尊重したいという社長の意思をビデオメッセージで聞いた時、私は心の中で拍手した。スーツを着るのは、会社からモノ扱いされてる感じがしてキラいだったから。
そして、ジョブ型が導入されて、給与は年齢ではなく職責に基づくようになった。これで、年齢だけで年功序列ピラミッドの上位に居座ってる非管理職は実質降格になったらしい。ジョブ型の関連で社内異動・マッチングの仕組みも導入され、目指すキャリアを実現しやすくなった。自分の部署にも年に数人社内異動でやってくる。
あと、エンゲージメントスコアが計測されるようになった。これは、従業員がどれだけ楽しく働いているかというメトリクスであり、四半期ごとのアンケート調査によって計測される。この値はマネージャーの評価に直結するから、マネージャーはチームの働きやすさを改善するためにチームとディスカッションして具体的なアクションを取るようになった。
このディスカッションは結構良くて、意味がわからんルールを廃止したり、新しいツールを導入したり、フルリモートの中でコミュニケーションを図るためのアイデアを出し合ったり、結構有意義な時間になってる。
という具合で、富士通は時田社長の強力なリーダーシップのもと改革を断行しており、現場レベルでもその改革の効果を感じている。4年前に比べて富士通の株価は2倍以上になったが、市場の受け止め方も私の感覚と一致している。
まだまだレガシーな部分はあるし、SI中心のビジネスモデルに未来はあるのかなど色々思うところはあるけど、これからも改善していくだろうなという感覚はある。
いろんな考えを持った社員がいると思うけど
以上、一社員の声でした。
---
(※)
もとの記事では Git 使ってないとかマシンが貧弱とか色々書かれてたけど、完全に配属ガチャだなぁ...と思った
私の配属先では、GitOps し、CI/CD し、スクラム開発し...と(社内では)比較的モダンな開発をやってたり、業務時間に社外のカンファレンスを聴講しにいったり、勉強会があったり、クラウドの GPU インスタンスで遊んでよかったり...と、元記事の方とは真逆の環境だった。
元記事の人が言いたいことは分かりすぎるくらい分かる。自分の配属先は割とモダンでイケイケな感じ(詳細は末尾※)だったけど、元記事の人と同じくつらい境遇にいる同期もいたので。
自分の場合は配属先の居心地が良かったものの、当時の会社全体に対するイメージは「現状維持してるだけの会社」って感じで、将来は暗いなと思ってた。
経営層が自由で進歩主義的な感じになった。まず、服装が自由になった。社員の自立性を尊重したいという社長の意思をビデオメッセージで聞いた時、私は心の中で拍手した。スーツを着るのは、会社からモノ扱いされてる感じがしてキラいだったから。
年齢だけで年功序列ピラミッドの上位に居座ってる非管理職は実質降格になった。ジョブ型の関連で社内異動・マッチングの仕組みも導入され、目指すキャリアを実現しやすくなった。自分の部署にも年に数人社内異動でやってくる。
これは、従業員がどれだけ楽しく働いているかというメトリクスであり、半期ごとのアンケート調査によって計測される。このスコアはマネージャーの評価にも関わるらしく、マネージャーはチームの働きやすさを改善するためにチームとディスカッションして具体的なアクションを取るようになった。
このディスカッションは結構良くて、意味がわからんルールを廃止したり、新しいツールを導入したり、フルリモートの中でコミュニケーションを図るためのアイデアを出し合ったり、結構有意義な時間になってる。
富士通は時田社長の強力なリーダーシップのもと改革を断行しており、現場レベルでもその改革の効果を感じている。4年前に比べて富士通の株価は2倍以上になったが、市場の受け止め方は妥当だと感じる。
一方、まだまだレガシーな部分はあり、部署によっては元記事同然のところもあるだろうし、改革は道半ばだとは思う。
いろんな考えを持った社員がおり、私のこの投稿も生存バイアスがかかってるんだけど、一社員の声として。
(※) もとの記事では Git 使ってないとかマシンが貧弱とか色々書かれてたけど、完全に配属ガチャだなぁ...と思った
私の配属先では、Git を使い、CI/CD し、k8s でマイクロサービスしたり、スクラム開発し...と(社内では)比較的モダンな開発をやってたり、業務時間に社外のカンファレンスを聴講しにいったり、勉強会があったり、クラウドの GPU インスタンスで遊んでよかったり...と、元記事の方とは真逆の環境だった。
Twitter時代にトランス差別運動を見聞きするのがキツくなって以来、半年以上Mastodon系の個人インスタンスとかに籠ってて最近のX情勢を知るための取っ掛かりもないので誰か教えて欲しい。
と言う辺りなんだが、他に何か目立った話ってある?
ちなみにMastodonとかで起きた面白話って言うと、正直 Misskey.io ぐらいしか追い掛けてないんだが、
と言うぐらい。
マストドンは、現在利用可能な多くの Twitter 代替手段の 1 つです (他には、Threads や Bluesky などを聞いたことがあるかもしれません)。私はマストドンを使い始めていますが、非常に楽しんでいます。ここでは、あなたも試してみることに興味があるかもしれない理由のリストを示します (そしてサインアップ (ttps://mastodon.social/) することでそうすることができます)。
1. 広告は無いほうがいい
マストドンは広告収入によって支えられていないため、有料広告や宣伝広告がタイムラインに強制的に表示されることはありません。
マストドンには、フィルター(特定の単語を含む投稿を非表示にする)、一時的なミュート(ユーザーからのコンテンツを一定時間「一時停止」できる)、自分のコンテンツを見ながら人々から「ブースト」(「リツイート」に相当)を非表示にする機能、(見たくない人や交流したくない人に対する)無制限のブロックがあります。そしてツイッターのような「アルゴリズム」はありません。アルゴリズムというのは、あなたが興味を持ちそうなものに基づいて、他の誰かがあなたのタイムラインにコンテンツを押し込んでいるのです。
3. 分散化
しばしば予測不可能な所有者の気まぐれに左右される他の多くのソーシャル メディア プラットフォーム (Twitter などを参照) とは異なり、Mastodon が構築されているプロトコルは分散化されており、コンテンツを制御する単一の個人や団体は存在しません。
プロモートされたコンテンツをタイムラインにプッシュするためのアルゴリズムや金銭的インセンティブがないため (上記の項目#1と#2を参照)、ユーザーが慣れ親しんでいるような、エンゲージメントを促進するために設計されたノンストップの「怒りを煽る行為 https://gizmodo.com/10-internet-rage-baiting-techniques-to-know-about-1850615967 」ははるかに少なくなります。
5. あなたのコンテンツに実際に興味を持っている人々のフォローを構築できる
ソーシャルメディアでフォロワーを増やすのは難しいことを知っています。あなたがソーシャルメディアの「群衆」のために「パフォーマンス」するのが好きなタイプでない場合、さらに困難です。Mastodonではありのままでいられます。
全体として、マストドンでの会話は、LinkedIn を含む他のソーシャル メディア プラットフォームよりもはるかに礼儀正しく、思慮深いものであることがわかりました。ランダムに返信に現れてあなたに怒鳴ることなく、微妙な議論をすることは実際には可能です。そして、そのような行為に関与したくない場合は、その人をミュートまたはブロックするツールがあります。
主にボランティアのコミュニティメンバーによってモデレートされているにもかかわらず、マストドンのコンテンツモデレーションは非常によく行われています。これは、 TwitterやBluesky でさえ現在起こっていることとはまったく対照的です。マストドンでは「コミュニティを守る」ことが最優先事項です。
Twitter (現在、特定の機能を利用するには月額料金が必要です) や他のソーシャル メディア プラットフォーム (広告主と共有されるユーザー データの形で料金が発生します) とは異なり、Mastodon のすべての機能を使用するのに月額料金は必要ありません (いつでも好きなときに投稿を編集できることも含まれます)。サーバー (「インスタンス」とも呼ばれます) を管理している人への寄付は、もちろん推奨されますが、必須ではありません。
色々試してはいるけど、ここに永住しよう、と思えるところは見つかっていない。
リアクションが豊富で、FF外でもリアクションする文化なのは楽しい。
ハッシュタグの文化があまりなく、検索機能も弱めなので(多分)、ある事柄について言及するノートを探そうとしても難しい。
費用と手間をかけて運営していただいてることには感謝しかないが、運営が変な方向に走りそうな時に是正する力が働くかは、やや不安。
中学生を描いたイラスト(非NSFW)に「ハイエース」のリアクションがたくさんついたりする空気はちょっときつい。
Misskeyのアカウントで個別のユーザーはいくつかフォローしているが、全体の雰囲気は知らない。
いま入ってるサーバーは、①なんでも話せる少人数の内輪のものと②特定ジャンルの大規模なもの複数。
なんでも話せる比較的規模の大きなところがあれば入りたいが、探しきれてない。
良さそうだが、個人運営なので、より大規模になってきた時にどうなるかの不安はある。
はてなハイクの後継。
雰囲気は良さそう。
私の環境だと、注目のキーワードを一瞬しか見ることができず、全投稿のTL的なものを眺めるしかできない。
(使い方が間違ってるのかもしれない)
Twitterの代替の地位を確立して非キラキラ系アカウントもたくさんいるようになったら、試してみたい。
(現状どうなのかはよく知らない。)
気に入ってはいる。
当たり前だが、元記事がないとコメントできず、日常的なつぶやきができないので物足りない。
増田よりは個を出したいし、はてなブログよりは気楽に書きたい。
知り合いもまだたくさん残っているので、しばらくは使い続けるつもり。
ただ、今後、サービスが悪化する気しかしないので、引越し先は確保しておきたい。
いつまで経ってもリリースされない、というネタすら古びてきた感のある幻のSNS。
※参考
オタクはいつまでもTwitterにしがみついてる場合ではない。分散型SNSにアカウントを作れ。現状は特にActivityPubに対応する分散型SNSだ。MisskeyでもMastodonでもいい。自分に合うサーバーに入れ。ノリが合うサーバーが見つからないならお一人様インスタンスを立てろ。もう何ならWordPressで個人サイト作ってActivityPub関係プラグイン入れるでもいい。
というのもThreadsはActivityPubと互換性を持たせる予定だからだ。
「Threads」では、分散型(非中央集権型)のソーシャル・ネットワーキング用のプロトコルである「ActivityPub」と互換性をもたせる予定。メタとして初めてオープンなSNSプロトコルとの互換性を想定したアプリになるという。
これにより、MastodonやWordPressなどActivityPubプロトコルをサポートするほかのアプリと相互運用できるようになる。公式では「ほとんどのSNSで不可能な、新しいタイプの接続が可能になる」としている。ほかのアプリでは、TumblrなどがActivityPubをサポートする意向を示しているという。
互換性があるアプリを使っていれば、Threadsのアカウントがなくとも、Threadsユーザーをフォローし交流できるようにする。
あわせて利用をやめる人に向けて投稿した内容をほかのサービスで使えるよう、コンテンツを転送するオプションの提供も計画されている。
公式ブログは「メールやWebを管理するプロトコルに似た分散型のアプローチがオンラインプラットフォームの将来に、重要な役割を果たすと信じている」とつづる。
つまりThreadsに推しコンテンツの公式アカウントが出来た場合、Misskey等のオタク向けインスタンスに住みながら公式アカウントをリモートフォローして公式の投稿を拡散する、みたいなことが今後出来る。
オタクはドブ川に沈みながら、公式は比較的キラキラした別の場所に住める。
公式アカウントだけでなく、他の分散型SNSにいる全ての自分がフォローした好むアカウントの投稿が口を開けてるだけでホームTL流れ込んでくる。
現状のTwitterが今から分散型に乗っかるとは思えない。ていうか後から乗っかれる金が無い。逆にメタは後からでもActivityPubだけじゃなく他の分散型プロトコルにだって(そっちがでかくなれば)乗っかってくる……と思われる。
公式が分散型SNSにアカウントを作った時、Twitterから余計な一言を足してそのリンクを張るのか? いいや分散型SNSのアカウントから一次情報の公式の投稿をそのまま拡散すべきだ。公式アカウントの投稿を正しく拡散できるのは、分散型SNSにアカウントを持つオタクなのだ。そういうわけでどこでもいいから分散型SNSに席を作るべきだ。最近は流入が多く、良いサーバーは新規登録停止してる場合も多い。
同じTwitterという場所に公式アカウントや関係者が居ながらエロBL二次創作の話がワンクッション無く流れてくる、そういう状況が嫌だと思う人は居るはずだ。その状況を今より軽減出来るのが分散型SNSなのだ。
サンは森で、私はタタラ場で暮らす。その場合、サンが森で投稿した絵を見るにはまず森に行くしかなかったが、分散型SNSではサンが森で投稿した絵がタタラ場で見れるし、タタラ場の人達に広めることも素早く出来るのだ。あとサンが自分で森以外のところに投稿する手間も省ける。
でもTwitter民は分散型SNSについて、キモいねー、ほらこんなこわいところもあるんだよー、Twitterがやっぱいいよねーって言い続けてる。なんでだよ。
「分散型って投稿を消そうと思っても完全に消せないんでしょ?」
→それはTwitterでも同じだ。魚拓を取られたりアーカイブ化されたり自動でTwitterの画像を無断転載しまくってるサイトがある状況で、Twitterの投稿は自分が削除すれば全部削除されるなんて幻想である。オープンなネットに公開した時点であらゆるものは取り消せないし自分の意志と関係なくネットに流れ続ける。Twitterであろうがどこであろうがそう思って投稿するべきだ。あとは投稿する際に連合に流さない設定にすればそのあたりの不満は多少は軽減されるかも。もちろん完全ではないけど。
→それはMisskeyのioサーバー限定のノリだ。別のサーバーに行け。オタク向けのMisskeyなら他ににじみす.moeやお絵かきすきーなどがある。Misskeyとはソフトウェアのことで単一のSNSのことではない。カスタム絵文字はサーバーによって登録されているものは全く違うし、サーバーの空気もそれぞれ違う。ローカルTLやソーシャルTLが無いサーバーもある。サーバーごとの雰囲気はハイライトを見るなどすれば掴みやすいはずだ(ログインしなくてもhttps://サーバードメイン/exploreのアドレスで見れる)。Misskeyのカスタム絵文字がギラギラしてて疲れるならCSS追加でカラムごと非表示にする(GitHub - kanade/misskey-css: Misskey用カスタムCSS)こともできるが、Mastodonに行くといいだろう。Pawooサーバーは企業が運営しているので個人サーバーよりはいくらか安心出来るかもしれない。合うところが無いと思ったなら自分しかいないインスタンスを立てればいい。単なるhtmlの個人サイトを作るよりもいい。どの連合サーバーでも、お一人様サーバーだとしても、他のサーバーや他のシステムにいる人をリモートフォローし合える、それが分散型なのだ。
「Twitterは色んなジャンル違いの人の話やドブみてぇな投稿やオタクの日常等が雑多に見れる、それはTwitterにしかない」
→そういう状況は分散型SNSのほうがよほど構築しやすい。構築しなくても日本人が多い分散型SNSの殆どのローカルTLはジャンル違いのオタクの話と日常とドブみてぇな投稿が雑多に流れている。Twitterにしか無いものがあるとするなら現状の日本人ユーザー数と日本企業日本行政アカウント数ぐらいなもので、後は寧ろマイナスだ。
→それはそう。Twitterにしか無いものといえば日本人ユーザー数と日本企業日本行政アカウント数だけだと言ったが、それこそが肝心要だと言われればその通りでしかない。
そんなわけでみんなでどこでもいいから分散型に行け。ていうかオタク向け企業は出来ればスレッズ等の大手にアカウント作って、オタクはミスキーやマストドンに行ってくれ。フォロワーがそれぞれのサーバーやシステムに散らばっていたとしてもフォローし合える、それが分散型の強みだから。いっせーので全員が同じSNSに移動することは無いだろうが、いっせーのでそれぞれに合う分散型SNSに移動することは可能なはずだ。
そして上記の記事にあるように、分散型SNSは別サーバーやシステム等にアカウントをうつす等の機能が実装される可能性が高い(ミスキーなどは実験版ではあるが既に実装している)。投稿やフォロワーを引き継いで他の場所に引っ越すことが出来る。Twitter上での長年の繋がりを断ちたくないという人は多いと思うが、分散型SNSに席を置いておけば今後は「そのSNSが気に入らなかったらフォロワーと投稿を引き継いで別の場所に引っ越す」が可能になるのである。
分散型SNSが主流になればTwitter以上の便利とゆるい繋がりと棲み分けが我々に待っているはずだ。そして時代の潮目は分散型SNSに来ているのである。とりあえずアカウント作って公式をリモートフォローする準備をしておけ。
「Threadsまだ分散型対応してないんでしょ? 対応してからでもよくね?」
→……まあ……正直そうかも……