Yazılımcının Portföyü GitHub

Kodların Saklanması ve Arşivlenmesi

Bilgisayarımızda oluşturduğumuz bir proje klasörünü kopyalayarak hatta Proje Yeni, Proje Son, Proje Harbiden En Son Hali gibi isimlendirerek saklamak bazen çözüm yolu gibi gözükebilir. Fakat yapılan değişiklikleri takip etmek, projenin farklı sürümleri için kritik güncellemeler hazırlamak, disk arızalarına karşı harici kaynaklara yedeklemek, her yedek için dağ gibi büyüyen dosya boyutlarından kurtulmak aslında mümkün. Hatta projenizde sizin dışınızda kişilerin de sizinle paralel bir şekilde projenizi geliştirmesini sağlamak mümkün.

Bu işlevleri ve birçoğunu sağlamak için sürüm kontrol sistemlerini kullanmaktayız. Birçok alternatif sistem ve bu sistemlerin barındırılması için platform bulunsa da en çok rağbet gören sistemlerden birisi Git ve bu sistemi barındırmak içi kullandığımız GitHub bu iş için biçilmiş kaftan.

Git ve GitHub

Git, dağıtık bir versiyon kontrol sistemidir. Yazılım geliştirme projelerinde, kodun geçmiş versiyonlarını takip etmek, değişiklikleri yönetmek ve farklı geliştiriciler arasında iş birliği yapmak için kullanılır. Git, projelerin güvenli ve organize bir şekilde yönetilmesine olanak tanır.

GitHub, Git tabanlı bir bulut depolama ve iş birliği platformudur. Yazılım geliştiricilerin Git projelerini barındırmasına, paylaşmasına ve iş birliği yapmasına olanak sağlar. GitHub, açık kaynak projelerin yaygın olarak kullanıldığı bir platformdur ve bu projelerin geliştirilmesi için birçok katkı sağlar.

Portföy

Örneğin grafikerler yaptıkları çalışmaları göstermek için portföy platformları kullanmakta ve iş verenler bu portföylere bakarak grafikerin kendi amaçladıkları projeler için uygun olup olmadıklarına hızlı bir şekilde karar verebilmekte.

Eskiden işverenler yazılımcıların yetkinliklerini ölçmek için çalışan adayına görev verir ve o görevin çıktılarını incelemek zorunda kalırlardı. Bir diğer yol ise aynı projede çalışmış insanlara o adayla ilgili soru sormak ve kişiden referans istemekti.

Fakat artık yazılımcı hakkında bilgi edinmek için o kişinin GitHub sayfasına bakmak ve incelemek yeterli oluyor. Bunun için hazırladığınız örnek projelerinizi GitHub’a yüklemek ve kendiniz hakkında bir profil içeriği hazırlamanız yeterli.

Hadi Portföy Oluşturalım

  1. Her şeyden önce kendinize bir GitHub hesabınıza giriş yapın. Eğer hesabınız yoksa aramıza katılmak için çok geç kalmadınız, sizi de aramıza bekliyoruz.

  2. Hesap isminizle aynı olmak üzere bir depo (repository) oluşturalım. Hesap isminizle bir depo oluşturmaya çalıştığınızda bunun özelleşmiş bir depo olacağı ve bu deponun içine koyacağınız README.md dosyasının sizin profilinizde görüneceği hakkında sizi bilgilendirecek. Proje içine READMEdosyası ekle demeyi unutma. Unutursan ya da daha detaylı bir yapı oluşturmak istersen bunları da göstereceğiz.

  3. READMEdosyasını düzenle dedikten sonra istediğiniz gibi içeriğinizi yazarak kaydedebilirsiniz. İçeriğiniz artık profil sayfasında görünür halde olacak.

Profil İçeriğinizi Şekillendirme

Kodlama projelerinde dokümanlar için çoğunlukla markdown işaretleme dili kullanılır. Profilimizi düzenlemek için de bu dosya formatını kullanmamız gerekmekte.

Markdown, basit ve hafif bir işaretleme dilidir. Yazılım belgeleri, README dosyaları, blog yazıları ve daha birçok yerde kullanılabilir. Markdown, metinleri biçimlendirmek ve yapılandırmak için kullanılır. Başlıklar, listeler, bağlantılar, resimler gibi öğeleri kolayca eklemek için Markdown kullanılabilir. Platformlara bağlı olarak da bazı html etiketlerini destekler.

Beni Oku Oluşturucuları ve Örnekler

Profil içeriğinizi oluşturmak için birçok proje bulunmakta. İnternet üzerinden GitHub Profile Readme Generator şeklinde aratarak bunların birçoğuna ulaşabilirsiniz. Awesome GitHub Profile benzeri projeler üzerinden de diğer kullanıcıların yapmış olduğu profilleri inceleyerek onlardan örnekler alabilirsiniz.

Bu bağlantılara göz gezdirmek isteyebilirsin:

Awesome Github Profile

Beautiful GitHub Profile Readme

Hadi Bir Aralarından Bir Tane Seçip Profilimizi Hazırlayalım

AGRG: Awesome Github Readme Generator

  1. genreadme.cloud sayfasına girelim

  2. Get Started düğmesini tıklayarak profilimiz için beni oku dosyası oluşturmak istediğimizi söyleyelim

  3. Hakkımızdaki bilgileri doldurup, ilgilendiğimiz ve üzerinde çalıştığımız projeler hakkında bilgi verelim

  4. Kullandığımız yazılım dilleri, servis ve frameworkler’i seçelim

  5. Sosyal medya adreslerimizi girelim

  6. Göstermek istediğimiz GitHub istatistiklerini seçelim

  7. Oluştur dedikten sonra içeriği kopyalayıp kendi readme.md dosyamızın içeriğine yapıştırıp kaydedelim.

Benzer işlevleri yapan daha birçok proje var. Adımlar genelde birbirine benziyor. Bazı içerikler için GitHub Action kullanmak gerekebilir. Bonus olarak profilimize bir yılan oyunu ekleyebiliriz. Ama önce Git ile ilgili daha fazla şey öğrenelim.

Markdown Cheatsheet

Markdown etiketleri şunlardır:

  1. Başlıklar: #, ##, ###, ####, #####, ###### ile başlayan satırlar başlık oluşturur. # sayısı arttıkça başlık seviyesi düşer.

  2. İtalik: Metni * veya _ işaretleri arasına alarak italik yapabilirsiniz. Örnek: *italik* veya _italik_

  3. Kalın: Metni ** veya __ işaretleri arasına alarak kalın yapabilirsiniz. Örnek: *kalın** veya __kalın__

  4. Üstü çizili: Metni ~~ işaretleri arasına alarak üstünü çizebilirsiniz. Örnek: ~~üstü çizili~~

  5. Sırasız liste: Satırları *, - veya + işaretleriyle başlatarak sırasız liste oluşturabilirsiniz.

  6. Sıralı liste: Satırları 1., 2., 3. gibi sayılarla başlatarak sıralı liste oluşturabilirsiniz.

  7. Bağlantılar: [Bağlantı metni](https://bağlantı-adresi.com) şeklinde bağlantı ekleyebilirsiniz.

  8. Resimler: ![Resim açıklaması](https://resim-adresi.com) şeklinde resim ekleyebilirsiniz.

  9. Kod: Tek satırlık veya satır içi kod için kod kullanabilirsiniz. Çok satırlı kod için ise üç tane ``` işareti ile başlayıp bitirebilirsiniz.

  10. Alıntılar: Satırları > işaretiyle başlatarak alıntı oluşturabilirsiniz.

  11. Yatay çizgi: --, ** veya ___ kullanarak yatay bir çizgi ekleyebilirsiniz.

Yeni Bir Proje Oluşturalım ve Yayınlayalım

Diğer kullanıcıların da erişimine açık bir şekilde örnek projelerinizi GitHub üzerinden yayınlayarak diğer kişilerinde bu projelerden yararlanmasını sağlayabilir veya kişilerin sizin yazılım bilginiz hakkında bilgi edinmelerini sağlayabilirsiniz. Kendi projelerinizi yayınlamak kadar başka projelere de katkıda bulunmanın önemli olduğunu da unutmamakta fayda var.

Deponun oluşturulması

  1. GitHub sayfasındaki üst barda bulunan + artı işaretine tıklayarak yeni bir depo oluşturmaya başlayalım

  2. Depomuz için kullanmak istediğimiz ismi yazalım. Depomuz profilimiz altında bu isimle ve adres ile bulunacak. Depomuza diğer kullanıcıların erişip erişemeyeceğini Public ve Private seçenekleriyle doğru olarak seçtiğimize emin olalım

  3. İsteğe bağlı olarak depo açıklamamızı, varsayılan bir beni oku dosyası oluşturup oluşturmaması gerektiğini, projemizdeki geçici ve atık amaçlı kullanılan dosyaların repo içinde bulunmaması için örnek bir .gitignore şablonunu, depoda paylaşılan proje ve dosyaların kullanım ve paylaşım haklarına ait lisans çeşidini seçtikten sonra repomuzu oluşturalım

Deponun bilgisayarımızdan erişimi

Depoyu bilgisayarımıza klonlamak için bilgisayarımızda git komut istemcisinin yüklü olması gerekmekte. git-scm.com adresinden işletim sistemimize uygun olan git istemcisini indirip kuralım.

Git işlevlerini komut satırından kullanabileceğimiz gibi çeşitli grafik arabirimli git araçları ve IDE’lerde git için çeşitli araçlar bulunmakta. Bunları edinmenizde fayda olacaktır. Komut kullanımına alışkın değilseniz komutları unutabilir veya hatalı yerlerde hatalı komutlar kullanma durumunuz olabilir.

Git kurulumu ile ilgili bilgiyi Git Guides - install git (github.com) adresinden öğrenebilirsiniz. Şimdi depomuzu klonlayalım:

  1. Proje sayfamızın adresini adres barından ya da <> Code düğmesine tıkladığımızda açılan kısımdan kopyalayın

  2. Komut istemcisini açıp projeyi oluşturacağımız klasöre gidin

  3. git clone https://github.com/<kullanici>/<depoismi>.git komutu ile projenin kopyasını oluşturun

  4. cd depoismi komutuyla deponun oluştuğu klasöre gidebilir sonra ls veya dir komutuyla klasörü listeleyebilirsiniz

  5. Dosyalarınızı ve projenizi düzenlemek için editör veya IDE’ye ihtiyaç duyabilirsiniz. Bilgisayarınızda Visual Studio Code yüklü ise code . komutuyla bulunduğunuz klasörü Code aracılığıyla açabilirsiniz

  6. Örnek olarak benioku.md dosyası oluşturup kaydedelim

  7. Bazı git işlevlerini yapılan işlemlerde bazı bilgiler saklamaktadır. Bu bilgilerin başında kullanıcı ismi ve e-posta adresi yer almaktadır. git config --global user.name "Bilgehan Zeki" ve git config --global user.email "info@example.com" komutlarını kullanarak bu bilgileri kaydedelim. Aksi taktirde komutları kullanırken hata alabilirsiniz.

  8. git add . komutuyla eklenen ve değiştirilen dosyaları işaretlememiz, git commit -m "beni oku dosyası eklendi" komutu ile de yaptığımız değişikliklere açıklama vererek yerel depoya kaydetmemiz gerekmekte. Git sürüm kontrol sistemi dağıtık bir yapıya sahiptir. Yapılan değişiklikler sadece yerel depomuzda bulunabileceği gibi birden çok uzak depoda da saklanabilir ve işlem görebilir

  9. git push komutuyla yaptığımız değişiklik uzak depoya yani GitHub’a gönderimini sağlamış olacağız. Bu komutu kullandığımızda hesap bilgilerimizi girmemiz gerekecektir

  10. GitHub üzerindeki depoda bazı değişiklikler yapalım. Örneğin [benioku.md](benioku.md) dosyasının içeriğini düzenleyip kaydedelim. Mevcut değişikliği yerel depomuza çekmek için git pull komutunu kullanmamız gerekmekte

Bonus: Yılan Oyunu

GitHub depolarınızı depolamanın yanı sıra birçok özellik sunmakta. Bunların başlıcaları CD/CI yani entegrasyon ve teslimat sürekliliği araçları. GitHub aksiyonu kullanarak profilimize sürekli güncellenen aktivite göstergesi üzerindeki kutucukları yiyen bir yılan animasyonu ekleyeceğiz.

  1. Bunun için öncelikle yukarıdaki benzer adımları takip ederek profil readme depomuzun bir kopyasını bilgisayarımıza kaydedelim

  2. Daha sonra örnek depoyu https://github.com/Platane/Platane adresinden indirip içindeki .github klasörünü kendi repomuzun içine kopyalayalım

  3. Örnek proje içindeki readme.md dosyasının içeriğindeki platane/platane kısımlarını kendi kullanıcı adımızla değiştirip kendi readme.md dosyasının içine ekleyelim

  4. git add ., git commit -m "Yılan animasyonu eklendi", git push komutlarını sırasıyla çağırıp uzak repoyu güncelleyelim

  5. GitHub depo sayfasındaki Actions sekmesine giderek workflow'u aktive edelim. generate animation akışından ilk sefere mahsus olmak üzere Run workflow diyerek elle çalıştıralım. Artık animasyonumuz hazır

https://raw.githubusercontent.com/WildGenie/platane/output/github-contribution-grid-snake.svg