Den logischen Sprung vom absoluten Anfänger zum Entwickler machen?

12

Ich programmiere seit ein paar Jahren sehr leicht und mache keine großen Fortschritte. Es ist etwas, das mich definitiv interessiert, aber ich bin einfach nicht motiviert worden. Dann denke ich, ich habe herausgefunden, was mich umbringt. In all den Büchern, die ich gelesen habe, und in allen Screencasts, die ich mir angesehen habe, ist eine wichtige Sache zu kurz gekommen:

Wie gehe ich von print-Anweisungen, Variablen usw. zu komplizierteren Aufgaben über?

Nehmen wir zum Beispiel eine Site wie Posterous. Für diejenigen, die es nicht wissen, ist es eine Blogging-Plattform, die Blog-Posts per E-Mail akzeptiert. Der Autor des Blogs hat eine spezielle @ posterous.com-E-Mail, an die er Blog-Beiträge sendet. Diese werden automatisch formatiert und veröffentlicht.

Wie würde ein Entwickler seine Toolbox mit Funktionen und Anweisungen nutzen, um so etwas im Backend zu erreichen?

Es tut mir leid, wenn diese Frage sehr weit gefasst ist. Sie hat mich nur frustriert. Ich habe das Gefühl, ein gutes Verständnis für grundlegende Konzepte zu haben, aber keine Ahnung, wie ich etwas tun soll .

Blair Beckwith
quelle
Sie würden die E-Mail analysieren und die Kodierung beibehalten und den Text in eine Datenbank einfügen. Dann ist es ganz einfach, alle Beiträge auszuwählen und auf einer bestimmten Seite anzuzeigen. Um Ihre eigenen mangelnden Programmierfähigkeiten zu erklären, können Sie dies verbessern, indem Sie einfach mehr tun.
Ramhound
So viele tolle Antworten, Jungs. Es wird jetzt alles ein bisschen klarer. Vielen Dank an alle!
Blair Beckmit

Antworten:

12

Der Schlüssel besteht darin, die Aufgabe in einzelne Schritte zu unterteilen, die Sie ausführen können (oder die Sie ausführen können). Was Sie wissen, wie es geht, hängt von Ihrer Erfahrung ab.

Nehmen wir Ihr Beispiel für Posterous-E-Mails:

Anforderungen: Akzeptieren Sie @ posterous.com-E-Mails, formatieren Sie sie und veröffentlichen Sie sie auf der Website.

Aufgabe 1) Akzeptieren Sie die E-Mail.

Die E-Mails müssen höchstwahrscheinlich von einem Mailserver abgerufen werden. Sie müssen die API-Aufrufe untersuchen, um die E-Mails von Ihrem bestimmten Mail-Server abzurufen. Sie müssen auch herausfinden, wie Sie den Inhalt aus dem Hauptteil der E-Mail extrahieren (wahrscheinlich ein weiterer API-Aufruf).

Aufgabe 2) Formatieren Sie die E-Mail.

Ab Aufgabe 1 haben Sie den Inhalt wahrscheinlich irgendwo im Speicher. Formatieren Sie dies so, dass es Schritt 3 entspricht ...

Aufgabe 3) Veröffentlichen Sie den Inhalt auf dem Blog.

Wenn Sie diese email2blog-Funktion hinzufügen, verfügen Sie wahrscheinlich bereits über einen Mechanismus zum Posten von Blogposts. Verwenden Sie diesen Mechanismus und ersetzen Sie ihn durch den Inhalt aus Schritt 2, anstatt Eingaben aus einem Textbereich auf Ihrer Website zu akzeptieren.

Wie kommen wir nun aus print-Anweisungen, wenn Anweisungen und Funktionen jede der Aufgaben erfüllen.

Beachten Sie, wie ich in Aufgabe 1 API-Aufrufe zweimal erwähnt habe. API-Aufrufe sind im Wesentlichen Funktionen, die ein anderer Benutzer geschrieben hat, damit Sie deren Funktionalität nutzen können. Wenn Sie wissen, wie man Funktionen aufruft, können Sie nach dem richtigen API-Aufruf suchen, den Sie zum Abrufen von E-Mails vom Mail-Server benötigen.

Ich habe nicht viel über Formatierung gesprochen, aber wenn Sie wissen, wie man Zeichenfolgen manipuliert, wissen Sie, wie man formatiert. Das Formatieren einer HTML-Seite ist eine Übung zum Hinzufügen von Tags wie dem <b>bolded text</b>in Ihrer Zeichenfolge.

In Aufgabe 3 erwähnte ich, dass es eine Art Mechanismus zum Posten von Blogs gab. Wenn es sich um eine vorhandene Blogging-Plattform handelt, sind Sie damit vertraut. Wenn nicht, müssen Sie sich mit HTTP Post und anderen mit dem Webframework zusammenhängenden Themen vertraut machen.

Wenn Sie nach all dem noch keine Ahnung haben, wovon ich spreche, dann hoffe ich, dass ich Sie davon überzeugt habe, dass es keinen Ersatz für Erfahrung gibt. Also geh einfach raus und baue etwas! Machen Sie sich nicht zu viele Sorgen, weil jeder Entwickler einmal ein Noob war.

Steve
quelle
5

Die Hauptsache ist, etwas zu finden, das Sie tun möchten, und es zu tun .

So begannen die meisten großen Unternehmen.

  • Google? Brin und Page waren begeistert von der Indizierung des Webs.

  • Metafilter? Matt Haughey war begeistert vom Schreiben und Teilen.

  • Twitter? Dorsey hatte eine Leidenschaft für Einfachheit, und einfacher als 140 Charaktere kann man nicht sein.

  • Paketüberfluss? Joel & Crew waren begeistert von Antworten.

Sprachen wie PHP, Perl, Python und Ruby wurden alle auf die gleiche Weise entworfen. GNU / Linux auch. Jemand hatte einen Kratzer und fing an, diesen Kratzer zu jucken, und dann gab er seine Werkzeuge für den allgemeinen Gebrauch frei.

Schauen Sie sich also um und entscheiden Sie, wo sich Ihr Juckreiz befindet. Schreiben Sie dann ein Programm, mit dem Sie diesen Juckreiz beseitigen können. Vielleicht spielst du gerne Spiele, um ein paar Spiele zu schreiben. Möglicherweise haben Sie ein Problem mit den ID3-Tags in Ihrer MP3-Sammlung und müssen dieses Problem beheben. Oder Sie interessieren sich für Familiengeschichte und möchten im Web nach Verweisen auf Personen oder Orte in Ihrer Geschichte suchen. Oder vielleicht möchten Sie irgendwie mit der realen Welt interagieren. Oder vielleicht möchten Sie FLOS Software entwickeln - werfen Sie einen Blick auf GitHub, Gitorious und Sourceforge.

Finden Sie etwas, für das Sie eine Leidenschaft haben, und beginnen Sie mit dem Programmieren. Bald werden Sie riesige Programme haben, bevor Sie es realisieren. Und deshalb ist eine Art Planung eine gute Idee;)

Wayne Werner
quelle
2

Langsam und allmählich.

Normalerweise fängt man bei großen Projekten nicht damit an, nur einen Code einzugeben. Jemand muss irgendwo einen Plan haben. Sie schreiben etwas auf, die Eigenschaften des Systems, das sie wollen. Dann beginnen sie mit der ersten Seite / Fenster / was auch immer. Dann fügen sie eine weitere hinzu. Währenddessen wird langsam Feature für Feature hinzugefügt und Bug für Bug behoben. Es entsteht nicht nur, es muss ein Gesamtbild geben, ein Gesamtdesign.

Um besser zu werden, braucht man Übung! Beginnen Sie mit einem kleinen Projekt. Etwas Einfaches und das interessiert dich auch. Planen Sie, was Sie tun, bevor Sie es tun. Sie werden feststellen, dass es nicht so schwer ist, "tatsächlich etwas zu tun ".

FrustratedWithFormsDesigner
quelle
1

Sie können so viele Screencasts ansehen, so viele Bücher lesen und so viele Tutorials folgen, wie Sie möchten, aber nie das Gefühl haben, irgendwohin zu gehen. Sie müssen etwas herausfinden, das Sie erstellen möchten. Dann zerlegen Sie es und versuchen Sie es zu erstellen. Sie werden auf viele Dinge stoßen, die Sie vielleicht nicht kennen. Aber du recherchierst sie und lernst die komplexeren Aufgaben, während du gehst.

Ryan Matthews
quelle
1

Auch ich bin dieser Herausforderung begegnet und habe im Großen und Ganzen meine Lösung gefunden: Ich brauchte eine externe Quelle, um produktiver zu werden.

Sie können so fasziniert von Technologie sein wie jeder andere, so begeistert von Programmierung wie jeder andere und so intelligent und schnell zu erlernen wie jeder andere, und es wird nur so viel bedeuten, wenn Sie sich die Hände schmutzig machen und Sachen machen. Aber es kann schwierig sein zu wissen, wo man anfangen soll, und selbst wenn man eine Vorstellung davon hat, wo man anfangen soll, kann es schwierig sein, den Ball ins Rollen zu bringen.

Wenn Sie ein guter Selbststarter sind, brauchen Sie wahrscheinlich nur ein paar Ideen. Probieren Sie einige Programmierpuzzles aus oder sehen Sie sich einfache Dienstprogramme an, die Sie regelmäßig verwenden, und fragen Sie sich: "Könnte ich das machen? Wenn ich das täte, was würde ich ändern?"

Es ist wirklich entmutigend, sich vor einen offenen Editor oder ein leeres Blatt Papier zu setzen und zu sagen: "Okay , Denk nach, mach was ! " Fahren Sie von dort aus weiter.

Und wenn Sie feststellen, dass Sie sich keinen Code erstellen können, lassen Sie sich von jemandem einen Job mit einer Frist, Anforderungen und allem geben. Es wird dich in Gang bringen.

asfallows
quelle
1

Die Tatsache, dass Sie Grundkenntnisse haben, ist gut - ich bin selbst kein Profi, aber ich kann verkaufen, was ich mache, also muss ich etwas richtig machen. Ich empfehle, die Grundlagen über Ihre Sprache und die Plattform, für die Sie sich entwickeln (und die Sie anscheinend haben), zu lernen.

Zeichnen Sie zunächst auf, was Sie tun möchten, und machen Sie sich ein Bild davon, wie Sie es tun möchten. Es geht nur darum, bestimmte Dinge auf den Punkt zu bringen, damit Sie sie schneller herausfinden können. Dann nur Google, was Sie in der Sprache tun möchten, die Sie verwenden, wenn Sie nicht weiterkommen - stellen Sie sogar Fragen zu Stack Overflow (ich selbst habe bereits über 70 Fragen gestellt, hehe)!

Persönlich habe ich durch Googeln gelernt, ich habe zuerst nicht einmal die Grundlagen gelernt, was ich hätte tun sollen, aber schon als ich ein paar ziemlich gute Sachen gemacht habe, wusste ich immer noch nicht, was ein "Array" ist. ;)

Jeff
quelle
0

Ich denke, um Ihre Fähigkeiten im Backend von Schnittstellen zu entwickeln, sollten Sie anfangen, Daten zu manipulieren. In den meisten großen Projekten geht es darum, Daten zu verschieben, zu transformieren und anzuzeigen.

Ich weiß, dass ich größere Projekte erst richtig verstanden habe, als ich mich mit verschiedenen Arten des Datenzugriffs und der Dateimanipulation vertraut gemacht habe.

J Lundberg
quelle
0

Sich auf etwas einzulassen, das ein wenig über Ihrem Kopf liegt, und es herauszufinden, kann eine großartige Möglichkeit sein, Ihre Fähigkeiten zu erweitern. Vielleicht möchten Sie einen Blick auf einige der O'Reilly Cookbook-Serien werfen:

http://oreilly.com/store/series/cookbooks.html

Das Format "Problem / Lösung / Diskussion" scheint genau das zu sein, wonach Sie suchen. Sie müssen "Rezepte" codieren, die etwas Interessantes bewirken und darüber diskutieren, wie es funktioniert.

DKnight
quelle
1
Wenn Sie sich für den Kauf entscheiden, suchen Sie sich zunächst einen Gutscheincode: retailmenot.com/view/oreilly.com
DKnight
0

Ich denke, Sie können sich einfach nicht dazu herausfordern, mehr zu tun.

Wenn du wirklich neugierig bist, wie man etwas macht, dann recherchiere es! Wenn Sie wissen möchten, wie Posterous funktioniert, beginnen Sie mit einer kleinen Untersuchung, welche Tools Sie benötigen, und wie Sie Informationen aus einem Textfeld auf eine Website übertragen können. Dann bauen Sie allmählich darauf auf. Die nächste Frage könnte das Einrichten einer E-Mail-Verbindung zu einer Website und einer Datenbank sein.

Sie haben das beste Tool, das Sie jemals brauchen werden, das Internet.

Bryan Harrington
quelle
0

Neben der Unterteilung des Projekts in Aufgaben besteht der Schlüssel darin, die Wiederverwendung von Code zu erlernen. Teilen Sie Ihren Code in Module auf, die Sie in anderen Projekten wiederverwenden können, in denen Sie dasselbe tun müssen.

In diesem Beispielprojekt erledigen Sie wahrscheinlich Datenbankarbeiten zum Speichern der Blog-Posts. Sie können eine Datenbankklasse schreiben, um eine Verbindung zur Datenbank herzustellen, Abfragen durchzuführen, die Ergebnisse abzurufen usw. In allen zukünftigen Projekten können Sie dieselbe Klasse verwenden und problemlos mit der Datenbank arbeiten.

Klicken Sie auf Upvote
quelle