Fantastiskt DIY-ark, eller GitHub istället för anteckningsblock
Hej, Habr! Förmodligen har var och en av oss en fil där vi gömmer något användbart och intressant för oss själva. Några länkar till artiklar, böcker, repositories, manualer. Dessa kan vara webbläsarbokmärken eller till och med bara öppna flikar kvar för senare. Med tiden sväller allt detta, länkar slutar öppna och de flesta material blir helt enkelt föråldrade.
Vad händer om vi delar denna godhet med communityn och lägger upp den här filen på GitHub? Då kan ditt arbete vara användbart för någon annan, och ni kan behålla relevansen tillsammans och ta emot uppdateringar från de som önskar genom gamla goda PR. Det är precis vad projektet är designat för. Fantastiska listor. Den ingår i TOP 10 GitHub-arkiven, har 138K stjärnor och en länk till dina verk kan dyka upp direkt i dess rot README, vilket kommer att locka en stor publik till ditt arbete. Det är sant att detta kommer att kräva lite ansträngning. Jag vill dela med mig av min erfarenhet av sådana ansträngningar.
Jag heter Maxim Gramin. På CROC gör jag Java-utveckling och databasforskning. I det här inlägget kommer jag att berätta för dig vad Awesome Lists är och hur du gör din egen officiella fantastiska repo.
Vad är fantastiska listor
När jag ska lista ut någon ny teknik eller programmeringsspråk är det första jag gör att gå hit - jag hittar rätt avsnitt, och det finns lämpliga blad i den. Och att döma av antalet stjärnor och deras konstanta tillväxt är det inte bara jag som gör det här.
I själva verket är detta en vanlig lägenhet readme.md, som bor i en separat förråd, rankas på 8:e plats bland alla GitHub-förråd och inkluderar länkar till andra ark dedikerade till alla ämnen. Till exempel, i avsnittet Programmeringsspråk kan du hitta ark om Awesome Python och Awesome Go, och Front-End Development har en enorm mängd resurser om WEB-utveckling. Och, naturligtvis, - avsnitt Databaser (Vi återkommer till detta lite senare). Och ja, allt detta är inte begränsat till tekniska ämnen. Till exempel, i sektionerna för underhållning och spel kan du också hitta många intressanta saker (jag var personligen nöjd fantastisk-fantasi).
Huvudfunktionen är att alla dessa blad inte underhålls av författaren personligen, utan av gemenskapen och är sammanställda i enlighet med en speciell och mycket strikt fantastiskt manifest. Varje sådant blad är en oberoende gemenskap av specialister, lever sitt eget liv och är öppen för dina pull-förfrågningar som kommer att göra det ännu bättre. Och även vem som helst kan göra sitt eget ark om något ämne ännu inte har behandlats.
Författaren till idén och koordinatorn för hela detta företag är den legendariske Sindre Sorhus, första person på GitHub, författare mer 1000 npm moduler, och det är han som kommer att ta emot dina PR.
Hur man kommer in på awesome-listan
Om du plötsligt inte har hittat ett lämpligt blad om ett ämne som intresserar dig, så är detta det första tecknet på att du behöver göra det själv!
Jag ska berätta för dig genom att använda exemplet med min idé. Fantastiska databasverktyg — Från projekt till projekt måste jag arbeta med en mängd olika databaser, och det var därför jag startade en fil där jag samlade användbara verktyg för att arbeta med dem, alla typer av databasmigrerare, IDE:er, adminpaneler, övervakningsverktyg och alla möjliga saker, diverse. Verktyg som jag redan har använt eller bara tänkte börja använda. Jag delade den här filen med kollegor på CROC och vidare. Detta hjälpte många människor och var intressant. Som ett resultat ville jag ha mer berömmelse när jag en dag märkte att det inte fanns något blad om detta ämne i avsnittet Databaser. Och jag bestämde mig för att lägga till min där.
Что для этого нужно?
Vi registrerar en vanlig GitHub-repo med ett namn som awesome-whatever. I mitt fall var det fantastiska-databas-verktyg
Vi tar vårt ark till det fantastiska formatet, detta kommer att hjälpa oss generator-awesome-lista, som genererar alla nödvändiga filer i det format som krävs
Att sätta upp en riktig CI. grymt ludd och travis ci hjälper oss att kontrollera giltighet vårt blad
Vi väntar 30 dagar
Vi granskar minst 2 andras PR
Och slutligen gör vi en PR till huvudrepo, där vi lägger till en länk till vår repo. Här måste du läsa allt noggrant och noggrant uppfylla alla de många kraven för det nya arket och själva PR.
Men det gick lite tid, jag samlade ännu mer material, jobbade på misstag och vågade andra försöket.
Men jag glömde en mycket viktig sak, som försiktigt antyddes till mig:
Jag var inte särskilt försiktig och lade inte till en enhörning för att bekräfta att alla villkor var uppfyllda
Sedan gick det lite mer tid, några fler redigeringar baserade på kommentarer, och det efterlängtade tweetatt min PR accepterades.
Så jag blev författare till mitt första ark, och de började ta emot PR från communityn för att lägga till nya verktyg. Och många av dem ingår redan i Fantastiska databasverktyg. Om du är för lat för att följa länken,
här är det aktuella urvalet vid tidpunkten för publicering av inlägget
Fantastiska databasverktyg
Gemenskapsdriven lista över databasverktyg
Här kommer vi att samla information om fantastiska användbara och fantastiska experimentella verktyg som förenklar med databaser för DBA, DevOps, utvecklare och bara dödliga.
Lägg gärna till information om dina egna db-verktyg eller dina favorit db-verktyg från tredje part.
dbForge Studio för SQL Server — Kraftfull integrerad utvecklingsmiljö för SQL Server-utveckling, hantering, administration, dataanalys och rapportering.
dbKoda — Modernt (JavaScript/Electron-ramverk), öppen källkod IDE för MongoDB. Den har funktioner för att stödja utveckling, administration och prestandajustering på MongoDB-databaser.
IBExpert — Omfattande GUI-verktyg för Firebird och InterBase.
HeidiSQL — En lättviktsklient för att hantera MySQL, MSSQL och PostgreSQL, skriven i Delphi.
mysql arbetsbänk — MySQL Workbench är ett enhetligt visuellt verktyg för databasarkitekter, utvecklare och DBA:er.
navicat — Ett databasutvecklingsverktyg som låter dig ansluta till MySQL, MariaDB, SQL Server, Oracle, PostgreSQL och SQLite-databaser samtidigt från en enda applikation.
Oracle SQL -utvecklare — Oracle SQL Developer är en gratis, integrerad utvecklingsmiljö som förenklar utvecklingen och hanteringen av Oracle Database i både traditionella och molninstallationer.
pgAdmin — Den mest populära och funktionsrika administrations- och utvecklingsplattformen för Open Source för PostgreSQL, den mest avancerade Open Source-databasen i världen.
PL / SQL Developer — IDE som är specifikt inriktat på utveckling av lagrade programenheter för Oracle-databaser.
PostgreSQL Maestro — Komplett och kraftfullt databashanterings-, admin- och utvecklingsverktyg för PostgreSQL.
Padda — Toad är den främsta databaslösningen för utvecklare, administratörer och dataanalytiker. Hantera komplexa databasändringar med ett enda databashanteringsverktyg.
Toad Edge — Förenklat databasutvecklingsverktyg för MySQL och Postgres.
TOra — TOra är en SQL IDE med öppen källkod för Oracle, MySQL och PostgreSQL dbs.
Valentina studio — Skapa, administrera, fråga och utforska Valentina DB, MySQL, MariaDB, PostgreSQL och SQLite-databaser GRATIS.
Robo 3T — Robo 3T (tidigare Robomongo) är ett skalcentrerat plattformsoberoende MongoDB-hanteringsverktyg.
Sequel Pro — Sequel Pro är ett snabbt, lättanvänt Mac-program för databashantering för att arbeta med MySQL- och MariaDB-databaser.
SQL Operations Studio — Ett datahanteringsverktyg som gör det möjligt att arbeta med SQL Server, Azure SQL DB och SQL DW från Windows, macOS och Linux.
SQLite expert — Grafiskt gränssnitt stöder alla SQLite-funktioner.
sqlpad — Webbaserad SQL-redigerare körs i ditt eget privata moln.
SQLPro — En enkel, kraftfull Postgres-hanterare för macOS.
Ekorre — Grafisk SQL-klient skriven i Java som låter dig se strukturen för en JDBC-kompatibel databas, bläddra i data i tabeller, utfärda SQL-kommandon etc.
sqlcl — Oracle SQL Developer Command Line (SQLcl) är ett gratis kommandoradsgränssnitt för Oracle Database.
usql — Ett universellt kommandoradsgränssnitt för PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, och många andra databaser inklusive NoSQL och icke-relationella databaser!
dbcli
athenacl — AthenaCLI är ett CLI-verktyg för AWS Athena-tjänst som kan göra automatisk komplettering och syntaxmarkering.
litecli - CLI för SQLite-databaser med automatisk komplettering och syntaxmarkering.
mssql-cli — En kommandoradsklient för SQL Server med automatisk komplettering och syntaxmarkering.
mycli — En terminalklient för MySQL med AutoCompletion och Syntax Highlighting.
pgcli - Postgres CLI med autokomplettering och syntaxmarkering.
vcli — Vertica CLI med automatisk komplettering och syntaxmarkering.
DB-schemanavigering och visualisering
dbdiagram.io — Snabbt och enkelt verktyg som hjälper dig att rita dina databasrelationsdiagram och flöde snabbt med ett enkelt DSL-språk.
ERalkemi — Verktyg för generering av Entity Relation Diagrams.
SchemaCrawler — Ett gratis verktyg för upptäckt och förståelse av databasscheman.
Schema Spy — Generera din databas till HTML-dokumentation, inklusive Entity Relationship-diagram.
tbls — CI-vänligt verktyg för att dokumentera en databas, skrivet i Go.
Modellerare
Navicat Data Modeler — Ett kraftfullt och kostnadseffektivt databasdesignverktyg som hjälper dig att bygga konceptuella, logiska och fysiska datamodeller av hög kvalitet.
Oracle SQL Developer Data Modeler — Oracle SQL Developer Data Modeler är ett gratis grafiskt verktyg som förbättrar produktiviteten och förenklar datamodelleringsuppgifter.
pgmodeller — Datamodelleringsverktyg designat för PostgreSQL.
Migrationsverktyg
2 bas — Databaskonfiguration-som-kod-verktyg som använder konceptet med idempotenta DDL-skript.
nod-pg-migrera — Node.js databasmigreringshantering byggd exklusivt för postgres. (Men kan också användas för andra DB:er som överensstämmer med SQL-standarden - t.ex. CockroachDB.)
Pyrseas — Tillhandahåller verktyg för att beskriva ett PostgreSQL-databasschema som YAML.
SchemaHero — En Kubernetes-operator för deklarativ databasschemahantering (gitops för databasscheman).
Sqitch — Förnuftig databasbaserad förändringshantering för ramfri utveckling och pålitlig implementering.
yuniql — Ännu ett schemaversions- och migreringsverktyg som nyss skapats med inbyggt .NET Core 3.0+ och förhoppningsvis bättre.
Kodgenereringsverktyg
ddl-generator — Härleder SQL DDL (Data Definition Language) från tabelldata.
schema2ddl — Kommandoradsverktyg för export av Oracle-schema till uppsättning ddl init-skript med förmåga att filtrera oönskad information, separera DDL i olika filer, utdata i vackert format.
omslag
Drömfabrik — En REST API-backend med öppen källkod för mobil-, webb- och IoT-applikationer.
Hasura GraphQL Engine — Snabba, omedelbara GraphQL-API:er i realtid på Postgres med finkornig åtkomstkontroll, utlöser även webhooks på databashändelser.
mysql_fdw — PostgreSQL främmande dataomslag för MySQL.
Oracle REST Data Services — En Java-applikation på mellannivå, ORDS mappar HTTP(S)-verb (GET, POST, PUT, DELETE, etc.) till databastransaktioner och returnerar alla resultat formaterade med JSON.
prisma — Prisma förvandlar din databas till ett GraphQL API i realtid.
postgREST - REST API för vilken Postgres-databas som helst.
prest — Är ett sätt att servera ett RESTful API från alla databaser skrivna i Go.
restSQL — SQL-generator med Java och HTTP API:er, använder ett enkelt RESTful HTTP API med XML eller JSON serialisering.
återupprätta — Konvertera enkelt din SQL-databas till ett REST API.
sandman2 — Generera automatiskt en RESTful API-tjänst för din äldre databas.
sql-boot — Avancerad REST och UI-omslag för dina SQL-frågor.
Bartender — Backup and Recovery Manager för PostgreSQL.
Replikering/Data operation
Datasett — Ett verktyg för att utforska och publicera data.
dtle — Distribuerad dataöverföringstjänst för MySQL.
pgsync - Synkronisera Postgres-data mellan databaser.
pg_kameleont — MySQL till PostgreSQL repliksystem skrivet i Python 3. Systemet använder biblioteket mysql-replikering för att hämta radbilderna från MySQL som lagras i PostgreSQL som JSONB.
PGDeltaStream — En Golang-webbserver för att strömma Postgres-ändringar minst en gång via websockets, med hjälp av Postgres logiska avkodningsfunktion.
repmgr — Den mest populära replikeringshanteraren för PostgreSQL.
Skript
pgx_scripts — En samling användbara små skript för databasanalys och administration, skapade av vårt team på PostgreSQL Experts.
pgsql-bloat-estimation — Frågor för att mäta statistisk uppblåsthet i index och tabeller för PostgreSQL.
TPT — Dessa sqlplus-skript är för Oracle Database-prestandaoptimering och felsökning.
Övervakning/Statistik/Prestanda
ASH Viewer — Ger en grafisk vy av aktiva sessionshistorikdata inom Oracle och PostgreSQL DB.
Monyog — Agentlöst och kostnadseffektivt MySQL-övervakningsverktyg.
mssql-övervakning — Övervaka din SQL Server på Linux-prestanda med hjälp av collectd, InfluxDB och Grafana.
Navigat Monitor — Ett säkert, enkelt och agentlöst fjärrserverövervakningsverktyg som är fullmatat med kraftfulla funktioner för att göra din övervakning så effektiv som möjligt.
Orabbix — Orabbix är ett plugin designat för att fungera med Zabbix Enterprise Monitor för att tillhandahålla flernivåövervakning, prestanda- och tillgänglighetsrapportering och mätning för Oracle-databaser, tillsammans med serverprestandamätningar.
pg_monz — Det här är Zabbix-övervakningsmallen för PostgreSQL-databasen.
Pyora — Python-skript för att övervaka Oracle-databaser.
ZabbixDBA - ZabbixDBA är ett snabbt, flexibelt och ständigt utvecklande plugin för att övervaka ditt RDBMS.
Testning
DbFit — Ett ramverk för databastestning som stöder enkel testdriven utveckling av din databaskod.
RegreSQL — Regressionstestning av dina SQL-frågor.
Datagenerator
Databene Benerator — Det är ett ramverk för att generera realistiska och giltiga testdata i hög volym för ditt system som testas (undvika Datalite-antimönster).
postgresqltuner.pl — Enkelt skript för att analysera din PostgreSQL-databaskonfiguration och ge råd om justering.
DevOps
DBmaestro — DBmaestro accelererar frisättningscykler och stödjer smidighet över hela IT-ekosystemet.
Toad DevOps Toolkit — Toad DevOps Toolkit kör viktiga databasutvecklingsfunktioner i ditt DevOps-arbetsflöde — utan att kompromissa med kvalitet, prestanda eller tillförlitlighet.
Poli — En lättanvänd SQL-rapporteringsapplikation byggd för SQL-älskare.
distributioner
DBdeployer — Verktyg som enkelt distribuerar MySQL-databasservrar.
dbatools — PowerShell-modul som du kanske tänker på som en kommandorads SQL Server Management Studio.
Postgres.app — Fullständig PostgreSQL-installation paketerad som en standard Mac-app.
BigSQL — En utvecklarvänlig distribution av Postgres.
Elefantskjul — Webbaserat PostgreSQL-hanteringsgränssnitt som kombinerar flera verktyg och applikationer för användning med PostgreSQL.
Säkerhet
Accra — Databassäkerhetssvit. Databasproxy med kryptering på fältnivå, sök igenom krypterad data, förebyggande av SQL-injektioner, intrångsdetektering, honeypots. Stöder kryptering på klientsidan och proxysidan ("transparent"). SQL, NoSQL.
Kodformaterare
CodeBuff — Språkagnostisk pretty-printing genom maskininlärning.
Om du har några fynd för databasen, vänligen dela. Jag tar också gärna emot feedback - PR och stjärnor. Om du har några frågor om att skapa dina egna ark, skriv dem också.