• 13-07-2024, 02:18:40
    #1
    Ilk olarak 2019 yilinda basladigim yazilima belirli araliklarla hevesim kactigi icin ara vermistim. Ilk basladigim sanirim 2019'du ara verdim. 2020'de dondum. 2021'de biraktim.2022 dondum kisa bir sure sonra biraktim 2024 yaz ayi tekrar basladim.

    Bu sure zarfinda, 2 sene once Android (Kivy ile) bir uygulama yazmistim.
    Su an oldukca odaklandim.
    Python'da tum dersleri en ince ayrintisina kadar ogrendim.
    Alt yapiya onem veren biriyim dolayisiyla kutuphanelere direk atlamak istemiyorum.

    Ilk baslarda Youtube'de, Yakin Kampus, Burak Kocaslan, Mert Sis ve Python'a giris kanallarini izleyip alt yapi yapmistim. Ozellikle Python'a giris bence bir numara. Sebebini anlatacagim. Sonra surekli yabanci kaynaklara yoneldim. Bu arada unutmadan Mert Sis'e de cok tesekkur ederim. Uzun sure sonra Corey Schafer ile tanistim. Bu kanal ilk python videolari ceken kanallardan. Beni etkileyen sey, bir insan 8 sene once boyle mukemmel videolar nasil cekmis merak ediyorum. Guncel videolar bile eline su dokemez. Bu suna benziyor. Atiyorum 500 1000 yil once bazi medeniyetlerin muhtesem yapilar yapmasi gibi. Bugun bile onlari yapamazsiniz. Birkac yil sonra anladim ki Python'a giris kanalindaki videolar Corey Schafer'in aynisiymis. Meger o arkadas da o kisiden ogrenmis. Orneklerinden anlamistim.

    3 yil once gelecek videolarda gorusmek uzere diyen Python'a giris kanalinin sahibinden hala ses yok. Vefaat etti diyorlar. Ama kimse bilmiyor.

    Devam edeyim. Ben Python derslerini cok kisiden izledim. Boyle olunca ayrintilari yakaliyorsunuz ve ilerleyen surecte bir playlist izlerken gereksiz oldugunu goruyorsunuz. Ornegin Brocode Bu arkadasimizin 18m izlenmeli 12 saatlik python dersi var. 6 saati tkinter ve gerisi kisa kisa neyin ne oldugunu anlatmis.... Kisacasi takip ettiginiz insanlar onemli. Tabi bunu asla o kisiler kotuler diye soylemedim. Bazilari sadece neyin ne oldugunu anlatir, bazilari ana mantuigi anlatir.

    Su an Angela YU egitim setinde %20'deyim ozellikle ornekleri projeleri mukemmel. Hepsini kendim yazmaya calisiyorum.

    Youtube'de kendime playlist olusturdum. Freecodecamp'te bir tane Class sistemi ile ilgili 2 saatlik bir video var. Tek kelime ile muh-te-sem. Artik Class sistemini A-Z biliyorum. Sistem nasil calisiyor python nereye gidiyor neyi okuyor neyi olusturuyor, class methodlari, class attributeler, instance attributeler instance methodlar, decoratorler ve cesitler... Guzel kaynaklar var ama denk gelmek lazim. Bu arada ben 50 ana konuyu hep farkli kisilerden izleyip bir github reposuna kaydediyorum. Boylece 2 sene yazilima bakmasam notlari 1 haftada sular seller gibi yaparak donebilirim. Not onemli. Bu arada repom gizli. Cok emek verdim cunku. Lakin ingilizce bir kodlama egitim sitesi acmayi dusunuyorum. Boyle birsey olursa paylasirim.

    Derslere donelim.
    Mesela global, local Scope konusunda, yani global, yerel degiskenlerde ben bir kisinin Python'nun once local, sonra enclosing (kapsayan fonksiyon, sonra global degisken en son built in metodlarini takip ettigini bilmiyordum. Veya classtan uretilen obje, class attribute yani ozelligini once kendinde arar bulursa kendinden kullanir bulamazsa Class Attributu kullanir gibi. Basit ama onemli seyler...

    Python ezber isi degil gerckten neyin nasil oldugunu iyi anlamaniz gerekiyor.

    Class yapisiyla yapilmis oyunlari listeme ekliyorum, semalarini cikartmaya calisiyorum.

    Su an yol haritam Angela Yu bitirmek ve Freecodecamp'te birkac playlist var onlara bakmayi planliyorum. Motorcu bir abi Freecodecamp'te acaba hicbir yerde gormedigim birseyler varmidir onda diye merak ediyorum. 15 saatlik videosu vardi ne kaparsam kar diyorum bu ay bunlari bitirmye calisacagim. Muhtesem notlar tutuyorum. Bu cok onemli. Eskiden film dizi izlerdim artik biraktim.

    Su an Angela'nin projelerini kopya cekmeden yapiyorum bugun Kahve makinasi projesi yaptim. 2 saat surdu. Iste urun fiyatlari var, urunlerin gereksinimleri var, sut su kahve gibi ayrica makinanin kaynaklari var, makinada su kahve sut var. Kisi bir urun alicak iste once kaynak varmi sonra parasi yetiyormu. Islem sonunda bu veriler guncelleniyor. Para aliyorsun ustunu hesapliyor filan. Guzel oldu.

    MENU = {
        "espresso": {
            "ingredients": {
                "water": 50,
                "coffee": 18,
            },
            "cost": 1.5,
        },
        "latte": {
            "ingredients": {
                "water": 200,
                "milk": 150,
                "coffee": 24,
            },
            "cost": 2.5,
        },
        "cappuccino": {
            "ingredients": {
                "water": 250,
                "milk": 100,
                "coffee": 24,
            },
            "cost": 3.0,
        },
    }
    
    resources = {
        "water": 300,
        "milk": 200,
        "coffee": 100,
    }
    
    QUARTERS = 0.25
    DIMES = 0.10
    NICKLES = 0.05
    PENNIES = 0.01
    
    
    def kaynak_kontrol(su, sut, kahve):
        eksikler = "Sorry not enough: "
    
        if (
            resources["water"] >= su
            and resources["milk"] >= sut
            and resources["coffee"] >= kahve
        ):
            return True
        elif resources["water"] < su:
            eksikler += "Water "
        elif resources["milk"] < sut:
            eksikler += "Milk "
        elif resources["coffee"] < kahve:
            eksikler += "Coffee "
        print(eksikler)
        return False
    
    
    def para_kontrolu(toplam_yatirilan, icece_fiyati):
        if toplam_yatirilan >= icece_fiyati:
            return True
        else:
            print("Sorry that's not enough money. {toplam_yatirilan} refunded.")
            return False
    
    
    def rapor_sorgulama():
        print(f"""
            Water : {resources["water"]}
            Milk : {resources["milk"]}
            Coffee : {resources["coffee"]}
            Money : {resources["money"]}
            """)
    
    
    def tahsilat_envanter(
        kasa,
        icecek_fiyati,
        icecek,
        icecek_suyu,
        icecek_sutu,
        icecek_kahvesi,
        toplam_yatirilan,
        guncel_kasa,
    ):
        if icecek == "espresso":
            kalan_su = resources["water"] - icecek_suyu
            resources["water"] = kalan_su
            kalan_kahve = resources["coffee"] - icecek_kahvesi
            resources["coffee"] = kalan_kahve
            para_ustu = toplam_yatirilan - icecek_fiyati
            print(f"Here is {para_ustu:.2f}$ in change")
            print(f"Here is your {icecek.title()} Enjoy!\n")
    
        else:
            kalan_su = resources["water"] - icecek_suyu
            resources["water"] = kalan_su
            kalan_sut = resources["milk"] - icecek_sutu
            resources["milk"] = kalan_sut
            kalan_kahve = resources["coffee"] - icecek_kahvesi
            resources["coffee"] = kalan_kahve
            para_ustu = toplam_yatirilan - icecek_fiyati
            print(f"Here is {para_ustu:.2f}$ in change")
            print(f"Here is your {icecek.title()} Enjoy!\n")
        kasa += icecek_fiyati
        guncel_kasa += kasa
        return guncel_kasa
    
    
    machine = True
    kasa = 0
    resources["money"] = 0
    guncel_kasa = resources["money"]
    MENU["espresso"]["ingredients"]["milk"] = 0
    while machine:
        icecek = input("""---What do you want to drink?---
        Espresso
        Latte
        Cappuccino
        *Report
        """).lower()
        if icecek == "off":
            break
        while icecek == "report":
            rapor_sorgulama()
            icecek = input("""---What do you want to drink?---
            Espresso
            Latte
            Cappuccino
            *Report
            """).lower()
        icecek_fiyati = MENU[icecek]["cost"]
        icecek_suyu = MENU[icecek]["ingredients"]["water"]
        icecek_sutu = MENU[icecek]["ingredients"]["milk"]
        icecek_kahvesi = MENU[icecek]["ingredients"]["coffee"]
        kaynak_varmi = kaynak_kontrol(icecek_suyu, icecek_sutu, icecek_kahvesi)
    
        if kaynak_varmi:
            quarters_coin = int(input("How many quarters? "))
            dimes_coin = int(input("How many dimes? "))
            nickles_coin = int(input("How many nickles? "))
            pennies_coin = int(input("How many pennies? "))
    
            toplam_yatirilan = (
                (quarters_coin * QUARTERS)
                + (dimes_coin * DIMES)
                + (nickles_coin * NICKLES)
                + (pennies_coin * PENNIES)
            )
            para_yeterli = para_kontrolu(toplam_yatirilan, icecek_fiyati)
    
            if para_yeterli:
                guncel_kasa = tahsilat_envanter(
                    kasa,
                    icecek_fiyati,
                    icecek,
                    icecek_suyu,
                    icecek_sutu,
                    icecek_kahvesi,
                    toplam_yatirilan,
                    guncel_kasa,
                )
                resources["money"] = guncel_kasa
    Bunu bugun yazdim. Cok ara vermistim cunku. Tekrar donmek hemen kolay olmuyor.

    Su an class yapisinda birsey yazmadim.
    Class yapisinda Football predictor diye kivy uygulamasi yapyim ama kolaydi.
    Bu ay classla bunlari yazmaya caba gosterecegim. Aslinda kolay. Kafamda su var. Class adan zye herseyi biliyorum ama bir proje yazacak olsam __init icinde projenin hangi kismini kullanmam gerektigine su an karar veremem Eger bir data kullaniyorsa data kullanirim ama ya bir mp3 playersa? Hic denemedim yapmadim. Kodlar yaziyorum ama daha full seviyede degilim. Class alismam lazim. 1ay egitimlere devam edicem.

    Bundan sonra Django gecmeyi dusunuyorum. Udemy cok set aldim ama nereden baslarim bilmiyorum.

    Django ile aldigim setler:

    Arno Pretorius tum set
    https://www.udemy.com/user/arno-pretorius-11/

    Experience as (Web) Developer
    https://www.udemy.com/course/python-django-the-practical-guide/?couponCode=KEEPLEARNING

    Mark Winterbottom
    https://www.udemy.com/course/django-python/?couponCode=KEEPLEARNING
    https://www.udemy.com/course/django-python-advanced/?couponCode=KEEPLEARNING#instructor-1

    Dennis Ivy
    https://www.udemy.com/course/python-django-2021-complete-course/

    Jose Portilla
    https://www.udemy.com/course/django-and-python-full-stack-developer-masterclass/?couponCode=KEEPLEARNING

    Django ilede bitmiyor front end icin angular veujs veya react bilmek lazim. OZellikle veujs ve react javascript tabanli. Django kullananlarin cogu veujs kullaniyor. Oda ayri bir ders java bilmeden onlari nasil yaparim bilemiyorum.

    Su an asiri zev aliyorum bazen 10 bazen 7 saat calisiyorum 4 saat altina dusmuyor.

    Gelismeler olursa yazarim. Yazilim guzel birsey. Insanin beynini gelistiyor. Problem cozdukce cok daha iyi oluyorsunuz bu acik net. Bakalim umarim bu kez vazgecmem.Keyif aliyorum para ile alakali bir durum yok bu arada...

    Dipnot: Scrapy iyi biliyorum
    Okudugunuz icin tesekkurler.
  • 13-07-2024, 05:54:53
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bu şekilde ilerlersen yakında yine bırakırsın.
  • 13-07-2024, 16:20:38
    #3
    zeyrek34 adlı üyeden alıntı: mesajı görüntüle
    Bu şekilde ilerlersen yakında yine bırakırsın.
    Tavsiyeniz ne olur?
    Tesekkurler.

    Aslinda birakma sebebi islerdendi. Yazilima zaman kalmiyordu.
    Bu benim kisisel gorusum ki, yazilim oyle gunde 1 saat bakilarak ogrenilebilecek bir sey degil. Hem detaylari ogrenmeniz hemde pratik yapmaniz gerekiyor. Boyle olunca yazilimi ancak ana is olarak yapacaksaniz basarili olunabilecegine inaniyorum.

    Bu sebeple:
    1) Kucukten ana is olarak baslanmali veya
    2) Ana isiniz degildir ama maddi hicbir sorununuz yoktur, hobi olarak gunde 3-4 saat zaman ayirirsiniz tabiki cok guzel projeler uretirsiniz. Kimisi keman calar kimisi spor yapar kimi yazilim yapabilir. Ancak hem yazilimdan hoslanip hem zaman ayirmak icin bircok seyden (isinizden) odun vermeniz gerekir.

    Simdilik iyi gidiyor, Bugun itibariyle tum projeleri Class ile yazmaya calisiyorum.

    Tum oneri tavsiye ve elestirilere acigim. Katkida bulunan herkese tesekkur ederim.
  • 13-07-2024, 19:04:57
    #4
    Çok takılma hızlı geç.