Witaj, Habro! Prawdopodobnie każdy z nas ma plik, w którym ukrywa coś dla siebie przydatnego i interesującego. Kilka linków do artykułów, książek, repozytoriów, podręczników. Mogą to być zakładki przeglądarki lub nawet otwarte karty pozostawione na później. Z czasem to wszystko nabrzmiewa, linki przestają się otwierać, a większość materiałów po prostu staje się nieaktualna.
A co jeśli podzielimy się tą dobrocią ze społecznością i opublikujemy ten plik na GitHubie? Wtedy Twoja praca może być użyteczna dla kogoś innego i będziecie mogli wspólnie zachować znaczenie, akceptując aktualizacje od tych, którzy chcą, poprzez stare, dobre PR. Właśnie do tego przeznaczony jest projekt. Niesamowite listy. Znajduje się w TOP 10 repozytoriów GitHub, ma 138 tys. gwiazdek, a link do Twoich prac może pojawić się bezpośrednio w jego głównym pliku README, co przyciągnie ogromną publiczność do Twojej pracy. To prawda, że będzie to wymagało trochę wysiłku. Chcę podzielić się z Wami moimi doświadczeniami związanymi z takimi działaniami.
Nazywam się Maksym Gramin. W CROC zajmuję się rozwojem Java i badaniami baz danych. W tym poście opowiem Ci, czym są Awesome Listy i jak stworzyć własne oficjalne, niesamowite repozytorium.
Co to są niesamowite listy
Kiedy muszę wymyślić jakąś nową technologię lub język programowania, pierwsze co robię, to idę tutaj - znajduję odpowiedni dział i są w nim odpowiednie arkusze. A sądząc po liczbie gwiazd i ich ciągłym wzroście, nie tylko ja to robię.
W rzeczywistości jest to zwykły płaski plik Readme.md, który znajduje się w osobnym miejscu repozytoria, zajmuje 8. miejsce wśród wszystkich repozytoriów GitHub i zawiera linki do innych arkuszy poświęconych dowolnemu tematowi. Przykładowo w dziale Języki programowania można znaleźć arkusze o Awesome Python i Awesome Go, a Front-End Development dysponuje ogromną ilością zasobów na temat tworzenia WEB-ów. I oczywiście - sekcja Bazy danych (Wrócimy do tego nieco później). I tak, to wszystko nie ogranicza się do tematów technicznych. Na przykład w sekcjach Rozrywka i Gry można również znaleźć wiele ciekawych rzeczy (osobiście byłem zadowolony fantastyczna-fantazja).
Główną cechą jest to, że wszystkie te arkusze są prowadzone nie przez autora osobiście, ale przez społeczność i są opracowywane zgodnie ze specjalnym i bardzo rygorystycznym wspaniały manifest. Każdy taki arkusz to niezależna społeczność specjalistów, żyje własnym życiem i jest otwarta na Twoje pull requesty, dzięki którym będzie jeszcze lepiej. A także każdy może stworzyć własny arkusz, jeśli jakiś temat nie został jeszcze omówiony.
Autorem pomysłu i koordynatorem całego przedsięwzięcia jest legendarny Sindre Sorhus, pierwsza osoba na GitHubie, autor więcej Moduły 1000 npmi to on będzie odbierał Twoje PR.
Jak dostać się do listy Awesome
Jeśli nagle nie znalazłeś odpowiedniego arkusza na interesujący Cię temat, to jest to pierwszy znak, że musisz zrobić to sam!
Opowiem Ci na przykładzie mojego pomysłu. Niesamowite narzędzia baz danych — Od projektu do projektu muszę pracować z różnymi bazami danych, dlatego założyłem plik, w którym zebrałem przydatne narzędzia do pracy z nimi, wszelkiego rodzaju migratory baz danych, IDE, panele administracyjne, narzędzia monitorujące i wszelkiego rodzaju rzeczy różne. Narzędzia, z których już korzystałem lub dopiero planuję zacząć używać. Udostępniłem ten plik współpracownikom z CROC i nie tylko. Pomogło to wielu osobom i było interesujące. W rezultacie zapragnąłem większej sławy, gdy pewnego dnia zauważyłem, że w dziale Bazy danych nie było żadnej kartki na ten temat. I postanowiłem dodać tam swoje.
Czego potrzebuję?
Rejestrujemy zwykłe repozytorium GitHub o nazwie niesamowite-cokolwiek. W moim przypadku były to niesamowite narzędzia baz danych
Doprowadzamy nasz arkusz do niesamowitego formatu, to nam pomoże generator-niesamowitej listy, który wygeneruje wszystkie niezbędne pliki w wymaganym formacie
Konfigurowanie prawdziwego CI. niesamowite-lint i Travis Ci pomogą nam kontrolować ważność nasz arkusz
Czekamy 30 dni
Sprawdzamy PR co najmniej 2 innych osób
Na koniec robimy PR do głównego repo, gdzie dodajemy link do naszego repo. Tutaj musisz wszystko dokładnie przeczytać i dokładnie spełnić wszystkie liczne wymagania dotyczące nowego arkusza i samego PR.
Ale minęło trochę czasu, zebrałem jeszcze więcej materiału, popracowałem nad błędami i odważyłem się drugie podejście.
Ale zapomniałem o bardzo ważnej rzeczy, która została mi delikatnie podpowiedziana:
Nie byłem zbyt ostrożny i nie dodałem jednorożca, aby potwierdzić, że wszystkie warunki zostały spełnione
Potem minęło jeszcze trochę czasu, kilka kolejnych edycji na podstawie komentarzy i długo oczekiwany ćwierkaćże mój PR został zaakceptowany.
I tak zostałem autorem mojego pierwszego arkusza, a oni zaczęli otrzymywać PR od społeczności, aby dodać nowe narzędzia. A wiele z nich jest już uwzględnionych Niesamowite narzędzia baz danych. Jeśli jesteś zbyt leniwy, aby skorzystać z linku,
oto aktualny wybór w momencie publikacji postu
Niesamowite narzędzia baz danych
Stworzona przez społeczność lista narzędzi bazodanowych
Tutaj będziemy zbierać informacje o niesamowitych, przydatnych i niesamowitych narzędziach eksperymentalnych, które upraszczają pracę dzięki bazom danych dla DBA, DevOps, programistów i zwykłych śmiertelników.
Możesz dodać informacje o swoich własnych narzędziach db lub ulubionych narzędziach db innych firm.
Mistrz AnySQL — Najlepsze, wielofunkcyjne narzędzie administracyjne do zarządzania, kontroli i rozwoju baz danych.
Studio danych Aqua — Aqua Data Studio to oprogramowanie zwiększające produktywność dla programistów baz danych, administratorów baz danych i analityków.
Baza danych.net — Narzędzie do zarządzania wieloma bazami danych z obsługą ponad 20 baz danych.
uchwyt danych — Wieloplatformowe IDE dla baz danych i SQL firmy JetBrains.
Dbeaver — Darmowy uniwersalny menedżer baz danych i klient SQL.
dbForge Studio dla MySQL — Uniwersalne IDE do tworzenia, zarządzania i administrowania bazami danych MySQL i MariaDB.
dbForge Studio dla Oracle — Potężne środowisko IDE do zarządzania, administrowania i rozwoju Oracle.
dbForge Studio dla SQL Server — Potężne zintegrowane środowisko programistyczne do programowania, zarządzania, administrowania, analizy danych i raportowania SQL Server.
dbKoda — Nowoczesne (framework JavaScript/Electron), IDE typu open source dla MongoDB. Posiada funkcje wspierające rozwój, administrację i dostrajanie wydajności baz danych MongoDB.
IBExpert — Kompleksowe narzędzie GUI dla Firebird i InterBase.
HeidiSQL — Lekki klient do zarządzania MySQL, MSSQL i PostgreSQL, napisany w Delphi.
Środowisko pracy MySQL — MySQL Workbench to ujednolicone narzędzie wizualne dla architektów baz danych, programistów i administratorów baz danych.
navicat — Narzędzie do tworzenia baz danych, które umożliwia jednoczesne łączenie się z bazami danych MySQL, MariaDB, SQL Server, Oracle, PostgreSQL i SQLite z poziomu jednej aplikacji.
Programista Oracle SQL — Oracle SQL Developer to bezpłatne, zintegrowane środowisko programistyczne, które upraszcza tworzenie bazy danych Oracle Database i zarządzanie nią zarówno w przypadku wdrożeń tradycyjnych, jak i chmurowych.
pgAdmin — Najpopularniejsza i bogata w funkcje platforma administracyjna i programistyczna Open Source dla PostgreSQL, najbardziej zaawansowanej bazy danych Open Source na świecie.
Programista PL / SQL — IDE, które jest specjalnie ukierunkowane na rozwój przechowywanych jednostek programowych dla baz danych Oracle.
Mistrz PostgreSQL'a — Kompletne i wydajne narzędzie do zarządzania bazami danych, administrowania i programowania dla PostgreSQL.
Ropucha — Toad to najlepsze rozwiązanie bazodanowe dla programistów, administratorów i analityków danych. Zarządzaj złożonymi zmianami w bazach danych za pomocą jednego narzędzia do zarządzania bazami danych.
Krawędź ropuchy — Uproszczone narzędzie do tworzenia baz danych dla MySQL i Postgres.
TOra — TOra to środowisko SQL IDE o otwartym kodzie źródłowym dla baz danych Oracle, MySQL i PostgreSQL.
Studio Walentynkowe — Twórz, administruj, wysyłaj zapytania i eksploruj bazy danych Valentina DB, MySQL, MariaDB, PostgreSQL i SQLite ZA DARMO.
Menedżerowie/klienci GUI
Admin — Zarządzanie bazą danych w jednym pliku PHP.
DbVisualizer — Uniwersalne narzędzie bazodanowe dla programistów, administratorów baz danych i analityków.
HouseOps — Enterprise ClickHouse Ops UI umożliwiający uruchamianie zapytań, monitorowanie stanu ClickHouse i zmuszanie wielu innych do myślenia.
JackDB — Bezpośredni dostęp SQL do wszystkich Twoich danych, niezależnie od tego, gdzie się one znajdują.
OmniDB — Narzędzie internetowe do zarządzania bazami danych.
Pgweb — Internetowa przeglądarka baz danych dla PostgreSQL, napisana w Go i działająca na komputerach z systemami macOS, Linux i Windows.
Administrator phpLite — Internetowe narzędzie administratora bazy danych SQLite napisane w języku PHP z obsługą SQLite3 i SQLite2.
phpMyAdmin — Interfejs sieciowy dla MySQL i MariaDB.
Psequel — PSequel zapewnia przejrzysty i prosty interfejs umożliwiający szybkie wykonywanie typowych zadań PostgreSQL.
PopSQL — Nowoczesny, współpracujący edytor SQL dla Twojego zespołu.
Postico - Nowoczesny klient PostgreSQL dla komputerów Mac.
Robo 3T — Robo 3T (dawniej Robomongo) to wieloplatformowe narzędzie do zarządzania MongoDB oparte na powłoce.
Sekwencja Pro — Sequel Pro to szybka, łatwa w użyciu aplikacja do zarządzania bazami danych dla komputerów Mac, przeznaczona do pracy z bazami danych MySQL i MariaDB.
Studio Operacji SQL — Narzędzie do zarządzania danymi, które umożliwia pracę z SQL Server, Azure SQL DB i SQL DW z systemów Windows, macOS i Linux.
Ekspert SQLite — Interfejs graficzny obsługuje wszystkie funkcje SQLite.
sqlpad — Internetowy edytor SQL działający w Twojej prywatnej chmurze.
SQLPro — Prosty, wydajny menedżer Postgres dla systemu macOS.
Wiewiórka — Graficzny klient SQL napisany w Javie, który pozwoli Ci przeglądać strukturę bazy danych zgodnej z JDBC, przeglądać dane w tabelach, wydawać polecenia SQL itp.
Narzędzia SQL — Zarządzanie bazami danych dla VSCode.
SQLyog — Najbardziej kompletny i łatwy w użyciu interfejs graficzny MySQL.
Tabix — Edytor SQL i prosta analiza biznesowa typu open source dla Clickhouse.
Tabela Plus — Nowoczesne, natywne i przyjazne narzędzie GUI dla relacyjnych baz danych: MySQL, PostgreSQL, SQLite i inne.
TeamPostgreSQL — GUI administracji WWW PostgreSQL — korzystaj z baz danych PostgreSQL z dowolnego miejsca, korzystając z bogatego, błyskawicznego interfejsu sieciowego AJAX.
Narzędzia CLI
ipython-sql — Połącz się z bazą danych, aby wydawać polecenia SQL w IPython lub IPython Notebook.
iredis — Cli dla Redis z autouzupełnianiem i podświetlaniem składni.
centrum pg — Najlepsze narzędzie administracyjne dla PostgreSQL.
pg_aktywność — Najbardziej podobna aplikacja do monitorowania aktywności serwera PostgreSQL.
sqlcl — Oracle SQL Developer Command Line (SQLcl) to bezpłatny interfejs wiersza poleceń dla bazy danych Oracle.
usql — Uniwersalny interfejs wiersza poleceń dla PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, i wiele innych baz danych w tym NoSQL i nierelacyjne bazy danych!
dbcli
atenakl — AthenaCLI to narzędzie CLI dla usługi AWS Athena, które umożliwia automatyczne uzupełnianie i podświetlanie składni.
Litekli - CLI dla baz danych SQLite z automatycznym uzupełnianiem i podświetlaniem składni.
mssql-cli — Klient wiersza poleceń dla SQL Server z automatycznym uzupełnianiem i podświetlaniem składni.
mykli — Klient terminalowy dla MySQL z autouzupełnianiem i podświetlaniem składni.
pgcli - Postgres CLI z autouzupełnianiem i podświetlaniem składni.
vcli — Vertica CLI z automatycznym uzupełnianiem i podświetlaniem składni.
Nawigacja i wizualizacja schematu DB
dbdiagram.io — Szybkie i proste narzędzie pomagające w rysowaniu diagramów relacji w bazie danych i szybkim przepływie danych przy użyciu prostego języka DSL.
ERAlchemia — Narzędzie do generowania diagramów relacji encji.
Szpieg schematu — Generowanie bazy danych do dokumentacji HTML, w tym diagramów relacji encji.
łyżki — Przyjazne dla CI narzędzie do dokumentowania bazy danych, napisane w Go.
Modelarze
Modelarz danych Navicat — Potężne i ekonomiczne narzędzie do projektowania baz danych, które pomaga budować wysokiej jakości koncepcyjne, logiczne i fizyczne modele danych.
cieczbaza — Niezależna od bazy danych biblioteka do śledzenia, zarządzania i stosowania zmian w schemacie bazy danych.
migrować — Podobnie jak diff, ale dla schematów PostgreSQL.
węzeł-pg-migracja — Zarządzanie migracją bazy danych Node.js zbudowane wyłącznie dla Postgres. (Ale można go również użyć do innych baz danych zgodnych ze standardem SQL - np. CockroachDB.)
Pyrseas — Zapewnia narzędzia do opisywania schematu bazy danych PostgreSQL jako YAML.
SchematBohater — Operator Kubernetes do deklaratywnego zarządzania schematami baz danych (gitops dla schematów baz danych).
Cicho — Rozsądne zarządzanie zmianami w oparciu o bazę danych, zapewniające rozwój bez ram i niezawodne wdrażanie.
Yuniql — Kolejne narzędzie do wersjonowania i migracji schematów, właśnie stworzone z natywną platformą .NET Core 3.0+ i, miejmy nadzieję, lepsze.
Narzędzia do generowania kodu
generator ddl — Wnioskuje SQL DDL (język definicji danych) na podstawie danych tabeli.
schemat2ddl — Narzędzie wiersza poleceń do eksportowania schematu Oracle do zestawu skryptów inicjujących ddl z możliwością filtrowania niepożądanych informacji, oddzielania DDL w różnych plikach, ładny format wyjściowy.
Owijarki
Fabryka Snów — Zaplecze API REST typu open source dla aplikacji mobilnych, internetowych i IoT.
Hasura GraphQL Silnik — Niesamowicie szybkie, natychmiastowe interfejsy API GraphQL działające w czasie rzeczywistym w Postgres z drobną kontrolą dostępu, wyzwalają także webhooki w przypadku zdarzeń w bazie danych.
mysql_fdw — Opakowanie danych zagranicznych PostgreSQL dla MySQL.
Usługi danych Oracle REST — Aplikacja Java średniej klasy ORDS odwzorowuje czasowniki HTTP(S) (GET, POST, PUT, DELETE itp.) na transakcje w bazie danych i zwraca wszelkie wyniki sformatowane przy użyciu JSON.
pryzmat — Prisma zamienia Twoją bazę danych w API GraphQL działające w czasie rzeczywistym.
postgREST - API REST dla dowolnej bazy danych Postgres.
perst — Jest sposobem na udostępnienie RESTful API z dowolnych baz danych napisanych w Go.
resztaSQL — Generator SQL z interfejsami API Java i HTTP, wykorzystuje prosty interfejs API RESTful HTTP z serializacją XML lub JSON.
resquel — Z łatwością przekonwertuj bazę danych SQL na interfejs API REST.
sandman2 — Automatycznie generuj usługę API RESTful dla swojej starszej bazy danych.
sql-boot — Zaawansowane opakowanie REST i interfejsu użytkownika dla zapytań SQL.
Narzędzia do tworzenia kopii zapasowych
pgoparcie - Niezawodne tworzenie kopii zapasowych i przywracanie PostgreSQL.
Barman — Menedżer kopii zapasowych i odzyskiwania dla PostgreSQL.
Operacja replikacji/danych
Zbiór danych — Narzędzie do eksploracji i publikowania danych.
dtle — Usługa rozproszonego przesyłania danych dla MySQL.
pgsync - Synchronizuj dane Postgres między bazami danych.
pg_kameleon — System repliki MySQL do PostgreSQL napisany w Pythonie 3. System wykorzystuje bibliotekę mysql-replication do pobierania obrazów wierszy z MySQL, które są przechowywane w PostgreSQL jako JSONB.
PGDeltaStream — Serwer WWW Golang do strumieniowego przesyłania zmian Postgres co najmniej raz przez websockety, przy użyciu funkcji logicznego dekodowania Postgres.
przedstawiciel — Najpopularniejszy menedżer replikacji dla PostgreSQL.
skrypty
pgx_scripts — Zbiór przydatnych małych skryptów do analizy i administrowania bazami danych, stworzonych przez nasz zespół w PostgreSQL Experts.
oszacowanie wzdęcia pgsql — Zapytania do pomiaru statystycznego rozdęcia indeksów i tabel dla PostgreSQL.
Orabbix — Orabbix to wtyczka zaprojektowana do współpracy z Zabbix Enterprise Monitor w celu zapewnienia wielopoziomowego monitorowania, raportowania i pomiarów wydajności i dostępności baz danych Oracle, wraz z metrykami wydajności serwera.
pg_monz — To jest szablon monitorowania Zabbix dla bazy danych PostgreSQL.
Pyra — Skrypt Pythona do monitorowania baz danych Oracle.
ZabbixDBA - ZabbixDBA to szybka, elastyczna i stale rozwijana wtyczka do monitorowania Twojego RDBMS.
Testowanie
DbFit — Struktura testowania baz danych, która umożliwia łatwe tworzenie kodu bazy danych w oparciu o testy.
Databenerator — Jest to platforma do generowania realistycznych i ważnych danych testowych o dużej liczbie dla testowanego systemu (bez antywzorca Datalite).
StackGres — Klasy korporacyjnej, Full Stack PostgreSQL na platformie Kubernetes.
Strojenie konfiguracji
MySQLTuner-perl — Skrypt napisany w języku Perl, który pozwala szybko sprawdzić instalację MySQL i wprowadzić zmiany w celu zwiększenia wydajności i stabilności.
postgresqltuner.pl — Prosty skrypt do analizy konfiguracji bazy danych PostgreSQL i udzielania porad dotyczących dostrojenia.
DevOps
DBmaestro — DBmaestro przyspiesza cykle wydawnicze i wspiera elastyczność w całym ekosystemie IT.
Zestaw narzędzi DevOps firmy Toad — Toad DevOps Toolkit wykonuje kluczowe funkcje tworzenia baz danych w ramach przepływu pracy DevOps — bez uszczerbku dla jakości, wydajności i niezawodności.
Poli — Łatwa w użyciu aplikacja do raportowania SQL stworzona dla miłośników SQL.
Dystrybucje
Wdrożeniowiec DB — Narzędzie umożliwiające łatwe wdrażanie serwerów baz danych MySQL.
narzędzia dba — Moduł PowerShell, który można uważać za SQL Server Management Studio z wiersza poleceń.
Aplikacja Postgres — W pełni funkcjonalna instalacja PostgreSQL w pakiecie jako standardowa aplikacja dla komputerów Mac.
BigSQLa — Przyjazna dla programistów dystrybucja Postgres.
Szopa dla słoni — Internetowy interfejs zarządzania PostgreSQL, który zawiera kilka narzędzi i aplikacji do użytku z PostgreSQL.
Bezpieczeństwo
Acra — Pakiet zabezpieczeń baz danych. Serwer proxy bazy danych z szyfrowaniem na poziomie pola, przeszukiwanie zaszyfrowanych danych, zapobieganie wstrzykiwaniom SQL, wykrywanie włamań, Honeypoty. Obsługuje szyfrowanie po stronie klienta i proxy („przezroczyste”). SQL, NoSQL.
Formatery kodu
CodeBuff — Ładne drukowanie niezależne od języka dzięki uczeniu maszynowemu.
Jeśli posiadasz jakieś znaleziska do bazy, podziel się nimi. Będzie mi również miło otrzymać informację zwrotną – PR-y i gwiazdki. Jeśli masz pytania dotyczące tworzenia własnych arkuszy, również je napisz.