Yazılım Gündemi - 2020/03
13-19 Ocak 2020

İçindekiler

yazilim-gundemi-banner.png

< Önceki Gündem | 13-19 Ocak 2020 | Sonraki Gündem >

TeknoSeyir'de Oku

1 Git 2.25 sürümü duyuruldu

Versiyon kontrol sistemleri krallığının tahtında oturmaya devam eden Git, bu hafta içerisinde 2.25 sürümünü çıkardı. Birkaç özelliği birlikte inceleyelim:

1.1 git sparse-checkout ile parçalı depo indirme

2019 yılı boyunca en çok konuşulan kavramlardan biri de mono-repo yapısı olmuştur sanırım. Bilmeyenler için kısaca açıklayalım: Mono-repo, projenin belirli parçalarının ayrı depolarda (repository) tutulması yerine hepsinin tek bir depoda toplanması durumudur. Atıyorum bir not tutma uygulaması yapıyorsunuz, bu uygulamanın iOS, Android, Web ve masaüstü tüm istemcilerinin kodları tek bir repository üzerinde duruyor. Çok fazla araştırmadığım ve hiç kullanmadığım için faydalarını tam bilmiyorum fakat bu yapıyı kullanan büyük şirketlerin olduğunu biliyorum.

Mono-repo yapısındaki bir depoyu indirmenin ne kadar zaman alabileceğini tahmin ediyorsunuzdur. İşte Git'in bu sürümünde eklenen sparse-checkout komutu da tam olarak bu tarz büyük depolarda kullanılması için tasarlanmış. Tüm depoyu indirmek yerine sadece belirlediğiniz dosya yolundaki dosyaları indirip, diğerlerini görmezden gelebiliyorsunuz. Henüz deneysel olan bu özelliği destekleyen pek uzak git sunucusu yok ama yine de biz bir bakalım. Bu özelliği kullanmak için:

$ git clone --filter=blob:none --no-checkout /sizin/deponuz/ depo
$ cd depo
$ git sparse-checkout init

komutlarını çalıştırmanız yeterli. Sırasıyla çalıştırdığımız komutları incelemek gerekirse:

İlk komut bildiğimiz clone komutu ama birkaç eklemesi var. --filter=blob:none eklemesi ile clone komutuna diyoruz ki hiçbir dosyayı indirme. Bu parametrenin kabul ettiği başka filtreleme özellikleri de mevcut. Örneğin --filter=blob:10m parametresi ile 10MB'dan büyük dosyaları indirme diyebiliyoruz. Diğer filtreleme özellikleri için buradaki dokümanı inceleyebilirsiniz. Bir diğer ekleme olan --no-checkout parametresi ile de Git'e sunucudan cevap gelince dosyaları indirme dememiz gerekiyor. Çünkü biz sparse-checkout yapacağız. Bir sonraki komutla zaten depo klasörümüzün içine giriyoruz ve sonrasında ise sparse-checkout özelliğini init yaparak başlatıyoruz. Aynı zamanda sparse-checkout komutunun set, list, enable, disable gibi alt komutları da mevcut.

$ git sparse-checkout set /dosya/yolu

gibi bir komut çalıştırarak indirmek istediğiniz dosya yollarını belirtebilirsiniz. Böylece tüm depoyu indirmek yerine sadece çalışmak istediğiniz alt projeyi indirebiliyorsunuz.

Bu yeni özellik hakkında GitHub'ın yayınlandığı detaylı bir blog yazısı mevcut. Komutun tarihçesi ve detayları için bu bağlantıya tıklayabilirsiniz.

Bu sürümde gelen diğer özellik ve değişiklikler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

2 Chromium takımı User-Agent bilgilerini dondurmak istiyor

Google tarafından geliştirilen Chrome tarayıcının açık kaynak olan hali Chromium tarayıcısının geliştirici takımı bu hafta yayınladıkları doküman ile Chromium'daki User-Agent bilgilerinin deprecate etme ve dondurma niyetlerini açıkladılar. Dokümanda yazana göre bu User-Agent bilgileri hem artık gereksiz uzun string ifadelere dönüşmüş hem de bazı web sitelerinin bu bilgileri kullanarak kullanıcıları tanıdıkları için bu ifadelerin artık hayatımızdan çıkma zamanının geldiğini savunuyorlar. Bu User-Agent bilgisi genelde kullanıcıların hangi tarayıcı ve işletim sistemini kullandıklarını tespit etmek ve ona göre sitede uyarılar göstermek için kullanılıyor. Bu nedenden dolayı tarayıcının içerisinden tamamen silemezler ama bu yapının yerine User Agent Client Hints (UA-CH) isimli yeni bir yapı getirmeyi planlıyorlar. Bu yeni yapıda artık bir web sitesi, kullanıcının tarayıcısı ve işletim sistemiyle ilgili bilgilere hemen erişemeyecek bunun için sunucuya bir istek göndermesi gerekecek. Üstelik bu istekte de, istediği bilgileri belirtmesi gerekecek.

Özelliğin uygulamaya geçmesi için planladıkları takvimi aynı doküman içerisinde paylaşmışlar. Ayrıca Microsoft Edge, Mozilla Firefox ve Safari gibi tarayıcılar da bu değişikliği destekliyorlarmış.

3 GitHub Android uygulamasının Beta programı duyuruldu

github-mobil-android.png

GitHub, Universe 2019 etkinliğinde kendi mobil uygulamalarını tanıtmıştı. Biz de daha önceki yazılım gündemi yazılarında iOS versiyonunun Beta programının duyurulduğunu söylemiştik hatta ben Beta programına katılıp uygulamayı incelemiştim. İlgili yazılım gündemi yazısı için bkz: Yazılım Gündemi - 18. Bu hafta da GitHub, Android mobil uygulamasının Beta programını başlattığını duyurdu. Bende Android telefon olmadığı için başvurup, uygulamayı inceleme fırsatım olmadı fakat sizler başvurup uygulamayı inceleyip daha sonra da deneyimlerinizi yorumlar bölümünde paylaşabilirsiniz. Android 5.1 ve üzeri sürümlerini destekliyor uygulama.

Beta programına katılmak için bu sayfayı ziyaret edebilirsiniz.

4 JetBrains yazılımcılar için yeni bir yazı tipi duyurdu: JetBrains Mono

jetbrains-mono-demo.png

Kotlin programlama dilini geliştiren ve IDE'leri ile meşhur olan sektörümüz için güzel araçlar üreten JetBrains firması bu sefer de açık kaynak ve ücretsiz bir yazı tipi ile karşımızda. Kendi geliştirdiği IDE'lerinin son sürümlerinin hepsinde varsayılan olarak artık bu yazı tipi gelecek. Elbette siz kendi zevkinize uygun yazı tipiyle değiştirmekte özgürsünüz. Ben de şu an bu yazıyı yazdığım Emacs üzerinde JetBrains'in bu yeni yazı tipini deneme amaçlı kullanıyorum. Hoşuma gitti ve oldukça alıştım. Önceden Input Mono isimli yazı tipini kullanıyordum fakat bir artık yeni yazı tipim bu olacak gibi gözüküyor.

jetbrains-mono-demo2.png

Bu yazı tipi aynı zamanda "ligatures" isimli birden çok karakteri tek karakter gibi gösteren özelliği de destekliyor:

jetbrains-mono-ligatures.png

Sizce yazı tipi nasıl olmuş? Programlama yaparken kullanır mısınız? Siz programlama yaparken hangi yazı tipini kullanıyorsunuz? Yorumlar bölümünde konuşalım.

Yeni yazı tipi hakkındaki diğer detaylar için konu başlığına eklediğim bağlantılara mutlaka tıklayın. JetBrains yine her zaman olduğu gibi harika bir tanıtım sayfası hazırlamış yazı tipi için.

5 Windows Terminal Preview v0.8 duyuruldu

Microsoft'un yaklaşık bir yıldır geliştirmeye devam ettiği terminal uygulamasının bu hafta v0.9 Preview sürümü duyuruldu. Bu sürüm ile gelen bazı özellikler ise şu şekilde:

5.1 Arama

Evet, bildiğimiz düz metin arama özelliği henüz yeni eklenmiş terminal uygulamasına. Varsayılan olarak CTRL+SHIFT+F tuşları ile kullanılabilir fakat isterseniz özelleştirebiliyorsunuz tabii ki.

windows-terminal-08-arama.gif

5.2 Sekme boyutu değiştirme

Terminal uygulamasında birden fazla sekme içerisinde farklı kabuklar (shell) çalıştırabiliyorsunuz elbette. Bu sürüm ile birlikte ise bu sekmelerin boyutlandırma davranışlarını değiştirme özelliği gelmiş. İki farklı değer verebiliyorsunuz bu özelliğe, İlki: equal (eşit) adı üzerinde tüm sekmelerin boyutlarını eşit olarak ayarlıyor ve yeni sekmeler açınca hepsini birden aynı boyutlarda olacak şekilde sıkıştırıyor; ikincisi ise: titleLength (başlık boyutu) bununla da sekmenin başlığında yazan yazı kadar boyutlandırma yaptırabiliyorsunuz. Windows Terminal uygulaması varsayılan olarak titleLength ile gelecek fakat bu davranışı değiştirmek için tabWidthMode özelliğini özelleştirebilirsiniz.

windows-terminal-08-sekme-boyut.gif

Ayrıca çeşitli retro terminal efektleri gibi oyuncaklar da eklemişler. Diğer özellikler ve hata gidermeleri için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

6 IntelliJ IDEA 19 yaşında

JetBrains firmasının Java geliştirme için ürettiği IntelliJ IDEA IDE'si bu hafta içerisinde 19.yaşını kutladı. Uzun zamandır Java yazmıyorum, yazdığım zamanlarda da Eclipse kullanırdım ama yine de IntelliJ IDEA'nın yeni yaşını kutlamış olalım. Nice mutlu senelere :)

7 Yaklaşan Etkinlikler

Etkinlik İsmi Yeri Tarihi
Sürdürülebilir Kod Kalitesi (Continuous Code Quality) İstanbul 22 Ocak 12:30
İzmir Teknoloji Buluşması - Sohbet İzmir 22 Ocak 19:00
GPU Üzerinde Derin Öğrenmesiz Veri Bilimi İstanbul 23 Ocak 18:30
Watson ile Makine Öğrenmesi Modelleri Oluşturma İstanbul 23 Ocak 19:00
Siber Güvenlikte Derin Öğrenme Atölyesi İstanbul 25 Ocak 10:00
Flutter ile ilk uygulamanı yaz İzmir 28 Ocak 18:30
rstudio::conf(2020) - Watch Party İstanbul 29 Ocak 19:00
Scaling Architecture Decision Making İstanul 29 Ocak 19:00
Yapay Zeka İstanbul 31 Ocak 18:30

8 Diğer Haberler

9 Lisans

Tarih: 19 Ocak 2020

Yazar: Eren Hatırnaz

Oluşturuldu: 2021-01-24 Sun 22:46

Validate