[PYTHON] Ich habe versucht, eine Webanwendung zu entwickeln, und überlegt, wie ich verhindern kann, dass Anfänger krank werden.

§ Qiitas erster Beitrag, schön dich kennenzulernen

Schön, Sie kennenzulernen, alle, die im Qiita-Land leben.

Ich hatte das Gefühl, dass Qiita viele großartige Leute hat, also hatte ich nicht so viel Lust zu posten, aber ich wollte etwas ausgeben, also habe ich beschlossen, es zu posten.

Vielen Dank für Ihre Freundlichkeit.

Eine kleine Selbsteinführung (Sie hat nichts mit dem Titel zu tun, Sie können ihn also überspringen.)

Im Moment (2020/04) gehöre ich zum Department of Information Engineering, einem Studenten im dritten Jahr an einer bestimmten Universität. Bevor ich an die Universität kam, hatte ich die Einstellung "Programmieren, was ist das lecker?". Aber als ich im Unterricht Javas objektorientiertes Programmieren gelernt hatte, denke ich jetzt: "Hey, Programmieren ist ein Schmerz." In der Schule spreche ich oft über Algorithmen, Informationstheorie, Betriebssystem, Computerarchitektur, digitale Schaltungen usw. anstatt über Programmierung, deshalb schreibe ich nicht wirklich viel Code. Code schreiben ist fast mein Hobby. Aus diesem Grund habe ich beschlossen, meine eigene Webentwicklung durchzuführen und mich darin zu schulen, Code zu schreiben.

§ About In diesem Artikel werde ich erklären, welche Schritte ein Anfänger, der neu in der Entwicklung von Webanwendungen ist, unternehmen sollte, um dem gewalttätigen Kopieren und Einfügen und Codieren zu entkommen, während er sich selbst versteht. Es ist eine Sache, über die ich nachgedacht und geschrieben habe.

§ Umgebung

Ich lerne mit Python-basierten Webframeworks (Django, Flask). Die detaillierte Entwicklungsumgebung unten.

§ Meine Lernquelle und ihre Inhalte

Ich werde in der Reihenfolge schreiben, in der ich gelernt habe.

Ich habe viele Lernquellen aufgereiht, aber es hat etwas weniger als zwei Jahre gedauert **, um all dies zu vervollständigen ... Tu es nicht.

** Der größte Fehler bestand darin, die Basistechnologie zu festigen, ohne einen Zweck festzulegen.

§ Stolpert und wie man mit ihnen umgeht

Wenn Sie eine Web-App entwickeln möchten! Ich habe das starke Gefühl, nicht zu wissen, was ich tun soll! Wenn es Leute gibt, die das sagen, denke ich, ist es besser, begeistert zu sein, diesen Betrag in ** einem Jahr, vorzugsweise einem halben Jahr **, zu beenden. Ich möchte, dass Sie sich vorbeugen und lernen!

Im Folgenden sind die Stolpersteine aufgeführt, die ich durch dieses Lernen durchdacht habe, und wie ich damit umgehen soll.

● Stolpern 1 ● Es gibt viele Lerntechniken, um alles abzudecken.

Ich denke, die meisten Leute werden Probleme damit haben. "HTML", "CSS", "JS", "Python", "Django", "HTTP", ... Ich habe gedacht, dass der Mechanismus des Web ** eine Vielzahl von Technologien ist, die verschiedene Bereiche ** abdecken, sogenannte ** umfassende Kunst **. Die aufgeführten Techniken reichen übrigens nicht aus. Zumindest die Sicherheit, Datenbank usw. reichen nicht aus.
Die Lösung hierfür ist alles, ** teilen Sie die Schwierigkeiten. ** (Ich frage mich, ob es übertragen werden kann, es ist ein nostalgischer Leroy-Mönch)
Um ehrlich zu sein, ist es für Anfänger unmöglich, die gesamte Entwicklung selbst durchzuführen (als Full-Stack-Ingenieur bezeichnet).

Es braucht Zeit, um alle Techniken zu erlernen, und ich bin in erster Linie beeindruckt von der überwältigenden Menge an Wissen. Ich bin ziemlich kaputt.

Wenn Sie ein Produkt fertigstellen möchten, halte ich es nicht für eine gute Idee, weiterhin Zeit damit zu verbringen, dieses Ziel zu erreichen. Ich denke, es ist am besten, dies in einem Team zu tun, das Menschen mit verschiedenen Fachgebieten kombiniert. Wenn Sie das Gefühl haben, dass Sie keine Fähigkeiten haben, mit denen Sie umgehen können, können Sie dies in jedem Bereich tun. Gehen Sie einfach ein Einführungsbuch durch und probieren Sie etwas anderes mit unterschiedlichen Nummern in diesem Einführungsbuch aus. Aber lass es uns schaffen. Es ist ein Schritt vorwärts Schritt für Schritt.

Auf der anderen Seite, wenn Sie ** die Technologie rund um Webanwendungen erlernen möchten **, lassen Sie uns verschiedene technische Aspekte ansprechen und viele Fehler machen und leiden (plötzlich Dämon). Das scheint Ihre kürzeste Technik zum Erwerb von Fähigkeiten zu sein. Lass uns hart arbeiten.

● Stolpern 2 ● Ich bin ratlos, weil ich Anfänger bin und nicht weiß, womit ich anfangen soll

Aus meiner persönlichen Sicht denke ich, dass es sich besser anfühlt, zuerst zur ** Front-End-Seite ** zu gehen. Es fühlt sich gut an, wenn HTML und CSS entschieden werden. Darüber hinaus denke ich, dass Sie selbst bei Hackern das Gefühl haben, viel Arbeit geleistet zu haben, wenn Sie das Frontend aufsetzen.

Das Backend ist mit der Sprache vertraut und lernt auch, wie man das Framework verwendet. Es gibt also Zeiten, in denen man zweimal lernt. Ich denke, es wird vom Beginn des Studiums an einige Zeit dauern, bis man tatsächlich ein Produkt herstellen kann (natürlich). Ich sage nicht, dass das Frontend ohne Studium gemacht werden kann, und persönlich wird es zu dem Bereich, den ich am meisten studieren möchte.

Was ich weiter studieren sollte, empfehle ich, ** Progate, für das keine Umgebungskonstruktion erforderlich ist, ** im Browser abzuschließen und ** Änderungen sofort wiederzugeben **. Überlegen.

Bücher sind gut, aber wenn das Veröffentlichungsdatum etwas früher liegt, ist der CSS-Schreibstil möglicherweise alt oder die Framework-Version ist möglicherweise aktiv und wird nicht unterstützt. Überprüfen Sie daher einfach, ob das Veröffentlichungsdatum alt ist. Ich denke, es ist besser, es zu behalten.

● Stolpern 3 ● Ich weiß nicht, wie ich eine Sprache auswählen soll

Ich weiß das ehrlich gesagt nicht (weil ich zu diesem Zeitpunkt noch keine anderen Sprachen und Frameworks wie Ruby berührt habe), aber eine Sache, die ich sagen kann, ist, dass ** eine Sprache gewählt wird, mit der Sie vertraut sind ** * * Ich denke, es ist gut für die psychische Gesundheit **.

Ich habe gerade mit Python herumgespielt, als ich anfing, mit Web-Apps zu arbeiten, also habe ich mich für ein Python-Framework entschieden. Grundsätzlich schreiben Sie in der Entwicklung den Code nicht selbst von Grund auf neu, sondern nutzen den von anderen Personen geschriebenen Code (Bibliothek) gut, sodass Sie sich leichter an die eindeutige Notation der Sprache gewöhnen können. ist.

Ich bin bereit, während der Entwicklung viele Fehler zu bekommen. Wenn Sie mit diesem Fehler umgehen, ist er meiner Meinung nach dreimal so schwer wie eine Sprache, mit der Sie herausfinden können, was ihn verursacht, wenn Sie nicht sehr vertraut damit sind.

Für diejenigen, die keine Sprache berührt haben, empfehle ich Python ehrlich gesagt nicht (insbesondere Flask). Weil die Menge an Informationen im Web überwiegend gering ist. (Qiitas Anzahl der Suchtreffer beträgt ** Rails 33401, Flask 2346, Django 4588 (Stand: 14. April 2020) **, und ich denke, dass die Schwäche des Python-Frameworks überwältigend ist.) Dieser Unterschied in der Informationsmenge wirkt sich auf die Entwicklungsgeschwindigkeit aus. Wenn Sie ihn also noch nie berührt haben, empfehlen wir die Reihenfolge "Ruby on Rails"> "Python Django"> "Python Flask".

● Stolpern 4 ● Es gibt zu viele Montagemethoden und ich weiß nicht, welche ich wählen soll.

Ich denke, es gibt Leute, die dies tun, während sie im Internet googeln. Es ist so auf dieser Seite geschrieben, aber es kommt oft vor, dass es so geschrieben ist.

In einem solchen Fall ist das ** offizielle Dokument ** oder ** Buch, das als Meisterwerk bezeichnet wird, am nützlichsten.

Die offizielle Dokumentation ist in den Worten der Entwickler und dergleichen und wird oft ** im prägnantesten und auffälligsten sternförmigen Wortsinn ** erklärt. Das offizielle Tutorial von Django, einem Python-basierten Webanwendungs-Framework, ist übrigens Gott. Denken Sie, dass Sie durch das offizielle Tutorial getäuscht wurden, anstatt zu googeln, und versuchen Sie es einmal. Die zu erklärenden Schritte sind alle eingraviert, wo Anfänger leicht stolpern können.

Darüber hinaus gibt es einige Bücher, die Qiita empfiehlt, "dieses Buch sollte gelesen werden". Von den Artikeln, die das im Grunde sagen, sind ** Bücher, die in mehreren Artikeln gelobt werden, im Grunde gute Bücher **. Ich denke, es ist besser, auf diese Weise nach einem Buch zu suchen, als sich auf Amazon-Rezensionen zu verlassen.

Wenn Sie sich Gedanken über die Implementierung machen, hören Sie auf, ** zu entwickeln ** und ** zu versuchen, zu Google zu gehen **, und veröffentlichen Sie dann ** offizielle Dokumente ** und ** Bücher, die als Meisterwerke bezeichnet werden **. Sie sollten sich die Zeit nehmen, es zu lesen.

** Das Chaos in Ihrem Kopf ist angenehm organisiert und ebnet den Weg für die Umsetzung. ** (Es ist eine großartige Religion, aber es ist wahr)

** Erstaunlich studieren. Das ist ernst. ** ** **

Meine Empfehlung lautet ** Web-unterstützende Technologien - HTTP, URI, HTML und REST **, die ich oben erwähnt habe. Haben Sie das Backend durchgesehen und sich gefragt, warum Sie nur GET und POST im Web verwenden? Die Antwort ist in diesem Buch. Dies ist ein Muss zu lesen.

● Stolpern 5 ● Ich fing an, es zu machen und wurde plötzlich mitten im Prozess langweilig.

** Machst du es alleine? ** ** **

Ich denke, dass es Nutzer von Diensten gibt. Wenn möglich, fühlt es sich besser an, sich an einem Ort mit Menschen zu entwickeln.

Ich denke, es gibt eine Gemeinschaft von Ingenieuren und Designern im ganzen Land. Selbst wenn Sie in solchen Dingen nicht gut sind, spielt es keine Rolle, ob es sich um ein Mokumoku-Kai handelt. Ich denke, Sie sollten dorthin gehen. Wenn Sie der Meinung sind, dass es nicht zu Ihnen passt, können Sie es im Familienrestaurant mit einem zuverlässigen Freund probieren.

In der Gegend, in der ich wohne, wurde in diesem Frühjahr eine kooperierende Einrichtung geboren, in der sich Ingenieure und Designer versammeln, und ich bin ein starker Benutzer.

Ich denke, es ist am besten, es mit jemandem zu machen, nicht alleine. Ich glaube nicht, dass ein Ingenieur allein stark sein kann.

§ Meine Idee für die Roadmap für die Entwicklung von Web-Apps für Anfänger

Wenn überhaupt, kann es für Leute sein, die Geschwindigkeit ignorieren und den Boden festigen und fortfahren wollen. Grob gesagt fühlt es sich an, als würde man in der Reihenfolge Vorderseite → objektorientierte Programmierung → Backend → offizielles Dokument oder Buch lernen.

  1. Lernen Sie HTML, CSS und Javascript mit Diensten wie Progate, die Sie im Web lernen können (Wenn Ihnen die kostenlose Testversion gefällt, sollten Sie sie kaufen.)
  2. Schreiben Sie Ihren eigenen HTML-Code für eine einzelne Seite (Schreibmaterial ist eine Selbsteinführungsseite, eine Künstlereinführungsseite usw.)
  3. Wählen Sie eine objektorientierte Programmiersprache, um das Einführungsbuch zu vervollständigen (Wenn möglich, ist es besser, eine statisch typisierte Sprache (Java, Swift) für später zu wählen, muss es aber nicht sein.)
  4. Vervollständigen Sie ein Buch über die Entwicklung von Webanwendungen (Ehrlich gesagt ist es schwer, die Bedeutung des Codes zu verstehen, aber selbst wenn ich etwas nicht verstehe, kann ich es kopieren.)
  5. Beginnen Sie mit der Herstellung des Produkts, das Sie herstellen möchten, während Sie googeln (Möglicherweise wird die Anmeldefunktion kopiert, aber das ist in Ordnung.)
  6. Halten Sie Ihre Hand an, sobald Sie stecken bleiben, suchen Sie nach dem offiziellen Dokument oder Buch und lesen Sie es ganz
Es fühlt sich an, als würden Sie die folgenden Schritte 5 und 6 wiederholen.

Der Grund, warum statisch typisierte Sprachen, die Typen deklarieren, gut sind, ist, dass Sie oft nicht verstehen, warum Ihr Code nicht funktioniert, es sei denn, Sie kennen das Konzept der Typen genau. Grundsätzlich sind viele webbasierte Sprachen (Ruby, Python) dynamisch typisierte Sprachen (wie), aber ich weiß, dass es praktisch ist, das Konzept der Typen zu verbergen. Ich denke, es sind nur Menschen. Es scheint, dass ein Erwachsener mit einem sanften Gesicht tatsächlich eine beängstigende Person war. Dies scheint ehrlich Vor- und Nachteile zu sein, aber ich denke, das ist, was ich denke.

Schließlich

Es ist unerwartet lang geworden. Haben Sie sich zu viel Mühe gegeben?

Eigentlich ist dies ein Artikel, der für Anfänger nicht sehr freundlich ist.

Wenn Sie kein Wort verstehen, führen Sie bitte eine Suche bei Google durch. Es tut mir Leid.

Ich möchte jedoch nicht, dass Sie sich beim Stolpern auf die gleiche Weise Sorgen machen, also hoffe ich, dass jeder sein Bestes geben wird.

Danke fürs Lesen und ich werde wieder etwas schreiben.

Recommended Posts

Ich habe versucht, eine Webanwendung zu entwickeln, und überlegt, wie ich verhindern kann, dass Anfänger krank werden.
[Django-Extensions] Anfänger in der Webentwicklung haben versucht, Django-Extensions zusammenzufassen
Eine Geschichte über alles von der Datenerfassung über die KI-Entwicklung bis hin zur Veröffentlichung von Webanwendungen in Python (3. KI-Entwicklung)
Ich dachte darüber nach, wie man kostenlos Programmieren lernt.
[IPdb] Anfänger in der Webentwicklung haben versucht, das Debuggen mit Python zusammenzufassen
Ich dachte über eine kostengünstige Möglichkeit nach, Programmieren aus dem Nichts zu lernen. (Mac Edition)
Ich habe versucht, Pepper über Ereignisinformationen und Mitgliederinformationen sprechen zu lassen
Ich habe versucht, Spieler- und Fertigkeitsnamen aus Sportartikeln zu extrahieren
Ich habe versucht, mich über MCMC zu organisieren.
Ich dachte über eine kostengünstige Möglichkeit nach, Programmieren aus dem Nichts zu lernen. (Raspberry Pi Edition)
[Deep Learning von Grund auf neu] Ich habe versucht, Sigmoid Layer und Relu Layer zu implementieren
Ich habe versucht, den Winkel von Sin und Cos mit Chainer zu lernen
So erstellen Sie eine Anwendung aus der Cloud mithilfe des Django-Webframeworks
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Ich habe eine Web-API erstellt
Informationen zu Cloud Run + Firebase-Entwicklung [Entwicklung von Webanwendungen]
Ich habe versucht, das Webanwendungs-Framework zu vergleichen
Ich habe Java8 + Spring Boot mit GAE SE (und seiner Entwicklungsumgebung) ausprobiert.
[Python] Ich habe versucht, 100 frühere Fragen zu lösen, die Anfänger und Fortgeschrittene lösen sollten [Teil 7/22]
[Python] Ich habe versucht, 100 frühere Fragen zu lösen, die Anfänger und Fortgeschrittene lösen sollten [Teil 4/22]
[Python] Ich habe versucht, 100 frühere Fragen zu lösen, die Anfänger und Fortgeschrittene lösen sollten [Teil 3/22].
[Python] Ich habe versucht, 100 frühere Fragen zu lösen, die Anfänger und Fortgeschrittene lösen sollten [Teil 1/22]
So führen Sie eine Django-Anwendung auf einem Docker-Container aus (Entwicklungs- und Produktionsumgebung)
Ich habe versucht, den G-Test und die E-Qualifikation durch Training ab 50 zu bestehen
[Python] Ich habe versucht, 100 frühere Fragen zu lösen, die Anfänger und Fortgeschrittene lösen sollten [Teil 6/22]
Es ist ein Jahr her, seit ich in die Abteilung für Webanwendungsentwicklung gewechselt bin, also blicke ich zurück
Ich habe Web Scraping versucht, um die Texte zu analysieren.
So öffnen Sie einen Webbrowser über Python
Ich habe versucht, Web-Scraping mit Python und Selen
Ich habe DCGAN implementiert und versucht, Äpfel zu generieren
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
[Einführung in PID] Ich habe versucht, ♬ zu steuern und zu spielen
Ich habe versucht zu verstehen, wie Pandas und multiple Co-Linearität unter Verwendung des Affairs-Datensatzes als Thema verwendet werden.
Verwendung von Docker zum Containerisieren Ihrer Anwendung und Verwenden von Docker Compose zum Ausführen Ihrer Anwendung in einer Entwicklungsumgebung
Ich habe ein Tool erstellt, um automatisch ein Zustandsübergangsdiagramm zu generieren, das sowohl für die Webentwicklung als auch für die Anwendungsentwicklung verwendet werden kann