28 Ocak 2016 Perşembe

Jira da Confluence

Daha evvel JIRA'yı tanıtıcı birçok blog yazmama rağmen yine Atlassian firmasının bir ürünü olan Confluence'dan detaylı bir şekilde hiç bahsetmemiştim. Bu blogumda, bence dünyanın en iyi Wiki uygulaması olan Confluence'u anlatmaya çalışacağım.

Confluence'un organizasyonunuza sağlayacağı katma değeri anlayabilmek için öncelikle Wiki kavramından haberdar olmanız gerekiyor

Wikis in Plain English

Confluence aslında http://en.wikipedia.org gibi implementasyonları bulunan açık kaynak wiki uygulamalarının daha kurumsal, daha yetenekli olan bir versiyonu.

Confluence kısaca bilgi, doküman, haber, vs. paylaşım portal'ı. Confluence'u kullanarak ister şirketinizin web sitesini hazırlayabilir, isterseniz ürünlerinizin dokümantasyonunu yapabilirsiniz. Tabii ki tüm bunları sanki Microsoft Word kullanıyormuşsunuz gibi zengin ve kullanımı çok kolay bir arayüzle gerçekleştirebilirsiniz. İsterseniz aşağıdaki linkteki kısa video'yu izleyerek Confluence ile neler yapabileceğinizi hemen görebilirsiniz.

http://www.atlassian.com/software/confluence/videos/overview/overview.jsp


Confluence'un diğer wiki uygulamalarından ayrılan en temel özelliklerini de şu şekilde sıralayabiliriz:




1)
Confluence'un en çarpıcı özelleklerinin başında sayfa hazırlamanın kolaylığı gelmektedir. Sayfalarınızı ister wiki editörü isterseniz de WYSIWYG editörü kullanarak hazırlayabilirsiniz. Ayrıca bu sayfaların sadece istediğiniz kişiler tarafından görülmesini ve değiştirilmesini sağlayabilirsiniz.



2)
Atlassian'ın tüm ürünlerinde olduğu gibi Confluence da Java tabanlı olup her işletim sisteminde ve veritabanında çalışmaktadır. Demo amacıyla son versiyonunu indirip 5 dakika içerisinde çalışır hale getirebilirsiniz. Confluence'un kullanımı olduğu kadar kurulumu ve yönetimi de çok sade ve kolaydır. (Confluence Kurulum Dokümanı)


3)
Confluence'un küçükten büyüğüne her müşteriye aynısını uyguladığı, kullanıcı bazlı çok basit bir lisanslama modeli vardır. 25 kullanıcılı bir lisans 1200$ iken sınırsız kullanıcılı lisans ücreti 8000$'dır. Eğer ticari bir firma değilseniz ve açık kaynak bir uygulama için kullanacaksanız o zaman hiç bir lisans bedeli ödemeden Confluence'u kullanabilirsiniz.
Confluence bir çok dış sisteme çok rahatlıkla entegre olabilmektedir. Örneğin RSS pluginleri sayesinde Confluence'u RSS Reader veya Feeder olarak kullanabilirsiniz. (Örnek bir RSS Reader sayfası) Ya da SOAP veya XML-RPC servislerini kullanarak kendi geliştirdiğiniz uygulamaları Confluence ile entegre edebilirsiniz. Benim favorilerim arasında ise Confluence-JIRA entegrasyonu yer almaktadır. (Örnek bir Confluence-JIRA entegrasyonu sayfası)


4)Confluence, düşük lisans bedeli, daha fazla müşteri felsefesi ile satışa sunulduğu için dünya üzerinde 65 ülkede 3200'den fazla firmada kullanılmaktadır. Bu da ürünün daha fazla test edilmesine ve gelişmesine neden olmaktadır. Confluence her ay çıkan sürümleriyle (ve sorunsuz güncellemeleri ile) beklentilerinizi daha oluşmadan karşılamaktadır. Herhalde, IBM dahi Confluence kullanıyor desem, ürünün kalitesi hakkında bir ipucu vermiş olurum.





5)

Confluence'un harika bir dokümantasyonu mevcuttur. Organizasyonunuzda herhangi biri Confluence'un kurulumunu ve yönetimini yapabilir. Bir sorun yaşadığınızda herhangi bir firmadan destek almanıza gerek kalmaz. http://confluence.atlassian.com/display/DOCve de http://jira.atlassian.com/browse/CONF adresleri ihtiyacınız olan tüm desteği sağlayacaktır.


6)

Confluence'un müşterileri tarafından da geliştirilen ve sürekli büyüyen harika bir Plugin Kütüphanesi mevcuttur. Pluginler sayesinde Confluence'un yetenekleri sürekli artmaktadır. İsterseniz siz de kendi pluginlerinizi yazabilirsiniz. Confluence'un en güçlü yanlarından biri olan plugin olayına sonraki bloglarımda daha detaylı değineceğim.


7)

Confluence'un görselliği yüksek ve çok çeşitli metin formatlama özellikleri vardır. Sayfalarınızdaki java, sql, xml gibi farklı yapıdaki yazıları, farklı görünecek şekilde formatlayabilirisiniz. Bu da yazılarınızın kullanıcılar üzerindeki etkisini arttıracaktır. (Formatlı Yazı Örneği)

8)

Confluence'un Apache Lucene tabanlı harika bir arama motoru vardır. Confluence içinde yer alan herhangi bir bilgi attach'lenmiş word veya excel içinde dahi olsa mutlaka listelenir.
Share:

Jirada Temel Kavramlar (CONFLUENCE,GREENHOOPER,BAMBOO,FİSH EYE,CRUCİBLE)


JiRA:                     Hata Ve Takibi

CONFLUENCE:      Wiki Uygulaması

GREENHOOPER:   ÇEİVK PROJE YÖNETİMİ

BAMBOO:                     Sürekli Entegrasyon

                           Bir Build Hata İle Karşılasırsa Kolayca 

                           Çözmeyi Saglar
                           

FİSH EYE:                Kaynak Kod Gezgini

CRUCİBLE:               Kod Çalışmalarını İnceleme
     
                           Hataları Erken Farketmeyi Saglar

                           Temiz Kod İmkanı Sunar   

CLOVER:              Kod Kapsam Analizi..Hangi Kısım Test 

                                             Kodunda Hangi Kısım Zayıf Hangi Kısım 
   
                           Saglam Gösterir.Test Kalitesini artırır
 
                           Statement Coverage:Hangi Statementler

                           in çalıştıgını Gösterir

                           Branch Coverage:Kontrol ifadelerinde

                                        Hangi olası Yolların İncelendigini                        
                         Gösterir

                         Method Coverage:Hangi methodların                               
                        çalışıp hangilerinin  Çalışmadıgını Gösterir
                                              
      

                          

                          

a) Issue : 




JIRA'nın en temel yapı taşıdır. JIRA'daki tüm işler birer issue olarak açılır ve tüm sistem bu issue kavramı üzerinde çalışır. JIRA'nın en kuvvetli özelliklerinden biri de issue'ların projelere ve tiplerine göre özelleştirilebilir olmasıdır. Issue'lara standart özelliklerinin yanında başka fonksiyonalite de yükleyebilirsiniz. (What is an Issue?)




b) Project :



 JIRA'da iş akışlarınızı sınıflandırmanın en iyi yolu proje kullanmaktan geçer. Farklı konular, farklı ekranlar, farklı iş akışları, farklı haklar, farklı kullanıcılar vs. için her seferinde yeni bir proje kullanabilirsiniz. Örneğin bir Yazılım Projesi, Yardım Masası, Gereksinim Yönetimi, Ürün Satışı, vs. JIRA projesi olabilir. Projelerinize alt gruplar tanımlayabilir, Sürüm Yönetimi için bir versiyonlama sistemi kullanabilirsiniz. Ayrıca her proje için ayrı bir iş akışı, ayrı bir ekran, ayrı bir güvenlik tanımı, ayrı bir bilgilendirme sistemi vs. tanımlayabilirsiniz. (What is a project?)

c) Workflow : 




JIRA'nın standart iş akışı bir çok projeniz için yeterli gelse de, eğer isterseniz mevcut workflow'u değiştirerek veya sıfırdan bir workflow yaratarak çok kompleks bir iş akışı tanımlayabilirsiniz. Web arayüzlü harika workflow editörü, çok rahat ve basit bir kullanım kolaylığı sağlar. (Understanding Workflow)



d) Dashboard :




 JIRA'nın en güzel yanlarından biri de kişiselleştirilebilir bir giriş sayfasının bulunmasıdır. Giriş ekranını, farklı projeler için farklı portlet'ler, filter'lar, raporlar, vs. ile donatabilirsiniz. Bunlar için de hiç bir Admin'e ihtiyaç duymazsınız. (Configuring the Dashboard)

e) Search : 





JIRA'nın çok gelişmiş bir arama motoru vardır. Bu iş için altyapısında, meşhur bir açık kaynak kütüphane olan Apache Lucene'i kullanır. Arama kriterleri arasında, sonradan eklediğiniz özelleştirilmiş alanlar dahi otomatikman yer alır. Çok sık yaptığınız arama filtrelerini kaydedebilir hatta diğer kullanıcılar ile paylaşabilirsiniz. (Saving Searches 'Issue Filters')

f) Reporting : 





JIRA'da standart olarak çok kullanışlı rapor şablonları mevcuttur. Ama istersenizJIRA Plugin Development desteği sayesinde kendi detaylı raporlarınızı hazırlayabilir ya da diğer JIRA severlerin hazırlayıp tüm dünya ile ücrestiz olarak paylaştığı raporları kullanabilirsiniz. (Multi-dimensional reporting)


g) Sub-Task :




 Farzedin takip etmeniz gereken bir konu var ama alt detayları henüz tam kesinleşmemiş. Kesinleşen kısımlarını da başkalarının takip etmesi gerekiyor. Fakat üst yönetim işin bitişini sizden bekliyor. İşte bu tip durumlarda JIRA'daki sub-task özelliği çok işe yarıyor. Size atanmış bir issue'nun alt issue'larını da siz başkalarına atayıp, işin tamamını tek bir noktadan takip edebiliyorsunuz. (Creating a sub-task)

h) Issue Linking :



 JIRA'da biribirileriyle alakalı işler link özelliği sayesinde çok rahat takip edilebilirler. İstediğiniz sayıda farklı bağımlılık tipi (depends, duplicates, etc.) oluşturabilirsiniz. Issue linkleme sayesinde sizden iş bekleyen birisinin, elinizdeki işi neden yapamadığınızı ifade etmeniz kolaylaşır. (Linking Issues)

i) Watching : 



JIRA'daki Watcher kavramı sayesinde hakkı olan herkes bir issue'ya kendisini veya başkasını herhangi bir anda ekleyebilir. (Kimin eklediği bilinmez) Bir issue'daki tüm gelişmeler Watcher listesindeki herkese anında ulaştırılır. Bu sayede konuyla alakalı olmak isteyen herkesin tüm gelişmelerden anında haberdar olması garantiye alınmış olur. (Voter and Watcher Lists)
Share:

Jira Proje İzleme ve Rapor Oluşturma

Proje Izleme
1.Rapor Oluşturma
JIRA ürününüz, 10 entegre edilmis, her türlü projeniz icin olusturabileceginiz raporlar ile geliyor.
Nasil yapabilirim?
1. Yukaridaki navigasyondan projeyi secin
2.Sag üst kösede yer alan Raporlar’a tiklayin
3.Istediginiz rapor tipini secin
Share:

27 Ocak 2016 Çarşamba

Jira Yazılım Geliştirme

Yazılım Geliştirme
1. Backlog’larinizi Greenhopper’de organize etme
Greenhopper plan tahtasi ile Sürükle & Birak yöntemi yardimiyla yayinlama icin talepleri organize edebilirsiniz.
Nasil yapabilirim?
1.Yukaridaki naviyasgon sekmesindeki Agile’den Planning Board’i secin.
2.Yayinlamak istediginiz talepleri secin.
3.Sag tarafta yer alan yayinlanan versiyonu veya henüz yayinlanmamis versiyonu secin.
4. Plan tahtasindan kartlari sürükleyin.

Share:

JIRA CÖZÜMLERI

JIRA CÖZÜMLERI

Jira bir hata takip programidir ama sayısız özelleştirme seçenekleri sayesinde pek cok farkli alanlar icin de kullanilabilir. Asagida en popüler 3 özelligini detayli olarak bulabilirsiniz.













Hata Takibi








1. JQL arama filtresi ile zor konuları bulun
JIRA’nin en önemli özelliklerinden biri derin arama fonksiyonudur. Demo örnegini birkac talep ile doldurursaniz talepleri bulmac icin JQL Sorgu dilini kullanabilirsiniz.
Nasil yapabilirim?
1.Üst gezinti çubuğunda Sorunlar bağlantısını tıklayın
2. “Yeni sekme”yi secin.
3. Gelismis arama icin bir link varsa ona tiklayin.
4. Metin kutucuguna sorgunuzu girin.
Örnek Sorgular
assignee = currentUser() AND status not in (Resolved,Closed)
Size atanmis cözülmemis veya kapatilmis tüm konulari verir
issuekey in votedIssues()
Oy kullandiginiz tüm konulari verir
reporter != currentUser() and issuetype != Bug
Tarafinizdan bildirilmeyen ve tipi Bug(hata) olmayan tüm konulari verir
Share:

Jira Talep(İssue) Nedir?JIRA Calisma Alani keşfetme

Bir talep nedir?
JIRA farkli organizasyonlarda farkli sekillerde kullaniliyor. Sahip oldugunuz organizasyona dayanarak bir talep, herhangi bir yazilim hatasi, proje görevi, tatil basvurusu vs.. olabilir.















JIRA Calisma Alani keşfetme

Giris yaptiginizda göreceginiz ilk ekran Dashboard’ur. Üst kisimda kullanimi kolaylastiran menüler yer aliyor. Üst taraftaki navigation sekmesi her JIRA sürümünde aynidir.






Share:

Nedir Bu Jira Yenirmi ? İçilirmi?Sağlığa Faydaları ?


JİRA : Projelerimizin Belli Bir Hayat Dögüsü İçinde Takibi YönetimiRaporlamasının Yapılmasını Saglayan  Kurumsal Yapımıza Göre Yapılandırabildiğimiz Java Platformunda Geliştirilmişi Bir Web  Tabanlı AraçtırJirada Kendi Pluginlerimizi Eklem Gibi Özelliklerde Desteklemektedir 


Jira'nın özellikleri

1. Web tabanlıdır.
2. Kullanımı kolay ve rahattır.
3. Değiştirilebilir özel filtrelere sahiptir.
4. Ayarlanabilir iş takip grafiklerine sahiptir.
5. Kullanıcıyı bilgilendiren otomatik bildiri e-postaları gönderebilmektedir.
6. Karmaşık hataları ve çözümleri, düzenli bir şekilde bulmamızı kolaylaştırır.
7. İşletme ihtiyaçlarına göre genişletebilirdir.

Jira ile neler yapabilirsiniz?

1. İş takibi,
2. Proje yönetimi,
3. Hata takibi,
4. İş akış yönetimi,
5. Yazılım proje yönetimi,
6. Düzeltilmesi gereken hataların önem düzeyinin belirlenmesi,
7. Zaman ve kaynak planlaması,
8. Plugin alt yapısı sayesinde işletmenize uygun pluginler yazılıp kullanılabilir.
9. Dünya çapında 23.000’in üzerinde firma tarafından kullanılmaktadır.

Jira'nın temel özellikleri

1. Jira ortak kullanıma uygun bir çalışma alanına sahiptir.
2. Jira’da kuruluşunuzdaki hiyerarşi için belirli bir işin sorumlusunun kim olduğunu öğrenmenizi, atamanızı sağlayan bir alan mevcuttur.
3. Jira’nın bir diğer özelliği de kişiselleştirilebilir iş akışlarıdır. Tüm ekipler kendi ideal çalışma şekillerini inşa eder ve JIRA onların verimli bir şekilde ayarlanmasını sağlar.
4. Jira'da her işin geçmişini öğrenmek kolaydır çünkü JIRA iş alanları üzerinde yapılan güncellemeleri veya iş akışı durumları arasındaki geçişler gibi değişikliklerin her birini kayıt altında tutar.


Kaynak: http://jira.nedir.com/#ixzz3yWDL9PMZ
Share:

HtmlRAw Nedir

eger stringimizin icinde html kodları var ve site bunu yorumlasın istersek html.raw Kullanırız




@{
  Layout = null;
}
@{
  string adsoyad = "
Ali";    //eger stringimizin icinde html kodları var ve site bunu yorumlasın istersek html.raw Kullanırız
  @Html.Raw(adsoyad);
}
Share:

Razor View Engine ,HttpUtiliy,HtmlEncode,HtmlDecode ,Tarih Formatlama

  • Asp.net web Formda <% %>   kullanılırken Razor View Engine de @ kullanılır .
  • Açıklama satırı   //   veya  @* ...*@  arasına yazılır  ..Bu açıklama Satırı sitede kaynagı Görüntüle Deyince Görünmez Sadece  Sunucuda Göürünür 
  • Razor View Engine C# kodları  @{...}  arasına yazılır 
  • kodlar arasında degisken tanımladık yazdırmak icin başına @ konur 
      string ad="süleyman";
     @ad
  • @:   bosluk bıraktırmaya Yarar
  • Html Kodları arasına yazabiliriz
  • Link verme işlemi iki sekilde olur    @html.action("yazı","hangi action","hangi controllerdaise")
Bu anasayfa hakkımızdaya gecis icin link 




       Diger Yolu ise Yazı


        @Html.ActionLink("Hakkımızda","About","Home")    
 //Hakkımızda linki olusturur About actionunu Home controollleri altından cagır demek 

Bu  hakkımızdadan anasayfa gecis icin link 


  • Html Encode: Sifreler      HtmlDecode:Sifreyi Çözer


  string baslik = "Süleyman Kabadayı";


  string baslik1 = HttpUtility.HtmlEncode(baslik);   //Stringi Şifreledik
  string baslik2 = HttpUtility.HtmlDecode(baslik1);  //Şifreyi Geri Çözdük



  • Tarih formatlama da:  
mesela tarih 02.01.2015 olsun

dd : dersek 02   yi yazar günü 
ddd: dersek hangi günse kısaltıp yazar ÇAR gibi
dddd: dersek ÇARŞAMBA diye Günü Yazar

mm :Dersek ayı yazar 01 diye 
mmm: dersek ayı kısaca yazar OCA diye 
mmmm:dersek ayı Tam Yazar OCAK diye

Share:

MVC de Controller,Model Oluşturma,INLINE KODLAMA,VİEW ENGİNE Nedir?


  • MVC oluşturma New->Project->Web->Asp.net Web Aplication->MVC
  • Controller:Model ile View Arasında Haberleşmeyi Saglar    Solution Explorerda Bulunan Controlller->Add Diyerek Yeni Bir Controller Ekleriz
  • Model:İşlerim Gercekleştigi Kısımdır..Solution Explorerda Model->Add ->Class
  • View :Ekrana Gösterme İşlemidir..Sayfa İçin oluşturuılan Controllera Sag tıklayıp Addview Diyoruz.....index.cshtml oluşur İçine Yazmak İstedigimizi Yazarız İNDEX ,TİTLE vesaire
  • Veri Alım Verim Sırasında Netin Yavas Olması Yüklrnme Sıkıntı oluyorsa Burada XML yerine JSON kullanılır
  • INLINE KODLAMA: HTML Kodları İçerisine C# Kodları Yazmaktır
  • HTML istemci ,C# Sunucu Tarafında Çalışmaktadır...İşte c# Kodlarını Html olarak  Sunma Teknolojisi VİEW ENGİNE dır
Share:

MVC İle Tanımlar, KavramLar


  • Microsoft Kodları MSIL ile ortak Bir Dile Çevirip Tek Çatı Altında Birleştirip Sonra akine Diline Çevirir
  • MVC PATTERN Büyük Çaplı Projeleri Geliştirme ve Yönetim Desenidir
  • ASP.Net Web Form ->Even Driven Programmindir(Olay Güdümlü)  ..MVC->TDD Temellidir
  • New File Dedik  Karsımıza Gelen Ekranın Sag Alt Köşede ADD TO SOURCE CONTROL diye Bir Tik Var Bunu İşaretlersek TeamFoundation Servera Bağlanır 
  • Team Explorer   TFS kullanılarak Geliştirilen Projelerin Yönetimini Saglayan Bölümdür
Share:

25 Ocak 2016 Pazartesi

Queue Oluşturma,Mesaj Gönderme ,Mesaj Alma (msgget,msgsnd,msgrcv)






     //QUEUE OLUŞTURMA    
int open_queue( key_t keyval )
{
        int     qid;

        if((qid = msgget( keyval, IPC_CREAT | 0660 )) == -1)
        {
                return(-1);
        }

        return(qid);
}

   // NOWAİT OLUŞTURMA(Nowait Eger Que Dolu İse Sistemin Beklemesini Saglar.
bu süredede sürekli kontrol Edilir Kuyruk Boşaldımı Diye)






//MESAJ GÖNDERME 


int send_message( int qid, struct mymsgbuf *qbuf )
{
        int     result, length;

  /* The length is essentially the size of the structure minus sizeof(mtype) */
        length = sizeof(struct mymsgbuf) - sizeof(long);        

        if((result = msgsnd( qid, qbuf, length, 0)) == -1)
        {
                return(-1);
        }
        
        return(result);
}



//MESAJI ALMAK


int read_message( int qid, long type, struct mymsgbuf *qbuf )
{
        int     result, length;

/* The length is essentially the size of the structure minus sizeof(mtype) */
        length = sizeof(struct mymsgbuf) - sizeof(long);        

        if((result = msgrcv( qid, qbuf, length, type,  0)) == -1)
        {
                return(-1);
        }
        
        return(result);

}
Share: