Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, gokmen@pardus.org.tr. 3 Mayıs 2007



Benzer belgeler
Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

Django Web Çerçevesi. Mete Alpaslan KATIRCIOĞLU, Emre YÜCE

Kullanıldığı Başlıca Siteler

DENEYİMLİ PROGRAMCILAR İÇİN DJANGO'YA GİRİŞ. Serdar Dalgıç Yazılım Geliştirme Uzmanı Markafoni 23 Kasım 2013 Yeditepe Üniversitesi

Web Programlama Kursu

Öğr. Gör. Serkan AKSU 1

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

Algorithm of Your Life. AJAX ve...

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Web Uygulamaları Mimarileri ve Güvenliği

EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Veritabanı Uygulamaları Tasarımı

Web Teknolojileri ve Programla

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 4414

Başlık: Windows Sistem Yöneticisi Yardımcısı

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

JAVASCRIPT JAVASCRIPT DİLİ

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Disk Alanı 100 Mb Mb Mb Mb Mb Mb. Aylık Trafik (Bandwidth) 1 Gb 5 Gb 10 Gb 15 Gb 25 Gb 35 Gb

Basit bir web uygulaması

İnternet Programcılığı

BMT 202 Web Tasarımı Bahar Dönemi. Yük. Müh. Köksal GÜNDOĞDU 1

TÜRKSAT UYDU HABERLEŞME KABLO TV VE İŞLETME A.Ş. İŞÇİ STATÜSÜNDE PERSONEL ALIM İLANI (Bilişim Hizmetleri)

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

1.PROGRAMLAMAYA GİRİŞ

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

Şişli Mesleki ve Teknik Anadolu Lisesi Web Programcılığı Dalı 2014 WEB PROGRAMCILIĞI DALI

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

LKD Kendi İlacını Kullanıyor

İNTERNET PROGRAMCILIĞI - II

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

License. Veri Tabanı Sistemleri. Konular. Uygulama Geliştirme Veri Tabanı Arayüzleri. uygulama kodunda veri işlemleri nasıl yapılacak?

PHP 1. Hafta 1. Sunum

Zope Uygulama Sunucusu

ÖZGÜR YAZILIMLAR İLE J2EE

Ajax kullanımı oldukça yaygınlaşmaktadır. Web tabanlı uygulamalar Ajax desteği ile çok daha esnek kullanışlı, performanslı bir yapıya kavuşmaktadır.

Web Uygulama Pentest Eğitimi

Türkiye Barolar Birliği internet sitesi

Hızlı ve Güvenli Vale Hizmeti

Python GELECEK. Barış Metin Linux Sistemleri. Python Programlama Dili

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Php Programlama Dili MySQL Uygulamaları


BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

Internet Programlama (ISE 311) Ders Detayları

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

JSF Melih Sakarya. Java Server Faces Facelet

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

API geliştiricileri. Web server ile yapılan entegrasyonun neticeleri. API Dokumantasyonu

MOBİL UYGULAMA GELİŞTİRME

Yılmaz Erdogan Yazılım Uzmanı

Veri Tabanı-I 1.Hafta

19 Şubat 2016 Cuma

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

1 / 5. Mehmet Alper Şen. Kıdemli Yazılım Uzmanı. İletişim Bilgileri

Özgür ve Açık Kaynak Kodlu Yazılımlar Kullanılarak Merkezi Servisler Nasıl Verilebilir?

Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7

PHP ile İnternet Programlama

Proje Adı : MATLAB Real-Time Windows Target toolbox kullanımı ve ilişkili bir uygulama geliştirilmesi

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

ProTicaret Exclusive 4.05 E-Ticaret Yazılımı Kurulum Dokümanı

Bütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer bütün elemanlar kök elemanı tarafından kapsanır.

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Neden PHP? Tasarımcı, şirket ve kullanıcı gözüyle. 10 Ekim 2005 / DEÜ DESEM Seval ÖZBALCI 1

Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ. ALINTI:

«BM364» Veritabanı Uygulamaları

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

Windows 7 - IIS 7.5 üzerine PHP ve MySQL kurulumu

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU

PyQt ile İş Uygulaması Geliştirimi

T.C. İSTANBUL ÜNİVERSİTESİ REKTÖRLÜĞÜ SÖZLEŞMELİ BİLİŞİM PERSONELİ SINAV DUYURUSU

Veri Tabanı Hafta Dersi

Bölüm 10: PHP ile Veritabanı Uygulamaları

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Metin İşlemleri, Semboller

EMRE CAMADAN KİŞİSEL BİLGİLER EĞİTİM. E-Posta: Cep:

PostgreSQL Veritabanı Sunucusu Devrim GÜNDÜZ.

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

E-Prints: Açık Erişimli Arşiv Oluşturma Yazılımı; Kurulumu-Kullanımı-Özellikleri

Zope Uygulama Sunucusu ve Plone İçerik Yönetim Sistemi Kerem Can Karakaş

3. Yarıyıl Ders Planı Kodu Ders Z/S Dil T+U Saat Kredi AKTS BBP 209

Kurumsal Güvenlik ve Web Filtreleme

Kurulum ve Sistem Gereklilikleri 1

PAPERWORK TEKNİK MİMARİ

Mobil Test Otomasyon Araçları Bilgilendirme Test Ekibi Şubat 2017

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar.

Kurumsal Ağlarda Web Sistem Güvenliği

PHP (II) Formlar. Dosya İşlemleri. 2002, Sanem SARIEL PHP Ders Notları 2 1. Formlar

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

İNTERNET PROGRAMCILIĞI DERSİ

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

Global Haberleşme API Kullanıcı Notları

Transkript:

Python ve Web 2.0 Gökmen GÖKSEL, gokmen@pardus.org.tr 3 Mayıs 2007

Python Programlama Dili Nesneye Dayalı Çoklu Platform Desteği Kolay anlaşılabilir söz dizimi Birçok amaç için kullanılabilir; Konsol uygulamaları Qt,GTK.. ile grafik tabanlı uygulamalar mod python, mod fastcgi.. ile web uygulamaları Birçok dil ile birlikte çalışabilme - Java,C#,Cpp

Python Programlama Dili PyYahoo ile YahooApi kullanımı.. pyyahoo from yahoo.search.web import WebSearch search = WebSearch(app_id="YahooDemo") search.query="pardus işletim sistemi" search.results=20 for result in search.parse_results(): print "Title :",result.title print "URL :",result.url print "Summary :",result.summary

Web 2.0, Ajax Nedir? Ajax : Asynchronous JavaScript and XML XHTML, CSS, JavaScript ve XML ile gerçekleniyor Bir uygulama değil; bir teknoloji Veri transferinin minimuma indirerek işlem süresini kısaltıyor

Web 2.0 Uygulamaları MochiKit Hafif ve hızlı Hazır animasyonlar TurboGears gömülü olarak kullanıyor Script.aculo.us Özellikle animsayonlar için ideal Prototype üzerinden geliştirilmiş Django ile birlikte kullanılabiliyor

Neden web uygulaması için Python u tercih etmeliyim? XML,HTML gibi web teknolojileri için hazır,hızlı ve kolay Veritabanı desteği geniş; MySQL,SQLite,PostgreSQL.. Kelime işlemleri için güçlü bir destek sunuyor Kodu okuması kolay Linux, MacOSX ya da Windows üzerinde kullanılabilir Google,YouTube bile Python kullanıyor :)

Python ve Web Oyuncakları Mod python Publish Handler Python Server Pages:PSP; mod python ile birlikte gelir PHP veya ASP deki gibi HTML ile içiçe Python kodu kullanabilirsiniz. Form,Cookie işlemlerini kolayca gerçekleştirebilirsiniz. Hazır uygulama geliştirme ortamları Frameworks; Django www.djangoproject.org Turbo Gears www.turbogears.org

Web in Python tarafı index.py Mod python ile Web Programlama http://adres/dir/path/index.py http://adres/dir/path/index.py/everybody s = """\ <html><body> <h2>hello %s!</h2> </body></html> """ def index(): return s % World def everybody(): return s % everybody

PHP,ASP gibi Python ve Web Python yaklaşımından uzak ta olsa HTML ile iç içe Python kodu kullanabilirsiniz. test.psp <html> <body> <% for sayi in range(5): # start of for %> Sayı : <b><%= sayi %></b><br> <% # end of for %> </body> </html> Çıktı Sayı : 0 Sayı : 1 Sayı : 2 Sayı : 3 Sayı : 4

PHP,ASP gibi Python ve Web test2.psp <html><body> <% import cgi word = form.getfirst( word ) if not word: %> <form method="get" action=""> <p>bir kelime yazın: <input type="text" name="word"> <input type="submit" value="gonder"</p> </form> <% else: # _Istenmeyen karakterlerden kurtulalım word = cgi.escape(word) %> <p>gönderilen kelime: "<%= word %>"</p> <p><a href="?">yeni bir kelime gönder :)</a></p> <% # %> </body></html>

Django : Python ile kolay web uygulamaları Nesneye dayalı Veri Modelleri (django.db.models) Şablon (template) desteği Esnek link (URL) tanımlamaları Otomatik yönetici arayüzü (web tabanlı) Önbellek (cache) desteği Çoklu dil desteği (diğer özgür yazılım uygulamalarındaki gibi)

Veri Modelleri Modelinizi belirleyin gerisini Django halleder :) Django Model from django.db import models class Person(models.Model): first_name = models.charfield(maxlength=30) last_name = models.charfield(maxlength=30) Sql Karşılığı CREATE TABLE myapp_person ( "id" serial NOT NULL PRIMARY KEY, "first_name" varchar(30) NOT NULL, "last_name" varchar(30) NOT NULL );

Proje Geliştirme Esnek konsol uygulaması ile hızlı proje geliştirme django-admin.py rat@mo test $ django-admin.py startproject testprojesi rat@mo test $ ls testprojesi/ init.py manage.py settings.py urls.py rat@mo test $ cd testprojesi/ rat@mo testprojesi $ python manage.py startapp testuygulamasi rat@mo testprojesi $ ls testuygulamasi/ init.py models.py views.py rat@mo testprojesi $ vi settings.py rat@mo testprojesi $ python manage.py runserver Validating models... 0 errors found. Django version 0.95.1, using settings testprojesi.settings Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C. settings.py INSTALLED_APPS = ( django.contrib.auth, django.contrib.contenttypes, django.contrib.sessions, django.contrib.sites, testprojesi.testuygulamasi, django.contrib.admin )

Django Admin Web Web arabirimi için test sunucunun başarılı bir şekilde başladığını gösterir

Django Admin Web - Test Projesi Yarattığımız model için kullanmak üzere web arabirimi otomatik olarak yaratılır

TurboGears : Python Web 2.0 ile buluşuyor Django benzeri bir model yapısı var Web tabanlı admin paneli içerisinde bolca Ajax teknolojisi barındırıyor Web üzerinden python-shell kullandırtabiliyor (MochiKit ile) Modeller arası ilişkiler için Ajax tabanlı bir model göstericisi var Temelde Django ile aynı işi yapıyor, biraz daha eğlenceli :)

TurboGears - Kid Şablonlama Aracı TurboGears basit hızlı ve anlaşılabilir bir şablonlama sistemi(kid) ile geliyor Python Hali print "<table>" for person in people: print "<tr>" print "<td>%s</td>" % (person.name) print "</tr>" print "</table>" Kid Hali <table> <tr py:for="person in people"> <td><span py:content="person.name"></span></td> </tr> </table>

TurboGears - MochiKit Python Shell Sunucuya shell erişiminiz yoksa TurboGears daha iyi bir alternatif

TurboGears - Model Designer Model Designer kullanarak kolay bir şekilde modeller yaratabilirsiniz

Bitti Sorular, Öneriler, Sohbet Linkler Python : http://www.python.org Mod python : http://webpython.codepoint.net/mod python Django : http://www.djangoproject.org TurboGears : http://www.turbogears.org Ajax Yenilikleri : http://www.ajaxian.com