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 замість блокноту

Community driven list of database tools

Тут ми можемо скоїти інформацію про надзвичайні корисні та чудові experimental інструменти, які мають простий робочий процес зデータベースами для DBA, DevOps, Developers і mere mortals.

Завантажити безкоштовно для отримання інформації про ваші власні db-tools або ваш favorit third-party db-tools.

зміст

IDE

  • AnySQL Maestro — Premier multi-purpose admin tool for database management, control and development.
  • Студія даних Aqua — Aqua Data Studio є продуктивністю програмного забезпечення для Developers Database, DBAs, and Analysts.
  • Database .net — Multiple database management tool with support for 20+ databases.
  • datagrip - Cross-Platform IDE для Databases & SQL by JetBrains.
  • бобер - Free universal database manager and SQL client.
  • dbForge Studio для MySQL — Universal IDE для MySQL і MariaDB — Database development, management, and administration.
  • dbForge Studio для Oracle - Powerful IDE для Oracle management, administration, and development.
  • dbForge Studio для PostgreSQL — GUI tool for managing and developing databases and objects.
  • dbForge Studio для 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 інструмент для Firebird and InterBase.
  • HeidiSQL — A lightweight client for managing MySQL, MSSQL і PostgreSQL, написано в Delphi.
  • Робочий стіл MySQL — MySQL Workbench — це unified visual tool for database architects, developers, and DBAs.
  • navicat — A database development tool that allows you to simultaneously connect to 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 traditional and Cloud deployments with.
  • pgAdmin — The most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.
  • pgAdmin3 - Long Term Support for pgAdmin3.
  • PL / SQL Developer — IDE, що є specifically targeted at development of stored program units for Oracle Databases.
  • PostgreSQL Maestro — Complete and powerful database management, admin and development tool for PostgreSQL.
  • Жаба — Toad is the premier database solution for developers, admins and data analysts. Management complex database changes with a single database management tool.
  • Край жаби - 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 і analysts.
  • HouseOps — Enterprise ClickHouse Ops UI для ваших керівних програм, щоб пересувати ClickHouse здоров'я і зробити багато інших думок.
  • JackDB — Direct SQL access to all your data, не matter where it lives.
  • OmniDB - Web tool for database management.
  • Pgweb — Web-based database browser для PostgreSQL, написаний в Go and works on macOS, Linux і Windows machines.
  • phpLiteAdmin — Web-based 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.
  • Робо 3Т - Robo 3T (formerly Robomongo) є shell-centric 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 від 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, browse the data in 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, і friendly GUI інструмент для relative databases: MySQL, PostgreSQL, SQLite & more.
  • TeamPostgreSQL — PostgreSQL Web Administration GUI — use your PostgreSQL Databases з будь-якого, з багатьма, lightning-fast AJAX web interface.

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

  • ipython-sql — Connect to a database for issue SQL commands within IPython or IPython Notebook.
  • iredis - Cli for Redis with AutoCompletion і 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 — Universal command-line interface for PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, and many other databases включаючи NoSQL і невідносні databases!

dbcli

  • athenacli — AthenaCLI є CLI інструментом для AWS Athena service, що може виконати auto-completion і syntax highlighting.
  • litecli — CLI для SQLite Databases with auto-completion і syntax highlighting.
  • mssql-cli — Command-line client для SQL Server with auto-completion and syntax highlighting.
  • міклі — A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
  • pgcli - Postgres CLI with autocompletion і 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, включаючи Entity Relationship diagrams.
  • табл - CI-Friendly tool for document a database, написано в Go.

Modelers

  • Модельєр даних Navicat — A powerful and cost-effective database design tool which helps you build high-quality conceptual, logical and physical data models.
  • Oracle SQL Developer Data Modeler — Oracle SQL Developer Data Modeler є безкоштовним графічним інструментом, що сприяє продуктивності і простим стандартам даних моделей.
  • pgmodeler — Data modeling tool designed для PostgreSQL.

Migration tools

  • 2 бас — Database configuration-as-code tool, що використовується concept of idempotent DDL scripts.
  • проліт - Database migration tool.
  • привид - Online schema migration for MySQL.
  • рідка основа — 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 a PostgreSQL database schema as YAML.
  • SchemaHero — A Kubernetes operador для declarative database schema management (gitops for database schemas).
  • Sqitch — Sensible database-native change management for framework-free development and dependable deployment.
  • yuniql — Yet another schema versioning and migration tool just made with native .NET Core 3.0+ і hopefully better.

Code generation tools

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

Пакувальники

  • Сонник — A open source REST API backend для мобільних, web, і IoT applications.
  • Двигун Hasura GraphQL — Blazing fast, instant realtime GraphQL APIs на Postgres з fine grained access control, також trigger webhooks on database events.
  • jl-sql - SQL for JSON та CSV streams.
  • mysql_fdw - PostgreSQL foreign data wrapper for MySQL.
  • Oracle REST Data Services — A mid-tier Java application, ORDS maps HTTP(S) verbs (GET, POST, PUT, DELETE, etc.) до Database Transactions and Returns any results formatted using JSON.
  • Prisma — Prisma turns your database in realtime GraphQL API.
  • postgREST - REST API for any Postgres database.
  • перст — Це означає, що RESTful API з будь-якого databases written in Go.
  • restSQL — SQL Generator з Java і HTTP API, використовуючи простий RESTful HTTP API з XML або JSON serialization.
  • resquel — Easily convert your SQL database into a REST API.
  • піщаник2 — Automatically generate a RESTful API service for your legacy database.
  • sql-boot - Advanced REST and UI wrapper for your SQL-queries.

Backup tools

  • pgbackrest - Reliable PostgreSQL Backup & Restore.
  • BaRMan - Backup and Recovery Manager для PostgreSQL.

Replication/Data operation

  • Набір даних — A tool for exploring and publishing data.
  • dtle — Distributed Data Transfer Service для MySQL.
  • pgsync - Sync Postgres data між databases.
  • pg_chameleon — MySQL to PostgreSQL репліка система написана в Python 3. Система використовує library mysql-replication, щоб роздрукувати рівні зображення від MySQL, які були збережені в PostgreSQL як JSONB.
  • PGDeltaStream — A Golang веб-сервер до stream Postgres зміни atleast-once over websockets, використовуючи Postgres logical decoding feature.
  • repmgr - The Most Popular Replication Manager для PostgreSQL.

Додайте нотатки до слайдів

Monitoring/Statistics/Perfomance

  • Програма перегляду ASH — Використовується для графічного перегляду історичної історії історичної інформації з Oracle і PostgreSQL DB.
  • Моньог - Agentless & Cost-effective MySQL Monitoring Tool.
  • mssql-monitoring — Monitor вашого SQL Server на Linux Performance, використовуючи collectd, InfluxDB і Grafana.
  • Монітор Navicat — A safe, simple і agentless remote server monitoring tool that is packed with powerful features to make your monitoring effective as possible.
  • Моніторинг і управління Percona - Open source platform for managing and monitoring MySQL and MongoDB performance.
  • pganalyze collector — Pganalyze статистика collector for gathering PostgreSQL metrics and log data.
  • postgres-checkup — New-generation diagnostics tool that allows users to do a deep analysis of the health of Postgres databases.
  • postgres_exporter - Prometheus exporter for PostgreSQL metrics server.
  • pgDash — Measure and track every aspect of your PostgreSQL databases.
  • PgHero - A performance dashboard for Postgres - health 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 - Виконує metrics for your postgres database.

Zabbix

  • Mamonsu - Monitoring agent for PostgreSQL.
  • Orabbix — Orabbix is ​​a plugin designed to work with Zabbix Enterprise Monitor for multi-tiered monitoring, performance and availability reporting and measurement for Oracle Databases, along with server performance metrics.
  • pg_monz — Це є Zabbix monitoring template for PostgreSQL Database.
  • Pyora - Python script to monitor Oracle Databases.
  • ZabbixDBA — ZabbixDBA є швидким, flexible, і постійно розробляє plugin для керування вашим RDBMS.

Тестування

  • DbFit — A database testing framework that supports easy test-driven development of your database code.
  • RegreSQL - Regression Testing your SQL queries.

Генератор даних

  • Databene Benerator — Це framework для створення реальних і надійних високих обсягів тестування даних для вашої системи під час тесту (відповідно до Datalite anti-pattern).
  • dbForge Data Generator for MySQL — Powerful GUI tool для створення масивних volumes of realistic test data.
  • dbForge Data Generator for Oracle — Невеликий але великий GUI інструмент для populating Oracle schemas with tons of realistic test data.
  • dbForge Data Generator for SQL Server — Powerful GUI інструмент для швидкої generation of meaningful test data for databases.

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

  • pgbadger - A fast PostgreSQL Log Analyzer.
  • pgbedrock — Manage a Postgres cluster's roles, role memberships, schema ownership, and privileges.
  • pgslice - Postgres partitioning as easy as pie.

HA/Failover/Sharding

  • Цитус — Postgres extension that distributes your data and your queries across multiple nodes.
  • patroni — A template for PostgreSQL High Availability with ZooKeeper, etcd, або Consul.
  • Percona XtraDB Cluster - A High Scalability Solution для MySQL Clustering and High Availability.
  • столон — Cloud native PostgreSQL manager for PostgreSQL є високою availability.
  • pg_auto_failover — Postgres extension and service for automated failover and high-availability.
  • pglookout - PostgreSQL repplication monitoring and failover daemon.
  • PostgreSQL Automatic Failover - High-Availibility for Postgres, заснований на індустрії реferencies Pacemaker and Corosync.
  • postgresql_cluster - PostgreSQL High-Availability Cluster (базується на "Patroni" і "DCS(etcd)"). Automating deployment with Ansible.
  • Вітес — Database clustering system for horizontal scaling of MySQL через generalized sharding.

Кубернетес

  • KubeDB - Making running production-grade databases easy on Kubernetes.
  • Postgres operator — The Postgres Operator enables високодоступні PostgreSQL clusters on Kubernetes (K8s) powered by Patroni.
  • Спило - HA PostgreSQL Clusters with Docker.
  • StackGres - Enterprise-grade, Full Stack PostgreSQL on Kubernetes.

Configuration Tuning

  • MySQLTuner-perl — Script written in Perl, що ви можете оцінити MySQL налаштування швидко і встановлювати зміни до збільшення продуктивності і стійкості.
  • PGConfigurator — Free online tool to generate an optimized postgresql.conf.
  • pgtune - PostgreSQL configuration wizard.
  • postgresqltuner.pl — Simple script to analyse your 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 — без 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 that you may think of like command-line SQL Server Management Studio.
  • Postgres.app — Full-featured PostgreSQL installation packaged as standard Mac app.
  • BigSQL - A developer-friendly distribution of Postgres.
  • Слонник — Web-based 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. Додатки для клієнта-side і proxy-side ("transparent") об'яви. SQL, NoSQL.

Code formatters

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

Сприяння

Є знахідки для БД – ділитесь. Також буду радий отримати зворотний зв'язок — PR'и та зірочки. Залишилися питання щодо створення своїх аркушів — теж пишіть.

Джерело: habr.com

Додати коментар або відгук