Yazılım Gündemi - 14 (14-20 Ekim 2019)

< Önceki Gündem     |   14-20 Ekim 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.

GitLab ofiste siyaset konuşmayı yasakladı ve geri aldı

Geçtiğimiz haftalarda bir yazılımcının ABD Göçmenlik ve Gümrük Muhafaza kurumunu protesto etmesinden (bkz: Yazılım Gündemi - 10) ve aynı kurum ile iş anlaşması yapmış GitHub'daki geliştiricilerin tepkilerinden (bkz: Yazılım Gündemi - 13) bahsetmiştim. Tam da o zamanlara denk gelecek şekilde GitLab'de "bu olaylar bizi de etkileyebilir" demiş olacak ki, CEO Sid Sijbrandij tarafından şirketin el kitabına apar topar bu ekleme yapılmış. Kısaca yapılan ekleme şu şekilde: "müşterilerimizin değerleri ile bizim değerlerimiz uyuşmayabilir", "biz iş yerinde siyaset konuşmayız, verimlilik bizim bir numaralı değerimizdir".

Tabii ki bu eklemeyi yaparak olası protestoların önüne geçmeyi amaçlayan şirket yönetimi amacına ulaşamadığı gibi tam tersi bir etki de yaratıp insanların bu konu hakkında konuşmaya başlamasına yol açtı. Her ne kadar şirketin el kitabındaki bu değişiklik 2 hafta önce CEO tarafından pull request olarak açık şekilde yapılmış olsa da, olay bu hafta ortaya çıktı ve tartışmalar da bu hafta başladı. Hem şirketin kendi çalışanları hem de geliştirici camiasındaki birçok insan Reddit ve HackerNews gibi platformlarda tepkilerini gösterdiler.

Şirketin bu yanlıştan dönmesi uzun sürmedi. Büyüyen tartışmalar üzerine ertesi gün şirketten yetkili başka isimler tarafından sorunlu cümleler değiştirildi ve çalışanların iş yerinde siyaset konuşmasına yönelik yasak da kalkmış oldu. GitLab yönetiminin bu tavırları her ne kadar doğru olmasa da şirketteki tamamen herkese açık yapı takdir edilmesi gereken bir şey. Şirketin birçok dokümanı herkese açık şekilde depolarında duruyor, çalışanlar de bunların değiştirilmesinde ve geliştirilmesinde katkı verebiliyorlar. GitLab'ın bu şekilde açık bir organizasyon yapısına olması sahip olmasını hep takdir etmişimdir.

Python 3.8 stabil sürümü yayınlandı

Python takımı, plan dokümanında belirttikleri şekilde (hatta daha erken bir tarihte) Python 3.8.0 final sürümünün stabil halini yayınladılar. Yazılım Gündemi - 2 yazısında Python 3.8 ile gelecek özelliklerden bazılarını anlatmıştım. Bu yazıda onlara değinmeyeceğim fakat başka iki özelliğe birlikte göz atalım:

PEP 589 - TypedDict

Diğer programlama dillerinde key-value object olarak bildiğimiz yapının Python'daki karşılığı Dictionary. Fakat Python'daki bu yapı tiplendirilmiş şekilde kullanılamıyordu. Örnek vererek daha iyi açıklayabilirim sanırım.

Önceden bu şekilde kullanıyorduk:

kisi = {'isim': 'Eren',
        'soyisim': 'Hatırnaz',
        'yas': 24}

Artık bu şekilde kendi sınıfımızı oluşturup onu da Dictionary nesnesi gibi kullanabileceğiz:

from typing import TypedDict

class Kisi(TypedDict):
    isim: str
    soyisim: str
    yas: int

kisi1: Kisi = {'isim': 'Eren',
               'soyisim': 'Hatırnaz',
                'yas': 24}

Yani artık tip kontrollü şekilde dictionary nesneleri kullanabileceğiz. Pek sık Python yazmasam da ara ara benim de ihtiyacım olan bir özellikti, gelmesine sevindim. Daha detaylı bilgi için alt başlığa eklediğim bağlantıdaki dokümana göz atabilirsiniz.

final niteleyicisi [PEP 586 - Literal Types]

Daha önce Java'da görmeye alıştığımız final niteleyicisi artık Python'a da geliyor. Bilmeyenler için final niteleyicisi, tanımladığınız bir sınıfın, fonksiyonun ya da değişkenin değiştirilmesi istemediğimiz durumlarda kullandığımız bir ifade. Python da ise şu şekilde kullanabileceğiz:

from typing import final

@final
class Kisi:
    @final
    def merhaba(self):
        ...

Değişkenleri ise bu şekilde değiştirilemez yapabileceğiz:

ID: Final = 15

Daha detaylı bilgi ve diğer değişiklikler ve yeniliklerle ilgili şeyler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz.

Microsoft, .NET Framework API'lerinin .NET Core'a aktarılmasının tamamlandığını duyurdu

.NET Framework, Microsoft'un çok uzun zamandır geliştirmeye devam ettiği ve tüm ekosistemini altında topladığı bir uygulama çatısıydı. Windows uygulamalarından, mobil uygulamalara, oradan web uygulama ve servislerine kadar her şey bu framework sisteminin içerisinde fakat artık Microsoft bu emektar sistemi tozlu raflara kaldırmaya hazırlanıyor gibi. Çünkü artık .NET Framework yalnız değil. Geçtiğimiz yıllarda gelen CEO Satya Nadella ile açık kaynak dünyasına giriş yapan Microsoft, artık daha dışarıya açık bir yapıya sahip. Bu değişimin ürünlerinden biri olan .NET Core projesi de .NET Framework sisteminin yerini almaya hazırlanıyor. .NET Framework içerisindeki API'lerin de .NET Core projesine yavaşça aktarıldığını biliyoruz. Hatta geçtiğimiz haftalarda .NET Core 3.0 duyurulmuştu ve bu sürümle artık Windows Forms ve WPF desteğinin de geldiğini söylemiştik (bkz: Yazılım Gündemi - 11).

Bu hafta da öğreniyoruz ki .NET Framework API'lerinin .NET Core projesine aktarılması tamamlanmış. Yani artık .NET Framework'den hiçbir API, Core projesine aktarılmayacak. .NET Core projesinin, %80 civarında .NET Framework API'si içerdiğini söylüyor Microsoft. Dolayısıyla artık .NET Framework'de kullandığınız bazı API'ler .NET Core'da yoksa, hiç olmayacak demektir.

Microsoft zaten .NET'in geleceğinin Core projesi olduğunu bu blog yazısında açıklamıştı. Dolayısıyla çok da sürpriz olmadı bu gelişme. Aramızdan ayrılan teknolojiler arasında Web Forms, WCF Server ve Windows Workflow var. Kendilerini tozlu raflardaki yerlerine alabiliriz. .NET Framework'e destek hemen kesilmeyecek tabii ki de fakat benim tavsiyem uygulamalarınızı artık .NET Core altyapısına geçirmeye başlayın.

Firefox geliştirici araçlarına yeni özellik eklendi: WebSocket Inspector

WebSocket, sunucu ve istemci arasında kalıcı bir bağlantı kurmaya yarayan bir teknoloji. Daha çok tarayıcı üzerinde çalışan anlık mesajlaşma uygulamalarında kullanıyoruz. Firefox takımı da, gelen istekler üzerine yeni bir geliştirici aracı hazırlamış ve Firefox 71 sürümünde bu aracın yer alacağını açıklamış. Ayrıca şu an Firefox Developer Edition sürümünde bu özellik kullanılabilir durumda. Kullanmak için F12'ye basıp DevTools penceresini açtıktan sonra, Network sekmesine tıklayıp ve oradan da Messages sekmesine tıklamak gerekiyor.

Bu WebSocket Inspector aracı ile artık sunucu ile istemci arasındaki bu veri trafiğini izleyebilir, filtreleyebilir ve arama yapabilir hale geleceğiz. Bu sayede de WebSocket kullanan bir uygulama geliştirirken yaşadığımız araç sıkıntısını da çözmüş oluyor İlerleyen sürümlerde bu yeni araca yeni özellikler de eklenecekmiş. Mozilla ve Firefox takımı yine bizim için çalışmaya devam ediyor. 🧡 Mozilla 🧡 Firefox.

Android 10 sürümünde kaldırılan bir fonksiyonellik bir uygulamanın hayatına son verdi

Google, Android 10 sürümünde exec() isimli fonksiyonun uygulamaların bulunduğu dizinde çalışması engellendiği için Servers for Android isimli uygulamanın da geliştirilmesine son verilmiş. Uygulamanın BitBucket'daki sayfası yayından kalmış fakat tahminime göre Android üzerinde web sunucu çalıştırmaya yarayan bir uygulamaya benziyor. exec() fonksiyonu da büyük ihtimal bir binary dosyasını çalıştırmaya yarayan bir komut (Android geliştirici arkadaşlar yanlış biliyorsam düzeltsin beni). Bu uygulama da bu yöntemle web sunucu için gerekli çeşitli araçları çalıştırıyormuş sanırım. Yazıda bahsettiğine göre PHP bunlardan birisi mesela. Bu fonksiyonellik Android 10 sürümünde tamamen engellenmiş değil, eğer ilgili binary dosyaları APK dosyasının içine paketlenmişse çalıştırılabiliyor fakat bu uygulama için bir çözüm değil çünkü birden çok aracı ve farklı sürümlerini içermesi gerektiği için uygulamanın boyutu 2GB'ı aşıyor ve haliyle mantıklı olmaktan da çıkıyor. Maalesef geliştirici arkadaş uygulamayı geliştirmeyi durdurmuş ve Play Store'dan da silmiş ama keşke BitBucket'daki kaynak kodlar dursaydı.

Maalesef geliştiricilik hayatımız boyunca böyle bir çok projemiz üzerinde çalıştığımız platformun desteği kesmesi üzerine son bulacak. Burada Google'ın haklılık payı var. exec() fonksiyonunu güvenlik sorunlarına yol açabileceği kaygısıyla kaldırmaya hazırlanıyorlarmış.

WireGuard uygulaması içerdiği bağış bağlantısı yüzünden Play Store'dan silindi

Bir VPN protokolü olan WireGuard'ın Android uygulaması bu hafta bir süreliğine Play Store'dan silindi ve geri geldi. Uygulamalarına kullanıcıların destek olabilmeleri için bağış bağlantısı eklemişler ve uygulamayı Google'a inceleme için göndermişler fakat onay beklerlerken tam tersi red edilmişler hatta uygulama Play Store üzerinden silinmiş. Meğerse böyle bir ekleme Google'ın "Ödeme Yönergesi"ne uygun değilmiş. Neyse ki geliştirici hızlı davranmış ve ilgili değişikliği geri alıp tekrar incelemeye göndermiş ve uygulama kısa süre içerisinde tekrar Play Store'daki yerini almış.

Bu haber, Android geliştirici arkadaşların kulağına küpe olsun. Google'ın sistemi dışında kullanıcılarınızdan destek almak istersiniz falan aman ha! Kapı dışarı ederler adamı valla!

Bir programlama hatası 150'den fazla bilimsel çalışmayı etkiledi

Kimyasal analizde sıkça kullanılan "Willoughby-Hoye" isimli bir Python betiğinin farklı işletim sistemlerinde farklı sonuçlar vermesi yüzünden 150'den fazla bilimsel çalışma yanlış sonuç üretmiş olabilir.

Betik Ubuntu 16 ve MacOS Majove sistemlerinde yanlış sonuç veriyor.

Hataya neden olan Python'daki glob isimli modül. Bu modül, belirli bir şablona uygun dosya isimlerini getiren bir araç fakat bu modülün çalışması işletim sisteminin dosyaları sıralama sistemine bağımlıymış. Yani belirli bir şablona uygun dosya isimleri, Ubuntu'da farklı sırayla, Windows'da farklı sırayla geliyor. Bu habere konu olan Python betiğinde ise, glob fonksiyonundan gelen dosyalar sırasıyla işleniyormuş fakat farklı sistemlerde dosyaların da sırası değiştiği için betiğin ürettiği sonuçta buna göre değişiyormuş. Böyle küçük bir detayı bile bulup ortaya çıkarabilen bilime hayranlığım sonsuz.

Yaklaşan Etkinlikler

Etkinlik İsmi Yer Tarihi
Android Workshop İstanbul 22 Ekim 18:30
Codefiction Buluşuyor İstanbul 22 Ekim 18:30
Writing Modular, Scalable and Maintainable CSS İzmir 23 Ekim 19:00
Yapay Zekaya Giriş Semineri İstanbul 24 Ekim 13:30
AWS API Gateway İstanbul 24 Ekim 17:00
Modern Antivirus Atlatma Teknikleri Workshop Ankara 24 Ekim 19:00

Düzeltme Notu (21 Ekim 00:54): "Modern Antivirus Atlatma Teknikleri Workshop" isimli etkinliğin yeri yanlış (İstanbul) girilmişti. "Ankara" olarak düzeltildi.

Diğer Haberler

Bir sonraki hafta görüşmek üzere,
Kendinize iyi bakın…

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

#BilimGündemineMalzeme
yahudilerin aya cakilan modülünde bu hayvancıklar vardı.....
Kaliforniya Üniversitesi bünyesinde çalışmalarını sürdüren bilim insanları, su ayılarının radyasyona karşı bile nasıl bu kadar dayanıklı olabildiklerini ortaya çıkardı. Su ayılarındaki Dsup isimli bir proteini inceleyen araştırmacılar, bu proteinin DNA'yı çepeçevre sardığını ve bu sayede DNA'nın, radyasyondan etkilenmediğini keşfetti.
cevabını bulabilmek için su ayılarına ait hücrelere X ışını banyosu yaptırdılar. Normal koşullarda bir hücre, X ışını banyosuna maruz kalırsa işlevini kaybeder, çünkü su molekülleri bu ışının altında ayrılır. Hal böyle olunca da hücre içerisine radyoaktif oksijen ve radyoaktif hidrojen maddeleri dağılır. Bu da hücredeki DNA'ya zarar verir ve bunun sonucunda da hücre ya ölecektir ya da mutasyona uğrayacaktır.
Bu araştırma, Dsup proteininin bulutumsu bir yapıya sahip olduğu ortaya çıkardı. Yani bu protein, DNA'yı çepeçevre sarıyordu ve bu da su ayılarının, bu kadar dayanıklı olabilmelerini sağlıyordu. Konuya ilişkin açıklamalarda bulunan bilim insanları, Dsup proteininin DNA'yı sıkı sıkıya koruduğunu ve bu sayede de X ışınlarının hiçbir şekilde DNA'ya zarar veremediğini belirtiyor.
Araştırmanın bir numaralı ismi James Kadonaga, yaptıkları bu araştırmanın sonucunda Dsup proteininin su ayılarını nasıl koruduğunu anladıklarını ve bundan sonra, bu proteini potansiyel olarak kullanmak için çalışacaklarını açıkladı. Bilim insanları, bu proteinin insanlarda kullanılabilmesi halinde insanların da daha dayanıklı olabileceğini düşünüyor.

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

A Mind-Blowing Study Just Confirmed Earth Had Living Organisms 3.5 Billion Years...

In the search for the earliest life on Earth, it can be hard to tell whether you're looking at an actual fossil, or crinkles in the rock itself. Such doubts have long shadowed the 1980s discovery of...
BeğenFavori PaylaşYorum yap

Geçen gündemde bahsedilen sivrisinek deneyi başarısız olmuş.

https://popsci.com.tr/uremeyi-durdurmasi-icin-genleri-degistirilen-sivrisineklerin-deneyi-geri-tepti/

#BilimGündemineMalzeme @hkellecioglu

Üremeyi Durdurması İçin Genleri Değiştirilen Sivrisineklerin Deneyi Geri...

DAN ROBITZSKI Görünüşte plan basitti: Sivrisineklerin genleri değiştirilecek ve bu sayede soyları hemen yok olacak; bu sivrisinekler doğada hastalık yayan sivrisineklerle karışacak ve...
BeğenFavori PaylaşYorum yap
Önceki yorumları gör 4 / 7

Dünyanın en başarılı 20 genci arasında Türk bilimkadını Gözde Durmuş

Stanford Üniversitesi'nde erken teşhis teknolojisi üzerinde çalışan Gözde Durmuş ise, Uluslararası Genç Liderler ve Girişimciler Derneği (JCI) tarafından düzenlenen 'Dünyanın en...
BeğenFavori PaylaşYorum yap

"Savaş veya Kaç" içgüdüsünü adrenalin değil kemiklerin tetiklediğine dair bulguların bulunduğu ortaya çıkmış. #BilimGündemineMalzeme @hkellecioglu
https://interestingengineering.com/flight-or-fight-reaction-triggered-by-bones-not-adrenaline?utm_source=Facebook&utm_medium=Article&utm_campaign=organic&utm_content=Sep12&fbclid=IwAR2I9SgAiMuFHp73atBu3iMMBOiCau3W2DnjXiPxpVbb8Eie0rCnTOole40

Flight or Fight Reaction Triggered By Bones Not Adrenaline

New research shows bones trigger the flight or fight reaction, not adrenaline pumping through our body.
BeğenFavori PaylaşYorum yap
  • Mert Kırımgeri @mertkirimgeri

    Bu gelişmeye benden de bir soru, kemik rahatsızlıkları çekenlerde bu hormonun salgısının durumu ne oluyor acaba ?

  • Mert Kırımgeri @mertkirimgeri

    Bir soru daha, osteocalcin miktarını arttıracak beslenme türleri bu tarz ikilemlerin ortaya çıkmasını arttırır mı yada bir diğer deyişle, kaçmayan ve saldıranlar bu hissiyatı beslenme düzenlenlerinin etkisiyle yaşamış olabilir mi ? Hatta Türk'lerin savaşçı toplum olmasının nedenin bununla bir ilişkisi olabilir mi?

  • M. Selim @msmertogluuuu

    Bayağı clickbait bir başlık atmışlar (ya da anlamamışlar), osteokalsin parasempatik sistemi baskılayarak sempatik sistemin öne çıkmasına neden oluyormuş. Sempatik sistem noradrenalin ile çalışıyor. Zaten araştırmacılar psikolojik fonksiyonlarda, terlemede osteokalsinin rolünün olup olmadığını bulamamışlar.

#HaftalıkGündemeMalzeme
#teknolojivebilimnotlarınamalzeme

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

#BilimGündemineMalzeme;

Aha, istemeden ilk uzay savaşı çıkıyormuş 😛 az kaldı...

İlk kez yaşanıyor! Çarpışıyorlardı

Avrupa Uzay Ajansının (ESA) atmosfer gözlem uyd...
BeğenFavori PaylaşYorum yap