Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

node js


kermit

Öne çıkan mesajlar

SenariouS said:

node.js bilenler soru
mobil api icin (oyle cok karisik degil) restful web service yazmak nasil olur? Cok bisey yapmayacak databaseden data cek gonder kivaminda
lezzetli olur mu
javada yazacaktim
spring,hibernate,mysql,glassfish,tomcat vs vs vs gorunce gozum korktu


eğer java ile istersen

http://restlet.org/

fakat node.js ile daha hızlı bir şekilde oluşturulur. bence tercih edilebilir.
Link to comment
Sosyal ağlarda paylaş

SenariouS said:

node.js bilenler soru
mobil api icin (oyle cok karisik degil) restful web service yazmak nasil olur? Cok bisey yapmayacak databaseden data cek gonder kivaminda
lezzetli olur mu
javada yazacaktim
spring,hibernate,mysql,glassfish,tomcat vs vs vs gorunce gozum korktu

jquery. eger güzel kodlarsan tarfigi min seviyede tutarsin. tam nasil bir serverdan alacak bilgileri. api derken web app dimi?
Link to comment
Sosyal ağlarda paylaş

SenariouS said:

node.js bilenler soru
mobil api icin (oyle cok karisik degil) restful web service yazmak nasil olur? Cok bisey yapmayacak databaseden data cek gonder kivaminda
lezzetli olur mu
javada yazacaktim
spring,hibernate,mysql,glassfish,tomcat vs vs vs gorunce gozum korktu


Cok guzel olur. Bunun nodejs ile standart yolu express kullanarak genel web server erisimi saglamak, onun altinda mongoose ile mongodb'ye uzanmak. (mongoose ve mongodb optional tabi, ama ben bu stack'in cok iyi calistigini dusunuyorum). ancak unutma ki express api'i restful yapmak icin ozel bisey yapmaz. bunu kendin saglayacaksin, ki pek cok ongoremedigin sorun cikabilir, rest killi yunlu is. "buna bulasmayayim, bunu restful yapmak icin illa biseyler vardir" diye dusunursen (haklisin) restify ya da benzeri daha ozellesmis module'ler var, ancak benim onlarla pek deneyimim yok, yorum yapamam. ya da, express middleware'lerine gozatabilirsin, genelde hersey icin bir middleware oluyor. ha, ben bunu restful yapmak icin kendim biseyler yazicam dersen, bunu da express middleware olarak yazmani tavsiye ederim, boylece diger middleware'lerin ile (authentication, caching, vs.) uyumlu sekilde calistirabilirsin, ve test etmesi daha kolay olur.
Link to comment
Sosyal ağlarda paylaş

selam yazmaya basladim.

ilk restful sayfayi yaptim.
Kullandiklarim node.js, express, mongoose ve mongodb

Macte cok rahat bir sekilde kuruldu npm falanda anlayinca cok sukela oldu. Bazi anlamadiklarim var uzun zamandir javascript yazmadigimdan ama tikit tikir yaziyorum. Schema mantigi guzelmis. kendi fonksiyonlarini falan kaydebilme falan sanki hibernate kullaniyormussun hissi veriyor sevdim.

Misal bu aksam post olarak yolladigim bir resmi bir klasore kaydedip sadece urisini tutarak gettede ordan alip image'i yollamayi yapmayi planliyorum. Bunu yaparken postta resmi base64 ile mi gondersem yoksa direk data olrak mi gondersem bilemedim. Neden derseniz postta sadece resim degil json halinde baska datalarda gidiyor. Direk data olarak gonderebilir miyim yoksa base64 mi olsun bu aksam bakarak bulacagim.

Bu sirada node cok guzel bir ortam eger benim gibi amaciniz mobile bir applicationa web service saglamaksa gercekten cok hizli ve guzel bir ortam sunuyor cok tuttum bu sayede.

Biraz daha arastirip yazarim biseyler herhalde.
Yardimci olan patidaslara tesekkurler.
Link to comment
Sosyal ağlarda paylaş

SenariouS said:

selam yazmaya basladim.

ilk restful sayfayi yaptim.
Kullandiklarim node.js, express, mongoose ve mongodb

...

Bu sirada node cok guzel bir ortam eger benim gibi amaciniz mobile bir applicationa web service saglamaksa gercekten cok hizli ve guzel bir ortam sunuyor cok tuttum bu sayede.

Biraz daha arastirip yazarim biseyler herhalde.
Yardimci olan patidaslara tesekkurler.


madem benim onerdigim sekilde gitmek istedin, son bir tavsiye daha vereyim izninle :) :

rest isi ciddi olarak cok sorun cikaracak ve development zamanini baya artiracak bi etken. bu yuzden bunu 3 layer halinde yapmani tavsiye ederim:

1: mongoose'u saran custom module: web nedir, express nedir, request nedir bilmeyen layer. bunun icinde ne olacak? getPosts(...) olacak mesela, butun postlari donduren (literally boyle yapmazsan daha saglikli olur tabi :)) module. icinde mumkun oldugu kadar az logic olmali, yalnizca senin tanimladigin actionlara cevap verecek duzeyde olmali. yani, bu arkadasin userdan haberi bile yok, getPosts(...) deyince onu verecek.
2: web server ile layer 1 arasindaki iliskiyi kuracak olan custom module. butun logic burada olacak. getPosts(...) geldigi zaman kullanici login olmus mu vs. burada bakilacak.
3: rest web server: butun rest kurallarini burada implement edeceksin. neye nasil cevap verecegini bu arkadas bilecek. getPosts(...) cagirip gelen cevabi response'a cevirecek arkadas bu, error gelirse onu sekle sokup response yapacak arkadas da bu.

neden boyle yapmak daha saglikli? boyle test etmek cok cok daha kolay. en bastan planini yapip applicationdaki butun conceptleri tanimlayip once layer1'de bi kismini yaparsin (user, posts), onu nispeten kullanilabilir bir hale getirince onu kullanacak olan 2. layer parcalarini yazarsin, test edersin. dikkat ettiysen, bu noktaya kadar daha browser acmadik bile, ama elimizde kullanilabilir bir sistem var. ancak bunlardan sonra son layeri restful yazarsin. bu sekilde her modulun giris ve cikis kosullari belli oldugu icin hem development hem de test cok hizlanir.

diyeceksin ki, "ben layer 2 ile 3'u birlestiririm oyle yaparim". inan bana, basin cok agrir. sistemin rest ile ilgilenen kisimlari logicin icine girerse, sistemin rest'e bagimli hale gelir, baska bir sekilde calismasi gerektiginde baya biseyi bastan yazman gerekir. oysa ayri yazdiginda, ileride "buna websocket kullanacak sekilde degisiklik yapmamiz lazim" denildiginde yapman gereken tek sey web layerini bastan yazmak (ya da paralel olarak calisan ayri bir layer yazmak) olur. ayni sekilde "layer 1 + 2 olsun" dersen, ileride mongodb yerine baska bir db kullanman gerektiginde basin agrir.
Link to comment
Sosyal ağlarda paylaş

evet image upload isinide yaptim

app.use(express.static(path.join(__dirname, 'public')));

bu kod sayesinde direk olarak url seklinde vererekte ulasabilmesi cok guzel image'e. SImdi bu imageleri istedigimiz objeye abglamak kaldi.

Bu sirada adamin image yerine trojen yuklemesini falan nasil onleyebiliriz. (cok anlamadim durumu ama nette bu tur biseye karsi onle almak lazim diyorlardi.)

simdi geriye ciddi ciddi baglamak kaliyor.
bu sirada diyelim A ve B classlarimiz var. A classi kendi icinde B classinin arrayini tutmakta. Bunu mongodb yazarken ne yapmak gerekiyor ? neyse buldum simdi sorun dahada zorlasti.

simdi dedigim gibi A objesi icersinde B modelinin objelerini tutuyor(bir array seklinde).

Ben simdi bu baglantiyi kullanarak. B objesinin bulundugu A oblereinin tamamini getir diyebilir miyim yoksa exstradan bir baglanti yapmam gerekir mi ? B objelerinin icinde A objelerin tutmak gibi? (circular biseye donusuyor hissi veriyor aslinda)
Link to comment
Sosyal ağlarda paylaş

SenariouS said:

evet image upload isinide yaptim

app.use(express.static(path.join(__dirname, 'public')));

bu kod sayesinde direk olarak url seklinde vererekte ulasabilmesi cok guzel image'e. SImdi bu imageleri istedigimiz objeye abglamak kaldi.

Bu sirada adamin image yerine trojen yuklemesini falan nasil onleyebiliriz. (cok anlamadim durumu ama nette bu tur biseye karsi onle almak lazim diyorlardi.)

simdi geriye ciddi ciddi baglamak kaliyor.
bu sirada diyelim A ve B classlarimiz var. A classi kendi icinde B classinin arrayini tutmakta. Bunu mongodb yazarken ne yapmak gerekiyor ? neyse buldum simdi sorun dahada zorlasti.

simdi dedigim gibi A objesi icersinde B modelinin objelerini tutuyor(bir array seklinde).

Ben simdi bu baglantiyi kullanarak. B objesinin bulundugu A oblereinin tamamini getir diyebilir miyim yoksa exstradan bir baglanti yapmam gerekir mi ? B objelerinin icinde A objelerin tutmak gibi? (circular biseye donusuyor hissi veriyor aslinda)


image konularina hic dokunmuyorum, derin mevzu ve cok deneyimim yok nodejs + image konusunda, diger konuya gelirsek:

ben bunu su sekilde yaptim daha once:


var ConversationSchema = mongoose.Schema({
users: [{type: mongoose.Schema.Types.ObjectId, ref: 'user'}],
messages: [{type: mongoose.Schema.Types.ObjectId, ref: 'message'}],
updateTime: {type: Date, default: Date.now}
});


sunu belirteyim, bunu yapmanin bir kac farkli yolu var, benim denedigim ve mongoose'un da uygun gordugu yapi bu sekilde. 100% en dogru seklidir demiyorum, ama bu sekilde yaparsan calisir diyorum :)
Link to comment
Sosyal ağlarda paylaş

monoscope said:

of kodlamadan soğudum yazdıklarınızın karmaşıklığı yüzünden


anliyorum seni, ama bi noktada algin tamamen degisiyor, isin architecture'i cok ilginc, kod kismi cok bayik geliyo. mimari uzerinde calisip herseyi oturtup sonra is koda gelince "zaten bitti ki bu, gerisi amelelik" diyorsun :P
Link to comment
Sosyal ağlarda paylaş

Gazanfer said:


ben bunu su sekilde yaptim daha once:


var ConversationSchema = mongoose.Schema({
users: [{type: mongoose.Schema.Types.ObjectId, ref: 'user'}],
messages: [{type: mongoose.Schema.Types.ObjectId, ref: 'message'}],
updateTime: {type: Date, default: Date.now}
});




simdi soru su misal sey demek istiyorum.
icersinde su userin gectigi tum conversionlari ver.
bunu nasil yapabilirim
Link to comment
Sosyal ağlarda paylaş

atıyorum sayfaya bişi post ederken tarihte gözüksün diyoz ya
tarih geliyor sayfaya ama
said:
Thu Feb 13 2014 15:04:44 GMT+0200 (Turkey Standard Time)

böyle geldiği için sıkıntı. bunun formatını DD/MM/YYYY gibi nasıl yapcaz ?


şu app.js yeri

var asd= new Schema({
title: String,
spot: String,
content: String,
registerDate: Date
});

app.post('/test', function(req, res){
var newAsd = new asd(req.body.qwe);
newASD.registerDate = new Date();
newASD.save(function(err){
if (!err) {
console.log(newASD);
res.redirect('/test/control');
}
else
{
res.redirect('/test/new');
}
});
});

td #{qwe.registerDate} bu jade'de çektiğim yer
Link to comment
Sosyal ağlarda paylaş

SenariouS said:

node js guxzelde nette baya baya bir bilmemezlik hakim.
bide cok rahat depricate ediyorlar pek cok seyi.
adamin 3 ay once attigi kod calismiyor su an asdfdsaf


dogru, ama belirsizlik olup olmayacagina dair degil, nasil olacagina dair, zira gayet stable her sey.

kimler node.js kullaniyor?

node.js kullanirsaniz ileride "node.js patladi, herseyi yeniden baska biseyle yapacagiz" degil, "node.js ve libraryleri upgrade edince scriptim patladi, elden gecirmem gerekiyor" dersiniz en fazla.

node.js gelisirken sadece kendisini degil, butun javascript dunyasini degistiriyor, ayni zamanda kendi ekosistemini de olusturuyor. sirf node.js paketlerini duzgun manage edebilmek icin yapilmis olan npm, daha yeni cilginca yatirim aldi. node.js deployment icin turlu turlu cozumler cikti. client'ta ne varsa hepsinin node.js esdegeri yapiliyor. javascriptle, weble alakasi olmayan applicationlarin bile installation ve test kisimlari node.js kullanacak sekilde yaziliyor.

biraz ilgisi olan arkadaslar bence hic "daha erken, cok gelismedi, sonra bakariz" demeyin, kasin, pisman olmazsiniz :)
Link to comment
Sosyal ağlarda paylaş

kermit said:

hacım gelip burda uzun uzun yazıyosun ama bi soruma cevap vermiyosun. madem biliyosun bi el uzat te allam ya. sonra niye sinirleniyoruz


kermit, esnafin dedigi dogru, ama biraz formatlaman gerekebilir.
ben date isleri icin moment.js kullaniyorum, tavsiye ederim. yalnizca bu formatlamalar icin degil, ayrica "dun saat 13:00'de" gibi sonuc alman da mumkun. (ayrica timezone eklentisi de her turlu timezone sorununa deva).

(konuyla alakasiz ama genel olarak: topigin basina kadar gittim, sorunu bulmaya calistim, soru mu sormussun, yakinmis misin belli degil, sorunu tek parcaya indirip "tarih ve saati formatlamanin en iyi yolu nedir?" diye sorarsan daha kolay cevap alirsin)
Link to comment
Sosyal ağlarda paylaş

ben ciddi anlamda sıkıntı cekiyorum ozellikle mongoose hakkinda
adam gibi tutuoriallari yok
adam gibi ornekler yok
salak sacma 1-2 satiri ogrenebilmek icin 10 dk nette aramam gerekiyor.
hala bilmedigim seyler var.
Adam gibi tutorial olmamasi cok yoruyor insani cidden.
onun disinda iyi sayilir.

Lutfen biri bana bir mongoose modeli icersinde bir arratda saklanan baska bir mongoose object idleri ile nasil karsilastirma arama yapilacagini anlatsin.

Olmadi acip adamlarin dokumantasyonu okuyacam hayvan gibi.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...