Bu yazıda, geliştiricilerin çalışma şeklini anında, bulut tabanlı bir geliştirme ortamı sunarak değiştiren GitHub Codespaces hakkında bilmeniz gereken her şeyi hızlıca aktaracağım. GitHub Codespaces yaşam döngüsüne bakarak sürecin farklı aşamalarını anlayacaksınız. Ayrıca, kendi çalışma tarzınıza ve ihtiyaçlarınıza uyması için codespace’inizi nasıl özelleştireceğinizi de inceleyeceğiz.
Git ve GitHub’a henüz aşina değilseniz endişelenmeyin. GitHub Kavramları kursumuzla bir depo (repository), README ve daha birçok temel öğeyi nasıl oluşturacağınızı öğrenebilirsiniz. Ayrıca sürüm kontrolünün temellerine başlamak için Git’in Temelleri kursumuzu da gözden kaçırmayın.
GitHub Codespace nedir?
GitHub Codespace, geliştiricilerin doğrudan bulutta kod yazmasına, test etmesine ve hata ayıklamasına olanak tanıyan, karmaşık yerel kurulumlara duyulan ihtiyacı ortadan kaldıran bulut tabanlı bir geliştirme ortamıdır. Bir codespace oluşturulduğunda, bir sanal makine üzerinde çalışan ve projeye gerekli araçlar, kütüphaneler ve bağımlılıklarla önceden yapılandırılmış bir Docker konteyneri başlatır. GitHub Codespaces’ın dikkat çekici bir özelliği de Visual Studio Code gibi IDE’lerle entegre olmasıdır; bunu yazının ilerleyen kısımlarında inceleyeceğiz.

Codespace iş akışı. Kaynak: GitHub
GitHub Codespaces Yaşam Döngüsünü Anlamak
GitHub Codespaces’ı anlamak, bir codespace’in yaşam döngüsünü anlamayı gerektirir. Her aşama, deneyiminizi veya kaynak kullanımınızı etkileyen belirli eylemleri içerir.
Oluşturma aşaması
Bir codespace oluştururken iki temel seçeneğiniz vardır: mevcut bir projeden başlamak veya yeni bir proje başlatmak. Mevcut bir projede çalışıyorsanız, genellikle mevcut bir depo dalından (branch) bir codespace oluşturursunuz ve codespace seçtiğiniz belirli dala bağlı olur. Yeni bir proje başlatıyorsanız, bunun yerine bir şablon kullanabilirsiniz. Şablonlar, bir projeyi başlatmanıza yardımcı olacak önceden yapılandırılmış bir ortam sağladığı için kullanışlıdır.
Not olarak, şablonlar ağırlıklı olarak yeni projelere başlarken kullanılsa da, mevcut bir projede çalışıyor ve bir şablondan belirli ayarları kullanmak istiyorsanız, ortamınızı geliştirmek için bir şablonun yapılandırmasını uygulayabilirsiniz. Bu da bir seçenektir.
GitHub menüsünde Codespaces’ı bulma. Görsel: Yazar
Tasarım gereği, Git ve dallarla etkileşim ve tüm iş akışı, yerel makinenizde çalışırken sahip olacağınız iş akışına benzerdir. Her iki durumda da projenizi bir GitHub deposuna yayımlar ve değişikliklerinizi GitHub’a gönderdiğinizden emin olursunuz.
Yeniden oluşturma aşaması
Yeni bir codespace oluşturmak, bir codespace’i yeniden oluşturmaya alternatif bir seçenektir. Ancak bazı durumlarda, bir codespace’i yeniden oluşturmanın avantajları vardır; bu nedenle farkı anlamaya değer. Örneğin, yeniden oluşturma, /workspaces dizinindeki çalışmalarınızı kaybetmeden konteyner yapılandırmasına güncellemeler uygulamanıza olanak tanır. Ayrıca, yeniden oluşturduğunuzda GitHub Codespaces önceki oluşturmalardan önbelleğe alınan imajları yeniden kullanır; bu da kütüphaneleri yeniden yükleme ihtiyacını ortadan kaldırarak süreci hızlandırır.
Konteyneri yeniden oluşturma. Görsel: Yazar
Durdurma aşaması
Bir codespace’i durdurmamızın nedeni, ortam duraklatıldığında kaynak tüketilmemesi ve bunun maliyetleri yönetmeye yardımcı olmasıdır. Bir codespace çalışırken CPU ücreti doğduğunu, durdurulmuş bir codespace’te ise yalnızca depolama ücreti oluştuğunu unutmamalıyız.
Bir codespace’i açıkça durdurmazsanız, hareketsizlik nedeniyle zaman aşımına uğrayana kadar çalışmaya devam edeceğini bilmek önemlidir. Zaman aşımı süresi, bir sonraki bölümde ele alacağım şekilde seçebileceğimiz bir özelleştirmedir. Ayrıca yalnızca bir tarayıcı sekmesini kapatmanın codespace’i durdurmadığını bilmek de önemlidir. Bu, insanların sık yaptığı bir hatadır.

Bir codespace’i durdurma. Görsel: Yazar
Silme aşaması
Bir projede çalışmayı bitirdiğinizde, gereksiz depolama ücretlerinden kaçınmak için codespace’i silin. Çalışma alanınızı düzenli tutmak her zaman iyi bir pratiktir.
Silmeden önce değişikliklerinizi uzak bir dala gönderebilir veya kaydedilmemiş değişiklikleri tamamen göz ardı edebilirsiniz. Ayrıca, belirlenen bir süre boyunca etkin olmayan codespace’ler otomatik olarak silinir. Bu, geliştiricilerin depolamalarını ve maliyetlerini yönetmelerine yardımcı olacak şekilde tasarlanmıştır. Otomatik silmeden önceki süreyi seçmek, aşağıda ele alacağımız bir diğer özelleştirmedir.

Bir codespace’i silme. Görsel: Yazar
GitHub Codespaces’ı Özelleştirme
GitHub Codespaces’ın harika yanlarından biri yüksek düzeyde özelleştirilebilir olmasıdır. Bir yapılandırma seçebilir veya belirli araçları tercih edebilirsiniz. Genel olarak, özelleştirmeleri iki kategoriye ayırabiliriz: çalışma alanınızı kendi çalışma tarzınıza uydurmak için tasarlanan özelleştirmeler ve kaynaklarınızı yönetmenize ve maliyetleri düşük tutmanıza yardımcı olmak için tasarlanan özelleştirmeler.
Codespace ortamınızı kişiselleştirme
İlk olarak, ortamımızı nasıl kişiselleştirebileceğimizi düşünebiliriz. Geliştiriciler, kendi iş akışlarına uyan özelleştirmeleri takdir eder. Bu özelleştirmelerin çoğuna, aşağıdaki görselde gördüğünüz gibi profil resminize tıklayarak ayarlar menüsünü açtığınızda erişilir.
Ayarlar menüsünü açma. Görsel: Yazar
Settings Sync
Yapmak isteyebileceğiniz ilk şey, ayarlarınızın hem VS Code’un masaüstü sürümünde hem de web tabanlı istemcide tutarlı olduğundan emin olmaktır. Bunu, Settings Sync’i etkinleştirerek yapabilirsiniz; böylece bir yerde yaptığınız değişiklikler veya özelleştirmeler diğerine de uygulanır. Bu, ortamlar arasında gidip gelmesi gereken geliştiriciler için oldukça kullanışlıdır.

Settings Sync’i etkinleştirme. Görsel: Yazar
Bulut ayarlarıyla yerel ayarlarınız arasında farklılıklar varsa veya makinelerinizden biri bir süre çevrimdışı kaldıysa çakışmalar oluşabilir. Çakışma durumunda, yerel veya bulut ayarlarından biriyle üzerine yazmayı seçebilir ya da hangi ayarları koruyacağınıza daha ayrıntılı karar verebilirsiniz.
Bir codespace’i yeniden adlandırma
GitHub, her yeni codespace’e bir görünen ad atar. Özellikle birden fazla codespace’iniz varsa, otomatik oluşturulan adı muhtemelen tutmak istemezsiniz. Genelde projenin amacını yansıtan ve gezinmeyi kolaylaştıran bir ad bulmaya çalışırım.
Bir codespace’i yeniden adlandırma. Görsel: Yazar
Görünen adın yanı sıra, her codespace’in değiştirilemeyen kalıcı bir adı olduğunu bilmelisiniz. Bu kalıcı ad aslında görünen adın sonuna eklenen rastgele oluşturulmuş karakterlerle birlikte halidir. Kalıcı bir adın amacı, codespace’e benzersiz bir tanımlayıcı sağlamaktır. GitHub komut satırı arayüzünü kullanmayı planlıyorsanız kalıcı ada dikkat edin. Herhangi bir nedenle GitHub destek ekibiyle iletişime geçmeniz gerekirse de işinize yarar. Kalıcı adı, codespace’i tarayıcıda açarak bulabilirsiniz; tarayıcıdaki alt alan adı kalıcı addır.
Kabuğu (shell) değiştirme
Yeni bir codespace’i VS Code masaüstü uygulamasında açarsanız, açılan kabuk yerel ayarlarınıza bağlıdır. VS Code web istemcisini kullanırsanız varsayılan olarak bash açılır. Tercih ederseniz her zaman kabuğunuzu değiştirebilirsiniz; örneğin zsh veya fish ve bu değişikliği ayarlarınızda uygulayarak her seferinde tercih ettiğiniz kabuğun açılmasını sağlayabilirsiniz.
Kabuğu değiştirme. Görsel: Yazar
Varsayılan editörü ayarlama
Favori kod düzenleyicinizi de seçebilirsiniz. Örneğin, benim gibi Visual Studio Code’u çok seviyorsanız, ayarlarınızı her codespace oluşturduğunuzda veya açtığınızda VS Code’un başlatılacak şekilde yapılandırabilirsiniz. VS Code, JetBrains ve JupyterLab arasında seçim yapabilirsiniz.
Varsayılan editör seçme. Görsel: Yazar
Şimdi, kaynak tahsisi ve performansla ilgili bazı ayarlara bakalım.
Makine türünü değiştirme
Ortamınızı çalıştıran altyapı donanımını seçebilir veya değiştirebilirsiniz. Örneğin, daha fazla CPU, RAM veya depolamaya sahip bir makineye geçebilirsiniz. Böylece codespace’inizin üzerinde çalıştığınız görevi kaldıracak yeterli kaynağa sahip olmasını sağlarken aşırılığa da kaçmamış olursunuz. Kullandığınız uzak makine türüne dikkat etmek önemlidir; çünkü türler farklı faturalandırma katmanlarına aittir.
Tercih edilen makine türünü seçme. Görsel: Yazar
Yalnızca yayımlanmış codespace’lerin makine türünü değiştirebileceğinizi bilin; dolayısıyla bir GitHub deposuna bağlı olmayan bir şablondan bir codespace oluşturursanız makine türünü değiştirme seçeneğiniz olmaz. Ayrıca bir organizasyonun parçasıysanız, tabi olduğunuz ilkenin kurallarına bağlı olarak makine türünü değiştirme seçeneğiniz olmayabilir.
Zaman aşımı süresini özelleştirme
Varsayılan olarak GitHub Codespaces, 30 dakika sonra otomatik olarak durur; ancak bunu kişisel ayarlarınızda ayarlayabilirsiniz. Maksimum zaman aşımı süresi dört saattir. Kaynak kullanımına dikkat etmek ve gereksiz yere boşta codespace çalışmasını önlemek önemlidir.
Zaman aşımı süresini değiştirme. Görsel: Yazar
Otomatik silmeyi yapılandırma
Etkin olmayan codespace’ler belirli bir sürenin ardından silinir. Bu, kaynakları serbest bırakmak için bir kolaylık olarak tasarlanmıştır. Durdurulan codespace’lerinizin silinmeden önce ne kadar süre saklanacağını yapılandırabilirsiniz; ancak maksimum saklama süresinin 30 gün olduğunu unutmayın.
Saklama süresini ayarlama. Görsel: Yazar
Coğrafi bölgeyi seçme
Profil ayarlarınızı ziyaret ederek GitHub Codespaces’ınızın barındırıldığı varsayılan bir coğrafi bölge belirleyebilirsiniz. Konumunuza daha yakın bir bölge seçmek performansı artırabilir; örneğin daha hızlı yükleme süreleri ve azaltılmış gecikme; ayrıca veri ikamet gerekliliklerine uyum için verilerinizin nerede depolandığını kişiselleştirmenize olanak tanır.
Bölgeyi değiştirme. Görsel: Yazar
GitHub.dev ve GitHub Codespaces
GitHub’a aşinaysanız GitHub.dev’i de duymuş olabilirsiniz ve GitHub.dev ile GitHub Codespaces arasındaki farkın ne olduğunu merak edebilirsiniz.
Öncelikle, GitHub.dev hafif bir, tarayıcı tabanlı kod editörüdür; GitHub Codespaces ise kodunuzu çalıştırmanıza ve test etmenize olanak tanıyan eksiksiz bir geliştirme ortamı sağlar. Başka bir deyişle, GitHub.dev kapsam olarak sınırlı olduğundan temel olarak kod düzenlemeleri için tasarlanmıştır.
GitHub Codespaces ayrıca VS Code gibi IDE’lerle entegre olur ve bulut ile yerel ortamlardaki ayarlara ilişkin değişiklikler, gördüğümüz üzere Settings Sync özelliğiyle senkronize edilebilir. Geliştiriciler, GitHub.dev ortamlarının kalıcı olmadığını da fark edecektir; yani depoya değişiklikleri elle işlemeyip (commit) göndermediğiniz sürece çalışmalarınız oturumlar arasında kaydedilmez. Öte yandan GitHub Codespaces’ta, codespace’i kapatsanız veya durdursanız bile değişiklikler kaydedilir.
Tüm bunları bir arada düşündüğümüzde, GitHub Codespaces’ı daha büyük projeler ve daha karmaşık iş akışları için tercih etmeliyiz; çünkü kişisel makinenizde yapılandırma veya kaynak yönetimi gerektirmeden bir geliştirme ortamının gücünü sunar.
| Özellik | GitHub.dev | GitHub Codespaces |
|---|
| Amaç | GitHub depolarında barındırılan kodda hızlı düzenlemeler için tarayıcı tabanlı kod editörü | Tam özellikli, bulut tabanlı geliştirme ortamı |
| Ortam | Kurulum gerekmez; tarayıcı üzerinden hızlı erişim | Önceden yapılandırılmış araçlar, kütüphaneler ve bağımlılıklarla Docker tabanlı konteyner |
| IDE Entegrasyonu | Dahili editörle sınırlı düzenleme deneyimi | Visual Studio Code, JetBrains ve JupyterLab desteği |
| Özelleştirme | Asgari düzeyde özelleştirme | Yüksek düzeyde özelleştirilebilir |
| Kaynak Yönetimi | Kaynak yönetimi gerekmez | Kullanıcılar CPU ve depolama ücretlerini yönetir, zaman aşımlarını ayarlar |
| Dağıtım | Dağıtım için tasarlanmamıştır | Dağıtım iş akışları için tam destek |
| Kullanılabilirlik | Herhangi bir GitHub deposu için kullanılabilir | Abonelik ve daha fazla kaynak gerektirir |
Sonuç
Dağıtık ve esnek bir çalışma ortamına doğru ilerlerken, GitHub Codespaces gibi araçlar yazılım geliştirme geleceğini şekillendirmede büyük rol oynayacak. Özellikle GitHub Codespaces birkaç önemli sorunu çözüyor: Yerel makinenizin özelliklerinden bağımsız olarak anında kodlamaya başlamanıza olanak tanıyor; herhangi bir cihazdan bir geliştirme ortamına erişim sağlıyor; ve ekip üyeleriyle aynı ortamda işbirliği yapmanızı mümkün kılıyor.
Daha fazla öğrenme için şu DataCamp makalelerini okuyun:
Son olarak, DataCamp podcast bölümünü dinleyin: GitHub COO’su Kyle Daigle ile Programlamanın Geleceği. Bu bölümde, yapay zekâ destekli kodlamanın durumu ve sektörün nasıl ilerlediği ele alınıyor.
Bu yazıda, geliştiricilerin çalışma şeklini anında, bulut tabanlı bir geliştirme ortamı sunarak değiştiren GitHub Codespaces hakkında bilmeniz gereken her şeyi hızlıca aktaracağım. GitHub Codespaces yaşam döngüsüne bakarak sürecin farklı aşamalarını anlayacaksınız. Ayrıca, kendi çalışma tarzınıza ve ihtiyaçlarınıza uyması için codespace’inizi nasıl özelleştireceğinizi de inceleyeceğiz.
Git ve GitHub’a henüz aşina değilseniz endişelenmeyin. GitHub Kavramları kursumuzla bir depo (repository), README ve daha birçok temel öğeyi nasıl oluşturacağınızı öğrenebilirsiniz. Ayrıca sürüm kontrolünün temellerine başlamak için Git’in Temelleri kursumuzu da gözden kaçırmayın.
GitHub Codespace nedir?
GitHub Codespace, geliştiricilerin doğrudan bulutta kod yazmasına, test etmesine ve hata ayıklamasına olanak tanıyan, karmaşık yerel kurulumlara duyulan ihtiyacı ortadan kaldıran bulut tabanlı bir geliştirme ortamıdır. Bir codespace oluşturulduğunda, bir sanal makine üzerinde çalışan ve projeye gerekli araçlar, kütüphaneler ve bağımlılıklarla önceden yapılandırılmış bir Docker konteyneri başlatır. GitHub Codespaces’ın dikkat çekici bir özelliği de Visual Studio Code gibi IDE’lerle entegre olmasıdır; bunu yazının ilerleyen kısımlarında inceleyeceğiz.
Codespace iş akışı. Kaynak: GitHub
GitHub Codespaces Yaşam Döngüsünü Anlamak
GitHub Codespaces’ı anlamak, bir codespace’in yaşam döngüsünü anlamayı gerektirir. Her aşama, deneyiminizi veya kaynak kullanımınızı etkileyen belirli eylemleri içerir.
Oluşturma aşaması
Bir codespace oluştururken iki temel seçeneğiniz vardır: mevcut bir projeden başlamak veya yeni bir proje başlatmak. Mevcut bir projede çalışıyorsanız, genellikle mevcut bir depo dalından (branch) bir codespace oluşturursunuz ve codespace seçtiğiniz belirli dala bağlı olur. Yeni bir proje başlatıyorsanız, bunun yerine bir şablon kullanabilirsiniz. Şablonlar, bir projeyi başlatmanıza yardımcı olacak önceden yapılandırılmış bir ortam sağladığı için kullanışlıdır.
Not olarak, şablonlar ağırlıklı olarak yeni projelere başlarken kullanılsa da, mevcut bir projede çalışıyor ve bir şablondan belirli ayarları kullanmak istiyorsanız, ortamınızı geliştirmek için bir şablonun yapılandırmasını uygulayabilirsiniz. Bu da bir seçenektir.
Tasarım gereği, Git ve dallarla etkileşim ve tüm iş akışı, yerel makinenizde çalışırken sahip olacağınız iş akışına benzerdir. Her iki durumda da projenizi bir GitHub deposuna yayımlar ve değişikliklerinizi GitHub’a gönderdiğinizden emin olursunuz.
Yeniden oluşturma aşaması
Yeni bir codespace oluşturmak, bir codespace’i yeniden oluşturmaya alternatif bir seçenektir. Ancak bazı durumlarda, bir codespace’i yeniden oluşturmanın avantajları vardır; bu nedenle farkı anlamaya değer. Örneğin, yeniden oluşturma, /workspaces dizinindeki çalışmalarınızı kaybetmeden konteyner yapılandırmasına güncellemeler uygulamanıza olanak tanır. Ayrıca, yeniden oluşturduğunuzda GitHub Codespaces önceki oluşturmalardan önbelleğe alınan imajları yeniden kullanır; bu da kütüphaneleri yeniden yükleme ihtiyacını ortadan kaldırarak süreci hızlandırır.
Durdurma aşaması
Bir codespace’i durdurmamızın nedeni, ortam duraklatıldığında kaynak tüketilmemesi ve bunun maliyetleri yönetmeye yardımcı olmasıdır. Bir codespace çalışırken CPU ücreti doğduğunu, durdurulmuş bir codespace’te ise yalnızca depolama ücreti oluştuğunu unutmamalıyız.
Bir codespace’i açıkça durdurmazsanız, hareketsizlik nedeniyle zaman aşımına uğrayana kadar çalışmaya devam edeceğini bilmek önemlidir. Zaman aşımı süresi, bir sonraki bölümde ele alacağım şekilde seçebileceğimiz bir özelleştirmedir. Ayrıca yalnızca bir tarayıcı sekmesini kapatmanın codespace’i durdurmadığını bilmek de önemlidir. Bu, insanların sık yaptığı bir hatadır.
Bir codespace’i durdurma. Görsel: Yazar
Silme aşaması
Bir projede çalışmayı bitirdiğinizde, gereksiz depolama ücretlerinden kaçınmak için codespace’i silin. Çalışma alanınızı düzenli tutmak her zaman iyi bir pratiktir.
Silmeden önce değişikliklerinizi uzak bir dala gönderebilir veya kaydedilmemiş değişiklikleri tamamen göz ardı edebilirsiniz. Ayrıca, belirlenen bir süre boyunca etkin olmayan codespace’ler otomatik olarak silinir. Bu, geliştiricilerin depolamalarını ve maliyetlerini yönetmelerine yardımcı olacak şekilde tasarlanmıştır. Otomatik silmeden önceki süreyi seçmek, aşağıda ele alacağımız bir diğer özelleştirmedir.
Bir codespace’i silme. Görsel: Yazar
GitHub Codespaces’ı Özelleştirme
GitHub Codespaces’ın harika yanlarından biri yüksek düzeyde özelleştirilebilir olmasıdır. Bir yapılandırma seçebilir veya belirli araçları tercih edebilirsiniz. Genel olarak, özelleştirmeleri iki kategoriye ayırabiliriz: çalışma alanınızı kendi çalışma tarzınıza uydurmak için tasarlanan özelleştirmeler ve kaynaklarınızı yönetmenize ve maliyetleri düşük tutmanıza yardımcı olmak için tasarlanan özelleştirmeler.
Codespace ortamınızı kişiselleştirme
İlk olarak, ortamımızı nasıl kişiselleştirebileceğimizi düşünebiliriz. Geliştiriciler, kendi iş akışlarına uyan özelleştirmeleri takdir eder. Bu özelleştirmelerin çoğuna, aşağıdaki görselde gördüğünüz gibi profil resminize tıklayarak ayarlar menüsünü açtığınızda erişilir.
Settings Sync
Yapmak isteyebileceğiniz ilk şey, ayarlarınızın hem VS Code’un masaüstü sürümünde hem de web tabanlı istemcide tutarlı olduğundan emin olmaktır. Bunu, Settings Sync’i etkinleştirerek yapabilirsiniz; böylece bir yerde yaptığınız değişiklikler veya özelleştirmeler diğerine de uygulanır. Bu, ortamlar arasında gidip gelmesi gereken geliştiriciler için oldukça kullanışlıdır.
Settings Sync’i etkinleştirme. Görsel: Yazar
Bulut ayarlarıyla yerel ayarlarınız arasında farklılıklar varsa veya makinelerinizden biri bir süre çevrimdışı kaldıysa çakışmalar oluşabilir. Çakışma durumunda, yerel veya bulut ayarlarından biriyle üzerine yazmayı seçebilir ya da hangi ayarları koruyacağınıza daha ayrıntılı karar verebilirsiniz.
Bir codespace’i yeniden adlandırma
GitHub, her yeni codespace’e bir görünen ad atar. Özellikle birden fazla codespace’iniz varsa, otomatik oluşturulan adı muhtemelen tutmak istemezsiniz. Genelde projenin amacını yansıtan ve gezinmeyi kolaylaştıran bir ad bulmaya çalışırım.
Görünen adın yanı sıra, her codespace’in değiştirilemeyen kalıcı bir adı olduğunu bilmelisiniz. Bu kalıcı ad aslında görünen adın sonuna eklenen rastgele oluşturulmuş karakterlerle birlikte halidir. Kalıcı bir adın amacı, codespace’e benzersiz bir tanımlayıcı sağlamaktır. GitHub komut satırı arayüzünü kullanmayı planlıyorsanız kalıcı ada dikkat edin. Herhangi bir nedenle GitHub destek ekibiyle iletişime geçmeniz gerekirse de işinize yarar. Kalıcı adı, codespace’i tarayıcıda açarak bulabilirsiniz; tarayıcıdaki alt alan adı kalıcı addır.
Kabuğu (shell) değiştirme
Yeni bir codespace’i VS Code masaüstü uygulamasında açarsanız, açılan kabuk yerel ayarlarınıza bağlıdır. VS Code web istemcisini kullanırsanız varsayılan olarak bash açılır. Tercih ederseniz her zaman kabuğunuzu değiştirebilirsiniz; örneğin zsh veya fish ve bu değişikliği ayarlarınızda uygulayarak her seferinde tercih ettiğiniz kabuğun açılmasını sağlayabilirsiniz.
Varsayılan editörü ayarlama
Favori kod düzenleyicinizi de seçebilirsiniz. Örneğin, benim gibi Visual Studio Code’u çok seviyorsanız, ayarlarınızı her codespace oluşturduğunuzda veya açtığınızda VS Code’un başlatılacak şekilde yapılandırabilirsiniz. VS Code, JetBrains ve JupyterLab arasında seçim yapabilirsiniz.
Kaynakları ve performansı yönetme
Şimdi, kaynak tahsisi ve performansla ilgili bazı ayarlara bakalım.
Makine türünü değiştirme
Ortamınızı çalıştıran altyapı donanımını seçebilir veya değiştirebilirsiniz. Örneğin, daha fazla CPU, RAM veya depolamaya sahip bir makineye geçebilirsiniz. Böylece codespace’inizin üzerinde çalıştığınız görevi kaldıracak yeterli kaynağa sahip olmasını sağlarken aşırılığa da kaçmamış olursunuz. Kullandığınız uzak makine türüne dikkat etmek önemlidir; çünkü türler farklı faturalandırma katmanlarına aittir.
Yalnızca yayımlanmış codespace’lerin makine türünü değiştirebileceğinizi bilin; dolayısıyla bir GitHub deposuna bağlı olmayan bir şablondan bir codespace oluşturursanız makine türünü değiştirme seçeneğiniz olmaz. Ayrıca bir organizasyonun parçasıysanız, tabi olduğunuz ilkenin kurallarına bağlı olarak makine türünü değiştirme seçeneğiniz olmayabilir.
Zaman aşımı süresini özelleştirme
Varsayılan olarak GitHub Codespaces, 30 dakika sonra otomatik olarak durur; ancak bunu kişisel ayarlarınızda ayarlayabilirsiniz. Maksimum zaman aşımı süresi dört saattir. Kaynak kullanımına dikkat etmek ve gereksiz yere boşta codespace çalışmasını önlemek önemlidir.
Otomatik silmeyi yapılandırma
Etkin olmayan codespace’ler belirli bir sürenin ardından silinir. Bu, kaynakları serbest bırakmak için bir kolaylık olarak tasarlanmıştır. Durdurulan codespace’lerinizin silinmeden önce ne kadar süre saklanacağını yapılandırabilirsiniz; ancak maksimum saklama süresinin 30 gün olduğunu unutmayın.
Coğrafi bölgeyi seçme
Profil ayarlarınızı ziyaret ederek GitHub Codespaces’ınızın barındırıldığı varsayılan bir coğrafi bölge belirleyebilirsiniz. Konumunuza daha yakın bir bölge seçmek performansı artırabilir; örneğin daha hızlı yükleme süreleri ve azaltılmış gecikme; ayrıca veri ikamet gerekliliklerine uyum için verilerinizin nerede depolandığını kişiselleştirmenize olanak tanır.
GitHub.dev ve GitHub Codespaces
GitHub’a aşinaysanız GitHub.dev’i de duymuş olabilirsiniz ve GitHub.dev ile GitHub Codespaces arasındaki farkın ne olduğunu merak edebilirsiniz.
Öncelikle, GitHub.dev hafif bir, tarayıcı tabanlı kod editörüdür; GitHub Codespaces ise kodunuzu çalıştırmanıza ve test etmenize olanak tanıyan eksiksiz bir geliştirme ortamı sağlar. Başka bir deyişle, GitHub.dev kapsam olarak sınırlı olduğundan temel olarak kod düzenlemeleri için tasarlanmıştır.
GitHub Codespaces ayrıca VS Code gibi IDE’lerle entegre olur ve bulut ile yerel ortamlardaki ayarlara ilişkin değişiklikler, gördüğümüz üzere Settings Sync özelliğiyle senkronize edilebilir. Geliştiriciler, GitHub.dev ortamlarının kalıcı olmadığını da fark edecektir; yani depoya değişiklikleri elle işlemeyip (commit) göndermediğiniz sürece çalışmalarınız oturumlar arasında kaydedilmez. Öte yandan GitHub Codespaces’ta, codespace’i kapatsanız veya durdursanız bile değişiklikler kaydedilir.
Tüm bunları bir arada düşündüğümüzde, GitHub Codespaces’ı daha büyük projeler ve daha karmaşık iş akışları için tercih etmeliyiz; çünkü kişisel makinenizde yapılandırma veya kaynak yönetimi gerektirmeden bir geliştirme ortamının gücünü sunar.
Sonuç
Dağıtık ve esnek bir çalışma ortamına doğru ilerlerken, GitHub Codespaces gibi araçlar yazılım geliştirme geleceğini şekillendirmede büyük rol oynayacak. Özellikle GitHub Codespaces birkaç önemli sorunu çözüyor: Yerel makinenizin özelliklerinden bağımsız olarak anında kodlamaya başlamanıza olanak tanıyor; herhangi bir cihazdan bir geliştirme ortamına erişim sağlıyor; ve ekip üyeleriyle aynı ortamda işbirliği yapmanızı mümkün kılıyor.
Daha fazla öğrenme için şu DataCamp makalelerini okuyun:
Son olarak, DataCamp podcast bölümünü dinleyin: GitHub COO’su Kyle Daigle ile Programlamanın Geleceği. Bu bölümde, yapay zekâ destekli kodlamanın durumu ve sektörün nasıl ilerlediği ele alınıyor.