Slide 1

Slide 1 text

1 UĞUR ÖZYILMAZEL asp | php | perl | python | ruby | c | js | html | css | objective-c | assembly | rexx | bash | applescript http://ugur.ozyilmazel.com @vigobronx | @ugurozyilmazel 1 13 Aralık 12 Perşembe

Slide 2

Slide 2 text

2 Süper bir fikrim var! 2 13 Aralık 12 Perşembe

Slide 3

Slide 3 text

3 Peki hangi teknolojileri kullanmalıyım? 3 13 Aralık 12 Perşembe

Slide 4

Slide 4 text

En İyi Hangilerini Biliyorum? ★ php ★ perl ★ asp ★ .net ★ java ★ scala ★ python ★ ruby ★ javascript ? ★ mysql ★ postgres ★ oracle ★ ms-sql ★ mongodb ★ sqlite ? 4 13 Aralık 12 Perşembe

Slide 5

Slide 5 text

Yazılımı Tasarlama Aşaması ★ Uygulamanın ne yapacağını anlatan minik hikaye parçacıkları (User Stories) ★ İlgili testlerin yazılması: Unit ve Behavior ★ Tüm testleri geçtikten sonra: Refactoring ★ Tüm uygulamanın test edilmesi: Integration ★ ve Deployment 5 13 Aralık 12 Perşembe

Slide 6

Slide 6 text

Yazılımı Tasarlama Aşaması https://class.coursera.org/saas/ 6 13 Aralık 12 Perşembe

Slide 7

Slide 7 text

Yazılım Geliştirme Metodolojileri ★ Waterfall * ★ Prototyping ★ Incremental ★ Spiral ★ Rapid ★ Object Oriented ★ Top-down Programming ★ Unified Process ★ Agile http://en.wikipedia.org/wiki/Software_development_methodology 7 13 Aralık 12 Perşembe

Slide 8

Slide 8 text

“Havalı” Terminolojiler ★ Design Patterns ★ Framework ★ Refactoring ★ DRY 8 13 Aralık 12 Perşembe

Slide 9

Slide 9 text

Design Patterns ★ Singleton ★ Factory ★ Prototype ★ Decorator ★ Module ★ Proxy ★ Iterator ★ Lock ★ Thread Pool http://en.wikipedia.org/wiki/Software_design_pattern 9 13 Aralık 12 Perşembe

Slide 10

Slide 10 text

Framework ★ Sizin adınıza uygun Design Pattern’lerini kullanır. ★ Tekerleği yeniden icad etmenizi önler, ileride karşınıza çıkabilecek pek çok sorun için çözümleri vardır. (Full stack) ★ Templating, Caching, Security, Data Mapping, URL Mapping gibi pek çok hayat kurtarıcı özellik mevcuttur. http://en.wikipedia.org/wiki/Web_application_framework 10 13 Aralık 12 Perşembe

Slide 11

Slide 11 text

Refactoring ★ Yeniden yazmak ★ Prototip olarak yazdığınız kodu optimize etmek ★ RED - GREEN - REFACTOR http://en.wikipedia.org/wiki/Refactoring 11 13 Aralık 12 Perşembe

Slide 12

Slide 12 text

DRY: Do not Repeat Yourself http://en.wikipedia.org/wiki/Don%27t_repeat_yourself Kendini Tekrar ETME! .red_title { font-family: Arial; font-weight: bold; font-size: 22px; color: #f00; } .blue_title { font-family: Arial; font-weight: bold; font-size: 22px; color: #00f; } 12 13 Aralık 12 Perşembe

Slide 13

Slide 13 text

DRY: Do not Repeat Yourself http://en.wikipedia.org/wiki/Don%27t_repeat_yourself Kendini Tekrar ETME! .red_title { font-family: Arial; font-weight: bold; font-size: 22px; color: #f00; } .blue_title { font-family: Arial; font-weight: bold; font-size: 22px; color: #00f; } 13 13 Aralık 12 Perşembe

Slide 14

Slide 14 text

DRY: Do not Repeat Yourself http://en.wikipedia.org/wiki/Don%27t_repeat_yourself Kendini Tekrar ETME! .title_base { font-family: Arial; font-weight: bold; font-size: 22px; } .red_title { color: #f00; } .blue_title { color: #00f; }

Merhaba

14 13 Aralık 12 Perşembe

Slide 15

Slide 15 text

“Test Yazmak Zaman Kaybıdır!” 15 13 Aralık 12 Perşembe

Slide 16

Slide 16 text

“Test Yazmak Zaman Kaybıdır!” ★ Test Driven Development (TDD) ★ Behavior Driven Development (BDD) ★ Integration Tests Kullandığınız dil farketmez! Mutlaka test yazmanız gerekir! 16 13 Aralık 12 Perşembe

Slide 17

Slide 17 text

Versiyon Kontrol Sistemi ★ CVS ★ SVN ★ MERCURIAL ★ PERFORCE ★ GIT 17 13 Aralık 12 Perşembe

Slide 18

Slide 18 text

GIT Kullanımı ★ “branch” kullanımı ★ Anlaşılır ve açıklayıcı “commit” mesajları 18 13 Aralık 12 Perşembe

Slide 19

Slide 19 text

GIT FLOW Time release branches master develop hot xes feature branches Feature for future release Tag 1.0 Major feature for next release From this point on, “next release” means the release after 1.0 Severe bug xed for production: hot x 0.2 Bug xes from rel. branch may be continuously merged back into develop Tag 0.1 Tag 0.2 Incorporate bug x in develop Only bug xes! Start of release branch for 1.0 Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons 19 13 Aralık 12 Perşembe

Slide 20

Slide 20 text

github.com ★ Sınırsız repository (public) ★ Issue / Ticket sistemi ★ Wiki ★ Hosting (gh-pages) ★ Organization ★ Git Hook ★ Öğrenciler için private repo 20 13 Aralık 12 Perşembe

Slide 21

Slide 21 text

Deployment ★ Amazon AWS ★ Heroku ★ Engineyard ★ DotCloud ★ Rackspace ★ Kendi sunucu / cloud sisteminiz! 21 13 Aralık 12 Perşembe

Slide 22

Slide 22 text

Hangi Developer’ları Takip Ediyorum? ★ http://github.com ★ https://gist.github.com ★ https://bitbucket.org ★ http://www.quora.com ★ http://geekli.st/ ★ https://coderwall.com 22 13 Aralık 12 Perşembe

Slide 23

Slide 23 text

Haftalık E-Posta Listeleri ★ http://statuscode.org ★ http://javascriptweekly.com ★ http://rubyweekly.com ★ http://www.pythonweekly.com ★ http://tthor.com ★ http://css-weekly.com/ 23 13 Aralık 12 Perşembe

Slide 24

Slide 24 text

Podcast’ler ★ http://devpod.tumblr.com ★ http://rubyshow.com ★ http://javascriptshow.com ★ http://ruby5.envylabs.com ★ http://radiofreepython.com/ ★ http://www.phpclasses.org/blog/category/podcast/ ★ http://thechangelog.com 24 13 Aralık 12 Perşembe

Slide 25

Slide 25 text

İnternet Eğitim Kaynakları ★ YouTube ★ Vimeo ★ Coursera ★ UDemy ★ Confreaks ★ Py Video ★ Learn Street ★ GoDjango ★ Code School ★ Tree House ★ Destroy All Software ★ Zed Shaw : Learn... ★ Railscast ★ Cooper Press ★ Avdi ★ Tuts+ Ücretsiz 25 13 Aralık 12 Perşembe

Slide 26

Slide 26 text

Teşekkürler Slide renkler, (Font: Open Sans) http://zachholman.com/talk/git-github-secrets/ Fotoğraflar http://flic.kr/p/dnitdr http://flic.kr/p/agdVAC Sorular? 26 13 Aralık 12 Perşembe