Nazir Doğan Code Blog

2015 Tizen'nin Yılı Olacak Mı ?

| Comments

Geçtiğimiz günlerde Samsung ,Tizen işletim sistemine sahip TV'leri duyurdu. Daha öncedende kameralarında ve akıll saatlerinde yer vermişti. Tizen projesini takip eden birçok beklediği akıllı telefonları ise TV'leri duyurmasına müteakip piyasaya sürdü.

Samsung'un blogunu incelerseniz 2015'te kameraların ,giyilebilir teknolojilerin ve TV'lerin Tizen işletim sistemine sahip olacağını anlayabilirsiniz.

Bunun yanı sıra Samsung CEO'su BK Yoon bu seneki CES fuarında Samsung'un bütün ürünlerinin 5 yıl içerisinde  IoT (Internet of Things) yani Nesnelerin İnternetine hazır cihazlar olacağını söyledi. Bundan anlayacağımız Tizen işletim sistemini bütün cihazlarında kullanarak stratejik öneme sahip bir yere getirmeyi amaçlanmaktadır.

Peki Tizen neden önemli derseniz ?

Şu an piyasaya hakim olan işletim sistemi Android olsada birçok kişi bazı teknik nedenlerden ve Google hakimiyetinden dolayı memnun değil. Tizen  hafif yapısı sayesinde daha az güç , daha az hafıza tüketimi   ve daha akıcı bir deneyim hedeflemektedir.

Ayrıca HTML5  uygulama geliştirmeye destek verdiği için web teknolojilerini kullanarak native uygulama geliştirilebilmektedir.

Aynı uygulamayı araç içi sistemlerden akıllı telefonlara birçok sistemde ufak defek CSS dokunuşları ile uyumlu halde çalıştırabilmektedir.

Tizen'nin en büyük eksikliği şu an için geliştirici eksikliği gibi görünüyor. Umarım Samsung  işletim sisteminde ısrar ederek geliştiricilere güven verirse  Tizen'nin geleceğin mobil işletim sistemi olmamasına hiçbir engel yok. Tabi ki diğer rakipler dışında :)

Not: Tizen Linux vakfı tarafından geliştirilen bir proje olsada bu projenin en büyük destekçisi Samsung ve Intel'dir.

Arduino Için Sublime Text Eklentisi: Stino

| Comments

 

Bu yazımda birçok yazılım geliştiricinin vazgeçilmez araçlarından biri olan Sublime Text için Arduino ekletisinden bahsedeceğim. Arduino'nun bir geliştirme ortamı varken neden böyle birşeye ihtiyaçımız olabilir diyebilirsiniz. Evet Arduino'nun bir geliştirme ortamı mevcut ama büyük dosyalarda ve büyük projelerde sıkıntılı olmaktadır. Ayrıca kod tamamlama gibi özelliği  yoktur. Stino eklentisi ise Arduino ortamının bütün özellikleri ve daha birçok ekstra özelliği size kazandırmaktadır. Bunun yanı sıra Sublime Text kullanıyorsanız tek bir geliştirme ortamında ve Sublime Text'in güçlü özelliklerini kullanacagınız bir ortama sahip olmuş olacaksınız.

Bu kadar lak lak ettikten sonra şimdi asıl işimize geçelim. Stino'yu yüklemek için iki tane yazılıma ihtiyacımız var. Aslında isminden de anlaşılacağı üzere  Sublime+Arduino=Stino yani Sublime Text ve Arduino programlarının birleşimi oldugu için bu ikisi bilgisayarımızda olması gerekmektedir.

Sublime Text

Sublime Text ücretli bir text editör olsa da ücretsiz olarak kullanabilirsiniz.

Arduino

Yukarda verdiğim linklerden indirip kurduktan sonra  Stino'yu buradan indiriyoruz. Stino şu anki versiyonununda sadece manuel olarak yüklenmektedir.

Yüklemek için ise Sublime Text'i açıyoruz. Üst menüden

Preferences->Browse Packages

tıkladığımızda  Sublime Text'in paketlerinin bulunduğu bir klasör açılacaktır. Buraya indirdiğimiz .zip dosyasının içinden Stino' yu buraya çıkarıyoruz.

Selection_178

Bu işlemi yaptıktan sonra  Sublime Text'e geri döndüğümüzde  Arduino menüsü  menü çubuğunun en sonuna gelecektir.

 

Workspace 1_181

-usr-share-arduino-examples-1.Basics-AnalogReadSerial-AnalogReadSerial.ino • (AnalogReadSerial) - Sublime Text (UNREGISTERED)_183

 

Stino projesi gelişme aşamasında olmasına rağmen oldukça kullanışlı özelliklere sahip.Bunların hepsinden bahsetmemiz elbette mümkün değil. Açık kaynak bir proje olduğu için indirin deneyin. Özelliklerini kendiniz keşfedin. Unutmadan Stino Github sayfasını verelim. Sonra nerde bu Stino diyenler olabilir :)

 

 

Geliştiriciler Için en Iyi 10 Javascript Template Engine

| Comments

Bu yazımda Javascript geliştiricilerine oldukça kolaylık sağlayan Javascript Template engine'larını topladım.

 

1) Jade

Jade,yüksek performanslı ve mükemmel API'si ile Node.js için tasarlanmış bir template engine'dir.

Jade - Template Engine - Chromium_065

2) Mustache

Mustache kendinisi için "logic-less "  terimini kullansada oldukça  kullanışlıdır. Mustache ile HTML sayfaları,config dosyaları ve kaynak kodları için kullanabilirsiniz.

 - Chromium_066

3) Transparency

Transparency  DOM'a  data-binding yapan  istemci  tarafında kullanılan bir template engine'dir.Transparency  IE9 +, Chrome, Firefox, iOS, Android ve diğer mobil tarayıcılar ile uyumludur. IE8 için  jQuery gerektirir.

Try Transparency - Chromium_067

4) Underscorejs

Underscorejs javascript ile fonksiyonel programlamayı kolaylaştırmak amaçlı geliştirilen bir kütüphanedir.

Underscore.js - Chromium_068

5) Embeddedjs

Embeddedjs  Javascript ile HTML'inizi  daha temiz hale getiren istemci taraflı bir template'dir.

EJS - JavaScript Templates - Chromium_069

6) doT.js

doT.js  en hızlı ve yalın  Node.js ve istemci tarafı için kullanılabilen  bir template engine'dir.

doT.js - the fastest and concise javascript template engine for Node.js and browsers - Chromium_070

7)  Handlebarsjs

Handlebarsjs  semantik template'ler oluşturmanızı sağlayan bir templeate engine'dir.

Handlebars.js: Minimal Templating on Steroids - Chromium_071

8) T.js

T.js html / xml verileri göstermek için basit bir Javascript veri yapısını kullanan bir template engine'dir.

gcao-T.js · GitHub - Chromium_072

9) Dustjs

Dustjs Node.js ve   istemci tarafı için  kullanılan bir template engine'dir.

Dustjs by linkedin - Chromium_073

10) Nunjucks

Nunjucks blok miras, autoescaping, makro, asenkron kontrol vb. özelliklerine sahip JavaScript için daha sofistike template engine'dir.

Nunjucks - Chromium_074

 

AngularJS Nedir ? Ve Merhaba Dünya Uygulaması

| Comments

AngularJS  istemci(client-side) tafarında kullanılan bir Javascript framework'udur.AngularJS  tek sayfa (single page ) uygulamalar geliştirmek amacı ile tasarlanmıştır.

Angular.js 'de Merhaba Dünya

<!DOCTYPE html>
<html ng-app>
<head>

    <title>Simple app</title>
    <meta charset="utf-8"></meta>
    <script
            src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.min.js">
    </script>
</head>
<body>
<input ng-model="name" type="text" placeholder="Birşey girin">
<h1>Merhaba </h1>
</body>
</html>

Örnegimiz oldukça kolay. Dikkat edilmesi gereken iki şey var birisi html tag'ine yazdıgımız ng-app diger ise input tagına yazdığımız ng-model

Çıktı ise  söyle olacaktır.

Screenshot from 2014-07-25 00:00:43

(yazı güncellenecektir)

 

 

Ubuntu'ya Node.js Kurulumu

| Comments

 

Node.js  hızlı ağ uygulamaları geliştirmek için sunucu tarafı için kullanılan bir Javascript platformudur.Hem Front-end de hem de back-end tarafında Javascript yazılarak daha tutarlı uygulamalar yazmak amaçlanmıştır.

Bu yazımda Node.js ne olduğundan değil başlıktanda anlaşılacağı üzere Ubuntu üzerine nasıl kurulum yapacağız ondan bahsedeceğim.

Node.js Ubuntu repo'larında bulunmaktadır. Termial'de aşagıdaki kodu yazdıktan sonra Node.js 'in son sürümü yüklenecektir.

sudo apt-get update
sudo apt-get install nodejs

Daha sonra  ise  Node package Manager yani npm'e ihtiyaçınız olacağı için onuda yükleyin

sudo apt-get install npm

PPA (Personal  Package Archive ) kullanarak yükleme

Chris Lea'nin tarafından sağlanan paket için ise gerekli kod

sudo add-apt-repository ppa:chris-lea/node.js

PPA'yi ekledikten sonra

sudo apt-get update
sudo apt-get install nodejs

Daha sonra ise npm için

sudo apt-get install npm

 

Daha sonra ise  yüklenip yüklenmediğini kontrol için node.js ve npm in versiyonunu kontrol edebilirsiniz.

Screenshot from 2014-07-21 23:38:28

 

Kolay Gelsin.

 

 

Ubuntu üzerinde Cocos2d-js Ile Mobil Oyun Geliştirme

| Comments

HTML5 her geçen gün dahada güçlenerek heryere girmesiyle birlikte herşey artık çapraz platform olmaya başladı.Güçlenen browserlar ve javascript engine'lar sayesinde daha iyi uygulamaları görüyoruz ve görmeye devam edeceğiz. Cocos2D-Js daha önceden duymuştum .pek ilgilenme vaktim olmamıştı.

Cocos2d-js Cocos2d-x ekibi tarafından geliştirilen browser'da ve android ve ios platformları için oyun geliştirecebileceginiz bir framework.isminden de anlaşılacağı üzere Javascript yazılan bir framework.

Lafı fazla uzatmadan kuruluma geçelim .Çünkü Cocos2d-js ile detaylı bilgiler internette bolca mevcut.

Cocos2d-JS Structure-2.png

Cocos 2d-js adresinden  Download  v 3.0 beta(şu an ki versiyon)  olanı  seçip indiriyoruz.

Zipli dosyayı herhangi bir yere çıkarttıktan sonra

setup.py  çalıştırdıktan sonra
cocos     scriptini çalıştırın.

$ cd cocos2d-js
$ ./setup.py
$ source FILE_TO_SAVE_SYSTEM_VARIABLE

$ cocos new MyGame -l js -d /directory/to/project
$ cd /directory/to/project/MyGame
oyunu çalıştırmak için  ise : cocos run -p web

Son olarak editor olarak benimde favorim olan WebStorm'u kullanabilirsiniz.Debug ve kod tamamlama açısından gayet başarılı.

Screenshot from 2014-06-09 23:25:01

Screenshot from 2014-06-09 23:26:58

 

Ubuntu 14.04 üzerinde Tizen IDE Yeni Proje Oluşturma Problemi

| Comments

Tizen IDE Ubuntu 14.04 üzerine kurulu ise muhtemelen bu hatayı alacaksınızdır(gelecekte düzeltilebilir). Sorun ise yeni proje oluştururken IDE'nin kapanması  .

Çözüm ise oldukça basit

Tizen sdk içindeki Ide klasörürün içindeki eclipse.ini dosyasının sonuna aşagıdaki scripti eklemek.

 

[gist id = "d69655d8e0a940e3b04b" file = ""]

Kolay gelsin

Arduino'yla Socket üzerinden Yılan Oyunu

| Comments

Bu yazımda ise Bir Arduino ile Joysctick kontrolü ve Socket.io kullanarak  basit bir yılan oyunu nasıl kontrol edilir  ondan bahsedecegim.

Elimde bir tane keyes joystick mevcut.(Arduino ile haşır neşir olanlar bilebilir).

fotoğraf

Arduino Bağlantısı ise  söyle

(SW )- 2
VRX- A0
VRY-A1
GND-GND
5V -5V

Bagladıktan sonra app.js index.html ve package.json'ı ArduinoSnakeNode adlı bir klasör oluşturup içine kaydedin.
arduino.ino dosaysınıda Arduino'ya yükleyin.

[gist id = "892488d1a2fb14df9bfd" file = "app.js"]
Screenshot from 2014-06-01 17:47:29
Video(Tost makinesi ile çektim ) biraz kötü ama iş görür yinede :)
http://www.youtube.com/watch?v=0WuekIWsX68

Arduino Toprak Nem Sensörü

| Comments

watersensorBu yazımda da Arduino için Su sensörünu basit bir örnekle anlatacağım.
Sensörün baglanması oldukça basit
(+) -5v
(-) -GND
(S) -A0

 

bagladıktan sonra aşagıdaki kodu yükleyin.Serial Monitorden izleyebilirsinz.

https://gist.github.com/nazrdogan/906ba3a6e04bcc1226de
http://www.youtube.com/watch?v=_TxVLhSFBNU

Arduino RFID Modülü

| Comments

10413221_1428326937430396_965054233_n

Bu yazımda başlıktanda anlaşılacağı üzere RFID (RC522) okumayı oldukça basit bir şekilde göstercem. Bu kütüphaneyi Arduino kütüphaneleri arasına ekledikten sonra yapmanız gerekenler oldukça kolay.

Eger Arduino Uno kullanıyorsanız pinout söyle olmalı

MOSI: Pin 11 / ICSP-4
 MISO: Pin 12 / ICSP-1
 SCK : Pin 13 / ISCP-3
 SS : Pin 10 (Configurable)
 RST : Pin 9 (Configurable)

Arduino Mega kullanıyorsanız

MOSI: Pin 51 / ICSP-4
MISO: Pin 50 / ICSP-1
SCK : Pin 52 / ISCP-3
SS : Pin 53 (Configurable)
RST : Pin 5 (Configurable)



RFID'yi bagladıktan sonra  tek yapmanız gereken Arduino'ya kodu yüklemek

https://gist.github.com/nazrdogan/68508f3e0707c86e13b9
Biraz uğraşla belki Akbil'i hacklebilirsiniz. :)

Screenshot from 2014-06-01 12:07:22