Fantastisk DIY-ark, eller GitHub i stedet for notisblokk
Hei, Habr! Sannsynligvis har hver av oss en fil der vi skjuler noe nyttig og interessant for oss selv. Noen lenker til artikler, bøker, depoter, manualer. Dette kan være nettleserbokmerker eller til og med bare åpne faner igjen for senere. Over tid svulmer alt dette, lenker slutter å åpne seg, og de fleste materialene blir rett og slett utdaterte.
Hva om vi deler denne godheten med fellesskapet og legger ut denne filen på GitHub? Da kan arbeidet ditt være nyttig for noen andre, og dere kan opprettholde relevansen sammen og ta imot oppdateringer fra de som ønsker det gjennom gode gamle PR-er. Det er nettopp dette prosjektet er designet for. Fantastiske lister. Den er inkludert i TOP 10 GitHub-repositoriene, har 138K stjerner, og en lenke til verkene dine kan vises rett i roten README, som vil tiltrekke et stort publikum til arbeidet ditt. Riktignok vil dette kreve litt innsats. Jeg ønsker å dele min erfaring med slik innsats med deg.
Mitt navn er Maxim Gramin. På CROC driver jeg med Java-utvikling og databaseforskning. I dette innlegget vil jeg fortelle deg hva Awesome Lists er og hvordan du lager din egen offisielle fantastiske repo.
Hva er fantastiske lister
Når jeg skal finne ut noe ny teknologi eller programmeringsspråk, er det første jeg gjør å gå hit - jeg finner den rette delen, og det er passende ark i den. Og å dømme etter antall stjerner og deres konstante vekst, er det ikke bare jeg som gjør dette.
Faktisk er dette en vanlig leilighet readme.md, som bor i en separat depoter, rangerer 8. blant alle GitHub-depoter og inkluderer lenker til andre ark dedikert til ethvert emne. For eksempel, i Programmeringsspråk-delen kan du finne ark om Awesome Python og Awesome Go, og Front-End Development har en enorm mengde ressurser på WEB-utvikling. Og, selvfølgelig, - seksjon databaser (Vi kommer tilbake til dette litt senere). Og ja, alt dette er ikke begrenset til tekniske emner. For eksempel, i seksjonene Underholdning og spill kan du også finne mange interessante ting (jeg var personlig fornøyd fantastisk-fantasi).
Hovedtrekket er at alle disse arkene vedlikeholdes ikke av forfatteren personlig, men av fellesskapet og er kompilert i samsvar med en spesiell og veldig streng fantastisk manifest. Hvert slikt ark er et uavhengig fellesskap av spesialister, lever sitt eget liv og er åpent for dine pull-forespørsler som vil gjøre det enda bedre. Og også hvem som helst kan lage sitt eget ark hvis et emne ennå ikke er dekket.
Forfatteren av ideen og koordinator for hele denne virksomheten er den legendariske Sindre Sorhus, første person på GitHub, forfatter mer 1000 npm moduler, og det er han som vil motta PR-ene dine.
Hvordan komme inn på awesome-listen
Hvis du plutselig ikke har funnet et passende ark om et emne som interesserer deg, så er dette det første tegnet på at du må lage det selv!
Jeg skal fortelle deg ved å bruke eksemplet med min idé. Fantastiske databaseverktøy — Fra prosjekt til prosjekt må jeg jobbe med en rekke databaser, og derfor startet jeg en fil der jeg samlet nyttige verktøy for å jobbe med dem, alle slags databasemigrere, IDE-er, adminpaneler, overvåkingsverktøy og alle slags ting, diverse. Verktøy som jeg allerede har brukt eller bare planla å begynne å bruke. Jeg delte denne filen med kolleger på CROC og utover. Dette hjalp mange mennesker og var interessant. Som et resultat ønsket jeg mer berømmelse da jeg en dag la merke til at det ikke var noe ark om dette emnet i Databaser-delen. Og jeg bestemte meg for å legge til min der.
Hva trengs for dette?
Vi registrerer en vanlig GitHub-repo med et navn som awesome-whatever. I mitt tilfelle var det kjempebra-database-verktøy
Vi bringer arket vårt til det fantastiske formatet, dette vil hjelpe oss generator-fantastisk-liste, som vil generere alle nødvendige filer i det nødvendige formatet
Setter opp en ekte CI. kjempeflott-lo og travis ci vil hjelpe oss å kontrollere gyldighet arket vårt
Vi venter i 30 dager
Vi vurderer minst 2 andres PR
Og til slutt lager vi en PR til hovedrepoen, hvor vi legger til en lenke til vår repo. Her må du lese alt nøye og nøye oppfylle alle de mange kravene til det nye arket og selve PR.
Men det gikk litt tid, jeg samlet enda mer materiale, jobbet med feil og turte andre forsøk.
Men jeg glemte en veldig viktig ting, som ble forsiktig antydet til meg:
Jeg var ikke veldig forsiktig og la ikke til enhjørningen for å bekrefte at alle betingelsene var oppfylt
Så gikk det litt mer tid, noen flere redigeringer basert på kommentarer, og det etterlengtede kvitringat min PR ble akseptert.
Så jeg ble forfatteren av mitt første ark, og de begynte å motta PR-er fra fellesskapet for å legge til nye verktøy. Og mange av dem er allerede inkludert i Fantastiske databaseverktøy. Hvis du er for lat til å følge lenken,
her er det gjeldende utvalget på tidspunktet for publisering av innlegget
Fantastiske databaseverktøy
Samfunnsdrevet liste over databaseverktøy
Her vil vi samle informasjon om fantastiske nyttige og fantastiske eksperimentelle verktøy som forenkler med databaser for DBA, DevOps, utviklere og bare dødelige.
Legg gjerne til informasjon om dine egne db-tools eller dine favoritt tredjeparts db-tools.
dbForge Studio for SQL Server — Kraftig integrert utviklingsmiljø for SQL Server-utvikling, administrasjon, administrasjon, dataanalyse og rapportering.
dbKoda — Moderne (JavaScript/Electron-rammeverk), åpen kildekode IDE for MongoDB. Den har funksjoner for å støtte utvikling, administrasjon og ytelsesjustering på MongoDB-databaser.
IBExpert — Omfattende GUI-verktøy for Firebird og InterBase.
HeidiSQL — En lett klient for å administrere MySQL, MSSQL og PostgreSQL, skrevet i Delphi.
MySQL arbeidsbenk — MySQL Workbench er et enhetlig visuelt verktøy for databasearkitekter, utviklere og DBA-er.
navicat — Et databaseutviklingsverktøy som lar deg koble til MySQL, MariaDB, SQL Server, Oracle, PostgreSQL og SQLite-databaser fra en enkelt applikasjon samtidig.
Oracle SQL-utvikler — Oracle SQL Developer er et gratis, integrert utviklingsmiljø som forenkler utviklingen og administrasjonen av Oracle Database i både tradisjonelle og sky-implementeringer.
pgAdmin — Den mest populære og funksjonsrike Open Source-administrasjons- og utviklingsplattformen for PostgreSQL, den mest avanserte Open Source-databasen i verden.
PL / SQL-utvikler — IDE som er spesielt rettet mot utvikling av lagrede programenheter for Oracle-databaser.
PostgreSQL Maestro — Komplett og kraftig databaseadministrasjon, admin og utviklingsverktøy for PostgreSQL.
Padde — Toad er den fremste databaseløsningen for utviklere, administratorer og dataanalytikere. Administrer komplekse databaseendringer med ett enkelt databaseadministrasjonsverktøy.
Paddekant — Forenklet databaseutviklingsverktøy for MySQL og Postgres.
TOra — TOra er en åpen kildekode SQL IDE for Oracle, MySQL og PostgreSQL dbs.
Valentina Studio — Opprett, administrer, forespør og utforsk Valentina DB, MySQL, MariaDB, PostgreSQL og SQLite-databaser GRATIS.
GUI-ledere/klienter
admin — Databaseadministrasjon i én enkelt PHP-fil.
DbVisualizer — Universelt databaseverktøy for utviklere, DBAer og analytikere.
HouseOps — Enterprise ClickHouse Ops UI for å kjøre spørringer, overvåke ClickHouse-helsen og få mange andre til å tenke.
JackDB — Direkte SQL-tilgang til alle dataene dine, uansett hvor de bor.
Robo 3T — Robo 3T (tidligere Robomongo) er et skallsentrisk MongoDB-administrasjonsverktøy på tvers av plattformer.
Oppfølger Pro — Sequel Pro er en rask, brukervennlig Mac-databasebehandlingsapplikasjon for å jobbe med MySQL- og MariaDB-databaser.
SQL Operations Studio — Et dataadministrasjonsverktøy som gjør det mulig å jobbe med SQL Server, Azure SQL DB og SQL DW fra Windows, macOS og Linux.
SQLite-ekspert — Grafisk grensesnitt støtter alle SQLite-funksjoner.
sqlpad — Nettbasert SQL-editor kjøres i din egen private sky.
SQLPro — En enkel, kraftig Postgres-behandler for macOS.
Ekorn — Grafisk SQL-klient skrevet i Java som lar deg se strukturen til en JDBC-kompatibel database, bla gjennom dataene i tabeller, utstede SQL-kommandoer osv.
sqlcl — Oracle SQL Developer Command Line (SQLcl) er et gratis kommandolinjegrensesnitt for Oracle Database.
usql — Et universelt kommandolinjegrensesnitt for PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, og mange andre databaser inkludert NoSQL og ikke-relasjonelle databaser!
dbcli
athenacl — AthenaCLI er et CLI-verktøy for AWS Athena-tjenesten som kan gjøre autofullføring og syntaksutheving.
litecli - CLI for SQLite-databaser med autofullføring og syntaksutheving.
mssql-cli — En kommandolinjeklient for SQL Server med autofullføring og syntaksutheving.
mycli — En terminalklient for MySQL med autofullføring og syntaksutheving.
pgcli - Postgres CLI med autofullføring og syntaksutheving.
vcli — Vertica CLI med autofullføring og syntaksutheving.
DB-skjemanavigasjon og visualisering
dbdiagram.io — Rask og enkelt verktøy for å hjelpe deg med å tegne databaserelasjonsdiagrammer og flyte raskt ved hjelp av enkelt DSL-språk.
ERalkymi — Genereringsverktøy for enhetsrelasjonsdiagrammer.
SchemaCrawler — Et gratis verktøy for oppdagelse og forståelse av databaseskjemaer.
Skjemaspion — Generering av databasen til HTML-dokumentasjon, inkludert Entity Relationship-diagrammer.
tbls — CI-vennlig verktøy for å dokumentere en database, skrevet i Go.
Modellarbeidere
Navicat Data Modeler — Et kraftig og kostnadseffektivt databasedesignverktøy som hjelper deg med å bygge konseptuelle, logiske og fysiske datamodeller av høy kvalitet.
Oracle SQL Developer Data Modeler — Oracle SQL Developer Data Modeler er et gratis grafisk verktøy som øker produktiviteten og forenkler datamodelleringsoppgaver.
pgmodeller — Datamodelleringsverktøy designet for PostgreSQL.
Migrasjonsverktøy
2 bass — Databasekonfigurasjon-som-kode-verktøy som bruker konseptet med idempotente DDL-skript.
liquibase — Databaseuavhengig bibliotek for sporing, administrasjon og bruk av databaseskjemaendringer.
migrene — Som forskjell, men for PostgreSQL-skjemaer.
node-pg-migrer — Node.js-databasemigreringsadministrasjon bygget eksklusivt for postgres. (Men kan også brukes for andre DB-er som samsvarer med SQL-standarden - f.eks. CockroachDB.)
Pyrseas — Gir verktøy for å beskrive et PostgreSQL-databaseskjema som YAML.
SchemaHero — En Kubernetes-operator for deklarativ administrasjon av databaseskjemaer (gitops for databaseskjemaer).
Sqitch — Fornuftig databasebasert endringsadministrasjon for rammefri utvikling og pålitelig distribusjon.
yuniql — Nok et skjemaversjons- og migreringsverktøy nettopp laget med native .NET Core 3.0+ og forhåpentligvis bedre.
Kodegenereringsverktøy
ddl-generator — Utleder SQL DDL (Data Definition Language) fra tabelldata.
skjema2ddl — Kommandolinjeverktøy for eksport av Oracle-skjema til sett med ddl init-skript med evne til å filtrere uønsket informasjon, skille DDL i forskjellige filer, utdata i pen format.
pakkere
Drømmefabrikk — En åpen kildekode REST API-backend for mobil-, nett- og IoT-applikasjoner.
Hasura GraphQL-motor — Lynraske, umiddelbare GraphQL API-er i sanntid på Postgres med finmasket tilgangskontroll, utløser også webhooks på databasehendelser.
mysql_fdw — PostgreSQL utenlandsk datainnpakning for MySQL.
Oracle REST-datatjenester — En mid-tier Java-applikasjon, ORDS kartlegger HTTP(S) verb (GET, POST, PUT, DELETE, etc.) til databasetransaksjoner og returnerer alle resultater formatert med JSON.
prisme — Prisma gjør databasen din om til en sanntids GraphQL API.
PostGREST - REST API for enhver Postgres-database.
prest — Er en måte å betjene en RESTful API fra alle databaser skrevet i Go.
restSQL — SQL-generator med Java og HTTP APIer, bruker en enkel RESTful HTTP API med XML- eller JSON-serialisering.
gjenopprette — Konverter enkelt SQL-databasen din til et REST API.
sandmann 2 — Generer automatisk en RESTful API-tjeneste for din eldre database.
sql-boot — Avansert REST og UI-omslag for SQL-spørringene dine.
BaRMan — Backup and Recovery Manager for PostgreSQL.
Replikering/dataoperasjon
Datasett — Et verktøy for å utforske og publisere data.
dtle — Distribuert dataoverføringstjeneste for MySQL.
pgsync - Synkroniser Postgres-data mellom databaser.
pg_kameleon — MySQL til PostgreSQL replikasystem skrevet i Python 3. Systemet bruker biblioteket mysql-replikering for å trekke radbildene fra MySQL som er lagret i PostgreSQL som JSONB.
PGDeltaStream — En Golang-nettserver for å streame Postgres-endringer minst én gang over websockets, ved å bruke Postgres logiske dekodingsfunksjon.
repmgr — Den mest populære replikeringsbehandleren for PostgreSQL.
scripts
pgx_scripts — En samling nyttige små skript for databaseanalyse og administrasjon, laget av teamet vårt hos PostgreSQL Experts.
pgsql-bloat-estimation — Spørsmål for å måle statistisk oppblåsthet i indekser og tabeller for PostgreSQL.
TPT — Disse sqlplus-skriptene er for Oracle Database-ytelsesoptimalisering og feilsøking.
Overvåking/Statistikk/Ytelse
ASH Viewer — Gir en grafisk visning av aktive sesjonshistorikkdata i Oracle og PostgreSQL DB.
Monyog — Agentløst og kostnadseffektivt MySQL-overvåkingsverktøy.
mssql-overvåking — Overvåk SQL Server på Linux-ytelse ved å bruke collectd, InfluxDB og Grafana.
Navicat Monitor — Et trygt, enkelt og agentløst eksternt overvåkingsverktøy som er fullpakket med kraftige funksjoner for å gjøre overvåkingen din så effektiv som mulig.
Orabbix — Orabbix er en plugin utviklet for å fungere med Zabbix Enterprise Monitor for å gi flerlags overvåking, ytelses- og tilgjengelighetsrapportering og måling for Oracle-databaser, sammen med tjenerytelsesmålinger.
pg_monz — Dette er Zabbix-overvåkingsmalen for PostgreSQL-databasen.
Pyora — Python-skript for å overvåke Oracle-databaser.
ZabbixDBA - ZabbixDBA er rask, fleksibel og kontinuerlig utviklende plugin for å overvåke RDBMS.
Testing
DbFit — Et rammeverk for databasetesting som støtter enkel testdrevet utvikling av databasekoden din.
RegreSQL — Regresjonstesting av SQL-spørringene dine.
Datagenerator
Databene Benerator — Det er et rammeverk for å generere realistiske og gyldige testdata for høyt volum for systemet ditt som testes (unngå Datalite-antimønsteret).
postgresqltuner.pl — Enkelt skript for å analysere PostgreSQL-databasekonfigurasjonen og gi råd om justering.
DevOps
DBmaestro — DBmaestro akselererer utgivelsessykluser og støtter smidighet på tvers av hele IT-økosystemet.
Toad DevOps Toolkit — Toad DevOps Toolkit utfører viktige databaseutviklingsfunksjoner i DevOps-arbeidsflyten din – uten at det går på bekostning av kvalitet, ytelse eller pålitelighet.
Hvis du har funn for databasen, del gjerne. Jeg vil også gjerne motta tilbakemeldinger - PR og stjerner. Hvis du har spørsmål om å lage dine egne ark, skriv dem også.