40+ Saat Python Deneyimim

Kısım 1. - Başlangıç
2430543d28e5221de3905086e70f614051d1561d.png

Bölüm 1. - Neden Python?
Python yazılım dilini seçmemin en büyük nedeni kolay okunup yazılabilen bir dil olması oldu. İlk defa bir dil öğreneceğim için kolay okumak ve yazmak çok işime gelirdi. Aynı zamanda gelişmekte olması da çok büyük bir etkendi. Programlama mantığının öğrenilmesi için en çok önerilen dillerden biriydi ve kullanımı son yıllarda aşırı fazla artış göstermişti. Hızlı olması, binlerce kütüphanesi bulunması, gelecek için önemli bir adım olan yapay zeka için çok uygun bir dil olması, büyük veri gibi alanlarda rahatlık sağlaması, siber güvenlik alanlarında hızlı ve kolay olması nedeniyle tercih edilmesi ve daha niceleri... Kısacası Python hem kolay, hem geniş çaplı hem de getirisi olan bir dildi. İşte bu yüzden Python yazılım dilini tercih ettim.







main-37.jpg


Bölüm 2. - Isınma Süreci
Python kursuna ısınma sürecinde yaşadığım sıkıntılar genel olarak programlama mantığını bilmememden kaynaklı oldu. Python gibi yazılım dillerine başlamadan önce algoritma mantığı anlaşılmalı. Yazılıma hiç ön bilgi sahibi olmadan başlayanlar code.org sitesi üzerinden genel olarak algoritma mantığını ücretsiz olarak kavrayabilirler. İsterlerse daha gelişmiş bir "Bloklar ile Programlama" uygulaması olan Scratch'e bakabilirler. Aynı zamanda Scratch uygulamasının çevrimiçi kütüphanesi aracılığıyla neler yapılabildiğine kolayca göz atabilirler.









vector-download-download-button-illustration-data.jpg

Bölüm 3. - Gerekli Ortamların Kurulması
Genel olarak en zorlandığım yer olabilir. O lanet uygulamaları kurmak bu kadar zor olmamalı. Sistemim kaldırmıyor diye bin bir türlü işkenceye girmek insanı aşırı soğutuyor. Kurulum sırasında aldığın hataları internette aramak ve bulmak için saatlerini harcamak beni en çok yavaşlatan şeylerden biri oldu. Sistemimin kaldırmadığı yerleri deneyemeyip sadece not tutarak ilerlemek akılda kalıcılığı az da olsa düşürdü. Ama sonuç olarak öğrendim ve önemli olan da bu.











hello-world-1024x544.png



Bölüm 4. - Temel Bilgilerin Öğrenilmesi
Temel bilgilerin öğrenilmesi, ilk defa yazılım gören insanlar için biraz saçma olabilir. Aslında o kadar uzun ve zorlayıcı olmayan bu kısım, genel olarak yazılıma başlayan insanların, bu işten soğumasına vesile oluyor. "Bir sürü şey var, hangi birini ezberleyeceğim?" diyorsanız yanlış yerdesiniz. Daha öğrenecek yüzlerce şey var. Öğrenme sürecini hızlandıracak ve akılda kalıcılığı arttıracak en iyi çözüm kodları kendiniz deneyerek hatalar ile karşılaşmanız ve bu hataları nasıl çözebileceğinizi düşünmeniz olacaktır. Bir sonraki seferde kodları nasıl hatalı yazdığınızı bileceğiniz için bu hatalara düşmez ve daha rahat bir ilerleme sağlarsınız. Aynı zamanda akılda kalıcılığı - bence - en çok arttıran şey "Not Tutmak" oluyor. Önemli yerleri "KeepNote" gibi uygulamalar kullanarak kendi anladığınız dilde tutulan notlar size her zaman en büyük yardımı sağlar. Takıldığınız yerde kendi notlarınıza bakıp bulacağınız çözümler hızlanma sürecine girmek için sizin en büyük destekçiniz olacaktır. Düzenli bir not defteri sayesinde aradığınız sorunu hemen bulabilmeniz bu süreçte çok önemlidir. Bir hatayla karşılaştığınızda ve çözüm arayışına girdiğinizde not defteriniz çok ön planda olacaktır. Aynı zamanda sorunun çözümü eğer ki not defterinizde yoksa ekleyerek ilerde tekrar karşılaşma durumunda daha hızlı bir çıkış yolu bulabilirsiniz.








nick-morrison-FHnnjk1Yj7Y-unsplash-scaled-e1575287649411-768x384.jpg


Bölüm 5. - İlk Program
Temel Python bilgileri ile bir program yapma zamanı geldi. Açıkçası burayı en zevkli yerlerden biri olarak görüyorum. Hızlıca temel bilgileri kavradıktan sonra öğrendiğim her şeyi boldan boldan koyup oluşturduğum saçmalık çorbası beni hem güldürdü hem de heveslendirdi. Bir programın çalışma mantığını temel olarak kavramak benim ilgimi çok çekti. Program yazarken belki onlarca hata aldım ancak tuttuğum notlar ve analitik düşünme burada çok işime yaradı. Peki ya çözemezsek? O zaman kendime zarar verecek kadar sinirlendiğim oldu. Bilgisayar başında onlarca saat otur ama kodunda hata olsun... Hiç hoş karşılayamadım.





56b9d2ed402014ce08e970da.jpg

Bölüm 6. - Hızlanma Süreci
Artık temel bilgiler biliniyor. Sırada döngüler, metodlar, fonksiyonlar ve daha niceleri. Temel bilgilerin üzerine zorlanmadan katılabilecek bilgilerin yığıldığı yer diyebilirim. Öğrendiğin onca şeyi denemek, notlar tutmak, hatalar almak, çözümler için bilgisayarın içinden geçmek, parmaklarının acımaya başlaması, uyku problemleri yaşamak... Dahası da vardır. En kötü bölümlerden biri olduğunu söyleyebilirim, öğrenmesi en zor yerlerden belki de. Ancak Python yazılım dilinde "Artık bir şeyler yapabilirim." diyebildiğim yer burasıydı. Hiç bir program ben ve notlarımdan kaçamazdı - sanıyordum -.














Kısım 2. - Python 2. Seviye



kaynak-kod.png


Bölüm 7. - İleri Seviye Python
Sandığıma göre artık Python'da çok iyiydim. Ne büyük ahmaklık! Her şey daha yeni başlamış. Python'un sahip olduğu binlerce kütüphane sağ olsun yapılabilecek yüzlerce şey var. Yüz tanıma, büyük veri, veri görselleştirme, analizler, yapay zekalar ve nicesi... Ben burada uygulama yapmaya çalıştım. PyQt5 kullanılarak oluşturulan uygulamalar, kodlanması zor gibi görünse de temel olarak kolaydı. Neyi nasıl yapacağını öğrenmek çok zahmetli olsa da biraz deneme yanılma yaptıktan sonra her şey yavaş yavaş yerine oturdu. Öğrendikçe hevesleniyor, heveslendikçe öğreniyordum. Yeterince öğrendikten sonra artık Python ile bir uygulama geliştirebilirdim. Aynı zamanda Selenium, BeautifulSoup, Requests ve Scrapy sayesinde internetten veri çekmeyi ve belirli işler için bot yapmayı öğrendim. Bunun yanında Pandas ve Numpy kütüphaneleri ile veri analizi yapmayı öğrendim. Matplotlib kütüphanesi ile de veri görselleştirmeyi öğrendim. Ancak hâlâ yeterince iyi değildim. Hâlâ bir oyun yapamazdım. Oysaki PyGame kütüphanesi ile yapılabilirdi. Ama benim gidişatımda oyun yapmak bulunmuyordu. Binlerce kütüphane ile binlerce şey yapılabilirdi. Ancak ben iki tane iş becerince havalara girmiştim. Ama böyle olmamalıydım, çünkü yolculuğumda bir durak daha vardı: WEB sitesi geliştirmek...








frameworks.jpg

Bölüm 8. - WEB Sitesi Geliştirmek
Bir WEB sitesi geliştirmek için Framework'ler kullanılıyordu. Ben de "Flask" ve "Django" adında iki Framework'e göz diktim. Bu Framework'ler için programlar kurmak çok zorlu geçti. Nedeni belli olmadan onlarca hata aldım ve çözmek için günlerimi harcadım. Ama en sonunda gerekli uygulamaları kurdum. Sırada veri tabanı nedir onu öğrenmem lazımdı. Diyelim ki bir site yapacağız ve kayıt sistemi olacak. Kayıt olan kullanıcıların kullanıcı adları, şifreleri, yazdıkları şeyler yani genel anlamda verileri nerede tutulacaktı? Bunun için SQL veri tabanını öğrenmem gerekti. Açıkçası o kadar zorlanmadım. Kendi bilgisayarımda oluşturduğum veri tabanına veri yükleme, veri silme, veri güncelleme, veri filtreleme gibi şeyleri hemencecik kavradım. Artık Framework'lere geçebilirdim. Flask WEB Framework'u ile başladım ve öğrenme sürecim çok güzel geçti. Python ile bir site kurmak nasıl bu kadar kolay olabilirdi? Hem eğlenceli, hem deneme yanılmalı hem de güzel sonuçlar çıkartarak bir öğrenme süreci geçirdim. Sitelerim hem çok güzeldi hem de rahatlıkla kodlanabiliyordu. Sırada gözümü Django'ya dikmiştim. Flask WEB Framework'ten daha geniş çaplı bir Framework'tü Django. Onu da öğrenmek için kollarımı sıvadım ancak yürümeye başladığım gibi düştüm. Django, Flask kadar kolay değildi. Bu kadar geniş çaplı olmasının yanında zorluğunu da getirmişti. Ama Flask'tan daha iyi bir Framework olduğu aşikârdı. Hem kendi yönetici paneli, hem kendi veri sistemi ile çok büyük bir Framework'tü Django. Profesyonel sitelere dâhi altyapı olabilirdi. Öğrenmesi zordu ancak öğrenince çok önemli bir adım attığımı anlamıştım. Aynı zamanda WEB sitesi yapmak için temel de olsa "HTML", "CSS" ve "Bootstrap" bilgisi lazımdı. Ancak ben hiç bilmeden, hemen atladım. Sıkıntı da yaşamadım. Kavramak zor olmadı. Ve bunlarla birlikte bir önceki bölümde belirttiğim Requests kütüphanesini de kullandım.







adaasdas.PNG

Bölüm 9. - Karşılaşılan Hatalar
İnsanı çileden çıkaran o yerler. O kırmızı rengi görünce canımdan can gidiyor. Sinir krizi geçirdim buralarda. Tüm haftamı bir hata ile uğraşarak geçirdiğimi biliyorum. İnternette aramadık yer bırakmadım. Lanet olsun bu hatalara. Kan ter içinde çözmeyi denedim de olmadı. Günler harcadığım hatanın bir parantezi açık unutmak veya bir harfi yanlış yazmak olduğunu bilirim. Siz siz olun, sakin kalmaya çalışın. Benim gibi sinirlenirseniz elbet gözünüzden kaçar...







ingilizce-hakkinda-hic-bilmedikleriniz.jpg

Bölüm 10. - İngilizce
İnterneti her daim kullanacaksınız. Kullandığınız derleyiciler, forumlar, karşılaştığınız hatalar yani kısaca her yerde İngilizce söz konusu. En ufak şeyde internetteki yabancı forumlara göz atmak çok önemli bir şey. İngilizce makaleler dâhi işinize yarar. Bu yüzden her şeyden önce İngilizce öğrenilmesi gerektiğine inanıyorum. Eğer yeterli İngilizceye sahip değilseniz ilk iş olarak İngilizce öğrenmeye çalışın. Artık her şeyi İngilizce yönetiyor. Ben bu kursa 9. sınıf bir öğrencinin bileceği İngilizcenin bir tık üstünde bir İngilizce bilerek başladım ve çok işime yaradı. Eğer İngilizceniz iyi değilse şiddetle öğrenmenizi tavsiye ediyorum.











Kısım 3. - Kapanış
Size 40+ saat harcadığım Python maratonunu özetledim. Okuyan herkese çok teşekkür ederim. Yardımım dokunduysa ne mutlu bana! Bu arada ilk blog denememdi. Her şey dâhi yanlış olabilir. Hakaret etmeden söylediğiniz her eleştiriyi göze alacağım. Teşekkürler.


Kaynakça:


Siteler:




















(40+ Saat) Python | Sıfırdan İleri Seviye Programlama (2020)

Resimler:













  • images.jpg
    images.jpg
    5,6 KB · Görüntüleme: 77
  • indir.jpg
    indir.jpg
    3,5 KB · Görüntüleme: 54
  • indir (1).jpg
    indir (1).jpg
    7,1 KB · Görüntüleme: 45
  • indir (2).jpg
    indir (2).jpg
    13,4 KB · Görüntüleme: 49
  • indir (2).jpg
    indir (2).jpg
    13,4 KB · Görüntüleme: 42
  • indir (3).jpg
    indir (3).jpg
    7,5 KB · Görüntüleme: 50
  • xq0VJ.jpg
    xq0VJ.jpg
    48,5 KB · Görüntüleme: 58
  • Python.jpg
    Python.jpg
    7,2 KB · Görüntüleme: 77

Son incelemeler

Artıları: Bilgi dağarcığım genişledi. Bu yazıya bu kadar bilgiyi sığdırmak herkesin işi değildir. Kendimi bildim bileli kod öğrenmeyi zor bulmuşumdur, yazı beni açtı.
Eksileri: Bazı fotoğraflar biraz alakasız, onun dışında kısa ve öz.
Her şeyi artı ve eksilerde belirtmişim, pardon. 😅

Yorumlar

Algoritma kursu için Udemy kullanmanıza gerek yok. Kısa bir kurs önereyim:


Hocam sıralamamı şöyle yapacağım doğru mudur? Bu kurslar sizce nasıl? İkinci olarak algoritmadan sonra phytonmu öğreneyim yoksa Java dili mi? 1.Algoritma 2.Phyton 3.java dili
 
Bölüm 3. - Gerekli Ortamların Kurulması
Genel olarak en zorlandığım yer olabilir. O lanet uygulamaları kurmak bu kadar zor olmamalı. Sistemim kaldırmıyor diye bin bir türlü işkenceye girmek insanı aşırı soğutuyor. Kurulum sırasında aldığın hataları internette aramak ve bulmak için saatlerini harcamak beni en çok yavaşlatan şeylerden biri oldu. Sistemimin kaldırmadığı yerleri deneyemeyip sadece not tutarak ilerlemek akılda kalıcılığı az da olsa düşürdü. Ama sonuç olarak öğrendim ve önemli olan da bu.


Bu kısımda ne demek istediğinizi tam olarak anladığımdan emin değilim ancak bu kısımdan yola çıkarak bir kaç sorum var.

Programlamaya ben de python ile başlamak istiyorum, b2 seviye İngilizcem var, ilk önce programlama mantığını çözeceğim her şey tamam. Ancak hangi programları indireceğim, bunları nereden indireceğim emin değilim. Yukarıda ki yazınızdan da bu tarz sıkıntılar çektiğinizi var sayarak sormak istedim. Bunları verirseniz sevinirim. 1.Kısım dışındakileri kafam karışmasın diye okumadım ileri seviye yazdığı için.

Şunu da söylemek istiyorum Yapay Zeka, Web programlama ile uğraşmayı düşünüyorum. Belki ileriki zamanlarda mobile de girişebilirim. Başlamadan önce bunlar için de ayrıca bir öneriniz var mı?

(40+ Saat) Python | Sıfırdan İleri Seviye Programlama (2020)

Açıkçası bir kursun tek başına yeterli olacağını düşünmüyorum bu yüzden size de sormak istiyorum. Bu eğitimi yeterli görmeyip bitirdikten sonra veya aynı anda başka bir kaynaktan da çalıştığınız oldu mu olduysa kaynak verebilir misiniz?
 
Son düzenleme:
Bölüm 3. - Gerekli Ortamların Kurulması
Genel olarak en zorlandığım yer olabilir. O lanet uygulamaları kurmak bu kadar zor olmamalı. Sistemim kaldırmıyor diye bin bir türlü işkenceye girmek insanı aşırı soğutuyor. Kurulum sırasında aldığın hataları internette aramak ve bulmak için saatlerini harcamak beni en çok yavaşlatan şeylerden biri oldu. Sistemimin kaldırmadığı yerleri deneyemeyip sadece not tutarak ilerlemek akılda kalıcılığı az da olsa düşürdü. Ama sonuç olarak öğrendim ve önemli olan da bu.


Bu kısımda ne demek istediğinizi tam olarak anladığımdan emin değilim ancak bu kısımdan yola çıkarak bir kaç sorum var.

Programlamaya ben de python ile başlamak istiyorum, b2 seviye İngilizcem var, ilk önce programlama mantığını çözeceğim her şey tamam. Ancak hangi programları indireceğim, bunları nereden indireceğim emin değilim. Yukarıda ki yazınızdan da bu tarz sıkıntılar çektiğinizi var sayarak sormak istedim. Bunları verirseniz sevinirim. 1.Kısım dışındakileri kafam karışmasın diye okumadım ileri seviye yazdığı için.

Şunu da söylemek istiyorum Yapay Zeka, Web programlama ile uğraşmayı düşünüyorum. Belki ileriki zamanlarda mobile de girişebilirim. Başlamadan önce bunlar için de ayrıca bir öneriniz var mı?

(40+ Saat) Python | Sıfırdan İleri Seviye Programlama (2020)

Açıkçası bir kursun tek başına yeterli olacağını düşünmüyorum bu yüzden size de sormak istiyorum. Bu eğitimi yeterli görmeyip bitirdikten sonra veya aynı anda başka bir kaynaktan da çalıştığınız oldu mu olduysa kaynak verebilir misiniz?

Programları indirirken zaten o kurstaki hoca size her şeyi detaylı olarak anlatıyor. Rahatlıkla halledebilirsiniz.

Yapay Zeka demek zaten direkt Python demek. WEB için başka diller lazım olabilir ancak Django ve Flask Framework'leri çok işinize yarar.

Kurs anlamında da başlangıç için çok yeterli, zaten sonrasında kendi seviyenizi anlayıp ona göre araştırma yaparsınız. Tek başına elbette yeterli olmaz ancak kurs sonunda nereden devam etmeniz gerektiğini anlayacağınızı düşünüyorum.
 
Programları indirirken zaten o kurstaki hoca size her şeyi detaylı olarak anlatıyor. Rahatlıkla halledebilirsiniz.

Yapay Zeka demek zaten direkt Python demek. WEB için başka diller lazım olabilir ancak Django ve Flask Framework'leri çok işinize yarar.

Kurs anlamında da başlangıç için çok yeterli, zaten sonrasında kendi seviyenizi anlayıp ona göre araştırma yaparsınız. Tek başına elbette yeterli olmaz ancak kurs sonunda nereden devam etmeniz gerektiğini anlayacağınızı düşünüyorum.

Anladım, peki algoritma ve programlama temelleri üzerinde ne kadar durmalıyım? Elimde hali hazırda 4 tane kitap var bunlardan bir tanesi "Algoritma Geliştirme ve Programlamaya Giriş Doç. Dr. Fahri VATANSEVER". Bu kitabı birkaç ay önce Algoritma vs. öğreneyim diye çalışmak istemiştim ancak aynı şeyleri tekrar tekrar yaptırınca sıkıldım ve çeyreğinde bıraktım aşağı yukarı. Bu tarz bir kitabı bitirmem bana çok büyük bir fayda sağlar mı yoksa yüzeysel bir şekilde videolar ile bu kısmı halledebilir miyim?
 
Anladım, peki algoritma ve programlama temelleri üzerinde ne kadar durmalıyım? Elimde hali hazırda 4 tane kitap var bunlardan bir tanesi "Algoritma Geliştirme ve Programlamaya Giriş Doç. Dr. Fahri VATANSEVER". Bu kitabı birkaç ay önce Algoritma vs. öğreneyim diye çalışmak istemiştim ancak aynı şeyleri tekrar tekrar yaptırınca sıkıldım ve çeyreğinde bıraktım aşağı yukarı. Bu tarz bir kitabı bitirmem bana çok büyük bir fayda sağlar mı yoksa yüzeysel bir şekilde videolar ile bu kısmı halledebilir miyim?
O kadar önemli bir kısım değil, isterseniz direkt atlayın.
 

Blog girdisi detayları

Ekleyen
Sanch
Okuma süresi
6 dakika okuma
Görüntüleme
4.805
Yorumlar
29
İncelemeler
1
Son güncelleme
Değerlendirme
5,00 yıldız 1 değerlendirme

Yazılım kategorisindeki diğer girdiler

Bu girdiyi paylaş

Geri
Yukarı