はてなキーワード: IDEとは
https://qiita.com/app_js/items/a78e0605af702b155efc
この記事読んだ。
Paizaの対応の良し悪しやこの人の考えや不満については今回は触れない。
一人のITエンジニア採用担当者、また同時に一人のITエンジニアとして生成系AIに対してどう触れるべきか書いておく。
まず、業務で生成系AIを利用するのは会社のルールの範囲で好きにやれば良いと思う。
問題は転職のフェーズであり、ここでは能力をチェックされているわけだから、生成系AIの回答でコーディングテスト通過です、となるわけがない。
ソフトウェア開発は複雑であり、AIは間違った回答や遠回りな回答もするわけだから、生成系AIを使うにしても結局真偽を確かめられる能力は必要だよね。
コーディングテストで生成系AIを使うというのは「私はそのような最低限の考える力も有りません」と言っているようなものなので、企業側がほしい人材とは言えない。
最近のコーディングテストサービスでは入力内容を記録しているのでコピペしたかどうかは分かる。
なので生成系AIで回答しているような場合は企業側はある程度検知できる。
もちろん誤検知もありえる。サービス(Web)上ではなくIDEなどで回答を作って貼り付けることもあるだろう。
そのため、企業はコーディングテスト通過後の面接で回答に対して深掘りすることが多い。
生成系AI回答で何も考えていない人はここで脱落する。
企業によってはコーディングテストサービスではなくホワイトボードなどでライブコーディングさせる場合もあり、そもそも生成系AIが使えないこともある。
なんというか、ネタにしか見えないんだけど。本当はできる奴がバカのフリして書いているみたいな感じしかしない。
むしろ、大学から情報系の勉強を開始して、中学ぐらいからコードを書いていましたみたいな人たちをスパッと抜き去っていく人が世の中にいるのは知っている。
どこの大学か知らんけど、大学でも大抵は実習の授業があるはずで、そこでプログラムを書くものだと思う。
10年以上前にTAしていた時にすでに学生にIDE使わせていたが、今時IDE無しでプログラミング学習させるなんて冗談だろと思う。
海外の大学などがYouTubeで講義を公開していたり、コーディングを教えるようなYouTubeチャンネルもあるから別に本で勉強する必要はないと思う。
元増田がそういうことを知らないとも思えないので、正直ネタにしか見えないなと思う。
プログラミングの勉強は全部の意味が分からなくてもとりあえず写経して、そのうちに全部の意味が分かるみたいなところがあるから、わからないことはしたくない!という人には向いてないかもな。
https://www.amazon.co.jp/dp/4297132001
https://gihyo.jp/book/2023/978-4-297-13200-2
1-1 Pythonの基本
1-3 Anacondaの導入と利用方法
2-2 コレクション(リスト/タプル/セット/ディクショナリ)
2-3 条件判断処理(if文)
2-4 繰り返し処理(for文/while文)
3-2 オブジェクトとクラス(マルチバイト文字列、ファイル入出力)
3-3 文字列操作(オブジェクト、イテレータ/ジェネレーター)
3-4 正規表現
4-1 関数の基本
4-3 モジュールの基本
5-5 Templateの利用
5-6 Modelの利用
6-3 NumPyの利用
6-4 Pandasの利用
7-2 scikit-learnとTensorFlow
7-3 scikit-learnの利用
7-4 TensorFlowの利用
11. 演習
https://www.python.jp/train/exercise/index.html
以下、気になったところ。
プロシージャ (procedure)とは、プログラミングにおいて複数の処理を一つにまとめたものをいう。
一連の処理を意味を持った一まとまりにすることで、再利用性が高まり、プログラム中に繰り返して現れる処理を1ヶ所で記述でき、プログラムの保守、管理を容易にする。
呼び出し関係は通常階層構造をなし、その最上位にある、プログラム全体のエントリーポイントを含むルーチンをメインルーチン、呼び出されるものをサブルーチンと言う。
乱数を生成する
Pythonでは、乱数を生成するときには random モジュールを インポート します。
インポートしたモジュールの関数は、モジュール名.関数名() の形式で呼び出します。
randrange() は、
random.randrange(開始値, 終了値)
cf. リファクタリング (プログラミング) - Wikipedia
リファクタリング (refactoring) とは、コンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理することである。
また、いくつかのリファクタリング手法の総称としても使われる。
ただし、十分に確立された技術とはいえず、また「リファクタリング」という言葉に厳密な定義があるわけではない。
主なリファクタリング
Pythonの慣例で、定数値の変数名は小文字のboard_size ではなく、BOARD_SIZE のようにすべて大文字にします。
プログラム中にいきなり出てくる意味のわからない数字は、一般に マジックナンバー といいます。
基本的には、マジックナンバーは、値を直接書くのではなく、その値の意味がわかるように、常に 変数に代入してから利用するようにします。
マジックナンバーを変数に代入せず、あっちこっちで使ってしまうと、あとでその値の意味がわからなくなってしまったり、値を変更するときに修正漏れが発生したりします。
cf. マジックナンバー (プログラム) - Wikipedia
プログラムにおけるマジックナンバー(英: magic number、魔法の数字)とは、何らかの識別子もしくは定数として用いられる、プログラムのソースコード中に書かれた具体的な数値である。
そのプログラムを書いた時点では製作者は数値の意図を把握しているが、他のプログラマーまたは製作者本人がマジックナンバーの意図を忘れたときに閲覧すると「この数字の意味はわからないが、とにかくプログラムは正しく動く。まるで魔法の数字だ」という皮肉を含む。
次のような理由で、マジックナンバーはプログラム中に含まれないことが好ましいとされる。
マジックナンバーを避けるため、マジックナンバーが書いてある箇所を定数や列挙型に置き換えるといった処置がとられる。
ハードコーディング(英語: hard coding)とは、本来プログラム中に記述すべきでないリソース(エラーメッセージなど)を、直接ソースコード中に埋め込むことである。
これらは本来、外部ソースから取得するか、実行時に生成するべきものであり、これをソフトコーディング(英語: soft coding)という。
今なら、高機能なIDEを使えば、力技でハードコーディングを書き換えることも可能?
元のソースコードでは、スイカとプレイヤーの位置を、x座標とy座標それぞれ別々の変数として保持しています。
しかし、スイカやプレイヤーの座標は本来一つの情報ですので、x座標とy座標で2つの変数に分ける意味はありません。
こういった場合、
(x座標, y座標)
主となる関数(ここでは suika_wari() ) と、
主となる関数が利用する補助的な関数 (ここではgenerate_position()、calc_distance()、 move_position())
を組み合わせて全体を構成する手法は、プログラムの開発でもっとも基礎的で重要なテクニックです。
エントリーポイントとは、プログラムを実行するうえで、プログラムやサブルーチンの実行を開始する場所のこと。
プログラム全体のエントリーポイントとなる場所を含むルーチンがメインルーチンである。
例えば、C言語の標準では、mainという名前の関数(の先頭)がエントリーポイントであり、各関数のエントリーポイントは、それぞれの関数の先頭である。
以上で、Pythonの入門が終わった。
この教材のボリュームなら、数日で学習できる。土日とかに集中してやればサッと通過できるはず?
Pythonの動作は、コード片をColabにコピペして実行すれば確認できるので楽だった。(あまり手を動かさなくても学べる)
あー、うん、まああれはだいたいは正しい
そのかわり実行時には何も決まってなくて本質的にぐちゃぐちゃしてるし、「普通」の言語なら当たり前のようにできる静的なIDEサポートの提供も弱くなる(実行しないとわかんないんだから仕方ない)
Rubyはなんでもできる!という万能感はプログラミング人生においてなかなか楽しいのであなたが35歳以下ならRubyの履修を強くお勧めする
36歳以上の人に無理には勧めない
あと、3年くらいドはまりしたあとに「いや規模が大きくなるとRuby不便だな…Kotlinとかよくねえ…?」みたいに覚醒して浮気してそれっきりになったりするので進路については心配しなくてもいい
0か100かで話すなら全くその通りで、コーダーよりある種のコンサルの方が先に0になる気はする。
ただ、AIの影響でコンサルが80ぐらいになったタイミングではコーダーが20ぐらいになってるんじゃないかなー。そして元々の絶対数はコーダーの方が圧倒的に多いので影響を受ける人数も絶大になるのでは
ChatGPT的なやつが本格的にIDEに組み込まれたらコーダーの仕事量減る→人減らすになるでしょきっと
ちなみに今のコンサル業界レイオフはAIの影響じゃないぞ。例えばおまえのプロジェクトがうまく行かないときにChatGPTに相談して解決する(=PMOやるコンサルがいらない)か試してみたらいい。
ChatGPT が脚光を浴びて AI の台頭が本格的になってきている。
1年というスパンでは変わらないが5年後の世界は様変わりしてそうだ。
ChatGPT は素晴らしい。Google Home っぽい LP を作らせてみたらものの5分程度のやり取りでできてしまった。
これからのプロダクトマネージャー・プロダクトオーナー(PO)がこれを活用していくのは間違いない。
自分がPOならこれを使って自分でできることがないかを探ってみるだろう。
とはいえ Rails のアプリで作る複雑なものは大変なはずだ。
できなくはないが、時間はかかる。
「Twitterクローンを Rails で作りたいです。手順を1から教えてください。OSはMacです。」
試しに質問してみたところ、rbenv のインストールから devise の導入から本当に1から手順を書いてくれている。
これで作ってしまうのはスマホだけで動画を作成するティーンネージャーYoutuberのようだ。
プロのデザイナがなくならないけど、プロのデザイナがいなくても動画は作れる。
これはプロのデザイナへの要求レベルが上がる、と言う意味でもある。
さらに直接対話して要求を伝えることで、細かく自分で調整しなくてもいいようにやってくれること。
ソースコード全体を知識にしたIDEができたら、コードの変更の難易度も間違いなく下がる。
プロンプトを作る能力、と言うのはあるかもしれないが、いずれ誰にでもできる仕事になるかもしれない。
ChatGPTの進化を経てその先に残るプログラマーの仕事とは何だろうか。
こうして全ての知的労働がなくなっていったら、最終的には社会的課題しか残らないのではないか。
リストはありきたりだけど説明がありきたりじゃなくて凄いと思う
この増田の本業は一体なんなんだ、ゲーム系IDEとかDBとか挙げてるところを見るとプログラミングから絵や音楽まで自己完結できるゲームクリエイターとかディレクターかな?
いやわかる、MS OfficeとかAdobeは業界標準だしファイル互換でインポートとかも楽だ。
ただまぁその万人へ必須か?と言われたら圧倒的にそれが必須じゃない仕事をしている人のほうが多い。
何なら仕事じゃなくて趣味レベルであるならばなおさらMS OfficeとかAdobeとか業界標準ソフトウェアじゃなくても良くなっちゃう。
ということで、ありきたりなシェアウェア代替オープンソースソフトウェアのリストを作ってみた。
ド定番中のド定番、オープンソースのオフィススイートだ。
MS Officeじゃなくて良い人はLibreofficeかGoogleのクラウドのヤツを使ってる。
やはり主に使われるのはワープロソフトのWriterと表計算ソフトのCalcとプレゼンテーションソフトのImpressだが、MS Accessの代替として挙げられるBaseは厳密な意味で代替とはならないためMS Accessの代替を無料でゲットしてやろうと考える人が陥りがちの罠だ。
まぁただデータベースのフロントエンドソフトとしてBaseはそこそこ使えるので、MS Accessの代替として捉えるのではなく別種のデータベースフロントエンドソフトとして割り切れば想定されることの大半ができる。
MS Visioの代替としてDrawも挙げられがちだがMS Accessの場合と同様にDrawもVisioの厳密な代替とはならないので注意が必要だ。
Adobe Illastratorの代替として挙げられがちなオープンソースのベクターグラフィックスソフトウェア。
高機能なのだがIllastratorと比較すると恐ろしいほど使いにくいUIを持っており、折角の高機能へアクセスするにはどうしたら良いのかわからないと挫折する人が多く出る。いやなんでホントこんなUIなんだ。
ただ、諦めずクソUIに付き合っていると不思議なもので人間は慣れてしまい結構自由度高くベクターグラフィックスを生成できるようになる。
Adobe Illastratorには無い長所としてSVG規格へ厳密に従うという方針で開発されているため、Illastratorで生成したSVGをWebでそのまま使うとWebブラウザで謎の描画バグにWeb屋は悩まされるがInkscapeではそれが無い。描画バグが起きるとき製作者が間違った設定を行っているか、Webブラウザ側が使っている設定に未対応な場合がほとんど。
将来的にサポートする気はあるらしいが現状はアニメーションSVGに弱いのも残念でならない。どうしてもアニメーションSVGをやりたいのであればInkscapeで生成された静止画SVGをアニメーションSVG化することを想定しているaniGenというWebベースのエディタがあるので調べてみると良い。
Adobe Photoshopの代替として挙げられがちだが、元来Web用の画像を製作するためのラスターグラフィックスソフトウェアなのでRAW現像や写真を加工するためのソフトじゃないが、本家すらその辺のことを忘れたふりをしている。
画像編集や加工で求められる基本的な機能はほぼ網羅されているが、RAW現像に関しては標準状態のままではできず、最近のAdobeが搭載している人工知能を用いた機能もないのでクラシカルなラスターグラフィックスソフトウェアと表現することもできる。
GIMPとInkscapeが使えると大半の画像製作は何とかなってしまうため一部の情報技術者寄りのギークはPhotoshopやIllastratorは触ったこともなく使えないがGIMPとInkscapeは困らない程度には扱えるというデザイナーがツッコミ入れそうなおかしなスキルセットになっていることがある。
Adobe Lightroomの代替として挙げられがちなオープンソースのRAW現像ソフトウェア。
実はdcrawというRAW現像のためのオープンソースのライブラリのフロントエンドであり、GIMPでRAW現像するために活用されるUFrawも同様にdcrawのフロントエンドであるため中身は同じだったりする。オープンソースのRAW現像ソフトウェアはdcraw使いがち。
オープンソースソフトウェアでRAW現像を賄っている人はGIMPでUFrawを活用してRAW現像するよりもUI的に使いやすいのでRaw TherapeeでRAW現像でTIFFを出力しGIMPで微調整するような使い方をしている人が多い。
オープンソースの2D CADで以前はQcadと呼ばれていた。
一部の読者はJw_cadのJWWファイルを扱うことが可能という特徴を持っているというだけで興味を惹かれてしまうのではないか。
Jw_cadとは違ってWindowsやmacOS、各種Linuxディストリビューションで動くので2D CADデータをネット上の友人知人などとやり取りしたいときに向くんじゃなかろうか?ニコニコ技術部的な遊びとか、最近流行りのルール無用JCJCタイムアタックとかで。
オープンソースの3D CADで、近年は3Dプリンターあたりの需要でよく目にするようになった。
Autodesk AutoCADやFusion 360、Dassault Systèmes SolidWorksよりも草の根では広まっており日本語でのハウツー記事もオープンソースソフトウェアとしては比較的多い印象。
シミュレーション機能はシェアウェアと比較すると弱い傾向があるものの草の根でそこまで必要か?と言われたら悩む。無料でシミュレーションやりたいならOpenFOAMにでも流し込め。
オープンソースのお絵描きに特化したラスターグラフィックスソフトウェア。
歴史的経緯ではLinux界隈でのGUIツールキットの2大巨塔にGTKとQtがあり、GTKはGIMPを作り上げるために生まれたこともありGTK側には高度なラスターグラフィックスソフトウェアが存在していたがQt側には存在していなかった。そこでGIMPの対抗としてQtを用いたKritaの開発が進められたが次第にGIMP的な画像編集ソフトウェアよりもお絵描きに特化していき現在のような性格を帯びるようになった。
SYSTEMAX ペイントツールSAIやセルシス CLIP STUDIO PAINTからの影響が強く現れており、オープンソース界隈のSAIやクリスタなどと呼ばれることがある。クリスタがそうであるようにスマートデバイスへの対応も計られAndorid OS版やChrome OS版が存在する。
ただ日本の需要を敏感に拾えるクリスタなどと比較して漫画作成機能に関してKritaは弱いと言われることがあるものの、GIMPと同様に無料とは思えない機能が充実しているのもまた事実である。
オープンソースの3DCGアニメーションソフトウェアで、非常に多機能のため何故かAdobe After Effectsの代替として挙げられることもある。
YoutubeがBlenderのYoutubeチャンネルへ広告を載せろと迫ってBlender公式がそれを拒否してYoutubeから撤退したり、庵野秀明が率いる株式会社カラーが出資したことなどオープンソース界隈でも異彩な存在感を放っており日本国内でも非常に注目されているプロジェクトだ。
ただ、初期状態では独特なUIによる使い勝手が非常に悪くユーザーが自分で使いやすい配置を模索する必要があったりタイムラインが使いにくかったりと何故オープンソースソフトウェアはUIがクソになりがちなのか?という問題にぶち当たる。
オープンソースの2DG/3DCG兼用プログラミングIDE。つまりはUnityとかみたいなやつ。
MIT Licenseでロイヤリティーフリー、開発言語はC#もしくはC++、そしてPythonライクなGDScriptで、Unityみたいにマウスでポチポチしてオブジェクトへ色んな設定を決められるので「Unityみたいのでゲーム作りたいけど運良くヒットしたときにライセンス料がなぁ」と懸念している人に役立つ。
ちなみにWiiとニンテンドーDS用向けにリリースされたSEGAゲームタイトルのソニックカラーズのSwitchやPS4などのマルチプラットフォーム移植版ソニックカラーズ アルティメットはGodotを用いて移植されているので商用でも耐えうることはSEGAが証明している。あのSEGAがソニックでだ。
オープンソースな動画編集ソフトウェア。
様々な部分で動画ライブラリのFFmpegへ依存しているためFFmepgのフロントエンドソフトとしての性格も持つ。
この手の無料の動画編集ソフトは国内だとAviUtlや近年ではBlackmagic Design DaVinci Resolveが人気だけれど、海外のオープンソース界隈ではShotcutは比較的知名度が高い。
カラーグレーディングに関して不足のない機能を有しているので高度なトランジションを用いるというよりも色を追い込むような使い方が合っているだろう。
ていうかFFmpegのフロントエンドなのでFFmpegができることは理論上なんでもできる(理論上なので追加でコマンドを叩く必要があったりするけどね)。
オープンソースのレコーディングソフトウェア。旧名称はAudacityと言われるとご存じの方も多いハズ。プライバシー問題でAudacityからプロジェクトが分岐されTenacityとして再出発することとなった。
旧Audacityは開発の主な拠点がロシアを中心に行われていたという経緯があり、現在のウクライナ-ロシア戦争へ至る前の影響からか個人情報の収集をロシア企業が行うと発表され、それに反発したユーザーらによってプロジェクトが分岐しTenacityプロジェクトが立ち上がった。
Audacity自体はVSTプラグインが動作するなど非常に高機能なレコーディングソフトウェアであったがウクライナ-ロシアの騒動に巻き込まれたと言った感じだ。
Audacityから分岐したTenacityもそのまま高機能なレコーディングソフトウェアなのでこれからはTenacityを使ったほうが色々面倒が少ないだろう。
ProToolsの代替として挙げられがちなオープンソースのDAW。非常に高機能でDAWとして求められることの大半ができるものの、これもまた通例通り最近流行りの人工知能を用いた云々かんぬんは標準状態だとできない。
Ardourプロジェクトの立ち上げをし主要開発者であるポール・デービス氏はJACK Audio Connection Kitのプロジェクトの立ち上げをし主要開発者であるという事実を伝えると驚く人がいるかも知れない。LinuxとGitのリーナス・トーバルズ的な文脈だ。
オープンソース界のFL Studioと呼ばれることもあるDAW。ステップシーケンサーを中心に作曲するタイプのDAWで電子音楽が得意。LMMSという名称はLinux Multi Media Studioの略でLinuxに端を発してマルチプラットフォーム展開をしたDAW。
オープンソースのDAWにしては珍しく初期状態から多数のソフトウェアシンセサイザープラグインが用意されておりインストールした時点で遊び始めることができるものの、オープンソースの例に漏れずクソUIを持っており使いにくい。GIMPやBlenderもそうだが1990年代後半〜2000年代前半あたりに流行したMDI(Multiple Document Interface)を未だに引きずっているためクソUIになりがちなのだ。
ググると日本国内にも意外とユーザーは居て、DTMやりたいけど初期投資は低く抑えたいみたいなユーザーが選んでいる模様。そういう需要ならLMMSの他に基本無料で全機能が使えて一部のプリセットが有料のVitalっていうソフトウェアシンセサイザーも導入しておくと延々遊べるよ。
オープンソースなWebブラウザとして非常に有名な存在。
Google率いるChromium系Webブラウザに近年物凄く押されているものの独禁法を回避するためGoogleはMozillaへ出資しているという歪な構造を持つ。
Mozillaの運営が下手すぎて資金をドブに捨てることを繰り返しているためGekkoレンダリングエンジンに未来があるのかと一部の識者から不安がられている。
Firefoxは使いやすいのか?と言われたら、それはもう好みの問題としか返せないのだがカスタマイズ性は非常に高い。
増田を全削除するのであればPower Automation DesktopかSelenium IDEあたりでも使えば可能ですが、中にはブクマを集めた珠玉の増田やブクマは付かなくても割と気に入ってる増田もあるので全削除はしたくありませんでした。
Masuda Deleter
https://github.com/oribeolive/masuda-deleter/
Masuda DeleterはDockerコンテナに環境を作って動くのでDockerが必要です。
M1 Macで動作していますがWindowsは検証できるマシンが手元にないので動作未確認です。
インストールはGitHubのREADMEに書かれたコマンドを実行すればできると思います。
Masuda Deleterははてラボにログインして指定されたページ分の自分の増田の投稿をスクレイピングしてローカルのDBに保存します。
取得された投稿のリストがブラウザで見られるので、そこで削除するものを選んで実行すると、またログインして投稿を削除しにいきます。
ページのアクセスごとに読み込みと遠慮のために1秒から数秒sleepするので少し時間がかかります。
一旦投稿をローカルに保存するという過程があるため副作用として自分の投稿を検索できます。
これにより
が容易になります。
増田にはAPIがないので、IDとパスワードを使ってログインして、表示されている文章をスクレイピングしてくるという原始的なやり方になります。
(2回目からはcookieがある場合はcookieを復元してログイン状態になります。)
ユーザーが知らない外部サイトにクレデンシャルを渡すのは危険であり、サービス運営側としてもパスワードを平文で持ちたくないので、Webサービスとして実装せずセルフサービスとしております。
ユーザーによってローカルの.envファイルに書かれたIDとパスワードを使用する形です。
ソースをオープンしておりますので怪しいことをしていないかも確認ができるかと思います。
一応下にプログレスバーが出ますが、ページ遷移すると見られなくなります。進捗は進捗管理でも確認できます。
取得された投稿はリアルタイムで画面に反映されないのでブラウザをリロードしてください。
増田のID、タイトル、本文の省略、投稿日時、ブクマ数、トラバ数が表示されます。
「あとで消す」投稿をチェックし、「あとで消す」記事をついに消すボタンで削除を実行します。
チェックは別のページに遷移しても有効です。
こちらは実行した時点で表示されているページのみリアルタイムに画面に反映されます。
投稿の全文を見られます。タグ等は取得しないのでテキストのみになります。
投稿を個別に取得してローカルの文章とブクマ数とトラバ数を更新します。
対象の投稿のタイトルを空に、本文をスペース1文字にしにいきます。
処理の進捗(何件中何件処理済みか)を見ることと、処理を停止させることができます。
排他処理(取込と取込、特定IDの削除と同じIDの削除等)にしているので動いていなそうな処理を停止して再度処理を実行するときに使います。
停止する場合は停止ボタンを押すか、それでも停止しそうにない場合は強制停止ボタンを押してください。
「停止」は今行っている最中の処理ではなく次以降の処理を停止するという形になります。
停止ボタンを押したときに4ページ目を取得している場合は、5ページ目の取得を始める前に処理を終了することになります。
そのためプロセスそのものが止まっている場合は停止されません。
「強制停止」はプロセスをkillします。スクリプト名とプロセスIDでプロセスを検索して子プロセスも含めてkillします。
おまけとして、投稿日とブクマ数、投稿日と3ブクマ以上の投稿の件数、投稿時間(hour)ごとの1ブクマ以上の投稿の件数のグラフが見られます。
ブクマが付いた瞬間ではなく投稿日時なので、いつの時期に投稿した、何時に投稿した増田が活きが良いのかを見られる程度です。
集計データを別に持っていないので増田を削除するとグラフに使用されるデータも消えます。
私はこれで多いときには4000件程度あった増田を3000件程度に減らしました。
これを開発する前からも増え続ける増田の削除に日々勤しんでいたので総数はもっと多いはず。
まだまだ削除したいです。
たまに
Message: unknown error: net::ERR_CONNECTION_CLOSED
というSeleniumのエラーが出て処理が実行されないことがあります。再度実行してください。
フロントエンドがレガシーなのでMasuda Deleterの開発に飽きていなければもう少しモダンにリプレースしようと思っています。
使用していないDjango REST frameworkがrequirements.txtに入っているのはその名残です。