


Prinzipien und Wege für exzellente Programmierer, über neue Technologien nachzudenken und sie zu erlernen
Kürzlich habe ich unter anderem mehrere MVCPHPFrameworks kennengelernt welche zwei unternehmensintern sind. Ich habe festgestellt, dass diese Dinge ähnlich sind, von der Verarbeitungslogik bis zum Seitenrendering; vom Service bis zum Layout; mehr als XML oder Annotation... Ich habe das Gefühl, dass ich aus diesem Denkkreis vielleicht nicht mehr herauskomme ?
Die heutige Ära ist eine Ära aufregender Konzepte in oschina. Welche Technologie ist es wert, gelernt zu werden? ?
Ein Freund sagte, dass er aus Interesse einige Entwicklungstechniken auf Android erlernen wollte. Ein paar Monate sind vergangen und er sagte, dass er viele kleine Programme erstellen konnte. Aber jetzt, wo er darüber nachdenkt, ist es gut, eine Technologie zu beherrschen, aber was gibt es außer seinem Interesse noch? Er sagte: „Wenn ich die Android-Plattform nicht bei meiner Arbeit verwende, welchen Sinn hat es dann, sie zu lernen?“
Ist Lerntechnologie eine interessante oder eine schmerzhafte Sache? Als ich studierte, kaufte ich einmal „Learning in Simple Language MFC “, übersetzt von Hou Jie. Es schien mir damals etwas zu schwierig, also zwang ich mich zum Lesen Erstens fehlt mir wirklich die Willenskraft, weiterzulesen. Ich konnte keine Freude darin entdecken und das Buch wirkte damals voller Rohheit.
Es gibt zu viele Geschichten wie die oben genannten. Oftmals lernen Programmierer (einschließlich mir) hart, aber einige haben keine guten Ergebnisse, andere sind voller Schmerzen und einige wissen nicht einmal, was ich gelernt habe der Zweck.
Das inländische Bildungssystem hat eine solche Gruppe von Menschen hervorgebracht:
Sie sind fleißig und unternehmungslustig, lieben Technologie, sind bereit, in die Softwarebranche einzusteigen und sind bereit, qualitativ hochwertigen Code zu schreiben. Sie sind sehr an Dingen in der Branche interessiert und bereit, solide Grundkenntnisse zu erlernen. Sie sind begierig auf heiße neue Technologien...
Einige Jahre später verfügen sie über eine umfassende Vision, umfangreiche Erfahrung, erfahrene, scharfsinnige Worte und ein gutes Verständnis für Branchentrends. Offensichtlich sind sie Branchenexperten.
Allerdings...
Ihnen fehlt eine solche Fähigkeit – das Denken.
Mangelndes Denken kann leicht zu diesem Phänomen führen:
Kann kein Design machen
Wenn Sie auf ein Problem stoßen, wenden Sie vertraute Frameworks, Lösungen und Modelle an, die Sie gesehen und gelernt haben, ohne die Vor- und Nachteile sorgfältig zu analysieren, und versuchen einfach, so weit wie möglich die Lösung zu finden, die dem aktuellen Problem am nächsten kommt.
Manche Leute wissen nicht, wie man Systemdesign macht. Ich habe mit einigen sogenannten „Architekten“ Kontakt aufgenommen, die „nur etwas vom Geschäft verstehen, aber nichts von der Technologie verstehen.“ Das so konzipierte System kann nur funktionale Anforderungen erfüllen und die Diskussionsthemen einiger spezifischer Themen im Forum offenbaren einige zugrunde liegende Probleme. Der Kommentator spricht „nur über Technologie, nicht über Geschäft“, wie „XXXLösung mit großer Kapazität“ und „Die ultimative Architektur des Flash-Sale-Systems“, in einem Versuchen Sie, eine bestimmte allgemeine Art von Problem zu diskutieren und eine universelle Lösung zu finden, die überall funktioniert.
Es gibt noch mehr Beispiele, die nicht wissen, wie man objektorientiertes Design macht und denen die Fähigkeit zur Abstraktion und Entkopplung fehlt. Ein Freund erzählte mir, dass sein Unternehmen einen alten Mitarbeiter hatte, der Ruby schrieb. Für ein riesiges Projekt gab es nur eine God-Klasse im Code, die alle Probleme löste.
Kann nicht bei deinem eigenen Standpunkt bleiben
Dies lässt sich am einfachsten bei Vorstellungsgesprächen beobachten. Zu den Bewerbern zählen frischgebackene Hochschulabsolventen und erfahrene Praktiker, die seit mehr als 10 Jahren tätig sind. Nachdem er einen groben Plan vorgelegt hat, ist es schwierig, die Vor- und Nachteile zu kommentieren, bevor der Plan bis zu einem gewissen Grad verfeinert ist. Wenn man ihn jedoch vorsichtig herausfordert, gibt er schnell auf seine ursprüngliche Idee und lief zu Ihrer Idee.
Zum Beispiel SNS Wie benachrichtigt der Server den Client über Nachrichten? Es gibt viele Lösungen für dieses Problem, z. B. Client-Abfrage, DienstendehaltenVerbindung drücken, drücken usw., jedes hat seine eigenen Vor- und Nachteile. Kandidaten sollten ihre eigene Meinung haben.
Eine Lösung für ein Problem kann nicht verfeinert werden
Wie unterscheidet man einen Redner von einem Macher? Der beste Weg ist, ihm eine konkrete Frage zu stellen. Als ich anfing zu arbeiten, bewunderte ich Menschen, die bei Veranstaltungen und Diskussionen lautstark sprachen. Ich fand sie sehr gesprächig. Doch später stellte ich nach und nach fest, dass es zu viele Menschen gibt, die sprechen können. Die Verfeinerung des Designs, bis hin zur Codierung, ist der wahre Test eines Programmierers. Wenn Sie natürlich der Meinung sind, dass Leute, die Software entwerfen, nicht mit Codierung vertraut sein müssen und Architekten nicht zuerst erfahrene Programmierer sein müssen, dann haben wir nichts, worüber wir reden können :).
Wenn Sie lernen können, können Sie sehr schnell wachsen; wenn Sie nicht denken können, werden Sie immer in der Lage sein, hinter anderen zurückzubleiben.
Ich denke, wir sollten mehr über das Erlernen neuer Technologien nachdenken. Verschiedene Menschen haben unterschiedliche Motivationen zum Lernen. Sofern nicht von der Außenwelt erzwungen, lassen sich meine Ansichten zum Erlernen neuer Technologien wie folgt zusammenfassen:
Welches Problem möchte es lösen, die sogenannte Problemdomäne, ist das, was mich interessiert?
Ich habe die zugrunde liegende Implementierung des Betriebssystems nicht untersucht. Es ist nicht so, dass sie keinen Wert hat, aber ich habe kein Interesse daran. Dies ist die Auswirkung der Problemdomäne (aber jetzt, wo ich interessiert bin, möchte ich etwas in diesem Bereich tun).
Was sind die Vorteile gegenüber bisherigen Lösungen und sind diese signifikant?
Das ist Wettbewerb Es gibt keinen Platz für wiederholte Technologien (außer natürlich, wenn Sie Microsoft sind :) ), genau wie bei der gleichen Art von Websites im Internet, werden am Ende nur zwei oder drei konkurrieren. Wie Groovy, ich liebe es, aber mit Scala denke ich, dass vielleicht einer von ihnen sterben wird (GroovyDer Gründer sagte, wenn er früher von Scala gewusst hätte, hätte es kein Groovy Was ist passiert? Für spezifische Berichte suchen Sie bitte seinen Blog auf Google). Gibt es im Hinblick auf die Umsetzung und die Auswirkungen interessante Ideen, von denen es sich zu lernen und über die es sich lohnt nachzudenken?
Dies ist die am schwierigsten zu beantwortende Frage. Nehmen Sie als Beispiel
Node.js, mit dem ich Anfang letzten Jahres Kontakt aufgenommen habe. Es kann das Backend aggregieren (z. B. Portlet und dergleichen) Wenn das Back-End im Front-End platziert wird, behält es nur eine Art von Seitendienst bei – Seitenvorlage und mehrere einfach zu verwaltende API-Schnittstellen, die vereinfacht die Komplexität des Back-End-Systems erheblich und kann den Druck auf das Front-End verteilen, was ich in früheren Jahren nicht gesehen habe. Nachdem ich über diese drei Fragen nachgedacht und sie für wertvoll befunden hatte, begann ich mit dem Lernen. Ansonsten ist es für mich etwas, auf das ich nicht näher eingehen möchte, sondern es nur verstehen möchte.
Zur Art und Weise, neue Technologien zu erlernen, möchte ich Folgendes sagen:
Einstiegspunkt finden
Mir gefallen die Worte auf
BlueDavys Blog sehr gut: „Wenn du die Theorie nicht verstehst, übe sie. Wenn du die Theorie nicht verstehst, wirst du die Theorie lernen.“ Letztendlich ist es am besten, sich an die praktische Übung zu machen, aber wenn Sie es gewohnt sind, mit Texten zu beginnen, in denen Prinzipien vorgestellt werden, ist das vielleicht keine schlechte Wahl. Darüber hinaus wird die Realität einige Einschränkungen aufweisen, beispielsweise beim Verständnis der Cloud-Plattformen mehrerer Internetunternehmen (
AmazonsEC2, M$s Azure usw.), es sei denn, Sie sind Mitarbeiter dieser Unternehmen, ist der Einstieg schwierig . Finden Sie Ihre eigenen Sehenswürdigkeiten
Lernen sollte Spaß machen, und ich glaube nicht, dass es einfach ist, diese neue Technologie zu beherrschen, wenn Ihr Gehirn sie ablehnt. Wenn Sie den interessanten Punkt nicht finden können, können Sie genauso gut auf meinen vorherigen Punkt zurückkommen, ob es sich lohnt, neue Technologien zu erlernen. Warum sollten Sie sich nicht dafür interessieren? Xi'an Softwareschulung
Seien Sie gut im Vergleich
Vergleiche sind eine sehr einfache Denkweise. Womit soll man vergleichen? Vergleichen Sie mit ähnlichen Technologien, vergleichen Sie mit Infrastrukturbeispielen wie Betriebssystemen und Netzwerken und vergleichen Sie schließlich mit Beispielen aus dem Leben (zum Beispiel ist die Implementierung von
JAVANIOein gutes Beispiel). . Kontinuierlich Feedback erhalten
Was ist Feedback? Ein Beispiel für
HelloWorldzu geben, ist ein hervorragendes Feedback; das Verstehen eines bestimmten Implementierungsprinzips, das Nachdenken über andere ähnliche Implementierungen und das Gefühl der Erleuchtung ist auch eine Art Zurückgeben. Während des Lernprozesses führt kontinuierliches Feedback dazu, dass Sie immer wieder Erfolgserlebnisse verspüren, was eine der Motivationen ist, weiterzumachen.
Das Obige hat die Prinzipien und Methoden vorgestellt, mit denen hervorragende Programmierer über neue Technologien nachdenken und diese lernen können. Ich hoffe, dass sie für Freunde, die sich für PHP-Tutorials interessieren, hilfreich sein werden.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In den letzten Tagen hat Ice Universe immer wieder Details zum Galaxy S25 Ultra enthüllt, von dem allgemein angenommen wird, dass es das nächste Flaggschiff-Smartphone von Samsung ist. Der Leaker behauptete unter anderem, Samsung plane nur ein Kamera-Upgrade

OnLeaks hat sich nun mit Android Headlines zusammengetan, um einen ersten Blick auf das Galaxy S25 Ultra zu werfen, nur wenige Tage nach dem gescheiterten Versuch, mehr als 4.000 US-Dollar von seinen X-Followern (ehemals Twitter) zu generieren. Für den Kontext sind die unten eingebetteten Renderbilder h

Neben der Ankündigung zweier neuer Smartphones hat TCL auch ein neues Android-Tablet namens NXTPAPER 14 angekündigt, dessen riesige Bildschirmgröße eines seiner Verkaufsargumente ist. Das NXTPAPER 14 verfügt über Version 3.0 der matten LCD-Panels der Signaturmarke von TCL

Das Vivo Y300 Pro wurde gerade vollständig vorgestellt und ist eines der schlanksten Mittelklasse-Android-Telefone mit einem großen Akku. Genauer gesagt ist das Smartphone nur 7,69 mm dick, verfügt aber über einen 6.500 mAh starken Akku. Dies ist die gleiche Kapazität wie bei der kürzlich eingeführten Version

Samsung hat noch keine Hinweise darauf gegeben, wann es seine Smartphone-Serie Fan Edition (FE) aktualisieren wird. Derzeit ist das Galaxy S23 FE nach wie vor die jüngste Ausgabe des Unternehmens und wurde Anfang Oktober 2023 vorgestellt

In den letzten Tagen hat Ice Universe immer wieder Details zum Galaxy S25 Ultra enthüllt, von dem allgemein angenommen wird, dass es das nächste Flaggschiff-Smartphone von Samsung ist. Der Leaker behauptete unter anderem, Samsung plane nur ein Kamera-Upgrade

Das Redmi Note 14 Pro Plus ist nun offiziell als direkter Nachfolger des letztjährigen Redmi Note 13 Pro Plus (aktuell 375 $ bei Amazon) erhältlich. Wie erwartet steht das Redmi Note 14 Pro Plus neben dem Redmi Note 14 und dem Redmi Note 14 Pro an der Spitze der Redmi Note 14-Serie. Li

Die Schwestermarke von OnePlus, iQOO, hat einen Produktzyklus von 2023 bis 2024, der möglicherweise fast abgeschlossen ist. Dennoch hat die Marke erklärt, dass sie mit ihrer Z9-Serie noch nicht fertig sei. Seine letzte und möglicherweise hochwertigste Turbo+-Variante wurde gerade wie vorhergesagt angekündigt. T
