Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nodejs mysql i serwer.
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
tzm
Takie pytanie.. jak to jest z nodejs i aplikacjami serwerowymi w nim pisanymi. Gdzie w tym momencie jest przechowywana konfiguracja połączenia z bazą danych? Jest to jakoś zaciemnione dla użytkownika czy jest to w stanie odczytać jak to javascript? Coraz bardziej mnie kusi to rozwiązanie do aplikacji backendowych i nie udało mi się wyszukać odpowiedzi z google ( pewnie źle szukałem )


Dosiego roku Pany smile.gif
Forti
Widziałem tylko jedna aplikacje z node.js, u mnie w pracy. Dane do mysql są przechowywane w pliku na serwerze i klient nie ma do nich dostępu. Myśle, że jak powiem, że jest to rozwiązane podobnie jak z php to nie skłamie wink.gif
tzm
No to po przeczytaniu tego...
http://webapplog.com/php-vs-node-js/
I kilku moich domysłach odnośnie tej technologii dochodzę do dość oczywistej konkluzji.
Po co cholerę mi php? smile.gif

Postanowienie noworoczne brzmi: przesiadka na javascript do końca.
by_ikar
Niby tak, niby nie. Sam ostatnio piszę dość dużo w node i bardzo mi się to podoba, ale nie jest to póki co tak bardzo rozpowszechnione i dostępne aby móc trzaskać na tym aplikacje tak samo jak w przypadku php. Kolejną rzeczą są IDE, których dla PHP jest kilka, w przypadku JS znam tylko jeden dobry (webstorm), a reszta jest średnia, lub kiepska. No i przedewszystkim, trzeba się mocno przyzwyczaić do asynchroniczności, czyli innego spojrzenia niż w przypadku synchronicznego php.

Nie mniej, z php dość długo nie zrezygnuje, bo czuje się w tym dużo pewniej, co za tym idzie wiem jak pewne problemy dużo szybciej rozwiązać w php, niż w node, gdzie z promise grzebałem się jakiś czas..
tzm
No w angularze tez mialem problem z ogarnieciem promise i do dzis w sumie do konca nie wiem o co w tym chodzi. Musze nadrobic bo w tyle zostaje... WebStorm ma o tyle przewage nad phpstormem ze jest tanszy i wystarczy do programowania jesli sie cisnie tylko technologie frontowe. Korzystalem z niego dluzszy czas na pierwszym stazu i samo IDE godne polecenia za ta cene. No ale wracajac do tematu... jakie ograniczenia wg Ciebie posiada node ze nie wybral bys go jeszcze do trzaskania aplikacji tylko dalej siedzisz w php? Bo moze ja cos zle rozumiem i przeceniam ta technologie nie zdajac sobie sprawy z ryzyka jakie niesie za soba pisanie w tym. Asynchronicznosc... coz. Dla mnie to nie problem. Moze dlatego ze JS jest pierwszym jezykiem ktory tak powaznie poznalem.
by_ikar
Cytat
jakie ograniczenia wg Ciebie posiada node ze nie wybral bys go jeszcze do trzaskania aplikacji tylko dalej siedzisz w php?

Nie chodzi o ograniczenia, ale o problematykę, do której się nie jest przyzwyczajonym. Głównie chodzi o asynchroniczność. Wcześniej mogłeś ją w przeglądarce widzieć jako minimalną różnicę między kolejnością wykonywania warunków, bo po stronie przeglądarki raczej nie tworzy się takich rzeczy jak po stronie serwerowej. W przeglądarce robisz ajax i w jego callbacku wykonujesz co musisz. W node, kiedy masz bezpośredni dostęp do baz danych, spróbuj stworzyć warunek jak w php:

  1. $data = $db->query('select * from tabela limit 10');
  2.  
  3. if(!empty($data))
  4. {
  5. // do something
  6. } else
  7. {
  8. // tabela is empty
  9. }


To się bardzo zdziwisz, kiedy twój wynik prawie zawsze będzie "tabela is empty". Nie dlatego że jest pusta, ale dlatego że asynchroniczna natura javascriptu nie będzie czekać aż się zapytanie wykona i przypisze jego wynik do zmiennej, tylko od razu przejdzie do warunku, a według warunku, zmienna będzie pusta (w js będzie undefined), ponieważ wynik zapytania nie został jeszcze przypisany. Dla kogoś kto zaczynał od PHP jest to dość nie oczywiste i trzeba się przestawić. Ale i to nie jest aż takim problemem, bo po to się jest programistą. Tyle że potem dość łatwo jest zarazić się chorobą zwaną callback tree i człowiek zaczyna pisać z użyciem promise. I jest to fajne, ale wymaga to trochę więcej kodu niż w php.

Aktualnie pracuje nad aplikacją w node, do monitoringu i czatu realtime, właściwie to przepisywanie monitoringu i czatu z php do node, bo aktualnie php zwyczajnie nie wyrabia, przy takiej ilości requestów. Tyle że cały jakby dashboard, mimo wszystko zostanie napisany w php, jako restowe api, bo tutaj ta wydajność nie będzie tak kluczowa, raczej wygoda i przyzwyczajenia wink.gif

PS. Jeżeli chodzi o promise w node, osobiście do gustu przypadł mi Q, który z tych wszystkich dostępnych libów był najbardziej oczywisty, a try/catch wewnątrz bloku then są bardzo użytecznym dodatkiem.
tzm
Widze tutaj analogie do $http.get().success(function(){}); takze dla mnie to calkowicie logiczne i naturalne. Moze nie rozumiem Twojego problemu z asynchronicznoscia ze wzgledu na wlasnie kolejnosc nauki jezykow. PHP dopiero teraz wiecej uzywam bo cos z ta baza mnie musi w koncu laczyc. No ale skoro jest nodejs i z tego co widze czasem po ofertach pracy to warto go znac. Na pewno oderwal bym sie od smieciowki w pracy gdybym jeszcze go poznal. Asynchronicznosc idealnie tez widac na przykladzie zwyklego console.log. Sprobuj sobie zrobic tablice N elementowa, przesortuj ja, i zrob od razu za nia console.log(array). Takze to nie jest kwestia node.. po prostu JS tak ma i trzeba miec to na uwadze. Dzieki za obszerna odpowiedz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.