Forum: D Programlama Dili RSS
vibe.d mongo veritabanı uygulaması
erdem (Moderatör) #1
Üye Tem 2009 tarihinden beri · 998 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: vibe.d mongo veritabanı uygulaması
[Resim: http://erdem.tk/resim/resim/vibe.png]

D ile MongoDB kullanan web uygulaması yaptım.

Kaynak olarak burayı aldım.

http://d.readthedocs.io/en/latest/examples.html#web-applic…

Ama bu derlenmiyordu şimdi derleniyor  :-)
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4533 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
D ve vibe.d bu konuda yararlı oldu mı?

Ali
erdem (Moderatör) #3
Üye Tem 2009 tarihinden beri · 998 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ali hocam biraz kaynak sıkıntısı var.

Şimdi bu uygulamayı heroku'ya attım. Ama mongodb erişimi için de bir bulut servisine bağlandım. Ama bu sefer uzaktaki veritabanına bağlanırken yetkilendirme hatası veriyor. Halbuki mongo kabuk üzerinden aynı veritabanına bağlanabiliyorum.
erdem (Moderatör) #4
Üye Tem 2009 tarihinden beri · 998 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Uygulama buluta yüklendi. Ama bu sefer flask kullandım.

https://kullanicilar.herokuapp.com/
zafer #5
Üye Tem 2009 tarihinden beri · 706 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Selamlar Erdem,

Vibe.d ile sadece denemeler mi yapıyorsun? Yoksa iyi bir proje geliştirme niyetin var mı?
https://github.com/zafer06 - depo
erdem (Moderatör) #6
Üye Tem 2009 tarihinden beri · 998 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Aleykümselam,

Zafercim basit bir günlük uygulaması yazmayı düşünüyordum ama örneğin mongo veritabanı uzaktaki sunucuya bağlanamıyor. Yazılımsal olarak bir eksiklik var anlaşıldığı kadarıyla.

O yüzden sanırım uygulama geliştirmek için Flask kullanacağım. Laravel de olabilir.

http://flask.pocoo.org/docs/0.12/
zafer #7
Üye Tem 2009 tarihinden beri · 706 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
erdem:
örneğin mongo veritabanı uzaktaki sunucuya bağlanamıyor. Yazılımsal olarak bir eksiklik var anlaşıldığı kadarıyla.

Erdem'im büyük ihtimal bu sorunun kaynağı hedef makinadaki güvenlik önlemleridir. Eğer mongodb bağlantısı için vibe.d ile gelen mongo kütüphanesini kullanıyorsan bu kütüphane olgunlaşmış ve sorunsuz çalışıyor. Ben bir çok defa kullandım.

Bir günlük sitesi yapmak için vibe.d yazılım yetenekleri bakımından oldukça yeterli. Benim yaptığım bir sinema takip uygulaması şu adreste https://github.com/zafer06/sinebox mevcut.

erdem:
O yüzden sanırım uygulama geliştirmek için Flask kullanacağım. Laravel de olabilir.

Bildiğim kadarıyla Flask, Python için bir web geliştirme çatısı. İsmini bir süredir duyuyorum. Bence bunu seç, ilerleyen süreçte senin tecrübelerinden bizde faydalanırız.
https://github.com/zafer06 - depo
erdem (Moderatör) #8
Üye Tem 2009 tarihinden beri · 998 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
zafer:
erdem:
örneğin mongo veritabanı uzaktaki sunucuya bağlanamıyor. Yazılımsal olarak bir eksiklik var anlaşıldığı kadarıyla.

Erdem'im büyük ihtimal bu sorunun kaynağı hedef makinadaki güvenlik önlemleridir. Eğer mongodb bağlantısı için vibe.d ile gelen mongo kütüphanesini kullanıyorsan bu kütüphane olgunlaşmış ve sorunsuz çalışıyor. Ben bir çok defa kullandım.

Yerelde çalışıyor ama uzak makinalara bağlanmada sıkıntı varmış

Mongo uzak sunucu bağlanamama problemi.

Aynı sunucuya pymongo ile bağlanabiliyorum.  Örneğin bu uygulamanın kullandığı veritabanı uzaktaki bir Mongo sunucusu.

https://kullanicilar.herokuapp.com/

zafer:
Bir günlük sitesi yapmak için vibe.d yazılım yetenekleri bakımından oldukça yeterli. Benim yaptığım bir sinema takip uygulaması şu adreste https://github.com/zafer06/sinebox mevcut.

Evet o uygulamaya bir ara bakmıştım sanırım.

Ben Laravel ile yazdığım günlüğü D'ye taşırken biraz zorlandım açıkcası. Örneğin form denetimi nasıl yapılacak bunu anlamak bile zor geldi. Sonra veritabanına bağlanmakta sıkıntı olan bir çatı bence eksik bir çatıdır.

Ya da diyebilir ki arkadaş veri tabanı desteği yok. Veritabanı desteğini ek kütüphanelerle sağlayın. Örneğin flask için de çoğu veritabanı desteği PyMongo, flask_mysqldb gibi ek kütüphanelerle sağlanıyor.

vibe.d için de ilk tasarlanırken ufak bir çatı olacak şekilde ("mini web framework") tasarlansaymış daha mantıklı olurmuş. Böylece geliştiricisi de altından kalkamayacağı bir yükün altına girmemiş olurdu.

zafer:
erdem:
O yüzden sanırım uygulama geliştirmek için Flask kullanacağım. Laravel de olabilir.

Bildiğim kadarıyla Flask, Python için bir web geliştirme çatısı. İsmini bir süredir duyuyorum. Bence bunu seç, ilerleyen süreçte senin tecrübelerinden bizde faydalanırız.

Flask github'un kullanıcı (geliştirici)  oyları ile belirlenen listesinde üst sıralarda yer alıyor.

https://github.com/showcases/web-application-frameworks

Bir süredir flask'ı deniyorum oldukça beğendiğimi söyleyebilirim.

Pinterest, twillio gibi uygulamalar Flask ile kodlanmış sanırım.

https://www.quora.com/What-is-the-largest-site-created-usi…

Flask ile yapılmış ilginç uygulamalardan örnekler :

https://realpython.com/blog/python/flask-by-example-part-1…

https://realpython.com/blog/python/setting-up-a-simple-ocr…

https://realpython.com/blog/python/web-development-with-fl…
zafer #9
Üye Tem 2009 tarihinden beri · 706 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Erdem'cim Flask ile olan tecrübelerini bizimle de paylaşmanı çok isterim. ;)

Bana göre Vibe.d şu an küçük ve orta ölçekli işler için yeterince kararlı ve hızlı, bunu güncel olarak vibe.d kullanan birisi olarak eklemek isterim.
https://github.com/zafer06 - depo
erdem (Moderatör) #10
Üye Tem 2009 tarihinden beri · 998 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
zafer:
Erdem'cim Flask ile olan tecrübelerini bizimle de paylaşmanı çok isterim. ;)

Ben de işte yeni başlıyorum. Şimdilik şöyle bir şey üzerinde çalışıyorum.   ;-)

http://ebf0b6e6.ngrok.io/

Hatta şu konuya bakıyordum. İşte diyelim ki birisi sadece kullanıcıların görebileceği bir sayfaya erişmek istediğinde yetkiniz yok diyecek.

http://flask.pocoo.org/docs/0.12/patterns/viewdecorators/

https://ains.co/blog/things-which-arent-magic-flask-part-1…

https://ains.co/blog/things-which-arent-magic-flask-part-2…

vibe.d  @ şeklinde bir kullanım var. Örneğin
class Günlük
{
 
    @method(HTTPMethod.GET)
    @path("/")
    void index()
    {
        render!("yerleşimler/ana.dt");
    }
 
    @method(HTTPMethod.GET)
    @path("/gönderiler/oluştur") // /posts/create - create a post
    void gönderiyiOluştur(string _error = "")
    {
        logInfo("%s", _error);
        render!("gönderiler/oluştur.dt", _error);
    }
    @errorDisplay!gönderiyiOluştur
}

Python'un işlev süsleme ("function decorator") olanağının D'deki benzeri de sanırım şu:

https://dlang.org/spec/attribute.html#uda
erdem (Moderatör) #11
Üye Tem 2009 tarihinden beri · 998 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Bu adreste flask, nginx ve gunicorn kullanarak bir sunucu kurdum.

http://programlama.tk/
erdem (Moderatör) #12
Üye Tem 2009 tarihinden beri · 998 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
erdem on 2017-10-09, 08:22:
Bu adreste flask, nginx ve gunicorn kullanarak bir sunucu kurdum.

http://programlama.tk/

Aradan biraz vakit geçmiş ama gene açıklama yapmakta fayda gördüm.

Arkadaşlar bunu düzeltiyorum. Şöyle bir durum olmuş.

Site DNS adresi olarak 192.168.1.2 gibi bir değer kaydedilmiş. Böyle olunca doğal olarak ben site adresi girdiğimde gene yerel sunucuya bağlanıyormuşum.   :-)

Sunucuyu dinamik ip kullanarak dışarıya açamadım. Nedenini biraz araştırınca TTNET'in bir CG NAT kullandığı ortaya çıktı. Böyle olunca da işte web, smtp gibi kapıları (port) normal yöntemlerle  açamıyorsunuz anladığım kadarıyla.

Bunun başka yöntemleri de var ama hem biraz karışık hem de VPN sunucu gibi ayrıcalıklı bir ssh hesabı gerekiyor anladığım kadarıyla.

https://amoss.me/2017/05/port-forwarding-behind-a-carrier-…

Ben kendi ssh erişimim olan paylaşımlı internet bulundurma hesabı üzerinde denedim ama başarılı olamadım. Ama ngrok gibi programlar bunu yapabiliyor.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-12-10, 20:10:30 (UTC -08:00)