Forum: Diğer Konular RSS
Kodlayarak dil öğrenin
erdem (Moderatör) #1
Üye Tem 2009 tarihinden beri · 1076 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Kodlayarak dil öğrenin
Bu adreste Python için kodlayarak dil öğrenebileceğiniz oldukça hoşuma giden bir uygulama buldum.

https://codechalleng.es

İlkönce sizden ufak bir uygulama yazmanızı istiyor. Daha sonra çözdükten sonra kendi çözümünü gösteriyor.

Aslında bunu D'ye uyarlayabilir miyiz acaba  :-)  

Ya da belki bunu.

https://try.redis.io
cos00kun #2
Üye Kas 2014 tarihinden beri · 262 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bence çok iyi bir düşünce.. Ancak ondan daha iyi bir düşünce Ali hocanın D dili öğrenimi ile ilgili bir video serisi yapıp bunu Youtube gibi bir ortamda yayınlaması  :-)
E=mc^2
acehreli (Moderatör) #3
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4643 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #1
Güzel olur. (Ama ben özellikle şu sıralarda katkıda bulunamam.) D Tour'da da kullanılan Run penceresinden yararlanılabilir:

  https://tour.dlang.org/

Ali
erdem (Moderatör) #4
Üye Tem 2009 tarihinden beri · 1076 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Oranın kaynak koduna baktım ama sanırım vibe.d ile kodlanmış. Docker diye bir şeyi sadece duydum  ;-)

Ama flask ile bir deneme yaptım:
from flask import Flask
from subprocess import call, check_output
 
import os
 
app = Flask(__name__)
 
@app.route('/derle')
def derle():
    dizin = os.path.join(app.root_path, 'derle')
    os.chdir(dizin)
    print('Dizin', dizin)
 
 
    sonuç = check_output(["dmd", "test.d"])
    print('Sonuç ', sonuç)
 
    sonuçUygulama = check_output(["./test"])
    print('Uygulama sonucu ', sonuçUygulama)
 
    return ''
 
 
if __name__ == "__main__":
    app.run(debug=True)
Çıktısı şuna benziyor:
Dizin /home/erdem/Belgeler/calismalar/flask/test/derle
Sonuç  b''
Uygulama sonucu  b'Merhaba d\xc3\xbcnya\n'
127.0.0.1 - - [22/Jan/2018 22:48:49] "GET /derle HTTP/1.1" 200 -
Ama ya birisi tüm dizinleri silen bir kod yazarsa nasıl olur  :-)
acehreli (Moderatör) #5
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4643 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Docker bilinmesi gereken bir şey. Son bir kaç senedir çalıştığım her ürün bir Docker container'ında çalışıyor.

Ama ya birisi tüm dizinleri silen bir kod yazarsa nasıl olur

Denemek gerek. ;) Docker sayesinde her ziyaretçi olasılıkla taze bir işletim sistemiyle karşılaşıyor. Yani, herhalde kendi işimizi bozmuş oluruz. Ama nasıl koruduklarını bilmiyorum.

Ali
erdem (Moderatör) #6
Üye Tem 2009 tarihinden beri · 1076 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
import std.stdio;
import std.file;
 
void main()
{
    writeln("Merhaba dünya");
    chdir("../");
    chdir("../");
    chdir("../");
    chdir("../");
    std.file.remove("programlama.svg");
}

Evet kodu biraz değiştirdikten sonra belgeler dizinindeki resim dosyasını çatır çatır sildi.

Docker kullanımı ile de ilgili burada bilgiler var ama bakalım docker kullanmak işe yarayacak mı.

Belki bir yöntem de kullanıcının yazdığı kodu satır satır okutup file remove executeShell gibi komutları ayıklasak nasıl olur bilmiyorum.
acehreli (Moderatör) #7
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4643 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Tek tek komut ayıklamak çok zor olur çünkü yalnızca D komutlarını değil, C kütüphanesini de kapsamak gerek. Önünde sonunda bir şeyler unutulacaktır.

Ali
erdem (Moderatör) #8
Üye Tem 2009 tarihinden beri · 1076 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Docker'ı oluşturuyorum ama bir türlü çalıştığını göremedim. Dockerfile şu şekilde

FROM python:3.4
COPY . /site
workdir /site
RUN pip install -r requirements.txt
ENV NAME sitename
CMD ["python", "./app.py"]

Oluşturduktan sonra takma isimle çalıştırıyorum.

$ docker run -d -p 5000:5000 --name flask-uygulama-deneme flask-ornek
ce436ce1d7bf300770d26d0326f3697a4c74f9e559267a9d43c935c5bcf5e886

Log dosyaları da normal gözüküyor.

$ docker logs flask-uygulama-deneme
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 287-508-264

Şimdi kabın içine giriyorum.

$ docker exec -ti flask-uygulama-deneme bash

wget'le test ediyorum.

root@ce436ce1d7bf:/site# wget http://localhost:5000
--2018-01-23 12:02:50--  http://localhost:5000/
Resolving localhost (localhost)... 127.0.0.1, ::1
Connecting to localhost (localhost)|127.0.0.1|:5000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16 [text/html]
Saving to: ‘index.html’
 
index.html                        100%[============================================================>]      16  --.-KB/s   in 0s     
 
2018-01-23 12:02:50 (445 KB/s) - ‘index.html’ saved [16/16]

Her şey normal gözüküyor.

root@ce436ce1d7bf:/site# cat index.html 
Flask Dockerized

Ama hala ben hala tarayıcı ile http://localhost:5000 üzerinden bağlanamıyorum. Zaman aşımı veriyor.
Serdar #9
Üye 2 aydır · 13 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
kanalın adı bilgisayar kavramları D dili ile ilgili video çekmemiş ama çoğu programlama dilleri ve algoritma analizi gibi çok yararlı videoları var video serileri halined öğrenmek isteyene çok faydası dokunur diye şuraya bırakayım linki

https://www.youtube.com/channel/UCkkgrhDCJheXQNIFqUVw0_g
acehreli (Moderatör) #10
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4643 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben henüz Docker uzmanı değilim ama arkadaşıma sordum: Yaptıkların doğru gözüküyor. Bir olasılık, 5000 numaralı port belki de kendi bilgisayarında zaten kullanımdadır. (?)

Ali
erdem (Moderatör) #11
Üye Tem 2009 tarihinden beri · 1076 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Sanırım değil. Çünkü o zaman port kullanımda diye hata veriyor.

Hatta şuradan hazır örnekler var. Onlardan indirdim gene çalışmadı:

https://github.com/tiangolo/uwsgi-nginx-flask-docker

Bir ihtimal nginx kurulu 80 numaralı portta o aklıma geliyor ama nginx'i durdurduğum zaman da çalışmadı.

Neyse bakalım şimdilik dursun.  

Değişken ip kullanarak sunucu kurmaya çalışırken bilgisayarın ayarlarını biraz karıştırmıştım.  ;-)

https://superuser.com/questions/1258093/set-up-a-web-serve…
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: 2018-02-24, 02:22:42 (UTC -08:00)