burak karakus paylaştı.

Yazılım Gündemi - 2020/23

< Önceki Gündem   |   8-14 Haziran 2020   |   Sonraki Gündem >

Yazılım Gündemi ile ilgili gelişmeler hakkında bildirim almak için bu adresdeki konuya bakabilirsiniz. Yazılım Gündemine katkı sağlamak için yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri sosyalde #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz.

PHP 25 yaşında ve PHP 8 sürümü yayın takvimi yayınlandı

Geçtiğimiz hafta içerisinde PHP programlama dili 25 yaşına girdi. Yani yaratıcısı Rasmus Lerdorf'un Personal Home Page Tools adı altında kendi kişisel ihtiyaçları için geliştirdiği C kütüphanesinin ilk sürümünün yayınlanmasının ardından 25 yıl geçti. Bugün ise web arka yüz (back-end) tarafında en çok kullanılan programlama dillerinden birisi haline gelmiş durumda. JetBrains firması da PHP'nin 25 yıllık hikayesini anlatan bir sayfa hazırladı. Mutlaka göz atmanızı tavsiye ederim. Ben de PHP ile yaşıtım 🙂

Ben de programlamaya derinlemesine merak salmadan önce ortaokuldayken forum siteleri açıp, kapatmakla uğraşıyordum sürekli. phpBB, MyBB, SMF (Simple Machines Forum) ve vBullettin gibi birçok forum altyapıysa uğraştım. Bunları özelleştirdim, eklentiler geliştirdim fakat maalesef açtığım hiçbir forum sitesi tutmadı. Hepsi PHP ile geliştirilmiş sistemler olduğu için tabii bir miktar PHP de öğrenmiş oldum. Sonraları programlamaya ilgim daha da arttı ama o zamanlarda güzel zamanlardı :). Paket yönetim sistemleri ve standardizasyon çalışmalarından önceki PHP gerçekten zor zamanlar yaşatıyordu insanlara ama Composer ve PHP-FIG ile birlikte bu tarz sorunlar da aşıldı fakat o zamanlardan kalan insanların ön yargılarını hala daha kırabilmiş değil. Hala daha insanlar "PHP öldü" deseler de PHP, diğer hype teknolojilerin uzağında sektörde daha aktif kullanılarak yaşımına devam ediyor. Benim de yazmaktan zevk aldığım bir programlama dili, umarım bir gün PHP kaynak kodlarına katkı sağlama noktasına da gelebilirim. İyi ki doğdun PHP, nice senelere! 🙂

Ayrıca geçtiğimiz hafta içerisinde PHP 8.0 sürümü için de yayın takvimi duyuruldu. Eğer bir aksilik olmazsa PHP 8.0 sürümünün yayın çizelgesi bu şekilde olacak:

Tarih Sürüm Etiketi
25 Haziran 2020 Alpha 1
09 Temmuz 2020 Alpha 2
23 Temmuz 2020 Alpha 3
04 Ağustos 2020 Feature Freeze (bu tarihten sonra yeni özellik eklenmeyecek)
06 Ağustos 2020 Beta 1
20 Ağustos 2020 Beta 2
03 Eylül 2020 Beta 3
17 Eylül 2020 Release Candidate 1
01 Ekim 2020 Release Candidate 2
15 Ekim 2020 Release Candidate 3
29 Etkim 2020 Release Candidate 4
12 Kasım 2020 Release Candidate 5
26 Kasım 2020 General Available (Stabil son sürüm)

Android 11 Beta yayınlandı

Google Android takımı mayıs ayının son haftasında Android 11 Beta sürümünü, Amerika'daki olaylar nedeniyle yayınlamayı ertelediklerini duyurmuştu. Aradan geçen birkaç haftanın ardından geçtiğimiz hafta ise Android 11 Beta sürümü yayınlandı. Canlı yayın yerine bu sefer çeşitli kısa videolar yayınlayarak duyuruyu yaptılar.

Bu sürümde üzerinde durdukları üç ana konu var: İnsanlar, Kontroller ve Gizlilik. Bu üç konu altındaki yenilikler ise şu şekilde:

  • İnsanlar:
    • Anlık mesajlaşma uygulamalarından gelen bildirimler bildirim panelinde ayrı özel bir bölümde gösterilecek.
    • Başka bir uygulamadayken mesajlaşma uygulamalarından bildirim gelince uygulamayı açmadan bildirime tıklayarak cevap yazılabilecek. Bubbless API buna izin veriyor.
    • Otomatik tamamlama önerileri artık daha içeriğe özel olacak.
    • Sesli kontrol ile telefonun birçok özelliğini kontrol edebilme.

  • Kontroller:
    • Cihaz Kontrolleri ile artık telefonunuza bağlı akıllı cihazları tek bir konumdan yönetebileceksiniz. Kilit tuşuna basılı tutarak açabileceğiniz bu ekranda akıllı cihazlarınıza çeşitli komutlar gönderebileceksiniz. Teknik detaylar için buraya tıklayabilirsiniz.
    • Medya Kontrolleri ile de telefonunuzun ses ve görüntü içeriklerini farklı cihazlar arasında paylaştırma işlemleri yapabileceksiniz. Teknik detaylar için buraya tıklayabilirsiniz.

  • Gizlilik:
    • Tek seferlik izinler ile artık ilgili uygulamaya bir izini sadece bir seferlik verebileceksiniz. Uygulamanın ikinci kez aynı şeyi kullanabilmesi için tekrar izin vermeniz gerekecek. Teknik detaylar için buraya bakabilirsiniz
    • İzinleri otomatik sıfırlama: Android 11'de artık bir uygulama belirli bir periyotta hiç kullanılmadıysa, sistem onun aldığı izinleri otomatik olarak sıfırlayacak. Kullanıcı tekrar uygulamayı açarsa tekrar izin verilmesi gerekecek. Teknik Detaylar
    • Arka planda konum verisi kullanabilmek için artık özel izin almak gerekiyor. Bu konuya yazılım gündeminin önceki yazılarında da (bkz: Yazılım Gündemi - 2020/15) değinmiştik. Detaylar
    • Geçtiğimiz yıllarda hayatımıza giren Google Play Sistem Güncellemeleri ile güncellenebilecek yeni 12 tane modül eklendi.

Biz geliştiricileri ilgilendiren özelliklerden bazıları da şu şekilde:

  • Geliştirici Özellikleri kısmına birçok ayarın açılıp kapatılabileceği yeni bir arayüz eklendi.
  • Uygulamalarınızı stabil bir şekilde yeni sistemlere geçirebilmeniz için yeni Platform Stability
  • Uygulamada hata ayıklama için kablosuz ADB özelliklerinde iyileştirmeler.

Android Studio 4.1 Beta ve 4.2 Canary ile gelen özellikler

Bu sürümle birlikte gelen diğer özellik ve değişiklikler için konu başlığına eklediğim ya da yazı içerisinde satır aralarında verdiğim teknik detaylar bağlantılarına tıklayabilirsiniz. Eğer aramızda Android uygulama geliştirmede deneyimli arkadaşlar varsa, onlar da yorumlar bölümünde önemli buldukları özellik ve değişiklikleri vurgulayabilirler.

Visual Studio Code Go eklentisi artık Go projesinin parçası haline geldi

Microsoft tarafından açık kaynak olarak geliştirilen Visual Studio Code metin editörünün Go programlama dili için olan eklentisi, geçtiğimiz hafta içerisinde sahibi Microsoft'dan Google'a Go takımına geçti. Eklentinin yeni depo adresi bu şekilde oldu: https://github.com/golang/vscode-go. Benim tahminim artık yeni bir Go sürümü yayınlandığında periyodik olarak aynı zamanda VS Code Go eklentisi de güncellenecek, böylece de yeni özellikler için Microsoft'un ilgili takımının ya da açık kaynak topluluğunun geliştirme yapmasını beklemek gerekmeyecek.

Geçiş ile ilgili Go takımının yazdığı blog yazısına konu başlığına eklediğim bağlantıya tıklayarak ulaşabilirsiniz.

Apache Software Foundation belgeseli yayınlandı

Visual Studio Code Mayıs 2020 (v1.46) sürümü yayınlandı

Yaklaşan Online Etkinlikler

Etkinlik İsmi Tarihi
Özgür Öztürk - Temel Bulut Bilişim Workshop 15 Haziran 19:00
Veli Bacık - Powerful Mobile Application Development 15 Haziran 21:00
Açık Seminer 35. Gün: 5G-MEDIA Servis Geliştirme Kiti 16 Haziran 14:00
Gerçek Hayatta Yapay Zeka 16 Haziran 14:00
Zafer Ayan - ReactJS ile Web ve Mobil Uygulamaları Geliştirme 16 Haziran 19:00
Spring Boot REST Service 16 Haziran 21:00
AWS Summit Online 17 Haziran 09:00
Açık Seminer 36. Gün: 5G Kullanım Örnekleri ve Kablosuz Haberleşme Ağları 17 Haziran 14:00
Ender Ahmet Yurt - Pandemide Yazılımcı Olmak 17 Haziran 19:00
Yazılımcı Buluşması {MaviDurakIO} 17 Haziran 20:00
Fatih Kadir Akın - Sosyal Yönleriyle Açık Kaynak Geliştiriciliği 17 Haziran 21:00
Açık Seminer 37. Gün: 5G Nedir? 18 Haziran 14:00
Bilal Çınarlı - Performans Neden Önemlidir? 18 Haziran 19:00
React Native ile Mobil Uygulama Geliştirme 18 Haziran 20:00
Berk Ulsoy - Yazılım Mühendisliğinde Kariyer 18 Haziran 21:00
Let's meet with Microsoft Student Partner Program 18 Haziran 21:00
Açık Seminer 38. Gün: Haberleşme Teknolojileri Kümelenmesi (HTK) 19 Haziran 14:00
Murat Şişman - Sinyal İstihbaratı 19 Haziran 19:00
Web Sitesinin Çalışma Prensipleri ve Temel HTML Eğitimi 19 Haziran 20:30
Eser Özvataf - Node.js, Deno ve JS ile Backend Geliştirmenin Dünü ve Bugünü 19 Haziran 21:00
.NET Core ile Gerçek Zamanlı Web Uygulaması Geliştirme 19 Haziran 21:00
Online Microservices & DDD Konferansı 20 Haziran 09:30
ASP.NET Web API ile OData Kullanımı 20 Haziran 19:00
Baran Somaklı - Freelance ve Uzaktan Çalışma 20 Haziran 19:00
Introduction to ABP Framework by Ahmet Çotur 20 Haziran 21:00
Career Talks no.8 - Oğuz Kılıç - Bir Geliştiricinin Kariyer Yolculuğu 20 Haziran 21:00

Diğer Haberler

BeğenFavori PaylaşYorum yap
burak karakus paylaştı.

Yazılım Gündemi - 2020/21

< Önceki Gündem   |   25-31 Mayıs 2020   |   Sonraki Gündem >

Yazılım Gündemi ile ilgili gelişmeler hakkında bildirim almak için bu adresdeki konuya bakabilirsiniz. Yazılım Gündemine katkı sağlamak için yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri sosyalde #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz.

StackOverflow Geliştirici Anketi 2020 sonuçları açıklandı

StackOverflow sitesinin her yıl düzenli olarak yaptığı geliştirici anketi bu yılın Şubat ayında duyurulmuştu. Geçtiğimiz hafta içerisinde ise bu anketin sonuçları yayınlandı. Yaklaşık 65.000 kişinin katıldığı bu ankete Türkiye'den katılım oranı %1.22 çıkmış. Sektördeki en yaygın 3 rol ise tahmin edebileceğiniz üzere şunlar: Back-End Developer (%55.2), Full-Stack Developer (%54.9) ve Front-End Developer (%37.1). Ankete katılanların çoğunluğu ise %26.5 ile 25-29 yaş arası insanlar oluşturuyormuş. Teknolojilerle ilgili diğer sonuçlar ise şu şekilde:

En popüler programlama, betik ve işaretleme dilleri sıralaması

En popüler web framework'leri

En çok sevilen ve nefret edilen programlama dilleri

SOL: En çok sevilen programlama dilleri, SAĞ: En çok nefret edilen programlama dilleri

Bu tarz konuları değerlendirirken sürekli söylediğim bir şeyi yine tekrarlamak isterim: Teknoloji tercihlerinizi bu anketlerin sonuçlarına göre değil kendi ihtiyaçlarınıza göre yapın. Bu veriler sadece geliştirici ekosisteminin büyük resmini görmeye yarıyor.

Anketin tüm sonuçlarını buraya eklemek mümkün olmadığı için sadece bu başlıkları aldım ben ama diğer sonuçlar da oldukça ilgi çekici. StackOverflow da zaten sonuçlar için çok güzel bir sayfa hazırlamış. Konu başlığına eklediğim bağlantıya tıklayarak diğer anket sonuçlarını inceleyebilirsiniz.

Microsoft'un paket yöneticisi WinGet, AppGet'den 'esinlenmiş'

Bir önceki yazılım gündemi yazısında (bkz: Yazılım Gündemi - 2020/20) sizlere Microsoft'un Build 2020 etkinliğinde duyurduğu paket yöneticisi WinGet'den bahsetmiştim. Yine aynı hafta içerisinde AppGet isimli farklı bir paket yöneticisinin de geliştiricisi tarafından artık devam ettirilmeyeceği duyurulmuştu fakat bunu gündeme eklememiştim (İtiraf etmek gerekirse geliştiricinin yayınladığı yazıyı okumadığım için konuyu farklı bir şey sanmıştım). Bu hafta The Verge sitesinde yayınlanan haber ve Microsoft'un ilgili takımının yöneticisinin yayınladığı yazıyla birlikte konu daha fazla gündeme geldi.

AppGet'in geliştiricisi Keivan Beigi, geçtiğimiz hafta bir blog yazısıyla AppGet'i artık geliştirmeyeceğini, 1 Ağustostan itibaren de kapatacağını duyurdu. Bu hareketinin nedenini ise şöyle açıkladı: "Microsoft WinGet'i geliştirirken benimle iş görüşmesi yaptı, ben onlara AppGet'in arka planından ve teknik kısımlarından bahsedip, gelecekle ilgili fikirlerimi aktardım fakat sonrasında bana hiç geri dönüş yapmadılar. Geçtiğimiz hafta duyurulan WinGet'i görünce çok oldum. Microsoft'la rekabet edemem ve topluluğu da bölmek istemiyorum. O yüzden AppGet'i artık geliştirmeyeceğim". Üstelik WinGet'in duyuru yazısının hiçbir yerinde de bu geliştiriciden ve emeğinden bahsedilmemiş.

Olayın Reddit ve HackerNews gibi platformlarda gündem olmasının ardından olaya konu olan Microsoft takımının yöneticisi açıklama yapmak zorunda kaldı ve yaptıklarını bir nevi kabul edip, AppGet'deki şu şeylerden esinlendik gibi bir yazı yazıp Keivan Beigi'ye teşekkür etmiş. "Geç gelen adalet, adalet değildir" atasözünü şu şekilde değiştirirsek konuya çok uyumlu oluyor: "Geç gelen teşekkür, teşekkür değildir".

Geçmişteki Microsoft davranışlarının terk edilip, açık kaynağa yaklaşmalarının ardından böyle bir haberle gündeme gelmeleri hiç iyi olmadı. Açıkcası ben de Microsoft'un artık bakış açısını değiştirdiğini düşünüyordum fakat bu olay ve sonrasında yaşananlar bende hiç iyi bir intiba bırakmadı.

Bu konu hakkında siz ne düşünüyorsunuz? Yorumlar bölümünde konuşalım.

SpaceX Dragon 2 kapsülünün uçuş arayüzü Chromium üzerinde JavaScript çalıştırıyormuş

Geçtiğimiz hafta içerisinde 2011'den beri ilk defa Amerikan topraklarından astronot gönderildi. Bu görevin diğerlerinden farklı ve özel bir yanı daha var: Tarihte ilk kez özel bir şirket uzaya insan gönderdi. Çoğumuz zaten NASA ve SpaceX tarafından yapılan canlı yayını izlemiştir. İşte bu yayınlarda gördüğümüz SpaceX Dragon 2 kapsülünün dokunmatik uçuş arayüzü Chromium üzerinde çalışan bir arayüzüymüş. Bunu da 2015'yılında StackExchange sitesinde sorulmuş bir soruya verilmiş cevaptan öğreniyoruz. Cevabı yazan kişinin kaynağı ise Google Developer Conferance 2015 ve 2016'de SpaceX mühendisleri ile olan konuşmasıymış.

SpaceX canlı yayınından alınmış, çeşitli açılardan Dragon 2 kapsülünün uçuş arayüzü görselleri

Bir kişinin bulup Reddit ve HackerNews gibi platformlarda paylaşması üzere konu üzerine bayağı bir espri yapıldı. SpaceX mühendisleri mutlaka JavaScript'in yol açabileceği şeylerin önüne geçecek önemleri almıştır tabii ki, zaten uzun yıllardır test edilen kapsül geçtiğimiz hafta sorunsuz bir şekile Uluslararası Uzak İstasyonuna kenetlendi ve astronotları sağlıklı şekilde taşıdı. Dragon 2 kapsülünün kenetlenme ekranının bir benzeri için şu adresdeki simülasyonu deneyebilirsiniz: https://iss-sim.spacex.com/ (arkaya da Interstellar filminin meşhur müziğini açarsanız daha eğlenceli oluyor 🙂 )

İlgili StackOverflow cevabından öğrendiğimiz diğer bilgiler ise Falcon 9 roketi hakkında. Falcon 9 roketinin C/C++ dilleri kullanılarak oluşturulmuş yazılımı kendilerine göre özelleştirdikleri Linux çekirdeği üzerinde 3 farklı işlemcide çalışıyormuş ve sonuçlar karşılaştırılıp uyumsuzluk durumlarında işleme alınmıyormuş.

Ayrıca benim de bu hafta keşfettiğim SpaceX API'sini de sizlerle paylaşmak isterim. Bu hafta içerisinde Dragon kapsülleri için de birçok end-point kullanıma sunulmuş: https://docs.spacexdata.com/.

Android Studio 4.0 sürümü yayınlandı

IntelliJ IDEA temelli, Google tarafından geliştirilen Android Studio IDE'sinin geçtiğimiz hafta içerisinde 4.0 numaralı sürümü stable etiketiyle birlikte yayınlandı. Bu sürümle birlikte gelen birkaç özelliği birlikte inceleyelim:

Motion Editor

Android işletim sisteminin 4.0 sürümünden beri desteklenen MonitonLayout API'si sayesinde objelere animasyon kazandırabiliyorduk zaten ama artık Android Studio 4.0 ile bu daha kolay bir hale geldi. Özel editör sayesinde artık XML dosyalarıyla boğuşmadan grafik arayüzünü kullanarak animasyonlar yaratabileceğiz. İsterseniz yine XML görünümüze geçebiliyorsunuz tabii.

Layout Validation

Android sistemler için uygulama geliştirirken tek bir cihaz olmamasından dolayı birçok farklı ekran boyutu için tasarımınızı ayarlamanız gerekiyor (web tarafındaki responsive tasarım gibi). Artık Android Studio 4.0 ile birlikte her cihaz için farklı emülatör çalıştırmak yerine Layout Validation sekmesini kullanarak tasarımınızın farklı ekran boyutlarında nasıl gözüleceğini görebiliyorsunuz.

Build Analyzer

Geliştirdiğiniz uygulamaları derlerken bazen derleme süreleri acayip uzayabiliyor fakat bunun hangi eklenti ya da kütüphaneden kaynaklandığını bulmak biraz zordu. Bu sürümle birlikte gelen Build Analyzer ile artık uzun süren build işlemlerinde sorunlu olan eklenti ya da kütüphaneleri kolaylıkla tespit edebileceksiniz.

Android Studio'nun bu sürümüyle birlikte gelen diğer özellikler ve değişiklikler için konu başlığına eklediğim bağlantıya tıklayabilir ya da Android Developers kanalında yayınlanan aşağıdaki videoyu izleyebilirsiniz:

Google Chrome takımının nedensiz eklenti kaldırmalarının yeni kurbanı: Kozmos

2016 yılındaki left-pad olayıyla tanıdığımız Azer Koçulu, npm'den sonra bu sefer de Google Chrome Eklenti Takımı'ndan haksızlık gördü. left-pad olayını hatırlamayanlar için Azer Koçulu'nun kendi sitesinde yazdığı şu yazıya göz atabilirler (alternatif Türkçe kaynak) ya da kendisinin konuk olduğu şu podcast yayınına göz atabilirler. Bugünkü konumuz 2017'den beri geliştirmekte olduğu ücretli Chrome eklentisi olan Kozmos.

Kısaca Kozmos, tamamen çevrimdışı çalışma imkanı sunan bir çeşit yerimi depolama çözümüydü. İnternet bağlantınız yokken bilgilerinizi tarayıcının içinde depolayan, internete bağlandığınızda ise her yerden erişebilmeniz için onları kendi sunucularına gönderen bir yeni sekme sayfası eklentisiydi. Azer Koçulu böyle bir girişimde bulunmuş fakat pek beklediği yatırımlara ulaşamamış olsa da projeyi pasif gelir olarak sürdürmeye devam etmiş. Hiçbir kullanıcı verisini satmamış, tamamen Google'ın Eklenti Marketi Kurallarına uygun şekilde geliştirmesini yapmış.

Son 2 yıldır ise tabiri caizse Google'ın Chrome eklenti takımı Azer'in başına musallat olmuş. Birkaç haftada bir eklentisini marketten kaldıran otomatik botlar ile arasında şöyle bir diyalog geçirdikten sonra insan çalışanlar durumu düzeltiyormuş (basit özet şeklinde):

  • Google (Bot): Eklentini marketten kaldıracağız.
  • Azer Koçulu: Bu bir yanlışlık olmalı.
  • Google (Bot): Yanlışlıklık yok, kuralları gözden geçir, senin eklentin kurallardan birini ihlal ediyor.
  • Azer Koçulu: Hiçbirini ihlal etmiyor, bu bir yanlışlık!
  • Google (sonunda insan): Özür dileriz, yanlışlık oldu.

ve bu tarz konuşmalar sürekli tekrarlandığı halde doğru düzgün bir çözüm sunulmamış. En sonunda da birkaç ay önce Google'ın Chrome eklenti takımı Kozmos'u hiçbir uyarı ya da bilgi vermeden Kozmos'u marketten kaldırmışlar. Üstelik iletişim kurup durum hakkında bilgi alınabilecek bir destek sistemi bile yokmuş.

Üzerine planlar yaptığınız, az da olsa gelir elde ettiğiniz bir projeniz işte böyle rahat bir şekilde Google tarafından fişi çekilebiliyor. Bu yazı geçen hafta yayınlanmış olmasına rağmen bu haftanın gündemine almamın sebeplerinden biri de Google'ın bu yüzünü sizlere tekrar göstermek istemem. Üstelik bu olaylar Google'ın elinde tuttuğu tüm uygulama marketlerinde (özellikle Android Play Store üzerinde)sürekli tekrarlanıyor. Google'a güvenerek yola çıkacak olanlar bir kez daha düşünsün.

Bu konu hakkında siz ne düşünüyorsunuz? Yorumlar bölümünde konuşalım.

Qt 5.15 LTS sürümü yayınlandı

C++ ile platformlar arası (cross-platform) uygulama geliştirmeye yarayan kütüphane Qt, geçtiğimiz hafta içerisinde 5.15 sürümünü Uzun-dönem desteği (Long-term Support) etiketiyle yayınladı. Bu yılın başında duyurdukları (bkz: Yazılım Gündemi - 2020/05) gibi LTS etiketli sürümler artık sadece kurumsal lisansı olan müşterilerine sunuluyor. Önümüzdeki 3 yıllık periyotda destek almaya devam edecek olan 5.15 sürümüyle birlikte gelen bazı yenilikler ise şu şekilde:

  • 3 boyutlu grafik API'lerinin soyutlanması: Farklı işletim sistemlerinde çalışan farklı grafik kütüphanelerinin yaygınlaşmasıyla birlikte Qt de, cross-platform sözünü tutabilmek için artık sadece OpenGL kullanmayacak. Onun yerine bu katmanı soyutlayarak (abstracting), Metal, Vulkan ve Direct 3D 12 gibi farklı grafik kütüphaneleriyle de çalışılabilmesini mümkün kılan Qt Rendering Hardware Interface (RHI) sistemini getiriyor.
  • Qt Quick 3D: Qt tabanlı uygulamalarda 3 boyutlu içerikleri kullanmayı kolaylaştıracak bir araç için tam destek geldi. Benchmark Demosu aşağıda:

Bu sürümle birlikte gelen diğer özellikler ve değişiklikler için konu başlığına eklediğim bağlantıya tıklayabilir ya da 4 Haziran günü gerçekleştirilecek olan şu webiner etkinliğine kayıt olabilirsiniz: Qt 5.15 LTS: Built to Last.

Qt ile ilgili diğer haberler:

Diğer Haberler

BeğenFavori PaylaşYorum yap
burak karakus paylaştı.

Yazılım Gündemi - 2020/16

< Önceki Gündem   |   20-26 Nisan 2020   |   Sonraki Gündem >

Yazılım Gündemi ile ilgili gelişmeler hakkında bildirim almak için bu adresdeki konuya bakabilirsiniz. Yazılım Gündemine katkı sağlamak için yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri sosyalde #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz.

1 Milyon Yazılımcı Projesi duyuruldu

Geçtiğimiz haftanın yazılım gündemi yazısında (bkz: Yazılım Gündemi - 2020/15) Sanayi ve Teknoloji Bakanı Mustafa Varank'ın Açık Seminer etkinliğinin ilk gününde yaptığı bazı açıklamalara yer vermiştim. Bu hafta da sırasıyla Cumhurbaşkanı ve Hazine ve Maliye Bakanı da alanımızla ilgili bir proje duyurdular ve bazı söylemlerle bulundular. Proje ilk "3 yılda 1 milyon yazılımcı" gibi sloganlarla duyuruldu fakat sonrasında "1 Milyon İstihdam Projesi" olarak güncellendi.

Proje kapsamında 'yazılımcı' olmak isteyen adaylar bu adres üzerinden kayıt yaptırdıktan sonra BTKAkademi'nin web sitesinin "Eğitim Kataloğu" sayfasında yer alan eğitimleri, uzaktan eğitim yoluyla takip edebilecekler. Bitirdikleri her eğitim, "1 Milyon İstihdam Projesi" kapsamında oluşturulacak öz geçmişlerine (CV) yetenek olarak otomatik şekilde eklenecek. Firmalar ve kurumlar ise bu öz geçmiş havuzundaki kişilerden seçip işe alım yapabilecekler.

Konu hakkında yorumlarımı TeknoSeyir Sosyal'de birkaç gönderi belirtsem de eleştirilerimin politik bir yanı da olduğu için pek fazla detay vermedim. Bu yazıda da politikadan uzak durmaya çalışarak neden bu projenin karşısında olduğumu açıklamaya çalışacağım.

Açıkcası ben, bu projenin amacı eğitim sistemimizdeki ve sektördeki sorunları halının altına süpürüp, insanların odaklarını farklı ve alakasız bir noktaya çekmek olduğunu düşünüyorum. Çünkü sektörümüzdeki ve eğitim sistemimizdeki asıl sorun nicelik, yani yazılımcı sayısı değil; niteliktir! Sorun yazılımcı sayısı olmadığı için de bilmem kaç yılda bilmem kaç tane yazılımcı yetiştirerek bu sorunu çözemezsiniz, aksine yeni sorunlar ortaya çıkardığınız gibi mesleğimizin itibarını da zedelemiş olursunuz.

Asıl konuşmamız gereken meslek alanımızdaki üniversite bölümlerinin kalitesidir. Bu bölümlerden her yıl binlerce öğrenci mezun olmasına rağmen neden sektördeki kalifiye mühendis/yazılımcı ihtiyacı karşılanamıyor? Sorulması ve üzerine kafa yorulup, projeler yapılması gereken konu budur. Her ne kadar artık ülkedeki bu tarz şeylere şaşırmıyor olsam da kendi alanımla ilgili bu tarz şeyler görünce sinirlenmeden edemiyorum.

Yazının tamamını bu konuya ayırmak istemiyorum o yüzden sizleri Bilgisayar Mühendisleri Odası'nın bugün yayınladığı bildiriyi okumaya devam ediyorum. Bildiride yazılan her şeye ben de sonuna kadar katılıyorum ve destekliyorum.

Bu konu hakkında siz ne düşünüyorsunuz? Yorumlar bölümünde konuşalım.

Tek satırlık kütüphane tüm JavaScript ekosistemini kırdı

function isPromise(obj) {
  return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
}

Yukarıdaki tek satırlık fonksiyon aslında is-promise isimli bir JavaScript kütüphanesi. Yaptığı tek işlem ise verdiğiniz değişkenin "Promise" objesi olup olmadığını kontrol etmek ve geriye boolean değer döndürmek. Yaptığı iş bu kadar basit olmasına rağmen kütüphane(!) olabilmiş, hatta yetmemiş 3.4 milyon farklı projede kullanılmış, hatta ve hatta komple bir ekosistemi birkaç saatliğine kırabilmiş. İşte size modern yazılım geliştirme süreçlerindeki bağımlılık yönetiminin geldiği halin özeti.

Bu kütüphaneye 25 Nisan günü yapılan bir değişiklik ve 2.2.0 sürümüyle birlikte ES Module desteği gelmişti fakat sanırım bu standardı iyi bir şekilde projeye eklememiş olacaklar ki sürümün yayınlanmasından sadece birkaç saat sonra bu kütüphaneyi kullanan projelerin geliştiricileri hatalar almaya başladılar. Kütüphanenin yeni sürümündeki hatanın etki alanı oldukça büyük: Facebook'un "Create React App" aracından, Google'ın AngularJS framework'üne, oradan Amazon'un AWS Serverless komut satırı aracına kadar birçok yerden sarsıntılar hissedildi. Hali hazırda çalışan uygulamalarda anlık bir soruna yol açmadı fakat geliştiriciler derleme sırasında hata aldıkları için projelerin geliştirilme süreci aksamış oldu.

Neyse ki sorunun çözülmesi fazla uzun sürmedi. Birkaç saat içerisinde önceki değişiklikleri geri alan ve sorunu çözen 2.2.2 sürümü yayınlandı.

Aslında JavaScript ekosistemi için bu olay hiç de yeni bir şey değil. Takip edenler mutlaka hatırlayacaktır. 2016 yılında da left-pad isimli bir kütüphanenin npm'den silinmesi üzerine aynı şeyler yaşanmıştı. Üstelik ilgili kütüphanenin geliştiricisi Türkiye'den bir isimdi: Azer Koçulu. Konuyla ilgili kendisinin konuk olduğu şöyle bir podcast yayını var. Mutlaka dinlemenizi tavsiye ederim.

Görünüşe göre yazılım camiası o olaydan dersini almamış. Bu olay da her ne kadar Reddit ve HackerNews gibi platformlarda uzun süre ilk sıralarda otursa da yine ders çıkarılacağını pek sanmıyorum. Modern yazılım geliştirme süreçlerinin geldiği durumu pek beğenmiyorum. Şu yukarıdaki gibi tek satırlık bir kodu bile üçüncü parti kütüphane olarak eklemek bana soracak olursanız üşengeçlikten başka bir şey değil.

Bu konu hakkında siz ne düşünüyorsunuz? Günümüz modern yazılım geliştirme süreçlerinden memnun musunuz? Sizin karşılaştığınız ya da tespit ettiğiniz sorunlar neler? Yorumlar bölümünde konuşalım.

Hollanda, kamu hizmetlerinin yazılımlarının açık kaynak olmasını teşvik etmeye başlayacak

Geçtiğimiz hafta Hollanda İçişleri ve Krallık ilişkileri Devlet Sekreteri Raymond Knops, kamu kurum ve kuruluşlarında açık kaynak kullanımıyla ilgili açık mektup yayınlayarak (metnin İngilizce çevirisi için bu reddit yorumuna bakabilirsiniz) diğer ülkelere de çağrıda bulundu.

Metinde kamu kurum ve kuruluşlarının ürettiği yazılımları neden açık kaynak olarak paylaşılması gerektiğinden bahseden Knops, "Eğer iyi bir nedeniniz yoksa kamu yazılımlarını açık kaynak olarak paylaşmalısınız" dedi. Tabii ki bunlara askeri sistemler vb. güvenliğin çok hassas olduğu projeler dahil değil. Bu bağlamda Hollanda'nın da 2021'in ilk aylarında kamu yazılımlarının açık kaynak yapılmasını önünde duran bazı yasal bariyerleri kaldıracaklarını ve kamu kurumlarının yazılımlarının daha şeffaf olması yönünde düzenlemeler yapacaklarını belirttiler. Fakat bu yeni düzenlemeler çıktığı tarihten sonra geliştirilmeye başlanan yazılımları kapsayacak görünüyor. Yalnız şunu belirtmekte fayda var "artık kamu kurum ve kuruluşları yazılımlarını açık kaynak yapmak zorunda" gibi bir durum yok, şu an sadece kurumlara yazılımlarını açık kaynak yapabilmeleri için imkan ve teşvik sağlıyorlar.

Bu haber farklı bir kaynakta da karşıma çıktı fakat biraz kendi taraflarına yormuşlar gibi geliyor bana. Özgür Yazılım Vakfı Avrupa (FSFE) organizasyonun (bildiğimiz Özgür Yazılım Vakfı ile çalışmaları var fakat birbirlerine bağlı değiller) web sitesinde de bu haber "Netherlands commits to Free Software by default" başlığıyla yayınlandı. Fakat ben Raymond Knops'un yayınladığı açık mektupun İngilizce çevirisini okuduğumda özgür yazılımla ilgili bir ibareye rastlamadım. Knops, daha çok açık kaynağın getirdiği ekonomik ve teknik faydalardan bahsetmiş. Teknik faydalardan kast ettiğim şunlar: topluluk tarafından desteklenme, ortak geliştirme yapabilme, diğer geliştiricilerin katkı sağlayabilmesi, şeffaflık. Burada özgür yazılım tarafına yorabileceğimiz bir ifade var, o da "şeffaflık". Yazıda parantez içerisinde "açık kaynak" ("open source") ifadesini de kullanmışlar fakat benim bu haberden anladığım Hollanda da, büyük yazılım firmaları gibi açık kaynağı kendi amaçları için kullanmak istiyor. Ben de bir özgür yazılım destekçisiyim ama bu habere tarafsız gözle incelediğimde özgür yazılım adına bir ifade göremedim. Yine de başlangıç için çok güzel bir gelişme, ileride özgür yazılımı konuşmanın önünü açabilecek bir gelişme bence.

Bu konu hakkında siz ne düşünüyorsunuz? Sizce kamu kaynakları kullanılarak oluşturulan yazılımların kaynak kodları yine kamuya açılmalı mı? Devletlerin özgür yazılım tarafına geçmesi mümkün mü? Yorumlar bölümünde konuşalım.

Ayrıca yeri gelmişken Özgür Yazılım Vakfı Avrupa tarafından başlatılmış "Halkın Parası. Halkın Kodu!" ("Public Money? Public Code!") kampanyasının da şu videosunu izlemenizi öneririm:

GitHub'ın yeni bildirim sayfası tasarımı Beta'dan çıktı

Popüler uzak git sunucularından biri olan GitHub, bu hafta içerisinde uzun bir süredir Beta programında olan bildirim sayfasının yeniden tasarlanmış halini program kapsamından çıkararak, herkes tarafından erişilebilir yaptı. Bu yeni tasarımda artık bildirimler arasında arama yapabilir ve çeşitli filtreler seçerek ekranınızı özelleştirebilirsiniz.

GitHub'ın yeni bildirim sayfası tasarımı

Yeni tasarımı incelemek için siz de kendi GitHub hesabınızın bildirimler sayfasına göz atabilirsiniz.

GitLab 12.10 sürümü yayınlandı

GitHub'ın en büyük rakiplerinden biri olan GitLab, bu hafta içerisinde 12.10 numaralı sürümünü duyurdu. Bu sürümle ile birlikte gelen bazı özellikler ücretsiz kullanıcılara da açıkken, bazıları da sadece ücretli paketlerdeki lisanslı kullanıcılara açık. Gelin birkaç özelliği birlikte inceleyelim.

CI/CD anahtarlarını HashiCorp Vault üzerinden getirme

Artık HashiCorp firması tarafından sağlanan şifre, anahtar ve sertifika yönetimi servisi Vault üzerinden ihtiyacımız olan anahtarları getirip, CI (Continuous Integration) ve CD (Continuous Delivery) süreçleri üzerinde JWT (JSON Web Token) doğrulama yöntemiyle kullanabileceğiz. Bu özelliklik ücretsiz ve ücretli tüm GitLab kullanıcılarına açık.

Jira üzerinden issue'leri içeri aktarma

Atlassian firması tarafından issue takibi ve proje yönetimi hizmeti olarak sağlanan Jira platformu üzerindeki issue'leri artık GitLab'a aktarabileceğiz. Bu özellik de herkesin kullanımına açık.

GitHub CI işlerini AWS Fargate üzerinde otomatik ölçekleme

Günümüz modern yazılım geliştirme süreçlerinin önemli bir parçası da artık Continuous Integration süreçleri oldu. Projede bir değişiklik yaptığınızda bu değişikliklerin yol açabileceği şeyler farklı sistemler üzerinde denenmek ve raporlanmak zorunda. Bu deneme ve raporlama işleri de GitLab tarafında GitLab CI ile çözülüyor. Bu güncelleme ile birlikte artık CI süreçlerinde çalışan işler AWS Fargate üzerinde otomatik ölçeklenebilecek (autoscaling). Dolayısıyla deneme ve raporlama süreçleri daha erken bitebilecek. Bu özelliği GitLab.com üzerinde kullanamıyorsunuz fakat kendi sunucunuzda GitLab kullanırken ücretsiz olarak bu özellikten faydalanabiliyorsunuz.

Bu sürüm ile birlikte pek çok farklı özellikte geldi fakat hepsine burada değinemiyorum. GitLab 12.10 sürümüyle birlikte gelen diğer özellikler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

NodeJS 14.0 sürümü yayınlandı

Sunucu tarafında JavaScript kullanımına olanak sağlayan NodeJS, bu hafta itibariyle 14 numaralı sürümünü yayınladı. Bu sürümle birlikte gelen bazı özelliklere birlikte bakalım.

Şu anda "Current" dalında olan bu sürüm Ekim 2020'de Long-Term Support sürecine girecek. Yani üretim ortamında kullandığınız bir NodeJS var ise onu hemen güncellemeniz tavsiye edilmez. Uzun dönem desteklenecek hale geldiğince üretim ortamı için daha uygun olacaktır.

JavaScript motoru sürümü V8 8.1 olarak güncellendi

Bu JavaScript motoruyla birlikte gelen bazı özellikler de doğal olarak NodeJS'e gelmiş oldu. Bunlardan bazıları şu şekilde:

Deneysel Asenkron Local Storage API

Asenkron yapılar artık günümüzde birçok projede kullanılıyor. Kısaca açıklamak gerekirse bu yapılar sayesinde belirli bir zaman alan işlemlerin yazılımı durdurmasının önüne geçiliyor. Yani siz bir siteye girdiğinizde, sitenin içerisindeki bazı bilgiler başka servislerden geliyor olabilir. Bu bilgilerin gelme işlemi devam ederken siz site üzerinde gezinti yapmaya devam edebiliyorsunuz. İşte bu yapı artık Local Storage için de geldi. Artık Local Storage üzerine veri kayıt ederken ve okurken asenkron olabileceğiz.

NodeJS 14 ile birlikte gelen diğer özellik ve değişiklikler için konu başlığına eklediğim bağlantıya; değindiğim özelliklerin detayları için de ilgili alt başlığın içerisindeki bağlantılara tıklayabilirsiniz. Ayrıca alternatif kaynak için IBM'deki geliştiriciler tarafından hazırlanmış şu videoyu da izleyebilirsiniz:

Python 2 için son güncelleme: 2.7.18

Geçtiğimiz senenin eylül ayı içerisinde Python 2 sürüm dalının 3 aylık ömrü kaldığını haber vermiştim (bkz: Yazılım Gündemi - 9). Bu hafta ise Python 2 sürüm dalı son güncellemesini aldı. Artık Python 2 sürümü geliştirilmeye devam edilmeyecek. Bu haber vesilesiyle Python 2 ile artık yeni projelere başlanmamasını, var olan aktif geliştirilen projelerin de Python 3 sürüm dalına geçirilmesini tavsiye etmiş olayım.

Ayrıca konuyla ilgili StackOverflow'un Blog sayfasında da bir yazı yayınlandı. İlgili arkadaşlar nostalji yapmak için o yazıyı da okuyabilirler.

Diğer Haberler

BeğenFavori PaylaşYorum yap
burak karakus paylaştı.

Yazılım Gündemi - 2020/04

< Önceki Gündem   |   20-26 Ocak 2020   |   Sonraki Gündem >

Yazılım Gündemi ile ilgili gelişmeler hakkında bildirim almak için bu adresdeki konuya bakabilirsiniz. Yazılım Gündemine katkı sağlamak için yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri sosyalde #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz.

MEB ve BTG, "Delphi Eğitimi Protokolü" imzaladılar

Milli Eğitim Bakanlığı (MEB) ve Bilişim ve Teknoloji Grubu (BTG) (Delphi dilini geliştiren Embarcadero firmasının Türkiye Distribütörü) arasında bu hafta imzalanan protokole göre 1 milyon meslek lisesi öğrencisine Delphi programlama dili öğretilecekmiş. Türkiye yazılım camiasının bu hafta en çok konuştuğu konu buydu, o yüzden ben de biraz uzun bahsedeceğim bu konudan.

Türkiye yazılım camiasının birçoğu bu haberi HackerNews'de paylaşılan bu blog yazısı ile öğrendi. Şimdi başlık düzeltilmiş durumda fakat başlığın ilk hali şöyleydi: Turkey buys Delphi licenses for an estimated one million student [bunu yazının bağlantısındaki ilgili kısımdan siz de teyit edebilirsiniz]. Başlıkta "buys" (satın almak) kelimesinin geçmesinden dolayı herkes bu haberi "MEB, 1 milyon öğrenci için Delphi lisansı satın aldı" olarak algıladı. Türkçe kaynaklarda herhangi bir satın almadan ya da ücretten bahsedilmiyor fakat yine de başlığın yanlış yazılmasından dolayı çoğumuz da yanlış anladık. Ben de TeknoSeyir Sosyal'de paylaştığım gönderide "satın aldı" olarak yazmıştım fakat gün içerisinde herhangi bir satın almanın olmadığını öğrendiğimizde benimle birlikte yanlış anlayan çoğu kişi ilgili düzeltmeleri yaptılar. Daha sonra yayınlanan protokol metininde de şu maddenin olması içimize biraz olsun su serpti:

Madde 11- BTG düzenlenen faaliyetlerde öğrenci ve öğretmenlerden hiçbir ad altında ücret alamaz.

[Gerçi bu maddede "öğrenci ve öğretmenlerden ücret alınamaz" deniyor ama yine de protokolün devamındaki metinlerde MEB tarafı için de herhangi bir ödeme gözükmüyor.]

Yukarıdaki yanlış anlamadan dolayı çoğumuzun ilk argümanı "Delphi gibi eski ve günümüzde kullanılmayan bir dil için bu kadar kamu kaynağının aktarılması saçmalıktır" oldu. Aslında bakarsanız yanlış anlaşılma giderildikten sonra da argümanımızda çok fazla bir değişiklik olmadı. Sonuç olarak kamu kaynaklarından tek bir kuruş ödeme yapılmamış olsa bile Delphi gibi eski, sektörde neredeyse hiç kullanılmayan, kapalı kaynak, ücretli ve topluluk desteği olmayan bir programlama dilinin 2020 yılında gençlere öğretilmek istenmesi kabul edilemez. Sosyalde çeşitli gönderiler altında argümanlarımızı yazmıştım onları bütünlüklü bir hale getirmek gerekirse:

  • Delphi kapalı kaynak, ücretli ve tek firmanın elinde olan bir programlama dilidir. Her ne kadar gençler bu programlama dili ve araçlarına okullarında kurulu olan laboratuvardan ücretsiz olarak erişilebilir olsa da bu işin bir de mezuniyet sonrası var. Delphi dilini ve araçlarını ticari olarak kullanmak isterseniz yıllık 1700€ ücret vermeniz gerekiyor. Delphi Community Edition isimli bir sürümü de mevcut fakat onun için de yıllık kazancınızın 5.000$ altında olması gerekiyor, bu miktarı geçerseniz ücret lisans almanız gerekiyor. Açık kaynak ve özgür lisanslı, ücretsiz programlama dilleri ile geliştirme yapıp tek kuruş lisans ücreti ödememek varken niye Delphi kullansın bu gençler?
  • Çeşitli platformlardaki tartışmalarda karşıma çıkan argümanlardan birisi de "Delphi öğrenmesi kolay, sürükle&bırak mantığıyla uygulama tasarlayıp, derleyip, çalıştırabileceğiniz bir dil. Hem hızlı uygulama çıkarabilmek hem de görsellikten dolayı eğitim için uygundur". Bu argümanın katıldığım noktaları var. Özellikle o yaşlardaki gençlerin daha çok sonuç odaklı olarak yazdıkları kodların çıktılarını hemen görmek istemelerini gayet anlayışla karşılayabiliyorum ve Delphi geliştirme ortamının bunu sağlayabildiğini biliyorum. Benim çekincem daha çevremde gözlemlediğim bazı durumlardan kaynaklanıyor. Şöyle ki: Meslek yüksekokulunda okurken, meslek lisesinden gelen arkadaşların Microsoft Frontpage ve Adobe Dreamvewer gibi sürükle&bırak modeli üzerine kurulu uygulamalarda HTML ve CSS öğrendiklerinden dolayı, üniversitede zorluklar yaşadılar. Çoğu HTML ve CSS kodlarını görmemişti. Üniversitedeki hocamız da doğal olarak sürükle&bırak yerine kod yazarak ders işlediğinden dolayı bu arkadaşların derslerden geri kaldıklarını gözlemledim. Elbette bu örnekler ile Delphi'yi kıyaslamak çok doğru olmayacaktır ama günümüzde pek kullanılmayan bir geliştirme ortamı olması dolayısıyla gençlerin günümüz yazılım geliştirme süreçlerine entegre olmalarını zorlaştıracağını düşünüyorum.
  • Karşılaştığım argümanlardan bir diğerine gelecek olursak: "Delphi kullanarak, sürükle&bırak modelinde geliştirdiğiniz uygulamaları çok kolay şekilde platformlar-arası (cross-platform) uygulama haline getirebilirsiniz. Yazdığınız uygulamaları Windows, macOS, GNU/Linux ve Android gibi sistemlerde çalıştırabilirsiniz. Bunu yapabilecek başka bir platform öneriniz var mı?". Bu argümana cevabım ise Delphi IDE'sinin üzerine kurulu olduğu sürükle&bırak geliştirme modelinin günümüz geliştirme süreçlerinde pek de aranan bir şey olmadığı, dolayısıyla da önerimin olmadığı yönünde oldu. Her ne kadar Delphi gibi sürükle&bırak modeliyle olmasa da bugün platformlar-arası uygulama geliştirmeye yarayan birçok framework mevcut. ElectronJS, Qt, Flutter vb. sistemleri örnek olarak sayabiliriz. Günümüzdeki bazı geliştirme modelleri, özellikle de ElectronJS'in üzerine kurulu olduğu model, benim de hoşuma gitmemesine rağmen sektör tarafından son derece kabul edilmiş ve yaygın uygulama geliştirme modelleri olarak karşımızdalar.

Benim argümanların genel olarak bu şekildeydi. Özetleyecek olursam: Delphi dili ve araçlarıyla kişisel olarak bir problemim yok ama maalesef bu dil ve araçlar günümüz için geçerli seçenekler değil. Gençlere açık kaynak ve özgür lisanslı, ücretsiz, topluluk tarafından desteklenen ve geliştirilen diller öğretmemizin daha doğru olacağını düşünüyorum. Nitekim Bilgisayar Mühendisleri Odası da hemen hemen bu yazdıklarıma yakın bir şekilde kendi bildirilerini yayınladılar ve Milli Eğitim Bakanlığı'ndan bu protokolü iptal etmelerini talep ettiler.

Bu konuda siz ne düşünüyorsunuz? Yorumlar bölümünde konuşalım.

JetBrains, IntelliJ tabanlı IDE'leri için 2020 yeni özellikler yol haritasını yayınladı

Geçtiğimiz senedeki yazılım gündemlerinin birinde (bkz: Yazılım Gündemi - 22) JetBrains'in, IntelliJ Platformu için yayınladığı 2020 yol haritasını konuşmuştuk. O yazıda daha çok platformun daha derinlerindeki özellikler ile ilgili yol haritasından bahsetmişlerdi. Bu hafta yayınladıkları "IntelliJ-based IDE Features Roadmap for 2020" başlıklı yazı ile daha çok biz geliştiricilerin etkileştikleri yerlere ilgili özelliklerin yol haritasını yayınladılar. Şöyle birkaç alt başlığa göz atalım:

IDE'yi genel amaçlı metin düzenleyici olarak kullanabilme

JetBrains IDE'lerinin kullanıcıları üzerlerinde çalıştıkları projelere ek olarak aynı zamanda çeşitli farklı dosyaları da bu IDE'ler ile düzenlemek istiyorlarmış. Mesela log dosyalarını görüntülemek, sunucu ayar dosyalarını düzenlemek gibi. Elbette bunu yapmak mümkün fakat JetBrains IDE'leri daha çok proje tabanlı çalışmaya uygun oldukları için tek bir dosya açsalar bile sanki bir proje açmışlar gibi gözüküyordu ve bazı yavaşlamalar oluyordu. 2020 yılında artık JetBrains takımı, IDE'lerini genel amaçlı metin düzenleme (text editor) işleri için de kolayca kullanılabilir hale getirmeyi planlıyorlar. Bunun için de özel bir mod hazırlıyorlarmış. Benim tahminim büyük ihtimal komut satırından bir dosyayı açarken "phpstorm –text-mode deneme.log" gibi bir komut çalıştıracaksınız ve bu mod o şekilde açılacak. Elbette bu modun daha hızlı açılabilmesi için çoğu IDE özellikleri çalışmayacak fakat kullanıcıların birçoğunun ihtiyaçlarını karşılayacaktır. Aynı zamanda bu moddan normal IDE moduna geçmek için de yol olacak deniyor.

Makine öğrenmesi tabanlı kod tamamlama önerileri

JetBrains IDE'lerinin en meşhur özelliklerinden biri de çok gelişmiş kod tamamlama ve öneri sisteminin olmasıdır. Benim de kullandığım zamanlarda gerçekten çok işime yarayan özelliklerden biriydi. Biraz da kavramın popülerleşmesinden dolayı olsa gerek artık bu öneri sistemine "makine öğrenmesi" ekleyeceklermiş. IDE'lerin son sürümlerinde bazı makine öğrenmesi yöntemlerinden faydalanmışlar ama sonraki sürümlerinde bu daha da geliştireceklerini ve geliştirme sürecinin çok büyük bir eforunu bu kısım üzerine yoğunlaştırdıklarını belirtmişler.

Geliştirme ortamının kurulması

JetBrains takımı artık IDE'leri kuranlara yardımcı olmak için geliştirme ortamıyla ilgili bazı kurulumlarda da yardımcı olacakmış. Mesela Git'in kurulması ya da bir JDK sürümünün kurulması gibi. Böylece JetBrains IDE'lerini kullananlar geliştirme ortamlarını daha hızlı bir şekilde hazır hale getirebilecekler. Şahsen ben bu tarz kurulumları yine kendim elle yapmak isterim ama istemeyen geliştiriciler için güzel bir kolaylık olacaktır diye düşünüyorum.

Bu özelliklerden bazılarını IDE'lerinin 2020.1 sürümlerinde kullanıma açılacağını belirtmişler. Nitekim yine bu hafta yayınlanan IntelliJ IDEA 2020.1'de bu sözleri yerine getiriyorlar. Henüz erken erişim programında olan bu sürüm ile birlikte yukarıda "Geliştirme ortamının kurulması" alt başlığında bahsettiğim JDK sürümleri indirme özelliğini eklemişler.

2020 yılı yeni özellikler yol haritasının tüm alt başlıkları için konu başlığına eklediğim bağlantıya; IntelliJ IDEA 2020.1 EAP sürümünün detaylarıyla ilgili bilgiler için de bu bağlantıya tıklayabilirsiniz.

Microsoft Edge tarayıcısının geliştirici özelliklerine 3-boyutlu görüntüleme ekledi

Geçtiğimiz haftalarda tüm kullanıcılar için Beta programından çıkan Microsoft'un yeni Chromium tabanlı tarayıcısı Edge'in içerisindeki geliştirici araçlarına güzel bir özellik eklenmiş. Artık bir web sitesi üzerindeki elemanları 3 boyutlu olarak inceleyip, özelliklerine bakabileceğiz. Henüz sadece deneysel (experimental) olan bu özelliği aktifleştirmek için Edge'deki DevTools kısmını açtıktan sonra Settings sekmesi altından "Enable 3D View" seçeneğini işaretlemek gerekiyor.

Özelliği daha iyi anlayabilmek adına Twitter'daki Microsoft Edge DevTools isimli hesabın paylaştığı videoyu izleyebilirsiniz:

MySQL 5.6'nın 1 yıllık ömrü kalmış

Bu haber doğrudan biz geliştiricileri ilgilendirmiyor ama dolaylı yoldan da olsa bizi etkileyebileceği için gündeme almak istedim. MySQL veritabanının 5.6 sürümü Şubat 2021 tarihinde aramızdan ayrılacakmış. Sistem yöneticilerinizi konuyla ilgili bilgilendirebilirsiniz.

Diğer Haberler

BeğenFavori PaylaşYorum yap
    • Eren Hatırnaz @erenhatirnaz

      @moshck Elimde biraz eskiden kalma şöyle bir grafik var. Bu grafiğe göre Fortran ve C birbirinden tamamen ayrı olarak gözüküyor ama Fortran hiç yazmadığım için emin değilim.

    • Cem KOÇ @cemkoc

      @moshck Fortran kullandım. C kullanıyorum. Tamamen farklı dillerdir.

    • Eren Hatırnaz @erenhatirnaz

      @moshck Rica ederim. Faydalı olabilmişsem ne mutlu bana 🙂

    • Cem KOÇ @cemkoc

      @moshck Hocam Fortran'ın ben çok eski bir sürümünü kullandım. (IV olması lazım)

      Ama tamamen projeye uygun dil seçmenizi öneririm. Daha kullanışlı veya kolay derim bir tanesi için ama kullanacağınız kütüphaneler yetersizse yine zorlar haliyle.

      Open MPI demişsiniz. Öncesinde fikrim yoktu fakat bakınca gördüm ki dediğiniz gibi C/C++ ve Fortran için kütüphaneler var. Tamamen kişisel olarak konuşuyorum ki bence C veya C++ ile devam edin. Çünkü yolda takılacağınız noktalar için çok daha fazla yol gösterici bulabilirsiniz internette.
      O ikisinden hangisi diye sorarsanız bence forumlarda Open MPI ile ilgili başlıkların hangisi daha yoğunlukta ise onu tercih edin. Genel kanının aksine C ve C++ birbirini çok benzemesinin yanında sert farklılıkları da olan tamamen farklı dillerdir. Fakat o nüansları bilerek ikisinde de kod yazabilir hale gelebilirsiniz kısa sürede.

      Ama şu kesin ki bu saatten sonra Fortran'ı önermem özellikle de öğrenmek için zaman harcayacaksanız.

  • Yiğit @yigit1

    Öncelikle eline sağlık @erenhatirnaz hocam! 🙂
    Delphi konusu hakkında son bir şey söylemek istiyorum. Tamam Delphi hala kullanılıyor olabilir ama gerçekten zaman kaybı. Zaman kaybı olmasının nedenini kısaca çok fazla desteklenmediği için ve kullanılmadığı için diye söyleyebilirim. İkna olmayan olursa tabii ki uzun uzun tartışabiliriz.

    "...Şahsen ben bu tarz kurulumları yine kendim elle yapmak isterim ama istemeyen geliştiriciler için güzel bir kolaylık olacaktır diye düşünüyorum..."
    Niye kendiniz yapmak istiyorsunuz hocam?

    • Eren Hatırnaz @erenhatirnaz

      JDK örneği üzerinden gidelim. Bazen sistemde de farklı ihtiyaçlar için JDK kurulu oluyor, bir de uygulamanın kendi indirdiği JDK olunca bazen karışabiliyor. Gerçi genelde uygulamanın indirdiği JDK kendi dizini içerisinde oluyor ama yine de huylanıyorum ben. Biraz kişisel bir karar yani.

burak karakus paylaştı.

Yazılım Gündemi - 23 (23-31 Aralık 2019)

< Önceki Gündem     |   23-29 Aralık 2019   |     Sonraki Gündem >

Yazılım Gündemi ile ilgili gelişmeler hakkında bildirim almak için bu adresdeki konuya bakabilirsiniz. Yazılım Gündemine katkı sağlamak için yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri sosyalde #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz.

2020 dönemi için Python yönetim konseyi üyeleri seçildi

 

Python uzun zamandır geliştirilen bir programlama dili olduğu için haliyle yönetimi için de bazı kararlar alınması gerekiyordu. Kısaca tarihçesinden bahsetmek gerekirse: Guido van Rossum (Python dilinin yaratıcısı), 2018'in temmuz ayında Python mail grubuna bazı kararları verirken yorulduğunu ve artık karar verici konumunda olmak istemediğini belirten bir mail yazıyor ve topluluğa "kendi yönetim şeklinizi kendiniz belirleyin" diyor. Bunun üzerine python ana geliştirici takımı da çeşitli yönetim modelleri üzerine tartışmalar yaptılar ve "PEP 8016 - The Steering Council Model" sistemi üzerinde karar kıldılar. Daha sonra bu model üzerinde biraz değişiklikler yaparak bugün geçerli olan haline getirdiler: PEP 13 - Python Language Governance. Guio van Rossum yine yönetim kurulunun bir üyesi olarak seçilmişti.

Yönetim konseyi modelinden de kısaca bahsedeyim havada kalmasın. Bu modele göre yönetim konseyi 5 kişiden oluşabilir. Seçilen bu 5 kişi ise Python dilinin kalitesini ve stabilitesini sürdürmekte yükümlü olmasının yanı sıra, Python ana geliştirici takımı ve Python Software Foundation arasındaki ilişkiyi kurma, gerektiğinde kod yazarak katkı sağlama, uygun karar verme süreçlerini kurmak gibi görevlerle birlikte PEP'leri kabul etmek ya da reddetmek, davranış kurallarını güncelleyebilmek gibi güçleri de mevcut. Bu yönetim şekliyle ilgili diğer detaylar için PEP 13 sayfasını ziyaret edebilirsiniz.

Kasım ayında gerçekleşen aday belirleme süreçlerinden sonra bu ayın başlarında oylama işlemi gerçekleştirildi ve yeni yönetim konseyi üyeleri belli oldu:

  • Barry Warsaw (50 oy),
  • Brett Cannon (54 oy),
  • Carol Willing (54 oy),
  • Thomas Wouters (40 oy),
  • Victor Stinner (38 oy).

Adayları sadece Python ana geliştirici takımı üyeleri önerebiliyor, eğer kişi Python ana geliştirici takımı üyesi ise kendini de önerebiliyor. Bu bağlamda Guido van Rossum da yönetim kurulu üyesi için önerilmişti fakat yazdığı forum mesajı ile adaylıktan çekildi ama "yine de ben buralardayım katkı sunmaya, soru yanıtlamaya devam edeceğim" dedi.

Yeni yönetim kurulu üyelerine başarılar dilerim. 🙂

Yeni yıla girerken daha önceki yazılım gündeminde de duyurduğum gibi Python 2'nin 1 Ocak 2020'den itibaren desteklenmeyeceği tekrar hatırlatmış olayım. Python 2'nin ölümü için geri sayım da burada gerçekleşiyor. Elveda Python 2.7…

Ruby 2.7 sürümü yayınlandı

Akıcı syntax'ından dolayı çok beğendiğim fakat uzun zamandır yazmaya fırsatım olmayan Ruby programlama dilinin 2.7.0 sürümü bu hafta yayınlandı. Zaten geçtiğimiz haftaki gündem yazısında da belirtmiştim bu hafta yayınlanacağını. Ruby 3 ile değişecek olan argüman işleme sisteminden ve Ruby 2.7'deki etkilerinden zaten geçen hafta Yazılım Gündemi - 22 yazısında bahsetmiştim. Onun dışındaki yeniliklere bakalım:

Pattern Matching [Deneysel]

Henüz deneysel olarak eklenmiş bu özellik ile birlikte artık objelerin içerisindeki istediğiniz yapılara göre eşleme yapabileceksiniz. Örnek verirsem daha iyi anlaşılacak. Şöyle ki, elinizde bir JSON verisi var diyelim:

{
  "isim": "Ahmet",
  "yas": "45",
  "cocuklar": [{
    "isim": "Mehmet",
    "yas": 5
  }]
}

ve kendi ismi Ahmet, çocuğunun ismi Mehmet olan birinin verisini çekip çocuğun yaşını yazdırmak istiyorsunuz. Eskiden bu şekilde yapıyorduk:

kisi=JSON.parse(json, symbolize_names: true)
if kisi[:isim] == "Ahmet"
  cocuklar = kisi[:cocuklar]
  if cocuklar.length == 1 && cocuklar[0][:name] == "Mehmet"
    puts cocuklar[0][:yas] # => 5
  end
end

Daha karmaşık JSON verilerinde bu kod parçasının alacağı hali varın siz düşünün… ya da yok düşünmenize gerek yok Ruby 2.7 var:

case JSON.parse(json, symbolize_names: true)
in {isim: "Ahmet", cocuklar: [{isim: "Mehmet", yas: cocuk_yas}]}
    puts cocuk_yas # => 5
end

Bu kadar kolay!

Bu özellik hakkında daha fazla bilgi için bu adresdeki sunum dosyasını inceleyebilirsiniz.

REPL iyileştirmeleri

REPL sistemi birçok popüler scripting dilinde artık olmazsa olmazlardan biri haline geldi. Açılımı Read-Eval-Print-Loop olan bu özellik sayesinde terminalinizinden ilgili programlama dilini interaktif bir şekilde kullanabiliyorsunuz. Ruby dilinde de bu internaktif deneyim için irb aracını kullanıyorduk. Ruby 2.7 ile bu araca yeni özellikler gelmiş.

(MP4'den GIF'e çevirirken böyle oldu maalesef 🙁 )

irb aracına çok satırlı düzenleme özelliği gelmiş. Bununla birlikte kod renklendirme de eklenmiş. rdoc entegrasyonu da sağlanmış.

JavaScript'in Durumu 2019 anketi sonuçları yayınlandı

JavaScript her geçen gün popülerliği daha da artan ve kullanılan bir dil. Her ne kadar bazı alanlara zorla sokulması hoşuma gitmese de şu an için -en azından sektör içerisindeki kullanıma göre- alternatifi yok gibi bir şey (WebAssembly'den yana umudum var). Her yıl düzenlenen JavaScript'in Durumu (State of JavaScript) anketi bu sene de düzenlendi ve sonuçları çok güzel grafiklerle birlikte duyuruldu. Bu aslında geçen haftanın haberiydi fakat yazı daha fazla uzamasın diye bu haftaya ertelemiştim. Öyleyse birkaç grafiği birlikte inceleyelim.

JavaScript'e dönüştürülebilen diller

Bu grafikteki her noktanın arkasındaki akış 2016 yılından bugüne aldığı yolu gösteriyor. Buna göre bakacak olursak: TypeScript'in liderliği çok açık ortada zaten diğer dillerin kullanımı da çok düşük. Ben bir zamanlar CoffeeScript dilini bir süre kullandım, hatta bu dille yazılmış bir açık kaynak Chrome eklentisine bayağı bir katkı sağladım fakat artık grafikte yeri bile yok. Açıkcası yazmaktan hoşlandığım bir dildi fakat şu an olsa yazar mıyım bilemiyorum.

Front-End kütüphaneleri

Açıkcası React'in yükselişi için pek sürpriz oldu diyemem ama bu sene ortaya çıkan Svelte'ye bu kadar pozitif bakılması beni şaşırttı. Bunların dışında Angular'ın kullanımı zaman içinde artmış fakat negatif tarafa düşmüş. Bir ara denemiştim ben de fakat fazla karışık gelmişti. Diğer kütüphanelerle ilgili pek bir bilgim yok.

İnsanların en çok memnun oldukları front-end kütüphaneleri sıralaması ise bu şekilde:

Diğer kategorilerdeki istatistikleri de paylaşmak isterdim fakat yazısı çok uzatmış olurum. O yüzden daha fazla istatistik ve bilgi için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

Alternatif olarak da şu blog yazısındaki istatistiklere göz atabilirsiniz.

Java 14 Feature-freeze sürecine girdi

Java programlama dilinin 14 numaralı sürümü için feature-freeze sürecine girildi. Yani artık programlama diline yeni özellik eklenmeyecek ve sürümün yayınlanması için çalışmalar yapılacak. JDK 14 "Rampdown Phase One" ismini verdikleri sürece girmiş. Release Candidate 1 sürümünün 6 şubat 2020, Release Candidate Final sürümünün ise 20 Şubat 2020 tarihinde yayınlanması planlanırken, genel erişilebilirlik için de 17 mart 2020 tarihi verilmiş. Kabul edilen JEP'ler (Java Enhancement Proposals) ise bu şekilde:

JDK 14'de Preview olarak eklenecek özellikler ise bu şekilde:

Dilden kaldırılan ya da deprecate olan özellikler:

Detaylıca incelemelerini önümüzdeki yazılım gündemi yazılarına bırakıyorum.

Yaklaşan Etkinlikler

Etkinlik İsmi Yeri Tarihi
KVKK ve GDPR Kapsamında Veri Güvenliği Ankara 3 Ocak 18:30
Asp.net MVC Framework Workshop İstanbul 3 Ocak 19:00
Coffee and React Native İstanbul 4 Ocak 11:00
Reactive Programming İstanbul 8 Ocak 19:20
Sanal Gerçeklik ve Render ile Görselleştirme Teknolojileri İstanbul 9 Ocak 19:00

Mustafa Akgül Özgür Yazılım Kış Kampı katılımcı başvuruları 1 ocak tarihinde başlayacak.

Diğer Haberler

Credits

BeğenFavori PaylaşYorum yap
  • Eren Hatırnaz @erenhatirnaz

    Senenin son yazılım gündemi yazısı da geldi! Herkese bolca kod yazacağı, yeni teknolojier öğreneceği, yeni deneyimler edineceği mutlu bir yıl dilerim.

    Yeni yıldan sonra ben de Yazılım Gündemi yazılarını diğer gündemler gibi 2020/1, 2020/2 şeklinde numaralandıracağım.

burak karakus paylaştı.

Yazılım Gündemi - 21 (9-15 Aralık 2019)

< Önceki Gündem     |   9-15 Aralık 2019   |     Sonraki Gündem >

Yazılım Gündemi ile ilgili gelişmeler hakkında bildirim almak için bu adresdeki konuya bakabilirsiniz. Yazılım Gündemine katkı sağlamak için yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri sosyalde #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz.

Windows sistemleri etkileyen kritik Git güvenlik açıkları kapatıldı

Aslında güvenlik açıkları sadece Windows sistemleri etkilemiyor, aynı zamanda sisteminizde NTFS olarak formatlanmış bir disk bölümünüz varsa bu açıklarsan sizde etkilenebilirsiniz. Git geliştiricileri, mümkün olan en kısa sürede Git sürümlerinizi güncellemenizi öneriyor. Güvenlik açıklarının teknik detayları başka güvenlik sorunlarına neden olabileceği için henüz yayınlanmamış fakat yol açtıkları sorunlar hakkında kısa bilgilendirmelere ulaştım. Şöyle ki:

  • CVE-2019-1348: git fast-import komutunun --export-marks argümanından kaynaklanan dosya yollarının üzerine yazmayla ilgili bir güvenlik açığı.
  • CVE-2019-1349: git clone komutu ile resurcive olarak submodule indirirken uzaktan kod çalıştırmaya yarayan güvenlik açığı.
  • CVE-2019-1350: Unutulan bir tırnak işaretiyle git clone
    --recurse-submodules
    komutunun farklı komutlar çalıştırmasına yol açan bir güvenlik açığı.
  • CVE-2019-1351: git clone komutunun, Windows'daki alfabetik olmayan (C,D yerine 1 ya da Unicode karakter içeriyorsa) mantıksal disk bölümlerinin üzerine yazmasına neden olan güvenlik güvenlik açığı.
  • CVE-2019-1352: git clone işlemi sırasında NTFS Alternate Date Streams ile ilişkili bir sorun yüzünden .git klasörü içerisindeki dosyaların üzerine yazmaya neden olan bir güvenlik açığı.
  • CVE-2019-1353: WSL üzerinde Git kullanırken NTFS'in Shortnames özelliğinden kaynaklanan bir sorun yüzünden git clone sırasında uzaktan kod çalıştırmaya imkan sağlayan bir güvenlik açığı.
  • CVE-2019-1354: Windows'daki klasör isimlerinde \ işaretinin farklı amaç için kullanılmasından doğan dosyaların üzerine yazabilmeyi sağlayan bir güvenlik açığı.
  • CVE-2019-1387: Submodule isimlerinin doğrulaması sırasında oluşan hatadan doğan güvenlik açığı.
  • CVE-2019-19604: .gitmodules dosyasında bir scripti ya da çalıştırılabilir dosyayı işaret eden komut barındırmaya yarayan bir güvenlik açığı.

Görüldüğü gibi güvenlik açıklarının sayısı epey bir fazla, bu yüzden mutlaka mümkün olan en kısa zamanda Git sürümlerinizi güncelleyin. Eğer yakın bir zamanda güncelleyemeyecek durumdaysanız şunları yapmaktan kaçının:

  • git clone --recurse-submodule ve git submodule update komutlarını çalıştırmak,
  • Güvenmediğiniz depolar için git fast-import komutunu çalıştırmak,
  • Güvenmediğiniz depoları NTFS formatlı bir disk barındıran sistem üzerinde clone etmek.

Bu güvenlik açıklarını kapatan Git sürümleri ise şu şekilde: v2.24.1, v2.23.1, v2.22.2, v2.21.1, v2.20.2, v2.19.3, v2.18.2, v2.17.3, v2.16.6, v2.15.4 ve v2.14.6.

NPM, dosyalara erişim sağlamaya yol açan bir güvenlik açığını kapattı

Güvenlik açığı hakkında yeterince teknik bilgi sağlanmasa da NPM geliştiricileri, package.json dosyasının işlenmesi sırasında doğan bir güvenlik açığı kullanıcının bilgisayarındaki herhangi bir dosyaya erişim ve değiştirme yetkisi verilmesine neden oluyor. Anladığım kadarıyla bu işlemi yapabilmesi için paket yayınlayıcısının package.json dosyasına bir takım binary kodlar eklemesi gerekiyor. Sorun package.json dosyasının işlenmesinden doğduğu için aynı güvenlik açığı yarn paket yöneticisinde de mevcut. NPM takımı, npm sistemindeki kayıtlı tüm package.json dosyalarında bu tarz bir açıktan faydalanan paketleri bulmaya çalışmış fakat bir şey çıkmamış. Tabii ki yine de gerekli güncellemelerin en kısa zamanda yapılmasını şiddetle tavsiye ediyorlar.

NGINX Rusya ofisi polis tarafından basıldı ve 2 kişi tutuklandı

NGINX'i hepimiz, şu anda en çok kullanılan web sunucu araçlarından birisi olarak tanıyoruz, geliştiricisi Igor Sysoev, NGINX'i 2004 yılında açık kaynak olarak lisanslı şekilde duyurmuştu fakat o zamanlarda henüz NGINX kendisinin tam zamanlı işi değildi ve Rusya'nın popüler arama motorlarından biri olan Rambler için çalışıyormuş. Bu haftanın gündemine oturmasının sebebi de bundan kaynaklı. Geliştirici başka bir firma için çalışırken o firmanın sağladığı imkanlar ile bu yazılımı geliştirdiği için bir telif hakkı sorunu ortaya çıkmış ve polis baskını ile kaynak kodlar ve çeşitli belgelere el konulmuş. Aslında bu durumun yeni ortaya çıkması çok ilginç çünkü geliştirici 2012 yılında verdiği bir röportajda (rusça) kendisi de söylemişti "o zamanlar Rambler için çalışıyordum" diye fakat ilgili firmanın yeni aklına düşmüş herhalde ya da başka bir takım olaylar var. Ayrıca kodlara el koymaları da ilginç olmuş NGINX zaten açık kaynak, el koymak için baskın yapmanıza gerek yoktu. Zaten böyle bir telif hakkı sorunu için polis baskını yapmak ayrı bir saçmalık gibi geliyor bana. Baskında polisler şöyle mi seslendiler acaba: "Şimdi sakin ol ve elindeki klavyeyi yavaşça bana doğru uzat evlat!" 🙂

Tutuklanan kişilerin de NGINX'in yaratıcı Igor Sysoev ve şirketin ortaklarından biri olduğu yönünde haberler var. Konu HackerNews ve Reddit gibi platformlarda yaklaşık bir gün boyunca üst sıralarda kaldı ve geliştiricilerin gündemine oturdu.

Dart programlama dilinin 2.7 sürümü duyuruldu

Google tarafından geliştirilen, Flutter isimli hibrit mobil uygulamalar geliştirmeye yarayan uygulama çatısıyla popülerlik kazanan yine Google tarafından geliştirilen programlama dili Dart programlama dilinin bu hafta içerisinde 2.7 numaralı sürümü duyuruldu. Aynı zamanda Dart, bu yıl yayınlanan GitHub Octoverse raporunda (bkz: Yazılım Gündemi - 17) en hızlı büyüyen birinci programlama dili seçilmişti. Dille ilgili hiçbir deneyimim yok ama eklenen özellikleri anlayabildim. O halde 2 özelliğe birlikte bakalım:

Eklenti metodları

Bu özellik sayesinde artık herhangi bir tip için özel bir fonksiyon ekleyebileceksiniz. Tip'in sizin tarafınızdan yaratılmış olması da gerekmiyor. Örnek verecek olursak:

extension ParseNumbers on String {
  int parseInt() {
    return int.parse(this);
  }
}

main() {
  int i = '55'.parseInt();
  print(i);
}

Yukarıda String veri tipine parseInt isminde bir fonksiyon ekledik ve String içerisine yazılan bir sayının int veri tipine çevrilmesini sağladık.

Null Safety

Henüz preview aşamasında olsa da faydalı bir özellik. Örnek üzerinden inceleyelim:

class Kisi {
  String ad;
  DateTime dogumTarihi;
  Kisi(this.ad, this.dogumTarihi);

  void tanit() {
    print(ad);
    int dogumYili = dogumTarihi?.year;
    print("${DateTime.now().year - dogumYili} yıl önce doğmuştur");
  }
}

Örnekte dikkat etmeniz gereken ? karakterinin kullanımı. ? karakteri ile yapılan aslında şuydu: dogumTarihi property'sinde değer tanımlıysa year property'sini getir. Yani doğum tarihinin girilmediği durumlarda year metodu bulunamadı gibi bir takım hatalardan kaçınılmış oldu.

Dart programlama dilinin yeni sürümü ile gelen diğer özellik ve değişiklikler için konu başlığına eklediğim blog yazını okuyabilirsiniz.

Flutter 1.12 duyuruldu

Google tarafından Dart programlama dili ile geliştirilen hibrit uygulama geliştirme çatısının bu hafta 1.12 sürümü duyuruldu. Duyurulan bazı şeyler bu şekilde:

  • MacOS desteği eklendi. Windows ve Linux desteği de eklenecek.
  • Web desteği beta olarak duyuruldu.
  • Geliştirici ve tasarımcıların birlikte çalışmasını kolaylaştırmak için Google ve Adobe XD partnerliği duyuruldu.
  • iOS 13'de eklenen Dark mode özelliğine erişebilme desteği,
  • AndroidX desteği,
  • Google Fonts desteği,

Flutter MacOS desteği

Bu hafta benim de katıldığım GDG DevFest '19 Trabzon etkinliğinde Flutter 1.12'de eklenen MacOS ve Web desteğinin de demosu yapıldı. Açıkcası her ne kadar Google teknolojileri ilgimi çekmese de mobil uygulamanın aynısın hem mobilde hem de masaüstü ve web ortamlarında aynı şekilde çalıştığını kanlı canlı görmek beni şaşırtmadı değil. Sunumu yapan kişinin Flutter 1.12 ile gelen özellikler hakkında yayınlandığı yazıyı da okumanızı tavsiye ederim.

Android Açık Kaynak Projesine code search web arayüzü eklendi

Biliyorsunuz ki Android ilk 1.0 sürümünden beri açık kaynak bir mobil işletim sistemi. Şu anda Google'ın dağıttığı daha özel bir hali olsa da orijinal Android kaynak kodları da yine Google tarafından sunulmaktaydı. Fakat bu kaynak kodlar içerisinde gezinmek o kadar kolay değildi. Şimdi ise yepyeni ve modern bir arayüze sahip bir proje haline geldi. Üstelik fonksiyonun tanımlandığı ve kullanıldığı yerleri de göstermek gibi özellikleri de mevcut. İlgili arkadaşlar mutlaka incelesinler: https://cs.android.com/

Mikro-kontrolcüler için Qt kütüphanesinin 1.0 sürümü yayınlandı

Geçtiğimiz yazılım gündemi yazılarında (bkz: Yazılım Gündemi - 6) bahsettiğim mikro-kontrolcüler üzerinde Qt kütüphanesi ile kullanışlı ve güzel arayüzler tasarlamaya yarayan kütüphanenin 1.0 sürümü bu hafta yayınlandı. Maalesef C++ deneyimim pek olmadığı için detaylar hakkında fazla bilgiye sahip değilim. Bilgi olan arkadaşların yorumlar bölümünde katkılarını bekliyorum. Detaylar ve rehberler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

Visual Studio Code Kasım 2019 (v1.41) sürümü yayınlandı

Yaklaşan Etkinlikler

Etkinlik İsmi Yeri Tarihi
Beetech İstanbul 17 Aralık 10:00
PostgreSQL' de sharding & FDW ve Partitioning Ankara 17 Aralık 18:00
Global AI Bootcamp 2019 Türkiye İstanbul 17 Aralık 19:00
Panel: Yazılımcının Yolu İstanbul 18 Aralık 19:00
Oyun Geliştirme Günleri 2 İstanbul 19 Aralık 12:30
Ankara Tech Talks & JetBrains - S02E3 - Kotlin Night Ankara 19 Aralık 18:30
Agile’dan DevSecOps’a giden yol İstanbul 19 Aralık 19:00
Alternatif JVM'ler ve Java'nın geleceği Online 19 Aralık 19:00
Siber Güvenlikte Kariyer İstanbul 20 Aralık 18:30
Snort ile Savunma Keyfi Ankara 20 Aralık 19:00
Temel R Eğitimi 2 Ankara 21 Aralık 12:00
Go 101 Workshop ve Yazılım Tasarımında Paradigmalar İzmir 21 Aralık 15:00
Deploy Java Microservices to OpenShift on IBM Cloud İstanbul 24 Aralık 19:00
Bir Yazılım Geliştirici İçin Çeviklik Neden Önemli? İstanbul 27 Aralık 18:30
Facebook Developer Circle: Ankara, Advanced React Concepts Ankara 28 Aralık 10:00
R ile Zaman Serileri İstanbul 28 Aralık 12:30
PyTorch ile Deep Learning'e Giriş İstanbul 28 Aralık 15:00

Diğer Haberler

Güncelleme Notu (16 Aralık 0:38): Küçük bir yazım yanlışı giderildi.

BeğenFavori PaylaşYorum yap
burak karakus paylaştı.

Crown CH-1 & Kasetçalar Deneyimim

Herkese merhaba bugün sizlere aslında bu blog'u yoksa inceleme olarak mı yayınlayayım tam karar veremediğim bir deneyimimi paylaşacağım

Öncelikle bu ürünü Sahibinden.com dan 85tl ye aldım, üstelik Ebay'de temiz kutulusunu 75 dolara satanı gördüm.Ben esasen dönem olarak CD çalar dönemine denk geldim ve sonradan mp3 player ,sonrası ise stream müzik ,şuan müziklerimi normalde iTunes dan dinliyorum yani sonuç olarak kasetçalar benim hayatımda olmamıştı.İnternetten araştırdığım zaman gördüm ki kasetçalar konusu başlı başına bir kültürmüş meğer ve hala çok az da olsa kasetleri Vintage Music Store'larda bulabiliyorsunuz.

Konumuza dönecek olursak, ürün elime gedi satıcı sağolsun içinde kaset de yollamış.Hediye gelen kaset orijinal ve bakımlıydı.Oysaki kasetler iyi muhafaza edilmesi gerekiyormuş yoksa dip sesler kaçınılmaz oluyor bazen sesleri kısık veriyor ya da sesler bozulabiliyor hatta stereo dan monoya düşüşü dahi gördüm.Kasetten kasete çok fark var mesela CD de böyle bir uçurum yok.En dikkatimi çeken şey ise bazı kasetlerin filmleri gevşek ya da katlanma olduğu için cihazın çiğnediğine şahit oldum ve esas çile o zaman başladı diyebilirim.Cihazı kapatıp çıkartamıyorsun çünkü dolanmış oluyor o yüzden play'e basıp öyle çıkartman gerekiyor sonra ise stabilo kalem ile sarma işlemi var.Ama güzel olan tarafı bazı kasetçalarlarda record tuşuna basarak boş kasetleri doldurabiliyorsun.Tamir amaçlı filmleri kesip yapıştırmak gibi şeyleri de sayarsak kişiselleştirmede CD den daha iyi.Bazı söylentilere göre ileride Plak koleksiyonculuğunun yanında kaset koleksiyonculuğu da yaygınlaşacağını söylüyorlar.

Satıcı önceden sadece içindeki kaseti döndüren lastiği değiştirmiş onun haricinde tamamen orijinal 1980 model bir kasetçalar, 40 yaşına girecek ama biz 40 yaşında diyelim :).Çok şükür ki ürün sıfır gibi sorunsuz çalışıyor rengi normalde beyazmış lakin yıllara yenik düşerek Commodore 64 gibi sararmış ama genel itibari ile çok iyi korunmuş diyebilirim.

Ürün kasetçalar modelleri arasında görebileceğiniz en Oldschool tasarıma sahip.Markayı ilk defa gördüm marka günümüze kadar gelebilmiş ama ürün gamları çok kısıtlı ve profesyonel ekipmanlar yapıyorlar. Özellikleri yok denecek kadar az teknik özelliklerini hem bulamadım hem de bilmiyorum ama kabaca özelliklerine değinecek olursak:

Boy Uzunluğu 9.2cm tuşlarla birlikte 9.6cm

En Uzunluğu 14.5cm

Kalınlık 4cm 😀

FM Radyo  Yok

Auto Stop System Mevcut yani kaset biterse ya da bozuksa otomatikman oynatmayı durduruyor.

Güç kaynağı girişi var onunda 6V'luk bir adataptöre ihtiyacı var yani 4 adet AA kalem pile ihtiyaç duyuyor.

FastForward haricinde Stop ve Playden başka bir özellik bulunmuyor.

Japon Malı

Kaset yuvası tasarımı bile gayet Oldschool

Evet şükür ki 3.5mm jak hala günümüzde standard bu sebeple ki böyle eksi bir cihazı bile rahatlıkla kullanabiliyoruz, oysaki Nokia daha 10 önceki modellerine kadar bizden ince uçlu kulaklık jakı istiyordu.

Yazıyı bitirecek olursak üründen gayet memnunum yazıyı hem inceleme hem de deneyim kıvamında yapmak istedim umarım aramızda benim gibi böyle ilginçlikleri sevecek kişiler vardır.Bol güzel müzikli günler dileğiyle hoşçakalın.

BeğenFavori PaylaşYorum yap
burak karakus paylaştı.

Yazılım Gündemi - 20 (2-8 Aralık 2019)

< Önceki Gündem     |   2-8 Aralık 2019   |     Sonraki Gündem >

Yazılım Gündemi ile ilgili gelişmeler hakkında bildirim almak için bu adresdeki konuya bakabilirsiniz. Yazılım Gündemine katkı sağlamak için yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri sosyalde #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz.

2 zararlı Python kütüphanesi PyPI üzerinden kaldırıldı

Gün geçmiyor ki kişilerin dikkatsizliklerini suistimal eden zararlı yazılımlar gün yüzüne çıkmasın. Genelde uygulamalar ve hizmetlerde görmeye alıştığımız fakat son zamanlarda programlama kütüphanelerinde de yayılmakta olan bu tarz kötü amaçlı kodlar içeren kütüphaneler gittikçe daha ciddi bir tehdit oluşturmaya başladı. Bu sefer de kütüphane isimlerinde bir benzerlik hilesi yaparak kendini başka bir kütüphane gibi gösteren ama aslında zararlı kodlar içeren 2 Python kütüphanesi tespit edildi ve Python paket yöneticilerinin kullandığı Python Package Index (PyPI) sisteminden kaldırıldı. Kütüphaneler bunlar:

İki sahte kütüphane de aynı kişi tarafından geliştirilmiş ve aslında zararlı kodları içeren kütüphane jeIlyfish olan, diğerinde ise bu kütüphane içindeki zararlı dosyayı indirip çalıştıran kodlar mevcut. Zararlı kodların amacı ise çalıştırıldığı bilgisayardaki SSH ve GPG anahtarlarını çalmak. python3-dateutil sahte kütüphanesi 29 kasımda yayınlanmış fakat diğeri 1 yıldır (11 Aralık 2018) yayındaymış.

İki kütüphane de artık erişilemez durumda fakat siz projenize eklemişseniz elbette otomatik olarak silinmeyecek, bu yüzden Python ile geliştirdiğiniz projelerinizi bir gözden geçirmenizde fayda var. Her ne kadar dikkatli olmaya çalışsak da bu tarz güvenlik zafiyetleri maalesef bir anlık dikkatsizliğimizi bile çok iyi kullanıyor. Bir kere böyle bir kütüphaneyi bağımlılık olarak eklediysek sonrasında fark etmemiz çok zor oluyor. O yüzden "ben yemem böyle şeyleri" dememek gerek.

WebAssembly artık W3C onaylı bir web standardı oldu

Her ne kadar alternatifleri çıksa da, zamanla bir şekilde hepsini geride bırakmış bir dil olan JavaScript uzun zamandır hayatımızda. Fakat son yıllarda JavaScript'in tahtı yavaş yavaş sallanmaya başlamıştı ve artık kendi kategorisinde tek dil değil. Çoğumuzun mutlaka ismini en az bir kere duyduğu WebAssembly, bu hafta içerisinde JavaScript'den sonraki dördüncü Web Standartı oldu. "Web Standartı" dediğimize göre hepimiz biliyoruz ki bunu ilan edebilecek bir kurum var: World Wide Web Consortium, çoğumuzun bildiği şekliyle nam-ı diğer W3C.

Konu başlığına eklediğim bağlantıdaki basın bülteninin yayınlanmasıyla tarayıcı üzerinde çalışabilen yeni bir W3C onaylı programlama dilimiz oldu (aslında uzun bir süredir vardı fakat artık resmi olarak onaylı). Tüm yazılım camiasına hayırlı uğurlu olsun. Elbette WebAssembly sadece tarayıcı üzerinde çalışan bir dil değil, kendisiyle başka çeşit çeşit işler de yapmak mümkün. Ayrıca yine W3C geliştiricilere hız ve verimlilik için WebAssembly öneriyor.

Bu basın bülteninin yayınlanmasının bir diğer anlamı ise artık tarayıcıların WebAssembly diline destek vermek için büyük bir nedeni var. Benim tahminim önümüzdeki aylar içerisinde tarayıcılar WebAssembly diline daha büyük yatırımlar yapacak ve birer birer desteklerini duyuracaklardır. Böylece benim de WebAssembly hakkında araştırmalar ve denemeler yapmak için bir motivasyonum oldu. Şimdiye kadar pek detaylıca incelemediğim bu dili daha iyi inceleme vakti gelmiş.

Siz WebAssembly hakkında ne düşünüyorsunuz? Deneme ve araştırma imkanınız oldu mu? Olduysa deneyimlerinizi ve görüşlerinizi yorumlar bölümünde belirtebilirsiniz.

AWS, kodlarımızı inceleyecek yapay zeka hizmetini duyurdu: Amazon CodeGuru

Amazon Web Services (AWS) girenin içerisinden kolay kolay çıkamadığı dev bir ekosistem. Bu ekosistem bu hafta içerisinde daha da genişledi ve içerisine yeni onlarca servis eklendi fakat ben bunlardan biriyle ilgili konuşmak istiyorum. Evet, başlıkta da ismi olan Amazon CodeGuru servisinden bahsediyorum. Bu servis sizin kodlarınızı inceleyerek size çeşitli önerilerde bulunan eğitilmiş bir yapay zeka. Şu an Preview olarak bazı bölgelerde kullanımda açılmış.

Günümüzde gerek teknolojik gelişmelerin hızlanması gerekse de bilgisayar sistemlerinin verimliliğinin artmasıyla bazı mesleklerin yerini yapay zeka sistemlerinin alacağı öngörüleri fazlaca yaygın. Bu yapay zeka sistemlerini geliştiren bizler her ne kadar "ya sistemleri biz geliştiriyoruz zaten, bize bi' şey olmaz", diye düşünsek de, ben aynı fikirde değilim. Günün birinde birisi mutlaka "kod yazan yapay zeka" sistemi çıkaracaktır ve bu sistem verimli ve ekonomik olduğu takdirde de bizim pabuçumuzun dama atılması çok kolay. Böyle bir şeye de çok uzak olduğumuz söylenemez. Bugün de Amazon'un bu hizmeti ile birlikte bunun mümkünlüğüne daha çok inanmaya başladım.

Yani anlayacağınız çember bizim için de daralıyor arkadaşlar. Bugün kodlarımızı inceleyip bize öneri sunan yapay zeka, yarın kod da yazar. Biraz komplo teorisi vari olacak ama belki de Amazon bu servisi "kod yazan yapay zeka"yı yaratmak için kullanacak, kim bilir… Elbette yine yazılım mesleğinin yerini tamamen yapay zeka almayacak. Sonuçta bu yapay zekaları geliştirecek olanlar da bizleriz (gerçi bundan da emin değilim çünkü geçen senelerde bir haftalık gündem değerlendirmesinde "yapay zekanın geliştirdiği yapay zeka, insanların geliştirdiği yapay zekadan daha verimli" gibi bir haber dinlediğimi hatırlıyorum) ama eskiye göre yazılım geliştirici ihtiyacı bir hayli azalacaktır diye düşünüyorum.

O gün geldiğinde yazılım camiasının vereceği tepkiyi çok merak ediyorum. Şu an yapay zeka geliştirmeleriyle birçok mesleğin yerini almayı planlayarak sevinen, "ya benim geliştirdiğim sistem insandan daha verimli çalışıyor işte istatistikler" diyerek olaya son derece bilimsel yaklaşabilen arkadaşlar, o gün geldiğinde de acaba "e tabii ki de benden verimliyse buyursun geçsin yerime ben kenara çekilirim" diyebilecekler mi, yoksa Osmanlı döneminde matbaanın gelmesini istemeyen hattatlar gibi bir akım mı oluşacak? Benim tahminim ikincisinin gerçekleşeceği yönünde, çünkü hiç kimse -haklı olarak- mesleğini kolay kolay bırakmak istemez. Fakat artık Osmanlı döneminde değiliz, böyle bir sistem ekonomik ve verimli olduğu takdirde hiçbir işveren bizim göz yaşımıza bakmaz. Fazla mesai ücreti vermeden (gerçi Türkiye'de zaten alamıyoruz ama) 7/24 çalıştırabileceği bir yapay zeka varken niye bize maaş ödesin?!

Bu konuda siz ne düşünüyorsunuz arkadaşlar? Özellikle bu konu hakkında görüşlerini çok merak ediyorum. Lütfen okuyorsanız fikirlerinizi belirtmekten kendinizi geri koymayın. Yorumlar bölümünde konuşalım.

Ayrıca Amazon'un tanıttığı diğer hizmetlerin birkaçı da bu şekilde (gözden kaçırdıklarım olabilir, takip etmek çok zor):

JetBrains takımlar için yeni bir ürün tanıttı: Space

JetBrains firmasını çoğumuz, hemen her programlama dili için çıkardıkları IDE araçları ve Kotlin programlama dili ile tanıyoruz. Bu sefer programlama dillerinden ziyade daha çok şirketlerdeki geliştirici takımları çıkardıkları bir ürünün erken erişim programını duyurumalarıyla gündemimizde yer alıyorlar. Git bazlı versiyon kontrol, bloglar, planlama, code review süreçleri vb. gibi birçok özellik ile birlikte gelen bu ürünü hem servis olarak JetBrains üzerinden kullanabiliyorsunuz, hem de kurumsal firmalar için kendi sunucunuzda barındırabiliyorsunuz.

Daha detaylı bilgi için konu başlığına eklediğim bağlantılara tıklayabilir ya da aşağıdaki duyuru videosunu izleyebilirsiniz:

Django 3.0 sürümü yayınlandı

Popüler Python web framework'ü Django'nun 3.0 sürümü yayınlandı. Bu yeni Django sürümü Python 3.6, 3.7 ve 3.8 sürümlerini destekliyor. Django geliştiricileri, üçüncü parti kütüphane geliştiricilerine Django 2.2'den önceki tüm sürümlere destek vermeyi durdurmayı tavsiye etmişler. Bu sürümde gelen yeniliklerin birkaçı ise şu şekilde:

Ayrıca Django sürüm yükseltme rehberi için buraya tıklayabilirsiniz.

PHP Versiyonları İstatistikleri 2019.2 yayınlandı

Sağda: Mayıs 2019 PHP Versiyonları Kullanım Oranları / Solda: Kasım 2019 PHP Versiyonları Kullanım Oranları

Composer kullanım verilerine göre PHP versiyonlarının zamanda değişen kullanım oranları

Qt yeni eklenti mağazasını duyurdu: Qt Marketplace

C++ ile platformlar-arası (cross-platform) uygulama geliştirmeye yarayan Qt uygulama çatısının artık bir eklenti mağazası var. Geliştiriciler ücretli ya da ücretsiz birçok eklentisi bu mağaza üzerinden alıp, doğrudan uygulamaları üzerinde kullanabilecekler.

Yaklaşan Etkinlikler

Etkinlik İsmi Yeri Tarihi
Tersine Mühendislik - Workshop İstanbul 10 Aralık 18:30
Future of Java Virtual Machines and Frameworks - GraalVM and Quarkus İstanbul 10 Aralık 19:00
Test Automation with Taiko İstanbul 10 Aralık 19:30
LearnDocker İstanbul: Docker'a Giriş İstanbul 11 Aralık 18:30
Oracle Developer Meetup İstanbul 11 Aralık 18:45
LearnDocker İstanbul: Docker'a Giriş - Uygulamalı İstanbul 11 Aralık 19:00
DL Exerts - 1 : Introduction to TensorFlow 2.0 İstanbul 11 Aralık 19:00
Siber Olaylarda 5N1K Yeterli Mi? Ankara 12 Aralık 19:00
Introduction to Tensorflow 2.0 İstanbul 12 Aralık 19:00
Kuantum Programlama Uygulamaları Hackathonu Ankara 14 Aralık 09:00
JAMstack Istanbul Coffee Talk - 4 İstanbul 14 Aralık 13:00
Yapay Zeka ve Hukuk Zirvesi İstanbul 16 Aralık 09:00
AWS Meetup 44 - Re: Invent Yeni Servisler ve Gelişmeler İstanbul 16 Aralık 19:00
Software Craftsmanship Turkey Meetup İstanbul 18 Aralık 19:00
GDG DevFest Manisa 19' Manisa 19 Aralık 09:30
Hakan Erdoğan ile Developer Muhabbeti İstanbul 19 Aralık 18:30
Windows Forensics Ankara 19 Aralık 19:00
Yazılım Sektöründe Serbest Danışman Olarak Çalışmak İstanbul 20 Aralık 19:00
Tatil.com’un Monolitik Uygulamadan SPA’ya Geçiş Öyküsü İstanbul 20 Aralık 19:30
TensorFlow 2.0 Atölyesi İstanbul 22 Aralık 15:00

Diğer Haberler

BeğenFavori PaylaşYorum yap
burak karakus paylaştı.

Yazılım Gündemi - 19 (18 Kasım - 1 Aralık 2019)

< Önceki Gündem     |   18 Kasım - 1 Aralık 2019   |     Sonraki Gündem >

Yazılım Gündemi ile ilgili gelişmeler hakkında bildirim almak için bu adresdeki konuya bakabilirsiniz. Yazılım Gündemine katkı sağlamak için yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri sosyalde #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz.

Özgür Yazılım Derneği kuruldu

Özgür Yazılım, Richard Stallman tarafından ortaya atılmış ve topluluk tarafından geliştirilmiş bir felsefedir. Her ne kadar Richard Stallman'ın karıştığı son olaylar (Yazılım Gündemi - 10) hoş olmasa da böyle bir felsefeyi ve akımı başlatması açısından bence önemli bir kişiliktir. Bu felsefe dünya genelinde Free Software Foundation oluşumu üzerinden tanıtılmaya ve yayılmaya çalışıyor fakat Türkiye'de de bu konuyu önemseyen kişiler tarafından bir girişim yapılmış ve Özgür Yazılım Derneği, İstanbul'da kurulmuş. Derneğin web sitesinden anladığım kadarıyla sanırım dernek yeni kurulmadı, bir süredir var fakat benim de bu hafta Haftalık Gündem Değerlendirmesi 2019/48'de duyarak haberdar olduğum bir oluşum oldu.

Derneğin web sitesini incelediğimde 3 üyelik tipinin bulunduğunu öğrendim. Bunlar şu şekilde:

  • Destekçi Üye: Derneğin faaliyetlerine destek olmak amacıyla maddi veya ayni yardımda bulunan üyelerdir.
  • Üye: Dernek tüzüğünün 5⁄1 fıkrası uyarınca hukuken derneğin üyesi olan, Genel Kurulu oluşturan, dernek organlarını seçme ve organlarda görev alma hakkı bulunan üyelerdir.
  • Onur Üyeliği: Derneğin amaçları için çalışmış, toplumda bu konuda saygı gören ve eserleri ile dernek amaçlarına katkısı bulunmuş kişiler arasından Genel Kurul kararı ile üyeliğe alınan üyelerdir. Onur üyelerinin aidat yükümlülüğü ve oy hakları yoktur.

Desteki Üye olmak kategorisinden derneğe katılmak bir SMS uzaklığınızda. OYD yazıp 8071'e gönderdiğiniz takdirde Özgür Yazılım Derneğine aylık 20TL bağışta bulunabilir (10 TL için OYD10 yazabilirsiniz) ve sayfada sizden istenen birkaç bilgiyi sağlayarak Destekçi Üye kaydınızı tamamlayabilirsiniz. Diğer bağış yöntemleri için bu sayfayı inceleyebilirsiniz.

Derneğin kurulmasında emeği geçen tüm arkadaşları tebrik ederim. Şu an sektörden biraz uzak olsam da ileride benim de içinde bulunmak istediğim bir oluşum.

PHP 7.4.0 stabil sürümü yayınlandı

Uzun bir süredir geliştirilmekte olan PHP programlama dilinin 7.4.0 numaralı ve stabil olan sürümü bu hafta içerisinde yayınlandı. Daha önceki bir yazılım gündemi yazısında da (bkz: Yazılım Gündemi - 3) paylaştığım üzere PHP 7.4'ün yayınlanma süreci büyük oranda planladıkları takvime uygun olarak ilerledi ve tamamlandı. Yine aynı yazılım gündemi yazısında beta süresince olan bazı yeni özellikleri tanıtmıştım. Bu yazıda da birkaç farklı özelliğe bakalım:

Unpacking inside arrays (Dizi içerisinde dizi açmak)

JavaScript ve diğer dillerde spreads ismiyle gördüğümüz bu özellik artık PHP'de de var. Yani artık bir dizinin elemanlarını başka bir dizinin içerisine çıkartabileceğiz.

$parca = ['elma', 'armut'];
$meyveler = ['muz', 'portakal', ...$parca, 'karpuz'];
// dizinin son hali: ['muz', 'portakal', 'elma', 'armut', 'karpuz'];
Numeric literal separator

Daha kolay okunabilmesi için artık sayıları bu şekilde basamaklara ayırabileceğiz:

6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary

Elbette eklenen özellikler olduğu gibi değişen ve kullanımdan kaldırılmaya hazırlanan (deprecate) bazı özellikler de mevcut. Bunlar için şu sayayı ziyaret edebilirsiniz. PHP ile yüklü gelen eklentilerden de şu 3 eklenti artık PHP ile birlikte dağıtılmayacak:

Yeni stabil sürümü indirmek isterseniz bu sayfayı ziyaret edebilirsiniz.

Güncelleme Notu (1 Aralık 2019 23:38): Başlığın unutulan bağlantısı "yayınlandı" kelimesine eklendi.

Facebook ve Microsoft'dan uzaktan geliştirme işbirliği

Malumunuz devir tüm ihtiyaçların bulut bilişim çözümleriyle giderilmeye çalışıldığı günümüzde konu bize de geldi. Özellikle de son birkaç ayda duyurulan araçlar ve hizmetlerle de (bkz: Microsoft'un Visual Studio Online hizmetini duyurması - Yazılım Gündemi 17) daha popüler olan uzaktan geliştirme (Remote Development) konusundan bahsediyorum. Geçtiğimiz hafta yayınlanan blog yazısı ile birlikte de Microsoft ve Facebook, Visual Studio Code aracının uzaktan geliştirme özelliklerini iyileştirmek için birlikte çalışacağı ilan edildi.

Facebook da elbette isteyen kendi rahat ettiği programlama aracını kullanıyor fakat çoğunluk bir kısım da Facebook'un, Atom editörünü özelleştirerek çıkardığı Nuclide editörünü kullanıyormuş. Fakat geçtiğimiz yıl bu editörün açık kaynak sürümünü emekliye ayırmışlar. Microsoft'un Visual Studio Code'a remote development özelliği eklemeye ve iyileştirmeye başladığından beri bu özellik Facebook içerisinde çok fazla kullanılıyormuş. Geliştiricilere getirdiği kolaylıklar ise:

  • Projenin boyutu fark etmeksizin bilgisayarın özelliklerine bağlı kalmadan istediğin projede zorlanmadan geliştirme yapabilmek,
  • Birbirinden tamamen bağımsız geliştirme ortamları yaratarak projelerin bağımlılıkları ile ilgili çakışmaları önleyebilmek,
  • Projeler arasında hızlı bir şekilde geçiş yapabilmek ve çalıştırabilmek.

Facebook geliştirme ekibi da bu olanaklardan fazlasıyla faydalandıkları için Microsoft'a bu özelliği iyileştirmek için yardım edecekmiş. Planlanan iyileştirmelerden yazıda bahsedilmemiş, bakalım ne gibi çalışmalar yapacaklar.

Açıkcası her ne kadar uzaktan geliştirme konusuna pek sıcak bakmasam da sağladığı kolaylıklar hiç öyle yabana atılır cinsten değil. Özellikle günümüzde taşınabilir geliştirme ortamları önem kazanmaya başladı. Ben de ileride aklımdaki sistemi kurabilirsem kendi evimde bu tarz bir uzaktan geliştirme ortamı yaratmak istiyorum bakalım. Daha önceki bir yazıda sormuştum fakat yeri gelmişken tekrar sorayım, belki farklı konulara da kapı açabiliriz: Siz uzaktan geliştirme konusunda ne düşünüyorsunuz? Tercih eder miydiniz? Yorumlar kısmında konuşalım.

Tüm JetBrains IDE'leri 2019.3 sürümüne güncellendi

JetBrains, Kotlin programlama dilini üreten firma olmasından ziyade aynı zamanda çok başarılı ve güçlü programlama araçlarıyla da ünlü bir şirket. Ben de zamanında çok fazla ürününü kullanmış ve ara ara hala kullanan biri olarak söyleyebilirim ki gerçekten geliştirici camiasının ihtiyaçlarını çok iyi analiz eden ve buna göre çözümler üreten bir firmadır. Her neyse konumuza gelelim: Bu hafta tüm JetBrains IDE'lerine güncellemeler geldi. Benim ilgili olduğum bir IDE'ye gelen özelliklere birlikte göz atalım:

PHPStorm 2019.3

  • PHP 7.4 ile gelen bütün özelliklere destek (üstelik deprecate olacakları da gösteriyor),
  • PSR-12 Standardı desteği,
  • WSL (Windows Subsystem for Linux) desteği,
  • PHPDoc iyileştirmeleri,
  • Diğer özellikler için alt konu başlığına eklediğim bağlantıya tıklayabilir ya da aşağıdaki videou izleyebilirsiniz:

Diğer IDE güncellemeleri ise şu şekilde:

Windows Terminal Preview v0.7 yayınlandı

Microsoft'un açık kaynak camiasına açılmasından sonra yaptığı birkaç işi gerçekten severek takip ediyorum. Bunlardan birisi Visual Studio Code, diğeri ise Windows Terminal. Her ne kadar geliştirme yapmak için kullandığım dizüstü bilgisayarımda Windows kullanmasam da oyun bilgisayarı olarak kullandığım masaüstü sistemimde Windows var ve bazen orada da programlama testleri yapıyorum. Yeni Windows Terminal'i de WSL (Windows Subsystem for Linux) ile birlikte kullanıyorum. Bu hafta yeni bir ön izleme sürümü olan 0.7 sürümünü tanıttılar.

Benim de uzun zamandır ihtiyaç duyduğum bir terminal sekmesini birden çok parçaya bölme özelliği sonunda geldi, buna sevindim. Şimdiye kadar niye olmadığını hiç anlamadığım bir başka özellik de sekmelerin sırasını değiştirmekti ve o da bu sürümde geldi.

Bunların yanında sekmelerin isimlerini özelleştirme ve bazı görsel iyileştirmeler de katılmış durumda. Ne kadar ön izleme sürümü olsa da, Windows üzerinde programlama yapan arkadaşlara şiddetle tavsiye ederim.

Yaklaşan Etkinlikler:

Etkinlik İsmi Yeri Tarihi
Bulut Mimarisindeki Yapay Zeka Servisleri İstanbul 3 Aralık 19:00
BluTV Kubernetes & Microservices İstanbul 4 Aralık 18:30
Yazılım Sektöründe Korku, Kaygı ve Özgüven İstanbul 4 Aralık 19:00
Microprofile & Payara Micro & OpenShift İstanbul 5 Aralık 17:00
İTÜ İMK 12. Bilişim Teknolojileri Zirvesi İstanbul 6 Aralık 10:00
Python For Hackers Ankara 6 Aralık 19:00
5.Akdeniz Bilişim Zirvesi 2019 Antalya 7 Aralık 08:30
GDG DevFest'19 Eskişehir Eskişehir 7 Aralık 09:00
GDG DevFest'19 Sivas Sivas 7 Aralık 10:00
Ruby Türkiye Buluşması 7 İstanbul 7 Aralık 13:00
GDG DevFest'19 Bursa Bursa 8 Aralık 09:00
GDG DevFest'19 Hatay Hatay 9 Aralık 09:00
GDG DevFest'19 Kayseri [PDF Tanıtım Dosyası] Kayseri 9 Aralık
GDG DevFest'19 Düzce Düzce 11 Aralık 12:00
Flutter Interact İstanbul 11 Aralık 15:00
GDG DevFest'19 Trabzon Trabzon 13 Aralık 09:00
SharePoint Saturday Istanbul 2019 İstanbul 14 Aralık 10:00
GDG DevFest'19 Bolu Bolu 14 Aralık 10:00
GDG DevFest'19 Kocaeli Kocaeli 15 Aralık 09:30
Güncelleme Notu (2 Aralık 13:20): GDG DevFest'19 etkinliklerinin tümü listeye eklendi.

Diğer Haberler

BeğenFavori PaylaşYorum yap
burak karakus paylaştı.

Yazılım Gündemi - 18 (11-17 Kasım 2019)

< Önceki Gündem     |   11-17 Kasım 2019   | Sonraki Gündem >

Yazılım Gündemi ile ilgili gelişmeler hakkında bildirim almak için bu adresdeki konuya bakabilirsiniz. Yazılım Gündemine katkı sağlamak için yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri sosyalde #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz.

GitHub Universe 2019 etkinliği gerçekleşti

GitHub'ın her yıl geleneksel olarak düzenlediği Universe etkinliği bu sene de, bu hafta içerisinde gerçekleşti. Etkinlik ABD'deki Kaliforniya eyaletinde gerçekleşti fakat aynı zamanda canlı yayın ile de tüm dünyaya yayınlandı. Ben etkinliği izleyemedim ama etkinlikle duyurdukları her şeyi toparladıkları blog yazısını inceledim ve sizlere birkaç tane geliştmeyi aktarmaya çalışacağım. Öyleyse başlayalım:

GitHub iOS uygulamasının Beta programı duyuruldu

Mobilden GitHub'a erişebilmek bazen benim de ihtiyaç duyduğum bir şeydi. Şu an zaten mobil tarayıcıdan GitHub'a girdiğinizde ona göre bir arayüz geliyor fakat yine pek kullanışlı değil. iOS uygulama mağazasında bazı üçüncü parti uygulamalar olsa da ben pek güvenemedim. Sonuçta tüm depolarımıza erişim izni veriyoruz. GitHub da bu alanda bir eksiklik hissetmiş olacak ki bu etkinlikle iOS uygulamasının beta sürecinin başladığını duyurdu. Android için ise yakında başlayacağını belirttiler. Duyar duymaz ben de hemen Beta için kayıt yaptım ve 3-4 gündür kullanıyorum. Siz de iOS uygulamanın beta programına kaydolmak için buraya; Android uygulamanın bekleme listesine kaydolmak için buraya tıklayabilirsiniz.

GitHub 1.0.0 Beta mobil uygulamasından görüntüler (iOS)

Kullandığım kadarıyla gayet güzel bir uygulama olmuş fakat şu an için eksikleri ve hataları mevcut. Örneğin hangi branch'da olduğumu göremiyorum ya da branch'lar arasında geçiş yapamıyorum (bence olması gereken bir özellik). README.md dosyalarındaki görsellerde de gözükmeme sorunu mevcut. Ayrıca gece moduna teması da mevcut. İşin ilginci GitHub web'de henüz gece modu teması yok. Umarım web sürümüne de gelir. Geceleri GitHub'ı açtığımda far görmüş tavşan gibi kalmak istemiyorum. Gerekli geri bildirimleri mail olarak gönderdim. Gerekli geliştirmeler devam edecektir.

GitHub Arşiv Programı duyuruldu

GitHub herkese açık depolarımızı 1000 yıl boyunca saklamak için hazırlanıyor. Birkaç ülkenin meyve ve sebze tohumları için yaptığı çalışmanın aynısını GitHub da kodlarımız için yapmak için kollarını sıvadı. Bu etkinlikte duyurulan bu programın amacı ise gelecek nesillere şimdiki zamanın programlama kültürü ile ilgili materyaller bırakmak. Bu sayede geleceğin tarihçileri ya da "dijital arkeolojist"leri bu depoları inceleyerek programlama kültürümüz ya da topluluklarımız ile ilgili bilgiler edinebilecekler ya da bambaşka amaçlar için kullanabilirler -kim bilir.

Elbette GitHub bu işi tek başına yapmıyor. Partnerlerin hepsini tek tek yazmak yerine programdaki rollerini açıklayarak ilerleyelim.

  • GitHub: Zaten tüm verileri sağlayan şirketin kendisi. GitHub neredeyse anlık olarak tüm depolara ait verileri API sistemi üzerinden erişilebilir şekilde diğer partnerler ile paylaşacak.
  • GHTorrent: GitHub'ın tüm herkese açık verilerini takip edecek ve bunları günlük ya da aylık formatlarda erişilebilecek şekilde saklayacak.
  • GH Archive: GHTorrent'e ek olarak bu hizmet aynı zamanda BigQuery kullanarak sorgulama özelliği de sunacak. Bu hizmetten de saatlik, günlük ya da aylık şekilde indirmeler yapabileceğiz.
  • Internet Archive: Zaten birçok farklı web sitenin eski hallerini saklayan bu hizmet aynı şeyi GitHub depolarının sayfaları için de yapacak ve bunlara git veya https üzerinden erişilebilecek.
  • Software Heritage Foundation: Aylık olarak GitHub'ı tarayacak ve herkese açık verileri kendi arşivine alacak.
  • Bodleian Kütüphanesi: Oxford Üniversite'ne bağlı bu kütüphane GitHub'daki en çok yıldız alan ve en çok proje tarafından kullanılan projeleri kendi depolarında (repo değil, fiziksel depo) film makaralarında saklayacak.
  • Arctic World Archive: 2 Şubat 2020 tarihinde alınacak tüm aktif herkese açık depoların görüntüleri (snapshot) yine film makaralarında, kuzey kutbuna çok yakın bir yerde uzun ömürlü olacak şekilde depolanacak.
  • Microsoft Project Silica: Her beş yılda bir olacak şekilde Microsoft Resarch takımı aktif ve herkese açık tüm depoları 10.000 yıl saklayabilecek quartz cam plakalara femtosecond lazer kullarak yazacak.

Gördüğünüz gibi bayağı büyük bir organizasyon şeklinde işleyecek bu program. Diğer detaylı ayrıntılar için GitHub'ın hazırladığı bu web sayfasını ziyaret edebilirsiniz. Açıkcası her ne kadar gelecekler kodlarımızın ne amaçla kullanılacağını bilmesek de program benim hoşuma gitti. Hatta güzel birkaç bilim-kurgu senaryosu da aklıma geldi konuyla ilgili.

Bloomberg kanalı ve GitHub şöyle bir video da hazırlamışlar kodların saklanacağı yer ile ilgili:

Bu konuyla ilgili siz ne düşünüyorsunuz? Sizce gelecekte kodlarımız hangi amaçlar için kullanılabilir? Yorumlar bölümünde beyin fırtınası yapalım.

Etkinlikle duyurulan diğer birkaç gelişme ise şu şekilde:

Ayrıca bu hafta içerisinde GitHub'ın Kullanım Sözleşmesi ve Gizlilik Anlaşması da güncellendi.

Güncelleme Notu (18 Kasım 13:05): Konuyla ilgili video eklendi.

Mozilla, Bytecode Birliğini tanıttı

Tek amacı olmasa da en büyük amaçlarından biri olan JavaScript'e alternatif olması için geliştirilen WebAssembly programlama diline en çok katkı yapanlardan birisi olan Mozilla, topluluk için çalışmaya devam ediyor. Elbette birliği tek başına kurmadı. Şu an için birliğin içerisinde Fastly, Intel ve Red Hat firmaları var fakat daha çok firmanın da katılmasını bekliyorlar.

Günümüzde yazılım geliştirmenin evrildiği hal itibariyle üçüncü parti kütüphaneler olmadan bir yazılım çözümü üretmek neredeyse imkansız hale geldi. Elbette üçüncü parti kütüphaneler ya da araçlar kullanmanın kötü bir yanı yok, aksine açık kaynak topluluğu için çok faydalı da oluyor fakat bu sürecin sağlıklı olmayan bazı parçaları mevcut. Şöyle ki, kullanıcı bir uygulamayı sistemine kurduğunda ya da tarayıcısı üzerinden çalıştırdığında beraberinde o uygulamanın bağımlı olduğu tüm kütüphaneleri de sistemine indiriyor ve çalıştırıyor. Fakat uygulamayı çalıştırarak ona güvendiğini belirten bu kullanıcının, uygulamanın beraberinde getirdiği kütüphanelere ya da araçlara güvenmesi için bir neden yok (aslında geliştirici olarak bizim de güvenmemiz için bir neden yok). Bunun somut örneklerini önceki yazılım gündemi yazılarında çokça aktarmıştım (zararlı kod içeren 3.parti kütüphaneden, kötü amaçlı kişilerin ellerine geçmiş kütüphanelere kadar örnekler mevcut). İşte bu birliğin amacı da WebAssembly ekosistemi için tam olarak bu güven ortamını yaratmak.

Konu hakkında siz ne düşünüyorsunuz? Sizce de artık üçüncü parti kütüphane ve araçlara bakış açımızı değiştirme zamanı geldi mi? Sizin üçüncü parti kütüphane seçerken dikkat ettiğiniz şeyler neler? Yorumlar kısmında konuşalım.

OpenJDK kod tabanını GitHub'a taşımayı tartışıyor

Java'nın açık kaynak sürümü olan OpenJDK, bu sıralar çeşitli önerileri tartışmakla meşgul. Bunlardan bu sıralar gündemde olanları ise şu şekilde:

Bunlardan ilki şu sıralar birçok firmanın da uygulamaya başladığı yeni bir moda olan mono-repo sistemine geçmeyi öneriyor. Yani tüm kod tabanının büyük tek bir depoda tutulduğu yapı. İkincisi ise Git'den daha önce de var olan bir versiyon kontrol sistemi olan Mercurial'den Git'e geçmeyi öneriyor ve sonuncusu ise bugün konuşacağımız tüm kod tabanının GitHub'a taşınmasını öneriyor. Fakat burada belirtmekte fayda var sadece kodların GitHub'a taşınması düşünülüyor; issue tracker, wiki vb. yapılar yine olduğu yerde kalacaklar.

Öneri metini bayağı ayrıntılı bir şekilde hazırlanmış. Aynı metinde yer alan "Hedefler" başlığındaki birkaç taşınma nedeni ise şu şekilde:

  • Geliştiriciler katkı yapmak için OpenJDK'ya özel bazı araçları kurmak zorunda kalmayacaklar,
  • Commit öncesi kontroller çalıştırabilme,
  • Mevcut e-posta tabanlı iş akışlarının benzerlerini desteklemesi,
  • GitHub'ın erişilebilirlik özelliklerinden faydalanabilme

gibi özellikler OpenJDK takımını cezbeliyor. İlgili önerilerin metinlerini içeren sayfaları yukarıda maddeler hallinde bağlantı olarak ekledim. Daha detaylı bilgi için oraları kontrol edebilirsiniz.

Sourcehut, 2019 yılı özetini yayınladı

Günümüzde artık bir versiyon kontrol sistemi olmadan geliştirme yapmak imkansız olmasa bile çok zor. Çoğumuz da artık versiyon kontrol sistemi olarak Git'i varsayılan olarak kullanmaya başladık. Hatta proje klasörünü oluşturduktan sonraki ilk işimiz git init komutunu çalıştırmak oluyor. Bu lokal Git depolarından ziyade çoğumuz artık kodlarımızı bir uzak Git sunucusunda da tutmak istiyoruz. Bunların en popülerleri ise GitHub ve GitLab gibi büyük oyuncular. Fakat ben bugün size pek gündemde olmayan, ilk yazılım gündemi yazısını okumadıysanız muhtemelen ilk kez duyacağınız farklı bir uzak kod sunucusundan, Sourcehut'dan bahsetmek istiyorum. Çünkü bu hafta 15 Kasım tarihinde Alpha sürecine girmesinin birinci yılı şerefine bir blog yazısı yayınlandı.

Sourcehut aslında sadece bir uzak kod sunucusu değil; günümüz uygulama geliştirme süreçlerinde sürekli ihtiyaç duyduğumuz şu hizmetleri de olan komple bir proje yönetim sistemi diyebiliriz:

  • Kodlarınızı depolayabileceğiniz: git.sr.ht,
  • Çeşitli testleri belirli aralıklarla çalıştırabileceğiniz Continuous Integration sistemi: builds.sr.ht,
  • Yapılacaklar listesi ve hata bildirimi gibi şeyler için: todo.sr.ht,
  • Mail listesi için: lists.sr.ht,
  • Rehber ve Wiki sayfaları hazırlamak için: man.sr.ht

ve tüm bu çözümleri arayüzü gibi sade olarak sunmaya çalışan bir site. Elbette tüm bu sistemler özgür yazılım lisanslarıyla geliştiriliyor.

Bir yıl içerisinde Sourcehut'daki gelişmelerin bir kısmı ise şu şekilde:

  • Code Annotations özelliği (bkz: Yazılım Gündemi - 1),
  • builds.sr.ht'de çalışan testlerin olduğu sanal makineye debug yapmak için ssh ile bağlanabilme,
  • todo.sr.ht üzerindeki ticket sistemi olgunlaştırılmış,
  • ilk çalışan işe alınmış

Diğer gelişmeler ve 2020 yılından beklentiler için mutlaka konu başlığına eklediğim blog yazısını inceleyin. Ben şahsen bu projeyi çok önemsiyorum ve ileride imkanım olduğunda maddi olarak da destek olmaya çalışacağım.

Yaklaşan Etkinlikler

Etkinlik İsmi Yeri Tarihi
Open Source Yazılım Geliştirme İstanbul 20 Kasım 18:30
Tüm İnterneti Nasıl Cache'leriz? Olasılıksal Veri Yapılarına Yolculuk İstanbul 20 Kasım 19:00
How to Get Better at Writing CSS İzmir 20 Kasım 19:00
KWORKS İnovatif Endüstriyel IoT Uygulamaları Paneli İstanbul 21 Kasım 18:00
Web Uygulama Güvenliği ve Bug Bounty Ankara 21 Kasım 19:00
SAP Inside Track Istanbul 2019 Part II İstanbul 23 Kasım 09:00
GDG DevFest İzmir '19 İzmir 23 Kasım 09:00
"Kubernetes Native" Uygulama Geliştirme İstanbul 23 Kasım 13:00
GDG DevFest İstanbul '19 İstanbul 24 Kasım 09:00
Gelişen Teknoloji Günleri'19 İstanbul 26 Kasım 09:30
Digitalzone Meetups: 26 Kasım Buluşması İstanbul 26 Kasım 19:00
Sosyal Mühendislik Saldırıları ve Korunma Yöntemleri İstanbul 27 Kasım 19:00
Yapay Zekada Bias Çalıştayı İstanbul 30 Kasım 09:30
Açık Hack Gebze/Kocaeli 30 Kasım 12:00

Güncelleme Notu (17 Kasım 2019 23:43): GDG İstanbul etkinliği tabloya eklendi.

Diğer Haberler

BeğenFavori PaylaşYorum yap
Önceki yorumları gör 5 / 8