Drupal 7 katılımcıları listesi yayımlandı

GVS (Groving Venture Solutions) bloğunda Drupal 7 katılımcıları listesi yayımlanmış. Listeye göre benim de 25 commit notunda adım geçiyor (19 tanesi mustafau, 6 tanesi de mustafu olarak).

http://drupal.org/drupal-7-released adresinden alınmıştır.

 

Reklam

Project Coin

Project Coin kapsamında JDK çekirdek sınıflarında ilk güncelleme yapıldı. Bu güncelleme ile JDK çekirdek sınıfları Diamond operatörünü kullanır hale geldiler.

--- a/src/share/classes/java/lang/String.java   Wed Jun 30 16:11:32 2010 -0700
+++ b/src/share/classes/java/lang/String.java   Mon Dec 20 13:47:04 2010 -0800
@@ -2330,7 +2330,7 @@ public final class String
int off = 0;
int next = 0;
boolean limited = limit > 0;
-            ArrayList<String> list = new ArrayList<String>();
+            ArrayList<String> list = new ArrayList<>();
while ((next = indexOf(ch, off)) != -1) {
if (!limited || list.size() < limit - 1) {
list.add(substring(off, next));

Cloud hosting nedir?

Geleneksel hosting işinde hosting firması müşterisine bir sunucu kiralar. Bu sunucuda koşacak olan işletim sistemi, uygulama sunucusu ve veritabanı sunucusu müşteri tarafından kurulur. Bütün güvenlik prosedürlerinin uygulanması müşterinin sorumluluğundadır. Ziyaretçi sayısı arttığında clustering yapmak müşterinin sorumluluğundadır. İşletim sistemini, uygulama sunucusunu ve veritabanı sunucusunu güncellemek müşterinin sorumluluğundadır.

Cloud hosting işinde ise müşterinin tek sorumluluğu kendi uygulamasını kodlamaktır. Bunun dışında müşteriye başka bir sorumluluk bırakılmaz. Uygulamasının hangi sunucu üzerinde çalışacağını, hangi SQL veritabanını kullanacağını, işletim sisteminin ne olacağını müşteri bilmez. Müşteri hosting firmasına yalnızca war (ROOT.war) dosyasını emanet eder. Güncelleme ve cluster işlemleri tamamen otomatize edilmiştir.

Cloud servislerinde varsayılan Java kütüphaneleri değiştirilmiş ve bazı özelliklere erişim kısıtlanmıştır. Örneğin dosya sistemi ve socket işlemlerine izin verilmez veya kısıtlı erişim sağlanır (yalnızca kendi uygulamasının bulunduğu dizine erişim gibi). Yazılımcı klasik Java Logging API‘sini kullanır fakat arka planda loglar dosya sistemi yerine merkezi log sunucularına iletilir. Müşterinin kendi loglarına web üzerinden erişimi sağlanır. Cron benzeri job queue API’si sağlanır. Resim ve video gibi SQL veritabanına yazmanın uygun olmayacağı veriler (blob) için özel servisler sağlanır. SQL veritabanına alternatif olarak NoSQL ve key/value store servisleri sağlanır.

Ben Java web uygulamaları için özelleştirilmiş cloud servisinin resmini çıkardım. Bu cloud servislerinin Java’ya veya web uygulamalarına has olduğu anlamına gelmez. C ile geliştirilmiş uygulama çalıştırmak için özelleştirilmiş cloud servisi de olabilir. Nasıl olacağını okuyucunun hayal gücüne bırakıyorum.

Notlar

Her zaman bazı istisnai durumlar olabilir. Örneğin aşırı titiz bir müşteri için dedike servis sağlanabilir. Böyle bir müşteriye uygulamasının diğer müşterilerden ayrı bir ortamda çalışacağı garanti edilirken, diğer müşterilerin kullanamadığı servisler sağlanmaz.

Cloud hosting sağlayıcıları

http://en.wikipedia.org/wiki/Category:Cloud_platforms

Reported by Mustafa ULU

Mart 2008’de rapor ettiğim bu güvenlik açığı Ekim 2009’da giderildi.

SA-CONTRIB-2009-081 – Abuse – Cross Site Scripting

The Abuse module enables users to flag nodes and comments as offensive, bringing them to the attention of the site maintainer for review. The module suffers from a Cross Site Scripting (Cross Site Scripting) vulnerability. Such an attack may lead to a malicious user gaining full administrative access.

O zaman gönderdiğim e-posta

Abuse module displays flagged nodes in a moderation queue without applying filters (without calling node_view) on them.

Module version: abuse 5.x-1.x-dev at (http://drupal.org/node/123349)

Steps to reproduce:

  • Install abuse.module.
  • Enable flagging of any content type at “admin/settings/abuse” page.
  • Flag a node by using “Flag as offensive” link on “node/#nid” page.
  • Go to “admin/content/abuse” page. Under any tab one can see unfiltered node contents.

Keyifli bir okuma: Yazılım Geliştirme Süreçleri – 1

Çarklar

Amerikada yakın zamanda Jr. Software Architect olarak işe başlayan birisinin ilk izlenimini anlattığı yazısını paylaşıyorum.

Yazarın Hakkımda sayfasında yazdığı şu cümlelere kısmen katılıyorum:

“Eskiden programlama dilleri benim amacımdı. Özellikle C ve C++ dili konusunda uzmanlaşmak istiyordum. Şu an biliyorum ki, tüm programlama dillerinin canı cehenneme. Diller sadece bir araç. Önemli olan programladığımız alet her ne ise onun inceliklerini anlamak, o makineyi analiz etmek, ve çalışması için gerekli olan koşulları yerine getirmektir.”

https://www.hasanozgan.com/2009/08/yazilim-gelistirme-surecleri-1

Java Day 2009’dan haber veren yok mu?

Bugün bunu yaptım ama şunu yapmayı unuttum tarzı yazılarla dolu olan blogküre gerçekten blog yazarlığından habersiz görünüyor.

Sun Microsystems 25 Haziran günü İstanbul’da Java Day 2009 organizasyonunu düzenledi. Blog yazarlarımız bu etkinliği günler öncesinden haber verdiler fakat kendileri etkinliğe katılmayı unuttular. Yukarıda alıntıladığım, Bildirgeç’te yayımlanan şu yazının giriş cümlesinin ne kadar doğru olduğunu bir kere daha anımsadım.

Blogküre‘de Java Day aramasında çıkan sonuçlardan sadece ikisi etkinlik sonrasında yazılmış. Onlar da blog değil portal tarzı sitelerden geliyor. Bir tanesi kaliteli içeriğe sahip. 3 tane röportaj yayımlamışlar; [1], [2], [3].

Bir tane de FriendFeed canlı yayını bulabildim.