Kullanıcıya internet bağlantısının durumu hakkında bilgi veren basit bir JS kodu.

Özellikle form doldurma ekranlarında işe yarabilir. Kendiniz daha da geliştirebilir ve kullanım alanını çoğaltabilirsiniz.

window.addEventListener("online", function() {
alert("İNTERNET'E BAĞLANDINIZ. İŞLEME DEVAM EDEBİLİRSİNİZ.");
});
window.addEventListener("offline", function() {
alert("İNTERNET BAĞLANTINIZ YOK! X İŞLEMİNİ YAPAMAZSINIZ!");
});

BeğenFavori PaylaşYorum yap

Xiaomi mi band mi fit dışında başka uygulamalar ile kullanılıyor mu?

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 - 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

Android geliştirmesi için Jetbrains ile anlaşıp geliştiricilere çok iyi bir IDE'yi ücretsiz sunan Google, yine kendi yazılım geliştirme platformu Flutter için Supernova IDE'sini ücretsiz sunuyor. (Normalde ücretli olan sürümü)
Supernova şu anda macOS'te var ve gelecek yıl diğer platformlara da açılacak.
https://supernova.io/

Supernova Studio | The World's First Design to Code Platform

Accelerate the app development workflow for mobile designers and developers. Supernova converts any mobile design into full-fledged native applications, giving the developers extra time to do actual...
BeğenFavori PaylaşYorum yap

Sadece sinema öğrencilerini mi kabul ediyor yoksa tüm edu mailli öğrencileri mi bilmiyorum ama öğrenciler şansınızı deneyin.
https://twitter.com/mubiturkiye/status/1204792031660380163
#mubi #sinema

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

Kablo Net kullanıyor iseniz mutlaka router şart. Bacım için vatan bilgisayardan 152 ₺ ye aldık. 3 adet 5 desibel anten ile müthiş. Telefon ile evin her yerinde full çekiyor...:=)))

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

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