Yazılım Gündemi - 5 (05-11 Ağustos 2019)

< Önceki Gündem     |   5-11 Ağustos 2019   |     Sonraki Gündem >

GitHub Actions artık CI/CD süreçlerini destekliyor

GitHub 8 Ağustos tarihinde kendi ofislerinde bir etkinlik gerçekleştirdi. Etkinlik aynı zamanda canlı olarak YouTube üzerinden de yayınlandı. Etkinliğin asıl amacı yeni bir ürün/hizmet duyurmaktı fakat öncesinde GitHub'ın bu yıl boyunca yaptığı şeylerin bir özetini geçtiler. Yayın başında hemen duyursalar etkinlikler biterdi çünkü :). GitHub için 2019 yılı böyle geçiyormuş:

Etkinlikte söylememişler doğal olarak ama bir de Amerika'nın ambargo uyguladığı ülkelerde yaşayan geliştiricilerin kodlarına el koyulması olayı var. Yazılım Gündemi - 3 yazısında detaylıca anlatmıştım.

Gelelim etkinlikte tanıtılan yeni özelliğe: GitHub Actions servisi artık Continuous Integration ve Continuous Deployment süreçlerini destekliyor. Yani artık bu süreçleri işletebilmek için travis-ci vb. gibi servisler yerine direkt GitHub içindeki Actions servisi ile yapabilecekmişiz. Bazı özellikleri şu şekilde:

  • Matrix builds ile projenizin birden çok sürümünü aynı anda test etme,
  • Canlı log kayıtları,
  • Kod yazar gibi Action yazabilme

Live logs stream your workflow as it happens.

Canlı log izleme özelliği

Diğer özellikler için konu başlığına eklediğim bağlantıya tıklayabilirsiniz. GitHub Actions henüz beta olduğu için bu özellikleri kullanabilmeniz için Beta'ya kayıt yapmanız gerekiyor: https://github.com/features/actions.

PHP topluluğundaki gruplar ve P++ meselesi

Bu hafta PHP Wiki'sinde yayınlanan sayfaya göre PHP topluluğunda iki grup varmış. İlk grup, PHP'nin geçmişten gelen bazı özellikleri ve bakış açılarını terk etmesi gerektiğini, daha kesin tiplendirilmiş bir dil olması gerektiğini; diğer grup ise PHP'nin geçmişten gelen felsefesini ve özelliklerini korumak gerektiğini savunuyor. Elbette böyle bir tartışmada "doğru" ya da "yanlış" taraf yok. Herkesin kendine göre haklı nedenleri var.

P++'da tam olarak bu nedenden dolayı yapılmak istenen bir PHP lehçesi. Aklımıza ilk geldiği gibi bir PHP 'fork'lanması, takımların ve projelerin ayrılması durumu henüz söz konusu değil yani. P++ henüz bir kod ismi, kesin olarak bu isim belirlenmedi ama bence bir kere bu şekilde duyurulduysa böyle devam edecektir. P++, bildiğimiz PHP'ye göre çok daha sıkı kuralları olan ve farklı özelliklere sahip bir lehçe olacak gibi duruyor. P++ dosyalarını işaretlemek için şöyle bir yöntem önerilmiş:

<?p++?>
<?php echo "Merhaba TeknoSeyir!" ?>

PHP mail grubunda ve Reddit gibi platformlarda tartışmalar devam ediyor. Bakalım ne olacak…

Diğer Haberler

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

---

Yazılımın herhangi bir alanı ile ilgili karşılaştığınız haberlerle gündeme katkı sağlamak isterseniz #YazılımGündemineMalzeme etiketini kullanabilirsiniz.

BeğenFavori PaylaşYorum yap

#GitHub 4 saat sonra canlı yayında yeni bir ürün tanıtacak. Bu adresten izlenebilir: https://live-stream.github.com/

#YazılımGündemineMalzeme

BeğenFavori PaylaşYorum yap

Yazılım Gündemi - 4 (29 Temmuz - 4 Ağustos 2019)

< Önceki Gündem     |   29 Temmuz - 4 Ağustos 2019   |     Sonraki Gündem >

Go dili topluluğu, dile generic programlama özellikleri eklemeyi tartışıyor

C# yazdığım zamanlardan hatırladığım kadarıyla generic programlama terimi, tipi belli olmayan fonksiyon parametreleri tanımlamak için kullanılıyordu. Örnek vererek daha iyi anlatırım:

C++'da generic programlama ile şu şekilde bir yapı kurabiliyoruz.

template <typename T>
class Liste {
  // sınıf içeriği
};

Liste<Hayvan> hayvan_listesi;
Liste<Araba> araba_listesi;

Bu yapının avantajı hem bizi kod tekrarından kurtarıyor, hem de işimizi kolaylaştırıyor. Bu yapı sayesinde, atıyorum bu listelerin içeriklerini yazdırmak istersek, parametre olarak T alan bir fonksiyon kodladığımızda, o fonksiyona bu listelerin ikisini de gönderebiliyoruz.

Go dili topluluğu da, bu özelliği Go diline Contracts ile eklemeyi konuşuyor. İlgili tavsiye sayfasında detaylıca anlatılmış.

Ruby on Rails 6.0.0 RC2 yayınlandı

Bu yılın başlarında 6.0.0 beta1 sürümü duyurulan popüler Ruby framework sistemi Ruby on Rails, bu hafta içerisinde 6.0.0 rc2 sürümünü duyurdu.

6.0.0 sürümü ile gelecek özelliklerden bazıları şunlar:

  • Action Mailbox
  • Action Text
  • Çoklu veritabanı desteği
  • Paralel test çalıştırma desteği

Diğer özellikler için bu sayfayı ziyaret edebilirsiniz.

Windows Terminal ön izleme sürümü v0.3 duyuruldu

Uzun bir süredir geliştiriciler tarafından pek tercih edilmeyen Windows, artık bazı şeyleri değiştirerek geliştiricileri kendine çekmeyi planlıyor gibi. Bunlardan biri de o eski hantal, kullanışsız ve özelleştirme desteği çok az olan terminal uygulaması. Bir süredir Microsoft'un bu uygulama üzerinde çalıştığını biliyoruz. Zaten duyurdukları ilk ön izleme sürümü de bu değil. Bu ön izleme sürümü ile gelen bazı yeni özellikler şu şekilde:

Taşınabilir başlık çubuğu

Bu özelliği anlamadım önceden pencere taşınamıyor muydu yani, yeni mi geldi? İlginç.

https://devblogs.microsoft.com/commandline/wp-content/uploads/sites/33/2019/07/draggable.gif

Sekmeler kısmındaki açılır menünün yeri değişmiş

Eski sürümde böyleyken:

Bu hale gelmiş:

Diğer özellikler için konu başlığındaki bağlantıya tıklayabilirsiniz. Açıkcası bir terminal sever olarak Windows'a yeni modern bir terminal arayüzü gelmesine sevindim fakat bu saatten sonra GNU/Linux tarafından tekrar Windows'a geri dönmem çok zor. Yine de Windows üzerinde çalışan arkadaşlar adına sevindim.

Firefox 68 ile gelen yeni CSS özellikleri

Firefox tarayıcısının bu ay başında duyurulan 68 numaralı sürümü ile bazı yeni CSS özellikleri de kullanıma açılmış. Bunlardan birisi şu şekilde:

::marker ile listelerin maddelerini özelleştirme

Bildiğimiz gibi HTML'de iki çeşit liste tipi var. Birisi ul, yani Unordered List (Sırasız Liste); diğeri ise ol, yani Ordered List (Sıralı Liste). Artık bu çeşit listenin de madde işaretlerini CSS ile özelleştirebileceğiz. Şöyle ki:

ul ::marker {
    color: hotpink;
}

ol ::marker {
    color: blue;
    font-size: 200%;
}

Sonuç işe şu şekilde oluyor:

Diğer CSS özellikleri için bu sayfayı ziyaret edebilirsiniz.

Bootstrap 3 desteği sonlandırıldı

Aslında bu geçen haftanın haberi fakat gözden kaçmış ama yine de değinmeden geçmek istemedim. Tasarım cahili bir back-end developer olarak çok işime yaramış, kendisiyle nice siteler hazırlamıştım fakat artık Bootstrap 3 sürümü emekliye ayrılıyor. Artık güvenlik güncelleştirmeleri de gelmeyecek.

Bootstrap ekibi yeni uzun dönem desteklerini (LTS) Bootstrap 4 sürümü ile devam ettireceklerini duyurdu.

Elveda Bootstrap 3…

Diğer Haberler

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

---

Yazılımın herhangi bir alanı ile ilgili karşılaştığınız haberlerle gündeme katkı sağlamak isterseniz #YazılımGündemineMalzeme etiketini kullanabilirsiniz.

BeğenFavori PaylaşYorum yap

Yazılım Gündemi - 1 (08-14 Temmuz 2019)

< Önceki Gündem     |   08-14 Temmuz 2019   |     Sonraki Gündem >

Merhabalar,

TeknoSeyir'de en çok severek tükettiğim içerikler gündem değerlendirmeleri (teknoloji, oyun ve bilim), özellikle de Haftalık Gündem Değerlendirmesi videoları. Her ne kadar teknoloji ile ilgili haberleri değerlendiriyor olsalar da, hitap ettikleri sadece yazılımcılar olmadığı için programlama ile ilgili konulara fazla değinilmiyor. Ben de gün içerisinde sıkça HackerNews ve Reddit'deki programlama kanallarını takip ettiğim için durdum ve dedim ki "e niye ben yapmıyorum bu gündemi de, zaten bu tarz haberleri okumaya vakit ayırıyorum hem kendim için bir arşiv olur hem de teknoseyir'deki yazılımcı arkadaşlara faydalı olur" ve işte karşınızda bu haftanın yazılım gündemi.

Öncelikle şunu söylemeliyim ki: Bu gündem bütün bir haftada olan her şeyi kapsama garantisi vermiyor. Karşıma çıkan haberlerden seçmeler yaparak, ilgilendiklerimi yorumlayarak; pek bilgim olmadığı ya da değinilecek pek bir şeyinin olmadığı konuları ise maddeler halinde yazarak yayınlayacağım bir seri olacak. Dolayısıyla yazılımın her alanını, tüm konularını kapsamamı beklemeyin ama elimden geldiğince çeşitli alanlardan maddeler toplamaya çalışacağım. Bir hevesle başlıyorum bakalım umarım devam ettirebilirim.

Sizler de gündeme katkı sağlamak isterseniz yazılımın herhangi bir alanıyla ilgili karşılaştığınız haberleri #YazılımGündemineMalzeme etiketi ile paylaşabilirsiniz. Etiketi takip edip oradan da haberleri eklemeye çalışacağım.

Silikon Vadisi sponsorluğunda hazırlanan Yazılım Gündemi başlıyor...

strong_password isimli Ruby kütüphanesinin arka kapı içerdiği ortaya çıktı

CVE Numarası: CVE-2019-13354

Tute Costa isimli kişi tarafından keşfedilen bu arka kapı sayesinde saldırgan pastebin.com üzerinde tuttuğu bir kod parçasını çalıştırıyor ve sızdığı web sitelerinin adreslerini öğrenmek için de özel bir alan adına GET isteği ile birlikte sızılan web sitesinin URL adresini gönderiyor. Ruby ile yazılmış popüler web framework sistemi olan Ruby on Rails'in de bir modülünde bu kütüphanenin kullanılması güvenlik açığının boyutlarını büyük hale getiriyor. Açığı bulan kişinin yaptığı araştırmaya göre, bu kütüphaneyi geliştiren kişinin rubygems.org kullanıcı bilgileri çalınmış ve kütüphane saldırganın hesabına geçmiş. Zaten bu nedenden dolayı github'daki sürümler ile rubygems.org'daki sürümler uyuşmuyor. Bakıldığında github deposunda böyle bir kod bloğu gözükmüyor ama rubygems.org'dan indirilen dosyalarda gözüküyor. Durumun farkına varıldığında rubygems.org sitesi kütüphaneyi eski sahibine iade etti ve zararlı kod parçaları kütüphaneden silindi. Açıktan etkilenmemek için yapmanız gereken strong_password kütüphanesini kullandığınız her projede 0.0.8 sürümüne geçmeniz.

Kütüphanenin geliştiricisinin tahminine göre rubygems.org'daki kullanıcı bilgilerinin çalınmasının nedeni başka birkaç sitede de kullandığı parola ile aynı olması ve 2 adımlı doğrulamanın aktif olmaması -gerçi geliştirici bu hesabı açtığında rubygems.org sitesi 2 adımlı doğrulama desteklemiyordu, o konuda üzerine gitmek yanlış olur sanırım. Buradan çıkarılacak çok ders var. Kullandığınız 3.parti kütüphanelere o kadar güvenmemek gerektiği, her yerde aynı şifreyi kullanmamak ve adımlı doğrulamayı açmak gerektiği ilk aklıma gelenler. Başka bir tartışma konusu da projelerimizin artık kocaman bir "Bağımlılık Cehennemi"ne (Dependency Hell) dönüşmesi. En ufak ihtiyaçlar için bile hemen 3.parti kütüphanelere, araçlara başvurmamız. Bunun başka bir örneğini Azer Koçulu 'nın leftpad olayında yaşamıştık [konuyla ilgili kendisinin de konuk olduğu bu podcast'i mutlaka dinlemenizi tavsiye ederim]. Bakalım geliştirici camiası olarak ne zaman dersimizi alacağız.

Trajikomik bir durum daha: Eğer Türkiye'deki sunucularda çalışan ve bu arka kapının olduğu bir Ruby on Rails siteniz varsa, muhtemelen bu açıktan etkilenmiyorsunuz çünkü pastebin.com sitesi ülkemizde 2012 yılından beri yasaklı. Hükumetimiz sağ olsun web sitelerimizin güvenliğini de düşünüyor (!).

Flutter 1.7 sürümü duyuruldu

  • Yeni uygulamalar için AndroidX desteği
  • OpenType zengin tipografi özellikleri
  • Oyun kontrolcüsü desteği
  • RangeSlider aracı
  • Android App Bundles
  • Yeni örnekler ve dokumanlar
  • iOS üzerindeki yazı düzenleme özellikleri gelişti
  • 1250'nin üzerinde issue kapatıldı

Go programlama dili topluluğu, dilin web sitesinden Google logosunu kaldırmayı tartışıyor

Daha doğrusu tartışamıyor desek yeridir. Çünkü Google çalışanları Github üzerindeki tartışmayı yorum yapmaya kapattı ve tartışmak isteyenleri mail listesinden devam etmeye çağırdılar. Google çalışanının argümanı "biz bu konuyu kendi içimizde konuştuk ve Go diline yatırım yapan, para harcayan ve destekleyen bir şirket olduğumuz için logo'nun kalmasına karar verdik" tarzında bir söylem oldu. Kaba tabirle "parasını verdik koyarız logo" demeye getirseler de topluluğun argümanı şu şekilde oluyor: "Go dilini sadece Google desteklemiyor, birçok destekleyen, yatırım yapan şirket var. O zaman onların da logoları eklensin".

Üstelik bu, google ile go topluluğu arasındaki ilk tartışma da değil. Daha önce de Google firmasının Go dili üzerindeki otoritesi şu yazı ile sorgulanmış ve ardından HackerNews ve Reddit gibi platformlarda tartışma devam etmişti. Bu seferki tartışma da yine Reddit gibi platformlarda devam ediyor.

Tekelleşen ve "Evil Corp" olma yolunda hızla ilerleyen Google önümüzdeki zamanlarda daha çok tartışılmaya devam edecek gibi duruyor.

TechEmpower, Web Frameworks Benchmarks Round 18 yayınlandı

TechEmpower isimli firma belirli periyotlarda sürekli tekrarlanan, açık kaynak olarak da paylaşılan performans testleri yapıyor. Toplamda 201 tane framework sistemini test etmişler. Sonuçları biraz inceledim, açıkcası benim de ismini hiç duymadığım onlarca framework var. İsmini bildiklerim az sayıda, kullandıklarım ise bir elin parmaklarını geçmez o yüzden tabloyu pek yorumlayamıyorum. Çoğu kategoride ilk sıralarda olanlardan hiç birini duymuş ya da kullanmış değilim. Bunu sizin ilginize bırakıyorum.

QuickJS JavaScript Motoru Yayınlandı

Fabrice Bellard isimli kişi tarafından yazılan bu JavaScript motoru küçük  ve gömülebilir (embeddable) olmasıyla öne çıkıyor. Ayrıca ECMAScript 2019 özelliklerinin tamamını destekliyor. Benim de ilgimi çekti ve indirip, derleyip, denedim. 2-3 dakika sürdü derlenmesi. Daha sonra şöyle küçük bir örnek yaptım. JavaScript'den çalıştırılabilir dosya elde etmek beni etkiledi fakat tam olarak kullanım senaryosu nasıl olur bilemedim. Dokümantasyon

https://teknoseyir.com/wp-content/uploads/2019/07/7e0703e36d0cbdd.png

QuickJS denemesi

Uzak git deposu SourceHut, "Code Annotations" özelliğini duyurdu

SourceHut, %100 açık kaynak uzak Git ve Mercurial deposu barındırma hizmeti veren bir site. Aynı zamanda hata takip (issue tracker), e-posta listeleri ve continuous integration sistemleri de mevcut.

Henüz sadece Go ve C dillerini (Python için de çalışıyormuş) destekleyen bu özellik sayesinde bir fonksiyonun nerede tanımlandığını ya da tam tersi fonksiyonun nerelerde kullanıldığını görebileceğiz. Örnek [C], Örnek [Go], Dokümantasyon.

Geliştiricisi, "Favori programlama diliniz ile ilgili daha fazla şey öğrenmek için güzel bir hafta sonu projesi olur" diyerek diğer diller için de topluluktan destek beklediğini açıkladı.

Diğer Haberler

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

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