Ubuntu'da Nodejs ve Npm kurulumu

Konu:

Etiketler:

Benim gibi arayıp bulmakta zorlanan bünyeler için yazıyorum. Kaynak şu adres: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

Yapılacaklar;

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

Yeni Yıl Kutlu Olsun

Akıntıya karşı yüzmek tehlikelidir bazen.

Akıntıyla yüzüp kurtulmak mümkündür derler.

Yeni yıl kutlu, mutlu ve huzurlu olsun.

10gen'den MongoDB Eğitimi

Konu:

Birkaç hafta önce MongoDB'nin yapımcı şirketi 10gen, ücretsiz MongoDB eğitimleri başlattı. Eğitimleri education.10gen.com adresine üye olarak alabilirsiniz. Videoları izliyorsunuz, arada quiz'ler karşınıza çıkıyor. Hafta sonunda da ödevleri yaparak eğitim almış oluyorsunuz. Eğitimler iki grup halinde: Veritabanı yöneticileri için (DBA) MongoDB, Geliştiriciler için MongoDB. DBA'liğe pek ilgi duymadığım için başlangıç olarak geliştiriciler için olan eğitime katılmaya karar verdim. Bayram, hastalık ve iş yoğunluğu dolayısıyla yeterince hızlı gidemiyor olsam da, mümkün olduğunca eğitim videolarını izlemeye çalışıyorum. Geliştiriciler için olan eğitimlerde yazılım dili olarak Python tercih edilmiş. Scripting dili olduğu için ve MongoDB'nin yapısı itibariyle JSON'a yakınlığı sebebiyle Pyhton'ın seçildiği söyleniyor. Bu sayede yavaş yavaş Python da öğrenmeye başladım. Müsait olabilirsem DBA tarafına da bakmak istiyorum.

Şimdiye kadar nerdeyse sıfır MongoDB bilgisine sahip olduğum için öğrendiğim birkaç noktayı buraya yazmak istiyorum;

  • MongoDB JSON kullanıyor. Web tabanlı yazılım geliştiricilerinin kolaylıkla anlayabileceği ve kullanabileceği bir yapısı var.
  • İlişkisel bir veritabanı olmadığı için Join ve Transaction desteği yok. Bunları tamamiyle unutabiliriz.
  • Tablo yapısı yok, Schemaless, yani bir nevi iskeletsiz bir yapısı var. Geleneksel olarak bildiğimiz şekilde sütunların bulunmadığı fakat objelerin özelliklerinin bulunduğu bir yapı diyebiliriz. Bu sayede tablo sütunlarına sıkışmıyoruz. Birden fazla özellik gerektiğinde tablo yapısını tümden değiştirmek, yeni bir sütun eklemek gibi şeyler yapma ihtiyacımız olmuyor.
  • Index yapısı var fakat henüz bu konuya değinilmedi.
  • Ayrıca Mongo'dan alakasız olarak;

  • Python'da for yapısı bildiğimiz üçlü grup for(i=0;i<foo;i++) değil, foreach yapısıymış ( for i in items ).
  • Önce Play Framework'de gördüğüm route'lu web yapısının pek çok dilde standart olarak bulunduğunu NodeJS framework'lerinden Express ve Python framework'ü olan Bottle'da görerek anladım.
  • Bu gibi eğitimler, yenilikler, araçlar, frameworkler ve teknolojiler ufkumuzu geliştiriyor, farklı bakış açılarına sahip olmamızı sağlıyor. Bu bakımdan çok faydalı. Herkese tavsiye ederim.

Bundan başka, Mongo hakkında hiçbir fikriniz yoksa 15-20 dakikada Mongo'yu görerek tanıyabileceğiniz interaktif bir tutorial var: http://tutorial.mongly.com/tutorial/index

Ubuntu VPS İçin Yapılacaklar Listesi

  1. Yeni kullanıcı oluştur
  2. Ubuntu VPS kurulumu sonucunda size bir root kullanıcısı verilecek. Ubuntu için root aslında siz istemediğiniz sürece verilmeyen bir kullanıcı. Ancak VPS için illa ki bir root kullanıcısı üretilir ve bu kullanıcının şifresi size verilir. Root kullanıcısını SSH bağlantısı için kullanmak bir güvenlik açığı oluşturacağı için root ile değil, sudo yetkilerine sahip başka bir kullanıcı ile bağlantı sağlamak uygun olacaktır. adduser komutu ile yeni kullanıcı oluşturulur.
    adduser yenikullanici

  3. Yeni kullanıcıyı sudo grubuna ekle
  4. Kullanıcıyı oluşturduktan sonra bu kullanıcıya sudo yetkileri vermek için sudo grubuna eklemek gerekiyor. Yine adduser komutu ile yeni kullanıcıyı sudo grubuna ekliyoruz.
    adduser yenikullanici sudo

  5. Yeni kullanıcı için sudo yetkileri kontrolü yap
  6. Yeni eklediğimiz kullanıcının sudo yetkilerine gerçekten sahip olduğunu kontrol etmek üzere root üzerinden yaptığımız SSH bağlantsını kapatıp yeni kullanıcı ile bağlanalım ve birkaç sudo gerektiren komut girelim. Böylece yetkileri kullanabildiğimizden emin olalım.

  7. root için SSH erişimini kapat
  8. Yeni kullanıcı sudo yetkilerine sahip olduğuna göre artık root kullanıcısının SSH bağlantısını kapatmak ve SSH sunucusunu yeniden başlatmak gerekiyor.
    Dikkat: Eğer yeni kullanıcı ile sudo yapılamıyorsa, root'u SSH'a kapattığınızda VPS'e SSH bağlantısını sudo yetkileri ile yapabileceğiniz başka bir kullanıcı olmayacağı için tüm sunucuyu kaybetme riskiniz var. (Tecrübe konuştu. Uyarıldınız.)
    SSH yapılandırma dosyası /etc/ssh/sshd_config . Bu dosyadaki şu satırı buluyoruz:
    PermitRootLogin yes
    Bu satırın anlamı root kullanıcısının SSH bağlantısı yapabilmesidir. Buradaki yes yerine no yazarak root'un SSH bağlantsı yapmasını engelliyoruz:
    PermitRootLogin no
    Artık root ile değil, diğer sudo yetkili kullanıcı ile SSH bağlantısı yapacağız.

JBoss AS7.1'de "JBAS014676: Failed to parse configuration" Hatası

Konu:

Madvens uyardı:

JBoss Server 7.1 No enum const class java.util.concurrent.TimeUnit.MİLLİSECONDS hatası

Gösterdiği çözüm yöntemi Eclipse için. Fakat eğer JBoss'u standalone ya da domain olarak kullanmak istiyorsanız işler değişiyor. Bu hatanın sebebi, anlaşılacağı üzere Türkçe karakter problemi. Temel sistem konfigürasyonunuz Türkçe fakat JBoss bunu doğrudan alıp kullanmaya çalıştığı için MİLLİSECONDS'daki i harfleri de büyüyor ve hata oluşuyor. Bunu çözmek için çalıştırdığınız conf.bat dosyasının (örneğin standalone çalıştırıyorsanız standalone.conf.bat) Java options ayarlarının bulunduğu uygun bir yere şu satırı eklemek:

set "JAVA_OPTS=%JAVA_OPTS% -Duser.language=en"

Daha önce OrientDB için de benzer bir sorunla karşılaşmış ve bunu OrientDB geliştirici grubunda paylaşmıştım. Onlar da bunu dilden bağımsız şekle getirmişlerdi. JBoss da belki bunu yapabilir.

Sayfalar

Subscribe to hoşaf.org RSS