Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「アンチパターン」を含む日記RSS

はてなキーワード:アンチパターンとは

次の25件>

2025-10-21

最近もやることがないのでC++ゲーム開発ごっこを細々と続けている

別に誰にもコード見せないからどうでもいいんだけどシングルトンはアンチパターンから使わない方がいいんだろうかとかゲームの本筋と関係ないことをついつい考えてしま

ひとりで勝手に書いてる分にはgetInstance()関数必要機能をどこでも呼び出せて気楽でいいんだけどもっと疎結合コードを目指すべきなのだろうか

Permalink |記事への反応(0) | 23:27

このエントリーをはてなブックマークに追加ツイートシェア

2025-10-09

関数引数が多すぎるという理由Configクラスを作るのはアンチパターンなの?

いいえ、関数引数が多すぎる(「Too Many Arguments」)問題解決策としてConfigクラス(またはパラメータオブジェクト)を使用すること自体は、一般的アンチパターンとは見なされていません。

しろ、多くの場合で推奨されるプラクティスです。

Configクラスが推奨される理由

関数引数が多すぎる状態は「コード臭い(Code Smell)」の一つとされており、Configクラスなどの単一オブジェクト引数をまとめることは、その問題を軽減するための一般的解決策です。

メリット説明
可読性の向上 長い引数リストコードを読みにくくしますが、関連する引数を一つのオブジェクトにまとめることで、関数シグネチャ定義)が簡潔になり、何を受け取っているのかが明確になります
引数の順序間違いの防止位置引数が多いと、呼び出し側で引数の順番を間違えるリスクが高まりますオブジェクトとして渡せば、プロパティ名でアクセスするため、この種のエラーを防げます
変更容易性の向上 新しい引数必要になった場合関数シグネチャを直接変更する代わりに、Configクラスに新しいプロパティを追加するだけで済みます。これにより、関数の呼び出し元すべてを変更する必要がなくなり、マージの競合も減らせます
引数グループ化・関連付け論理的に関連する引数(例:`name`, `lastname`, `city`, `country` → `Address`オブジェクト)をまとめることで、その意図コンテキストが明確になります

このような引数をまとめるためのオブジェクトは、Data TransferObject (DTO) やParameterObjectとも呼ばれます

潜在的アンチパターンになるケース(注意点)

Configクラス自体問題なのではなく、そのクラス使用方法や、そもそも引数が多いという事実がより深い設計上の問題を示している場合があります

1. 「やりすぎているクラス」の兆候

引数が多い関数は、しばしば単一責任原則(Single Responsibility Principle / SRP)に違反している大きなクラス(Large Class)や長いメソッド(Long Method)の兆候であることがあります

Configクラスを作っても、根本的な問題解決しない:引数クラスにまとめただけで、関数クラスが多くの異なる責任を持ちすぎているという根本的な問題解決しません。

対処法: この場合Configクラス作成する前に、関数が実行している処理をより小さな責任を持つ複数関数クラスに分割することを検討すべきです。

2.Configクラスが膨大すぎる

Configクラス自体が、もはや数十のフィールドを持つ巨大な「すべてを持つクラス」になってしまっている場合、それは設計上の問題です。

対処法: その巨大なConfigクラスフィールドを、論理的なサブグループ(例: `DatabaseConfig`, `NetworkConfig`, `LoggingConfig`など)に分割することを検討します。

3. 不必要な複雑さの追加

引数が数個(例: 2~3個)しかない関数に対して、引数をまとめるためだけにConfigクラス作成すると、不必要オーバーヘッドと複雑さが増すだけで、メリットが薄い場合があります

対処法:Configクラス使用は、引数の数が多すぎて(一般的に5個以上が目安とされることが多い)管理が難しくなった場合限定するのが賢明です。

まとめ

結論として、関数引数が多すぎる問題Configクラス解決するのは、有効設計パターンです。

ただし、その解決策を適用する前に、「なぜこの関数はこんなに多くの情報必要なのか?」と自問し、それがより大きな設計上の問題(SRP違反など)の単なる症状ではないか確認することが、クリーンコードを書く上で最も重要です。

Permalink |記事への反応(0) | 06:48

このエントリーをはてなブックマークに追加ツイートシェア

2025-10-06

[稀ドメインはてブ]2025年9月滅多にホットエントリを出さなドメインからホットエントリ

ここ1年で初めてはてなブックマーク日毎の総合人気エントリ入りしたドメインからホットエントリブクマ数順トップ30

ブクマタイトルドメイン
734松尾豊 |論文の書き方(英語ymatsuo.com
648結果発表次にくるマンガ大賞 2025tsugimanga.jp
610オンライン署名 ·脚本家吉田恵里香氏のアニメぼっち・ざ・ろっく」第二期から脚本降板第一クレジットからの除名、そして原作者への謝罪を求めます -日本 ·Change.orgwww.change.org
590メモ - 男のほうがばらつきが大きく頂点も高ければ谷も深い、その生理的メカニズムcrossacross.org
398国内1000件の事例や製品を収録した「生成AI活用事例データベース」を公開─生成AI活用普及協会IT Leadersit.impress.co.jp
370NHKONE 認証コードが届かない不具合について | お知らせwww.web.nhk
346SESで150万件のメールを送るまでses150-luv1p38.gamma.site
339精神科入院、強度行動障害対象外 厚労省訪問看護対応」|福祉新聞fukushishimbun.com
331最近人類レビュー疲れ | Democratizing Datachezo.uno
325ソフトウェアエンジニアプロダクトにオーナーシップを持てないアンチパターン構造 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴くnekogata.hatenablog.com
320Windows UpdateSSDが本当に壊れるか検証【KB5063878再現実験】 | ちもろぐchimolog.co
315エンジニアならtmuxくらい使いこなしたらどうだsititou70.github.io
310彬子女王モダン建築めぐり東京都庭園美術館casabrutus.com
303少子化がマズいと思うなら、このくらいやろうよ -経済を良くするって、どうすればkeizai-dousureba.hatenablog.jp
303今度こそ『ガリア戦記』で挫折しないための6つのコツ -明晰夢工房saavedra.hatenablog.com
300ドイツ絶望人手不足地獄ーー極右伸長で自滅する産業大国スマートニュースplus.smartnews.com
299GoogleAI要約でクリック率ほぼ半減──私たち思考停止し始めているのか? |AMP[アンプ] -ビジネスインスピレーションメディアampmedia.jp
298【速報】村井宮城県知事 “土葬”を白紙撤回 県議会で表明 |khb東日本放送www.khb-tv.co.jp
288経済を良くするって、どうすれば -経済を良くするって、どうすればkeizai-dousureba.hatenablog.jp
287私は西鉄ライオンズに在籍したのか? 米国からの問い合わせ 1963年の「幻」の西鉄外国人左腕を追って【全4回-①】:「おっ!」でつながる地元密着のスポーツ応援メディア西スポWEB OTTO!nishispo.nishinippon.co.jp
2642020年代前半の「戦記ラノベ」についてオススメなどを語る - WINDBIRD::ライトノベルブログkazenotori.hatenablog.com
260笠井スイさんと、旅の仲間たちgeselleestelle.blogspot.com
253造幣局 :ドラゴンボール40周年記念2025プルーフ貨幣セットの通信販売について(2025年9月4日www.mint.go.jp
245Issue, Pull-request,GitHub Copilotによる「普通」の一人チーム開発 -Cybozu InsideOutサイボウズエンジニアブログblog.cybozu.io
244任天堂がボクセルを使ったアクションゲーム特許を大量に出願していました - naoya2kの日記naoya2k.hatenablog.com
241人間ドック」がどのように人間破壊していくのか。何一つとして医学的ではない見地から、知られざる実態を暴きたい - もはや日記とかそういう次元ではないmanato-kumagai.hatenablog.jp
240英国まれSF作品www.news-digest.co.uk
237会話の目的は勝つことではない - ともにかけるpaper2.hatenablog.com
229「RECORDCLUB」という海外音楽SNSがなかなか楽しい。 -世界ねじを巻くブログwww.nejimakiblog.com
225この文字詰め、どっちが正解?文字間調整(カーニング)のセンスを磨いておこうwww.adobe.com

Permalink |記事への反応(0) | 00:18

このエントリーをはてなブックマークに追加ツイートシェア

2025-09-14

会話のアンチパターン

本人的には自衛のために編み出したのだろうが、傍目には馬鹿を拗らせてるだけのダメな受け答えのパターンがある。

そういうことをやってると誰も対等に扱ってくれず社会の中で孤立を深めてしまうのだが、悪循環の中にある当人にはそれがわからない。

なぜ〇〇なんだ?という問いに「じゃあ✕✕はどうなんだよ!?」と反射的に返すWhataboutismは典型的な例だ。本人はうまく“対消滅”させたと思っているが、傍目には返答をネグって勝手な話を始めただけである。本人は「上手いこと言い逃れた」と思ってるが実際はただ嫌われ、見下されただけ。

これが「なぜ〇〇なのか」の答えを即答するのでなく余裕を持って検討する上で✕✕を参照してみようという持って行き方だったら

大枠として同じことを言っていても他人が受ける印象は全く違う。

他人迎合はしないが無用の反発や侮蔑を買わない、ある意味ずるい大人としての物言いは「恋愛工学」みたいにある程度マニュアル化できるし、訓練で身につけるのも可能である

まあ独学では無理だろうけど。できるやつは最初からできるから

Permalink |記事への反応(0) | 10:56

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-28

dorawii@執筆依頼募集中

なんかムズムズするなベストプラクティス対義語っぽいけどなんだろうと思ってたけどアンチパターンのことか。

-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250728172448# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaIcz0gAKCRBwMdsubs4+SEHNAP4qltMiGRD5gnhFCTWUKQ/8hyLM1bmk2l3veXZ6kgU0NwD+OPsN9Q6wdzbNtzUFXO03yVwNNOCMabVo3rJ/fRu2YQI==qm58-----ENDPGP SIGNATURE-----

Permalink |記事への反応(0) | 17:24

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-21

anond:20250518170755

これが一つの文章という日本語教育の敗北。

「正直なところ〜というのが正直なところです。」というひたすら無駄が多く読みづらい文章になってる。

アンチパターンのお手本みたいな文章

句点に謝れ。

どこで息吸ったらええねん窒息させる気か

Permalink |記事への反応(0) | 12:02

このエントリーをはてなブックマークに追加ツイートシェア

2025-06-17

早寝する技術 ―持続可能パフォーマンスを実現するスリープマネ

TL;DR

日中生産性は、夜の過ごし方、特に「就寝」というクリティカルタスクいか成功させるかにかかっている。本記事では、つい夜更かししてしまエンジニアのために、早寝を「技術」として体系化し、再現性のある形で実践するための具体的な手法を探求する。これは精神論ではない。あなたQoL生産性を向上させるための、実践的なスリープエンジニアリングだ。

はじめに:なぜ我々はwhile(true)な夜を過ごすのか

我々エンジニアにとって、夜は不思議な魅力を持つ時間だ。日中喧騒から解放され、思考は冴えわたりゾーンに入りやすい。しかし、その魅力的な時間は、往々にして「早寝」という、人間生存に不可欠な基本プロセス犠牲にすることで成り立っている。

「あとちょっとだけ、このバグの原因を調査したい」

リファクタリングが楽しくなってきた」

面白い技術記事を見つけてしまった」

これらの探求心はエンジニア美徳であるが、同時に我々を「睡眠負債」という深刻な技術負債へと導く。本稿は、この負債を返済し、持続可能な開発(と生活)を実現するための「早寝」という技術に焦点を当てる。

アンチパターン:早寝を妨げるBlockerたち

早寝を実装する前に、まずは現状のアーキテクチャに潜むアンチパターン特定しよう。

就寝前のスマートフォンは、まさに同期的なブロッキングI/Oだ。SNS無限スクロール動画プラットフォーム自動再生チャットアプリの通知。これらは我々の意識というシングルスレッドを完全に占有し、本来実行されるべきsleep()プロセスへの遷移を妨げる。

深夜まで続くコーディング問題解決は、脳を極度の興奮状態にする。ベッドに入っても、アドレナリンコルチゾールといったホルモンCacheに残り続け、CPUクールダウンしない。shutdown -hnowを叩いても、プロセスが終了しないのだ。

「夜更かしの供」として注入されるカフェインアルコールは、一見するとパフォーマンスを向上させるように見える。しかし、これらは睡眠の質という重要なmetricsを著しく劣化させる、誤った依存関係だ。特にアルコールは、入眠を助けるように見えて、実はレム睡眠を阻害し、睡眠アーキテクチャ全体を不安定にする。

  • Cronの不備:

規則な就寝・起床時間は、体内時計という最も重要なCronジョブ破壊する。毎日異なる時間に実行されるジョブが安定した結果をもたらさないのと同様に、不規則睡眠スケジュールは、日中パフォーマンス予測不可能ものにする。

Sleepas Code: 早寝を実現するためのプラクティス

では、どうすればこれらのアンチパターン排除し、安定した早寝pipelineを構築できるのか。ここではSleepas Codeの概念に基づき、具体的なプラクティスを紹介する。

1.環境IaC (Infrastructureas Code)

睡眠環境コード化し、常に理想的状態を維持する。

2. 就寝CI/CDパイプラインの構築

毎晩、同じ手順で就寝プロセスを実行することで、入眠を自動化する。

-PC/スマホシャットダウン: 最も重要ステップ物理的に電源を落とすか、手の届かない場所(別のコンテナ)にdeployする。

- 入浴: 38〜40℃のぬるめのお湯に15分ほど浸かる。これにより深部体温が一時的に上昇し、その後の下降とともに入眠が促される。これはHot-swapならぬHot-bathによるクールダウンだ。

静的コンテンツの消費: 激しい思考を伴わない、静的な情報(紙の読書など)に切り替える。電子書籍ではなく、紙媒体が望ましい。

ストレッチ: 軽いストレッチで、日中のcommitで固まった体をreleaseする。

  • Deploy (就寝):

すべての準備が整ったら、ベッドという本番環境デプロイする。余計な思考gitclean -fd強制削除し、呼吸に集中する。

3. MonitoringとRefactoring

例:「夕食後のコーヒーが原因だった」→「カフェイン摂取は15時までというSLAを設ける」

まとめ:早寝は未来自分への投資である

早寝は、単に体を休める行為ではない。日中の高いパフォーマンス、明晰な思考、そして創造性を維持するための、最も効果的で再現性の高い「技術」だ。

我々はインフラコード管理し、CI/CDデプロイ自動化するように、自身睡眠もまた、技術と工夫によってコントロールできる。今夜、あなたのwhile(true)なループbreakし、持続可能パフォーマンスを手に入れるための第一歩を踏み出してほしい。

Happy sleeping!

Permalink |記事への反応(0) | 10:02

このエントリーをはてなブックマークに追加ツイートシェア

早寝する技術 ―持続可能パフォーマンスを実現するスリープマネ

TL;DR

日中生産性は、夜の過ごし方、特に「就寝」というクリティカルタスクいか成功させるかにかかっている。本記事では、つい夜更かししてしまエンジニアのために、早寝を「技術」として体系化し、再現性のある形で実践するための具体的な手法を探求する。これは精神論ではない。あなたQoL生産性を向上させるための、実践的なスリープエンジニアリングだ。

はじめに:なぜ我々はwhile(true)な夜を過ごすのか

我々エンジニアにとって、夜は不思議な魅力を持つ時間だ。日中喧騒から解放され、思考は冴えわたりゾーンに入りやすい。しかし、その魅力的な時間は、往々にして「早寝」という、人間生存に不可欠な基本プロセス犠牲にすることで成り立っている。

「あとちょっとだけ、このバグの原因を調査したい」

リファクタリングが楽しくなってきた」

面白い技術記事を見つけてしまった」

これらの探求心はエンジニア美徳であるが、同時に我々を「睡眠負債」という深刻な技術負債へと導く。本稿は、この負債を返済し、持続可能な開発(と生活)を実現するための「早寝」という技術に焦点を当てる。

アンチパターン:早寝を妨げるBlockerたち

早寝を実装する前に、まずは現状のアーキテクチャに潜むアンチパターン特定しよう。

就寝前のスマートフォンは、まさに同期的なブロッキングI/Oだ。SNS無限スクロール動画プラットフォーム自動再生チャットアプリの通知。これらは我々の意識というシングルスレッドを完全に占有し、本来実行されるべきsleep()プロセスへの遷移を妨げる。

Cacheされた覚醒状態:

深夜まで続くコーディング問題解決は、脳を極度の興奮状態にする。ベッドに入っても、アドレナリンコルチゾールといったホルモンCacheに残り続け、CPUクールダウンしない。shutdown -hnowを叩いても、プロセスが終了しないのだ。

「夜更かしの供」として注入されるカフェインアルコールは、一見するとパフォーマンスを向上させるように見える。しかし、これらは睡眠の質という重要なmetricsを著しく劣化させる、誤った依存関係だ。特にアルコールは、入眠を助けるように見えて、実はレム睡眠を阻害し、睡眠アーキテクチャ全体を不安定にする。

  • Cronの不備:

規則な就寝・起床時間は、体内時計という最も重要なCronジョブ破壊する。毎日異なる時間に実行されるジョブが安定した結果をもたらさないのと同様に、不規則睡眠スケジュールは、日中パフォーマンス予測不可能ものにする。

Sleepas Code: 早寝を実現するためのプラクティス

では、どうすればこれらのアンチパターン排除し、安定した早寝pipelineを構築できるのか。ここではSleepas Codeの概念に基づき、具体的なプラクティスを紹介する。

1.環境IaC (Infrastructureas Code)

睡眠環境コード化し、常に理想的状態を維持する。

2. 就寝CI/CDパイプラインの構築

毎晩、同じ手順で就寝プロセスを実行することで、入眠を自動化する。

-PC/スマホシャットダウン: 最も重要ステップ物理的に電源を落とすか、手の届かない場所(別のコンテナ)にdeployする。

- 入浴: 38〜40℃のぬるめのお湯に15分ほど浸かる。これにより深部体温が一時的に上昇し、その後の下降とともに入眠が促される。これはHot-swapならぬHot-bathによるクールダウンだ。

静的コンテンツの消費: 激しい思考を伴わない、静的な情報(紙の読書など)に切り替える。電子書籍ではなく、紙媒体が望ましい。

ストレッチ: 軽いストレッチで、日中のcommitで固まった体をreleaseする。

  • Deploy (就寝):

すべての準備が整ったら、ベッドという本番環境デプロイする。余計な思考gitclean -fd強制削除し、呼吸に集中する。

3. MonitoringとRefactoring

例:「夕食後のコーヒーが原因だった」→「カフェイン摂取は15時までというSLAを設ける」

まとめ:早寝は未来自分への投資である

早寝は、単に体を休める行為ではない。日中の高いパフォーマンス、明晰な思考、そして創造性を維持するための、最も効果的で再現性の高い「技術」だ。

我々はインフラコード管理し、CI/CDデプロイ自動化するように、自身睡眠もまた、技術と工夫によってコントロールできる。今夜、あなたのwhile(true)なループbreakし、持続可能パフォーマンスを手に入れるための第一歩を踏み出してほしい。

Happy sleeping!

Permalink |記事への反応(0) | 10:02

このエントリーをはてなブックマークに追加ツイートシェア

2025-05-23

選択夫婦別姓ヌル

◾️問題本質を見誤っている「選択的」という発想

選択夫婦別姓議論が盛り上がっているが、この制度設計には根本的な問題がある。それは「選択的」という発想そのものが、現在制度が抱える構造的欠陥を放置したまま、表面的な対症療法に留まっているということだ。

◾️ソフトウェア設計から見る結婚制度の欠陥

ソフトウェア開発において「単一責任原則」という重要設計原則がある。一つのクラス関数は一つの責任だけを持つべき、という考え方だ。現在結婚制度をこの観点で見ると、明らかにアンチパターンを踏んでいる。

結婚という一つの制度に以下の複数責任が押し込まれている:

• 法的な結合関係の成立

経済的な結合(財産共有、相続権など)

• 姓の統一

これらは本来独立して扱えるはずの要素だ。姓の変更を結婚に紐づける必然性はない。むしろ、この結合が様々な問題を生み出している。

◾️「選択的」の限界

選択夫婦別姓一見進歩的に見えるが、実際には以下の問題を抱えている:

1.中途半端解決

根本的な構造問題に手をつけず、「選択肢を増やす」という表面的な対応に留まっている。これはバグのあるシステム機能を追加して複雑性を増すだけで、本質的な修正になっていない。

2.高齢者への配慮という建前の破綻

高齢者伝統を重視する人への配慮」がよく言われるが、選択夫婦別姓でも結局は「選択を迫られる」ことになる。むしろ特定世代けが「変化への対応」を求められる分、不公平感すら生まれる。

3.根本的な不平等の温存

現在制度では、統計的女性が改姓することが圧倒的に多い。選択夫婦別姓があっても、社会的圧力によってこの不均衡は続く可能性が高い。

◾️より根本的な解決策:強制的夫婦別姓+年次改姓権

しろ以下のような制度設計の方が理にかなっている:

1.強制的夫婦別姓結婚と姓を完全に分離

2. 年1回の改姓権:すべての国民平等に姓を変更する権利を持つ

◾️この制度メリット

構造的な問題解決

結婚制度から姓変更の責任を分離

個人識別子(姓)の管理独立したシステムになる

真の平等の実現

結婚による一方的な改姓負担の完全な除去

名前に関する個人自律性の確立

• 男女完全平等キャリア継続

柔軟性の確保

結婚後に同じ姓になりたい夫婦は、年1回の改姓権を行使すれば実現可能

夫婦が同時に改姓権を行使することで、どちらの姓でもない中立的な新姓を選択できる

• これにより真の夫婦平等が実現される(どちらか一方が相手の姓に合わせる必要がない)

社会全体での意識変革

• 姓への固定観念解体

• より柔軟なアイデンティティ概念の醸成

◾️よくある反論への回答

家族関係が分からなくなる」

子どもの姓は子ども自身が決められる年齢になってから選択すればよい。現在は親が決めているが、最終的に影響を受けるのは子ども本人だ。

行政システムが大変」

現在でも結婚離婚による改姓で同程度の負荷は発生している。むしろシステムを整理する機会になる。

「国際手続きが複雑」

現状でも国際結婚海外居住で姓の問題は発生している。新たな負担というより既存問題の整理という面が大きい。

◾️まとめ

選択夫婦別姓は、現状に不満を持つ人々への一時的な慰撫策に過ぎない。本当に必要なのは結婚制度のもの現代的に再設計することだ。

技術世界では、パッチを重ねて複雑になったシステムは最終的にリファクタリング必要になる。社会制度も同じだ。表面的な修正ではなく、根本的な再設計を恐れるべきではない。

選択的」という名の下に中途半端妥協を続けるより、本質的な問題解決に向けた議論を始めるべき時が来ている。

Permalink |記事への反応(0) | 02:49

このエントリーをはてなブックマークに追加ツイートシェア

2025-05-22

ファクトチェック」ではなく「ダブルチェック」

「grokにファクトチェックさせている人は何も知らない」という記事話題になっている。

そもそもこれ、みんながgrokにやらせているファクトチェックってのは実は「ダブルチェック」なんだよな。

 

ダブルチェックと言っても再発防止のアンチパターンとして忌み嫌われているアレじゃない。

ダブルチェックとは「こっちでも確認する」くらいの軽い意味だ。

例えば、サイトアクセスできなくなったら、別PCアクセスできるか同僚にダブルチェックを頼んでみたりとかね。

英語圏で「ダブルチェック」といえば基本的にこっちが主流で、「"@grokdouble-check"」とかXで検索すれば山ほどヒットする。

 

軽い意味から信頼性はそれほど高くない。

ダブルチェックしただけではまだ結論には遠いかもしれない。それを判定するのは発言者だ。

しかし会話の補助にはなる。

そういう「たたき台」を提供せよという意味で、ダブルチェックはまさにgrokに頼むのにふさわしい用語なンだわ。

Permalink |記事への反応(0) | 11:26

このエントリーをはてなブックマークに追加ツイートシェア

2025-05-18

anond:20250518222503

本人にとって未知なんだからおんなじだぞ

アメリカ弁護士とかもAI出始めのときに使って痛い目見たやつがいたじゃん

俺も2−3日前、光速オレゴンLAどれだけかかるんだっけ?って聞いたら100msとか出してきて「は?」となったがまるで知らない・なじみない人がみたらわからないので知らんことの勉強で「AIに聞くから」というのはアンチパターン

Permalink |記事への反応(0) | 22:57

このエントリーをはてなブックマークに追加ツイートシェア

2025-04-23

Ruby界隈における特有の「微妙気持ち悪さ」

あなたが感じている「微妙気持ち悪さ」、たぶん共感する人はけっこういます

Ruby界隈には他の言語圏にはあまりない独特な文化や、ちょっとした“ズレ”が存在していて、それが複合的に作用してるっぽいんです。

具体的な事例を交えつつ、ちょっと詳しく見てみましょう。

💅 1. **「美学」への執着と排他性**

Rubyでは「美しいコード」「優雅文法」が非常に重視されます。「書いてて気持ちいい」ことを最上価値として掲げてる言語で、Matz自身も「プログラマ幸福のための言語」と明言してます

が、それが行きすぎて──

「そのコードRubyっぽくないね(笑)

みたいな文化が生まれがち。いわば“美学警察”みたいな空気です。結果として、他言語出身者が入ってきたときに「書き方がキモい」とか「ダサい」といった、**ちょっとしたマウントが生まれやすい**。

これは他の言語ではあまり見られない、“審美観の押し付け”です。しかもそれが悪意なく、ニコニコしながらやってくるからこそ、逆に怖い(笑)

⛪ 2. **Matz信仰と“村社会”っぽさ**

Matzさんは本当に素晴らしい人物なんですが、Ruby界隈では**「Matzが言った」=正義**みたいな雰囲気が根強いです。

例えるなら、以下のような流れ:

まり、**Matz本人よりも取り巻き熱狂ぶりがすごい**。これは宗教的とまで言われることもあります

🚪 3. **「外様」に対する無意識排除力**

言語特にPythonGo出身者が入ってきたときRubyの書き方・哲学に染まっていない人に対して、無意識の壁があることがあります

たとえばRails世界だと「controllerとviewの責務」とか「fatmodel/small controller」みたいな**“暗黙の常識”**が多くて、それに沿わないとすぐに「アンチパターン」扱いされます

結果として、**知識より「ノリの同調」が重視される風潮**があり、外から見ると「村社会っぽい」「馴れ合い感がある」と感じる原因になります

🎭 4. **カジュアルなノリと“おじさん構文”感の同居**

Ruby界隈って妙にカジュアルなんです。会議もゆるいし、発表も「みなさんこんにちは〜!」みたいなゆるふわ系が多くて、技術者らしいカチッとした空気よりも**「和気あいあい」な空気が主流**。

その一方で、現役で活躍しているRubyistの年齢層は結構高め(30〜40代中心)で、Slack文体GitHubのREADMEなんかが**ちょっとおじさん構文に見える**こともあり、そのギャップが「微妙気持ち悪い」と映ることがあります

🦖 5. **Rails帝国終焉と過渡期のモヤモヤ感**

かつて世界を席巻したRailsも、いまはNext.jsやFastAPIなどに押され気味。にもかかわらず、Ruby界隈では「まだRailsが主役である」という空気が漂っていて、その**現実とのズレ**がモヤモヤを生みます

現場Railsやってるけど、正直つらい。でも言えない」

みたいな開発者の**“表に出ない本音”**もあったりして、コミュニティ全体に妙な閉塞感がある。

🎤 おまけ:カンファレンス文化マイク

RubyKaigiとか見てると分かりますが、登壇スタイルも独特で──

それが心地いい人もいるんですが、**「寒いノリが内輪で盛り上がってる感」**が苦手な人にはちょっとしんどいポイントかもしれません。

こんな感じで、Ruby界隈って**“優しさと強い価値観”が同居してる場所**なんです。それが人によっては心地よくもあり、気持ち悪くもある。

Permalink |記事への反応(1) | 13:15

このエントリーをはてなブックマークに追加ツイートシェア

2025-04-19

オブジェクトがなぜダメなのか

クラスGodObject)は、ソフトウェア設計においてアンチパターン(避けるべき設計手法)として知られています

これは、過剰に多くの責任を持ちすぎるクラスオブジェクトのことであり、ソフトウェア保守性や拡張性、可読性に大きな問題引き起こします

以下では、「いかに大変か」「なぜ大変か」「どのように大変か」を徹底的に具体的に解説します。

💥いかに大変か(How baditis

❓ なぜ大変か(Whyit's bad)

1.単一責任原則違反(SRP: Single Responsibility Principle)
2. 高凝集・低結合の原則からの逸脱
3.テスト困難

⚙️ どのように大変か(Examples)

ケーススタディ:神クラス「ApplicationManager」
public class ApplicationManager {    privateMap<String,User>users;    private DatabaseConnectiondb;    privateLoggerlogger;    privateGUIgui;    private NetworkClientclient;        publicvoid startApplication() {        connectToDatabase();        loadUsers();gui.showLoginScreen();    }    publicvoid processUserInput(String input) {logger.log("Input received: " + input);        if (input.equals("logout")) {gui.showLoginScreen();        } else {client.send(input);        }    }    // ...more than 5000 lines of code}
問題

Permalink |記事への反応(1) | 15:46

このエントリーをはてなブックマークに追加ツイートシェア

2025-03-21

https://b.hatena.ne.jp/entry/s/togetter.com/li/2527427

新発売の『人が壊れるマネジメント』という本、目次から早くも「頭が痛くなってきた」と精神に支障をきたしそうなアンチパターン大集合で興味深い


この目次を読んだときに、まぁあるあるだなーと思いつつも、これらをこなせるようになったら重宝する組織人になれるのかと思ったわけである

どの現場でもよく起こりがちなのだから自分が下っ端なら、リーダーのその部分を補強できるフォロワーシップを身につければ、先が開けるわけである

なんならそういうフォロワーとしてのリーダーが、需要あったりもするしな。うんうん。



などと思っていたら、ブコメはまぁ、、、


あーコイツラだから出世しないし金ないしモテないんだなって思った。

残念だけどそれがブクマカ民度なのよな。

Permalink |記事への反応(0) | 10:00

このエントリーをはてなブックマークに追加ツイートシェア

2025-01-02

伊集院勘違いしてる タコツボ化の話

これ

https://news.yahoo.co.jp/articles/3199aacebbf952e0afac22488144c63f9042f537

 

伊集院は「M-1に出たことある人たちで、しかM-1ちゃんステップになった人たちが全員、審査員でいいの?すごい特殊じゃん。そういう文化って滅びない?

 

あのさあ

これ古典芸能とかで起きる現象の話してるんだろうけど

大会優勝者審査して、その価値観審査したらタコツボ化して衰退するみたいな

ある種のアンチパターンだけど、それは一側面でしかないだろ

浅いこと言ってんじゃねーよ、全体の大会システムで見るべきだろ

 

審査員はまず現役で笑い取ってる人

先鋭的だったり分かる人にしかからないお笑いやってる人たちじゃなく、毎日のようにお客さんを相手にしてるんだから

変な先鋭化は起きねーよ

難しいテクニック使ったところでそれが客に受けなきゃ点数上げないだろ

しかも会場にはお客さんもいるし、その反応も見て点数つけてると言ってる

 

あとM-1の優勝って言うほど権力でもないだろ

決勝残れば露出は十分なんだから、あとは誰が勝とうがだよ

テクニカルになりすぎず、自分らのやり方を貫いてる人が多いのはそういうことでしょ

 

そもそもM-1が滅びても別によくね?

似た番組が登場するだけだよ

「こんなことしてたらM-1滅びるぞ」って、何でそんな滅びてほしくないんだ、伝統なんて要らないだろ

Permalink |記事への反応(0) | 13:13

このエントリーをはてなブックマークに追加ツイートシェア

2024-10-13

ばばあ

今行ってきたセブンイレブンで、レジに見かけたことのないおばあさんがいた。70代後半ぐらいで、表情は険しかった。

新入りかなと思って仕事ぶりを眺めていると、このおばあさんはことごとく仕事に失敗する。電子レンジ操作すれば弁当のタレを爆発させるし、集荷の書類のありかがわからなくて右往左往したりもする。

他にも棚をぶちまけたり、多数のミスを次々とやってのけた。

 

たちまちセブンイレブンレジ待ちの行列は長くなり、相方のおそらく監督役の中国人若者もおろおろしだした。

ばあさんも自分全然作業に貢献できていないことを理解しているのだろう、表情は険しい。

それでもばあさんにとっては仕事をやってのけなければ食いぶちがなくなるから努力はしなければいけない。

結果として無能バカが空回りして努力することによりリカバリーのための無駄仕事がどんどん生まれているという地獄のような状況に至る。

 

たった一人無能なばばあがいるだけでレジは大混乱に陥る。これはチームを編成するときバカに張り切らせるとチームの作業の流れがことごとく破綻することを示唆していて、チーム編成上のアンチパターン典型例だと感じた。

 

このババア困惑をもとにChatGPTとどうしたらいいか壁打ちをして、最終的にババア達の脳をブレインマシンインターフェースで結合してBBA計算クラスター作成するという途方もないSFが生まれた。

Permalink |記事への反応(2) | 15:04

このエントリーをはてなブックマークに追加ツイートシェア

2024-08-28

anond:20240828002410

妻が育児現場担当する実働部隊で、私は資金調達部隊

家庭におけるこの役割分担って持続性無いよな、と思ってしまった

年金暮らしになったら資金調達部隊役割不要になるので"私"の家庭での役割が消えてしま

そして、いらない部署なのでリストラされる

こういうのも熟年離婚の一因かもしれない

もうすぐ結婚するからこういうアンチパターン助かる

Permalink |記事への反応(1) | 15:42

このエントリーをはてなブックマークに追加ツイートシェア

2024-05-18

anond:20240513224821

きのう

新しく種を撒く

小さいポットの方がマリーゴールド

大きい方は百日草

オクラの種の発芽は順調、発芽率100%行くかも

モロヘイヤ間引き、まだ発芽してない種があるようで間引いても間引いても新芽が出てくる

芝桜の挿し芽、だいぶ前にポットで5つ作ったが、一つが枯れてきている

芝桜の挿し芽第二弾、先週の日曜日にポットで18つ作ったが、勢いがまったくないのでたぶん全滅する

というか、後で知ったのだが培養土に挿し芽をするのはアンチパターンらしい

小松菜倒伏が酷い

やはり間引きが遅れて徒長させてしまったのもあるが、引き抜いてみると地面から上は真っすぐ上に伸びているが地面の下は真横に伸びていたりするので、種を撒いた時に被せた土が多すぎたのかもしれない

Permalink |記事への反応(1) | 01:44

このエントリーをはてなブックマークに追加ツイートシェア

2024-04-15

『東リベ』のラストが酷すぎたので、未来を変えるために『願いのアストロ』のアンチパターンネタ潰しする

展開編

相棒キャラを殺す

ラスボスも殺す

主人公も殺す

最後に生き返らせる

能力

パンチ主人公能力ではなく他のキャラの「主人公パンチで道を切り開いて欲しい」という願いによって生まれ能力

世界崩壊したのは隕石自体の影響ではなく誰かが「世界崩壊してくれ」と願ったか

特にまらんのが「俺が活躍できる世界を」と主人公チームの誰かが願ったパターン

キャラクター編

ヒロインツンデレ暴力

ボスの一人は自分正義だと信じているサイコパス

・『稀咲鉄太』の使いまわしみたいな黒幕

とりまこれ全部回避してくれてそうならアンケ毎週入れるわ。

俺は反省した人は評価するタイプから

Permalink |記事への反応(0) | 22:32

このエントリーをはてなブックマークに追加ツイートシェア

2024-04-04

anond:20240404133919

利用者概念だけでもオブジェクト指向理解してないと、ノーコードはすぐ破綻するんよね^^;

しかも、ノーコードリファクタリングは物凄くやりづらいし。

ノーコード開発アンチパターンみたいなのが蓄積されて、普及していかないと、いろいろ厳しいでしょう。

Permalink |記事への反応(1) | 13:45

このエントリーをはてなブックマークに追加ツイートシェア

2024-03-06

家事手伝いアンチパターン

主に同棲をしているなどで、普段生活において家事の分担が発生した場合に「家事手伝い」によって起こりうるすれ違い(ほとんどお気持ちのようなもの)を書いてみた。

そもそも、それぞれの家庭がどのように家事をこなすかということ自体様々なパターンがあると思う。

絶対にこれをしてはいけない。というよりは、自分はこういう風に思うことがあるんだけど、他の人ってどうなの?というのを家事をする側・手伝いをする側の双方の意見を聞けたら良いなと思って書く。

他にもこういうのあるよねというのがあればぜひ知りたいし、こういう気持ちで手伝ってるんだよなというのも聞いてみたい。

料理だけして後片付けはしない

これは定期的に言及があり話題に上がっているものだと思う。

実際、いつも料理している人が料理を作れないみたいな時は後片付けも含めて億劫な状況であることが多く、料理部分だけをやってもむしろなぜ人が散らかしたもの自分が片づけるんだ!?という気持ちになりがち。

これはちょっと笑い話でもあるんだけど、こういう時に限ってなんかすごい面倒そうなもの作るね!?みたいなことがあったりする。せっかく作るんだからみたいなところから来るのかな?聞いてみたい。

せっかくのアンチパターンなのでこういう状況はどうすればよいのかみたいなことも書いておくと、サクッと出前を取るとかするか、料理するなら後片付けまでちゃんとやるまですればとりあえず良さそう。

後片付けのクオリティみたいなところもあるけど、その辺は期待値コントロール次第。

自分が今やっている家事を手伝おうとする

個人的結構気になるのはこれ。

家事の種類によらず、自分が今まさにやっている家事を手伝おうとする、みたいなことが結構起こる。

自分家事に取り組み始めた段階で、これくらいの時間でこの手順で終わらせていこうみたいな計画があるので、途中で手を出されるとそれを並行で進められてもなーという気持ちになることがある。

結構ウキウキで手伝っている気がするので、手持無沙汰な時間コミュニケーション的な感じでやっているのかなー?と思っている。

解決策はシンプルで、残っている家事で手を付けていないやつをやってもらえるのがよい。ちょっと手伝おうと思うんだけど、なにすればいい?みたいなコミュニケーションがあるだけでじゃあこれお願い!となる。

ゴミ捨て(などのスポットで任された家事)を忘れる

家事の分担自体、最終的に生活力が高い人が多くを担う形に落ち着きがちだと思う。双方ストレスなく回るなら別にそれでも良いと思う。

そうすると、あまり家事をやらない方ができることと言えば、まとまっているものを定時に出すみたいな簡単仕事になる(ならない?)。

で、例えばなんやかんやあって朝のゴミ捨てはお願いねという形になるのだが、これが普通に難しい。

朝ってバタバタしてて見逃すということもあるし、前日自分ゴミをまとめるのを忘れていたみたいなことも起きる。

あとは、複数種類のゴミをまとめて置いた場合自分が持っていけるやつだけ持っていくとかもある。燃えないゴミは隔週だから本当に重要なのはこっちだったのに...とかもある。

自分特に思いつかなかったんだけど、こういう簡単ものを任されたけどうまく回らなかったパターン色々ありそうだなーと思っている。

これの解決策、なんでしょうね?ゴミ捨ての場合普通に24時間ゴミが出せるマンションに住むとかくらい?あとは、心配しなくてもゴミの日はまた来るのでくよくよ考えずに切り替える。なんかい方法あったら教えてください。

なんか書き出してみるとそんなに出てこなかった。

現代自動で色々やってくれる家電も普及しているしそもそもすごく大変な家事みたいなのは少ないのかも。

子供がいると全然違う、というのはあると思うのでもしあれば色々教えて欲しい&パートナーで話合う種になると良いなと思っています

Permalink |記事への反応(0) | 22:38

このエントリーをはてなブックマークに追加ツイートシェア

2024-02-03

35にもなってジュニアレベルエンジニアの扱いが難しい

この歳になるとエンジニアとしてのキャリア10年超えてくる。

10年経てば一人前のエンジニアとして見られるのに未だにジュニアレベルな同僚が非常に扱いづらい。

上司部下の関係ではなく同僚。年齢も同じ。

もう手に負えん。どうすりゃいいんだ……。

Permalink |記事への反応(1) | 22:01

このエントリーをはてなブックマークに追加ツイートシェア

2024-01-22

anond:20240122111105

適切な粒度関数を分割しとけば生産性上がるけどね。

module_name.pyみたいなモジュールごとにファイル分割して、インターフェイスだけ公開してその他はdef _funcみたいにprotected(or private)にしとく。

でも「共通性がありそうだから共通関数にする」はアンチパターンだな。たまたま共通してただけの場合分岐コードが増えて共通関数保守コストが上がる。

あとありがちなのは、php開発者関数分割しないですべてメインコードにべた書きするケース。こういうのはやめないと保守が大変。

とっておきのクズがやりがちなのは、神オブジェクトを作るとかだな。Userクラスフィールド関係する機能が多いからといって、コンポジションなどによるクラス分割をせずにユーザークラスにあらゆるフィールドメソッドを追加して、さらに進むとユーザーとは無関係機能も含めすべてをユーザークラス定義するアフォ。こうなってしまったら、後から修正するのが難しくなる。

先に手を打つことが、プログラマーの素質「怠惰」につながるのであり、面倒臭いといって後回しにするのは美徳でもなんでもない。

Permalink |記事への反応(0) | 11:24

このエントリーをはてなブックマークに追加ツイートシェア

2024-01-04

anond:20240103191431

はてなスター最近年寄り好みの脊髄反射的、教科書的なやつにつきやすいような気がしている。

注目コメントの上位が結構アレな感じになっているのでなんか評価アンチパターンとしての参考にしかならない。

Permalink |記事への反応(0) | 10:22

このエントリーをはてなブックマークに追加ツイートシェア

2023-11-29

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

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

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

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

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

からこそ炎上している

バックエンド環境

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

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

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

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

バックエンドシステム

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

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

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

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

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

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

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

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

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

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

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

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

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

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

フロントエンドシステム

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

こちらは npmrun installでインストールできるし npmrun 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に送り込んでサーバ側で実行して貰った上で格納とかしていたので

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

と聞くと

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

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

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

今後の期待

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

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

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

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

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

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

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

Permalink |記事への反応(1) | 10:39

このエントリーをはてなブックマークに追加ツイートシェア

次の25件>
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp