DIY awesome ark, eller GitHub i stedet for notesblok
Hej, Habr! Sandsynligvis har hver af os en fil, hvor vi gemmer noget nyttigt og interessant for os selv. Nogle links til artikler, bøger, repositories, manualer. Disse kunne være browserbogmærker eller endda bare åbne faner tilbage til senere. Med tiden svulmer alt dette, links stopper med at åbne, og de fleste materialer bliver simpelthen forældede.
Hvad hvis vi deler denne godhed med fællesskabet og poster denne fil på GitHub? Så kan dit arbejde være nyttigt for en anden, og I kan bevare relevansen sammen og tage imod opdateringer fra dem, der ønsker det gennem gode gamle PR'er. Det er præcis, hvad projektet er designet til. Fantastiske lister. Det er inkluderet i TOP 10 GitHub-lagre, har 138K stjerner, og et link til dine værker kan vises lige i dens rod README, hvilket vil tiltrække et stort publikum til dit arbejde. Sandt nok vil dette kræve en lille indsats. Jeg vil gerne dele min oplevelse af sådanne bestræbelser med dig.
Mit navn er Maxim Gramin. Hos CROC laver jeg Java udvikling og database research. I dette indlæg vil jeg fortælle dig, hvad Awesome Lists er, og hvordan du laver din egen officielle fantastiske repo.
Hvad er fantastiske lister
Når jeg skal finde ud af noget ny teknologi eller programmeringssprog, er det første jeg gør at gå her – jeg finder den rigtige sektion, og der er passende ark i den. Og at dømme efter antallet af stjerner og deres konstante vækst, er det ikke kun mig, der gør dette.
Faktisk er dette en almindelig lejlighed readme.md, som bor i en separat depoter, rangerer 8. blandt alle GitHub-depoter og inkluderer links til andre ark dedikeret til ethvert emne. For eksempel kan du i sektionen Programmeringssprog finde ark om Awesome Python og Awesome Go, og Front-End Development har en enorm mængde ressourcer til WEB-udvikling. Og selvfølgelig - afsnit Databaser (Det vender vi tilbage til lidt senere). Og ja, alt dette er ikke begrænset til tekniske emner. For eksempel kan du i sektionerne Underholdning og Spil også finde en masse interessante ting (jeg var personligt glad fantastisk-fantasi).
Hovedtræk er, at alle disse ark ikke vedligeholdes af forfatteren personligt, men af fællesskabet og er kompileret i overensstemmelse med en særlig og meget streng fantastisk manifest. Hvert sådant ark er et uafhængigt fællesskab af specialister, lever sit eget liv og er åbent for dine pull-anmodninger, der vil gøre det endnu bedre. Og alle kan også lave deres eget ark, hvis et emne endnu ikke er blevet dækket.
Forfatteren af idéen og koordinatoren af hele denne virksomhed er den legendariske Sindre Sorhus, første person på GitHub, forfatter mere 1000 npm moduler, og det er ham, der vil modtage dine PR'er.
Sådan kommer du ind på en fantastisk liste
Hvis du pludselig ikke har fundet et passende ark om et emne, der interesserer dig, så er dette det første tegn på, at du skal lave det selv!
Jeg vil fortælle dig ved at bruge eksemplet med mit hjernebarn. Fantastiske databaseværktøjer — Fra projekt til projekt skal jeg arbejde med en række forskellige databaser, og derfor startede jeg en fil, hvor jeg samlede nyttige værktøjer til at arbejde med dem, alle mulige database migrere, IDE'er, admin paneler, overvågningsværktøjer og alle mulige ting, diverse. Værktøjer, som jeg allerede har brugt eller lige planlagde at begynde at bruge. Jeg delte denne fil med kolleger hos CROC og videre. Dette hjalp mange mennesker og var interessant. Som et resultat ønskede jeg mere berømmelse, da jeg en dag bemærkede, at der i Databasesektionen ikke var noget ark om dette emne. Og jeg besluttede at tilføje min der.
Hvad er der brug for for dette?
Vi registrerer en almindelig GitHub-repo med et navn som awesome-whatever. I mit tilfælde var det fantastiske-database-værktøjer
Vi bringer vores ark til det fantastiske format, dette vil hjælpe os generator-fantastisk-liste, som vil generere alle de nødvendige filer i det krævede format
Opsætning af en rigtig CI. fantastisk fnug og travis ci vil hjælpe os med at kontrollere gyldighed vores ark
Vi venter 30 dage
Vi anmelder mindst 2 andres PR'er
Og til sidst laver vi en PR til hovedrepoen, hvor vi tilføjer et link til vores repo. Her skal du læse alt omhyggeligt og omhyggeligt opfylde alle de mange krav til det nye ark og selve PR.
Men der gik lidt tid, jeg samlede endnu mere materiale, arbejdede på fejl og turde andet forsøg.
Men jeg glemte en meget vigtig ting, som forsigtigt blev antydet til mig:
Jeg var ikke særlig forsigtig og tilføjede ikke en enhjørning for at bekræfte, at alle betingelserne var opfyldt
Så gik der lidt mere tid, lidt flere redigeringer baseret på kommentarer og det længe ventede tweetat min PR blev accepteret.
Så jeg blev forfatter til mit første ark, og de begyndte at modtage PR'er fra fællesskabet for at tilføje nye værktøjer. Og mange af dem er allerede inkluderet i Fantastiske databaseværktøjer. Hvis du er for doven til at følge linket,
her er det aktuelle udvalg på tidspunktet for offentliggørelsen af indlægget
Fantastiske databaseværktøjer
Fællesskabsdrevet liste over databaseværktøjer
Her vil vi indsamle information om fantastiske nyttige og fantastiske eksperimentelle værktøjer, der forenkler med databaser til DBA, DevOps, udviklere og mere dødelige.
Tilføj gerne information om dine egne db-værktøjer eller dine foretrukne tredjeparts db-værktøjer.
dbForge Studio til SQL Server — Kraftfuldt integreret udviklingsmiljø til SQL Server-udvikling, administration, administration, dataanalyse og rapportering.
dbKoda — Moderne (JavaScript/Electron framework), open source IDE til MongoDB. Det har funktioner til at understøtte udvikling, administration og ydelsesjustering på MongoDB-databaser.
IBExpert — Omfattende GUI-værktøj til Firebird og InterBase.
HeidiSQL — En letvægtsklient til styring af MySQL, MSSQL og PostgreSQL, skrevet i Delphi.
mysql arbejdsbord — MySQL Workbench er et samlet visuelt værktøj til databasearkitekter, udviklere og DBA'er.
Navicat — Et databaseudviklingsværktøj, der giver dig mulighed for samtidig at oprette forbindelse til MySQL, MariaDB, SQL Server, Oracle, PostgreSQL og SQLite-databaser fra en enkelt applikation.
Oracle SQL Udvikler — Oracle SQL Developer er et gratis, integreret udviklingsmiljø, der forenkler udviklingen og administrationen af Oracle Database i både traditionelle og cloud-implementeringer.
pgAdmin — Den mest populære og funktionsrige Open Source-administrations- og udviklingsplatform for PostgreSQL, den mest avancerede Open Source-database i verden.
PL / SQL Developer — IDE, der er specifikt rettet mod udvikling af lagrede programenheder til Oracle-databaser.
PostgreSQL Maestro — Komplet og kraftfuldt databasestyrings-, admin- og udviklingsværktøj til PostgreSQL.
Tudse — Toad er den førende databaseløsning for udviklere, administratorer og dataanalytikere. Administrer komplekse databaseændringer med et enkelt databasestyringsværktøj.
Toad Edge — Forenklet databaseudviklingsværktøj til MySQL og Postgres.
TOra — TOra er en open source SQL IDE til Oracle, MySQL og PostgreSQL dbs.
Valentina Studio — Opret, administrer, forespørg og udforsk Valentina DB, MySQL, MariaDB, PostgreSQL og SQLite databaser GRATIS.
Robo 3T — Robo 3T (tidligere Robomongo) er et skal-centreret MongoDB-styringsværktøj på tværs af platforme.
Efterfølger Pro — Sequel Pro er en hurtig, brugervenlig Mac-databasestyringsapplikation til at arbejde med MySQL- og MariaDB-databaser.
SQL Operations Studio — Et datastyringsværktøj, der gør det muligt at arbejde med SQL Server, Azure SQL DB og SQL DW fra Windows, macOS og Linux.
SQLite-ekspert — Grafisk grænseflade understøtter alle SQLite-funktioner.
sqlpad — Web-baseret SQL-editor køres i din egen private sky.
SQLPro — En enkel, kraftfuld Postgres-manager til macOS.
Egern — Grafisk SQL-klient skrevet i Java, der giver dig mulighed for at se strukturen af en JDBC-kompatibel database, gennemse data i tabeller, udstede SQL-kommandoer osv.
sqlcl — Oracle SQL Developer Command Line (SQLcl) er en gratis kommandolinjegrænseflade til Oracle Database.
usql — En universel kommandolinjegrænseflade til PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, og mange andre databaser inklusive NoSQL og ikke-relationelle databaser!
dbcli
athenacl — AthenaCLI er et CLI-værktøj til AWS Athena-tjeneste, der kan udføre autofuldførelse og syntaksfremhævning.
litecli - CLI til SQLite-databaser med autofuldførelse og syntaksfremhævning.
mssql-cli — En kommandolinjeklient til SQL Server med autofuldførelse og syntaksfremhævning.
mycli — En terminalklient til MySQL med autofuldførelse og syntaksfremhævning.
pgcli - Postgres CLI med autofuldførelse og syntaksfremhævning.
vcli — Vertica CLI med autofuldførelse og syntaksfremhævning.
DB-skema navigation og visualisering
dbdiagram.io — Hurtigt og enkelt værktøj til at hjælpe dig med at tegne dine databaserelationsdiagrammer og flow hurtigt ved hjælp af simpelt DSL-sprog.
ERalkymi — Genereringsværktøj til entitetsrelationsdiagrammer.
SchemaCrawler — Et gratis værktøj til opdagelse og forståelse af databaseskemaer.
Skema Spy — Generering af din database til HTML-dokumentation, inklusive Entity Relationship-diagrammer.
tbls — CI-venligt værktøj til at dokumentere en database, skrevet i Go.
Modelbyggere
Navicat Data Modeler — Et kraftfuldt og omkostningseffektivt databasedesignværktøj, som hjælper dig med at bygge konceptuelle, logiske og fysiske datamodeller af høj kvalitet.
Oracle SQL Developer Data Modeler — Oracle SQL Developer Data Modeler er et gratis grafisk værktøj, der øger produktiviteten og forenkler datamodelleringsopgaver.
pgmodeler — Datamodelleringsværktøj designet til PostgreSQL.
Migrationsværktøjer
2 bas — Databasekonfiguration-som-kode-værktøj, der bruger konceptet med idempotente DDL-scripts.
liquibase — Database-uafhængigt bibliotek til sporing, styring og anvendelse af databaseskemaændringer.
migrerer — Ligesom diff men for PostgreSQL-skemaer.
node-pg-migrer — Node.js-databasemigreringsstyring bygget eksklusivt til postgres. (Men kan også bruges til andre DB'er, der overholder SQL-standarden - f.eks. CockroachDB.)
Pyrseas — Giver værktøjer til at beskrive et PostgreSQL-databaseskema som YAML.
SchemaHero — En Kubernetes-operator til deklarativ databaseskemastyring (gitops til databaseskemaer).
Sqitch — Fornuftig databaseindbygget ændringsstyring til rammefri udvikling og pålidelig implementering.
yuniql — Endnu et skemaversionerings- og migreringsværktøj lige lavet med indbygget .NET Core 3.0+ og forhåbentlig bedre.
Kodegenereringsværktøjer
ddl-generator — Udleder SQL DDL (Data Definition Language) fra tabeldata.
skema2ddl — Kommandolinjeværktøj til eksport af Oracle-skema til sæt af ddl init-scripts med mulighed for at filtrere uønsket information, adskille DDL i forskellige filer, smukt format output.
indpakning
Dreamfactory — En open source REST API-backend til mobil-, web- og IoT-applikationer.
Hasura GraphQL Engine — Lynhurtige, øjeblikkelige GraphQL API'er i realtid på Postgres med finkornet adgangskontrol, udløser også webhooks på databasehændelser.
mysql_fdw — PostgreSQL udenlandsk dataindpakning til MySQL.
Oracle REST Data Services — En mid-tier Java-applikation, ORDS kortlægger HTTP(S) verber (GET, POST, PUT, DELETE osv.) til databasetransaktioner og returnerer alle resultater formateret ved hjælp af JSON.
Prisma — Prisma forvandler din database til en GraphQL API i realtid.
PostGREST - REST API til enhver Postgres-database.
Prest — Er en måde at betjene en RESTful API fra alle databaser skrevet i Go.
restSQL — SQL-generator med Java og HTTP API'er, bruger en simpel RESTful HTTP API med XML eller JSON serialisering.
genoptage — Konverter nemt din SQL-database til en REST API.
sandman2 — Generer automatisk en RESTful API-tjeneste til din ældre database.
sql-boot — Avanceret REST og UI-indpakning til dine SQL-forespørgsler.
BaRMan — Backup and Recovery Manager til PostgreSQL.
Replikering/Data operation
Datasæt — Et værktøj til at udforske og offentliggøre data.
dtle — Distribueret dataoverførselstjeneste til MySQL.
pgsync - Synkroniser Postgres-data mellem databaser.
pg_kamæleon — MySQL til PostgreSQL replikasystem skrevet i Python 3. Systemet bruger biblioteket mysql-replikering til at trække rækkebillederne fra MySQL, som er gemt i PostgreSQL som JSONB.
PGDeltaStream — En Golang-webserver til at streame Postgres-ændringer mindst én gang over websockets ved hjælp af Postgres logiske afkodningsfunktion.
repmgr — Den mest populære replikeringsmanager til PostgreSQL.
Scripts
pgx_scripts — En samling nyttige små scripts til databaseanalyse og administration, skabt af vores team hos PostgreSQL Experts.
pgsql-bloat-estimation — Forespørgsler til at måle statistisk bloat i indekser og tabeller til PostgreSQL.
TPT — Disse sqlplus-scripts er til Oracle Database-ydeevneoptimering og fejlfinding.
Overvågning/Statistik/Performance
ASH Viewer — Giver en grafisk visning af aktive sessionshistorikdata i Oracle og PostgreSQL DB.
Monyog — Agentfrit og omkostningseffektivt MySQL-overvågningsværktøj.
mssql-overvågning — Overvåg din SQL Server på Linux-ydeevne ved hjælp af collectd, InfluxDB og Grafana.
Navicat skærm — Et sikkert, enkelt og agentløst fjernserverovervågningsværktøj, der er spækket med kraftfulde funktioner for at gøre din overvågning så effektiv som muligt.
Orabbix — Orabbix er et plugin designet til at arbejde sammen med Zabbix Enterprise Monitor for at levere multi-tiered overvågning, ydeevne og tilgængelighedsrapportering og måling for Oracle-databaser sammen med serverydelsesmålinger.
pg_monz — Dette er Zabbix-overvågningsskabelonen til PostgreSQL-databasen.
Pyora — Python-script til at overvåge Oracle-databaser.
ZabbixDBA - ZabbixDBA er hurtig, fleksibel og konstant udviklende plugin til at overvåge dit RDBMS.
Test
DbFit — En databasetestramme, der understøtter nem testdrevet udvikling af din databasekode.
RegreSQL — Regressionstest af dine SQL-forespørgsler.
Data generator
Databene Benerator — Det er en ramme til generering af realistiske og gyldige testdata i høj volumen for dit system, der testes (undgå Datalite-anti-mønsteret).
StackGres — Enterprise-grade, Full Stack PostgreSQL på Kubernetes.
Indstilling af konfiguration
MySQLTuner-perl — Script skrevet i Perl, der giver dig mulighed for hurtigt at gennemgå en MySQL-installation og foretage justeringer for at øge ydeevnen og stabiliteten.
PGConfigurator — Gratis onlineværktøj til at generere en optimeret postgresql.conf.
postgresqltuner.pl — Simpelt script til at analysere din PostgreSQL-databasekonfiguration og give råd om tuning.
DevOps
DBmaestro — DBmaestro accelererer udgivelsescyklusser og understøtter smidighed på tværs af hele it-økosystemet.
Toad DevOps Toolkit — Toad DevOps Toolkit udfører vigtige databaseudviklingsfunktioner i dit DevOps-workflow - uden at gå på kompromis med kvalitet, ydeevne eller pålidelighed.
poli — En brugervenlig SQL-rapporteringsapplikation bygget til SQL-elskere.
Fordelinger
DBdeployer — Værktøj, der nemt implementerer MySQL-databaseservere.
dbatools — PowerShell-modul, som du måske tænker på som et kommandolinje SQL Server Management Studio.
Postgres.app — Fuldstændig PostgreSQL-installation pakket som en standard Mac-app.
BigSQL — En udviklervenlig distribution af Postgres.
Elefantskur — Web-baseret PostgreSQL-administrationsfront-end, der samler flere hjælpeprogrammer og applikationer til brug med PostgreSQL.
Sikkerhed
Acra — Databasesikkerhedspakke. Databaseproxy med kryptering på feltniveau, søgning gennem krypterede data, forebyggelse af SQL-injektioner, indtrængningsdetektion, honeypots. Understøtter klientside og proxy-side ("gennemsigtig") kryptering. SQL, NoSQL.
Kodeformatere
CodeBuff — Sprogagnostisk smuk-print gennem maskinlæring.
Hvis du har nogle fund til databasen, så del gerne. Jeg vil også være glad for at modtage feedback - PR'er og stjerner. Hvis du har spørgsmål om at lave dine egne ark, så skriv dem også.