Çömezleri 16 Saat Çalıştırmak İsteyen CTO’nun Sahte Hesap Açması

Başlık uzun oldu sanki… Neyse. Merhabalar, Bugün sizlere 3 Ekim 2020’de Trendyol CTO’su Cenk Çivici Bey’in kendini rezil etmesinden bahsedeceğiz. Öncelikle konu nasıl başlad…
BeğenFavori PaylaşYorum yap

Bunlarda TV'da yok maske yok sosyal mesafe diyerek parayı götürüyor sonra da ne maske ne sosyal mesafe olmadan oturup çorba içiyorlar. Bunlar bir de hep felaket tellallığı yapan adamlar. 🤦‍♂️

BeğenFavori PaylaşYorum yap

🔓🏠 Siber güvenlik dergisi AЯKAKAPI (https://arkakapidergi.com/), #evdekal etiketiyle sayılarını ücretsiz olarak okumaya açmış.

İçinde son kullanıcılar için de önemli içerikler mevcut. Mutlaka incelenmeli: https://read.arkakapimag.com/issues

BeğenFavori PaylaşYorum yap
  • Temp 🔴 @temp

    @erenhatirnaz Sence dergi içerikleri nasıl, okumaya değer mi kabataslak baktığında?

    • Eren Hatırnaz @erenhatirnaz

      Bu gönderiyi beğendiğimde tam da derginin ikinci sayısını okumayı bitirmiştim. İyi denk geldi. Bence kesinlikle değer, bu alanla ilgili olmasanız bile -ki benim de güvenlikle pek ilgili olduğum söylenemez- içerikleri gayet ilgi ve merak uyandırıcı şeyler. Ben de bu dergiyle geçtiğimiz sene Trabzonda düzenlenen GDG DevFest Trabzon etkinliğinde tanıştım [1]. Gelen herkese dergiyi ücretsiz veriyorlardı. Oradan keşfettim sonra internetten eski sayılarını sipariş ettim. Herkese ücretsiz açılması çok iyi olmuş. Benim de basılı halini bulamadığım sayıları mevcuttu.

      [1]: https://teknoseyir.com/durum/1186783

#evdekal

Baya baya evde kaldım 🙂
Ayın 15'inde iş başlıyor ne farketti diye de düşünmüyor değilim.

BeğenFavori PaylaşYorum yap

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

< Önceki Gündem   |   18-24 Mayıs 2020   |   Sonraki Gündem >

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

C# 9.0 sürümü yayınlandı

Microsoft'un geliştiriciler için özel olarak düzenlediği etkinliği olan BUILD bu yıl koronavirüs nedeniyle sanal olarak düzenlendi. Geçtiğimiz hafta düzenlenen BUILD 2020 etkinliğinde .NET ekosistemi altında geliştirilen programlama dili C#'ın da 9.0 numaralı sürümü yayınlandı. Her ne kadar uzun bir süredir .NET ekosisteminden uzak kalmış olsam da C# ilk göz ağrılarımdan biridir. Programlama başlarken kullandığım dillerden biri olması dolayısıyla yapısı hakkında bilgim var. Bu sürümle birlikte gelen birkaç özelliği birlikte inceleyelim:

Init-only properties

Nesne yönelimli programlama dili olmasından dolayı verileri nesne olarak temsil etme özellikleri oldukça gelişmiş olan C#'da halihazırda bu şekilde basit bir sınıf oluşturup kullanabiliyorduk:

public class Kisi
{
    public string Ad { get; set; }
    public string Soyad { get; set; }
}

new Kisi
{
    Ad = "Eren",
    Soyad = "Hatırnaz"
}

Fakat bazı durumlarda bazı property'lerin tanımlandıktan sonra değiştirilememesini isteyebiliriz. İşte bu durumda imdadımıza init-only propert'ler yetişiyor ve bu şekilde bir tanımlama ile isteğimizi gerçekleştirebiliyoruz:

public class Kisi
{
    public string Ad { get; init; }
    public string Soyad { get; init; }
}
Records

Eğer yukarıdaki kullanımın askine birkaç property'yi değil tüm objeyi immutable yapmak istiyorsanız o zaman da yardımımıza yeni Records özelliği koşuyor:

  public data class Kisi
{
    public string Ad { get; init; }
    public string Soyad { get; init; }
}

Tanımladığınız sınıfı public data class olarak işaretlediğinizde o artık bir Record haline gelmiş oluyor ve artık bir kere oluşturduğunuz bir record objesini bir daha değiştiremiyorsunuz, onun yerine artık bu şekilde var olan objenin özelliklerini değiştirip yeni objeler oluşturarak devam ediyorsunuz:

var digerKisi = person with { Ad = "Ahmet" }

Daha önce "Ad=Eren, Soyad=Hatırnaz" olarak tanımladığımız objeyi kullanarak "Ad=Ahmet, Soyad=Hatırnaz" şeklinde yeni bir obje oluşturmuş olduk.

Immutable konusu benim de zaman zaman kafamı karıştıran bir konu, dolayısıyla bu tarz kullanımların tam olarak hangi sorun için bir çözüm olduğunu bilemiyorum ama takip ettiğim kadarıyla topluluk bu özellikler için sevinmiş durumda.

Top-level programs

Diğer birçok programlama dilinden de alışık olduğumuz üzere C#'da basit bir programın yapısı şöyle oluyor genelde:

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Merhaba Dünya");
    }
}

Fakat artık daha da basit şekilde, Python ve Ruby gibi dillerden aşılık olduğumuz gibi bu şekilde de uygulamalar yazabileceğiz:

using System;

Console.WriteLine("Merhabe Dünya");

C# 9.0 ile birlikte gelen diğer özellikler ve detaylar için konu başlığına eklediğim bağlantıya tıklayabilirsiniz. Ayrıca geçtiğimiz hafta içerisinde .NET 5 Preview 4 sürümü de duyuruldu.

Microsoft yeni platformlar arası uygulama geliştirme çözümünü tanıttı: .NET Multi-platform App UI

Microsoft'un 2016 yılında .NET için açık kaynaklı teknolojiler üreten Xamarin firmasını satın almıştı. Xamarin tarafından geliştirilen Xamarin.Forms'da doğal olarak Microsoft'a geçmiş oldu. İşte bu satın almanın yeni meyvesi olacak şey de bugün konuşacağımız .NET Multi-platform App UI oldu.

Xamarin.Forms hatırlamayan ya da bilmeyenler için .NET ekosistemi içerisinde platformlar arası (cross-platform) uygulama geliştirmeye yarayan bir teknoloji. Geçtiğimiz hafta içerisinde ise bu teknolojinin artık evrimleşip başka bir teknolojiyle birleşme vaktinin geldiğini duyuruldu. .NET MAUI, kısaca Xamarin.Forms'un evrimleşmiş ve gelişmiş halidir diyebiliriz. Microsoft, henüz erken geliştirilme aşamasında olan bu teknolojisi ile biz geliştiricilere tek bir projeden hem Windows hem macOS hem de iOS ve Android uygulaması çıkarmayı vaat ediyor.

Xamarin.Forms ve .NET MAUI arasındaki farklar tablosu

.NET 6 sürümüyle birlikte hayatımıza girmesi planlanan bu teknolojiyle birlikte MVVM (Model-View-ViewModel) ve RxUI gibi Design Pattern ve uygulama modellerinin yanı sıra .NET MAUI, MVU(Model-View-Update) ve Blazor gibi yapıları da destekleyecek.

Peki bu gelişmeler Xamarin ve Xamarin.Forms için ne anlama geliyor? diye soracak olursanız ise cevabı çok zor değil. Microsoft'un birçok uygulama geliştirme teknolojisini .NET 5 ile tek çatı altında toplamak istediğini önceki yazılım gündemi yazılarının birinde belirtmiştim. İşte bu gelişmeyi de aynı bağlamda değerlendirebiliriz-ki Microsoft'da zaten planlarında bu olduğunu açıkladı. Xamarin'in ve alt teknolojilerinin yeni sürümleri bir süre daha gelmeye devam edecek fakat Microsoft'un artık yeni odağı .NET 6'nın içerisinde olacak bu teknoloji. Geliştiricilerin geçiş yapmasını kolaylaştıracak gelişmelerden sonra da Xamarin projesi büyük ihtimal durdurulur.

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

Uzak git sunucusu ve proje yönetimi hizmetleri sunan GitLab, geçtiğimiz hafta içerisinde 13.0 sürümünü duyurdu. Aynı zamanda GitLab.com'da son sürüme güncellenmiş oldu. Bu sürümle birlikte gelen bazı özellikler ise şu şekilde:

Amazon ECS'ye otomatik deploy (GitLab Auto DevOps)

Artık geliştirdiğiniz projeleri otomatik olarak AWS Elastic Container Service tarafına gönderip, uygulamanızı ayağa kaldırabileceksiniz. Bunun için deponuzun CI/CD ayarlarından Auto DevOps özelliğini aktifleştirmeniz ve deponuza şu değişkenleri tanımlamanız gerekiyor: AWS_ACCESS_KEY_ID, AWS_ACCOUNT_ID ve AWS_REGION. Nasıl çalıştığını görmek için aşağıdaki kısa demo videosunu izleyebilirsiniz:

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

Versioned Snippets

GitLab'in Snippet olarak isimlendirdiği şeyi biz aslında GitHub'daki Gist ile biliyoruz. İkisi de aynı amaca hizmet ediyorlar. Tek başına deposu (repository) olması gerektirmeyen betikleri ya da kodları paylaşmak için kullandığımız bir hizmet. Ülkemizde hala daha yasaklı olan pastebin.com gibi yani. İşte GitLab'daki bu snippet sistemine yeni bir özellik geldi, artık bunları da git ile bilgisayarımıza clone edip, değişiklik yapıp ve commit'leyip onu gitlab'a gönderebileceğiz. Böylece hem versiyonlanmış olacak hem de kendi bilgisayarımızda dosyayı düzenleyebileceğiz. Fakat web arayüzünde henüz snippet geçmişini gösteren bir özellik yok, ileride eklenir diye umuyorum. Benim örneğimi bu şekilde clone edip, geçmişe bakabilirsiniz.

git clone https://gitlab.com/snippets/1980000.git
Web IDE için karanlık tema

Tarayıcı üzerinden kod yazmaya olanak sağlayan GitLab Web IDE'de artık karanlık tema mevcut.

GitLab 13.0 ile gelen diğer özellikler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

Docker ve Snyk firmalarından konteyner güvenliği alanında iş birliği duyurusu

Linux içerisindeki cgroups ile birlikte gelen konteyner sistemini popülerleştirmesiyle bilinen Docker firması ve yazılımın çeşitli alanlarıyla ilgili güvenlik çözümleri sunan Snyk şirketi, geçtiğimiz hafta içerisinde iş birliği yaptıklarını duyurdular.

Bu iş birliği kapsamında Docker Hub sistemine eklenecek yeni bir entegrasyon sayesinde artık Docker Hub'a gönderdiğimiz konteyner imajlarına otomatik olarak güvenlik taraması yaptırabilir ve raporlayabilir olacağız.

Container teknolojisinin artan popülaritesi ile birlikte güvenlik ihtiyaçlarının da aynı oranda artacağı tahmin edilebilir bir durum. Snyk firması da bu alana erkenden giren firmalardan birisi olmuş.

Bu iş birliğinin ilk meyvelerini 2020'nin üçüncü yarısında görmeye başlayacağız. Container teknolojisi ile ilgili arkadaşlara "Container Security" alanına bakmalarını tavsiye ederim.

Electron 9.0.0 sürümü yayınlandı

JavaScript kullanarak platformlar arası masaüstü uygulama geliştirmeye yarayan kütüphane Electron, geçtiğimiz hafta içerisinde 9.0.0 etiketli sürümünü yayınladı. Bu sürümle birlikte gelen bazı yenilik ve değişiklikler ise şöyle:

Bu sürümle gelen diğer yenilik ve değişiklikler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

Windows Terminal 1.0 sürümü yayınlandı ve Windows Package Maganer Preview tanıtıldı

Microsoft'un GNU/Linux ve MacOS taraflarına kaybettiği geliştirici kitlesini geri kazanmak için yaptığı hamleler sürüyor. Uzun süredir geliştirilmekte olan, benim de sık sık gündemde yer verdiğim Windows'un yeni Terminal'i geçtiğimiz hafta düzenlenen BUILD 2020 etkinliğinde 1.0 olarak stabil versiyonuna kavulmuş oldu.

Artık Windows üzerinde de gelişmiş bir terminal emülatörümüz mevcut.

Önceki yazılım gündemi yazılarında zaten birçok Windows Terminal sürümününde gelen yenilikleri konuşmuştuk. Bugün biraz daha önemli olduğunu düşündüğüm Windows Package Manager üzerine konuşmak istiyorum.

sudo apt install firefox

Aramızdaki çoğu kişi yukarıda yazdığım komut satırı kodunun ne iş yaptığını biliyor. Gerçi bilmeseniz bile ingilizce olarak okuduğunuzda zaten anlaşılıyor. Firefox yazılımını sisteme kuruyor. İşte bu yapının benzeri artık windows tarafında şu şekilde mevcut:

winget install firefox

Henüz ön izleme sürümü yayınlanmış bu paket yöneticisi Windows için oyun değiştirici olma rolünü üstlenebilir. Şimdilik sadece şu depodaki manifest dosyaları üzerinden exe dosyalarını indirip, çalıştırma görevi görüyor olsa da hash doğrulama gibi önemli özellikleri de mevcut. Bence paket yöneticilerinin en önemli özelliği upgrade komutu ile sistemde yüklü tüm uygulamaları tek seferde güncelleyebilmek fakat bu henüz winget'e gelmiş değil. Bu özelliğin kesinlikle getireceklerdir. Geliştirme ortamlarını Windows üzerinde kurmuş birçok kişiye hatta son kullanıcıların bile çok işine yarayacağını düşünüyorum.

Diğer Haberler

BeğenFavori PaylaşYorum yap

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

< Önceki Gündem   |   11-17 Mayıs 2020   |   Sonraki Gündem >

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

Yanlış ayarlanmış Firebase veritabanları binlerce Android uygulamasının kullanıcı verilerinin sızmasına yol açtı

Firebase, genelde mobil ve front-end geliştiricileri için içerisinde veritabanından, uygulama içi mesajlaşmaya kadar birçok ürünü barındıran bir Google hizmeti. Gündeme girmesine neden olan ise sunduğu veritabanı ürünlerinin yanlış konfigüre edilmesinden doğan bazı güvenlik sorunları. Comparitech isimli firma geçtiğimiz haftanın başında blog sitesinde yayınladığı yazı ile bazı Android uygulamalarının kaynak kodlarını açarak, içerisinden Firebase veritabanı URL'lerini alıp kullanıcı verilerine erişebildiklerini açıkladılar.

Sızan bilgiler arasında binlerce E-posta adresi, telefon numarası, parola, ad soyad ve hatta GPS verisi bile mevcut.

Comparitech Güvenlik Araştırması Takım Lideri Bob Diachecko'nun açıkladığına göre 515.735 Android uygulaması incelenmiş ve bunların içerisinden 4.282 uygulamanın hassas kullanıcı verilerini sızdırığını tespit etmiş.

Firmanın bu güvenlik açığını ortaya çıkarmak için kullandığı ise çok basit hiçbir yüksek teknoloji ürünü gerektirmeyen bir yöntem. Şöyle ki; uygulamanın kaynak kodları (biliyorsunuz ki APK dosyaları aslında kaynak kodların bir çeşit sıkıştırılmış hali ve gerekli uygulamalar ile açılabiliyorlar) içerisinde "*.firebaseio.com" ifadesini aramak ve buldukları tüm bağlantıların sonuna ".json" ekleyerek istek göndermek. Eğer ilgili veritabanı yanlış ayarlanmışsa bu isteğin cevabı tüm veritabanının içeriğinin JSON formatında sunulmuş hali oluyor. Burada hatırlatmak lazım ki, APK dosyanız şifrelenmiş (encrypted) olsa bile veritabanınızın URL'sini bir string değişkeninde tuttuğunuz için yine görülebiliyor.

Comparitech firması 22 Nisan tarihinde bu güvenlik sorununu Google'a bildirmiş ve Google'da "biz geliştiricilere yanlış konfigüre edilmiş durumlar için bildirim gönderiyoruz. Bu durum için de etkilenen uygulamaların geliştiricilerini bilgilendireceğiz" demiş. Eğer sizin de Firebase veritabanı ürünlerini kullanan bir uygulamanız varsa açığın olup olmadığını kontrol ederek ve ilgili dokümantasyon sayfalarını detaylıca inceleyerek olası bir güvenlik sızıntısının önüne geçebilirsiniz. Hassas verileri veritabanında şifrelenmiş bir şekilde tutmanın ne kadar önemli olduğunu bir kez daha anlamış olduk.

Deno 1.0 yayınlandı

Gün geçmiyor ki yeni bir JavaScript teknolojisi daha çıkmasın. Şaka bir yana, bu yeni teknoloji diğerlerine göre daha fazla gündemde kaldı ve konuşuldu. Node.js'e alternatif olarak geliştirilen(fork değil), yine Node.js'i yaratan kişinin de (Ryan Dahl) yazarları arasında olduğu Deno projesinin ilk stabil versiyonu 1.0, geçtiğimiz hafta içerisinde duyuruldu. Deno da Node.js gibi sunucu tarafında JavaScript çalıştırmaya yarayan bir runtime çözümü.

Deno'nun neden ortaya çıktığını anlamak için önce Node.js'in sorunlarını anlamak gerekiyor. Node.js'de Promise yapısının olmaması, güvensiz bir runtime'a sahip olması, paket yönetimi, testler vb. konularda içerisinde bir çözüm barındırmaması gibi sorunlar uzun zamandır Node.js kullananlar tarafından dile getiriliyordu fakat bu ihtiyaçlar hep üçüncü parti araçlar tarafından giderilebiliyordu. Node.js paket yönetimi için npm ile birlikte geliyor fakat npm doğrudan Node.js tarafından geliştirilen bir araç değil, kontrol onlarda değil yani. Güvensiz runtime'dan kast edilen ise Node.js'in kontrolsüz sistem çağrıları (sys calls) yapabiliyor olması. Node.js ile bir JavaScript dosyası çalıştırdığınızda o işlem, sistemin tüm kaynaklarını kullanabiliyordu. Örneğin istediği bir dosyayı okuyabilir ya da yazabiliyordu. Bunun gibi Node.js'in tasarımından kaynaklanan diğer sorunlar için doğrudan Node.js'in yaratıcılarından Ryan Dahl'ın JSConf EU 2018 etkinliğinde yaptığı konuşmayı buraya tıklayarak izleyebilirsiniz.

Deno'nun resmî logosu

Gel gelelim Deno'ya… Deno'da yukarıdaki birçok sorun çözülmüş durumda, artık tek bir araç kurarak geliştirme ortamınızdaki birçok ihtiyacınızı giderebiliyorsunuz. Şöyle ki:

  • deno run: Bu komut ile kodlarınızı direkt çalıştırabilirsiniz. Üstelik kendi içerisinde TypeScript desteği ile geliyor, yani TypeScript kodlarınızı derleyici ile JavaScript'e dönüştürüp o şekilde kullanmanıza gerek yok. Direkt deno run deneme.ts şeklinde çalıştırabiliyorsunuz.
  • deno bundle: Bu komuta parametre olarak verdiğiniz bir kaynak kod dosyası (JS ya da TS olabilir), tüm bağımlılıklarıyla birlikte tek bir dosya haline getiriliyor. bir dosya haline getirmeye yarıyor.
  • deno fmt: Kodlarınızın otomatik olarak formatlanmasını sağlar.
  • deno doc: Bir modül için tanımlanmış dokümantasyon metinlerini gösteriyor.
  • deno test: Projeniz için yazdığınız testleri bu komut yardımıyla çalıştırabiliyorsunuz.

Deno'yu sizler için denedim. Örnek tabii ki çok basit ama Node.js'e göre daha hızlı geliştirebildim.

Yukarıdaki örnekte de gördüğünüz gibi hiç package.json dosyası gibi şeylerle uğraşmadan doğrudan ilgili dosyanın adresini import olarak belirterek dosyama ekledim ve deno info komutuyla hem kodlarımı derledim hem de bağımlılıkları indirdim. deno info komutunu çalıştırmak zorunda değilsiniz elbette direkt deno run teknoseyir.ts komutu da çalıştırabilirsiniz. Eğer siz de yukarıdaki dosyayı denemek isterseniz bu adresten indirip, deneyebilirsiniz: https://gist.github.com/erenhatirnaz/fc6e726fff2731bc1ed763bb2ba7d3e8

Hepimizin aklındaki soru ise "Node.js'yi bitirir mi?" olduğunu tahmin ediyorum fakat henüz böyle bir çıkarım yapabilmek için çok erken olsa da sunduğu özellikler bakımından gerçekten umut vaat ettiğini düşünüyorum. Node.js için yazılmış kütüphaneler için henüz bir uyumluluk çözümü yok fakat şu an geliştirilme aşamasındaymış, ileride Node.js için de yazılmış kütüphaneleri kullanabilir hale geldiğimizde belki o zaman Node.js'in ömrünü konuşmaya başlayabiliriz. Bakalım JavaScript ekosistemini ileride ne gibi değişlikler bekliyor. Hep birlikte göreceğiz.

Deno hakkında daha detaylı bilgiler için konu başlığına eklediğim bağlantıya tıklayabilir ya da DevNot sitesinden Zafer Ayan'ın yazdığı şu türkçe yazıyı okuyabilirsiniz.

Siz Deno hakkında ne düşünüyorsunuz? Deneyebildiniz mi? Denediyseniz olumlu/olumsuz eleştirileriniz neler? Yorumlar bölümünde fikir alışverişi yapalım.

Unreal Engine 5 ilk bakış duyuruldu

Geçtiğimiz hafta içerisinde Epic Games firmasının sahip olduğu Unreal Engine oyun motorunun 5 numaralı versiyonunun ilk bakış videoları ve yayınlanma süreci hakkında bazı detaylar duyuruldu. Zaten geçtiğimiz haftanın olay yaratan konularından biri de bu oldu.

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

Front-end geliştirme alanından bile daha uzak olduğun oyun geliştirme alanıyla ilgili bir haber olduğu için teknik kısımlarını pek iyi yorumlayamayacağım fakat duyurulan şeyleri anladığım ölçüde sizlere aktarmaya çalışayım:

  • Nanite: Bu yeni teknoloji sayesinde artık 3D tasarım yapan sanatçılar poligon sayısını çok kafasına takmadan hayallerindeki tasarımları dijital ortama aktarabilecekler. ZBrush ile taratılmış nesnelerden, CAD verilerine kadar birçok obje bu şekilde kullanılabilecek. Gerçek zamanlı olarak çalışan bu teknoloji kalite kaybı olmadan daha hızlı geliştirme yapmaya olanak sağlayacak.
  • Lumen: Bu sürümle birlikte gelecek olan tamamen dinamik aydınlatma çözümü. Bu özelliği okuyunca benim aklıma NVIDIA'nin RTX çözümü geldi. Bu da aynı onun gibi ışığın dinamik olarak hesaplanmasını ve dolayısıyla ortamlara ve zamana göre nesnelere vuran ışığın değişmesini sağlıyor. Tabii ki bu da gerçek zamanlı olarak GPU üzerinde hesaplanıyor ve oyuna yansıtılıyor. Teknik bilgim olmadığı için bu özelliğin RTX ile bağlantılı olup olmadığını bilemiyorum fakat konu hakkında bilgisi olan arkadaşlar yorumlar bölümünde belirtirse buraya ekleme yapabilirim.

Unreal Engine 5 ile birlikte çekirdeğe eklenen yeni teknolojiler bu şekildeydi. Unreal Engine 5 ön izleme sürümünün 2021'in ilk ayları içerisinde duyurulması beklenirken, tamamen stabil sürümün ise 2021'in daha ileri tarihlerinde yayınlanması planlanıyor. Unreal Engine 4 kullanan geliştiricilerin 5'e geçebilmeleri için uyumluluk çalışmalarının da devam ettiğini, geçiş sürecini kolaylaştırmak için çaba gösterdiklerini aktarıyorlar.

Unreal Engine 5 ile birlikte Epic Games bir de yeni bir servis duyurdu: Epic Online Services. Bu yeni servis sayesinde oyun geliştiricileri oyunlarına daha kolay bir şekilde çoklu oyuncu desteği eklemenin yanı sıra, lider tabloları, başarımlar vb. şeyleri de ekleyebilecekler. Üstelik bu hizmet tüm geliştiriciler için ücretsiz olarak sunuluyor. Epic Games, bu hizmeti sadece kendi oyun mağazası için sınırlamamış platformlar arası (cross-platform) desteği de eklemiş. Yani Playstation'dan XBox'a oradan iOS ve Android'e kadar birçok platformda oyuncular aynı şeylere sahip olabilecek.

Son olarak ise artık Unreal Engine kullanan geliştiriciler ve oyun yapımcıları yıllık gelirleri 1 milyon dolar olana kadar Unreal Engine'e lisans ücreti ödemek zorunda değiller. Lisanslama ile ilgili sorular için şu bağlantıda yer alan sıkça sorulan sorular kısmına göz atabilirsiniz.

Bu gelişme oyun geliştirme dinamiklerini nasıl etkiler, ilerleyen süreçlerde bizi neler bekliyor pek bilemiyorum ama oyun geliştirme alanında çalıştığını tahmin ettiğim Sosyal'den @ardazeytin arkadaşımızın yazdığı şu gönderiye bakabilirsiniz: https://teknoseyir.com/durum/1265228.

Oyun geliştirme alanında çalışan başka arkadaşlar varsa bu konu hakkında düşündüklerini yorumlar bölümünde dile getirirse çok memnun olurum.

Eclipse Foundation Avrupa'ya taşınıyor

Çoğunlukla Java IDE'si olarak tanıdığımız Eclipse, aslında Eclipse Foundation isimli bir yapının parçası. Geçtiğimiz hafta içerisinde ise Eclipse Foundation, tüzel kişiliklerini Brüksel'e taşıyarak bir Uluslararası kâr amacı gütmeyen dernek haline geleceklerini açıkladılar.

Şu anda Amerika merkezli bir vakıf olan Eclipse Foundation, taşınma nedeniyle ilgili açıklamalarda genelde "üyelerimiz ve katkı sağlayanlarımızın çoğu Avrupa'da olduğu için biz de onlara yakın olmak için merkezimizi oraya taşıyoruz" şeklinde özetliyorlar fakat ben Amerika'daki güncel siyasi durumun da konu üzerinde etkisi olabileceğini düşünüyorum. Bir de tüzel kişilikle ilgili bazı yasal kolaylıklardan bahsedilmiş sanırım fakat alanım olmayan bir konu olduğu için pek fazla bir şey anlamadım.

Taşınma süreciyle ilgili detaylar şu şekilde özetlenebilir:

  • Uluslararası kar amacı gütmeyen derneğin resmî işlemlerinin Temmuz 2020'de tamamlanması bekleniyor.
  • Fiziksel olarak Avrupa'da barındırılan, üzerinde GitLab kurulu sunucularda tüm projelerinin kaynak kodlarına ve dokümanlarına bu yılın yaz ayları itibariyle erişilebilecek. Burası geliştiriciler ve katkı sağlayanlar için üçüncü bir seçenek olarak sunulacak.
  • Eclipse ve Eclipse Foundation isimleri ve markaları yeni Belçika varlığı olarak kontrol edilecek.
  • Eclipse Foundation zaten hali hazırda Kanada ve Avrupa (Almanya ofisi mevcuttu) üzerinde eş zamanlı yönetildiği için vakfın operasyonlarının en düşük seviyede etkileneceği tahmin ediliyor.

Biz geliştiricileri pek fazla etkileyeceğini sanmıyorum ama yinede sektörümüzdeki önemli bir vakıfın böyle büyük bir taşınma işine girişmesini gündeme almak istedim. Daha detaylı bilgiler için konu başlığına eklediğim bağlantıya tıklayabilir ya da şu adresdeki sıkça sorulan sorular sayfasını ziyaret edebilirsiniz. Eclipse Foundation Europe ana sayfası için burayı ziyaret edebilirsiniz: https://www.eclipse.org/europe/

Firefox 77 ile birlikte <input> ve <textarea> elemanlarında davranış değişiklikleri geliyor

Mozilla tarafından geliştirilen web tarayıcısı Firefox'un bir sonraki sürümü olarak yayınlanacak 77 numaralı sürümünde <input> ve <textarea> elemanlarında değişiklikler olacağı geçtiğimi hafta Firefox Site Compatibility sitesinde duyuruldu.

Artık bu elemanlara kopyala/yapıştır ile bir içerik yapıştırdığımızda eğer içeriğin boyutu, elemanın maxlength property'sindeki boyuttan büyükse, yapıştırdığımız içerik otomatik olarak kırpılmayacak. Yani kullanıcılar o elemana daha uzun içerikler yapıştırabilecekler fakat bu demek değil ki Firefox bizim koyduğumuz kuralı görmezden geliyor. Firefox, maxlength değerine uymayan formları submit etmemeye devam edecek. Yapılan davranış değişikliğinin sebebi ise kullanıcıların şifre yönetim uygulamalarının ilgili elemana otomatik olarak yapıştırdığı şifrelerin kırpılmamasını sağlamak. Yani kullanıcının "acaba parolamla ilgili bir sıkıntı mı var" endişesini gidermeye yönelik. Eğer girilen metin olması gerekenden uzunsa Firefox kullanıcıya şöyle bir mesaj gösterecekmiş: "Lütfen bu metini 20 karakter ya da daha az olacak şekilde kısatın (şu an 30 karakter kullanıyorsunuz)".

Çalışan projelerimizi doğrudan etkileyecek bir durum göremiyorum ama yine de dikkate almaya değer bir davranış değişikliği olduğu için değinmeden geçmek istemedim. Daha detaylı bilgiler ve referanslar için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

GitHub Desktop 2.5 ve GitHub CLI 0.8 sürümü yayınlandı

GitHub'ın grafiksel masaüstü uygulaması ve komut satırı üzerinden çalışan aracı geçtiğimiz hafta içerisinde yeni sürümlerine kavuşturlar. Yeni sürümler ile gelen bazı özellikler şu şekilde:

[GitHub Desktop] Etiket oluşturma ve gönderme

Artık GitHub uygulaması üzerinden yeni git etiketleri (git tag) oluşturup, bunları GitHub.com üzerindeki uzak deponuza gönderebileceksiniz. Tabii ki var olan etiketleri de listeleme özelliği mevcut.

[GitHub CLI] Isseu ve Pull Requestleri kontrol etme

GitHub CLI üzerinden zaten bir proje üzerinde issue oluşturabiliyor ya da pull request gönderebiliyorduk fakat işlemler sadece bunlarla kısıtlıydı. Diğer ek işlemler için tarayıcıda açmak gerekiyordu. Bu sürümle birlikte artık issue ve pull requestlerimizi yaratırken onlara label, reviewer, projects, milestone gibi ek bilgiler iliştirebileceğiz. Aynı zamanda gh pr
close
, gh pr reopen ve gh issue close, gh issue reopen gibi komutlarla ilgili issue ya da pull requestleri açıp kapatabileceğiz. Komut satırı kullanmayı seven biri olan beni mutlu eden gelişmeler fakat henüz tam zamanlı kullanılabilecek kadar gelişmedi hele bir 1.0 sürümü çıksın bakalım…

SourceHut, PeerTube projesini desteklemek için fon programını duyurdu

SourceHut'ın ne olduğundan ve felsefesinden önceki yazılım gündemi yazılarının birinde (bkz: Yazılım Gündemi - 2020/17) bahsetmiştim. O yazıyı okumayanlar için kısa bir özet: SourceHut da GitHub ve GitLab gibi uzak bir git deposu hizmeti fakat tamamen özgür yazılım prensiplerine göre ve açık kaynak şekilde geliştiriliyor (ve JavaScript kullanmıyor). PeerTube ise YouTube'a benzer, gelişmiş ve dağıtık bir video paylaşma platformu. Teknik detaylarına pek fazla hakim değilim fakat siz bir PeerTube sitesine bir video yüklediğinizde aslında bir çeşit torrent paylaşmış gibi oluyorsunuz ve tarayıcı üzerinden o videoyu izleyen diğer kişiler de hem indiriyor hem de diğer kullanıcılar için gönderiyor. Bu sayede dağıtık bir yapı kurulmuş oluyor. İsterseniz sizde kendi sunucularınızda bir PeerTube ayağa kaldırabilir ve bu ağın bir parçası olabilirsiniz. İkisi de çok sevdiğim ve bir çeşit gönül bağı kurduğum projeler. Hazır yeri gelmişken ikisini birden gündemde konuk etmek istedim :).

SourceHut ise geçtiğimiz hafta içerisinde PeerTube projesini desteklemek ve içerik sayısını arttırmak için bir çeşit fon ayırdığını açıkladı. 5.000$'lık bu fon sayesinde PeerTube'a içerik üretmek isteyen kişilere ekipman desteği ve kitle fonlama araçları sağlanacak. Kitle fonlama aracı ise yine özgür yazılım prensipleriyle geliştirilen Librepay. Fakat bu fondan faydalanabilmenin bazı şartları var:

  • Hali hazırda başka bir platform üzerinde videolu içerik üretmiyor olmanız gerekiyor fakat bu o kadar sert bir kural değil sanırım, birkaç video üretmişseniz yine de başvurunuzda bunu açıkca belirterek değerlendirilme süreçlerine dahil olabiliyorsunuz.
  • Videolarınızı sadece PeerTube'a yükleyebilirsiniz. YouTube, Vimeo vb. platformlarda PeerTube için özel ürettiğiniz içerikler bulunamaz.
  • Oluşturduğunuz video içerikler Creative Commons lisansları ile paylaşılmalıdır.
  • En az 5 video üretmeniz bekleniyor. Eğer bu 5 videodan sonra videolu içerik üretmenin size göre olmadığına karar verirseniz fon yardımıyla aldığınız ekipmanları geri vermeniz gerekiyor.
  • Librepay üzerinden aylık en az 20$'dan fazla kazanmaya başladığınızda, devam eden barındırma maliyetleri tüm içerik oluşturucular arasında eşit olarak paylaştırılacak. Yani şimdilik aylık 45$ olan bu maliyet içerik oluşturucular arasında eşit bir şekilde bölüştürülür. Librepay gelirinizin %25'inden fazla ödeme yapmanız asla beklenmiyor; SourceHut gerisini
    tamamlıyor.

Eğer bu fona başvurmak isterseniz sir@cmpwn.com e-posta adresine, başlığı "PeerTube bootstrap application: <ad soyad>" olan ve içeriğinde de kendinizi tanıtarak ne tür bir içerik oluşturmak istediğinizden bahsedebilirsiniz.

SourceHut'ın kendi barındırdığı PeerTube hizmeti için burayı ziyaret edebilirsiniz: SpacePub. Diğer detaylar için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

Geçtiğimiz hafta SourceHut'daki diğer bazı gelişmeler de bu şekilde:

Diğer Haberler

BeğenFavori PaylaşYorum yap
Önceki yorumları gör 10 / 17

Yeni normal tabirini çok sık duyuyoruz değil mi? Peki nedir bu yeni normal? Gerçekler ve komplo teorilerini bir araya getirdiğim, son bölümde de kendi görüşlerimi paylaştığım yazıyı aşağıda bulabilirsiniz. #evdekal #dikkat

Yazının içinden bir kaç paragraf :

İşte tüm bu sebepler ile yeni normal diye bir tabir hayatımıza girdi. Enfekte olmamak için evden az çıkmak sosyal mesafeyi korumak hijyene dikkat etmek gibi konulara bundan sonra daha hassas olunmasının gerekli olduğu büyük bir çoğunluk tarafından dillendiriliyor. Fakat azımsanamayacak bir grup'da bunun bir oyun olduğunu ve aslında önceden farklı hiç bir şey olmadığını savunuyorlar. Bunlar ile paralel olarak bilimsel gerçekler ve komplo teorileri birbiri ile çelişiyor. Bilimsel gerçeklerin gerçek olmadığını ispatlamaya çalışan komple teorilerinin de olduğunu belirtmeden geçemeyeceğim.

Öncelikle kesinlikle korkmayın. Korkmayın demek tedbir almayın değil tabii ki. Elinizden gelen tedbiri paranoyak olmayacak seviyede alın ve hayatınıza devam edin. Yeni normal diye bir şey aslında yok, tabiatın doğası gereği her an bir değişim var ve şu andaki halimiz bir saniye önceki halimize göre zaten yeni.

Ben ise şimdiye kadar bahsettiğim gerçek ve komplo teorilerinin karışımına inanıyorum. Temelde insanlar grubundan oluşan bir üst akıla inanmıyorum. Üst akıl olarak gördüğüm şey ise toplu akıl. Yani insanların hepsinin toplu aklı ve enerjisi. Birileri aklımıza yatan bir şeyler anlattığında ona inanmak ve ya mantıklı bulmak gayet doğal. Bu tarz görüşler ise kendine zemin buldukça güçleniyor ve toplu akıl görüşleri olarak engellenemez bir biçimde karışımıza çıkıyor.

http://www.aserhat.com/2020/05/yeni-normal-aslnda-ne-komplo-teorileri.html

Yeni Normal Aslında Ne? Komplo Teorileri ve Gerçekler

İş, yaşam ve genel manada teknoloji konusunda yazılar bulabileceğiniz bir kişisel blog
BeğenFavori PaylaşYorum yap

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

< Önceki Gündem   |   4-10 Mayıs 2020   |   Sonraki Gündem >

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

GitHub, Satellite 2020 etkinliğini gerçekleştirdi

Geçtiğimiz yıllarda Microsoft tarafından satın alınan GitHub, geçtiğimiz hafta içerisinde Satellite 2020 etkinliğini sanal olarak gerçekleştirdi. Etkinlikte duyurulan yeniliklere birlikte göz atalım.

GitHub Discussions

Örnek bir discussions sayfası için burayı ziyaret edebilirsiniz

Yazılım geliştiriciler olarak sıklıkla takıldığımız konularda yardım alma ihtiyacımız oluyor. Uzun bir zamandır bu ihtiyacımızı StackOverflow üzerinde gideriyorduk. Zaman zaman alternatifleri çıksa da StackOverflow kadar tutmadı fakat artık yalnız değil. GitHub, Discussions özelliği ile doğrudan StackOverflow'u hedef alıyor bence. Herkese açık depolar için yakında beta olarak açılacak bu özellikle artık GitHub üzerinde proje sayfalarında da ilgili projeyle ilgili sorular sorup, çözümü yazan kişilerin mesajlarını çözüldü olarak işaretleyebileceğiz. Önceden beri issue sistemi zaten vardı fakat bu discussions ile artık StackOverflow'daki gibi sorular sorabileceğiz. GitHub ve StackOverflow arasında ortaya çıkan bu rekabet nereye varacak.

GitHub Codespaces

Yazılım gündemi yazılarını takip edenler bu ismi mutlaka hatırlayacaklardır. Evet, bir önceki gündem yazısından hatırlıyorsunuz. Microsoft, "Visual Studio Online" olan cloud tabanlı geliştirme çözümünün ismini "Visual Studio Codespaces" olarak değiştirmişti (bkz: Yazılım Gündemi - 2020/17). Ne tesadüftür ki bir başka Microsoft firması da aynı isimde özellik tanıtıyor :). Çoğunuzun da anladığı üzere artık GitHub üzerinden tek bir tıklama ile cloud tabanlı geliştirme ortamımızı ayağa kaldırabileceğiz. Henüz limitli açık beta sürecinde ücretsiz olarak kullanılabilen bu özellik herkese açıldığında kendine özel bir ücretlendirme ile gelecekmiş. Muhtemelen geçen hafta duyurduğum "Visual Studio Codespaces"deki fiyatlarla aynı olacaktır. GitHub'daki normal basit dosya düzenleme özelliği ücretsiz kalmaya devam edecek tabii ki. Limitli açık beta için başvuru yapmıştım fakat henüz onay gelmediği için detaylı bir şeyler yazamıyorum. Sizler de konu alt başlığına tıklayarak özelliğin sunum sayfasına erişebilir, açık beta için başvuru yapabilirsiniz. Onay alıp, deneme imkanınız olursa deneyimlerinizi yorumlar bölümünde paylaşmaktan kendinizi geri koymayın.

GitHub Codescanning ve Secret Scanning

Geçtiğimiz senenin yazılım gündemi yazılarının birinde (bkz: Yazılım Gündemi - 10) GitHub'ın Semmle isimli kod analizi çözümü sunan bir şirketi satın aldığını haber yapmıştım ve "GitHub bunu mutlaka kullanır bir şekilde" demiştim. İşte o kullanımlar geçtiğimiz hafta duyuruldu. Artık GitHub'a yüklediğimiz kodlar üzerinde güvenlik açıkları ve zafiyetler için otomatikleştirilmiş süreçler içeren 2 ürün var. Henüz ikisi de beta sürecinde olsa da incelemeye değer.

  • GitHub Code scanning ile herkese açık depolarımız üzerinde potansiyel güvenlik açıklarına yönelik taramalar yapabiliyor ve bunu CI/CD gibi süreçlerin bir parçası yapabiliyoruz. Yani "ben git push yaptığımda otomatik olarak taramaları yap" diyebileceğiz. Olası güvenlik sorunlarına karşı uyarı bildirimleri gönderen bu servis, arka planda GitHub tarafından geliştirilen CodeQL motorunu kullanıyor. Projeleriniz için beta başvurusunda bulunmak için bu sayfayı ziyaret edebilirsiniz.
  • Secret scanning ise GitHub'da 2018'den beri olan bir özellik fakat artık private depolarınız için de kullanabileceksiniz. Ne kadar dikkat etsek de bazen boşta bulunup kodlar içerisinde olmaması gereken bir şifreyi ya da gizli bir anahtarı unutabiliyoruz. Bu da haliyle güvenlik sorunlarına yol açıyor. İşte secret scanning tam da bu sorunu çözmeye yönelik bir özellik. Projelerinizde şifreye ya da gizli anahtara benzer metinsel ifadeler gördüğünde sizi uyarıyor ve yapmanız gerekenler hakkında bilgi veriyor.

GitHub'ın bu mecburiyetten dolayı sanal olarak düzenlediği Satellite 2020 etkinliğinde duyurulan belli başlı özellikler bu şekildeydi. Etkinliğin toplam 12 saatlik kaydı YouTube üzerinde mevcut, buraya tıklayarak ilgili videoya erişebilirsiniz.

Gördüğünüz gibi GitHub yazılım geliştirme ekosisteminin her alanı için bir çözüm üretmeye devam ediyor. Elbette çoğu geliştirici için GitHub'da tüm işlerini halledebilmek çok büyük bir kolaylık olacaktır ama ben GitHub'ın sektördeki konumundan da dolayı giderek tekelleştiğini düşünmeye başladım. Elbette bir firma açısından baktığımızda müşterilerini başka firmaların ürünlerini kullanmak zorunda bırakmadan, kendi bünyesi içerisinden çözümler sunmak istemesi çok doğal fakat ben şahsen yazılım geliştirmeyle ilgili her şeyimi GitHub'a emanet etmek istemezdim. Bunun için de haklı nedenlerim olduğunu düşünüyorum. Geçmişte Amerika'nın ambargo uyguladığı ülkelerdeki geliştiricilerin hesaplarını nasıl kilitlediklerini ve kodlarına resmen el koyduklarını hep birlikte görmüştük (bkz: Yazılım Gündemi - 3). Elbette tüm kararınızı olası bir "ambargo" kararına göre vermek mantıklı değil fakat Levent Abi'nin sözünü tekrar hatırlatmak istiyorum: "Cloud dediğin başkasının bilgisayarıdır. Gün gelir de 'sana hizmet vermiyorum kardeşim' derse yapabileceğin bir şey yok". Bu konuda siz ne düşünüyorsunuz? GitHub'ın bu kadar büyümesi ve yeni hizmetler sağlaması sizi endişelendiriyor mu? Yoksa bu yönde çekinceleriniz yok mu? Yorumlar bölümünde konuşalım.

Microsoft'un GitHub hesabı hacklendi

BleepingComputer sitesinin geçtiğimiz hafta yayınladığı habere göre "Shiny Hunter" rumuzlu hacker, Microsoft çalışanlarından birinin GitHub hesabını hackleyerek, private (herkese açık olmayan) depolara erişim sağladığını ve 500GB'dan daha fazla büyüklükte veri çaldığını iddia etti. Haftanın ilerleyen günlerinde ise bir Microsoft çalışanından olayın gerçek olduğunu öğrendik.

Hacker'ın paylaştığı ekran görüntüsündeki tarih bilgilerinden olayın 28 Mart günü gerçekleştiği ortaya çıkıyor.

Hacker ilk bu verileri yer altı forumlarında satmayı düşünmüş olsa da, sonradan ücretsiz olarak sızdırmayı tercih etmiş gibi gözüküyor. BleepingComputer sitesinin incelediğine göre sıvan private repoların içinde Microsoft'u zora sokacak derecede projelerin kodları yok. Çoğunlukla gizlilik gerektirmeyen kodlar, kod örnekleri, test projeleri ve e-kitapların yer aldığı söyleniyor. Zaten bu yüzden de pek fazla ses getirmedi bu olay ve çok az konuşuldu.

Facebook SDK kütüphanesindeki bir hata, popüler iOS uygulamalarının çökmesine yol açtı

Günümüzde birçok mobil uygulama ve web sitenin açılış ekranlarında çok sık "Facebook ile giriş yap", "Twitter ile kayıt ol" tarzı alternatif kimlik doğrulama yöntemlerini görüyoruz. Biz yazılım geliştiriciler olarak bu tarz özellikleri yine ilgili sosyal medya sitesinin sağladığı Software Development Kit'ler (SDK) aracılığıyla uygulamalarımıza ya da web sitelerimiz ekliyoruz. Geçtiğimiz hafta içerisinde de Facebook'un sağladığı SDK paketinin iOS sürümünde çıkan bir hata, bu paketi kullanan popüler iOS uygulamalarının açılırken çökmesine yol açtı. Bu uygulamalar arasında Spotify, TikTok ve Pinterest gibi uygulamalar da var. "Facebook ile giriş yap" özelliğinden faydalanmayan kullanıcılar da durumdan etkilenmişler.

https://twitter.com/aburninghilll/status/1258169688959352832

Olay hakkında daha detaylı bilgi için konu başlığına eklediğim bağlantıya tıklayabilirsiniz ya da Facebook'un iOS SDK paketinin GitHub deposundaki şu issue sayfasını ziyaret edebilirsiniz. Uygulama geliştiren arkadaşların Facebook SDK ile olan bağlarını tekrar gözden geçirmelerini tavsiye ederim.

Flutter 1.17 ve Dart 2.8 sürümleri yayınlandı

Google tarafından geliştirilen platformlar-arası (cross-platform) uygulama geliştirme framework'ü Flutter ve programlama dili Dart, geçtiğimiz hafta içerisinde yeni sürümlerini yayınladılar. Birbiriyle ilişkili iki teknoloji olduğu için birlikte değerlendirmek istedim.

Flutter 1.17 ile birlikte gelen bazı yenilik ve değişiklikler:

  • Mobil performans ve boyut iyileştirmeleri: Hiçbir şey yapmadan sadece uygulamanızın Flutter sürümünü 1.17'ye yükselterek bile daha hızlı animasyonlar, daha küçük uygulama boyutları ve daha az bellek kullanımları elde edebiliyorsunuz. Flutter takımının iddiasına göre %40 oranında CPU/GPU kullanımında azalma ve uygulama boyutunda %18.5'lik bir azalma oluyor. Flutter'ın örnek Flutter Galery uygulaması bu sürüm değişikliğiyle birlikte 9.6MB'dan 8.1MB'a düşmüş.
  • iOS için Metal desteği, %50'lik bir performans iyileştirmesi sağlıyor: OpenGL gibi bir grafik kütüphanesi olan ve Apple tarafından geliştirilen Metal, artık Flutter'ın iOS tarafında varsayılan olarak kullandığı grafik kütüphanesi haline gelmiş. Apple tarafından geliştirilmesinden dolayı da iOS işletim sisteminde iyi performansla çalışabiliyor. Artık Flutter ile geliştirdiğimiz uygulamaların grafik işlemleri öncekine göre daha hızlı gerçekleşecek.
  • Material tasarıma sahip yeni widget'lar: NavigationRail, DatePicker. Doğrudan Google Material Design takımı tarafından tasarlanan bu yeni widget'lar artık Flutter 1.17 ile emrinize amade.

Dart programlama dili kendi içerisinde pub isimli bir paket yöneticisi (bağımlılık yöneticisi) ile birlikte geliyor. Geçtiğimiz hafta yayınlanan Dart 2.8 sürümüyle de Dart takımının bu paket yöneticisini daha iyileştirmeye yönelik çalışmalar yaptığını görebiliyoruz. Şöyle ki:

  • pub get komutunda hız iyileştirmeleri: Artık pub.dev üzerinden paketleri daha hızlı indirebileceğiz. Flutter takımı örnek veri olarak Flutter 1.12 sürümünde flutter create komutunun 6.5 saniye sürdüğünü, fakat artık Dart 2.8'de bunun sadece 2.5 saniye sürdüğünü belirtmiş.
  • Yeni komut pub outdated: Bu yeni komut sayesinde artık eski sürümde kalmış kütüphaneleri daha kolay tespit edebilecek ve sürümler arası geçişler için daha fazla bilgi edinebileceksiniz.

Flutter 1.17 ve Dart 2.8 ile birlikte gelen diğer özellik ve değişiklikler için konu başlığına eklediğim bağlantılara tıklayabilirsiniz.

Firefox 76 ile gelen yeni özellikler

Popüler web tarayıcılardan biri olan Mozilla Firefox, geçtiğimiz hafta içerisinde 76.0 numaralı sürümünü yayınladı. Bu sürümle birlikte gelen ve biz geliştiricileri ilgilendiren yeni özelliklerin birkaçına birlikte bakalım.

Debug yaparken dizini tamamen görmezden gelme

Her ne kadar çoğumuz hata ayıklama (debug) için printf, echo, console.log gibi komutları kullansak da tarayıcıların sağladığı Debugger özelliği bazı durumlarda daha işe yarar olabiliyor. Bu durumlarda da genellikle sadece proje klasörünüzün içerisindeki dosyaları debug etmek, oradaki olaylara bakmak isterseniz. İşte Firefox 76 ile birlikte gelen "blackboxing" özelliği ile bu mümkün. Debugger panelinin, Sources sekmesinden bir dizin seçip "bu dizin içindeki tüm dosyaları görmezden gel (ignore)" ya da "bu dizin haricindeki tüm dizinleri görmezden gel" diyebileceğiz".

Audio Worklets

Firefox 76 ile birlikte gelen bu yeni API sayesinde tarayıcı üzerinde arka planda ses işleme süreçleri işletebileceğiz. Açıkcası benim de çok yabancı olduğum bir alan fakat ilgili arkadaşlar alt konu başlığına eklediğim bağlantıya tıklayarak detaylı dokümantasyon yazısına ulaşabilirler.

Developer Edition için: CSS Uyumluluk Paneli

Bildiğiniz gibi Mozilla, Firefox'un bir de pre-release kanalı olarak Developer Edition sürümünü kullanıma sürüyor. Bu sürümde genelde sonraki Firefox sürümlerinde olan özellikler önceden geliştiricilerin kullanımına açılıyor ve test ediliyor. Bu özelliklere bir yenisi daha eklendi. F12 ile açtığımız Geliştirici Araçlarındaki CSS bölümüne artık Compatibility sekmesi de eklendi. Bu sekme sayesinde seçilen HTML elamanındaki aktif CSS özelliklerinin hangi tarayıcılarda desteklendiğini görebiliyoruz.

Firefox 76 ile birlikte gelen diğer geliştirici özellikleri için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

TIOBE popüler programlama dilleri sıralamasını Mayıs 2020 için güncelledi

Belirli periyotlarla internetteki programlama trendlerini analiz edip bunlardan programlama dilleri popülerliğini çıkartan TIOBE firması, Mayıs 2020 için güncel popüler programlama dilleri sıralamasını geçtiğimiz hafta içerisinde yayınlandı. Yeni tablo bu şekilde:

Elbette bu liste sadece popülerliğe göre belirlendiği için bizim için çok bir anlam ifade etmiyor. Sonuçta geliştireceğimiz yazılımlarda işimize en uygun olanı hangisiyse onu tercih ediyoruz, popülerlik sıralamasına göre tercih yapmıyoruz ama yine de programlama alanıyla ilgili olduğu için gündeme almak istedim.

Daha detaylı analizler ve interaktif grafikler için TIOBE sitesindeki bu sayfayı ziyaret edebilirsiniz.

Diğer Haberler

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

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

< Önceki Gündem   |   27 Nisan - 3 Mayıs 2020   |   Sonraki Gündem >

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

Lise öğrencilerine yönelik uluslararası yazılım eğitimleri erişime açıldı

Milli Eğitim Bakanlığının web sitesinde bugün yayınlanan duyuruya göre zaten öğretmenler için devam etmekte olan bazı yazılım geliştirme eğitimleri, lise öğrencileri için de erişime açılmış.

"Öğrencilerimiz için başlatılan bu eğitimlere, Android mobil uygulama geliştirmek için gerekli teorik bilgiler ile programlama dillerini öğrenecekleri ve bol bol pratik yaparak eğlenceli ve öğretici uygulamalar yazacakları üç yeni eğitim daha eklendi." bilgisini veren Selçuk, şunları kaydetti: "Google iş birliğinde 'Flutter ile Yazılım Geliştirme' ve 'Kotlin ile Yazılım Geliştirme' android uygulama eğitimleri, Öğretmen Yetiştirme ve Geliştirme Genel Müdürlüğü Youtube kanalı üzerinden tüm öğrenci ve öğretmenlerin erişimine açıldı. Google ve Cisco iş birliğinde hazırlanan bu programlarla öğrencilerin mobil uygulama oluşturma, yapay zeka, gömülü sistemler, robotik, big data konusundaki bilgi ve becerilerinin artırılmasını hedefliyoruz."

Öğretmen Yetiştirme ve Geliştirme Genel Müdürlüğünün YouTube Kanalındaki yazılım geliştirme videolarını içeren oynatma listelerine aşağıdaki bağlantılardan ulaşabilirsiniz:

Ayrıca Cisco tarafından sertifikalı öğretmenler de Python programlama dili için eğitimler verecekmiş fakat ilgili YouTube kanalında o eğitimleri bulamadım. Sanırım henüz yayınlanmamış.

"Delphi eğitimi" olayından (bkz: Yazılım Gündemi - 2020/04) sonra bence güzel bir gelişme bu. Elbette sadece internet üzerinden videolarla olacak iş değil, farklı eğitimsel içeriklerle ve pratiklerle de desteklenmeli ama başlangıç için güzel bir adım. Video sayıları henüz az gözüküyor ama anladığım kadarıyla hepsini birden paylaşmamışlar, her güne ayrı video şeklinde yayınlıyorlar. İlgili arkadaşlar yukarıdaki bağlantıları takip edebilirler ya da çevresindeki lise öğrencilerine tavsiye edebilirler.

Visual Studio Online hayatına Visual Studio Codespaces olarak devam edecek

Geçtiğimiz senenin yazılım gündemi yazılarının birinde (bkz: Yazılım Gündemi - 17) Microsoft'un "Cloud Geliştirme" çözümü olan Visual Studio Online'ın tanıtıldığından bahsetmiştim. "Cloud Geliştirme" ortamları giderek daha da popülerleşirken Microsoft'da bu hizmetinin ismini değiştirdi ve fiyatlarını da aşağıya çekti.

Kasım ayından bu yana Microsoft aldığı geri bildirimlerle birlikte çoğu kişinin yüksek özellikli geliştirme ortamlarına ihtiyaç duymadığını öğrenmişler ve hizmetlerine yeni bir paket eklemişler: Basic. Bu paket 2 sanal çekirdek, 4GB RAM ve 64GB SSD bulunuyor. Benim de üzerinde çalıştığım çoğu proje için yeterli bir paket fakat "cloud development" bana pek cazip gelmiyor. Güncellenen fiyat listesi işe şu şekilde:

Linux instance tipi Şimdiki fiyatı (Fiyat/Saat) Yeni Fiyat (Fiyat/Saat)
Basic (2 çekirdek, 4GB RAM $0.24 $0.08
Standard (4 çekirdek, 8GB RAM) $0.45 $0.17
Premium (8 çekirdek, 16GB RAM) $0.87 $0.34

Fakat yeni fiyatlar hemen yürülüğe girmiyor. Microsoft'un 19 Mayıs'da düzenleyeceği sanal Build 2020 etkinliğinden sonra yeni fiyatlarla kullanılmaya devam edilebilecek.

Sıkça soruyorum ama konusu açılmışken yine sorayım: Geliştirme ortamınızı "cloud development" olarak güncellemeyi düşünüyor musunuz? "Cloud Development" olayına bakışınız nasıl? Yorumlar bölümünde konuşalım.

Microsoft, Rust/WinRT ön izleme sürümünü tanıttı

Geçtiğimiz yazılım gündemi yazılarında detaylıca değindiğim konular arasında olmasa da Microsoft'un Rust programlama diline olan ilgiliyle alakalı haberleri "Diğer Haberler" bölümü altında paylaşmıştım. Rust, Mozilla tarafından geliştirilen güvenlik ve performans odaklı bir programla dili ve popülaritesi de gün geçtikçe artmaya devam ediyor. Bu hafta ise Microsoft, Windows için Rust ile uygulama geliştirmeye yarayan WinRT kütüphanesinin ön izleme sürümünü GitHub üzerinde açık kaynak olarak paylaştı.

Şu anda güncel olarak C++/WinRT üzerinde desteklenen tüm API'ler Rust/WinRT üzerinde de destekleniyor ve kullanılabiliyor. Yani artık Rust ile Windows üzerinde masaüstü uygulamalardan, cihaz sürücülerine (driver) kadar birçok tipte yazılımı geliştirebileceğiz. Microsoft'da örnek olması açısından Rust ile bir mayın tarlası uygulaması geliştirmiş ve GitHub üzerinde kodlarını paylaşmış.

Henüz gerçek uygulamalarda kullanmak için çok erken bir ön izleme sürümü fakat yeni denizlere açılmayı seven geliştirici arkadaşların ilgisine sunmuş olayım. Konu hakkında daha detaylı bilgi ve örnekler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

Ayrıca Microsoft'un Rust'a olan ilgisi de devam edecek gibi gözüküyor. Çünkü Azure takımı da Rust dilini WebAssembly ile birlikte Kubernetes üzerinde test ediyormuş. Önümüzdeki süreçlerde Microsoft'un Rust'a olan ilgisinin ne kadar süreceğini hep birlikte göreceğiz.

Chrome Web Store, Geliştirici Programı Politikalarını güncelledi

Google tarafından geliştirilen Chrome web tarayıcısının eklenti mağazası olan Web Store'da eklenti yayınlarken geçerli olan kurallar bu hafta içerisinde güncellendi.

Google, yollanan her eklentiyi markete eklemeden önce denetimden geçiriyor. Güvenlik vb. gibi konular düşünüldüğünde bu çok da normal bir süreç aslında fakat bazı geliştiriciler sürekli birbirinin benzeri uygulamaları göndererek bu süreç içerisindeki diğer eklentilerin incelenme sürelerini uzatıyorlarmış. Yani siz bir eklenti yapıp bunu markete ekletmek istediğinizde bunun için beklemeniz gereken süre uzuyor. Bu durumun önüne geçmek için Google'da politikalarını değiştirmeye yoluna gidiyor. Politikalardaki güncellemeler şu şekilde:

  • Birbirinin aynısı deneyimleri ve fonksiyonları olan eklentiler artık yayınlanmayacak.
  • Yanıltıcı, yanlış biçimlendirilmiş, açıklayıcı olmayan, alakasız, aşırı veya uyumsuz meta bilgileri olan eklentiler fakat bunlar sadece eklentinin açıklamasını kapsamıyor aynı zamanda eklentinin ismi, başlığı, ikonu, ekran görüntüleri ve promosyon görüntüleri de bu kurallara uymak zorunda.
  • Geliştiriciler Chrome Web Store'daki eklentilerin sıralamalarını değiştirmeye yönelik hareketlerde bulunamazlar. Sahte incelemeler, eklentiyi otomatik indiren ve puanlayan botlar vb. şeyler.
  • Sadece başka bir web sitesini, uygulamayı ya da temayı aktifleştirmeye yarayan eklentiler artık kabul edilmeyecek.
  • Kullanıcılara sürekli spam olarak mesajlar, reklamlar, hedefli saldırılar (phishing), promosyon gönderen eklentiler yayınlanmayacak.

Bu yeni politikların uygulanmasına 27 Ağustos 2020 tarihinde başlanacakmış. Eğer Chrome Web Store'da yayınlanmış bir eklentiniz varsa yeni politikaları ihlal edip etmediğinizi kontrol edin. Zira 27 Ağustos itibariyle bu kurallara uymayan tüm eklentiler marketten kaldırılacaklar.

Daha fazla bilgi için konu başlığına eklediğim bağlantıya ya da Chromium takımının hazırladığı Sıkça Sorulan Sorular sayfasını ziyaret edebilirsiniz.

TypeScript 3.9 RC sürümü yayınlandı

Microsoft tarafından geliştirilen, JavaScript'e derlenebilen tipli programlama dilin olan TypeScript, bu hafta içerisinde 3.9 Release Candidate sürümüne kavuştu. Açıkcası uzun bir zamandır front-end teknolojileri ile pek ilgilenmiyorum dolayısıyla bu haberi de "Diğer Haberler" kısmına taşımıştım ki son anda anlayabildiğim bir yeni özellik fark ettim. Hız iyileştirmeleri hakkında zaten fazla bilgi verilmiş, gidip kodları okumak gerekiyor. Editör iyileştirmelerini de programlama dilinin yapısıyla ilgili olmadığı için almadım. Öyleyse anladığım özelliği aktarayım size :).

// @ts-expect-error yorum satırı Pull Request Sayfası

TypeScript kullanarak bir kütüphane yazıyor olduğunu düşünün ve şöyle bir fonksiyonunuz var:

function hadiBirSeylerOlsun(abc: string, xyz: string) {
    assert(typeof abc === "string");
    assert(typeof xyz === "string");

    // bir şeyler oluyor
}

Bu fonksiyon iki tane string türünden değer kabul ediyor, biz TypeScript ile bu fonksiyonu kullanırken string dışında bir türden değişken gönderirsek TypeScript hata vererek derlenmeyecek, benzer şekilde bu fonksiyonu JavaScript tarafında kullanmaya çalışırsak da çeşitli hatalar görüyoruz. Bu durum için test yazmaya çalıştığımızda ise şöyle bir kod yazabiliriz:

expect(() => {
  hadiBirSeylerOlsun(123, 456);
}).toThrow();

Fakat bu kod TypeScript'de derlenmeyecektir çünkü fonksiyona string dışında bir değer gönderdik. İşte bu durumun önlemek için fonksiyonumuzun hemen üst satırına // @ts-expect-error yorum satırını ekliyoruz ve artık TypeScript derleyicisi bu fonksiyonun çalıştırılmasıyla bir hata beklendiğini anlayacak ve bu satırın tip kontrolünü atlayacak.

Bu iş için daha önceden ts-ignore ifadesi kullanılıyormuş sanırım fakat bazı durumlarda soruna yol açabildiği için bu özel durum için özel bir yorum satırı işaretleyicisi oluşturmuşlar.

TypeScript 3.9 Release Candidate sürümü ile birlikte gelen diğer özellikler ve değişiklikler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

SourceHut project hub duyuruldu

SourceHut, tıpkı diğer uzak git sunucuları (GitHub, GitLab vb.) gibi size git depolarınızı uzak bir sunucuda tutma imkanı veren bir web sitesi. Tabii ki artık modern yazılım geliştirme süreçlerinin birer parçası olan CI (Continuous Integration), proje yönetimi (issue takibi vb.), wiki, kod inceleme (code review) gibi farklı sorunlara da çözüm üreten servisleri mevcut. Yalnız SourceHut'ın diğerlerinden farklı bir yani var: sitede JavaScript kullanılmıyor, her şey sunucu tarafında çalışıyor. Ayrıca %100 açık kaynak ve özgür yazılım olarak bir kişi tarafından geliştiriliyor. İlk yazılım gündemi yazısında bu siteye gelen bir özellikten bahsetmiştim ve benim de çok beğendiğim bir servis olduğu için ne zamandır tekrar gündemde değinmek için bahane arıyordum :).

SourceHut bu hafta içerisinde "project hub" ismini verdiği yeni servisini duyurdu. Bu yeni servisin ne işe yaradığını anlamak için öncesince SourceHut'ın arkasındaki UNIX felsefesini bilmek gerek. GNU/Linux kullananların da aşina olduğu üzere işletim sistemiyle birlikte gelen araçların çoğu "sadece bir şeyi yap ama en iyi yap" anlayışıyla geliştirilmiş araçlardır. Dolayısıyla elinizin altında birbiriyle kombinleyebileceğiniz bir sürü araç olmuş oluyor. Örneğin cat komutu sadece bir dosyanın içeriğini yazdırmaya yararken, grep komutu bir dosya içerisinde metin arama gibi işlemleri yapabiliyor. İşte SourceHut da bu yaklaşımla geliştiriliyor. Sadece bir işi en iyi şekilde yapmaya çalışan birçok alt servis var. Git depolarınızı barındırmak için git.sr.ht, issue takibi vb. işler için todo.sr.ht, CI işlemleri için builds.sr.ht vb. birçok alt servis bulunmakta. Hepsini görmek için sourcehut.org adresini ziyaret edebilirsiniz.

Yani oluşturduğunuz bir git deposu sadece git deposu olma işini yapıyor. Issue takip vb. diğer işler için diğer alt servislerden oluşturmanız gerekiyor. İşte "project hub" ise bütün bu alt servisleri GitHub ve GitLab'dan alıştığımız gibi tek bir sayfada birleştiriyor. Fakat yanlış anlaşılmasın bu alt servisler birleşip tek hale gelmiyor, sadece bir projeye ait tüm alt kaynaklar bir sayfada toplanıyor, isterseniz tıklayarak o alt servisteki işlemlerinize gidebiliyorsunuz. Üstelik bir projeye istediğiniz kadar alt servis ekleyebiliyorsunuz, mesela bir uygulamanın Android ve iOS sürümlerini ayrı ayrı git depolarında tutuyorsanız onları da tek bir projeye ekleyebiliyorsunuz.

Örnek için SourceHut'ın tüm alt servisleriyle birlikte kodlarını barındıran bu proje sayfasını ziyaret edebilirsiniz.

SourceHut dışından gelenler için böyle bir sayfanın olması çok önemliydi ve sonunda eklediler. Siz de benim gibi UNIX felsefesinden hoşlanan ve GNU/Linux araçları gibi basit ve sade araçları kullanmayı seviyorsanız mutlaka SourceHut'a bir göz atın. Ayrıca tek kişi tarafından geliştirildiğini aklınıza getirerek bağış yapmayı da düşünebilirsiniz.

Diğer Haberler

BeğenFavori PaylaşYorum yap

Film İzle

Film izle sayfası üzerinden en beğenilen yerli ve yabancı (Türkçe dublaj) filmleri, ücretsiz ve HD sinema kalitesi ile online olarak izleyebilirsiniz.
BeğenFavori PaylaşYorum yap