Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nodejs mysql i serwer.
tzm
post 31.12.2014, 17:44:48
Post #1





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post 2.01.2015, 20:22:56
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


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.

Ten post edytował by_ikar 2.01.2015, 23:02:15
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 19:42