#pomoc #pytaniedoeksperta #javascript #node #nodejs #webdev

Mam takie pytanie otóż jak oni to zrobili w nodejs, że mogę napisać:

var http = require('http'); // tu jeszcze nie ma problemu

var io = require('socket.io')(http) //???

chodzi mi o to require(cos)(cos). O ile w pierwszym przykładzie domyślam się, że było coś w stylu(poprawcie mnie jak się mylę):

function requrie(){

return{

[...]

}

}

to nie jestem w stanie dojść do tego drugiego.
#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 :)
V8. Mamy taki kod: https://gist.github.com/Ginden/b8cf25c69d25166cdd2e

Która wersja jest najbardziej wydajna jeśli chodzi o zużycie pamięci?


test2 - 208 bajtów


test3 - 424 bajty


Polecam ten sposób ponownego używania kodu, jeśli ktoś ma problem z memory leakami w socket.io i ogólnie w node (zagnieżdżone callbacki zużywają zaskakująco dużo pamięci).

#javascript #nodejs #webdev
#hosting Na początku czerwca kończy mi się hosting i domena utrzymywana w netmark.pl, chciałbym się przenieść z adresem gdzieś indziej, najchętniej tam gdzie jest #nodejs, nie potrzebuję dużych limitów transferów, miliona baz danych i innych wodotrysków, ma być najtaniej. Co polecacie?
@beeper: to nie jest coś do zastąpienia np. php. może obsługiwać protokół HTTP, ale generalnei to jest narzędzie do stawiania serwisów z wymianą danych, botów i tego typu rzeczy

ja w node.js np. napisałem bota do IRC i to było dobre zastosowanie
#webdev #js #nodejs

Hej, mam takie podwójne pytanko: napisałem sobie appkę pod node + express.js. Przydałoby się na czas kończenia pracy i testy gdzieś to wrzucić (czyt mały ruch). Jak sądzicie: ile przydzielić rdzeni, ramu etc .. ? Appka jest stosunkowo lekka, jedynie mongo będzie sporo ważyć pod koniec testów :)

Pytanko numer dwa: Możecie polecić jakiegoś fajnego synca? Kodzik trzymam na bitbucket. Ideał synca:

- automat co określony interwał master->dev, master->prod
@npsr: dopiero teraz widzę wpis (przeglądam tagi), ale może jeszcze aktualne to Ci odpowiem :P :

- nawet bardzo rozbudowane aplikacje w nodejs mają malutkie wymagania. Np. forum napisane w nodejs ze sporawym ruchem (ok 500-1000 unikalnych wejść) elegancko (naprawdę) chodzi na jednordzeniowym serwerku z 512 RAMu. Ba, na starym tablecie (tegra 2, 2x1.0GHz, 1GB RAM i to uruchomiony w "oszukiwanym" terminalu emulującym debiana, a reszta android) stawiałem testowo różne serwisy
mirki #mongo i #nodejs native-client

dostaję Mongo error: { [Error: getaddrinfo EADDRINFO] code: 'EADDRINFO', errno: 'EADDRINFO', syscall: 'getaddrinfo' }

przy próbie połączenia do localhost

jakieś sugestie?

próba połączenia do 127.0.0.1 też nie działa. Serwer jest włączony