Awesome-ліст сваімі рукамі, або GitHub замест нататніка

Awesome-ліст сваімі рукамі, або GitHub замест нататніка

Прывітанне, Хабр! Мусіць, у кожнага з нас ёсць такі файлік, куды мы прыхоўваем нешта карыснае і цікавае для сябе. Нейкія спасылкі на артыкулы, кнігі, рэпазітары, мануалы. Гэта могуць быць закладкі ў браўзэры ці нават проста адчыненыя ўкладкі, пакінутыя на потым. З часам усё гэта набракае, спасылкі перастаюць адкрывацца, а большая частка матэрыялаў проста састарваецца.

А што калі падзяліцца гэтай прыдатнасцю з супольнасцю і выкласці гэты файлік на гітхаб? Тады вашыя працы могуць быць карысныя яшчэ каму-небудзь, а падтрымліваць актуальнасць можна сумесна, прымаючы абнаўленні ад жадаючых праз старыя добрыя PR'ы. Менавіта для гэтага прызначаны праект Awesome lists. Ён уваходзіць у ТОП-10 рэпазітараў гітхаба, валодае 138К зорак, і спасылка на вашу працу можа апынуцца прама ў яго каранёвым README, што прыцягне велізарную аўдыторыю да вашай творчасці. Праўда, для гэтага давядзецца крыху пастарацца. Аб маім вопыце такіх старанняў хачу падзяліцца з вамі.

Мяне клічуць Максім Грамін. У КРОК займаюся Java-распрацоўкай і даследаваннямі ў вобласці БД. У гэтым пасце я раскажу, што такое Awesome Lists і як зрабіць свой сапраўдны афіцыйны awesome-рэпо.

Што такое Awesome Lists

Калі мне трэба будзе разабрацца з якой-небудзь новай тэхналогіяй ці мовай праграмавання, то я перш за ўсё іду менавіта сюды - знаходжу патрэбны раздзел, а ў ім прыдатныя лісты. І судзячы па колькасці зорак і іх сталаму росту, так раблю не толькі я.
Awesome-ліст сваімі рукамі, або GitHub замест нататніка

Насамрэч - гэта звычайны плоскі readme.md, які жыве ў асобным рэпазітары, займае пры гэтым 8-е месца сярод усіх рэпазітараў GitHub'а і ўключае спасылкі на іншыя лісты, прысвечаныя якой-небудзь тэматыцы. Напрыклад у раздзеле Programming Languages ​​можна знайсці лісты Awesome Python і Awesome Go, а ў Front-End Development ёсць вялікая колькасць рэсурсаў па WEB-распрацоўцы. Ну і, вядома ж, - раздзел Базы дадзеных (Да яго мы яшчэ вернемся крыху пазней). І так, усё гэта не абмяжоўваецца толькі тэхнічнымі тэмамі. Напрыклад, у раздзелах Entertainment і Gaming таксама можна знайсці шмат чаго цікавага (мяне асабіста парадаваў awesome-fantasy).
Галоўная асаблівасць заключаецца ў тым, што ўсе гэтыя лісты вядуцца не асабіста аўтарам, а супольнасцю і складзены ў адпаведнасці са спецыяльным і вельмі строгім. awesome manifesto. Кожны такі ліст з'яўляецца самастойнай супольнасцю адмыслоўцаў, жыве сваім жыццём і адчынены для вашых pull request'ов, якія зробяць яго яшчэ лепш. А таксама любы ахвочы можа зрабіць свой уласны ліст, калі нейкая тэма яшчэ не была асветлена.

Аўтар ідэі і каардынатар усёй гэтай гаспадаркі - легендарны Сіндрэ Сорхус, першы чалавек на GitHub'е, аўтар больш 1000 npm-модуляў, і менавіта ён будзе прымаць вашыя PR-ы.
Awesome-ліст сваімі рукамі, або GitHub замест нататніка

Як патрапіць у awesome-list

Калі раптам вы не знайшлі падыходнага ліста на цікавую для вас тэму, то гэта першая прыкмета таго, што яго трэба зрабіць самому!

Раскажу на прыкладзе свайго стварэння Awesome Database Tools — З праекту ў праект мне даводзіцца працаваць з самымі рознымі базамі дадзеных, і таму ў мяне завёўся такі файлік, у якім я збіраў карысныя тулзы для працы з імі, усякія БД-мігратары, IDE-шкі, адмін-панэлі, сродкі маніторынгу і ўсякае. рознае. Інструменты, якія я ўжо выкарыстоўваў, ці толькі планаваў пачаць прымяняць. Дзяліўся я гэтым файлікам з калегамі ў КРОК і за яго межамі. Гэта шмат каму дапамагала і было цікава. У выніку я захацеў славы большага, калі аднойчы заўважыў, што ў раздзеле Databases якраз няма ліста на гэтую тэму. І я вырашыў дадаць туды свой.

Што для гэтага трэба?

  1. Рэгіструем звычайны GitHub-рэпо з імем выгляду awesome-нешта-там. У маім выпадку гэта быў awesome-database-tools
  2. Прыводзім свой ліст да фармату awesome, у гэтым нам дапаможа generator-awesome-list, які згенеруе ўсе патрэбныя файлы ў патрэбным фармаце
  3. Наладжваем самы сапраўдны CI. awesome-lint і travis ci дапамогуць нам кантраляваць валіднасць нашага ліста
  4. Чакаем 30 дзён
  5. Які робіцца рэўю як мінімум на 2 чужых PR'а
  6. І нарэшце робім PR у галоўнае РЭПО, куды дадаем спасылку на сваё РЭПО. Тут трэба ўважліва ўсё прачытаць і старанна выканаць усе шматлікія патрабаванні да новага ліста і самому PR.

Мой першы блін апынуўся комам
Awesome-ліст сваімі рукамі, або GitHub замест нататніка
Але прайшло крыху часу, я сабраў яшчэ больш матэрыялу, папрацаваў над памылкамі і адважыўся на другую спробу.

Але я забыўся пра вельмі важную рэч, пра што мне мякка намякнулі:
Awesome-ліст сваімі рукамі, або GitHub замест нататніка

Я быў не вельмі ўважлівы і не дадаў аднарога ў знак пацверджання таго, што ўсе ўмовы выкананы
Awesome-ліст сваімі рукамі, або GitHub замест нататніка

Затым прайшло яшчэ крыху часу, яшчэ крыху правак па заўвагах, і з'явіўся доўгачаканы твіт, Што мой PR быў прыняты.

Так я стаў аўтарам свайго першага ліста, і мне сталі прыходзіць PR'ы з супольнасці на даданне новых тулзаў. І многія з іх ужо ўключаны ў Awesome Database Tools. Калі лянота пераходзіць па спасылцы,

вось актуальная на момант публікацыі паста падборка

Awesome Database Tools Awesome-ліст сваімі рукамі, або GitHub замест нататніка

Driver Community list of database tools

Тут будуць ахоўваць інфармацыю аб неверагодных функцыйных і неверагодных experimentálníх інструментах, якія няпроста робяцца з データベースамі для DBA, DevOps, Developers and mere mortals.

Дастатковыя для атрымання інфармацыі аб вашым уласных db-tools або вашы творы third-party db-tools.

змест

IDE

  • AnySQL Maestro - Premier multi-purpose admin tool for database management, control and development.
  • Aqua Data Studio - Aqua Data Studio з'яўляецца productivity software for Developer Database, DBAs, and Analysts.
  • Database .net - Multiple database management tool with support for 20+ databases.
  • datagrip - Cross-Platform IDE for Databases & SQL by JetBrains.
  • бабёр - Free universal database manager and SQL client.
  • Студыя dbForge для MySQL - Universal IDE для MySQL і MariaDB па развіцці, менеджменту і сістэме кіравання.
  • dbForge Studio for Oracle - Powerful IDE for Oracle Management, Administration, and Development.
  • Студыя dbForge для PostgreSQL - GUI tool for managing and developing databases and objects.
  • dbForge Studio for SQL Server - Powerful integrated development environment for SQL Server development, management, administration, data analysis, and reporting.
  • dbKoda - Modern (JavaScript / Electron framework), Open Source IDE для MongoDB. Гэта мае магчымасці для развіцця развіцця, кіравання і вызначэння tuning на MongoDB databases.
  • IBExpert - Comprehensive GUI tool for Firebird and InterBase.
  • HeidiSQL - A lightweight client для кіравання MySQL, MSSQL і PostgreSQL, written in Delphi.
  • Варштат mysql - MySQL Workbench з'яўляецца пастаўленым інструментам Visual Database architects, developers, and DBAs.
  • Навікат — Аб'явы ў сістэме развіцця 데이터베이스, якія могуць выкарыстоўвацца адначасова з MySQL, MariaDB, SQL Server, Oracle, PostgreSQL і SQLite databases from a single application.
  • Распрацоўшчык Oracle SQL — Oracle SQL Developer is a free, integrated development environment that simplifies the development and management of Oracle Database in both traditional and Cloud deployments.
  • pgAdmin — Найбуйнейшая і найвялікшая рэчаісная адукацыя Open Source і развіццё платформы для PostgreSQL, вялікае новае Source Source Database in the world.
  • pgAdmin3 - Long Term Support for pgAdmin3.
  • PL / SQL Developer - IDE, якое лічыцца specifical targeted at development of stored program units for Oracle Databases.
  • PostgreSQL Maestro - Complete and powerful database management, admin and development tool for PostgreSQL.
  • Жаба - Прадугледжана гэта папярэдняя праграма абмену прадуктамі для разработчиков, admins and data analysts. Сістэма менеджменту комплекснага абмену метадамі з цэлым метадам менеджменту менеджменту.
  • Toad Edge - Simplified database development tool for MySQL and Postgres.
  • TOra - TOra is an open source SQL IDE для Oracle, MySQL і PostgreSQL dbs.
  • Студыя Валянціны - Create, administer, query and explore Valentina DB, MySQL, MariaDB, PostgreSQL і SQLite databases for FREE.

GUI Managers/Clients

  • Адміністратар - Database management in a single PHP file.
  • DbVisualizer - Universal database tool for developers, DBAs and analysts.
  • HouseOps - Enterprise ClickHouse Ops UI для вашых трэніровак, маніпуляцыя ClickHouse фізічных асоб і для большасці іншых думак.
  • JackDB - Direct SQL access to all your data, no matter where it lives.
  • OmniDB - Web tool for database management.
  • Pgweb — Web-базаваны ўэб-браузер для PostgreSQL, напісаны ў Go and works on macOS, Linux and Windows machines.
  • phpLiteAdmin — Web-базаваны SQLite database admin tool written in PHP with support for SQLite3 and SQLite2.
  • PhpMyAdmin - A web interface for MySQL and MariaDB.
  • psequel — PSequel выконвае clean and simple interface for you to perform common PostgreSQL tasks quickly.
  • PopSQL - Modern, collaborative SQL editor for your team.
  • Postico - A Modern PostgreSQL Client for the Mac.
  • Robo 3T – Robo 3T (formerly Robomongo) – гэта шклянка-цэнтр cross-platform MongoDB management tool.
  • Працяг Pro - Sequel Pro з'яўляецца простым, добрым спосабам выкарыстання Mac Database Management application for working with MySQL & MariaDB databases.
  • SQL Operations Studio — A data management tool that enable working with SQL Server, SQL Server DB and SQL DW from Windows, macOS and Linux.
  • Эксперт па SQLite - Graphical interface supports all SQLite features.
  • sqlpad - Web-based SQL editor run in your own private cloud.
  • SQLPro - A simple, powerful Postgres manager for macOS.
  • SQuirreL — Graphical SQL client разгортваецца ў Java, што можа адпавядаць вам структуру JDBC Compliant Database, распрацоўваць data ў tables, issue SQL commands etc.
  • SQLTools - Database management for VSCode.
  • SQLyog - The most complete and easy to use MySQL GUI.
  • Tabix - SQL Editor & Open source simple business intelligence for Clickhouse.
  • Табліца Плюс - Modern, native, and friendly GUI інструмент для relative databases: MySQL, PostgreSQL, SQLite & more.
  • TeamPostgreSQL - PostgreSQL Web Administration GUI - use your PostgreSQL databases from anywhere, with rich, lightning-fast AJAX web interface.

Інструменты CLI

  • ipython-sql - Connect to a database for issue SQL commands within IPython or IPython Notebook.
  • iredis - A Cli for Redis з AutoCompletion and Syntax Highlighting.
  • pgcenter - Top-like admin tool for PostgreSQL.
  • pg_activity - Top like application for PostgreSQL server activity monitoring.
  • pg_top - 'top' for PostgreSQL.
  • pspg - Postgres Pager.
  • sqlcl - Oracle SQL Developer Command Line (SQLcl) з'яўляецца свабодным сістэмным інтэрфейсам для Oracle Database.
  • usql - A Universal Command-Line Interface for PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, and many other databases including NoSQL and non-relational databases!

dbcli

  • athenacli — AthenaCLI з'яўляецца CLI інструментам для AWS Athena сэрвісу, які можа ажыццявіць аўта-complementation і syntax highlighting.
  • litecli - CLI для SQLite Databases with auto-completion and syntax highlighting.
  • mssql-cli - Command-line client для SQL Server with auto-completion and syntax highlighting.
  • міклі - A Terminal Client для MySQL з AutoCompletion and Syntax Highlighting.
  • pgcli - Postgres CLI with autocompletion and syntax highlighting.
  • vcli - Vertica CLI with auto-completion and syntax highlighting.

DB-schema navigation and visualization

  • dbdiagram.io — Рэзюмэ: Quick and simple tool for help you draw your database relationship diagrams and flow quickly using simple DSL language.
  • ERAlchemy - Entity Relation Diagrams generation tool.
  • SchemaCrawler - A free database schema discovery and comprehension tool.
  • Schema Spy - Generating your database to HTML documentation, including Entity Relationship diagrams.
  • tbls - CI-Friendly tool for document a database, written in Go.

Modelers

  • Мадэлятар дадзеных Navicat — А патэнцыйным і cost-effective database дызайн інструментаў, якія выкарыстоўваюць вашу будову высокага якасці conceptual, logical and physical data models.
  • Oracle SQL Developer Data Modeler — Oracle SQL Developer Data Modeler з'яўляецца бясплатным графічным інструментам, які спрыяе прадукту вытворчасьці і simplifies data modeling tasks.
  • pgmodeler - Data modeling tool designed for PostgreSQL.

Migration tools

  • 2bass - Database configuration-as-code Tool, які выкарыстоўвае канцэпцыю idempotent DDL scripts.
  • пралётны шлях - Database migration tool.
  • gh-ost - Online schema migration for MySQL.
  • liquibase - Database-independent library for tracking, managing and applying database schema changes.
  • мігруе - Like diff but for PostgreSQL schemas.
  • node-pg-migrate - Node.js database migration management built exclusively for postgres. (Быць можа быць выкарыстаны для іншых DBs, якія вызначаюць SQL standard — eg CockroachDB.)
  • Pyrseas - Provides utilities to describe ў PostgreSQL database schema as YAML.
  • SchemaHero - A Kubernetes абаронцы для дэкаратыўных метадаў праграмы кіравання (gitops for database schemas).
  • Sqitch Sensible database-native change management for framework-free development and dependable deployment.
  • yuniql — Ідзе яшчэ адна сістэма versioning і migration інструментаў just made with native .NET Core 3.0+ and hopefully better.

Code generation tools

  • ddl-generator - Infers SQL DDL (Data Definition Language) ад table data.
  • scheme2ddl — Command line util for export Oracle schema to set of ddl init scripts with ability to filter undesirable information, separate DDL in different files, pretty format output.

абгортак

  • Фабрыка сноў - А Open source REST API backend для мабільных, вэб, і IoT applications.
  • Hasura GraphQL Engine - Blazing fast, instant realtime GraphQL APIs на Postgres з добрым патэнцыйным access control, а таксама trigger webhooks on database events.
  • jl-sql - SQL for JSON and CSV streams.
  • mysql_fdw - PostgreSQL foreign data wrapper for MySQL.
  • Oracle REST Data Services — На аснове Java application, ORDS maps HTTP(S) verbs (GET, POST, PUT, DELETE, etc.) да databázаў трансакцый і адваротных any results formatted using JSON.
  • Prisma - Prisma turns your database into a realtime GraphQL API.
  • postgREST - REST API for any Postgres database.
  • перст - Гэта спосаб карыстацца RESTful API ад XNUMX года.
  • restSQL - SQL Generator з Java і HTTP API, выкарыстоўваецца ў simple RESTful HTTP API з XML або JSON арыентацыя.
  • resquel - Easily convert your SQL database ў REST API.
  • sandman2 - Automatically generate a RESTful API Service для вашай лягічнай сістэме.
  • sql-boot - Advanced REST and UI wrapper for your SQL-queries.

Backup tools

  • pgbackrest - Reliable PostgreSQL Backup & Restore.
  • BaRMan - Backup and Recovery Manager for PostgreSQL.

Replication/Data operation

  • Datasette - A tool for exploring and publishing data.
  • dtle - Distributed Data Transfer Service for MySQL.
  • pgsync - Sync Postgres data between databases.
  • pg_chameleon — MySQL для PostgreSQL repplication system written in Python 3. Сістэма выкарыстоўвае library mysql-replication для запуску роўных малюнкаў з MySQL, якія знаходзяцца ў PostgreSQL як JSONB.
  • PGDeltaStream — A Golang webserver для Stream Postgres changes atleast-once over websockets.
  • repmgr - The Most Popular Replication Manager для PostgreSQL.

Scripts

Monitoring/Statistics/Perfomance

  • ASH Viewer - Вырабляе графічны выгляд актыўныя session history data within Oracle and PostgreSQL DB.
  • Monyog - Agentless & Cost-effective MySQL Monitoring Tool.
  • mssql-monitoring - Monitor your SQL Server на Linux распрацоўку выкарыстання калекцый, InfluxDB і Grafana.
  • Манітор Navicat — Як бяспечны, нядрэнны і неадпаведны remote-server monitoring tool, што packed with powerful features to make your monitoring effective as possible.
  • Percona Monitoring and Management - Open source platform for managing and monitoring MySQL and MongoDB performance.
  • pganalyze collector - Pganalyze statistics collector for gathering metrics and log data PostgreSQL.
  • postgres-checkup - Новая генерацыя diagnostics інструментаў, якія дазваляюць карыстачам, каб выпрабаваць аналітычнай сыстэмы здароўя postgres databases.
  • postgres_exporter - Prometheus exporter for PostgreSQL server metrics.
  • pgDash - Measure and track every aspect of your PostgreSQL databases.
  • PgHero - A performance dashboard for Postgres - здароўе checks, suggested indexes, and more.
  • pgmetrics - Collect and display information and stats from a running PostgreSQL server.
  • pgMustard - A user interface for Postgres explain plans, plus tips to improve performance.
  • pgstats - Collects PostgreSQL статыстыка, і яе захоўваць іх у CSV файлах або print them on the stdout.
  • pgwatch2 - Flexible self-contained PostgreSQL metrics monitoring / dashboarding solution.
  • Telegraf PostgreSQL plugin - Provides metrics for your postgres database.

Zabbix

  • Mamonsu - Monitoring agent for PostgreSQL.
  • Orabbix — Orabbix is ​​plugin designed to work with Zabbix Enterprise Monitor to provide multi-tiered monitoring, performance and availability reporting and measurement for Oracle Databases, along with server performance metrics.
  • pg_monz - Гэта з'яўляецца Zabbix маніторынгу template для PostgreSQL Database.
  • Pyora - Python script to monitor Oracle Databases.
  • ZabbixDBA — ZabbixDBA з'яўляецца хуткім, flexibility, і прызнана развіццю plugin для кіравання вашым RDBMS.

Тэставанне

  • DbFit — A database testing framework, які выкарыстоўвае магчымасць тэст-дырывен развіцця вашага database code.
  • RegreSQL - Regression Testing your SQL queries.

Data generator

  • Databene Benerator — Гэта framework для стварэння рэальных і верагодных высокага значэння тэсту для вашага сістэмы пад сыходам.
  • dbForge Data Generator for MySQL - Powerful GUI інструмент для стварэння вялікіх аб'ёмаў рэалiстычнай тэсціравання.
  • dbForge Data Generator for Oracle - Small but mighty GUI tool for populating Oracle schemas with tons of realistic test data.
  • dbForge Data Generator for SQL Server - Powerful GUI інструмент для максімальнай генерацыі метадаў дасканалай тэсціравання data databases.

адміністрацыя

  • pgbadger - A fast PostgreSQL Log Analyzer.
  • pgbedrock - Склад cluster's roles, role memberships, schema ownership, and privileges.
  • pgslice - Postgres partitioning як добры як pie.

HA/Failover/Sharding

  • Цытус - Postgres extensióн, які распрацоўвае вашыя дадзеныя і вашыя пошукі праз шматразовыя nodes.
  • patroni - A template for PostgreSQL High Availability with ZooKeeper, etcd, or Consul.
  • Percona XtraDB Cluster - A High Scalability Solution для MySQL Clustering and High Availability.
  • столон - Cloud native PostgreSQL manager for PostgreSQL high availability.
  • pg_auto_failover - Postgres extension and service for automated failover and high-availability.
  • pglookout - PostgreSQL replication monitoring and failover daemon.
  • PostgreSQL Automatic Failover - High-Availibility for Postgres, заснаваны на Industry References Pacemaker and Corosync.
  • postgresql_cluster - PostgreSQL High-Availability Cluster (базаваны на "Patroni" and "DCS(etcd)"). Automating deployment with Ansible.
  • Vitess - Database clustering system for horizontal scaling of MySQL праз generalized sharding.

Kubernetes

  • KubeDB - Making running production-grade databases easy on Kubernetes.
  • Postgres operator - The Postgres Operator забяспечвае высока available PostgreSQL clusters на Kubernetes (K8s), якія былі створаныя па Patroni.
  • Spilo - HA PostgreSQL Clusters with Docker.
  • StackGres - Enterprise-grade, Full Stack PostgreSQL on Kubernetes.

Configuration Tuning

  • MySQLTuner-perl — Script written in Perl, што дазваляе вам меркаваць аб MySQL installation quickly and make adjustments to increase performance and stability.
  • PGConfigurator - Free online tool to generate an optimized postgresql.conf.
  • pgtune - PostgreSQL configuration wizard.
  • postgresqltuner.pl - Далей script для аналітыкі вашага PostgreSQL database configuration, and give tuning advice.

DevOps

  • DBmaestro - DBmaestro accelerates release cycles & supports agility across the entire IT ecosystem.
  • Toad DevOps Toolkit - Toad DevOps Toolkit executes key database development functions within your DevOps workflow -without compromising quality, performance or reliability.

Schema samples

Справаздачнасць

  • Poli - An easy-to-use SQL reporting application built for SQL lovers.

Размеркавання

  • DBdeployer - Tool that deploys MySQL database servers easily.
  • dbatools - PowerShell module, што вы можаце падумаць аб сістэме SQL Server Management Studio.
  • Postgres.app - Full-featured PostgreSQL installation packaged як стандарт Mac app.
  • BigSQL - A developer-friendly distribution of Postgres.
  • Слоннік — Web-базаваны PostgreSQL management front-end што bundles several utilities and applications for use with PostgreSQL.

бяспекі

  • Акра - Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL.

Code formatters

  • CodeBuff - Language-agnostic pretty-printing through machine learning.

садзейнічанне

Ёсць знаходкі для БД - дзяліцеся. Таксама буду рады атрымаць зваротную сувязь - PR'ы і зорачкі. Засталіся пытанні па стварэнні сваіх лістоў - таксама пішыце.

Крыніца: habr.com

Дадаць каментар