Piszę pierwszą apkę w #expressjs i #nodejs i nie wiem jak rozwiązać pewien problem w najlepszy sposób. Mam jeden widok, na nim mam formularz, który po wypełnieniu otwiera kolejny widok z kolejnym formularzem i tak załóżmy 3 razy. Jaki jest najlepszy sposób przechowywania danych z jednego formularza, następnie dodawania do tego pakiety danych z drugiego formularza i tak dalej by na końcu pokazać dane z wszystkich formularzy?

Utworzenie jakiegoś rekordu w bazie
@michael94: nie znam się na nodejs, ale się wypowiem... brzmi trochę jak dane sesyjne... plus trzymając je jedynie po stronie klienta (local storage, albo jeśli się zmieści w cookies) narażasz się na wszystkie problemy z tym związane (walidacja, możliwość podmiany itp).
[ #naukaprogramowania #expressjs #nodejs ]

Mam formularz, dane z niego wysyłam postem przez angulara na backend - node z express.js. Wszystko fajnie działa. Chciałbym teraz asynchronicznie na froncie wyświetlać informacje czy zapytanie do bazy się udało czy się nie udało.

Jak przez Postmana wysyłam request, to w przypadku kiedy zapytanie się nie udaje to zwraca mi coś takiego:

{
"status": false,
"message": "User was not found."
}

I chciałbym teraz te błędy
Uczę się Sails.js całkiem przyjemnie to wygląda. Ma któryś z mirków postawiony jakiś projekt na tym wynalazku? Jak wygląda to z perspektywy czasu? Warto było się w to pakować czy jednak lepiej czystego expressa ewentualnie jeszcze coś innego?

#nodejs #expressjs #sailsjs nawet nie taguje webdev bo tam chyba same gimbusy
[ #nodejs #javascript #expressjs #naukaprogramowania ] - Controller a router.

Weźmy dla przykładu logowanie, żeby zobrazować o czym mówię.

Struktura folderów wygląda załóżmy tak:

--...
--routes
----index.js
--controllers(?)*
----loginCtrl.js(?)*
--...

No i jak to z tymi kontrolerami jest? Router ma pełnić rolę controllera? Tj. cała logika ma być w index.js? Nie bierzmy dla uproszczenie passport authenticate, bo jak się domyślam to powinno być w osobnym pliku/folderze 'authenticate' - jeśli się mylę to
@PrawyKuba: Zerknij jak to rozwiązano w meanjs. Ja logikę robię w kontrolerach, które są wywoływane przez routery. Schemat wygląda tak: zapytanie -> router -> kontroler (tu pobranie danych z modelu, jakieś operacje na danych) -> generowanie widoku -> do użytkownika. Do tego w router możesz wrzucić kilka middlewarów występujących po sobie, w nich dokonujesz walidacji, autoryzacji itp, potem to trafia do kontrolera. Zaznaczam, że nie jestem jakimś mega znawcą, nie
@PrawyKuba: kwestia zależna jedynie od Ciebie. Ogólnie rzecz biorąc powinieneś dążyć do tego, żeby rozbijać swoją logikę na małe, samowystarczalne moduły, łatwe do testowania i dostosowane do komponowania z nich większej funkcjonalności.

Kwestia tego czy będziesz to robić w routerze czy kontrolerze jest mniej ważna. Faktem jest, że w np. w świecie PHP i w JS stackach które potem kopiowały podejście z innych środowisk, nabudowano w okół dużo abstrakcji: masz routing,
Myslalem o socket.io, ale moze da rade jakos prosciej


@erwit: Przecież socket.io dostarcza tak proste API, że to aż grzech nie używać. Jakbyś musiał pracować na gołych socketach to wtedy mógłbyś mówić, że "może da radę prościej".
12 września 2015, od 9:00 do 15:00 w 4 miastach jednoczesnie odbedą się 6-godzinne warsztaty #devmeeting. Tematem tych warsztatów będzie Responsive Web Design.

Miałem już okazję wraz z @zona_noisyego uczestniczyć w poprzednich warsztatach z #nodejs i #expressjs i muszę przyznać, że bardzo mi się spodobało. Dużo można się nauczyć w krótkim czasie :)

Cena: płaci się tyle ile się chce.

#krakow - http://registration.devmeetings.com/events/responsive-web-design-2015-krakow
#wroclaw - http://registration.devmeetings.com/events/responsive-web-design-2015-wroclaw
#warszawa - http://registration.devmeetings.com/events/responsive-web-design-2015-warszawa
@FotDK: ciężko mi powiedzieć. Chyba najwięcej wyciągniesz z tego, jeżeli jesteś pro np. w innym języku programowania i chcesz się szybkko uczyć nowych rzeczy.
#nodejs #expressjs #keystonejs Robię sobie geocoder. Ma przed zapisem postu z adresem pobierać latlony. No i ślicznie, tylko to działa asynchronicznie, więc w efekcie post zapisuje się szybciej niż zdążą wrócić dane z google api .. ktoś coś?

kodzik: (tak, wiem, że adres #!$%@?, potem wypluję go prawilnie ;) )

Place.schema.pre(


'save'





function
```**```
(next) {

    
```**```
if
```**```
 (!
```**```
this
```**```
.location.lat || 
```**```
this
```**```
.isModified(
```_```
'location'
```_```
#nodejs

#expressjs

#node-geocoder

#serversidejs

#google

#geoapi

Place.schema.pre(


'save'





function
```**```
(next) {
``````
    
```**```
if
```**```
 (!
```**```
this
```**```
.location.lat) {
``````
            
```**```
var
```**```
 address = 
``````
                    
```**```
this
```**```
.location.street 
``````
                    + 
```_```
' '
```_```
 
``````
                    + 
```**```
this
```**```
.location.number 
``````
                    + 
```_```
', '
```_```
 
``````
                    + 
```**```
this
```**```
.location.city,
``````
            
``````
            geocoderProvider = 
```_```
'google'
```_```
,
``````
                httpAdapter = 
```_```
'https'
```_```
@npsr: najprościej chyba

geocoder.geocode(address)

.then(function(res) {

console.log(res[0].latitude);

})

.catch(function(err) {

console.log(err);

});

ofc warto by wcześniej sprawdzić, czy w res cokolwiek się znajduje :)
res[0].latitude


@bezett: Słowo klucz: zero ... i pewnie męczyłbym się z tym do wieczora, zanim bym o tym pomyślał ;P Dzięki wielkie :)

ofc warto by wcześniej sprawdzić, czy w res cokolwiek się znajduje :)


Wiem, wiem. W tym przypadku res=res?res:default ... mam nadzieję, ze dalej z górki. Jeszcze raz dzięki :)
#webdev #nodejs #sailsjs

Od kilku dni romansuję sobie z http://sailsjs.org/

Co prawda na sensowne opinie jeszcze za wcześnie, ale myślę, że mogę już z całą odpowiedzialnością

polecić zabawę. Czysta przyjemność.

Jednak głównym celem tego postu jest pytanie, czy ktoś z was już może miał z tym przyjemność?

To moment w którym pojawiają się pytania natury filozoficznej w stylu:

- "jak najlepiej przypisywać klasy linkom w menu, do których aktualnie prowadzi routing"

-