Русский
Русский
English
Статистика
Реклама

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


Привет, Хабр! Наверное, у каждого из нас есть такой файлик, куда мы припрятываем что-то полезное и интересное для себя. Какие-то ссылки на статьи, книги, репозитории, мануалы. Это могут быть закладки в браузере или даже просто открытые вкладки, оставленные на потом. Со временем все это разбухает, ссылки перестают открываться, а большая часть материалов просто устаревает.


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


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


Что такое Awesome Lists


Когда мне предстоит разобраться с какой-нибудь новой технологией или языком программирования, то я первым делом иду именно сюда нахожу нужный раздел, а в нем подходящие листы. И судя по количеству звезд и их постоянному росту, так делаю не только я.


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


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


Как попасть в 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.

Мой первый блин оказался комом

Но прошло немного времени, я собрал еще больше материала, поработал над ошибками и отважился на вторую попытку.


Но я забыл об очень важной вещи, о чем мне мягко намекнули:


Я был не очень внимателен и не добавил единорога в знак подтверждения того, что все условия выполнены


Затем прошло еще немного времени, еще немного правок по замечаниям, и появился долгожданный твит, что мой PR был принят.


Так я стал автором своего первого листа, и мне стали приходить PR'ы из сообщества на добавление новых тулзов. И многие из них уже включены в Awesome Database Tools. Если лень переходить по ссылке,


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

Awesome Database Tools Awesome


Community driven list of database tools

Here we will collect information about awesome useful and awesome experimental tools that simplify working with databases for DBA, DevOps, Developers and mere mortals.


Feel free to add information about your own db-tools or your favorite third-party db-tools.


Contents



IDE


  • AnySQL Maestro Premier multi-purpose admin tool for database management, control and development.
  • Aqua Data Studio Aqua Data Studio is productivity software for Database Developers, DBAs, and Analysts.
  • Database .net Multiple database management tool with support for 20+ databases.
  • DataGrip Cross-Platform IDE for Databases & SQL by JetBrains.
  • DBeaver Free universal database manager and SQL client.
  • dbForge Studio for MySQL Universal IDE for MySQL and MariaDB database development, management, and administration.
  • dbForge Studio for Oracle Powerful IDE for Oracle management, administration, and development.
  • dbForge Studio for 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 for MongoDB. It has features to support development, administration and performance tuning on MongoDB databases.
  • IBExpert Comprehensive GUI tool for Firebird and InterBase.
  • HeidiSQL A lightweight client for managing MySQL, MSSQL and PostgreSQL, written in Delphi.
  • MySQL Workbench MySQL Workbench is a 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, and SQLite databases from a single application.
  • Oracle SQL Developer 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 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 that is specifically targeted at the development of stored program units for Oracle Databases.
  • PostgreSQL Maestro Complete and powerful database management, admin and development tool for PostgreSQL.
  • Toad Toad is the premier database solution for developers, admins and data analysts. Manage complex database changes with a single database management tool.
  • Toad Edge Simplified database development tool for MySQL and Postgres.
  • TOra TOra is an open source SQL IDE for Oracle, MySQL and PostgreSQL dbs.
  • Valentina Studio Create, administer, query and explore Valentina DB, MySQL, MariaDB, PostgreSQL and SQLite databases for FREE.

GUI Managers/Clients


  • Adminer Database management in a single PHP file.
  • DbVisualizer Universal database tool for developers, DBAs and analysts.
  • HouseOps Enterprise ClickHouse Ops UI for you run querys, monitoring ClickHouse health and make a lot of others thinks.
  • JackDB Direct SQL access to all your data, no matter where it lives.
  • OmniDB Web tool for database management.
  • Pgweb Web-based database browser for PostgreSQL, written in Go and works on macOS, Linux and 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 provides a 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) is a shell-centric cross-platform MongoDB management tool.
  • Sequel Pro Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL & MariaDB databases.
  • SQL Operations Studio A data management tool that enables working with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux.
  • SQLite Expert 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 written in Java that will allow you to view the structure of a 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.
  • TablePlus Modern, native, and friendly GUI tool for relational databases: MySQL, PostgreSQL, SQLite & more.
  • TeamPostgreSQL PostgreSQL Web Administration GUI use your PostgreSQL databases from anywhere, with rich, lightning-fast AJAX web interface.

CLI tools


  • ipython-sql Connect to a database for issue SQL commands within IPython or IPython Notebook.
  • iredis A Cli for Redis with 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) is a free command line interface for 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 is a CLI tool for AWS Athena service that can do auto-completion and syntax highlighting.
  • litecli CLI for SQLite Databases with auto-completion and syntax highlighting.
  • mssql-cli A command-line client for SQL Server with auto-completion and syntax highlighting.
  • mycli A Terminal Client for MySQL with 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 Data Modeler 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 is a free graphical tool that enhances productivity and simplifies data modeling tasks.
  • pgmodeler Data modeling tool designed for PostgreSQL.

Migration tools


  • 2bass Database configuration-as-code tool that utilizes concept of idempotent DDL scripts.
  • flyway Database migration tool.
  • gh-ost Online schema migration for MySQL.
  • liquibase Database-independent library for tracking, managing and applying database schema changes.
  • migra Like diff but for PostgreSQL schemas.
  • node-pg-migrate Node.js database migration management built exclusively for postgres. (But can also be used for other DBs conforming to SQL standard e.g. CockroachDB.)
  • Pyrseas Provides utilities to describe a PostgreSQL database schema as YAML.
  • SchemaHero A Kubernetes operator for 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+ and hopefully better.

Code generation tools


  • ddl-generator Infers SQL DDL (Data Definition Language) from 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.

Wrappers


  • DreamFactory A open source REST API backend for mobile, web, and IoT applications.
  • Hasura GraphQL Engine Blazing fast, instant realtime GraphQL APIs on Postgres with fine grained access control, also 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 A mid-tier Java application, ORDS maps HTTP(S) verbs (GET, POST, PUT, DELETE, etc.) to database transactions and returns any results formatted using JSON.
  • Prisma Prisma turns your database into a realtime GraphQL API.
  • PostgREST REST API for any Postgres database.
  • prest Is a way to serve a RESTful API from any databases written in Go.
  • restSQL SQL generator with Java and HTTP APIs, uses a simple RESTful HTTP API with XML or JSON serialization.
  • resquel Easily convert your SQL database into a REST API.
  • sandman2 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 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 to PostgreSQL replica system written in Python 3. The system use the library mysql-replication to pull the row images from MySQL which are stored into PostgreSQL as JSONB.
  • PGDeltaStream A Golang webserver to stream Postgres changes atleast-once over websockets, using Postgres logical decoding feature.
  • repmgr The Most Popular Replication Manager for PostgreSQL.

Scripts



Monitoring/Statistics/Perfomance


  • ASH Viewer Provides a graphical view of active session history data within the Oracle and PostgreSQL DB.
  • Monyog Agentless & Cost-effective MySQL Monitoring Tool.
  • mssql-monitoring Monitor your SQL Server on Linux performance using collectd, InfluxDB and Grafana.
  • Navicat Monitor A safe, simple and agentless remote server monitoring tool that is 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 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 server metrics.
  • 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 statistics, and either saves them in CSV files or 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 a 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 This is the Zabbix monitoring template for PostgreSQL Database.
  • Pyora Python script to monitor Oracle Databases.
  • ZabbixDBA ZabbixDBA is fast, flexible, and continuously developing plugin to monitor your RDBMS.

Testing


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

Data generator



Administration


  • 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


  • Citus Postgres extension that distributes your data and your queries across multiple nodes.
  • patroni A template for PostgreSQL High Availability with ZooKeeper, etcd, or Consul.
  • Percona XtraDB Cluster A High Scalability Solution for MySQL Clustering and High Availability.
  • stolon 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, based on industry references Pacemaker and Corosync.
  • postgresql_cluster PostgreSQL High-Availability Cluster (based on "Patroni" and "DCS(etcd)"). Automating deployment with Ansible.
  • Vitess Database clustering system for horizontal scaling of MySQL through generalized sharding.

Kubernetes


  • KubeDB Making running production-grade databases easy on Kubernetes.
  • Postgres operator The Postgres Operator enables highly-available PostgreSQL clusters on Kubernetes (K8s) powered by Patroni.
  • Spilo HA PostgreSQL Clusters with Docker.
  • StackGres Enterprise-grade, Full Stack PostgreSQL on Kubernetes.

Configuration Tuning


  • MySQLTuner-perl Script written in Perl that allows you to review a 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 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 without compromising quality, performance or reliability.

Schema samples



Reporting


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

Distributions


  • DBdeployer Tool that deploys MySQL database servers easily.
  • dbatools PowerShell module that you may think of like a command-line SQL Server Management Studio.
  • Postgres.app Full-featured PostgreSQL installation packaged as a standard Mac app.
  • BigSQL A developer-friendly distribution of Postgres.
  • Elephant Shed Web-based PostgreSQL management front-end that bundles several utilities and applications for use with PostgreSQL.

Security


  • Acra 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.

Contributing



Есть находки для БД делитесь. Также буду рад получить обратную связь PR'ы и звездочки. Остались вопросы по созданию своих листов тоже пишите.

Источник: habr.com
К списку статей
Опубликовано: 01.09.2020 10:05:42
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании крок

Администрирование баз данных

Github

Лайфхаки для гиков

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru