Kağıt havlu kullanımı ile ilgili TED konuşması

Konu:

İş yerinde genellikle lavabo sonrası elleri kurulamak amacıyla kullanılan kağıt havlunun hunharca kullanıldığını gözlemledim. Açıkçası ben de bazen dikkatsizlikten gereksiz fazla kağıt kullanımı ve israfı yapabiliyorum. Genellikle kağıt havlu kullanımı sırasında da aklıma şu TED konuşması geliyor;

Eclipse'de "Cannot change version of project facet dynamic web module to 2.5" Hatası Çözümü

Konu:

Kısaca: Eclipse'te Ctrl+Shift+R tuş kombinasyonu ile org.eclipse.wst.common.project.facet.core.xml dosyasını açın, içindeki şuna benzeyen satırdaki versiyon alanını 2.5 olarak (ya da kaç olmasını istiyorsanız) güncelleyin :
<installed facet="jst.web" version="2.5"/>

ve dosyayı kaydedip kapatın.

Uzun uzun anlatmak gerekirse;

Eclipse ile Java Web projeleri üzerine geliştirme yaparken bazen Project Facets bölümündeki Dynamic Web Project versiyonunu default olarak ayarladığında asıl bize gerekli olan şekilde güncelleyemiyoruz ve

Cannot change version of project facet dynamic web module to 2.5

gibi bir hata ile karşılaşıyoruz. Bu durumda Eclipse içindeki bazı ayar dosyalarını kendimiz güncellememiz gerekiyor.

Bu dosyalardan org.eclipse.wst.common.project.facet.core.xml adlı olanın içinde jst.web adlı facet değerini değiştirdiğimizde bu sorun ortadan kalkmış oluyor.

Kaynak: http://stackoverflow.com/a/18632054/169534

AngularJS Bootcamp Etkinliğinin Ardından...

Konu:

Geçtiğimiz haftasonu AngularJS Bootcamp etkinliği için İstanbul'daydım.

İlk gün salon tıklım tıklımdı. Pek çok katılımcı koltuk yetmediği için yere oturmak durumunda kaldı ve bildiğim/duyduğum kadarıyla da pek çok kişi kalabalıktan dolayı vazgeçip geri döndü. Görünüşe ve bahsedilene göre kimse böyle bir katılım beklemiyordu.

AngularJS hakkında pek bilgili sayılmam. Yaklaşık sıfır bilgi ile etkinliğe gittim. İlk gün anlatılanlardan "directives" konusu haricindeki konular başlangıç için iyi ve öğretici oldu. Directive konusu ise bence biraz daha sonra ele alınması gereken bir mesele olabilirdi. İlk günün sonunda AngularJS hakkında fikrim ve bilgim oldu. Fakat tabii ki pek çok mevzuu havada kaldı diyebilirim.

İkinci gün ise yoğunluk (duyduğuma göre ALES'in de etkisiyle) azalmıştı. Yine de salon -yer yer boşluklar olsa da- doluydu diyebilirim. İkinci gün "Profesyoneller günü" olarak adlandırılmıştı. O gün genel olarak piyasada önemli önemli yeri olan şirketlerde çalışan geliştiricilerin AngularJS hakkındaki tecrübe ve yorumlarını dinledik.

Aslında ikinci günün içeriği daha çok, başka teknolojilerin AngularJS ile birlikte nasıl çalıştığı gibi genel bir hava olsa da bana göre AngularJS haricindeki şeylerden bahsedildi. Örneğin Serkan Sökmen'den gelen ilk sunum "Famo.us - AngularJS entegrasyonu" adı altındaydı fakat bence Famo.us anlatıldı diyebilirim. Yani AngularJS ile pek bir alakası yoktu. Diğer sunumlarda da Angular'dan ziyade diğer konular hakkında bilgi verilmiş oldu.

Bana göre her etkinlik/seminer/dersin sonunda anahtar kelimeler önemlidir. Bunlardan yola çıkarak bilgimizi arttırabilir ve tecrübe kazanırız. Bu yüzden etkinliğin detaylarına daha fazla girmeyip bana göre önemli noktalara değineceğim.

- AngularJS bir framework olarak adlandırılıyor. Genel olarak Backbone ya da jQuery ile karşılaştırılsa da, önemli fark diğerlerinin kütüphane olması. Bu yüzden diğer araçlar neyi nasıl yapacağınız hakkında daha genel şeyler sunarken Angular size bazı yolları zorunlu kılıyor.
- AngularJS zaten önemli bir trend oluşturan Single Page Application modelini benimsiyor. Bu yüzden her bir görünüm için ayrı html sayfalar yerine sitenin (ya da uygulamanın) tümü tek sayfa üzerinde çalışıyor.
- AngularJS'de Scope önemli bir yer taşıyor. Two-way-binding dedikleri olay ile, sayfada gördüğünüz ile görünenin DOM'daki karşılığı çift yönlü bağlanmış oluyor. jQuery'de selector vasıtasıyla yapılan değişiklikler yerine Angular scope'da değişikliğe giderek geliştiriciyi DOM'dan biraz soyutluyor.
- Ionic Framework ile mobil tarafında da hybrid yapıda uygulamalar geliştirmek mümkün. Tabiiki bir AngularJS etkinliğinde AngularJS ile çalışan Ionic Framework'ün performans konusunda ileri seviyede olduğu iddia ediliyor (mobil konusu benim konum değil şu anda, o yüzden iddiayı doğrulama ya da yalanlama girişimde değilim)
- NodeJS ile de back-end/sunucu taraflı uygulamalar geliştirme konusunda güzel paylaşımlar yapıldı. MEAN adlı kompil çözüme değinildi.
- Bu sırada geliştirmeler sırasında otomatizasyon sağlayan, zaman kazandıran araçlar olan Bower, Grunt ve Yeoman'dan bahsedildi. Her ne kadar üçünü de duymuş olsam da geniş kapsamlı bilgim yoktu. Anladığım kadarıyla;
-- Bower frontend/önyüz için package manager (NodeJS için NPM gibi ya da Java için Maven gibi ~ )
-- Grunt, JS için belli işlemleri (task'ları) belli zamanlarda yapan bir araç (task runner demişler)
-- Yeoman ise yeni bir projeye başlarken gerekli şeyleri hızlı bir şekilde size sunan bir araç.

- Önyüz gerekli ama arkaplanda da verilerin tutulması ihtiyacını karşılayan bazı servisler var. Bunlardan ikisi Parse ve Firebase. Parse konusunu kaçırdım fakat Firebase'den anladığım kadarıyla, veri tutmak konusunda "ne hammallık yapıcam, beyin bedava" diyerek verileri Firebase'de tutabiliyorsunuz. O kadar ki, sunucu tarafına ihtiyaç kalmayabiliyor. Bu servislerin JS adaptörleri sayesinde, istemci tarafındaki kod üzerinden verileri saklayıp okumanızmümkün hale geliyor. Uygulamanızı da istemci tarafında bu şekilde kurguladığınızda ekstra bir sunucu teknolojisine ihtiyaç duymadan uygulama geliştirebiliyorsunuz. ( http://nobackend.org/ belki de...)

- Otomasyon konusunda Grunt yanında GulpJS adlı da bir araç mevcut. Son yorumlara göre, yeni bir projeye başlayacaksanız Gulp daha çok tavsiye ediliyor.

Etkinlikle alakalı olarak da şahsi yorumlarımı çok olumsuzluğa girmeden eklemek istiyorum (evet galiba çok olumsuzluğa gireceğim);

"Bootcamp" deyince daha fazla workshop tarzı bir etkinlik bekliyordum. Elbette bu kadar katılımcıya yer ayarlamak zor fakat değil bilgisayar açmak, internetin bile olmadığı (wifi olarak katılımcılara sunulmadığı) bir ortam yürekleri burktu.

Sunumlar arasında çok iyi hazırlanılmış olanlar da vardı, (belki vakit darlığı ya da iş yoğunluğundan dolayı) hızlı geçiştirilenler de. Sonuçta sunum yapmak önemli bir mesele. Fakat belki bu şekilde bir katılım beklenmediğinden eksikler olmuş olabilir diye düşünüyorum. Etkinliğe dinleyici olarak katılmış olan Daron Yöndem de kötü bir sunum ardından sunumu eleştiren bir twit atmaktan kendini alamamış. (kaynak vermiyorum ki heyecanla araştırın :p )

Kötü manada söylemiyorum, çok sağlam bir VNGRS reklamı gördük. Tabii ki etkinlik organizatörü olarak kendi kimlikleriyle ön plana çıktılar, yapılan işi takdir ediyorum. Fakat bir taraftan da bakınca olaylar AngularJS etrafında değilmiş de konuşmacıların konuşacakları konulara zoraki olarak AngularJS sıkıştırılmış gibi göründü gözüme.

Neyse daha fazla olumsuz yorum yapmak istemiyorum :)

Bunun yanında ikramlar güzel düşünülmüştü, öğle yemeği zamanı pizza verilmesi gibi noktaların ince görülmüş olması sevindiriciydi (beleş peşinde koşuyor olabilirim ama ana mevzu bu değil :) )

Tüm etkinliğin sonunda, AngularJS konusunda gayet gaza gelmiş bir şekilde Ankara'ya ulaştığımda yazılım konusunda fikirlerine çok değer verdiğim bir arkadaşım Angular'ın vaktinin artık geçtiğini ve yeni trendin Facebook'un geliştirdği React olduğunu söyledi. Bu sayede zaten iş yoğunluğundan kısa zamanda kaçacak olan hevesimin/gazımın kaçmasına hız kazandırmış oldu, kendisine teşekkür ediyorum :)

Yazıda yanlışım ya da eksiğim varsa düzeltirseniz memnun olurum. Eklemek istediklerinizi de yazabilirsiniz.

Görsel kaynaklarım:
https://twitter.com/topukluyazilimc/status/536085393574469632
http://publications.factorynine.co/en/workflow-of-a-lazy-webdeveloper-an...

AngularJS Bootcamp 22-23 Kasım'da İstanbul'da

Konu:

Google'ın desteklediği Javascript kütüphanesi olan AngularJS konulu bootcamp bu haftasonu yani 22-23 Kasım'da VNGRS girişimiyle İstanbul YTÜ Beşiktaş Yerleşkesi, Oditoryum'da, üstelik ücretsiz.

Detaylar: http://bootcamp.vngrs.com/

Ücretsiz Kayıt: http://www.eventbrite.com/e/angularjs-haftasonu-bootcamp-etkinligi-ticke...

PL/SQL Komut Satırında Çıktı (Sonuç) Görüntülemek

Oracle veritabanı kullanıcısıysanız PL/SQL komut satırında (Command Line) bazı sonuçları görüntülemek isteyebilirsiniz. Bunun için dbms_output.put_line() fonksiyonu kullanılır.

Bazı araçlarda bu fonksiyonu kullandığımız halde sonuç görüntülenmeyebilir. Bu durumda serveroutput değişkenine on değerini atamamız gerekir.

SQL> set serveroutput on

Örneğin bir prosedür sonucunda "hosaf.org" yazdırmak istersek aşağıdaki şekilde yazmamız gerekecektir;

SQL> set serveroutput on
SQL> declare
  2    v_line varchar2(40);
  3  begin
  4    v_line := 'hosaf.org';
  5    dbms_output.put_line (v_line);
  6  end;
  7  /

hosaf.org
 
PL/SQL procedure successfully completed.

Bilgi kaynağı: http://www.dba-oracle.com/concepts/displaying_pl_sql_output.htm

Sayfalar

Subscribe to hoşaf.org RSS