Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

PPM Service Pack Geçişi

Geçenlerde şirkette PPM 8.0 üzerine bazı sorunlarımızın düzeleceğini umut ederek Service Pack  geçelim dedik. Bunun için bütün uygulamalarımızda olduğu gibi önce test ortamında sonucu görüp bir sıkıntı olmazsa proda almayı uygun gördük.
Komutları çalıştırmak için yine CYWIN’den yararlanacağız. Bunun için
PPM bin dizinene CYWIN’i getiriyoruz.
CYWIN-> cd c:\ppm\bin

– Server CYWIN’den stop edilip PPM klasörü yedeği alınır.
sh kStop.sh -now admin

– SP paketim PPM home dizinine atılır

– kDeploy -i SP4

– sh kJSPCompiler.sh

– sh.kHtmlupdate.sh

– server açılır. sh kStart.sh

Aralık 25, 2011 Posted by | PPM | , , | Yorum bırakın

10 Adımda PPM prod ortamından test ortamına restore işlemi

Öncelikle ppm için bazı komutları çalıştırabilmek için
CYWIN (komut çalıştırmak için kullandığımız bir program) denilen bir programdan faydalanacağız.

1- CYWIN-> cd c:\ppm\bin ile ppm dizinine geliyoruz
2-Yine CYWIN’de sh kStop.sh ile prod ortamını ve test ortamını ayrı ayrı kapatıyoruz
3-DAha sonra PPM’İn iki şeması olan ppmXX_rml ve ppmXX_usr ‘ların prod ortamından birer dumpını alıyoruz.
4- Test db si üzerindeki eski şemalar drop edilir
5- Allta yazdığım CreateKintanaUser.sql ile ppmXX_usr kullanıcı oluşturulur ve yeni şifre verilir.
6- CreateRMLUser.sql ile ppmXX_rml kullanıcısı oluşturulur. (Şifre verilecek)
7-Altta yazdığım GrantSysPrivs.sql sorgusunu sys as dba olarak login olarak ppmXX_usr için çalıştır.
8- Testte CYWIN-> cd c:\ppm\bin ve sh kJAVACompiler.sh
9- Testte CYWIN-> cd c:\ppm\bin ve sh khtmlupdate.sh
10- TEstte CYWIN-> cd c:\ppm\bin ve sh kStart.sh

–$Project: Dev – Kintana$
–$Folder: system$
–$Workfile: CreateKintanaUser.sql$

/*
+=============================================================+
|            Copyright (c) 1995 – 2006 Kintana, Inc.
|                      All Rights Reserved
+=============================================================+
|
|    File Name:    create_knta_user.sql
|    Object Name:
|    Description:
|       KNTA User creation script
|
+=============================================================+
|
|  Notes
+=============================================================+
*/

PROMPT
PROMPT — Name of the ITG server database schema
DEFINE KNTA_USERNAME = &1;

PROMPT
PROMPT — Password of the ITG server database schema
DEFINE KNTA_PASSWORD = &2;

PROMPT
PROMPT — Name of the DATA tablespace
DEFINE DATA_TABLESPACE = &3;

PROMPT
PROMPT — Name of the INDEX Tablespace
DEFINE INDEX_TABLESPACE = &4;

PROMPT
PROMPT — Name of the CLOB tablespace
DEFINE CLOB_TABLESPACE = &6;

WHENEVER SQLERROR EXIT 1;

CREATE USER &KNTA_USERNAME
IDENTIFIED BY “&KNTA_PASSWORD”
DEFAULT TABLESPACE &DATA_TABLESPACE
QUOTA UNLIMITED ON &DATA_TABLESPACE
QUOTA UNLIMITED ON &INDEX_TABLESPACE
QUOTA UNLIMITED ON &CLOB_TABLESPACE;

grant connect to &KNTA_USERNAME;

grant create session       to &KNTA_USERNAME;
grant create database link to &KNTA_USERNAME;
grant create procedure     to &KNTA_USERNAME;
grant create sequence      to &KNTA_USERNAME;
grant create synonym       to &KNTA_USERNAME;
grant create table         to &KNTA_USERNAME;
grant create view          to &KNTA_USERNAME;
grant create trigger       to &KNTA_USERNAME;

— In addition to the above grants, the installer will ask for ‘grant select on v$parameter to &KNTA_USERNAME’
— for which you may have to connect as sys.

exit;

–$Project: Dev – Kintana$
–$Folder: system$
–$Workfile: CreateRMLUser.sql$

/*

+=============================================================+
|    Copyright (c) 1995 – 2006 Kintana, Inc.
|                      All Rights Reserved
+=============================================================+
|
|    File Name:      KNTA_CREATE_RML_SCHEMA.SQL
|    Description:    Create the RML Schema on Install/Upgrade
|    Author:         Timothy Lam
|
+=============================================================+
| This script does the following to setup the Meta Layer Schema:
| 1. Create RML schema
|
| Usage (As System user):
| knta_create_rml_schema [rml_user] [rml_pwd] [DATA_TABLESPACE]
|   [TEMP_TABLESPACE]
|
| The script will connect you as Kintana User, so you must have
| Kintana user created.
* *************************************************************** */

— create RML User

— already connected as system

PROMPT
PROMPT — Enter the name the ITG RML schema to create
DEFINE RML_USERNAME = &1;

PROMPT
PROMPT — Enter the password the ITG RML schema name
DEFINE RML_PASSWORD = &2;

PROMPT
PROMPT — Enter the DATA tablespace
DEFINE DATA_TABLESPACE = &3;

SET SERVEROUTPUT ON SIZE 999999;

WHENEVER SQLERROR EXIT FAILURE ROLLBACK;

CREATE USER &RML_USERNAME
IDENTIFIED BY “&RML_PASSWORD”
DEFAULT TABLESPACE &DATA_TABLESPACE;

grant create session to &RML_USERNAME;
grant create table to &RML_USERNAME;
grant create view to &RML_USERNAME;
grant create synonym to &RML_USERNAME;
grant resource to &RML_USERNAME;

exit

–$Project: Dev – Kintana$
–$Folder: sys$
–$Workfile: GrantSysPrivs.sql$
–$Date: 11/12/08 1:11:56 PM PST$
–$Revision: 4$


— HP PPM Center: GrantSysPrivs.sql

— This script is provided as part of the Mercury ITG installation and upgrage
— to help you grant the necessary SYS level privileges.  When prompted you can
— run the following command:

— sqlplus sys/<sys_password>@<sid> @GrantSysPrivs.sql <db_user>

PROMPT — This script is provided as part of the HP PPM installation and
PROMPT — upgrade to help you grant the necessary SYS level privileges to the
PROMPT — ITG Schema.  In order to do this the script needs the name of the
PROMPT — Schema (DB_USERNAME in server.conf)
PROMPT

define db_user = &ITG_SCHEMA_NAME;

grant select  on v_$parameter to &db_user;

— Needed for Statistic Calculation
grant execute on dbms_stats   to &db_user;
grant select  on v_$mystat    to &db_user;
grant select  on v_$process   to &db_user;
grant select  on v_$session   to &db_user;
–grant execute on DBMS_SHARED_POOL to &db_user;

exit;

 

NOT : Scriptler anlaşılacağı üzere alıntıdır.

Aralık 24, 2011 Posted by | PPM | , , , , , | 3 Yorum

Microsoft Web Camp

Buradan Kaydolun!

Tarih: 19 Aralık 2011

Zaman: 09:00-17:00

Yer: Microsoft Türkiye İstanbul Ofisi

Konuşmacı:
Daron Yöndem Microsoft Regional Director & MVP

Dil: Türkçe

 

Web Camp Nedir?

Web Camp ler pek çok web geliştirme teknolojisi ile tanışacağınız sadece web geliştiricileri için düzenlenmiş ücretsiz etkinliklerdir.  İşin uzmanlarından, en hızlı ve doğru geliştirme çözümlerini interaktif bir ortamda öğrenmenizi ve ve etkinlikte web sitenizi geliştirerek yayınlamanızı hedeflemektedir..

Peki, Ne Öğreneceğim?

Bu Web Camp ‘ te, interaktif, yüksek erişilebilirliliğe sahip ve profesyonel görünümlü web sitelerini aralarında ASP.NET, MVC3, Razor, HTML5/CSS3/JavaScript, WebMatrix ve Visual Studio 2010 Web Express in de bulunduğu Microsoft web araç ve platformlarını kullanarak nasıl geliştireceğinizi öğreneceksiniz.  Konuyu, uzmanlarından çözümü nasıl geliştireceğinizi ve nasıl yayınlayacağınızı başlangıçtan bitiş anına kadar öğreniyor olacaksınz.

Web Camp içeriğinde bulunan konu başlıklarından bazıları : :

–      HTML5, ASP.NET, Visual Studio 2010 Web Express

–      Azure ve MVC

–      WebMatrix v2

–      NuGet bileşenleri

–      Internet Explorer (Site Pinning, Uyarılar, Jump List özelliği, Media Player dahil etmek)

–      Web API Oluşturma

–      Windows Phone Uygulamasından Web API oluşturmak

–      WRE ve Site yayınlama

–      Ve Daha Fazlası….

 

Nasıl Kayıt Olacağım?

Kayıt olmak çok kolay! Buradan ve bu davetin sol üst köşesinde yeralan linke tıklayarak hızlıca kaydınızı olabilirsiniz!
Katılım ücretsizdir, ancak yerimiz oldukça sınırlı. Hemen kayıt olarak yerinizi ayırın!.

Yanımda Ne Getirmeliyim?

Eğer Web Camp boyunca gerçekleştirilecek ve web sitenizi hemen orada geliştirme fırsatını kaçırmak istemiyorsanız yanınızda Dizüstü bilgisayarınızı getirmenizi ve  Web Camps Training Kit‘i önceden yüklemenizi rica ediyoruz.

Aralık 14, 2011 Posted by | Etkinlikler | , , , , , , , , | Yorum bırakın

ASP.NET Sayfa Yaşam Döngüsü (Page Life Cycle)

Piyasada çok fazla ASP.NET programlayan developer olsa da gerçek manada ASP.NET yaşam döngüsünü bilerek event’leri bilinçli kullananların sayısı oldukça azdır. Bu makalemde ASP.NET yaşam döngüsüne kısa bir giriş yapmış olacağız.
Web uygulamalarını windows uygulamalarından ayıran temel olarak kullanıcı arayüzü değil , sayfanın yaşam döngüsüdür. Bir windows uygulamasını açarsınız üzerinde saatlerce çalışıp kapatırsınız ancak web uygulamaları böyle değildir. Web istekleri çok daha kısa sürelidir. Bir kullanıcı web sitenize girdiğinde herbir isteği servera gönderir ve server bu isteği işleterek cevabı client’a gönderir. Bu kısa bilgi alış verişi her istekte tekrarlanır.
ASP.NET kendi yaşam döngüsü içerisinde her bir stage de önemli eventler gerçekleştirir. Eğer bir kontrolü  dinamik olarak sayfaya ekleyecek olursak bu ekleme işlemini sayfanın yaşam döngüsü içerisinde doğru adımda yapmalıyız , aksi taktirde temalar vs yüklenmeyebilir. Sayfa render olduktan sonra yaratılan bütün nesneler yokedilir.
ASP.NET de bir requestten diğerine veri taşıyabilmenin 4 yolu vardır. Bunlar;
View State,Hidden Fields,Session State,Cookies
Her birinin temelde amacı veri taımak olsa da farklı durumlarda ihtiyaca göre kullanılmaktadır.
ASP.NET de her bir sayfanın ve üzerlerindeki kontrollerin birer yaşam döngüsü bulunmaktadır ve bu döngünün her bir adımında ASP.NET eventler fırlatmaktadır. Her bir adımda kod yazarak sayfa ve kontrollerin davranışlarını değiştirmek mümkündür.
Sayfa yaşam döngüsü uygulama sunucusunun uygulamanızı ne zaman start stop edeceğini , diğer uygulamalardan nasıl izole edeceğini ve kodunuzu nasıl execute edeceğinizi belirler.
ASP.NET uygulamaları genellikle bir web server üzerinde koşar ve bu web server genellikle IIS (Internet Information Service)’dir.
Süreç aşağıdaki gibi işler :
1- Web sitenize istek ilk defa ulaşır.
2- İstek Processing Pipeline’a yönlendirilir ve Processing pipeline bunu ASP.NET runtime’a forward eder.
3-ASP.NET ApplicationManager sınıfının bir instance’ını create eder ve bu sınıf isteğin .NET Framework tarafından execute edileceğini belirler.Application Domain global değişkenlerinizin diğer uygulamalardan izole edilmesini sağlar.
4- Application Domain yaratıldıktan sonra HostingEnviroment sınıfı yaratılır. Bu sınıf host edilen itemlara erişim sağlar , örneğin dizin dosyları.
5-ASP.NET isteği işleyecek çekirdek sınıfların birer nesnesini oluşturur.  HttpContext,HttpRequest,HttpResponse
6-ASP.NET HttpApplication sınıfını yaratır.Bu sınıf Global.asax dosyasının base sınıfıdır.
7-Son olarak da ASP.NET isteği işleyip HttpApplication pipeline’ına sokar. Bu pipeline bir çok event içerir örneği isteğin validasyonu,URL mapping,cache’e erişim ve dahası.

HttpApplication sınıfı bir çok event üretir. Bu eventlerden en çok kullanılanlarına bir göz atalım :
Application_start  : IIS uygulamamızı ilk defa çalıştırdığında bu event tetiklenir.
Application_End  : IIS’den uygulamamız kapatıldığında bu event tetiklenir. Loglama için kullanılabilir.
Application_Error  : Uygulamada bir error alındığı zaman fırlatılır.
Application_LogRequest  : Uygulamaya bir istek gönderildiğinde fırlatılır , bunu isteğe göre custom logging bilgisi yazmak için kullanabiliriz.
Application_PostLogRequest  : İsteğin loglanması tamamlandıktan sonra fırlatılır.

Bütüm bu evenleri Global.asax dosyasından yönetebilirsiniz.
ÖRNEK Global.asax içeriği :
<%@ Application Language=”C#” %>
<script runat=”server”>
void Application_Start(object sender, EventArgs e)
{
Application[“UsersOnline”] = 0;
}

void Session_Start(object sender, EventArgs e)
{
Application.Lock();
Application[“UsersOnline”] = (int)Application[“UsersOnline”] + 1;
Application.UnLock();
}

void Session_End(object sender, EventArgs e)
{
Application.Lock();
Application[“UsersOnline”] = (int)Application[“UsersOnline”] – 1;
Application.UnLock();
}
</script>

Global.asx içerisinde uygulama seviyesinde state verisi taşınabilir.
Application.Lock();
Application[“PageRequestCount”] = ((int)Application[“PageRequestCount”]) + 1;
Application.UnLock();

NOT: Bir uygulamadaki aktif kullanıcıların sayısını bulmak için custom bir kod yazmaya gerek yoktur. ASP.NET in içerisinde birçok counter bulunmaktadır.
counter

Yaşam döngüsü eventleri :
PreInit  :  Sayfa için handle edilecek ilk evettir.Page ve Masterpage için dinamik olarak kontrol ekleme çıkarma ve tema set etme için kullanılabilir.
Init : Bütün kontroller initialize olduktan sonra bu event fırlatılır. Content page’e kontol ekleme için kullanılabilir.
InitComplete : Bütün sayfa ve kontroller bittiğinde fırlatılır.
PreLoad : Sayfanın ve kontollerin viewstate’i dolmadan ve postback işletilmeden fırlatılır.
Load : Page bu anda stabil bir durumdadır.
Control (postback) event(s) :Bu anda sayfanın ve kontollerin postbackten dolayı oluşan bütün eventleri çağrılır.
LoadComplete : Bütün kontroller dolmuştur.
PreRender : Sayfadaki ve kontroldeki final değişiklikler için kullanılır.
SaveStateComplete : Bu anda sayfanın ve kontrollerin view state i set edilmiştir.
Render : Sayfa html’e dönüştürüldüğü yerdir. Kendi custom kontollerimizde html değişiklikleri yapabilmek için kullanılabilir.
UnLoad : Bu adımı kaynakları bırakmak için kullanabiliriz.

İlgili Yazılar:

http://www.csharpnedir.com/articles/read/?filter=&author=36&cat=&id=690&title=Asp.Net%202.0%20Temelleri%20:%20Bir%20Web%20Sayfas%C4%B1n%C4%B1n%20Anatomisi

Aralık 7, 2011 Posted by | ASP.NET | , , , , , , , , , , , , , | 1 Yorum

Microsoft Windows Phone Camp

Etkinlik Detayları

Tarih: 22-23 Aralık 2011

Saat: 8:30 – 17:00

Yer: Microsoft istanbul Ofisi

 

Kayıt Olun

 

 

Etkinlik Konuşmacısı

Ekin Özçiçekçiler

Windows Phone MVP

 

 

Kaynak Bağlantıları

 

 

Bizimle iletişime geçin

 

Windows Phone Camp’e Davetlisiniz

22-23 Aralık tarihlerinde Microsoft Türkiye İstanbul ofisinde gerçekleştireceğimiz 2 tam gün sürecek ve sonunda kendi Windows Phone Uygulamanızı Windows Phone Marketplace’ de göreceğiniz Windows Phone Camp etkinliğimize davetlisiniz.

 

Windows Phone Kampı, ‘Mango’ kod adlı Windows Phone 7.5 sürümü için Windows Phone uygulamaları geliştirmeniz ve yayınlayabilmeniz için gerekli her şeyi öğrenebileceğiniz ücretsiz bir etkinliktir. Windows Phone, Android, Symbian, Web OS ya da iOS uygulamaları konusuna yeni başlayan bir geliştiriciden deneyimli geliştiricilere kadar herkesi Windows Phone için uygulama geliştirmek için bekliyoruz.

 

Önemli Etkinlik Notları :

  • Etkinliğin 2. gününde katılımcıların geliştirdikleri uygulamalar yine katılımcılar tarafından oylanacak ve en başarılı uygulama seçilen geliştirici 1 adet Windows Phone cihazı ile ödüllendirilecektir.
  • Etkinliğe katılan ve etkinlik 2. gününde uygulama geliştiren herkese 99 USD değerinde Windows Phone Marketplace AppHub üyeliği ücretsiz olarak verilecektir.

 

Program

Gün 1:

8:30

9:00

Hoşgeldiniz & Kayıt

Açılış – Microsoft Türkiye ve Nokia Türkiye

9:15 Giriş / Geliştiriciler için Windows Phone Genel Bakış
9:45 Visual Studio 2010 ile Windows Phone Uygulaması Geliştirme
10:45 Ara
11:00 Page Navigation – Layout Controls – Launcher / Choosers
12:00 Öğle Yemeği
13:00 Isolated Storage
14:00 Ara
14:15 LINQ to SQL Support – Local Database
15:15 Ara
15:30 LINQ to SQL Support – Local Database
16:30 LINQ to SQL Support – Local Database
17:00 Sırada Ne Var ?/ Kaynaklar / Etkinlik Bitiş

 

Gün 2:

9:00 Multitasking
10:30 Uygulama Geliştirme Labaratuarı
12:00 Öğle Yemeği
13:00 Uygulama Geliştirme Labaratuarı
16:45 Uygulama Geliştirme Labaratuarı
17:00 Geliştirilen En iyi Uygulamanın Tüm Katılımcılarca Belirlenmesi
17:30 Ödül Töreni ve Etkinlik Bitişi

 

 

Gelmeden Önce

Güncel Windows Phone SDK sürümünü indirerek en yeni geliştirme araçlarına sahip olabilirsiniz. Etkinlik gününde yanınızda mutlaka dizüstü bilgisayarınızı ve kimliğinizi getirin. Ayrıca uygulama geliştirilirken ve Yallaapps üzerinden Marketplace’e gönderilirken dikkat edilmesi gerekenleri bu rehberden öğrenebilirsiniz. İndirmek için tıklayın!

Gerçek bir Windows Phone Uygulama Geliştirme Deneyimi için aşağıdaki bilgi ve becerilere sahip olmanız gerekmektedir:

  • .Net Framework temel araçları hakkında temel seviyede bilgi sahibi olmak.
  • .Net Framework üzerinde min. Level 200 seviyesinde uygulama geliştirmiş olmak.
  • C# diline hakim olmak.
  • Visual Studio IDE üzerinde uygulama geliştirme deneyimine sahip olmak.

Temel veritabanı uygulamaları, web servisleri konuları hakkında bilgi sahibi olmak.

 

Notlar:

Bu etkinlik Microsoft Developer Platform Evangelism grubu tarafından ücretsiz olarak sizin için düzenlenmektedir. Ulaşım, konaklama masrafları ve rezervasyon işlemleri katılımcıya bırakılmıştır.

 

 

Microsoft E-Bültenlerine Kayıt Olun | Kaydınızı Silin | Profilinizi Güncelleyin
© 2011 Microsoft Corporation Kullanım Koşulları | Ticari Markalar | Gizlilik

Aralık 7, 2011 Posted by | Etkinlikler | , , , , | Yorum bırakın

Yazılımcılar İzmir’de buluşuyor.

MVP’lerimizden Daron Yöndem, Fatih Boy, Muammer Benzeş ve Sertay Halka‘nın organize ettiği ve konuşmacı olarak katılacakları “Yazılımcılar İzmir’de buluşuyor” etkinliği 10 Aralık – 11 Aralık tarihleri arasında Ege Üniversitesi Mühendislik Fakültesi, Turgut Yazıcıoğlu Konferans Salonu’nda (Tekstil Mühendisliği Binası) gerçekleşecektir. Ücretsiz katılım için http://www.inetatr.org/oforms/yazilimcilar-izmir-de-bulusuyor adresinde bulunan formu doldurmanız yeterlidir.

 

Aralık 6, 2011 Posted by | Etkinlikler | , , , , , , , | Yorum bırakın

70-515 Örnek Soru 1

Bütün kullanıcıların windows authentication’a ihtiyaç duymasını sağlayan Web.config segmenti nasıl olmalıdır?

<authentication mode=”Windows”/>
<authorization>
<deny users=”?” />
</authorization>

Aralık 1, 2011 Posted by | 70-515 | , , , , | Yorum bırakın