2008-09-24 4 views
6

Ich versuche, mich selbst zu lehren, wie man moderne Persistenz Muster (OR/M, Repository, etc) und Entwicklungspraktiken (TDD, etc) verwenden.Was ist ein gutes Projekt, um an modernen Mustern und Praktiken zu arbeiten?

Da der beste Weg (für mich) zu lernen ist, indem ich mache, würde ich gerne eine Art von Demo-Anwendung für mich selbst bauen. Das Problem ist, ich habe keine Ahnung, welche Art von Anwendung zu erstellen ist. Ich möchte über meine Erfahrungen Blog, so mag ich etwas von einem gewissen Wert für die Gemeinschaft bauen, aber zur gleichen Zeit will ich die Dinge zu vermeiden, die andere aktiv tun (web commerce, forums) oder getan worden Tod (Blog-Engines).

Hat jemand irgendwelche Vorschläge für ein gutes Haustier Projekt, das ich auf funktionieren könnte und vielleicht über meine Erfahrungen Blog mit?

Antwort

11

Es gibt unzählige gemeinnützige Organisationen mit wenig oder gar keiner Internetpräsenz.

Wählen Sie eine Service-Organisation - jemand - Literacy Volunteers, Lebensmittel Pantries, Einrichtungsgegenstände Spenden, Anonyme Alkoholiker - alles. Die Basisorganisationen profitieren am meisten von der Beteiligung; Sie benötigen häufig eine dynamischere Webpräsenz, können sie sich aber nicht leisten.

Schauen Sie sich ihre aktuelle Website an. Baue sie etwas besser. Spenden Sie es ihnen.

+2

Das ist jetzt eine großartige Idee und etwas, das ich vorher nicht bedacht hatte. Vielen Dank. =) –

+3

Das ist eine großartige Idee. –

1

Natürlich könnten Sie 6 Monate verbringen, um ein Open-Source-Projekt zu wählen und nach und nach anfangen, akzeptiert zu werden und verstehen, wie das Beitragssystem funktioniert.

Aber der beste Weg ist immer noch, Ihr eigenes Projekt zu starten, mit Ihren eigenen Standards, das wird wahrscheinlich ein Faillure sein. Sie müssen versuchen, scheitern und aus Fehlern lernen, um sich zu verbessern, indem Sie das anwenden, was Sie üben möchten.

wie ein französischer Schriftsteller sagte:

„Ein sitzender genious immer weniger gehen weit weg als ein Fuß Trottel“.

+0

Ich stimme zu - Ich muss ein paar Mal scheitern, bevor es mir gelingt. Obwohl ich noch keine Ideen habe, wo ich scheitern sollte ... Danke! =) –

3

Ich würde sagen, ein ausgezeichneter Weg ist, mit dem Beispielprojekt für ein Kernframework zu beginnen, das Sie lernen oder Ihre Anwendung herum erstellen möchten. Am Beispiel von Spring gibt es eine großartige Webanwendung für "Zoohandlungen", die Sie herunterladen können und die zeigt, wie Sie viele verschiedene Teile des Frameworks auf die empfohlene Weise verwenden können. Von dort können Sie es erweitern: überprüfen Sie es in die Quellcodeverwaltung, automatische Builds gehen, fügen Sie Ihre eigenen Komponententests oder Test-erste Ergänzungen, tauschen Sie Ihre eigene ORM-Ebene, versuchen Sie verschiedene Ansichtsschichten, etc.

Einmal Sie haben alles so, wie Sie wollen, dann können Sie einfacher abzweigen und sogar Ihre eigene App von Grund auf mit dem erstellen, was Sie gelernt haben.

Ich fange an, mit einer guten Basis anzufangen ("gut" ist wichtig, weil Sie die Best Practices lernen wollen und nicht nur Ihre Arbeit auf etwas basieren, das von einem zufälligen Internetbenutzer gehackt wurde) und Aufbau hilft wirklich, im Gegensatz nur mit einem leeren Projekt zu beginnen, das überwältigend sein kann, besonders wenn man versucht, eine Menge neuer Dinge auf einmal zu lernen.

1

Wie über eine Website, wo die Menschen Fragen Tech-orientierte fragen können, und erhalten Sie Antworten von der kollektiven Fachwelt auf dem Internets?

Ich denke, der wichtigste Aspekt eines Haustierprojekts ist die Tatsache, dass es etwas sein muss, das dir wichtig ist und dich selbst benutzen wird. Wenn Sie es benutzen, und es ist hilfreich für Sie, dann werden andere dasselbe finden. Wenn Sie an etwas arbeiten, weil jemand es vorgeschlagen hat, dann wird es wie Arbeit.

mit TDD Um zu spielen, ich am Ende ein Kommandozeilenargument Parser zu schaffen. Ich schreibe eine Menge Konsolen-Apps, und es war etwas, von dem ich profitieren konnte, das mich interessierte und mir Spaß machte. Es gibt schon andere da draußen, aber das war nicht wirklich der Punkt für mich. Ich auch gedacht, darüber zu bloggen, aber mein anderes Lieblingsprojekt für das Spiel mit Mustern und Architektur eines „done to death“ Blog-Plattform wurde ... und Blogging über eine Blogging-Plattform mit einer Blogging-Plattform schreiben Sie erstellen ... na ja, das ist schwierig.

Am Ende brachte keines meiner Projekte zu diesem Zeitpunkt viel in die Gemeinschaft, aber ich habe die Belohnungen in der Art, wie ich Probleme angreife, bemerkt. Finde etwas, von dem du profitieren kannst, und sorge dich später über die Vorteile für andere. Sei ein bisschen egoistisch.

+0

Sie meinen, wie StackOverflow? = P –

1

Das ist eine sehr gute Frage. Ich denke, das muss das Gefühl vieler Entwickler sein. Oft sind wir durch die Anwendungen eingeschränkt, die wir bei der Arbeit entwickeln. Möglicherweise gibt es nicht die Möglichkeit, alle größten und neuesten Dinge umzusetzen.

Ich habe ähnliche Gefühle. Was ich tue, ist, dass ich mein Team überrede, neue Dinge zu lernen und Wissen über die neuen Technologien zu teilen. Ich habe angefangen, meine eigene Art von Projekt zu bauen. Es hat sehr wenig Echtzeiteinsatz, aber ich kann damit spielen.

Zum Beispiel verwende ich EntLib bei DAL, aber morgen, wenn ich LINQ lernen kann, werde ich EntLib durch LINQ ersetzen. Wahrscheinlich LINQ zu Entitäten. Dann habe ich diese DAL-Methode mit einfachem WCF freigelegt. Dann habe ich gelernt, WebHttpBinding zu implementieren und meinen WCF-Dienst mit JSON verfügbar gemacht. Ich habe geplant, jetzt MS MVC und jQuery zu lernen und einige ASP.Net/AJAX-Sachen dort zu machen.

Grundsätzlich sollten Sie das Problem einzeln in kleinen Blöcken ansprechen. Wenn Sie Zeit und Eifer haben, dann scheint die erste hier vorgeschlagene Lösung die beste zu sein.

Viel Glück !!!

+0

Danke =) Gute Ratschläge am Ende - das ist das größte Problem, das ich habe, meine persönlichen Projekte sind viel zu ehrgeizig, besonders wenn ich nur versuche, etwas Neues zu lernen. –

Verwandte Themen