>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
TypeScript

サインアップ不要のデータ収集なしWebツールカタログ

Discord Reddit

こんな経験をしたことがある人は多いだろう:SVGをPNGに変換したい、整形されていないJSONを整理したい、ファビコンを生成したい。検索で最初に見つけたリンクを開き、ファイルを貼り付けると、サイトがポップアップを表示する:「ダウンロードするにはビジネスメールを入力してください」。数分後、メールボックスにはマーケティングspamがさらに届き、有料サブスクリプションを勧めるリントarroが画面を覆い始める。

このようなサービスの行動パターンは、長年開発者たちを苛立たせてきた。NoSignupsプロジェクトの作者(リポジトリではまだ「FckSignups」という名前に残っている)は、この慣行と実用的な方法で戦うことを決めた。ブラウザで直接開き、サインアップフォームなしで動作するWebユーティリティのオープンデータベースをまとめ上げた。

NoSignupsとは

これは厳選されたオープンソースツールのカタログだ。主な選定基準はシンプルだ:サービスを開いた瞬間にタスクが解決できること。ログインフォーム、メール確認、無限のCookieバナー、アナリティクストラッカーは一切不要。

このサイトはnosignups.netでオンライン公開されており、フロントエンドのソースコードとユーティリティデータベースはGPL-3.0ライセンスの下で公開されている。本質的には、これはGitHub上の無数のAwesome Listsに代わるものだが、検索、カテゴリ、フィルタリングのための便利なインターフェースを備えている。データベースには現在200以上のユーティリティが含まれており、コミュニティによって定期的に追加されている。

カタログの内部構造

技術的には、このプロジェクトは不必要な依存関係で重くなっていない。フロントエンドはReactとTypeScriptで書かれている。すべてのツールは厳格なデータスキーマを通じて記述されており、Pull Requestによる新規サブミッションのモデレーションを簡素化している。

カタログの各エントリには固定のフィールドセットが含まれている:

type Tool = {
  id: string;
  name: string;
  description: string;
  url: string;
  category: string;
  tags?: string[];
  github?: string;
  license?: string;
  stars?: number;
  featured?: boolean;
  notRecommendedReason?: string;
};

興味深い点として、スキーマにはdeprecatedフィールドが含まれている。サービスが時間の経過とともに劣化したり、ログインを要求し始めたり、疑わしいスクリプトを導入したりした場合、すぐに黙って削除する必要はない。コミュニティがもう使用を推奨しない理由を明示的に示すことができる。

すべてのユーティリティは明確なカテゴリに分類されている:

  • 開発:正規表現ジェネレーター、データバリデーター、APIテスター
  • 生産性:タイムトラッカー、シンプルなタスクボード、クイックノートのノートブック
  • デザイン:パレットエディター、画像オプティマイザー、SVGジェネレーター
  • 文章作成:Markdownエディター、文字数カウンター、文章校正ツール
  • プライバシー:ローカルパスワードジェネレーター、ファイルからのメタデータ削除
  • ユーティリティ:フォーマットコンバーター、電卓、アーカイバー

プロジェクトをローカルで実行する

検証済みリンクへの素早いアクセスを外部サイトに行かずに持つためにカタログをローカルにデプロイしたい場合は、Node.jsとnpmだけで十分だ:

git clone https://github.com/BraveOPotato/FckSignups.git
cd FckSignups
npm install
npm run dev

ローカルサーバーは数秒で起動する。すべてのツールデータベースは型付けされたデータとしてリポジトリ内にローカルに保存されるため、検索とタグフィルタリングはネットワーク遅延なしで即座に機能する。

ユーティリティの選定ルール

厳選リストはしばしば混乱に苦しむ:作者は区別なくあらゆるリンクを受け入れ、半年後にはプロジェクトの半分が動作しなくなる。NoSignupsではエントリ追加に対して厳格なルールを設けている:

  1. ツールはアカウントを作成せずに完全に機能する必要がある。
  2. ソースコードはオープンでなければならない。
  3. ユーティリティの説明は140文字に制限されており、カタログがプロモーションテキストの壁にならないようにしている。
  4. 便利な検索のためにタグ付けが必須(3〜5タグ)。

ユーティリティや見つけたサービスを直接Webインターフェースから、またはGitHubリポジトリ内のテンプレートからIssueを作成することで提出できる。プロジェクトの作者は、何百もの類似ツールの中から、最もユニークな発見を手動でpromotedフラグを使用してトップに昇格させることで、カタログが同一のコンバーターの墓場にならないようにしていると認めている。

なぜこのリポジトリを手元に置いておくべきか

ほとんどの人は、小さなタスクのためにフルIDEを開いたりデスクトップソフトウェアをインストールしたりすることが面倒だ。JSONのフォーマットを素早く確認したい、色を調整したい аудиоトラックをトリムしたい、そんなときに、Googleで探して有料の壁にぶつかるよりも、検証済みデータベースからのリンクを開く方がずっと心地よい。

このプロジェクトは以下の2つの場合に役立つ:

第一に、日常使用のための готовыйブックマークセットとして。Web版のリンクを保存するか、リポジトリをフォークして、ローカル設定で自分の tech stack に必要なユーティリティだけを保持することができる。

第二に、自分の小さなオープンソースユーティリティの作者向けショーケースとして。便利なWebツールを作成していて、广告に費用をかけずに最初のユーザーを獲得したい場合は、Pull RequestでNoSignupsに追加することで、ターゲット層の流入可以得到する。

まとめ

NoSignupsは誠実さと実用的なアプローチで魅力を放っている。作者はカタログの周りに複雑な商用製品を構築しようとしているのではなく、単に情報ノイズという具体的な問題を解決している。プロジェクトはRedditとGitHubでのコミュニティ活動によって生きており、オープンコードによりチームの内部ニーズに合わせてビルドを適応させることが容易になっている。サイトをブラウザのブックマークに追加하자—複雑なログを緊急で解析したり、画像をbase64に変換したりする必要がある次回、きっと時間を節約できるだろう。

関連プロジェクト