Yazılıma ilgiliyim. Faydalı bir şeyler üretmek istiyorum. Bu niyetle Pardus Uzaktan Eğitim Merkezinde yer alan “Python ile Programlama Eğitimi” ve "Pardus’a Uygulama Geliştirme Eğitimi"ni bitirdim. Basitten İleri seviye projelere kadar bazı proje fikirlerim var. Ancak hala üretim için bazı eksiklerim var.
Bir fikir, projeye dökülürken nasıl başlanır, nasıl ilerlenir bilmiyorum.
Pardus’ta genel olarak arayüz tasarımlarında kullanılan GTK, Python ile kullanılabiliyor ama Python ile yazılmadığı için Dökümanlarını anlayamıyorum.
Programın veri tabanı da olması gerekiyor ancak bağlantılar hakkında tam bilgi sahibi değilim.
Yapay Zeka araçları ile birşeyler üretebilirim ancak sürekli hazırdan almak beni geliştirmiyor ve aslında benim özgün üretimim olmuyor.
Benim gibi yeni yola çıkan kişilerin de benzer sorunları oluyordur. Yazılımda deneyimli forum üyelerinden tavsiyelerini bekliyorum.
Ayrıca yeterli olduğumda Pardus Geliştirme Ekibinde gönüllü olarak katkıda bulunmayı da isterim. Bunun gereklilikleri ve yoluna dair de yorumlarınızı beklerim.
Öncelikle şunu bilmelisiniz ki bir kod yazmaya başlamak, fikir bulmaktan daha kolaydır. Bir sorun varsa, ve nasıl çözeceğiniz hakkında bir fikir bulduysanız yolu yarılamışsınız demektir. İlk önce kullanıcı arayüzü ile çalışan bir program yazmak yerine terminal arayüzlü bir program yazmanızı tavsiye ederim. Dosyayı açtıktan sonra aklınıza ne geliyorsa yazın. Sonradan törpülersiniz zaten. Ayrıca yapay zekayı bir yazar yerine eleştirmen ve bir öğretmen olarak kullanmanızı da öneririm.
Öncelikle tavsiyem belirli kodlama sistemlerini kendiniz bilip devamında detesk almanız. Çünki bimeden geliştirme olmuyor. Flutter, kotlin, html, php, sql, python hepsi ayrı bir ekosistem. Mantığı anlarsanız YZ vb destekle kodlama yapabilirsiniz.
Temeliniz olursa o zaman her şey kolaylaşıyor, asıl amaç temel mantığı anlamak
Yazılım dili olarak Python öğrendim, tabi ileri seviye değil. Geliştirmeye Pardus ortamında başlamak istediğim ve genel arayüz de GTK kullanıldığı için GTK kursunu da izledim. Çalışma mantığını anladım ancak Dökümanları C diline göre yazılmış. Tecrübem olmadığı için Python mantığına çeviremiyorum. Daha önce C dilini tecrübe etmemiş biri olarak GTK dökümanlarını anlamak için ne yapmalıyım?
Veri tutması için SQLite derslerine de baktım. Ancak bunlar kendi alanında ayrı kurslar olduğundan bu bilgilerin bir arada nasıl pratiğe döküleceği konusunda tıkanıyorum.
Aslında her tıkandığım yerde yapay zekadan yardım alarak projeyi yarıladım ama farkettim ki artık projenin içeriğine hakim değilim. Yani ne, nereden, nasıl işliyor bilmemeye başladım. Parça parça destek alıca bütüne hakimiyetim gitti.
Mustafa bey, “temel bir eğitim” aldığınız için zorlanıyorsunuz. Eğitiminiz -anladığım kadarıyla- uygulama yapmak için yeterli seviyede değil. Python’u GTK ile konuşturabilmek için sadece belgelerle değil, yeterli eğitime erişerek de çalışmanız gerekiyor.
YZ’ye soru sormaktan çekinmeyin. Artık hiçbir şey eskisi gibi değil. Şu yazdıklarınızı kendisine anlattığınızda size örneklerle nasıl yapıldığını açıklıyor. Bu, günlerce belge aramaktan sizi kurtarır. Nelerin nasıl yapıldığını sorduğunuzda tek tek, madde madde anlatır. Ama şu önemli: temel seviyeden kurtulup daha ileri seviyeye erişmeniz şart.
Bu arada, ben bir yazılımcı değilim. Dediğimi yapın, yaptığımı yapmayın
bence önce ne iş yapacağını seç . Seçtiğin iş netür kodlama istiyorsa oraya yoğunlaş bence. başlangıç noktan olsun seçtiğin iş bence . Bunlar hep bence sen ne istiyorsan artık . Ben otomasyon sistemleri istiyorum diyorsan araştır nasıl kodlama gerek oraya yoğunlaş . örnekti otomasyon sistemleri
Uygulamalar sadece Pardus’a özel değil, daha geniş bir alana (örnek hoş ve sade gözüken GtK’den bahsettiniz, Gnome destekleyen her dağıtım için yapacağınız uygulamalar yerel görünüm sağlar) bakmak olumlu olabilir. Size şunları söyleyebilirim:
1: Fikir Bulma
Hazır bir aracın eskiklerini gidererek veya hiç olmamış(erişimi az) bir araç tasarlayarak fikir bulmaya başlamalısınız. Sonra fikrinizin iyi/kötü yanlarını belirleyip herhangi bir etki bırakıp bırakmayacağına karar vermeniz uygun düşer
2: Prototip
Yazılımınızın hem arayüzhem de arka plan olarak iki farklı prototipini oluşturmalısınız. Arayüz için figma (bakınız), arka planda yapacaklarınız için ise temel bir not defteri kullanabilirsiniz.
3: Kodlama
Artık tüm planınıza göre hangi güne göre bitireceğinizi belirleyip yazılımı kodlamaya başlamalısınız. Ancak önemli nokta şu var:
Her ne kadar ben de başlangıçta öyle baksam da yapay zekayı kullanmamak büyük bir hata. Gerçekten işimi çok kolaylaştıran bir araç. Eğer kendimi kaptırıyorum veya anlamak istiyorum diyorsanız şu şekilde bir kullanım yapabilirsiniz:
1. Yapay zekaya “Bana şöyle bir uygulama yap” demek yerine “Bana şöyle bir uygulamanın başlangıç için bol yorumlu ve okunabilir script’ini oluştur” deyin 2. Yapay zekaya “Bana şöyle bir uygulama için arayüz oluştur” demek yerine daha net bir renk paleti, tasarım, arayüz bileşenlerinin konumları gibi spesifik örnekler vererek arayüz fikri alın. 3. Tamamen yazdırmak yerine genellikle yazamadığınız veya uzun (Ama kritik değil) kısımları ona yazdırın. Eğitimde ise ona soru sormaktan çekinmeyin @shampuan kullanıcısının dediği gibi
Yazılımı hobi amaçlı ve bir fayda üretme niyetiyle öğreniyorum. İşe girme gayem yok.
İlk deneme projem sadece Pardus özelinde, pratiği yaptıkça ve bilgiyi pekiştirdikçe, projenin ilerleyeceği yöne doğru gelen ihtiyaçlara göre yeni şeyler öğrenmeye devam edicem.
Yapay zekayı bütünüyle bir uygulama geliştirmesi için değil de tıkandığım yerlerde, parça parça bilgiyi kolayca hazır edip vermesi sayesinde önümü açması için kullanıyorum. Bu şekliyle de çok fayda buluyorum. Sadece başlarda verdiği cevaptaki her satır kodu tek tek anlamadan kullanmıyordum, anlamadığım bilmediğim kısımları tekrar sorarak izah etmesini istiyordum. Bir zaman sonra direk verdiği cevabı kopyalayıp devam ettiğim için biraz ilerlediğinde projenin içi bilmediğim bir sürü yer ile doldu ve ilerleme hevesimi kırdı. Bu da yapay zekanın hep hazıra alıştırdığı ve öğrenmemi körelttiği düşüncesini doğurdu. Ancak aslında kötü olan yapay zeka değildi, sonradan yaptığım kullanım şekli ile öğrenme yolunu kendim atladığım içindi. Bunu farkettim ve şimdi tekrar bilmediğim yerleri sorarak anlattırıyorum. Yeni bilgileri Obsidian ile not tutuyorum ve daha sonra tekrar dönüp bakabileceğim bir yer olmasını sağlıyor.
İşin bu yanı da Pardus Forum Topluluğunun güzel bir yönü. Verdiğiniz cevaplarla tekrardan yaptıklarımı sorgulamama ve projeme devam etmeme vesile olduğunuz için teşekkürler.