【闇の魔術】【2020年】Qiitaの2020年に読んでおくべき闇の魔術に関する記事１００選【手動集計】

**[闇の魔術に対する防衛術 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/yaminomajutu)** の7日目の記事です(当日参加登録)。

明日(8日目)は、**@shotta_kon** さんによる **闇の魔術を生み出さない方法論** です。

---

今年、 **[闇の魔術に対する防衛術 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/yaminomajutu)** に参加したため、何とか完走したいと思い、 **[1日目](https://qiita.com/j5c8k6m8/items/0f0596845b63e3b32d7d)**, **[2日目](https://qiita.com/j5c8k6m8/items/009da491fad911834c3b)**, **[4日目](https://qiita.com/j5c8k6m8/items/dffa2bcc55985ec8ecca)** と記事を書いてきました。

ただ、 **7日目が埋まっていない!!** ということで、ネタを探し始めました。

「KILLされた時のための防衛術」を書こうかと思ったのですが、**「[Pythonで終了時に必ず何か実行したい - Qiita](https://qiita.com/qualitia_cdev/items/f536002791671c6238e3)」** という素晴らしい記事が、2020年7月に執筆されてました。

そういえば、まさに「闇の魔術に対する防衛術」といわれる記事を今年見たな。。と思い。

**今年の記事から、勝手に闇の魔術に関する記事を紹介しよう!!** と思い立ちました。

**闇の魔術に関する記事を自動で取得することは難しい** ため、**手動**で見ていくことにします！ ~~この手法がQiitaの記事としては闇~~

**[Qiitaのページで、2020/01/01以降作成のLGTM数順でソートしたページ](https://qiita.com/search?q=created%3A%3E2020-01-01&sort=like)** を見ると、

![Qiita_2020_LGTM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/352865/36f5adfb-60ce-fd5c-f9c5-db178936b7db.png)

何やら、さっそく　**闇が見え隠れ** しています。

早速、以下の基準(主観)で闇に関する記事をピックアップしていきます。

- 闇っぽいもの
- LGTMが多い順から見ていき、内容の被りについては、上位側を採用
- 闇の魔術と戦うための防衛にあたる、ベストプラクティス系の記事も対象
- 初心者向けの経験記事は厳しめに評価
- ネタアプリも厳しめに評価
- ニュース系の記事も含める
- @Yametaro さんの記事の「ワイ」は闇だが、明るい記事のため一律対象外

なお、ランキングデータは、2020/12/06/ 22:00付近のデータとなります。
LGTMが300以上の、471記事を対象にしました。異論は認めますが、修正予定はありません。

**ピックアップしたもの以外に、2020年おすすめの闇と戦うための記事があれば、コメント欄で教えてください。**
(自薦/他薦は問いません。)

|順位|記事名<br/>________________________________________|ユーザ|投稿日付|LGTM|
|:-:|:--|:-:|:-:|:-:|
|1|**[Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい](https://qiita.com/yasuoyasuo/items/c43783316a4d141a140f)**|yasuoyasuo|2020/05/24|4066|
|2|**[良いコードの書き方](https://qiita.com/alt_yamamoto/items/25eda376e6b947208996)**|alt_yamamoto|2020/01/21|3836|
|3|**[エンジニアの劣等感との付き合い方](https://qiita.com/karamage/items/771b633c3243989418a2)**|karamage|2020/07/25|3689|
|4|**[メンバーに恨まれそうな3つのコードレビュー施策を徹底したら、逆にメンバーが爆速で成長した話](https://qiita.com/gakuri/items/f4970aea8de5fa9bf016)**|gakuri|2020/02/05|3366|
|5|**[プログラムの可読性を上げるための条件分岐を減らす方法7個](https://qiita.com/ddtaka/items/b178358ebc5b38c6906a)**|ddtaka|2020/02/17|1972|
|6|**[糞コードは直すな。](https://qiita.com/kotauchisunsun/items/d03c1e6936ffb250e4a1)**|kotauchisunsun|2020/08/01|1930|
|7|**[Excel設計書を抹殺したくて4年前にWiki設計書を導入したら、意外とちゃんと開発回ってた話。](https://qiita.com/gakuri/items/93b06fb47eb538d2e447)**|gakuri|2020/02/24|1654|
|8|**[[JavaScript]初心者が初見で必ずthinking顔になるもの特集](https://qiita.com/kozzzz/items/b4cd57ead41fc6355afd)**|kozzzz|2020/04/13|1541|
|9|**[「たけのこの里」を「きのこの山」に『正しく』自動で修正して差し上げるプログラム](https://qiita.com/honehoney/items/a8c7ba2c53a70c88502e)**|honehoney|2020/02/25|1475|
|10|**[JavaScript: 通常の関数とアロー関数の違いは「書き方だけ」ではない。異なる性質が10個ほどある。](https://qiita.com/suin/items/a44825d253d023e31e4d)**|suin|2020/03/22|1403|
|11|**[DXを大幅に低下させるDocker for Macを捨ててMac最速のDocker環境を手に入れる](https://qiita.com/yuki_ycino/items/cb21cf91a39ddd61f484)**|yuki_ycino|2020/02/17|1343|
|12|**[SQL記述者全員が理解すべきSELECT文の論理的な処理順序のお話](https://qiita.com/k_0120/items/a27ea1fc3b9bddc77fa1)**|k_0120|2020/09/19|1295|
|13|**[【JavaScript】本日未明、[ async - await ]さんが死体で発見され...](https://qiita.com/impl_s/items/8ffbe865b8c53a75cfe3)**|impl_s|2020/08/25|1283|
|14|**[AIエンジニアが気をつけたいPython実装のノウハウ・コツまとめ](https://qiita.com/sugulu_Ogawa_ISID/items/c0e8a5e6b177bfe05e99)**|sugulu_Ogawa_ISID|2020/05/04|1235|
|15|**[「募ってはいるが、募集はしていない」 人たちへ](https://qiita.com/omiita/items/0f811f15e569bf2539b8)**|omiita|2020/02/19|1237|
|16|**[TypeScriptをプロダクト開発に使う上でのベストプラクティスと心得](https://qiita.com/jagaapple/items/ce0da04be28c35dc7d4f)**|jagaapple|2020/02/04|1183|
|17|**[【C#】インターフェイスの利点が理解できない人は「インターフェイスには３つのタイプがある」ことを理解しよう](https://qiita.com/yutorisan/items/d28386f168f2f3ab166d)**|yutorisan|2020/09/09|1090|
|18|**[なぜ我々は頑なにforを避けるのか](https://qiita.com/tetsuya-zama/items/11e19b9da4892eb365c4)**|tetsuya-zama|2020/09/22|1087|
|19|**[Chrome 80が密かに呼び寄せる地獄 ～ SameSite属性のデフォルト変更を調べてみた](https://qiita.com/ahera/items/0c8276da6b0bed2b580c)**|ahera|2020/02/01|1018|
|10|**[再帰](https://qiita.com/c_r_5/items/84f19475647baf0ebe1f)**|c_r_5|2020/01/20|977|
|21|**[オワコン大手SIerに学ぶアンチパターン](https://qiita.com/ko-flavor/items/e7a60bc897965943e0a0)**|ko-flavor|2020/06/12|950|
|22|**[もしものために，香川県からのアクセスを避ける](https://qiita.com/ninomium/items/b1b215e7185920cd075c)**|ninomium|2020/01/22|948|
|23|**[思わぬ事故防止！開発時やテスト時に使用するメアドのドメインは example.com に統一しよう](https://qiita.com/jnchito/items/198a2561a36c2c2ef5e3)**|jnchito|2020/07/29|893|
|24|**[DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる](https://qiita.com/okazuki/items/a0f2fb0a63ca88340ff6)**|okazuki|2020/07/09|890|
|25|**[pythonのアンダーバーこれなんやねん](https://qiita.com/kiii142/items/6879cb065ad4c5f0b901)**|kiii142|2020/04/04|888|
|26|**[Bashの邪悪なコマンド9選](https://qiita.com/rana_kualu/items/be32f8302017b7aa2763)**|rana_kualu|2020/01/07|885|
|27|**[非エンジニアから相談を受けたときの心得](https://qiita.com/qnoyxu/items/8b07d571ef858608e93d)**|qnoyxu|2020/07/17|869|
|28|**[Webサービスによくある各機能の仕様とセキュリティ観点（ユーザ登録機能）](https://qiita.com/shioshiota/items/a2c414e2bbd2be654511)**|shioshiota|2020/05/16|865|
|29|**[「(HTML) + CSS」のみを使って、今「リアルな電卓」を作ってみた](https://qiita.com/j5c8k6m8/items/4695ee12b35e9c14047e)**|j5c8k6m8|2020/07/14|843|
|30|**[今からVue.jsを始める人のための「知るのを後回しにしてよい」n個のこと](https://qiita.com/fruitriin/items/3249bb24d60932bb42ee)**|fruitriin|2020/03/07|837|
|31|**[お前らのコミットは汚い](https://qiita.com/rnitta/items/c998172872ef49be93f1)**|rnitta|2020/02/23|821|
|32|**[エンジニアの俺が営業向けの本を読んだが用語がまったくわからん（から用語集を作った](https://qiita.com/fruitriin/items/a08a457f8f17d36ba868)**|fruitriin|2020/03/16|799|
|33|**[日本の住所の正規化に本気で取り組んでみたら大変すぎて鼻血が出た。](https://qiita.com/miya0001/items/598070abcdf0799daebc)**|miya0001|2020/06/04|781|
|34|**[AWSで10万円溶かした話](https://qiita.com/revvve44/items/4d95d451898b1e023919)**|revvve44|2020/10/05|750|
|35|**[JavaScriptからletを絶滅させ、constのみにするためのレシピ集](https://qiita.com/kiyoshiro/items/13c60fad1f5279993fa2)**|kiyoshiro|2020/08/02|735|
|36|**[LGTMを戻す](https://qiita.com/sapi_kawahara/items/4e05845e285ac087feb5)**|sapi_kawahara|2020/03/12|702|
|37|**[「この位置にｐｒｉｎｔｆが無いとなぜか動かないんだ。」](https://qiita.com/fujitanozomu/items/8b7d9e4e51baf0764dfc)**|fujitanozomu|2020/10/17|693|
|38|**[【python】カジノを崩壊させたらしいモンテカルロ法をシミュレーションしてみた](https://qiita.com/kagawa_shinjiiiii/items/ff49a8c7ccc682845a2a)**|kagawa_shinjiiiii|2020/01/13|690|
|39|**[僕「PDFとは何か知りたい」](https://qiita.com/zawawahoge/items/4312649f8d56f8983ffb)**|zawawahoge|2020/11/06|686|
|40|**[ラズパイでやらなければいけない４つのセキュリティ対策！](https://qiita.com/nokonoko_1203/items/94a888444d5019f23a11)**|nokonoko_1203|2020/01/31|677|
|41|**[【※絶対に自動化してはいけない】自動化禁止サイトまとめ！](https://qiita.com/n_oshiumi/items/b4efd1f40ec0a1b77376)**|n_oshiumi|2020/06/24|676|
|42|**[Gitに慣れていない人がよくハマるパターンと対処法まとめ](https://qiita.com/terry_6518/items/44ce2419a78d4121569a)**|terry_6518|2020/03/05|662|
|43|**[ReactはウェブやHTMLとは特に関係のないライブラリです](https://qiita.com/kfurumiya/items/f888cb66c8ba6d15fc60)**|kfurumiya|2020/03/07|641|
|44|**[JavaScriptでvarが非推奨な理由を整理してみた](https://qiita.com/taiju_suzuki/items/49ed558bd837452353b8)**|taiju_suzuki|2020/01/08|643|
|45|**[読み手をイライラさせない技術記事などを書くために最低限守ったほうがいいこと](https://qiita.com/freddi_/items/fe8e878187f315d80d87)**|freddi_|2020/09/10|639|
|46|**[Qiitaの退会方法まとめ](https://qiita.com/lambda_funtaro/items/9830ca8686ab279e42b6)**|lambda_funtaro|2020/03/26|632|
|47|**[ご主人様、小難しいDDDやクリーンアーキテクチャはお忘れになって、”削除しやすい設計”から始められてはいかが？](https://qiita.com/mejileben/items/48473a572ec07cbaf65f)**|mejileben|2020/07/14|625|
|48|**[証明書300万件を強制失効。Let's Encrypt に一体何が起きたのか？](https://qiita.com/matsumoto_sp/items/93275ca2123d92615bd7)**|matsumoto_sp|2020/03/06|615|
|49|**[MySQLで3億レコード物理削除した話](https://qiita.com/ningenMe/items/57bd66359d89b691ba0d)**|ningenMe|2020/08/16|612|
|50|**[左手骨折したので右手専用キーボードを自作した話](https://qiita.com/tockn/items/1fe61be9f7479f1f1d1c)**|tockn|2020/04/01|608|
|51|**[Webサービス（AICEVOTE）がバズってサーバーと高校生開発者に起きたことと反省点](https://qiita.com/akaoni_sohei/items/9f2d6dfa7dbdb23df878)**|akaoni_sohei|2020/02/11|587|
|52|**[開発と理想主義 vs 現実主義](https://qiita.com/KizashiTakata/items/0f7fe1ba70a2bebbf862)**|KizashiTakata|2020/03/25|582|
|53|**[経年劣化に耐える ReactComponent の書き方](https://qiita.com/Takepepe/items/41e3e7a2f612d7eb094a)**|Takepepe|2020/01/16|569|
|54|**[JavaScriptで重複排除を自分で実装してはいけない（Setを使う）](https://qiita.com/netebakari/items/7c1db0b0cea14a3d4419)**|netebakari|2020/04/28|565|
|55|**[これまで見た中で最も汚いソースコード](https://qiita.com/rana_kualu/items/2f3c40642836c11f5ddc)**|rana_kualu|2020/06/08|559|
|56|**[web制作案件で「ありがちな場面」と「その際に有効な記事」まとめ](https://qiita.com/terry_6518/items/52994484bc86bb95e846)**|terry_6518|2020/04/08|556|
|57|**[日本人でも英語圏で戦えることを証明したい。28歳が会社を辞め、個人開発者としてカナダでひたすらもがき続けた一年間とこれから](https://qiita.com/kanye__east/items/6ce521d08ca3a870b73e)**|kanye__east|2020/07/23|558|
|58|**[「アプリケーションが壊れているのに検知できないテストコード」を書かないようにするための、べからず集](https://qiita.com/jnchito/items/133d9953e1e7214e5357)**|jnchito|2020/01/29|542|
|59|**[SPAのログイン認証のベストプラクティスがわからなかったのでわりと網羅的に研究してみた〜JWT or Session どっち？〜](https://qiita.com/Hiro-mi/items/18e00060a0f8654f49d6)**|Hiro-mi|2020/04/24|540|
|60|**[【注意喚起】第三者のQiitaのコピー記事で飯を食っているかもしれないサイトについて...](https://qiita.com/koshishirai/items/b92da7891676faf91fc1)**|koshishirai|2020/03/29|535|
|61|**[10行ぷよぷよのソースコードを読む](https://qiita.com/yoitomakenouta/items/8b93d0b9dacf365ce0b1)**|yoitomakenouta|2020/05/31|531|
|62|**[20 年代のフロントエンド](https://qiita.com/mizchi/items/50937c7f702da566e989)**|mizchi|2020/01/30|531|
|63|**[【JavaScript】本日未明、[ if - else ]さんが死体で発見され...](https://qiita.com/impl_s/items/57aeeb2cb9b6773ae2fd)**|impl_s|2020/07/02|520|
|64|**[2020年はsystemd-homedの登場でLinuxのユーザー管理が大きく変わるぞ](https://qiita.com/onokatio/items/dbae4afe7fabd2602545)**|onokatio|2020/03/17|515|
|65|**[サーバーレスの理解とメリット・デメリット（2020年版）](https://qiita.com/takanorig/items/3a3a0b43b5be5b4a124f)**|takanorig|2020/06/01|513|
|66|**[カロリーメイトCUIモード 隠しコマンド一覧](https://qiita.com/22t/items/54afceba33c05416c395)**|22t|2020/08/04|497|
|67|**[脱・Atomic Design - HTML+CSSコーディングの粒度分類法（HTML Parts）](https://qiita.com/croco_works/items/e34d1b0c0e50b37031d7)**|croco_works|2020/02/26|483|
|68|**[Pythonの非同期プログラミングを完全理解](https://qiita.com/kaitolucifer/items/3476158ba5bd8751e022)**|kaitolucifer|2020/09/29|480|
|69|**[JavaScriptの「演算子」を全種類言えますか？　～演算子とは何かを完全に理解する～](https://qiita.com/uhyo/items/cc92a553059274d85403)**|uhyo|2020/02/24|479|
|70|**[WSL2によるホストのメモリ枯渇を防ぐための暫定対処](https://qiita.com/yoichiwo7/items/e3e13b6fe2f32c4c6120)**|yoichiwo7|2020/05/30|458|
|71|**[MySQL データベースの負荷対策/パフォーマンスチューニング備忘録 インデックスの基礎〜実践](https://qiita.com/marnie_ms4/items/576055abc355184c51a1)**|marnie_ms4|2020/01/10|451|
|72|**[【Linux】インフラエンジニアの僕が「hostname」コマンドを使わない理由とは？](https://qiita.com/satton6987/items/f50ad3df302290d1f544)**|satton6987|2020/08/08|444|
|73|**[秘密にしておきたかったんだけど、実はTwitterにはWebページを埋め込めるんだよね](https://qiita.com/ver1000000/items/78736a74cfdb50934d8f)**|ver1000000|2020/07/09|435|
|74|**[[Excel]実務で役に立たない！？VBAを使わないで3D迷路を作る](https://qiita.com/tomikiya/items/11d7a21ce778038567c9)**|tomikiya|2020/03/03|432|
|75|**[Safariは危険なJavaScriptに対応しない](https://qiita.com/rana_kualu/items/2e610c78aa8887ca62bb)**|rana_kualu|2020/08/17|423|
|76|**[0.1は浮動小数点数で正確に表せないのに、printしたときに0.1と表示されるのはなぜか](https://qiita.com/yucatio/items/c03def631bc5eaaa9887)**|yucatio|2020/01/21|421|
|77|**[あやしいサイトの3分調査方法(初心者向け)](https://qiita.com/moneymog/items/2205388ff18b3f89f021)**|moneymog|2020/04/19|419|
|78|**[サイゼリヤの間違い探しをロバストな画像処理で解く](https://qiita.com/ika_kk/items/32c4986825c86ad92f36)**|ika_kk|2020/05/16|418|
|79|**[一瞬でJavaScriptのfor文が爆速になった話](https://qiita.com/akumachan/items/2ed3ecfc648707689cb7)**|akumachan|2020/02/06|410|
|80|**[Promiseをthrowするのはなぜ天才的デザインなのか](https://qiita.com/uhyo/items/255760315ca61544fe33)**|uhyo|2020/09/01|399|
|81|**[声に出して読みたい美しいPython用語18選。R18例文付き](https://qiita.com/youwht/items/519b2f955e5fb75e32c2)**|youwht|2020/03/04|398|
|82|**[TOMCAT殺害事件](https://qiita.com/enoshiman/items/c9e9773c15d751f6e23c)**|enoshiman|2020/01/09|393|
|83|**[石原さとみショックの裏で東証のシステム障害・一体何が起きたのか](https://qiita.com/otupy/items/2c25f166bcfa34738d62)**|otupy|2020/10/02|390|
|84|**[styled-components（CSS in JS）をやめた理由と、不完全なCSS Modulesを愛する方法](https://qiita.com/jagaapple/items/7f74fc32c69f5b731159)**|jagaapple|2020/03/11|386|
|85|**[旧石器時代のポインタをご利用の皆様へ ～provenance入門～](https://qiita.com/__pandaman64__/items/1788a90ae5be79cc908b)**|\_\_pandaman64__|2020/09/06|387|
|86|**[core-jsがメンテされていない理由→プロジェクトは継続する](https://qiita.com/yumetodo/items/eaf3b97aeae3d8c4a07e)**|yumetodo|2020/03/18|378|
|87|**[ゴリラ言語の読み方](https://qiita.com/mattn/items/65ec8f5256e244e1ed77)**|mattn|2020/03/26|373|
|88|**[秘密鍵を10億個作れば、高確率で自分の名前を含む公開鍵が作れる件](https://qiita.com/umihico/items/c99b41c818c13531f83c)**|umihico|2020/07/27|374|
|89|**[そろそろ本格的にプログラミング用語を置き換える時期なのかも](https://qiita.com/Daara_y/items/c7caf39dba0e6a61e7da)**|Daara_y|2020/09/22|364|
|90|**[インフラど素人が1ヶ月半でKubernetes本番環境を作るまでの失敗の軌跡（奇跡）](https://qiita.com/_akira19/items/13004df2561fcd4cb410)**|_akira19|2020/07/14|365|
|91|**[本当に若者の間でコロナの人数が急激に増えているのか検証した話](https://qiita.com/tomone_hata/items/4ba59119dd6b03a14581)**|tomone_hata|2020/07/12|361|
|92|**[新サービスZennが面白い！](https://qiita.com/engineerhikaru/items/d3be9d731a5327a1ed70)**|engineerhikaru|2020/09/17|359|
|93|**[[GitHub] 東京都公式 新型コロナウイルス対策サイトがプルリク募集してる[COVID-19]](https://qiita.com/kaya517/items/31657ec26356efaa7688)**|kaya517|2020/03/05|358|
|94|**[Webサイトに来た攻撃をまとめてみた](https://qiita.com/hot_study_man/items/b12340f932574c9f309d)**|hot_study_man|2020/11/23|353|
|95|**[ルークよ git push --force を使わないでおくれ… git push --force-with-lease を使っておくれ…](https://qiita.com/snjot/items/1d1cdc87be1238c339e7)**|snjot|2020/05/25|348|
|96|**[何度も"HelloWorld!"を出力するとスキルが伸びるらしい](https://qiita.com/yuki_works/items/cd14ce472e515063269d)**|yuki_works|2020/10/29|335|
|97|**[ログ分析に使えるLinuxコマンド6選](https://qiita.com/moneymog/items/16d2f843c344a5ace51a)**|moneymog|2020/05/06|321|
|98|**[なぜ大学生はプログラミングが上達しないのか](https://qiita.com/naoching7010/items/b7e016a70ff143722a3c)**|naoching7010|2020/08/08|315|
|99|**[[JavaScript] "10" + 1 は "101" だが "10" - 1 は 9 を理解する](https://qiita.com/kozzzz/items/26372bb1a17160d983b6)**|kozzzz|2020/03/23|316|
|100|**[JSON にもコメントを書きたい](https://qiita.com/yokra9/items/1ac03876415d7fd47a65)**|yokra9|2020/02/16|312|

今年を振り返ることもできる、いい選出になったのではないかと。

> そういえば、まさに「闇の魔術に対する防衛術」といわれる記事を今年見たな。。と思い。

これは、Qiitaではなく、以下のtwitterでした。
(コマンドプロンプトの黒い画面という闇に対する防衛アプリ)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">「コマンドプロンプトは黒い画面に文字がたくさん出て怖い」という人がいるみたいなので、チャット風コマンドプロンプトを作ってみた。以下でソースとバイナリ公開しています。<a href="https://t.co/2Vi5yoKYAI">https://t.co/2Vi5yoKYAI</a> <a href="https://t.co/GwDL420Y8Y">https://t.co/GwDL420Y8Y</a> <a href="https://t.co/jKnnxsAm2Z">pic.twitter.com/jKnnxsAm2Z</a></p>&mdash; kenji (@kenjinote) <a href="https://twitter.com/kenjinote/status/1316816210621657088?ref_src=twsrc%5Etfw">October 15, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

また、振返りという意味で、ドコモ口座の記事も追加でピックアップしておきます。

**[ドルチェ&ガバガバだったドコモ口座を使った不正出金の手口まとめ](https://qiita.com/otupy/items/7ddb766cac5606823e7b)** otupyさん2020/09/09 257LGTM

---

**[闇の魔術に対する防衛術 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/yaminomajutu)** まだ空いている枠が存在します！

上記、記事などからインスピレーションを得たら、是非記事を書いてみてください！
~~もうネタがない~~