konto usunięte

Temat: Projekt studencki w Node.js

Witam doświadczonych w temacie.
Jestem jeszcze studentem i niedawno mój prowadzący zajęcia zaproponował
by projekty na zaliczenie przedmiotu wykonane były w Node.js

Nie mam praktycznie żadnego doświadczenia z Node. JavaScript / jQuery znam na tyle, na ile były mi do tej pory potrzebne.

Sam muszę wymyślić sobie temat mojego projektu. Przy czym ma być to projekt, który da się wykonać w maksymalnie tydzień, a z drugiej strony ma on być w miarę ambitny programistycznie - ma pokazywać interakcję z użytkownikiem, akcje wykonywane po stronie serwera bez przeładowania strony itp.

Proszę Was o podsyłanie pomysłów na taki projekt. Chcę by był on w miarę użyteczny. Być może z Waszą pomocą "wpadnę" na coś ciekawego.

konto usunięte

Temat: Projekt studencki w Node.js

Fajne masz studia, zazdroszczę :)

Pomysłów i inspiracji możesz szukać w już wykonanych projektach, np. :
http://nodeknockout.com/entries

konto usunięte

Temat: Projekt studencki w Node.js

Proste. Zrób grę. Weź parę ludzików z southpark. Wykorzystaj kod czatu i dostosuj go odpowiednio (zamiast propagować wiadomości, rozprowadzaj nowe współrzędne). Jako ambitną część daj po stronie klienta jakiś detektor kolizji żeby nie chodzili jak chcą.

Detektor kolizji zrób sobie na czymś takim:

11111111111111111111111
10000100000011000000011
10000000000000000100001
11111110000011111111111
11111111110000111111111
10000000000000000010001
10000100000010000000011
11111111111111111111111


Ot zamieniasz 1 (albo od 1-9) na jakieś pudełka albo inną graficzkę na którą nie możesz wejść a zera na jakąś trawkę.
Jak ktoś wciśnie W,S,A,D to sprawdzasz pole obok i albo pozwalasz mu przejść albo nie a wtedy wysyłasz nową pozycję.

Dla każdej cyferki np robisz pole 32x32px. Oczywiście mapa powinna być deczko gęstsza :P

Rzecz do zrobienia w 2 wieczory. Jak już skończysz daj nam pograć :PDariusz Półtorak edytował(a) ten post dnia 03.11.11 o godzinie 18:05
Piotr Koszuliński

Piotr Koszuliński JavaScript ninja

Temat: Projekt studencki w Node.js

Fajnego masz prowadzącego. Można wiedzieć jak się nazywa?

Nie wiem na jakim poziomie jesteś z JS, więc ciężko mi dobrać Ci coś, co Cię nie zabije. Jeśli chodzi o najlepsze zastosowania Node'a, to zdecydowanie coś streamingowego/socketowego. Coś czego nie da się łatwo zrobić (jeśli w ogóle) w technologiach typu PHP/Railsy/itp.

Podstawowy przykład to chat. Trochę banalne i nudne, więc możesz rozwinąć np. do edytora typu google docsy - umożliwiającego równoległą pracę. Ale to nudne.
Ciekawiej się robi z websocketami (polecany, choć czasami niestabilny - socket.io, bądź https://github.com/sockjs/sockjs-client i https://github.com/sockjs/sockjs-node). Można pisać już coś o naprawdę dużej responsywności. Np. mógłbyś zrobić gierkę typu kalambury, gdzie na żywo widać jak ktoś coś rysuje, albo jak wcześniej - painta z multipainterem :P Pomysłów więcej możesz poszukać tam gdzie Kamil wskazał.

Kilka rad i wskazówek na początek:
* jQuery oczywiście w Nodzie się nie przyda :P
* może Cię zabić z początku asynchroniczność wszystkiego. Polecam https://github.com/caolan/async, bądź którąś z implementacji promise'ów - prowadziłem ostatnio w tym temacie (i w ogóle client side js vs server side js) szkolenie i prezentację - http://code42.pl/2011/10/09/moje-prezentacje-z-devmeet...
* pewnie wiesz już że jest świetny instalator pakietów do Node'a - npm.
* z pakietów polecałbym restify jeśli myślisz o jakimś REST-owym API, wspomniane wcześniej biblioteki do websocketów, jeśli myślisz o trochę zwyklejszej webaplikacji, to może jakiś express. Do radzenia sobie z asynchronicznością async, bądź (ja lubię, ale jest magiczny) deferred (by Medikoo).
* do single page appów (skoro korzystasz z jQuery) możesz obczaić http://documentcloud.github.com/backbone/ bądź Spine.js

itd, itd.

Jeszcze jakiś link, który akurat mam otwarty w zakładce - http://nodetuts.com/
Ale materiałów jest oczywiście całe mnóstwo. Chociaż widziałem też na jakimś nettutsie takie tragiczne, że... no trzeba uważać.

Powodzenia. Daj znać co Ci wyszło :)

konto usunięte

Temat: Projekt studencki w Node.js

Gierka raczej odpada bo nie jest to nic co mogłoby mi się przydać w jakiś konstruktywny sposób. Zostawiam to sobie jedynie jako wyjście awaryjne. Z wymyśleniem jakiegoś projektu mam czas do przyszłego tygodnia.

Dzięki za wszystkie linki :) Z pewnością się przydadzą, bo jak na razie z JavaScript nie było mi po drodze.
Piotr Koszuliński:
Fajnego masz prowadzącego. Można wiedzieć jak się nazywa?

Wiesław Pawłowski

Bardzo ciekawa osoba. Miałem też z nim Scalę, gdzie na innych uczelniach robi się w tym czasie C / C++.

Odnośnie projektu jeszcze. Wpadłem na to by wykorzystać API Dropboxa / GitHuba i zrobić jakieś małe IDE Online do prostej edycji plików (tych edytowalnych) oraz synchronizacji tego wszystkiego.

Jakieś za i przeciw co do takiego pomysłu?
Piotr Koszuliński

Piotr Koszuliński JavaScript ninja

Temat: Projekt studencki w Node.js

Jeśli Github ma API do edycji pliku z zewnątrz, to byłoby świetne. Bądź - do czego API ma na pewno - możesz wykorzystać Node'a do łączenia się po prostu z repozytorium gita, pobierać przez Node'a listę plików, dany plik, wysyłać do przeglądarki, wysyłać z przeglądarki do Node'a i z node'a do githuba gitem. Pomysł bomba.

O ile oczywiście znajdziesz jakiś DZIAŁAJĄCY moduł do obsługi gita z poziomu Node'a. Ewentualnie... mógłbyś z Node'a gadać wprost do shella - może być nawet prostsze. Dla ułatwienia mógłbyś sobie z wyprzedzeniem wygenerować klucze (nie wymagające hasła) i śmigałoby świetnie.Piotr Koszuliński edytował(a) ten post dnia 03.11.11 o godzinie 20:27

konto usunięte

Temat: Projekt studencki w Node.js

W przyszłym tygodniu zaproponuję ten temat wykładowcy - muszę mieć jego akceptację. Zrobię jeszcze mały 'research' w związku z tematem.

Dzięki wszystkim za dotychczasową pomoc :)

konto usunięte

Temat: Projekt studencki w Node.js

Co myślicie o prostym kliencie ftp? Czy w miarę łatwo da się go zrobić i czy jest to projekt na miesiące czy raczej tygodnie : P ?
Maciej Sikora

Maciej Sikora Programista
aplikacji
internetowych

Temat: Projekt studencki w Node.js

Zgodzę się ze zdaniem Piotrka Koszulińskiego. Jeśli node.js to tylko do aplikacji wykorzystujących sockety. A prostym powodem tego jest właśnie asynchroniczność, jak nie jest Ci potrzebna czyli piszesz zwykłą appkę klient-serwer to 100 razy lepiej wykorzystać typowe rozwiązania czyli PHP, Ruby czy Python. Asynchroniczność utrudnia pisanie kodu, są ładne nakładki takie jak async.js, ale tak jak wspomniałem łatwo nie będzie.

Na twoim miejscu zrobiłbym fajną zabawkę multiplayer np. paint multiplayer lub edycja plików multiplyer w stylu uproszczonego google docs( pisanie wielu osób na raz).

Co do "Gierka raczej odpada bo nie jest to nic co mogłoby mi się przydać w jakiś konstruktywny sposób." to nie zgodzę się, że stworzenie gierki jest nie konstruktywne, tak naprawdę tworzenie gier jest według mnie najbardziej konstruktywną formą programowania, a pisaniem aplikacji "pokaż-zapisz-edytuj" już żygam :).

konto usunięte

Temat: Projekt studencki w Node.js

Postawiłem już na IDE umożliwiające połączenie się z Githubem za pomocą API.

Zastanawiam się jeszcze, gdzie wykorzystać w takim projekcie AJAX, Comet i asynchroniczność.

Następna dyskusja:

Projekt Rybak. Czyli igrasz...




Wyślij zaproszenie do