Vulkan 1.2 Apisi yayınlanmış. #HaftalıkGündemeMalzeme
https://www.khronos.org/news/press/khronos-group-releases-vulkan-1.2

Khronos Group Releases Vulkan 1.2

The Khronos Group announces the release of the Vulkan 1.2…
BeğenFavori PaylaşYorum yap

JetBrains yazılımlar için yeni bir yazı tipi çıkarmış. Açık kaynaklı ve ücretsiz.
https://www.jetbrains.com/lp/mono/

JetBrains Mono: A free and open source typeface for developers

Try JetBrains Mono in your IDE. Its simple forms and attention to every detail make coding a nice experience for developers’ eyes, no matter which IDE you choose.
BeğenFavori PaylaşYorum yap
Önceki yorumları gör 16 / 22

Yazılım Gündemi 2020/02

< Önceki Gündem   |   6-12 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.

13 Ocak'tan itibaren Java kodları derlemede sorun yaşayabilirsiniz

Daha önce de sıkça bahsettiğim gibi günümüzün yazılım geliştirme süreçlerinde üçüncü parti kütüphaneler ve araçlar artık neredeyse olmazsa olmazlardan biri. Kendimiz yapsak farklı sorunlarla karşılaşacağımız ya da vaktimizi alacak birçok ihtiyacımızı bu üçüncü parti kütüphaneler ve araçlarla gideriyoruz fakat beraberinde getirdiği riskler de yok değil. İşte bu risklerden biri olan MITM(Man-in-the-middle) saldırılarını önlemek için Java ekosistemindeki üçüncü parti kütüphane depoları (artifact repository) sadece HTTPS bağlantılarına izin verecekler. Tabii ki bu kararı yeni almadılar, önceden duyurmuşlardı fakat yine de hatırlatmak için gündeme almak istedim. Popüler bazı depoların HTTP desteklerini sonlandıracakları tarihler bu şekilde:

Bu değişiklikten etkilenmemek için ilgili depoların yayınladıkları duyuru yazılarındaki yönergeleri uygulamalısınız.

Elbette üçüncü parti kütüphaneler ile ilgili tek sorun MITM saldırıları değil. Projeye eklediğimiz kütüphaneyle birlikte o kütüphanenin varsa güvenlik açıklarını da projeye ekliyoruz. İlk yazılım gündemi yazısından beri sürekli çeşitli kütüphanelerdeki açıkların etkileriyle ilgili konuları işliyorum. Hacker'lar artık son kullanıcı yerine direkt bizim kodlarımızı kullanarak içeriye girmeye çalışıyorlar, bu alanı keşfettiler. Dolayısıyla projemize bağımlılık olarak bir kütüphane eklerken, körü körüne eklemek yerine en azından kodlarına şöyle bir göz gezdirmekte fayda var.

TypeScript 3.8 Beta duyuruldu

Microsoft tarafından geliştirilen ve gittikçe popülaritesi artan dillerden TypeScript, 3.8 Beta sürümünü bu hafta içerisinde yayınladı. Bu sürüm ile birlikte gelen bir özelliği inceleyelim:

Private Fields

ECMAScript'de stage-3 aşamasına geçen class fields özelliğinin bir parçası aslında bu özellik. Diğer dillerde görmeye alışık olduğumuz class'a ait bir özelliğin dışarıdan erişilemez olmasını sağlıyor. Örneğin:

class Kisi {
    #isim: string

    constructor(isim: string) {
        this.#isim = isim;
    }

    selamla() {
        console.log("Selam, benim adım ${this.#isim}!");
    }
}

let eren = new Kisi("Eren Hatırnaz");

eren.#isim

Artık böyle bir kod yazmak mümkün olacak ve son satırdaki gibi sınıfın dışından bir erişim yapılmaya çalışılırsa şu hata alınacak:

Property '#isim' is not accessible outside class 'Kisi' because it has a private identifier.

Fakat bu özelliği kullanmak için şunları unutmamalıyız:

  • Private field'lar # karakteri ile başlamalıdır ve sınıf içerisinde aynı şekilde çağırılmalıdır.
  • Her private field sadece kendi sınıfı içerisinde private durumundadır.
  • TypeScript'deki diğer public ve private gibi anahtar kelimeler bu özellikle birlikte kullanılamaz.

Bazı maddeler tam anlaşılmamış olabilir fakat örneklerle birlikte açıklamak yazıyı biraz uzatacağı için bu özellikle ilgili arkadaşları konu bağlığına eklediğim bağlantıya tıklayamaya davet ediyorum.

WebAssembly kullanan sitelerin birçoğu kötü amaçlı kullanıyor

Geçtiğimiz haftalarda W3C tarafından bir web standardı olarak kabul edilen WebAssembly programlama dili performanslı olmasıyla öne çıktığı için kötü amaçlı kişilerin de gözünden kaçamamış maalesef. Geçtiğimiz sene yayınlanan bir akademik çalışma ortaya koydu ki Alexa'nın popüler ilk 1 milyon web sitesi içerisindeki sitelerden WebAssembly kullananların birçoğu bunu kötü amaçlarına alet ediyorlarmış.

Araştırmacılar Alexa'nın ilk 1 milyon web sitesinden rastgele seçilmiş 3 sayfayı seçeyerek bu sayfada WebAssembly kodu olup olmadığını analiz etmişler ve toplam 1.639 web sitesinin WebAssembly kodu içerdiğini tespit etmişler. Bunlardan bazıları diğer birçok site tarafından kullanılan kütüphaneler fakat araştırmacılar diğer yaygın olmayan kodları incelediğinde bazılarının kripto para madenciliği amacıyla yazıldığını fark etmişler. Dil hem performanslı hem de tarayıcıda çalışınca işte fırsatı kaçırmamışlar.

Bazı web sayfalarının ise obfuscate yöntemleri kullanarak WebAssembly kodlarının içeriğini gizlediğini fark etmişler. Araştırmacılar bu kategori için de "malicious" diye tanımlamışlar ama ben tam öyle düşünmüyorum. Her ne kadar kodlarını saklamalarında biraz şüphe olsa da insanlar kodlarını saklamayı seçebilirler, bu illaki kötü amaçlı olacaklarını göstermez.

İşte siber güvenlik alanında çalışacaklar için yeni bir alt alan daha. Web standardı olarak kabul edilmesiyle birlikte bu tarz amaçlar için kullanan kişilerin de artacağını düşünüyorum. Siber güvenlik alanıyla ilgili arkadaşların araştırmalarını tavsiye ederim.

Yaklaşan Etkinlikler

Etkinlik İsmi Yeri Tarihi
Bulutun Geleceği, Hibrit Bulut {Webcast} Online 14 Ocak 10:00
NS Ankara Ocak Ayı 1.Buluşması Ankara 14 Ocak 19:00
TRAI Meet-up 30 - Biyometrik Güvenlik ve Yapay Zeka İstanbul 15 Ocak 18:00
DevC İstanbul Semi Ideathon İstanbul 18 Ocak 07:00
Women Techmakers Series Ankara 18 Ocak 11:00
Mobile Game Meetup İstanbul 18 Ocak 13:00
Game Meetup'1 İstanbul 20 Ocak 11:00
F2P Mobil Oyunlar için Metrikler ve Analiz Rehberi Ankara 21 Ocak 19:00
Test Driven Development ve Clean Architecture İzmir 21 Ocak 19:00
PostgreSQL Konuşmaları: Pgbadger ile Log Analizi ve Performans İzleme Ankara 21 Ocak 19:00
Infrastructure as Software İstanbul 23 Ocak 18:30
Promethues ve Grafana ile Metrik Oluşturma ve Görüntüleme İstanbul 24 Ocak 19:00

Diğer Haberler

BeğenFavori PaylaşYorum yap

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

< Önceki Gündem   |   1-5 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.

Rust dilinin 32-bit Apple sistemler için desteği azalıyor

Rust, gün geçtikçe popülerliği daha da artan bir programlama dili. Yazılım gündemi yazıları yazmaya başladığımdan beri bunu daha iyi görüyorum. Hemen her hafta Rust ile ilgili bir gelişme oluyor, olmazsa bile geliştiricilerin ilgileri gitgide artıyor. Bununla birlikte Rust'ın geliştirilme süreci de hızla devam ediyor. Bir önceki yazılım gündeminde Rust programlama dilinin 1.41.0 sürümünün yayınlandığını duyurmuştum. Bu hafta ise bloglarında yayınlandıkları bir yazı ile 1.42.0 sürümü itibariyle, 32-bit Apple sistemler için Rust programlama dilinin desteğinin azaltıldığını açıkladılar ve bu platformun destek sürecini Tier 3 ismini verdikleri kategoriye taşıdılar.

Rust geliştirici takımının çeşitli platformlardaki destek süreçlerini tanımladıkları şöyle bir dokümanları mevcut: Platform Support. Bu dokümana göre üç destek grubu var. Bunlar şu şekilde:

  • Tier 1: Bu kategorideki platformlarda Rust'ın çalışması garanti edilmiştir.
  • Tier 2: Rust'ın derlenmesinin garanti edildiği platformlar listesidir.
  • Tier 2.5: Yine Rust'ın derlenmesinin garanti edildiği platformlar fakat bu listedeki platformlar için rustup aracı ile güncelleme özelliği desteği sağlanmıyor. Kaynak kodlarını kullanarak kendiniz derlemeniz gerekiyor.
  • Tier 3: Hiçbir garantinin verilmediği platformlar listesi. Rust dilini kaynak kodları kullanarak bu sistemlerde derlemeye çalışabilirsiniz fakat hatalarla veya eksik özelliklerle karşılaşmanız çok mümkün.

İşte 32-bit Apple sistemler de 1.42.0 sürümüyle birlikte Tier 3 kategorisinde altında yer alacak. Bu kategori değişikliğinden etkilenen platformların kod isimleri ise bu şekilde:

  • armv7-apple-ios
  • armv7s-apple-ios
  • i386-apple-ios

32-bit sistemlere desteğin kesilmesi günümüzde çok şaşırmadığımız bir durum elbette fakat yine de desteğin neden kesildiğini açıklamakta fayda var. Rust takımından önce zaten Apple macOS 10.15 ve iOS 11 ile birlikte 32-bit desteğini sonlandırmıştı, üstelik Xcode ile 32-bit derleme yapmanın da önüne geçmişti. Zaten günümüzde 32-bit sistem ile geliştirme yapmak pek de mümkün olmadığı için Rust takımı da böyle bir varar vermiş ve bence de yerinde bir karar.

Oracle, Amazon API'sini kopyalamakla suçlanıyor

Oracle ve Google arasında Java API'si (Application Programming Interface) üzerinden devam etmekte olan hukuk savaşını zaten yıllardır Haftalık Gündem Değerlendirmesi'nde dinliyoruz. Bilmeyenler için kısaca özetlemek gerekirse Google'ın Android işletim sistemini geliştirirken Java API'sini birebir kopyaladığını ve telif haklarını ihlal ettiğini söyleyen Oracle, Google'ın cezalandırılmasını istiyor. Burada kopyalamaktan kasıt kopyala&yapıştır kullanımındaki gibi değil. Google, Java'nın API sistemindeki fonksiyonellikleri ve method isimlerinin aynısını kullanarak bir nevi Java'yı yeniden yazmasından bahsediyoruz.

Bu hafta ArsTechnina sitesinde çıkan yazıda ise Oracle şirketinin Amazon'un S3 isimli veri depolama hizmetinin API sistemini kopyaladığı iddiası var. Hatta sadece iddia da değil, Oracle Cloud hizmetinin dokümantasyonundaki şu sayfa doğrudan bunu ortaya çıkıyor: Amazon S3 Compatibility API. E hal böyleyken demezler mi adama "bu ne perhiz, bu ne lahana turşusu?" diye, işte ArsTechnica da tam olarak bunu söylemiş.

Bu tarz API "kopyalamaları" her ne kadar üzerine tartışılabilir konular olsa da biraz gerekli olduğunu düşünüyorum. Amazon S3 örneğinden gidecek olursak, Amazon bulut bilişim sektöründe çok büyük bir oyuncu ve bu oyuncuyla rekabet edebilmek için onunla hemen hemen aynı özellikleri sunmak gerekiyor. Bunu yaparken de API sistemi ne kadar Amazon'unkine benzerse geliştiriciler de o kadar az efor sarf ederek Amazon ekosisteminden çıkabilirler. Yani minumum kod değişikliği ile bu dönüşümün sağlanması rekabet ortamı için önemli bir konu.

Bu konuda siz ne düşünüyorsunuz? Bu tarz API benzerliklerinin sağlanması sizce büyük firmalarla rekabet edilebilmesi için gerekli mi yoksa ne olursa olsun firma özgün bir çözüm mü sunmalı? Yorumlar bölümünde konuşalım.

Amerika yapay zeka yazılımlarının ihracına sınırlama getiriyor

Yapay zeka yazılımları üreten Amerika merkezli şirketler Pazartesi gününden itibaren yazılımlarını Kanada harici, deniz aşırı ülkelere ihraç ederken bir lisans almak zorunda kalacaklar. Yeni ihracat tedbiri özellikle coğrafi görüntüleme yazılımlarını ilgilendirmekle birlikte askeri ya da sivil amaçlarla olsun fark etmeksizin herhangi bir hedef belirleme süreci içeren yazılımları ve donanımları da kapsamakta.

Yaklaşan Etkinlikler

Etkinlik İsmi Yeri Tarihi
Online Webinar: Text Analysis Application on Kubernetes Online 6 Ocak 13:00
Analyze Real Time Bank Customer Data İstanbul 9 Ocak 19:00
Domain Driven Design İstanbul 9 Ocak 20:30
Agile Talks 2020 Episode 1 İstanbul 11 Ocak 11:00
BÜSİBER Siber Kış Kampı 2020 İstanbul 13 Ocak 09:00
The Future of React & Server Rendering is not a Silver Bullet İstanbul 16 Ocak 19:30

Siber Küme Kış Kampı başvuruları başladı. Son başvuru tarihi 10 Ocak.

Diğer Haberler

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

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

Yazılım Gündemi - 22 (16-22 Aralık 2019)

< Önceki Gündem    |   16-22 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.

.NET 5 için yol haritası açıklandı

.NET Framework çoğumuzun da bildiği gibi Microsoft'un çok uzun zamandır geliştirmekte olduğu, tüm ekosistemini üzerine kurduğu bir uygulama çatısıydı. .NET Core ise son 3-4 yıldır geliştirilmekte olan açık kaynak, platformlar-arası (cross-platform) çalışabilen ve modern bir yapıya sahip uygulama çatısı. Yazılım dünyasında değişen trendlerle birlikte ortama ayak uyduran Microsoft, özellikle CEO olarak Satya Nadella'nın gelmesinden sonra açık kaynak camiasına ve kendisinden pek beklenmeyecek hamleler de yaptı. İşte .NET Core'da bu yeni anlayışın bir ürünü. Visual Studio Magazine dergisinin internet sitesinde bu hafta yayınlanan bir yazıyla birlikte daha önce Build 2019 etkinliğinde duyurulan .NET 5 yol haritası da özetlenmiş oldu. O etkinlik yazılım gündemi yazıları yazmaya başlamadan önceki bir tarihe denk geldiği için bu yazıyı fırsat bilerek gündeme almak istedim.

Yeni .NET 5 Ekosistemi

Bildiğiniz tüm .NET'leri unutun! Bundan sonra tek bir .NET olacak, o da: .NET 5 (Biraz reklam metini gibi oldu ama :)). Microsoft'un tüm uygulama geliştirme çözümleri (.NET Framework, .NET Core ve Xamarin/Mono) tek bir isim altında birleşiyor ama bu sefer ne "Framework" ne de "Core" gibi ek kelimeler olacak; sadece ".NET 5". 2020'nin ilk yarısı Preview sürümünün yayınlanması bekleniyor.

Önceki yazılım gündemlerinden birinde (bkz: Yazılım Gündemi - 14), Microsoft'un, .NET Framework API'lerinin .NET Core projesine aktarılmasının tamamlandığını duyurmuştu. O haberden Microsoft'un yöneliminin .NET Core üzerinden devam etmek üzerine olduğunu anlamıştık zaten ve işte bugün de kendimizi doğrulamış oluyoruz. .NET, eski kapalı-kaynak, sahipli, sadece Windows'da çalışan kabuğundan sıyrılıyor ve yeni açık kaynak modern kimliğine kavuşuyor.

Yeni .NET 5 yaşam döngüsü

.NET 5 sürümünün herkes tarafından erişilebilir (General Available) ilk sürümü Kasım 2020 tarihinde duyurulması planlanıyor. Planlanan takvime göre uzun-dönem desteklenecek (LTS - Long-term support) sürümler sadece tek sayılı yılların Kasım ayında yayınlanacak ve 3 yıl boyunca desteklenmeye devam edecek. .NET 5 sürümünün geliştirilmesini takip etmek isterseniz bu GitHub sayfasını ziyaret edebilirsiniz.

Ruby 3.0 ile argüman işleme sistemi değişecek

Bu haber aslında geçtiğimiz haftanın konusu ama geçtiğimiz hafta gündemi biraz geç yayınlamak durumunda olduğum için bu haberi bu haftaya ertelemiştim. Bir programlama dili ile ilgili önemli sayılabilecek bir değişiklik olduğu için haberi atlamak da istemedim. Ruby programlama dilinin 3.0 numaralı sürümünde bizi geriye uyumluluğu olmayan bir takım temel değişiklikler bekliyor.

Başka birkaç programlama dilinde de olduğu gibi Ruby dilinde de pozisyonel (positional) ve anahtar kelime (keyword) argümanları mevcut. Örnek üzerinden anlatmak gerekirse:

def foo(k: 14)
  puts k
end

h = { k: 24 }

foo(h)

Bu kod parçasındaki foo fonksiyonunda argüman keyword şeklinde tanımlanmış. Yani argümanın bir ismi var ve o argümana bir değer verilmediği zaman alabileceği bir varsayılan değeri var. Sonrasında ise h isimli Hash tipinde bir değişken tanımladık ve onu foo fonksiyonuna positional argüman olarak gönderdik. Bu durumda Ruby 2.7, positional olarak gönderilen argümanı alıp keywork şeklinde gönderiyor fonksiyona yani sorunsuz çalışıyor ama artık Ruby 2.7 bu kod parçası için Warning göstermeye başlayacak çünkü bu otomatik dönüştürme işlemi artık deprecate oldu ve Ruby 3.0'da bu kod parçası çalışmayacak, ArgumentError hatası verecek.

def bar(h, **kwargs)
  puts h
end

bar(k: 42)

Bu kod parçasındaki bar fonksiyonu ise argümanlar bir positional ve bir keyword şeklinde tanımlanmış. Sonrasında ise bar fonksiyonuna keyword şeklinde bir argüman göndermişiz. Bu kod parçası da Ruby 2.7'de, keyword'den Hash positional'a dönüştürülerek çalışıyor, tabii ki yine Warning göstererek. Aynı şekilde bu kod parçası da Ruby 3.0'da çalışmayacak ve ArgumentError hatası verecek.

"Peki bu tarz bir kullanım senaryosuna ihtiyaç duyduğumuzda ne yapacağız?" dediğinizi duyar gibiyim. Ruby geliştiricileri bu durumlarda kullanmak için şu özellikleri eklediler:

foo(**h)

bar({ k: 42 })

Bu şekilde kullandığınızda yine eskisi gibi kodlarınız çalışmaya devam edecek. Dediğim gibi her ne kadar birden bire desteği kesilmeyecek olsa bile bu değişikliğe uygun olarak kodlarınızı düzenlemeniz gerekecektir. Aklınızda bulunsun. Bu değişikliğin sebebi olarak ise keyword ve positional formattaki argümanların, birbirlerine çevrildikleri için karışıklık yaratması. Ruby 3.0'da çevrilmeyecekler ve fonksiyonlar hangi formatta argüman alması için kodlanmışsa o şekilde çalışacak.

Ayrıca bu hafta içerisinde Ruby'nin 2.7.0 Release Candidate 2 sürümü de duyuruldu. Final sürümünün ise 25 Aralık günü yayınlanması planlanıyor. Sanırım bir sonraki Yazılım Gündeminde "Ruby 2.7 ile gelen özellikler"i konuşacağız.

Eclipse 2019-12 duyuruldu

Her ne kadar genelde Java teknolojileri için kullanılsa da diğer birçok dil için de desteği olan geliştirme ortamı Eclipse, bu yılın son büyük numaralı sürümünü duyurdu. Yeni eklenen veya değişen çok fazla özellik var, hepsine burada değinemem elbette ama birkaç tanesini aktarmak gerekirse:

Diğer birkaç IDE ve metin editöründe de görmeye alıştığımız, tüm arama işlemlerinin tek bir pencere ya da popup panel üzerinden halledildiği arama özelliği sonunda Eclipse'ye de gelmiş. Artık aynı popup panel üzerinde hem Eclipse komutlarını ("Build", "Build&Run" vb. gibi menülerdeki her şey) hem de proje içerisindeki dosya isimlerini ve dosyaların içeriklerinde arama yapabileceğiz. Benim şahsen diğer IDE'lerde çok kullandığım bir özellik ve Eclipse'ye gelmiş olmasına sevindim. Bu özelliği kullanmak için menü çubuğunun hemen altındaki toolbarın en sağındaki kısımda bir büyüteç ikonu göreceksiniz ona tıklarsanız bahsettiğim popup panel açılır ya da CTRL + 3 kombinasyonlu kısayolu tercih edebilirsiniz.

Eclipse içerisinde aynı zamanda Git versiyon kontrol sistemi için entegre araçlar takımları da mevcut. Bu sürümde ise Git Repositories kısmına "Repository Group" özelliği geldi. İsminden de anlaşıldığı üzere birden çok git deposunu tek bir grup altında göstermeye yarayan bir özellik.

Bunların dışında java yetenekleri olarak da Java 13 ile birlikte gelen birçok özelliğe destek veriyor. Java 13 (JDK 13) ile gelen bir özellikten Yazılım Gündemi - 3 yazısında bahsetmiştim. O yazıda bahsettiğim çok satırlı String ifadeler özelliği artık Eclipse 2019-12'de destekleniyor. Yalnız bu özelliği öncelikle aktifleştirmek gerekiyor. Bunun için yukarıdaki ekran görüntüsündeki gibi bir kod yazıp, Quick Fix menüsünden ilgili özelliği aktifleştirebilir ya da menülerden Project > Properties > Java Compiler altındaki "Enable preview features for Java 13" yazısının yanındaki kutucuğu işaretleyerek aynı şekilde özelliği açabilirsiniz.

Eclipse 2019-12 sürümüyle birlikte gelen diğer özellik ve değişiklikler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

Jetbrains, IntelliJ Platformu için 2020 yol haritasını açıkladı

JetBrains, yazılım sektörü için çok iyi araçlar ve diller üreten bir firma. Zaten yazılım sektörünün içinde olup ya da bu konulara ilgi duyup da JetBrains araçlarının en az birini kullanmamış olan yoktur diye tahmin ediyorum. Bu hafta içersinde de Java teknolojileri için geliştirdikleri IDE çözümü IntelliJ IDEA ve IntelliJ Platform tabanlı diğer IDE'ler için 2020 yılı yol haritasını açıkladılar. Yani bu yol haritası, Android Studio'yu da etkiliyor.

Yol haritasında öncelikli konu olarak "Performans" belirlenmiş. Geçtiğimiz yıl boyunca IDE'nin açılma hızıyla ilgili birkaç iyileştirme yapmışlardı. Önümüzdeki yıl ise indexing işleminin performansıyla ilgili iyileştirmeler üzerine çalışacaklarmış. IDE çalışırken gerek otomatik tamamlama özelliği için gerekse de diğer ihtiyaçlardan dolayı indexing işlemi yapıyor. Bir projeyi açarken en çok vakit alan kısım da zaten çoğunlukla bu oluyor. Bundan dolayı, indexing verilerinin takımlardaki kişiler arasında paylaşılabilmesini sağlamaya çalışacaklar. Yani bir proje sizin bilgisayarınızda indexlenmişse bunu başka bir bilgisayardaki IntelliJ ile açtığınızda tekrar indexing'e gerek kalmayacak. Bir de buna ek olarak bu indexing işlemi sırasında IDE'nin donmamasını sağlayacak iyileştirmeler yapılacakmış. Yani projeyi açıp, indexing işleminin bitmesini beklemek yerine kod yazmaya başlayabileceğiz ve indexing de arkaplanda olmaya devam edecek. Projeyi açtıktan sonra IDE'nin kendine gelmesini beklemek benim de pek sevmediğim bir durum o yüzden bu konudaki iyileştirmelere şahsen muhtacım.

Yol haritasındaki bir diğer konu ise özellikle 2019 yılında popülerliği oldukça artan "ortak düzenleme" (Collaborative Editing) konusu. Yani bir bilgisayarda çalışan IDE'ye başka bir bilgisayar üzerinden bağlanılması ve ortak bir çalışma ortamında kod yazılmasından bahsediyorum. Bu yönde çalışmaların devam ettiğini belirtmişler ve özelliğin öncelikle Rider isimli IDE'ye geleceğini daha sonra diğer IDE'lere de ekleneceğini belirtmişler ama bu özellik uzun soluklu bir efor gerektirdiği için öyle 2020'nin hemen ilk aylarında beklemeyin diyorlar.

Açıklanan yol haritasında çok daha fazla konu mevcut fakat hepsinden burada bahsedemem malumunuz eğer tüm yol haritası hakkında bilgi edinmek isterseniz konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

Scala 3 için yol haritası açıklandı

JVM platformu üzerinde geliştirilen Scala programlama dilinin 3. sürümü için geliştirici takımı bir yol haritası yayınladı. Her ne kadar hiç deneyimim olmadığı bir programlama dili olsa da gündeme çeşitlilik katması açısından bunu da değerlendirmek istedim.

Öncelikle Scala 2.14 için çalışmayı bıraktıklarını ve o sürüm için planlanan her şeyin Scala 3'e aktarıldığını belirtmişler. Aslında Scala 2.13'ü bir ara geçiş sürümü olarak düşünmüşler ama sonrasında yaptıkları konuşmalardan sonra buna gerek olmadığına karar vermişler ve doğrudan 3 numaralı sürüme yükselmeye karar vermişler. İlk Release Candidate sürümünün 2020 yılı sonunda yayınlanması planlanıyor. Yani daha bir yıl var diyebiliriz.

Yol haritası yazısı boyunca en çok vurgu yapılan konu ise geriye ve ileriye uyumluluk mevzusu. Geriye uyumluluk (backwards compatibility) çok sık duyduğumuz bir kavram fakat ileriye uyumluluğu (forwards compatibility) ben de ilk kez duydum. Anladığım kadarıyla Scala 2.13 ve Scala 3 sürümleri hemen hemen aynı kodları çalıştırabilecekler. Bu uyumluluğun sağlanabilmesi için de standard library ismini verdiğimiz ana kütüphanede ekleme ve çıkarma yapmayacaklarmış, sadece olan sınıflar üzerinde geliştirmeler yapılacakmış. Fakat bu olay Scala 3.2 sürümüne kadar devam edecek, bu sürümden sonra ise kendine ait bir standard library ile yola devam edilecek. Anladığım kadarıyla Scala 3 bir geçiş sürümü olacak. Ayrıca Scala 2.13 sürümünde desteklenen macro özelliği Scala 3'te farklı bir hal alıyor, yani bu özelliği kullanan bir projeniz varsa o kısımları yeniden yazmak durumunda kalacaksınız.

Yol haritasındaki diğer detaylar için konu başlığına eklediğim bağlantıya tıklayabilirsiniz. Yanlış değerlendirdiğim bir durum varsa lütfen yorumlar bölümünde beni uyarın.

Yaklaşan Etkinlikler

Etkinlik İsmi Yeri Tarihi
PostgreSQL'de İleri Seviyede Performans Yönetimi Ankara 24 Aralık 18:00
NSIstanbul Aralık 2019 Buluşması İstanbul 24 Aralık 19:30
Artırılmış Gerçeklik Platformları Ankara 25 Aralık 18:00
Code.YapıKredi Vol 3: Efsaneler ve Gerçeklerle Yapay Zeka İstanbul 25 Aralık 19:00
Octopus Deploy ile CI/CD Süreçleri İstanbul 26 Aralık 18:00
Geldi Gelecek // Teknoloji Sohbetleri İstanbul 26 Aralık 19:00
Machine Learning Day İstanbul 28 Aralık 10:00
KVKK ve GDPR Kapsamında Veri Güvenliği Ankara 3 Ocak 18:30

Diğer Haberler

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

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

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:

https://www.youtube.com/watch?v=t1vMUV9jYRs

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:

https://www.youtube.com/watch?v=_BBNVFirvTY

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

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:

https://www.youtube.com/watch?v=h9KGsD87t_M

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