Kısım 1. - Başlangıç
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.
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.
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.
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.
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.
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
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...
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.
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...
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:
Learn computer science. Change the world.
Every student has the potential to change the world. Help them get started. #CSforGood
code.org
Scratch - Imagine, Program, Share
Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.
scratch.mit.edu
KeepNote: Note taking and organization
KeepNote: note-taking and organization. KeepNote is a note taking application that works on Windows, Linux, and MacOS X. With KeepNote, you can store your class notes, TODO lists, research notes, journal entries, paper outlines, etc in a simple notebook hierarchy with rich-text formatting...
keepnote.org
pandas - Python Data Analysis Library
pandas.pydata.org
Welcome to Flask — Flask Documentation (1.1.x)
flask.palletsprojects.com
The Web framework for perfectionists with deadlines | Django
www.djangoproject.com
SQL Tutorial
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
HTML Tutorial
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
CSS Tutorial
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
(40+ Saat) Python | Sıfırdan İleri Seviye Programlama (2020)
Resimler:
Spor Öncesinde Yapabileceğiniz 5 Isınma Hareketi
Spor öncesi yapacağınız bu ısınma hareketleriyle hem eklem, kas ve kalp sağlığınızı koruma altına al...
blog.gittigidiyor.com
Download. Download Button. Illustration, data.
Download Download. Download Button. Illustration, data. Vector Art. Choose from over a million free vectors, clipart graphics, vector art images, design templates, and illustrations created by artists worldwide!
www.vecteezy.com
Ders Çalışmak İçin Tavsiyeler - Çalışma Taktikleri - Kunduz
Ders çalışmak bazı taktiklerle daha kolay, verimli hale gelebilir. Ders çalışmak için en önemli püf noktalar bu yazımızda!
kunduz.com
Koşu performansınızı geliştirmek için ipuçları
Ne kadar uzun koştuğunuz değil, destekleyici antrenmanlarla tekniğinizi ne kadar geliştirdiğiniz önemli.
www.cnnturk.com
Kaynak Kod Nedir?
Kaynak Kod, bir yazılımın oluşturulmasında yer alan kodların tümüdür. Kaynak kodların içerisinde yazılımı meydana gelen kodların her biri satır satır yer alır.
wmaraci.com
Python İçin 2018'in En İyi 7 Web Framework'ü - Hostrazzi
Framework'ler ise hiç şüphesiz uygulama geliştiricilerin hayatını kolaylaştırır. Ortak çözümlerin uygulanmasını otomatik hale getirir, geliştirme süresini kısaltır ve geliştiricilerin rutin öğeler yerine uygulamalarına daha fazla odaklanmalarını sağlar.
www.hostrazzi.com
İngilizce Yazılı Çeviri - Tercüme - Nikbinlik Ankara Tercümanlık Bürosu
Nikbinlik Ankara Tercümanlık Bürosu Olarak, İngilizce yazılı çeviri ekibimiz ihtiyaç duyduğunuz her alanda çeviri hizmeti vermeye 7/24 hazırdır.
www.nikbinlik.org