So steigern Sie Ihre Karriere mit GitHub

GitHub ist die größte Bibliothek, die von Entwicklern für Entwickler erstellt wurde. Der Hauptcharme des Hostings liegt in seiner Ideologie: Geben ist so einfach wie Empfangen. Hier finden Sie eine Vielzahl von IT-Projekten, sowohl rechtliche als auch nicht ganz. Mit Offenheit stöbert jemand aus egoistischen Gründen in der Quelle - um dann seine Schwachstellen für banale Erpressung zu nutzen, und jemand mit Hilfe von Repositories pumpt seine beruflichen Fähigkeiten. Mal sehen, wie man nicht in Millionen von Quellen gräbt und welche Vorteile man bekommen kann.

Die Tatsache, dass Wissen nicht nur zu einem engen Kreis der Auserwählten gehört, wird auch von transnationalen Unternehmen anerkannt. Auf der Grundlage eines Quellcodes entstehen mehrere neue - so entwickeln sich Technologien, die schließlich von der ganzen Welt genutzt werden. Giganten wie Apple, Google, Facebook, Microsoft haben ihre Repositories auf GitHub veröffentlicht und aktualisieren diese ständig. Nun, selbst wenn das US-Verteidigungsministerium einen Speicher auf dem Hosting https://github.com/Code-dot-mil/code.mil mit dem Slogan "Helfen Sie uns, besser zu werden" startet. Und jede neue vorgeschlagene nützliche Lösung ist eine weitere Lektion, die Sie in der Karriere eines Entwicklers gelernt haben.

Das Format von Open-Source-Projekten ist insofern gut, als es den Teilnehmern ermöglicht, auf die gleiche Weise wie in sozialen Netzwerken zu kommunizieren. Denken Sie an das Prinzip des Wettbewerbs! Zum Beispiel veröffentlicht jemand eine Option zum Implementieren einer Idee. Andere Teilnehmer, die interessiert sind oder vorführen möchten, bieten Hacks an. Infolgedessen bietet die Community den Autoren die besten Lösungen.

Um Ihre Fähigkeiten zu üben und zu testen, lohnt es sich daher, regelmäßig Pull-Anfragen - Vorschläge für Codeänderungen - an den Entwickler zu senden, der das von Ihnen gewünschte Repository öffnet. Der Eigentümer kann die Anfrage entweder ablehnen oder annehmen. Dies ist eine Bewertung der durchgeführten Arbeiten. Plus - auf diese Weise ist es möglich zu verstehen, ob das Projekt verbessert werden muss.

Im November 2018 berichtete GitHub, dass die Anzahl der auf dem Hosting erstellten Repositorys 100 Millionen überschritten hat . Um bei dieser Vielfalt nicht verwirrt zu werden und zu lernen, wie Sie die erforderlichen Informationen finden, formulieren Sie zunächst die Abfrage in der Suchleiste präzise. Wenn Sie beispielsweise erfahren möchten, wie Sie das System bei der Entwicklung von Lösungen unabhängiger machen können, schreiben Sie einfach: „Maschinelles Lernen“.

Das Durchsuchen von Repositories lohnt sich auf jeden Fall. Zumindest, um mit den neuesten Trends Schritt zu halten und zu verstehen, warum diese oder andere Bibliotheken oder Ansätze immer beliebter werden. Es ist klar, dass jede Spezialisierung ein separates Wissensklondike ist. Es gibt jedoch Abschnitte, auf die jeder Entwickler achten sollte. Ganz oben stehen jetzt Front-End- und Back-End-JavaScript, die Erstellung von Software für maschinelles Lernen und mobile Anwendungen. Zu den besten Open-Source-Projekten - an denen die meisten Entwickler teilnehmen - gehört das Leben des Programmierers durch Bearbeiten von Code, Automatisierung, Containerisierung oder Dokumentation. Darunter befinden sich Visual Studio Code (19.000 Mitwirkende), React Native (10.000) und TensorFlow (9,3.000).

Auf GitHub finden Sie interessante oder eher schöne Implementierungen kryptografischer Lösungen. Darüber hinaus hilft das Hosting dabei, die Arbeit mit Solidity zu verstehen. Benutzerhandbücher und eine detaillierte Dokumentation dieser Sprache sind auch in russischer Sprache verfügbar . Außerdem war es hilfreich, sich mit Beispielen für intelligente Verträge vertraut zu machen, um zu verstehen, wie es in der Praxis aussieht. Wenn Sie Ihren Kollegen etwas „angeschaut“ und von mehreren Projekten inspiriert haben, wird Ihr Gehirn wahrscheinlich in der Lage sein, seine eigene ursprüngliche Idee hervorzubringen.

HackerU-Schullehrer haben Quellcodes ausgewählt, deren Studium sich positiv auf Ihr Karma auswirkt:
https://github.com/infoslack/awesome-web-hacking - Dieses Repository ist für diejenigen gedacht, die die Websicherheit verstehen möchten, aber nicht wissen, wo sie anfangen sollen. Hier finden Sie nicht nur Links zu Dokumentationen, Labors und Büchern zum Thema, sondern auch eine Reihe anständiger Tools: Methoden zur Anwendungsprüfung, Pentester und Schwachstellenscanner. Das Material führt Sie in gängige Arten von Angriffen auf Websysteme ein, z. B. XSS, SQL-Injection und DNS-Spoofing.

https://github.com/FabioBaroni/awesome-exploit-development/blob/master/README.md - Bibliothek für die Exploit-Entwicklung. Die gesammelten Ressourcen enthalten eine Analyse der binären Schwachstellen sowie Tipps, wie Sie Schwachstellen in der Software finden und den Code sicherer machen können. Zum Beispiel, um einen Albtraum für jeden Programmierer zu vermeiden - Pufferüberlauf. Unentbehrliches Material für Sicherheitsexperten. Um eine uneinnehmbare Mauer zu bauen, müssen Sie wissen, welche Lücken die Angreifer zuvor benutzt haben.

https://github.com/nebgnahz/awesome-iot-hacks - Tatsächlich handelt es sich um eine Sammlung von Hacks über alles, was unter die Definition von „Internet der Dinge“ fällt. Geschichten darüber, wie einfach es ist, fast alles in der modernen Welt zu knacken: von einem Armband und einem tragbaren Lautsprecher bis zu einem Auto und einem „Smart Home“. Hier finden Sie Beschreibungen von Bluetooth-Angriffen, die nur aufgrund der zunehmenden Beliebtheit tragbarer IoT-Geräte weit verbreitet sind. Für die Fans solcher Geräte können Hacker damit übrigens gute Dossiers über Eigentümer sammeln. Die Autoren des Repositorys hoffen, dass es dem Guten dienen wird, und Hersteller von Geräten, die sich mit dem Material vertraut gemacht haben, werden beginnen, Schwachstellen zu beseitigen.

https://github.com/sobolevn/awesome-cryptography - Eine Auswahl von Ressourcen für die Arbeit mit Kryptografie und die Organisation von Anwendungen. Unverzichtbar für diejenigen, die ständig mit verschiedenen Programmiersprachen arbeiten. In Blogs, Studien, Leitfäden und Anweisungen erfahren Sie, wie Sie den Zugriff auf Ihre eigenen Ressourcen ordnungsgemäß aufbauen und die Kunst des Schreibens der ursprünglichen Verschlüsselungslogik in Projekten vermitteln. Es ist nützlich, Lesezeichen zu setzen und sich vertraut zu machen, auch wenn dies nicht gerade Ihre Spezialität ist. Kenntnisse der Grundlagen der Kryptographie sind für niemanden überflüssig.

Übrigens wird das Reisen durch die Repositories auf GitHub nicht nur für „Fans“ und Anfänger interessant und aufregend sein. Es ist bekannt, dass Kinder neue Informationen auf spielerische Weise besser aufnehmen. Ich denke, dass Entwickler keine Ausnahme sind. Ein Beweis dafür ist diese Suche nach JavaScript - https://alexnisnevich.imtqy.com/untrusted/ - im Format eines Videospiels.

Das Profil und die Aktivität des Entwicklers auf GitHub sind heute die visuellste Zusammenfassung. In 90 Prozent der Fälle sehen sich potenzielle Arbeitgeber Ihre Stars und die Anzahl der Follower auf dem Hosting an. Es gab Fälle, in denen Programmierern aufgrund einer leeren Seite auf GitHub die Teilnahme am Hackathon verweigert wurde.

Betrachten Sie diesen Server jedoch nicht als heilige Kuh. Nachdem Microsoft den Dienst im Juli gekauft hatte, übertrugen Zehntausende besonders abergläubischer Entwickler Projekte auf andere Hosting-Dienste: GitLab, BitBucket, SourceForge und andere.

Source: https://habr.com/ru/post/de432180/


All Articles