Yazılım Gündemi - 3 (22-28 Temmuz 2019)
< Önceki Gündem | 22 - 28 Temmuz 2019 | Sonraki Gündem >
GitHub, Amerika yaptırımlarını uygulamaya başladı
![](https://teknoseyir.com/wp-content/uploads/2019/07/78e731027d8fd50.png)
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ırımlı bir geliştiricinin GitHub hesabının kısıtlanması
- Iranlı bir geliştiricinin GitHub hesabının kısıtlanması
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!
![](https://teknoseyir.com/wp-content/uploads/2019/07/46e53378ce9c89d.jpg)
Ü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…
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ü 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:
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; } }
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
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.
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.
Ç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> """;
Apache NetBeans 11.1 duyuruldu
- Java EE 8 desteği,
- Payara entegrasyonu,
- GlassFish 5.0.1 desteği,
- Tek dosya kaynak kodu programlarını çalıştırma (PEP330: Launch Single-File Source-Code Programs)
- Fonksiyonun parametre isimlerini ipucu olarak gösterme.
switch
içerisindeki çoklucase
kullanımı için kod tamamlama özelliği
Eklenen diğer özelliklerin tam listesi ve detaylar için konu başlığındaki bağlantıya tıklayabilirsiniz.
Intellij IDEA 2019.2 yayınlandı
![](https://www.jetbrains.com/idea/whatsnew/2019-2/img/JavaDuplicatedCode.gif)
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.
Visual Studio 2019 16.2 ve 16.3 Preview 1 duyuruldu
![](https://teknoseyir.com/wp-content/uploads/2019/07/5cd964e1f30a4ad.png)
Yenilenmiş Test Explorer
- 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
Eklenen diğer özelliklerin tam listesi ve detaylar için konu başlığındaki bağlantıya tıklayabilirsiniz.
.NET Ekosistemi için güvenlik raporu yayınlandı
![](https://teknoseyir.com/wp-content/uploads/2019/07/a027f9ef817f5d8.png)
Resime tıklayarak özet görselini büyültebilirsiniz.
Diğer Haberler
- FTP sunucusu ProFTPD'de güvenlik açığı tespit edildi: CVE-2019-12815. Alternatif
- Lyft, otonom araçlarının ham sensör verilerini CC-BY-NC-SA-4.0 lisansı altında paylaştı: Lyft Level 5 AV dataset.
- GitLab 12.1 sürümü yayınlandı
- .NET Core 3.0 Preview 7 duyuruldu.
- Microsoft, metin analiz ve görselleştirme aracını açık kaynak olarak yayınlandı: browsecloud
- Microsoft, OpenAI organizasyonuna 1 milyar dolar yatırım yaptı.
- Microsoft Security Response Centre, Rust ile ilgili ilk blog yazısını yayınladı: Why Rust for safe systems programming
- SQL Server 2019 CTP 3.2 sürümü duyuruldu.
- Julia programlama dili 'composable multi-thread parallelism' özelliği kazandı.
- Rust derleyicisi hızlanmaya devam ediyormuş.
- Paralel programlama sistemi Legion, 19.06.0 sürümünü duyurdu.
- Geliştiricisi Jai programlama dili için durum raporu videosu hazırlamış. Bu programlama dili Twitch platformunda canlı yayınlarda geliştiriliyor. Geliştiricinin twitch kanalı: https://www.twitch.tv/naysayer88
- Amazon'un sesden yazı elde etme hizmeti Amazon Transcribe, artık WebSockets destekliyor.
- Mozilla IoT takımı, WebThings projesi altında geliştirdikleri WebThings Gateways aracının 0.9 sürümünü duyurdu. GitHub Deposu
- Google Chrome tarayıcısının Web MIDI API sisteminde değişiklik var.
- OpenJDK takımı, Project Valhalla LW2 Prototipini duyurdu.
- Git istemcisi Fork 1.0.82 sürümünü duyurdu.
- Python için video işleme kütüphanesi olan VidGear, v0.1.5 sürümünü duyurdu.
- Go yorumlayıcı projesi açık kaynak olarak yayınlandı: yaegi. GitHub Deposu
- Tek Sayfalık Uygulamalar (Single Page Applications) için geliştirilmiş framework mithil.js v2.0.1 sürümünü yayınladı.
- Bellek üzerinde hassas verileri depolamaya yarayan Go kütüphanesi MemGuard, v0.18.1 sürümünü duyurdu.
- Rust ile platformlar-arası grafiksel kullanıcı arayüzleri geliştirmeye olanak sağlayan kütüphane açık kaynak olarak yayınlandı: Sauron-native
- C/C++ için platformlar arası (cross-platform) paket yöneticisi Hunter, v0.23.205 sürümünü duyurdu.
- Tüm projeler ve sistemler için evrensel proje yöneticisi olma iddiası taşıyan GuPM isimli araç 1.2.0 sürümünü duyurdu.
- Sinuous UI kütüphanesinin v0.12.5 sürümü çıktı.
- SQL raporlama aracı Poli v0.9.0 sürümü yayınlandı.
Bir sonraki hafta görüşmek üzere,
Kendinize iyi bakın...
Arkadaşlar bu hafta gündem yoğun olduğu için biraz gecikti, daha fazla bekletmemek için yazıyı bitirdikten sonra çok fazla incelemeden yayınlıyorum. Yazım yanlışı, imla hatası vb. şeyler görürseniz bu yorum altında bildirmekten kendinizi geri koymayın.
@gamsizm Bu arkadaşı ekibe katın, HK ile yazılım gündemi çeksinler. 😀
Video işi bana biraz ters hocam. Yazı yazarak kendimi çok daha iyi ifade edebiliyorum ama fikir açık kaynak tabii ki de, başka birisi ile yapılırsa "benim fikrimdi, niye aldınız" demem. İlk gündem yazısında da dediğim gibi, ben zaten gün içerisinde sık sık bu kaynakları takip ediyorum, baktım böyle bir eksiklik var, ben yapayım dedim. Açıkcası alıştığımız gündem değerlendirmesi video formatına bu konular uygun olur mu bilemiyorum. Çünkü kod örnekleri göstermek gerekiyor, gerçi montaj ile araya eklenir fakat üzerine konuşurken nasıl olur bilemiyorum, yapılacaksa da bir süre çalışılması gerekiyor.
Bu yazılım gündemi işi çok iyi oldu takip ediyorum. 👍
Faydalı olabilmişsem ne mutlu bana 🙂
Adam nedir kimdir yukarda
Estağfurullah hocam 🙂
Estağfurullah hocam, teşekkür ederim 🙂 Haftalık gündem konsepti TeknoSeyir'de ortaya çıkan bir şey olduğu için, bu içeriği de buradan paylaşmayı daha uygun buldum ama yazıların bilgisayarımda yedekleri var. TeknoSeyir'e bir şey olursa, yedekleri kendi blogumda yayınlarım. Yine de teşekkür ederim tavsiyeniz için.
Teşekkürler, o halde ne mutlu bana 🙂
GitHub MS'e geçmeseydi, bence böyle bir ambargo olmazdı diye düşünüyorum.
Katılıyorm.
@cengiz Kesinlikle öyle
@lterlemez, @cengiz, @fatihdmrg : Microsoft'un satın alması ile pek bir alakası yok. GitHub, Microsoft satın almadan önce de Amerika merkezli bir şirketti [1].
Gerçi şirketin Amerika merkezli olmasına gerek yok. Atlassian, Avustralya merkezli bir şirket olmasına rağmen onlar da bu yaptırımları uyguluyorlar [2]. Çünkü, Amerika'da ofis açabilmeleri için bu yasalara onlar da uymak zorunda. Sorun aslında Türkiye'deki Wikipedia mevzusu gibi politik. Şirketler üstü bir konu yani.
[1]: https://www.wikiwand.com/en/GitHub#/History
[2]: https://community.atlassian.com/t5/Confluence-questions/Iranian-customers-can-t-open-Confluence-pages/qaq-p/733404#M98555
@erenhatirnaz; Ama MS'in dolaylı yok bulması GitHub'ın bağımsız bir şirket olarak dolaylı yol bulmasından daha zor. Eğer, inatla çalışmaya devam etmek isterse, gerekli ofisleri daha rahat açıp kapatabilir.
emeğine sağllık.blog için kullanabilir miyim ?
Teşekkürler 🙂 Hocam kendi blogumda da paylaşmadığım için sizden de başka bir yerde paylaşmamanızı rica edeceğim.
Cok guzel, tesekkurler!
Rica ederim 🙂
Sirf bu emeklerin yuzu suyu hurmetine sitenin akis ozellikleri vs degismesi gerekiyor. Takip etmesem bunu goremeyecektim maalesef @gamsizm
Ellerinize saglik bu arada.
Bunun için yukarıya keşfet bölümü yapmıştık aslında. Mesela şimdi girip günün en çok beğeni alan gönderisi neymiş diye bakarsanız bir numarada bu yazı var 🙂
@gamsizm yazılım gündemi neredeyse hiç bir yayında yok, bu tutar bence
@txt Teşekkürler 🙂
Şöyle bir şey yapılabilir belki, kullanıcılara da abone olma özelliği eklenebilir. Mesela benim profilimden "Eren Hatırnaz'ın Blog paylaşmlarına abone ol" (durum ve inceleme yazıları için de olabilir) diye bir buton eklenebilir. Abone olunca da, kişi ilgili içeriği paylaştığında kullanıcının isteğine göre site içinden ve/veya e-posta olarak bildirim gönderilebilir. @hkellecioglu Abi sosyalde düzenlemeler yapıyordu, bunu da ekleyebilirse güzel olur. Bir de özel ricam, Markdown desteği gelirse iyi olur, söz dizimi renklendirme (syntax highlighting) desteği de olursa tadından yenmez.
Bir de şu "Öne çıkan bloglar" kısmındaki algoritmanın yenilenmesi gerek. Çoğunlukla aynı kişinin içerikleri gözüküyor. @gamsizm @hkellecioglu
@gamsizm Kesfete surekli bakiyorum ama olay o degil. Bunlarin akisa dusmesi gerekir.
Emeğini ele, hele de MS gibi sömürücü kuruluşa emanet etmeye hiç gerek yok, MS'in derdi hizmet üretmek olsaydı benzerini geliştirir kime hangi fiyattan satmak istiyorsa satardı. Github'a 7.5 milyar $ bariz biçimde çalmak için verilmiştir. Yapılacak iş basit, kendi sunucuna Gitlab kuracaksın.
Yukarıdaki yorumda [1] da belirttiğim gibi durumun Microsoft ile pek bir alakası yok. Evet, çözüm nispeten basit gibi gözüküyor ama masraflı maalesef. Sunucu kurmak, işletmek, bakımını yapmak falan zahmetli işler, herkesten bunu yapmasını bekleyemeyiz. Türkiye'nin bakanlık olarak https://acikkaynak.gov.tr diye bir projesi var fakat henüz hazır değil sanırım, bu haliyle çok eğreti duruyor ama böyle bir proje olduğuna göre devamının da geleceğini düşünüyorum.
[1]: https://teknoseyir.com/blog/yazilim-gundemi-3-22-28-temmuz-2019#comment-4025214
@erenhatirnaz Durumun MS ile ilgili olmadığı görüşünüze katılıyorum. Durum özgür yazılımların lisanslarının, sahiplerinin politik çıkarlarını koruyamıyor olmasıdır. Durum gerçekte bahsi geçen Git gibi orta mallarının tek bir devletin egemenlik alanında olmaması. Git de kendi yazılımını Github'ı alan MS'e kullandırmadığı vakit bütün olay çözülmüş olacak.
Kesinlikle size yönelik yazmıyorum, yanlış anlamanızı istemem. Maalesef idaremizin içinde olduğu herhangi bir çalışmaya özgür veya açık demek abesle iştigaldır.
Gündem yazınız, emeğiniz için teşekkür ederim.
@bezmialem "Durum özgür yazılımların lisanslarının, sahiplerinin politik çıkarlarını koruyamıyor olmasıdır" ifadenize katılıyorum fakat bunun önüne geçmek için neler yapılabilir konusunu çok düşünmedim doğrusu.
Rica ederim, faydalı olabilmişsem ne mutlu bana 🙂
Yeni farkettim; elinize sağlık. Çok faydalı olmuş. Devamında kolaylıklar dilerim.
Teşekkürler 🙂
Emeğin için teşekkürler, çok iyi olmuş 🙂
Rica ederim 🙂
Visual Studio da Cross-Platform (IOS-Android-Win Phone) aplikasyon geliştirilebildiğini biliyor muydunuz??
Xamarin diye bir start-up satın aldıydı MicroSoft geçen yıllarda. https://dotnet.microsoft.com/learn/mobile/what-is-xamarin
hocam plus abonelere özel videolu içerik olarak gelse efsane olur, tam da böyle bir şeye ihtiyaç var bence.