Volkan Atasever
Software Specialist Diary

SQL Server ile Otomatik Yedekleme (Maintenance Plan)

Cuma, 31 Ekim 2008 02:24 by Admin

Bu dosyayı PDF olarak çekebilirsiniz. SQL Server 2005 üstünde otomatik yedeklemeyi görsel öğelerle anlatmış olduğum teknik bir makale.

Otomatik Yedekleme.pdf (449,04 kb)

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

MOSS 2007 Nedir ? Ne Değildir ?

Cuma, 31 Ekim 2008 01:46 by Admin

2008 Ekim Notu: Eski sitemde yazdığım bir yazı hala geçerliliğini korumakta. MOSS 2007 teknolojisi üstünde fazla bir çalışmam olmamasına rağmen Microsoft S2B Sharepoint eğitimi kapsamında bir bilgi deneyimim ve kullanma şansım olmuştur bu çalışmalarımı evden yürütmeme karşın piyasaya bir iş yapmış değilim. Piyasadaki araştırmalarım doğrultusunda kurumsal bazda  daha fazla kullanıldığını söyleyebilirim. Her zaman bu yolun seçilmesi belki maliyetli olabilir ama kaçınılmaz durumlarda da  hem yazılımcının hemde ekibin iş yükünü azalttığı bir gerçek. Çok fazla sayıda olmasada sağlam diyebileceğimiz firmalar bu teknolojiyi firmalara önermekte. Microsoft Zirve 2007'de MOSS üstünde çok fazla durulmuş idi. Meyvelerini verdiğini söyleyebilirim fakat Nezih Tınas ve Evren Ayan dışında çok aktif olan bir başka kişi ve bilgi paylaşımı yapan kişiyede rastlamadığımı söylemeden edemeyeceğim.

   Son zamanlarda adından sıkça sözettiren MOSS 2007 programlamaya ve yazılıma gönül vermiş kişiler tarafından sıkça araştırılan bir konudur. MOSS 2007 üzerinde yazılım geliştiren kişilerin azlığıda bunu tetiklemektedir. Öncelikle MOSS un açılımı üzerinde duracak olursak Microsoft Sharepoint Server 2007’nin kıslatması olduğunu göreceğiz.            Peki neden MOSS bizim için önemli ? MOSS ile duymaya başladığım WSS ve Workflowlar üstüne eğileceğim bu makalemde MOSS’a giriş seviyesinde bir bilgi aktarımı yapmış olacağım. MOSS 2007 yi aradığınızda WSS diye bir terimle karşılacaksınız ve bu uygulmanın ücretsiz olduğu için indireceksiniz. Fakat bu uygulama bir server uygulaması olduğu i,çin standart bir windows işletim sisteminde çalışmayacaktır. WSS’i MOSS 2007’nin kısıtlı bir versiyonu olarak düşünebiliriz.            Orta veya büyük ölçekli firmalarda MOSS bir devrim yaratmaktadır. Adı üstünde paylaşımlı servisler kullandığı için bir firmanın bütün ihtiyaçlarını karşılayabilmektedir.            Bu ihtiyaçlar neler olabilir?            Döküman yönetimi ve takibi.            Workflowlar.            Site koleksiyonları ve siteler.            Office Entegrasyonu.            Customize edilebilen yapısı.

Şahsi fikrim olarak saydığım bu birkaç kelime MOSS 2007 nin en önemli özelliklerinden olup en çok kullanılabilecek kısımlardır. Tabiki bununlada kısıtlı değil.

İsterseniz MOSS 2007 nin yapısını bir grafikle irdeleyelim;   Grafiktende görebileceğiniz gibi yapılabilecekleri 6 temel başlıkta inceleyebiliriz.

1-) Collaboration (İş birliği, Beraber Çalışma)           

Burada basit yönleri ile bloglarınızı tutabilir, Outlook ile entegre bir şekilde çalışabilirsiniz. Günümüzdeki popülerliği artan wiki leride bu bağlamda oluşturabilirsiniz.

2-) Business Intelligence (İş Zekası)           

Excel çalışma sayfaları ile belgeleri görselleştirebilir bunları export edebilir. Web Partslar oluşturabilirsiniz. KPI ile çalışanların patronlara sunabileceği anlaşılabilirlik açısından çok önemli olan kırmızı yeşil ve sarı simgelerle şirketinizin durumunu dakikalar mertebesinde yöneticinize sunabilirsiniz.

3-) Business Processes

4-) Content Management (İçerik yönetimi)           

Entegre döküman yönetimi yapabileceğini gibi MOSS ile birlikte gelen versiyonlama gibi hizmetlerden yararlanarak dökümanların son halini her zaman elinizin altında tutarsınız.

5-) Search (Arama)           

Kompleks bir arama yapısı ile istediğiniz dökümana, kişiye ve bilgiye anında ulaşabilirsiniz.

6-) Portal           

Portallar sayesinde site oluşturabilir bu sitede blog tutup wikiler yaratabilirsiniz. Aynı zamanda şirket içi olan olaylardan anında haberdar olup anketleri cevaplayabilirsiniz.

Central Administrator’dan bir görüntü;

 

Bu ekrandan MOSS ile ilgili işlemlerinizin %40 ‘ını halledebilirsiniz.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Dinamik olarak PowerPoint Sunusu oluşturmak

Çarşamba, 29 Ekim 2008 05:53 by Admin

       Yine C# ile yazılmış küçük ve kullanışlı bir uygulama bir soru üstüne internetten bulmuştum bu kodu. Güzel bir uygulama gerçekten. eğer uygulamanızda dinamik bir şekilde powerpoint sunusu oluşturmak isterseniz işe yarıyor. Fazla söze gerek yok deneyimli geliştiricelerde çoğunlukla az söz çok iş derler :) Bu sınıfı kullanarak veya biraz daha geliştirerek iyi iş çıkartabilirsiniz. Kolay gelsin. 

 

using System;
using System.Collections.Specialized;
using Microsoft.Office.Core;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;

namespace MSPPTApp
{

 public class PPTAuto
 {
  PowerPoint.Application objApp;
  PowerPoint.Presentations objPresSet;
  PowerPoint._Presentation objPres;
  PowerPoint.Slides objSlides;
  PowerPoint._Slide objSlide;
  PowerPoint.TextRange objTextRng;
  PowerPoint.TextRange objTextRng1;

 

  public PPTAuto()
  {

  }
  public void CreateFile(StringCollection array)
  {
   String strTemplate;
   strTemplate = "Template'in yolunu buraya yazın";

   // yeni sunum yaratma 
   objApp = new PowerPoint.Application();
   objApp.Visible = MsoTriState.msoTrue;
   objPresSet = objApp.Presentations;
   objPres = objPresSet.Open(strTemplate,
    MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);
   
   objSlides = objPres.Slides;

   // Slide ekleme 
   objSlide = objSlides.Add(1,PowerPoint.PpSlideLayout.ppLayoutTitleOnly);
   
  
   objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal,100,100,500,80);
   objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal,100,150,500,80);
   objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal,100,200,500,80);
   objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal,100,250,500,80);
   objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal,100,300,500,80);
   objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal,100,350,500,80);
   objSlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal,100,400,500,80);

   objTextRng = objSlide.Shapes[1].TextFrame.TextRange;
   objTextRng.Text = "These are my details";
   objTextRng.Font.Name = "Arial";
   objTextRng.Font.Size = 20;

   objTextRng = objSlide.Shapes[2].TextFrame.TextRange;
   objTextRng.Text =array[0] ;
   objTextRng.Font.Name = "Arial";
   objTextRng.Font.Size = 20;

   objTextRng = objSlide.Shapes[3].TextFrame.TextRange;
   objTextRng.Text =array[1] ;
   objTextRng.Font.Name = "Arial";
   objTextRng.Font.Size = 20;

   objTextRng = objSlide.Shapes[4].TextFrame.TextRange;
   objTextRng.Text =array[2] ;
   objTextRng.Font.Name = "Arial";
   objTextRng.Font.Size = 20;

   objTextRng = objSlide.Shapes[5].TextFrame.TextRange;
   objTextRng.Text =array[3] ;
   objTextRng.Font.Name = "Arial";
   objTextRng.Font.Size = 20;

   objTextRng = objSlide.Shapes[6].TextFrame.TextRange;
   objTextRng.Text =array[4] ;
   objTextRng.Font.Name = "Arial";
   objTextRng.Font.Size = 20;

   objTextRng = objSlide.Shapes[7].TextFrame.TextRange;
   objTextRng.Text =array[5] ;
   objTextRng.Font.Name = "Arial";
   objTextRng.Font.Size = 20;

 

//   // Slide'ın üstüne iki şekil ekle 
//   PowerPoint.Shape objSquareShape = objSlide.Shapes.AddShape
//            (MsoAutoShapeType.msoShapeRectangle,
//             0, 0, 100, 100);
//   PowerPoint.Shape objTriangleShape =  objSlide.Shapes.AddShape
//            (MsoAutoShapeType.msoShapeRightTriangle,
//              0, 150, 100, 100);
//
//
//   PowerPoint.TextFrame = objSlide.Shapes.AddShape(
//         (MsoAutoShapeType.msoShapeRectangle,
//          0, 0, 100, 100);

//   objTextRng1 = objSlide.Shapes[2].TextFrame.TextRange;
//   objTextRng1.Text = "My Sample Presentation";
//   objTextRng1.Font.Name = "Arial";
//   objTextRng1.Font.Size = 20;

  


  }

 }
}

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

SQL Server ve C# ile küçük bir uygulama

Pazartesi, 27 Ekim 2008 02:59 by Admin

     SQL Server ile yapılmış basit ve küçük bir kütüphane programı ! Tek bir tablo kullanmakta en azından yeni başlarken acaba nasıl bir kod yazacağım diye düşünenlerede faydalı olur.Bir dönem en çok aldığım soru idi. Hala tek tük de olsa böyle sorular gelmekte.

Tablo yapısı:

Kaynak kodu:

kütüphane.rar (2,44 mb)

16 kişi tarafından 1.5 olarak değerlendirildi

  • Currently 1,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   , ,
Categories:   Yazılım
Actions:   E-mail | del.icio.us | Permalink | Yorumlar (0) | Comment RSSRSS comment feed

Java Öğrenmek !

Pazartesi, 27 Ekim 2008 02:40 by Admin
Java diline başladığımı twitter'ımda kısaca değinmiştim. Bu yolda önüme çıkanları ve izlediğim yolu sizlerle paylaşarak nereden başlanır veya nereden başlamalıyım sorularına ve kullandığım IDE ve sistem hakkında kısa bilgi vermek isterim. Sun'ın sitesinden öncelikle JDK yani java development kit paketini kurmanız gerekmekte. IDE yani geliştirme ortamı olarakda karşıma iki seçenek çıktı bunlar NETBEANS ve ECLIPSE. Bu işi profosyonel anlamda yapanların çoğunluğu ECLIPSE'i önerdi. Fakat dilin özelliklerini öğrenmek için NETBEANS IDE'si de oldukça yeterli. Daha önceden object oriented yani nesne yönelimli bir dile hakimseniz çok hızlı yol kat etmeniz olası. Nesne Yönelimli Programlama mantığı hemen hemen aynı bunun için dili öğrenmede yeni başlayanlara göre konsolda daha az vakit geçireceğiniz muhakkak. Yazılım camiasında geçiş Java'dan C#' a doğru ilerlerken ben tam tersi bir mantık ile işi girdim hemde çok karmaşık bir şekilde profosyonel manada ilk öğrendiğim dil C ardında C# ve C++ ile devam etti. Java ile ilgili önümüzdeki günlerde yaşayacağım ilginç izlenimleride sizlere aktaracağım.

3 kişi tarafından 3.7 olarak değerlendirildi

  • Currently 3,666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Yeni Başlayanlar için Bilgi

Cumartesi, 27 Eylül 2008 23:44 by Admin

        Yazılım işine yeni başlayanlardan hep şu soruyu duymaktayım; "nereden başlamalıyım ?" ve "hangi dili öğrenmeliyim ?". Diyeceğim şudur ki eğer elektronik kısma fazla yaklaşmayacaksanız üst seviyeli bir dil ile başlamanız en doğrusu. Yok eğer elektronik ile sıkı bir şekilde ilginemek istiyor diyorsanız C diline başlayabilirsiniz. Web veya client tabanlı uygulamalarda C#,Java en gözde diller ve piyasada da oldukça yaygın. Nesne yönelimli bir dil yani object oriented programming öğrenmek şart. C++ ile bütün kontrol kullanıcının eli altında fakat zaman kaybıda fazla. C# veya Java dememin sebebi ise bu programların kullandığı alt yapı sonuç olarak dotNet Framework ile içli dışlı olacaksınız ve dotNet'in resmi dili C# size yeterli gelecektir.

Kitap Tavsiyesi:

Herbert Schildt - C# 2.0 (veya yeni bir vesyionu)

Herbert Schildt - C - C++ ve Java kitaplarınıda başlamak istediğiniz dile göre seçebilirsiniz.

Çeviri kitabı olması bence dezaantaj değil sonuçta genel olarak kullanılan terimlerin türkçe karşılığını bilmekde güzel. Ineta toplulukları sitelerine baktığımız zaman makalelerde eğer türkçe karşılık kullanılmak istenmişse bu kitaplarda olanlardan fazlası veya azı yok.

4 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   , , , ,
Categories:   Yazılım
Actions:   E-mail | del.icio.us | Permalink | Yorumlar (7) | Comment RSSRSS comment feed

Dizideki sayılar kaç defa tekrar etmiş ! (C ile yazılmıştır)

Cumartesi, 27 Eylül 2008 23:39 by Admin

 C ile girilen sayının kaç defa tekrar ettiğini bulan dizideki yerini veren küçük uygulama.

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int *hesapla(int *adr);
int *tut;
int main()
{
  int *p,*sonuc,i,say;
 
  do{
    p=(int *)calloc(sizeof(int),10);
  }while(p=='\0');

  for(i=0;i<10;++i)
  {
 do{
   scanf("%d",(p+i));
 }while(*p<=0 | *p>100); 
  }
 p-10;
  for(say=0;say<10;++say)
     printf("%d. Sirada % d numarali Sayi vardir\n",say+1,*(p+say));
  sonuc=hesapla(p);

            for (say = 0; say < 10; ++say)
            {

              if (*(sonuc+say) == -2)
                    printf("%d.Sayi Tekrar etmemis\n",say+1);
                else if(*(sonuc+say)==-1)
                   printf("%d. Sayinin istatistigi verilmisti\n",say+1);
                else
                  printf("%d. Siradaki %d kadar Tekrar Etmistir\n",say+1,*(sonuc+say));
              
            }    
 getch();
return 0;
}
int *hesapla(int *adr)
{
   int i,j;
   tut=(int *)calloc(sizeof(int),10);
  for (i = 0; i < 10; ++i)
            {
              
                for (j = i + 1; j < 10; ++j)
                {
                    if (*(adr+i) != '\0')
                        if (*(adr+i) == *(adr+j))
                        {
                            *(tut+i) = *(tut+i) + 1;
                            *(adr+j) = '\0';
                            *(tut+j)=-1;
                        }
                   
                   }
                   if(*(tut+i)==0)
                     *(tut+i)=-2;
               
            }
         
  return tut;
}

2 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   , ,
Categories:   Yazılım
Actions:   E-mail | del.icio.us | Permalink | Yorumlar (0) | Comment RSSRSS comment feed

C# ile textbox'a saat girişi

Çarşamba, 24 Eylül 2008 02:02 by Admin

Textbox'ın textchange event'ine aşağıdaki kodu yazdığınızda saat girişlerinizde : eklenir ve saat,dakika, saniye sınırlarının aşılmasını engeller. C# ile yazılmış bu kod VS 2005 ile denenmiştir. Bir ara lazım olmuştu o zaman yazmıştım. Arada aklıma geldikçe küçük kod parçaları paylaşacağım. Sizde sorularınızı iletişim bölümünden bana ulaştırabilirsiniz.

 int i=0;

          ++i;
            char[] ayrac ={ ':' };
            string[] strarray = textBox1.Text.Split(ayrac);
            try
            {
                switch (i)
                {
                    case 1:

                        break;
                    case 2:
                        textBox1.Text += ":";
                        textBox1.SelectionStart = 3;
                        if (Convert.ToInt32(strarray[0]) >= 24)
                        {
                            textBox1.Text = "";
                            i = 0;
                        }

                        break;
                    case 4:
                        break;
                    case 5:
                        textBox1.Text += ":";
                        textBox1.SelectionStart = 6;
                        if (Convert.ToInt32(strarray[1]) >= 60)
                        {
                            textBox1.Text = "";
                            i = 0;
                        }
                        break;
                    case 7:
                        break;
                    case 8:
                        break;
                    case 9:

                        i = 0;
                        textBox1.Text = "";
                        if (Convert.ToInt32(strarray[2]) >= 60)
                        {
                            textBox1.Text = "";
                            i = 0;
                        }
                        break;
                    default:
                        break;
                }
            }
            catch
            {
                textBox1.Text = "";
                i = 0;
            }

2 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   , , ,
Categories:   Yazılım
Actions:   E-mail | del.icio.us | Permalink | Yorumlar (0) | Comment RSSRSS comment feed

GridView'den Excele export işlemi

Pazartesi, 22 Eylül 2008 04:39 by Admin
Table excelTable = new Table();

excelTable.GridLines = GridLines.Both;

foreach (GridViewRow gvRow in GridView1.Rows)

{

excelTable.Rows.Add(gvRow);

}

StringWriter yaz = new StringWriter();

HtmlTextWriter htw = new HtmlTextWriter(yaz);

excelTable.RenderControl(htw);

Response.Clear();

Response.AddHeader("content-disposition", "attachment;filename=dosyaismi_+ DateTime.Today + ".xls");

Response.ContentType = "application/ms-excel";

Response.Write(yaz.ToString());

Response.End();

Dosya isminin önün tarih eklenmesinin sebebi dinamik dosyalama ve her seferinde aynı dosyanın oluşmasını engellemek amacıyla yapılmıştır.

2 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   , ,
Categories:   Yazılım
Actions:   E-mail | del.icio.us | Permalink | Yorumlar (0) | Comment RSSRSS comment feed