Yazılım Gündemi - 3
22-28 Temmuz 2019

İçindekiler

yazilim-gundemi-banner.png

< Önceki Gündem | 22-28 Temmuz 2019 | Sonraki Gündem >

TeknoSeyir'de Oku

1 GitHub, Amerika yaptırımlarını uygulamaya başladı

github-amerika-yaptirimlari-1.png

Şekil 2: Kısıtlanan kullanıcıların ekranlarında çıkan uyarı metini

GitHub bu kararları yeni mi uygulamaya başladı, yoksa daha önceden de uygulanıyordu fakat bu kadar sert mi değildi, bilemiyorum fakat bu hafta birkaç olaya karıştığı için gündem oldu. Bu olaylar şu şekilde:

Kısıtlamaların tam listesi olmamakla birlikte geliştiricilerin şu an maruz kaldıkları kısıtlamalar bu şekilde:

  • GitHub Pages üzerinde barındırdıkları web siteleri ulaşılamaz oldu (GitHub 404 sayfası gönderiyor).
  • Yeni özel depo oluşturamıyorlar.
  • Var olan özel depolarına erişemiyorlar. git clone komutu da 403 kodu dönüyormuş.

Kısıtlamalar nereye kadar gidecek bilinmiyor. Geliştiriciler projelerine devam edip, edemeyecekleri konusunda endişeliler. GitHub'ın ilgili sayfasında bu ülkelerdeki kişiler ücretsiz hizmetlerden faydalanabilecekler deniyor fakat özel depolar ücretsiz olmasına rağmen, bu kullanıcıların özel depoları kısıtlanmış ve erişilemez durumda. Geliştiriciler kodlarına, hata takip sistemine ve dokümanlarına erişimi kaybettiler. GitHub'a mail atıp, kapatılmış depoların yedeklerini istemelerine rağmen geri dönüş olumsuz olmuş. Resmen kodlarına el koymuşlar yani.

Bu ülkelerde yaşayan geliştiriciler de GitHub'a açık mektup yazarak, bir nevi imza kampanyası başlatmışlar. Geliştirici camiasından insanlar konuyu HackerNews ve Reddit gibi platformlardan tartışmaya devam ediyor.

Her ne kadar Amerika merkezli bir şirket olarak yasaları uygulamak zorunda olsalar da, GitHub'ın tavırları beni rahatsız etti. Özellikle bu kullanıcılara hiç haber vermeden, önceden uyarı yapmadan ve verilerini alma imkanı sunmadan bir gecede bu işleri yapmaları bende biraz art niyet duygusu uyandırdı ve GitHub üyeliğimi sorgulamaya başladım. Üstelikte Türkiye'ye de yaptırımlar konusu gündemdeyken endişem daha da arttı ve GitHub'daki tüm depolarımı bilgisayarıma indirdim fakat Türkiye'nin de bu listeye girmesi durumunda Türkiye bilişim sektöründe yaşanacakları düşünemiyorum bile!

github-amerika-yaptirimlari-2.jpg

Şekil 3: Üstelik bu ülkelere gitmiş ve oradan GitHub'a bağlanmışsanız, bu kısıtlamalar sizin hesabınıza da gelebilir ve tekrar hesabınızı açtırmak için o ülkelerden birinde yaşamadığınızı kanıtlamanız için form doldurmanız isteniyor. Formda istenen bilgilere baksanıza!

Levent Abi bir kez daha haklı çıktı, söylemi tekrar hatırlayalım: "Bulut dediğin başkasının bilgisayarıdır. Bir gün gelir de, 'Sana hizmet vermiyorum kardeşim' derse, öylece kalırsın ortada". Bir kere daha bulut sistemlere güvenmememiz gerektiğini -umarım- öğrenmiş olduk. Güya internette gerçek hayattaki gibi ülke sınırları yoktu, güya internetteyken fiziksel olarak nerede olduğumuzun bir önemi yoktu…

2 PHP 7.4.0 Beta 1 yayınlandı

22 Temmuz'da yeni özellik eklenmesi dondurulan (feature freeze) PHP 7.4'ün Beta 1 etiketine sahip ilk sürümü ise 25 Temmuz'da duyuruldu. PHP Wiki sayfasındaki takvime göre PHP 7.4.0 sürümün yayın sürecinin bu şekilde olması bekleniyor:

Tarih Sürüm
08 Ağustos 2019 Beta 2
22 Ağustos 2019 Beta 3
05 Eylül 2019 RC 1
19 Eylül 2019 RC 2
03 Ekim 2019 RC 3
17 Ekim 2019 RC 4
31 Ekim 2019 RC 5
14 Kasım 2019 RC 6
28 Kasım 2019 Final

PHP 7.4.0 ile gelecek bazı özellikler bu şekilde:

2.1 Tipli sınıf özellikleri (Typed Properties)

PHP'de sınıf kodlarken artık sınıfın özelliklerini bu şekilde tipli tanımlayabileceğiz:

class Kullanici {
    public int $id;
    public string $isim;

    public function __construct(int $id, string $isim) {
        $this->id = $id;
        $this->isim = $isim;
    }
}

2.2 Arrow Functions

Önceden bu şekilde olan kullanımı:

$sayilar = [1, 2, 3, 4, 5, 6];
$kareleri = array_map(function($sayi) { return $sayi * $sayi; }, $sayilar);
// 1, 4, 9, 16, 25, 36

Artık bu formatta kullanabileceğiz:

$sayilar = [1, 2, 3, 4, 5, 6];
$kareleri = array_map(fn($sayi) => $sayi * $sayi, $sayilar);
// 1, 4, 9, 16, 25, 36

2.3 Null Coalescing Assignment Operator

Çevirisini yapamadım fakat bu operatör Türkiye'den birisi tarafından eklenen bir özellik. Kendisini GitHub'da midorikocak kullanıcı adıyla bulabilirsiniz. Gelelim yeni operatörümüze, bu operatör sayesinde önceden bu şekilde yazdığımız kod parçasını:

if (!isset($dizi['anahtar'])) {
    $dizi['anahtar'] = varsayilaniHesapla();
}

Artık aşağıdaki gibi tek satırda yazabileceğiz:

$dizi['anahtar'] ??= varsayilaniHesapla();

Bu katkısı için kendisine teşekkür ediyoruz.

Yazının fazla uzamaması için bu konuyu burada bırakıyorum ama eğer ilgiliyseniz yeni özelliklerin tamamına buradan erişebilirsiniz.

3 JDK 13 ile gelecek özellikler belli oldu

Geçen haftaki gündemde JDK 13 sürümünün "Rampdown" ikinci aşamaya geçtiğini duyurmuştum. Bu hafta da yeni eklenecek bir özelliğe bakalım. Diğer özelliklere de baktım fakat uzun zamandır Java yazmadığım için tam anlayamadım. Ben de anladığım özelliği yazayım dedim :) Diğer özellik ve değişiklikler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz ya da QCon isimli konferansta Oracle çalışanı Java Dil Mimarı Brian Goetz tarafından yapılan bu sunumu izleyebilirsiniz: Java Futures, 2019 Edition.

3.1 Çok satırlı String ifadeler

Önceden Java'da bir string değişken içerisine uzun bir ifade yazacağımız zaman, bu şekilde bir yöntem izliyorduk:

String html = "<html>" +
    "<body>" +
    "deneme" +
    "</body>" +
    "</html>";

Bu şekilde bir kullanımda string parçaları birleştirildiği için biraz da olsa performansı etkiliyordu fakat artık Python'da görmeye alıştığımız 3 tırnak işaretli şu yapı Java'ya da geldi:

String html = """
              <html>
                <body>
                  deneme
                </body>
              </html>
              """;

4 Apache NetBeans 11.1 duyuruldu

Eklenen diğer özelliklerin tam listesi ve detaylar için konu başlığındaki bağlantıya tıklayabilirsiniz.

5 Intellij IDEA 2019.2 yayınlandı

intellij-idea-java-tekrarlayan-kod-dedektoru.gif

Şekil 4: Tekrarlanan Kod Bloğu Dedektörü

NetBeans'e güncelleme gelir de, Intellij IDEA hiç geri kalır mı ?! Yapıştırmış güncellemeyi:

  • Java 13 desteği,
  • Otomatik tamamlama penceresi yanlış yazmalara karşı iyileştirilmiş,
  • Çalışan Docker konteynerindeki dosya sistemine erişme,
  • Açılış sürelerini kısaltan performans iyileştirmeleri,
  • Her klasörün kendine özel kod stili olabilecek,
  • 20'nin üzerinde dil için söz dizimi (syntax) renklendirme,

Eklenen diğer özelliklerin tam listesi ve detaylar için konu başlığındaki bağlantıya tıklayabilirsiniz.

6 Visual Studio 2019 16.2 ve 16.3 Preview 1 duyuruldu

  • Test Expolorer aracında iyileştirmeler,
  • Microsoft Edge Insider ile JavaScript hata ayıklama desteği,
  • C++ tarafında MSBuild projeleri için Clang/LLVM desteği,
  • Daha fazla ekran alanını için tüm araç çubuklarını gizleyebilme

visualstudio-yeni-test-explorer.png

Şekil 5: Yenilenmiş Test Explorer

Eklenen diğer özelliklerin tam listesi ve detaylar için konu başlığındaki bağlantıya tıklayabilirsiniz.

7 .NET Ekosistemi için güvenlik raporu yayınlandı

dotnet-guvenlik-raporu-tldr.png

8 Diğer Haberler

9 Lisans

Tarih: 28 Temmuz 2019

Yazar: Eren Hatırnaz

Oluşturuldu: 2021-01-25 Mon 10:29

Validate