Yazılımcı Olma Yolunda Destek

Selamun Aleyküm.

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.

Şimdiden teşekkürler.

1 Beğeni

Ö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.

2 Beğeni

Ö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

1 Beğeni

@kivanc @tarik.vardar

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 :wink:

1 Beğeni

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

1 Beğeni

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

1 Beğeni

Aleyküm Selam.

Öncelikle şu sorulara yanıt bulmak gerekiyor.

Hangi tür yazılımlar geliştireceksiniz?

Sunucu uygulaması ile pencereli uygulama geliştirmek oldukça farklıdır.

Geliştirdiğiniz yazılım hangi platformda çalışacak?

Bilgisayar, cep telefonu vs.

Yazılım öğrenmedeki amacınız nedir?

İşe girmek.

Hobi amaçlı yazılım geliştirmek.

Okuldaki eğitimin parçası olarak kendini geliştirmek.

GTK pencereli uygulama geliştirmek için bir kütüphanedir.

Vala, Python ve D dilleri ile basit bir GTK uygulamasının nasıl yazıldığı burada anlatılıyor.

Ama bir kaç ders sonraki ses çalıcısı sizin seviyenize göre oldukça fazla gelebilir.

Burada yabancı dilde Python ve GTK dersleri var.

GTK konusunda kendinizi geliştirmenin yolu GTK ile uygulamalar geliştirmektir.

Sonra ileride başka insanların geliştirdiği uygulamanın kaynak kodunu okuyabilirsiniz.

Örneğin ben dün bu sayfada GTK ile geliştirilmiş bir tarayıcının kaynak kodunu inceledim.

Verileri SQLite3 biçiminde kaydetmek için D dilinde böyle bir paket var.

Kullanımı oldukça kolay gözüküyor.

Ben MongoDB kullanıyorum.

1 Beğeni

@zayifakimkolu

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.

@shampuan

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.

@kivanc @tarik.vardar @shampuan @NikBulamadim @Beko @zayifakimkolu

İş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.

1 Beğeni

Çok güzel.

O zaman D dilini öğrenmenizi tavsiye ederim.

Burada ücretsiz Türkçe bir kitap var.

GTK ile çalışırken Glade isimli bir yazılımı kurarak pencere tasarımlarını oluşturabilirsiniz.

D dilini bir süre öğrendikten sonra GTK öğrenmeye başlayabilirsiniz.

GTK ile en basit uygulama ise Glade ile tasarlanmış bir pencereyi yükleyip bazı özelliklerini örneğin saati değiştirmek olabilir.

Diyelim ki bunu yaptınız.

Bir sonraki adım her saniye saati bir azaltsın.

Bunun da sonraki adımları bağlantıda var.

Her adımda geliştirdiğiniz uygulamaya yeni bir özellik eklemeye çalışabilirsiniz.

Örneğin uygulama bırakıldığı konumu hatırlasın.

Oldukça eski bir programlama kitabında bir merdiven resmi vardı.

Demek istiyor ki nasıl merdivenin tepesine bir sıçrayışta çıkamıyorsanız, yazılım geliştirme de adım adım öğrenilir.

D ile sunucu uygulamalarından tutun çok farklı alanlarda uygulamalar geliştirilebilir.