Skip to content

Commit

Permalink
Add-blog-post
Browse files Browse the repository at this point in the history
  • Loading branch information
Leyla Kapi committed Mar 21, 2014
1 parent 17a9f2b commit 1427829
Show file tree
Hide file tree
Showing 7 changed files with 255 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Kurumiçi Eğitim - Ahmet UREL - XAF ile kütüphane yazılımı
date: 2013-05-14 21:21 UTC
tags:
---

Firma olarak kurum içi eğitimlerimizi artık İnternet ortamında video olarak paylaşmaya karar verdik. İlk videosunu yüklediğimiz eğitim, Ahmet UREL tarafından anlatılan, XAF ile kütüphane yazılımı konulu eğitimdir. Amacımız farklı disiplinler hakkında bilgi sahibi olmaktır.

XAF (eXpress Application Framework), .NET platformunda DevExpress firması tarafından geliştirilen bir MVC uygulamasıdır.

Örnek projede anıtılan modül ve kavramlar:

* Model ve view'ları sıfır kodla ve aynı ekranda oluşturmamızı ve özelleştirmemizi sağlayan Domain Object (Model UI & Code)
* Schedular (takvim) tipinde view'lar
* State Machine kullanımı.

Örnek uygulamanın kaynak kodlarını <https://github.com/ahmetUrel/DXLibrary> adresinde bulabilirsiniz. Derlemek için MS VisualStudio 2012 ve DXperince Universal (deneme sürümü: <http://www.devexpress.com/Home/Try.xml>) gereklidir.

XAF hakkında daha ayrıntılı bilgi için: [www.devexpress.com/xaf][1] ve <http://www.devexpress.com/Products/NET/Application_Framework/demos.xml>

<iframe width="960" height="720" src="http://www.youtube.com/embed/S4cRAPjgQjg" frameborder="0" allowfullscreen></iframe>

[1]: http://www.devexpress.com/xaf

[Onur Özgür ÖZKAN](http://twitter.com/onurozgurozkan)
35 changes: 35 additions & 0 deletions source/posts/2013-05-25-yeni-bir-projeye-baslamak.html.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
title: Yeni bir projeye başlamak
date: 2013-05-25 12:31 UTC
tags:
---

Firma olarak yeni bir projeye başlarken olmazsa olmaz birkaç listemiz var. Aklıma geldikçe bu dökümanı güncelleyeceğim.

**Müşteri adına açılacak hesaplar**

* Gmail mail adresi
* Github hesabı açılması
* Mandrill hesabının açılması
* Amazon S3 hesabının açılması
* İletişim için email grubu açılması
* Facebook app gerekli ise facebook app açılması
* SSL sertifikası alınacak

**Müşteriye sorulacak sorular**

* Sosyal medya hesaplarını aldınız mı?
* Marka tescili yaptınız mı?
* Takımın gtalk, email, iletişim bilgileri sizde var mı?
* Sizin adınıza hollywood lansmanı yapalım mı?

**Ekibin yapması gerekenler**

* Proje yöneticisi sözleşme ek1'e göre github issuelardan iterasyonları ayarlar. Böylece huboard kullanılmaya başlanır.
* Müşteri ile github, huboard, çevik süreçler ile ilgili kaynaklar paylaşılır. Müşteriye kısa bir bilgi verilir.
* Stagging ve production için sunucu kurulur. Bu işlem daha ilk kod yazılması ile yapılır.

Aklıma gelenler şimdilik bu kadar önerilerinize açığım.


[Onur Özgür ÖZKAN](http://twitter.com/onurozgurozkan)
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: MySQL Veritabanının Yedeğinin Alınması ve Geri Yüklenmesi
date: 2013-05-29 12:02 UTC
tags: backup, mysql, mysqldump, restore
---

Bu yazımızda kısa kısa MySQL veritabanını yedek almak ve geri yüklemek için aşağıdaki komutları kullanıyoruz.

**Tek bir veritabanının yedeğini alma**

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
mysql -u root -p[root_password] [database_name] < dumpfilename.sql


**Bütün veritabanınlarının yedeğini alma**

mysqldump -u root -ptmppassword --all-databases > /tmp/all-database.sql


**Veritabanında tek bir tablonun yedeğini alma**

mysqldump -u root -ptmppassword database_nama table_name > /tmp/dumpfilename.sql


**Veritabanını restore etme**

mysql -u root -ptmppassword

mysql> create database sugarcrm;
Query OK, 1 row affected (0.02 sec)

mysql -u root -ptmppassword sugarcrm < /tmp/sugarcrm.sql

mysql -u root -p[root_password] [database_name] < dumpfilename.sql

[Onur Özgür ÖZKAN](http://twitter.com/onurozgurozkan)

Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: AARRR İnternet girişimleri için başarı ölçüleri
date: 2013-05-30 00:39 UTC
tags:
---

Bu yazımda internet girişimleri için başarılı olup olmadığının ölçümü için kullanılan AARRR yönetimini anlatacağım. Eğer hedef yoksa başarı veya başarısızlıkta yoktur. İnternette yapılan bir girişimin ölçülmemesi veya ölçülememesi diye bir durum yoktur. Maalesef sektörde özellikle SEO, Sosyal medya yönetimi yapan firmalardan aşağıdaki gibi cümleleri çok sık duydum.

> Sosyal medyaya yapacağınız yatırım bir halkla ilişkiler yatırımıdır ve dönüşlerini XX süreden önce göremezsiniz. Ayrıca bu dönüşleri n etkilerinide ölçemezsiniz sadece hissedebilirsiniz.
Aylık XX miktar para isteyip müşterilerine hiç bir rapor sunamayan firmalar var. Hatta bunların bir çoğu firma bile değil.

> Bizler sitenizi Google'da şu şu anahtar kelimelerde ilk sıraca çıkaracağız ancak bunun kesin bir yolu yoktur. Lakin size olan katkımızı sadece google sıralamanızdan görebilirsiniz.
Bu iki yaklaşım şahsi görüşüm olarak tam bir dolandırıcılıktır. Bugün bütün sosyal medya siteleri ve google size ölçülebilir değerler vermektedir. Yani sosyal medya hizmeti aldığınız bir firma size hem üye sayısı, hem paylaşımların kaç defa görüldüğü gibi değerleri gösterebilir. Aynı şey SEO konusu içinde geçerlidir. Gtmetric sitesi, pagerank siteleri, google indeks sayısı gibi değerler ölçülebilir değerlerdir.

Peki bir internet girişimi için böyle ölçülebilir değerlerden oluşan bir sistem kurup, internet girişiminin başarılı veya başarısız olduğunu tespit edebilir miyiz? Sistemin nerelerde başarısız olduğunu tespit ettikten sonra aksayan çarkları düzenleyebilir miyiz?

## AARRR nedir?

AARRR, Dave McClure tarafından geliştirilen 5 aşamadan oluşan ve her aşamanın ölçülebildiği bir takip sistemidir.

## AARRR aşamaları nelerdir?

1. **Acquisition - Toplama** bir şekilde hedef kitleye ulaşmak.
2. **Activation - Aktivasyon** ulaşılan hedef kitlenin siteye üye olmasını sağlamak.
3. **Retention - Dürtme** üye olan kullanıcılara geri dönüş yapılması.
4. **Referral - Referans** kullanıcıların sistemi başkalarına önermesi.
5. **Revenue - Paraya çevirme** sistemin üyelerinden para kazanılması.

![AARRR][1]

## AARRR'ın faydaları

1. Bütün ekip aynı pazarlama dilini konuşmaya başıyor.
2. Hangi aşamada nasıl bir pazarlama taktiği izleyeceğinizi biliyorsunuz, bunu tartışmıyorsunuz.
3. Hangi aşamada sistemin hangi kısmının aksadığını belirlemeniz kolay oluyor.
4. Elinizde ölçülebilir sonuçlar oluyor.

## AARRR kaynakları

**Videolar**

* [Dave McClure - Startup Metrics for Pirates: AARRR!][2]
* [Dave McClure - Startup Metrics for Pirates][3] Farklı bir sunum
* [Matt Kaplan & Alex Kieft][4]

**Sunumlar**

* http://www.slideshare.net/dmc500hats/startup-metrics-4-pirates-20-march-2011-sxsw
* http://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-long-version

**Blog Yazıları**

* http://blog.acerpro.com.tr/2012/05/dijital-pazarlamada-basarinin-formulu-aarrr/
* http://colearningbe.wordpress.com/2012/10/02/startup-retreat-custdev/

[1]: http://www.lab2023.com/wp-content/uploads/2013/05/aarrr-1009x1024.jpg
[2]: http://www.youtube.com/watch?v=irjgfW0BIrw
[3]: http://www.ustream.tv/recorded/5336115
[4]: http://www.knowledgevision.com/aarrr_metrics


[Onur Özgür ÖZKAN](http://twitter.com/onurozgurozkan)
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: Rails, Rack Middleware ve CORS (Cross-origin resource sharing)
date: 2013-05-31 11:38 UTC
tags: cors, cross-origin resources sharing, middleware, rack, rails
---

Merhaba,

Önceki geliştirdiğim projelerden birisinde oldukça zamanımı yiyen CORS konusu hakkında Rails' de bulduğum kısa çözümü sizlerle paylaşmak istiyorum.

Öncelikle CORS konusu hakkında araştırma yapmak isterseniz size aşağıdaki kaynakları önerebilirim;

* [http://en.wikipedia.org/wiki/Cross-origin_resource_sharing][1]
* <http://www.w3.org/TR/cors/>

Rails'de bu konuyu response header'ları setleyerek çözüyoruz. Bunun için bir çok çözüm mevcut ama benim gördüğüm kadarıyla en kolay ve sıkı çözüm işi rack katmanında bitirmek. Ama web sunucusu (örn: nginx) katmanında da benzer ayarlar yaparak konuyu çözebiliyorsunuz. Ben en kolay yöntem olan Rack katmanından bahsedeceğim.

`Rack::Cors` adındaki modül ile bu işlemi halletmek için önce aşağıdaki Gem'i rails projemizde Gemfile'a ekliyoruz.

`gem "rack-cors", "~> 0.2.7"`

Bundle install işleminden sonra, config\application.rb dosyamıza gidip en alt satırlarda uygun bir yere aşağıdaki satırları ekliyoruz:

config.middleware.use Rack::Cors do |requests|
requests.allow do |allow|
allow.origins '*'
allow.resource '*', :headers => :any, :methods => [:get, :post, :put, :delete, :options]
end
end


Yukarıdaki middleware katmanını ayrı bir initializer dosyası hazırlayarak da kullanabilirsiniz. Bu konu için http://guides.rubyonrails.org/rails_on_rack.html#inspecting-middleware-stack adresine bir göz atabilirsiniz.

Bu ayarları yaptıktan ve uygulamanızı yeniden başlattıktan sonra artık response header'larında aşağıdaki gibi bir çıktı görüp farklı kaynaklardan uygulamanıza istekler yapılması sağlanmış olacaktır.

Request URL: http://vidipanda-api.dev/videos
Request Method: POST
Status Code: 200 OK
...
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin: http://vidipanda-mobile.dev
Access-Control-Expose-Headers:
Access-Control-Max-Age:1728000
....


Bu konunun daha detaylı ele alınması gereken bir konu oldugunu düşünüyorum, bu yüzden ilerleyen zamanlarda imkan olursa bir makale daha çıkarmayı planlıyorum, ama siz beni beklemeyin iyisi mi aşağıdaki kaynakçaya bir göz atın...

### Kaynakça

* <http://www.html5rocks.com/en/tutorials/cors/>
* <http://www.tsheffler.com/blog/?p=428>
* <http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/>
* <http://enable-cors.org/>
* <http://remysharp.com/2011/04/21/getting-cors-working/>
* <http://rack.rubyforge.org/doc/>
* <http://railscasts.com/episodes/151-rack-middleware>
* <http://amberbit.com/blog/introduction-to-rack-middleware>
* [http://rubygems.org/gems/rack-cors https://github.com/cyu/rack-cors][2]

İyi çalışmalar.

[1]: http://en.wikipedia.org/wiki/Cross-origin%5C_resource%5C_sharing
[2]: http://rubygems.org/gems/rack-cors%20https://github.com/cyu/rack-cors

[Tayfun Öziş ERİKAN](http://twitter.com/toziserikan)

Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: Kurumiçi eğitim - Muhammet Dilek - Devise Gemi
date: 2013-06-03 23:50 UTC
tags: device, rails
---

Firma olarak kurumiçi eğitim serimizin ikincisini yaptık, video çektik ama internette yollama fırsatını yeni bulduk. Aşağıdaki videoda Muhammet DİLEK arkadaşımızın Devise Geminin videosunu görebilirsiniz. Unutmayınız bunlar internette yayınlanmak üzere screencast gibi hazırlanmış videolar değil kurumiçi bizim yaptığımız eğitimlerdir. O yüzden ciddi bir hazırlık, çok kaliteli bir video beklemeyin.

<iframe width="1280" height="720" src="https://www.youtube.com/embed/rZVo5V5NNZY" frameborder="0" allowfullscreen></iframe>

[Onur Özgür ÖZKAN](http://twitter.com/onurozgurozkan)

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: Kurumiçi eğitim - Onur Özgür ÖZKAN - CanCan Gemi
date: 2013-06-05 08:56 UTC
tags:
---

* Tarih : 24.05.2013
* Konuşmacı : Onur Özgür ÖZKAN
* Konu : CanCan Gemi

<iframe width="1280" height="720" src="http://www.youtube.com/embed/ox7mrGrwGgQ" frameborder="0" allowfullscreen></iframe>

[Onur Özgür ÖZKAN](http://twitter.com/onurozgurozkan)

0 comments on commit 1427829

Please sign in to comment.