Aklımda Kalası Kelimeler
* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur
27 Şubat 2012 Pazartesi
ben bekarken: "yoğurtlu semizotu ve ilk soslu makarnam"
Yaparken ne eğlendim ne eğlendim anlatamam...
Semizotuna nane, sarımsak, tuz kattım...
Küçük bir kasade bunları karıştırmak çok güzeldi yaffffff :)
Ayrıca soslu makarnayı yaparkende çok eğlendim...
Bence yemek kadınlara bırakılamayacak kadar eğlenceli bir zevk...
26 Şubat 2012 Pazar
23 Şubat 2012 Perşembe
Türkçe Dilbilgisi
HARFLER |
|||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sesli(Ünlü) a, e, ı, i , o, ö, u, ü | Sessiz(Ünsüz) b, c, ç, d, f, g, ğ, h, j, k, l, m, n, p, r, s, ş, t, v, y, z | ||||||||||||||||
Çıkış yeri ve dilin durumuna göre | Dudakların durumuna göre | Ağzın açıklığına göre | Seda bakımından | Teşekkül noktası bakımından | Temas derecesi bakımından | ||||||||||||
Kalın ünlüler a, ı, o, u | İnce ünlüler e, i, ö, ü | Düz ünlüler a, e, ı, i | Yuvarlak ünlüler o, ö, u, ü | Geniş ünlüler a, e, o, ö | Dar ünlüler ı, i, u, ü | Sedalı ünsüzler b, c, d, g, ğ, j, l, m, n, r, v, y, z | Sedasız ünsüzler ç, f, h, k, p, s, ş, t | Dudak ünsüzleri b, p, m. | Diş-dudak ünsüzleri f, v | Diş ünsüzleri d, t, n, s, z | Damak-diş ünsüzler c, ç, j, ş | Ön damak ünsüzleri g, k, l, r, y | Arka damak ünsüzü ğ | Gırtlak ünsüzü h | Temas derecesi tam olanlar b, c, ç, d, g, k, p, t | Teşekkülünde hava için dar bir geçit bulunan ünsüzler f, ğ, h, j, s, ş, v, z | Teşekkülünde hava için geniş bir geçit bulunan ünsüzler m, n, r, y |
Sert sessiz harfler,
Sesli Harfler,
Sessiz harfler,
Türkçemizde kullanılan harflerin Kullanılımı.
Türkçemizde kullanılan harfler 29 tanedir
8 tanesi sesli ( Ünlü )
21 tanesi sessiz ( Ünsüz )
Ünlü harfler Geniş Dar Geniş Dar
-------------------------------------------------------------
Kalın A I O U
İnce E İ Ö Ü
Büyük sesli uyumu :
Bir kelimenin ilk hecesindeki sesli kalınsa , sonraki hecelerin seslileri de
kalın olur.....
Eğer ince olursa , sonraki hecelerin seslileri de ince olur .......
İşte buna Büyük sesli uyumu denir ......
örnek :
**** a + ğaç ; bo + ya ; ge + mi ; kö + pek
kalın kalın kalın kalın ince ince ince ince
Kelimelere eklenen eklerde genellikle bu kurala uyarlar ___________
örnek :
Bö - cek + ler ( ince + ince + ince )
A - kıl + lı ( kalın + kalın + kalın )
Ci - ğer + ci ( ince + ince + ince )
Kural 1 :
Birleşik kelimelerde Büyük sesli uyumu aranmaz ........
örnek :
Boğaziçi ____ B o ğ a z + i ç i ( k + k + i + i )
Atatürk ____ A t a + t ü r k ( k + k + i )
--------------------------------------------------------------
Kural 2 :
( yor ) , ( ken ) , ( ki ) , ( leyin ) ekleri Büyük sesli / ünlü uyumu
kuralına uymaz ....
örnek :
Getiriyor ____ Ge + ti + ri + yor ( ek ) ( i + i + i + k )
sabahki ____ Sa + bah + ki ( k + k + i )
Akşamleyin ___ Ak + şam + le + yin ( k + k + i + i )
---------------------------------------------------------------------
Kural 3 :
Yabancı dillerden dilimize geçmiş kelimelerde Büyük sesli uyumu
aranmaz...
örnek :
K a l e m ; K i t a p ; O t o b ü s ; T e l e v i z y o n
Kalem : ( k + i )
Otobüs : ( k + k + i )
Televizyon : ( i + i + i + k )
--------------------------------------------------------------------
Küçük sesli uyumu :
Kelimelerde Düz ünlülerden ( a , e , ı , i ) sonra düz ünlüler , veya
yuvarlak ünlülerden ( o , ö , u , ü ) sonra ya dar -yuvarlaklar ( u , ü )
yada düz - genişler ( a , e ) gelirse bu uyuma küçük sesli uyumu denir ...
örnek :
Bakırcı ____ Ba + kır + cı ( hepsi düz ünlü )
Yumruklamak ____ Y u m + r u k + l a + m a k ( y.ü + y + d.ü + d.ü )
y.ü : yuvarlak ünlü
y : yuvarlak
d : düz ünlü
SESSİZ ( ÜNSÜZ) HARFLER ve bu harflerle ilgili kurallar :
A- Sürekli sessiz : f,s,ş,h, ğ, j, l,m,n,r,v,y,z.
a-Sert sessiz : f,s,ş,h
b-Yumuşak sessiz : ğ,j,l,m,n,r,v,y,z.
B- Süreksiz sessiz : p,ç,t,k,b,c,g,d.
a-sert sessiz : p,ç,t,k
b- Yumuşak sessiz : b,c,g,d
Kural 1 :
Türkçe kelimelerin kökünde 2 sessiz / ünsüz bulunmaz …..
Örnek :
Z ü p p e . ( p p / iki sessiz ) olmaz ….
M i l l e t ( l l olmaz )
Hü r r i y e t ( r r ) olmaz .
** Bunlar Türkçe kelime değildir . Yabancı dillerden gelmiştir ….
Kural 2 :
Türkçe kelimelerin sonunda yumuşak sessizler ( b,c,d,g) bulunmaz.
Türkçe kelimeler , sert sessizler ( p, ç, t, k ) ile biter ….
Örnek :
Ç o r a b ( yanlış ) ___ Çorap ( doğru )
Ağac ( yanlış ) ___ Ağaç ( doğru )
Kanad ( yanlış ) ___ Kanat ( doğru )
**** Bazı yabancı kelimelerde Yumuşak sessiz bulunur ..
Örnek :
Sac : demirden yapılmış levha
Ad : isim gibi …..
Kural 3 :
Türkçe kelimelerin sonunda ( p,ç,t,k ) gibi sert sessiz harf varsa
Bu kelimeye ünlü / sesli harfle başlayan bir ek ( a,e,ı,i,u,ü,o,ö )
gelirse , kelimenin sonundaki sert sessiz ( p,ç,t,k ) harfleri yumuşar .
Buna sert sessizlerin yumuşaması denilir …….
Örnek1 :
Çorap ___ Çorapı olmaz . ___ Çorabı olur ……
Kanat ___ Kanatı olmaz ___ Kanadı olur .
Bayrak___ Bayrakı olmaz ___ Bayrağı olur …..
Örnek 2:
Ayşe , öğretmene çiçek verdi .
Öğretmen çiçeği ( k _ ğ olur ) kokladı ……
Kural 4 :
Sonu sert sessiz harflerle ( p,ç,t,k,s,ş,h,f ) biten Türkçe kelimelerin sonuna ( b,c,d,g )
yumuşak sessizlerin biriyle başlayan bir ek getirilirse , ekin başındaki harf sertleşir …
Buna SERT SESSİZLERİN BENZEŞMESİ denilir …….
Örnek :
Ağaç ___ Ağaçda olmaz ___ Ağaçta olur …..
ÖNEMLİ NOT :
Son harfleri ( p,ç,t,k ) olan özel isimler ünlü harfle başlayan bir ek alsada değişmez …..
Bu ek KESME İŞARETİ ( ‘ ) ile ayrılır ve yazılır …..
Konu başlığımız C Ü M L E :
________ Bir duyguyu , bir düşünceyi , bir isteği , bir yargıyı ve bir olayı anlatmak için
kurulan söz dizisine CÜMLE denilir ……
örnek :
Çocuklarımı çok seviyorum . ( Duygu )
Kitaplar , solmayan çiçeklerdir. ( Düşünce )
Sağlık için , erken yatıp erken kalkmalı . ( Yargı )
Babacığım ! bizi parka götürürmüsün ? ( İstek )
Dünkü yağmurda evleri su bastı . ( Olay ) anlatıyor ……
________ Kelime veya kelime gruplarının cümledeki görevlerine CÜMLENİN
ÖGELERİ denilir ….
Cümlede 3 türlü ÖGE vardır ..
1- Yüklem ( temel öge )
2- Özne ( temel öge )
3- Tümleç ( yardımcı öge ) dir …….
1- Yüklem :
___ Fiillerin cümledeki görev adına yüklem denir ………
• çekimli fiiller
• Fiilimsiler
• Ek fiil almış isim soylu kelimeler
• Tamlamalar
Cümlede yüklem görevini alabilirler ………
Örnek :
Geldik . ( çekimli fiil )
Yaşamak için ( fiilimsi )
Bilim+dir ( ek fiil almış isim soylu kelime )
***** Yüklem , cümlede öznenin yaptığı iştir / eylemdir ……
***** Cümleye :
NE YAPMAK ? / NE YAPTI ?
NE OLMAK ? / NE OLDU ?
NEDİR ?
Sorularak bulunur …….
Örnek :
Begüm ders çalışıyor . __ Ne yapıyor ? ___ Çalışıyor .. ( yüklem )
Burçin çalışkandır . __ Nedir ? ___ Çalışkandır . ( yüklem )
Camlar bir bir kırılıyor . __ Ne oluyor ? ___ Kırılıyor . ( yüklem )
Not :
Yüklem tek başına cümle olur .
Örnek :
Çalışıyor .
Gidiyorum .
Okuyorsun . gibi ……
Ama yüklemsiz cümle olmaz .
Çünkü yüklemsiz cümlenin bir amacı olmaz …..
2- Özne :
___ Cümlede yüklemin bildirdiği işi / eylemi yapan ve oluştan etkilenen varlığa ÖZNE
denir. …..
( Fiilin kişisi durumunda olan kelime veya kelime gruplarına özne denir .)
***** Cümlenin yüklemine KİM ? sorusu sorularak bulunur ….
Örnek :
Can , bu konuyu iyi çalışmış .
Kim çalışmış ?
Can . ( öznedir )
____ Cümlede özne :
İsim olabilir : İdris bu gün bize geldi .____ Kim geldi ? ___ İdris .
İsim tamlaması olabilir : Ali’nin kalemi kayboldu .__ Ali’nin kalemi = isim tamlaması
İsimleşmiş sıfatlar olabilir : Küçükler buraya gelsin .__ küçükler = isimleşmiş sıfat
Sıfat tamlaması olabilir :Bozuk gıda insanın midesini bozar . __ bozuk gıda …..
Zamir olabilir : Yarın öğretmene sen söyle . __ sen = zamir .
Harf olabilir : B sessiz harftir .___ b = harf
_____ Cümlenin öznesi açıkça belli değilse , yüklemin kişisi cümlenin öznesidir ………
Böyle yüklemim kişisi , özne olursa bu tip öznelere gizli özne denir .
Örnek1 :
Bu konuyu iki saattir anlatıyorsun .
Kim anlatıyor ?
Sen . ( gizli öznedir .) ( yüklemin kişisidir .)
Örnek 2 :
Annemi bu sene kaplıcaya götüreceğiz .
Kim götürecek ?
Biz . ( gizli öznedir .) ( yüklemin kişisidir .)
__________ Cümlenin öznesi bazen hem açık hemde gizli bir şekilde olmayabilir .
Bu durumda cümlenin nesnesi / tümleci , özne kabul edilir.
Bu tür öznelere sözde özne denir .
Örnek :
Kapı durup dururken açıldı .
Kim açtı ?
Belli değil …..
Ne açıldı ?
Kapı .
İşte sözde özne , kapı …. ( nesne )
3- Tümleç :
_______ Cümlede özne ve yüklemin dışındaki kelime veya kelime grupları , o cümlenin
TÜMLECİ olurlar ……..
_______ Tümleçler yüklemin anlamını :
Zaman
Yer
Sebep
Durum
gibi çeşitli yönlerden tamamlayan ve pekiştiren kelime veya kelime gruplarıdır …….
Örnek :
Ben baktım .____ Ben ( özne ) , baktım ( yüklem )
Bu cümle ile ilgili aklımıza şu sorular gelir .
• Nezaman baktım ?
• Nereden baktım ?
• Nereye baktım ?
Bu soruların cevapları ayrı ayrı tümleçlerdir ……
Ve bu cevaplar cümlenin anlamını tamamlarlar .
Soruların cevaplarını cümleye katarsak , cümlemiz ;
‘’ Ben bu gün gözlerimi açtığımda pencereden dışarı baktım …..’’ olur ……
Ben : özne
Bu gün gözlerimi açtığımda pencereden dışarı : tümleç
Baktım : yüklem dir ….
TÜMLEÇLER :
1- Düz tümleç / nesne
2- Dolaylı tümleç
3- Zarf tümleçleri
4- Edat tümleçleri
diye dört bölümde incelenir …….
1- Düz tümleç / nesne :
Yüklemin yaptığı işten doğrudan etkilenen varlığa DÜZ TÜMLEÇ /NESNE denir .
• Tümleçlerin en önemlisi NESNE dir …..
NESNELER :
A-Belirtili nesne
B-Belirtisiz nesne
Diye iki grupta incelenir ….
A- Belirtili nesne :
• İsmin (i) halindeki nesnelerdir
• Yükleme NEYİ , KİMİ soruları sorularak bulunur
Örnek 1:
Selma defterini düşürdü .
Neyi düşürdü ?
Defterini . ( belirtili nesnedir )
Örnek 2:
Nail , Serpil’i itti .
Kimi itti ?
Serpil’i . ( belirtili nesnedir )
B- Belirtisiz nesne :
İsmin ( yalın ) halindeki nesnelerdir …..
• Yükleme NE sorusu sorularak bulunur …..
Örnek:
Begüm kırtasiyeden kalem aldı .
Ne aldı ?
Kalem .( belirtisiz nesnedir )
2- Dolaylı Tümleç :
Yüklemin bildirdiği işlerin ;
Nereye yöneldiğini
Nerede bulunduğunu
Nereden ayrıldığını
bildiren tümleçlerdir …..
______ Cümlede ismin ( e , de , den ) hallerinde bulunurlar ……
______ Dolaylı tümleç ;
Nerede ?
Nereden ?
Nereye ?
Kime ?
Kimde ?
Kimden ?
Soruları ile bulunur …..
Örnek 1 :
Begüm ağaca çıkmış …
Nereye çıkmış ?
Ağaca . ( Dolaylı tümleçtir .)
Örnek 2 :
Kalemim Burçin’de kaldı .
Kimde kaldı ?
Burçin’de . ( Dolaylı tümleçtir .)
Örnek 3 :
Şimdi köprüden geçeceğiz.
Nereden geçeceğiz ?
Köprüden . ( Dolaylı tümleçtir .)
3- Zarf Tümleci :
Yüklemin anlamını yer , zaman , durum , azlık , çokluk bakımından tamamlayan
tümleçlerdir ….
Ne zaman ?
Nasıl ?
Ne kadar ?
Nereye ?
Soruları ile bulunurlar …..
Örnek 1 :
Maça yorgun çıkacağız .
Nasıl çıkacağız ?
Yorgun . ( zarf tümlecidir )
Örnek 2 :
Seni sabahleyin bekliyorduk .
Ne zaman bekliyorduk ?
Sabahleyin . ( Zarf tümlecidir .)
Örnek 3 :
Oyunda çok yorulduk .
Ne kadar yorulduk ?
Çok . ( Zarf tümlecidir …..
4- Edat tümleci :
Yüklemin anlamını araç ve sebep bakımından tamamlar …..
Ne ile ?
Niçin ?
Kim ile ?
Soruları ile bulunur …….
Örnek1 :
İlhancan okula servis arabasıyla gider .
Ne ile gider ?
Servis arabasıyla . ( Edat tümlecidir .)
Örnek 2 :
Ali hasta olduğundan okula gidemedi .
Niçin gidemedi ?
Hasta olduğundan . ( Edat tümlecidir )
Örnek 3 :
Tiyatroya sema ile gittiler .
Kim ile gittiler ?
Sema ile . ( Edat tümleci. )
**** Cümlede ögelerin dizilişi :
1- Genellikle cümlede diziliş sırası :
ÖZNE + TÜMLEÇ + YÜKLEM dir …….
Örnek :
Annem ( özne ) + kardeşimi ( tümleç ) + yıkadı ( yüklem ) .
2- Bir cümlede birdeb fazla tümleç olabilir ……
Örnek :
Burçin ( özne ) dün köprüde Ali’yi ( 3üde tümleç ) görmüş ( yüklem .).
3- Bazı hallerde özne ile tümleç yer değiştirirler .
Örnek :
O gün seni bana ( tümleç ) küçük bir kız çocuğu ( özne ) sordu ( yüklem .)
Olabilir …...
Alıntıdır...
15 Şubat 2012 Çarşamba
JSON Hakkında
Ref: http://msdn.microsoft.com/en-us/library/bb299886.aspx
JSON konusunu biraz daha irdelerken bulduklarım:
Yinede tavsiye edilen PARSE metodu(json.js dosyasını dahil ederek):
JSON konusunu biraz daha irdelerken bulduklarım:
toJSONString() Metodu ile JSON objesinin string olarak görüntülenmesi
// josn.js must be included prior to this point var continents = new Array(); continents.push("Europe"); continents.push("Asia"); continents.push("Australia"); continents.push("Antarctica"); continents.push("North America"); continents.push("South America"); continents.push("Africa"); alert("The JSON representation of the continents array is: " + continents.toJSONString());
var mailingAddress = { "Address" : "123 Anywhere St.", "City" : "Springfield", "PostalCode" : 99999 }; alert("The package will be shipped to postal code " + mailingAddress.PostalCode);
eval() ile JSON stringini parse etmek
var value = eval( "(" + jsonText + ")" );
var arrayAsJSONText = '["Europe", "Asia", "Australia", "Antarctica", "North America", "South America", "Africa"]'; var continents = eval( arrayAsJSONText ); alert(continents[0] + " is one of the " + continents.length + " continents.");
Yinede tavsiye edilen PARSE metodu(json.js dosyasını dahil ederek):
var continents = arrayAsJSONText.parseJSON();
C# ile JSON oluşturmak
JsonWriter : WriteStartArray, WriteString, WriteEndArray,WriteNumber, WriteBoolean, WriteNull, WriteStartObject, WriteEndObject, WriteMember
using (JsonWriter w = new JsonTextWriter(Console.Out)) { w.WriteStartObject(); // { w.WriteMember("Name"); // "Name" : w.WriteString("John Doe"); // "John Doe", w.WriteMember("PermissionToCall"); // "PermissionToCall" : w.WriteBoolean(true); // true, w.WriteMember("PhoneNumbers"); // "PhoneNumbers" : w.WriteStartArray(); // [ w.WriteStartObject(); // { w.WriteMember("Location"); // "Location" : w.WriteString("Home"); // "Home", w.WriteMember("Number"); // "Number" : w.WriteString("555-555-1234"); // "555-555-1234" w.WriteEndObject(); // }, w.WriteStartObject(); // { w.WriteMember("Location"); // "Location" : w.WriteString("Work"); // "Work", w.WriteMember("Number"); // "Number" : w.WriteString("555-555-9999"); // "555-555-9999" w.WriteEndObject(); // } w.WriteEndArray(); // ] w.WriteEndObject(); // } }
JsonConvert.ExportToString
string[] continents = { "Europe", "Asia", "Australia", "Antarctica", "North America", "South America", "Africa" }; string jsonText = JsonConvert.ExportToString(continents);
Parsing JSON Text with JsonTextReader
string jsonText = @"[""Europe"", ""Asia"", ""Australia"", ""Antarctica"", ""North America"", ""South America"", ""Africa""]"; using (JsonTextReader reader = new JsonTextReader(new StringReader(jsonText))) { while (reader.Read()) { if (reader.TokenClass == JsonTokenClass.String && reader.Text.StartsWith("A")) { Console.WriteLine(reader.Text); } } }
Ubuntu'da root kullanıcısını aktifleştirmek
Ref: http://www.ducea.com/2006/06/21/ubuntu-how-to-enable-the-root-account/
Ubuntu kurulduktan root kullanıcısı aktif olması için yapılması gerekenler:
Terminal komut satırına: sudo passwd root
Şifre iki kez girilerek tamamlanır.
Tekrar root kullanıcısını pasifleştirmek için: sudo passwd -l root
Ubuntu kurulduktan root kullanıcısı aktif olması için yapılması gerekenler:
Terminal komut satırına: sudo passwd root
Şifre iki kez girilerek tamamlanır.
Tekrar root kullanıcısını pasifleştirmek için: sudo passwd -l root
10 Şubat 2012 Cuma
Reflection
Ref: Aspect-Oriented Programming with C# and .NET [Wolfgang Schult and Andreas Polze | Hasso-Plattner-Institute at University Potsdam {wolfgang.schult|andreas.polze}@hpi.uni-potsdam.de]
As many other component frameworks, .NET mainly focuses on functional interfaces of components. Nonfunctional aspects of components, such as resource usage (CPU, memory), timing behavior, fault-tolerance, or security requirements are currently not expressed in .NET’s component interfaces.
There exist a number of distributed component frameworks, notably the
Most importantly, this model is designed to be language-independent. The C# programming language directly reflects the .NET object model. NET’s focus is rather on the programming model than on any specific language. The .NET framework itself is languageindependent and attempts to provide a reasonable target to which all current languages can map. The framework enables compilers for multiple languages (namely C#, C++, VB) to share a common back end. Multilanguage component mechanisms have existed before, notably CORBA and COM. But they contain a major hurdle – one has to write an interface description in the appropriate interface definition language (IDL) for every component that you make available to the world. There is no IDL with .NET: You just use classes from other languages as if they were from your own. What this means for both component developers and component users is a dramatic simplification of the requirements put on any single development environment. You don’t need libraries addressing every application area. You provide components in your domains of expertise, where you can really bring added value. Where good libraries already exist, you benefit from them at no extra cost.
Metadata information is structured in a hierarchical fashion. At the highest level stands the class System.Reflection.Assembly. An assembly object corresponds to one or more dynamic libraries (DLLs) from which the .NET unit in question is composed. As depicted in Figure 1, class System.Reflection.Module stands on the next lower level of the metadata hierarchy. A module represents a single DLL. This module class accepts inquiries about the types the module contains. Proceeding further down the metadata hierarchy reveals type information for any of the building blocks making up a member of the .NET virtual object system.
Figure 2 presents an excerpt from a C++ program, which uses reflection to display all methods of a given type (MyCalculator in our case).
Windows program. The interface definition can be found in the COR.H, which is contained in the platform software development kit (platform SDK). The interface
IMetaDataImport.IMetaDataAssemblyImport is used for accessing metadata on the .NET assembly level. Access to this interface is obtained via a second interface,
called IMetadataDispenser. As the name indicates, this interface “dispenses” all kinds of additional metadata interfaces, which allow read and write access to .NET metadata. Access to the metadata dispenser is obtained via calls to the COM system as depicted in Figure 3 (here as C++ Code):
The IMetaDataImport interface obtained from the OpenScope() call provides access to the .NET assembly specified in the wszFileName Argument. Information
about the structure of classes contained in that particular .NET assembly and their building blocks is now accessible via functions EnumXXX and GetXXXProps. The
first function returns an enumeration of tokens describing the metadata available, the latter one returns information about the metadata’s properties, which correspond to a particular token. In addition to the token there exists a special way of type encoding. The function GetMethodProps for example gives an array of the type PCOR_SIGNATURE as return value. This array contains the signature of the queried element. The same information can be obtained by multiple calls to EnumXXX and GetXXXProps, however, using the signatures is the more direct approach. Signatures contain only pure type information, whereas GetXXXProps methods reveal also formal parameter names.
Benim Notlarım
.NET defines a type system and introduces notions such as component, object, and interface, which are building blocks for distributed multi-language component-based applications.As many other component frameworks, .NET mainly focuses on functional interfaces of components. Nonfunctional aspects of components, such as resource usage (CPU, memory), timing behavior, fault-tolerance, or security requirements are currently not expressed in .NET’s component interfaces.
There exist a number of distributed component frameworks, notably the
- Common Object Request Broker Architecture (CORBA)
- Microsoft’s Distributed Component Object Model (DCOM/COM+)
- SUN’s JavaBean Model
- .NET framework
3. Overview over the .NET Architecture
Almost a year ago, Microsoft has introduced the .NET architecture as a new component-based programming environment, which allows for easy integration of classical distributed programming techniques with Web computing. At the center of the .NET framework is an object model, called the Virtual Object System (VOS), and at center of the object model is a type system. The object model relies on basic concepts found in many objectoriented languages, such as class, inheritance, dynamic binding, class-based typing and so on. The object model is not, however, identical to the model of any of these languages. Rather, it’s an attempt to define a suitable base that bridges all these languages and others. The type system of .NET gives objects of predefined basic types, such as integers and characters, a clear place in the type system–and it provides a clean way to convert between reference and value types through "boxing" and "unboxing" operations. The result is a more coherent and regular type system than we have seen in the dominant languages so far.Most importantly, this model is designed to be language-independent. The C# programming language directly reflects the .NET object model. NET’s focus is rather on the programming model than on any specific language. The .NET framework itself is languageindependent and attempts to provide a reasonable target to which all current languages can map. The framework enables compilers for multiple languages (namely C#, C++, VB) to share a common back end. Multilanguage component mechanisms have existed before, notably CORBA and COM. But they contain a major hurdle – one has to write an interface description in the appropriate interface definition language (IDL) for every component that you make available to the world. There is no IDL with .NET: You just use classes from other languages as if they were from your own. What this means for both component developers and component users is a dramatic simplification of the requirements put on any single development environment. You don’t need libraries addressing every application area. You provide components in your domains of expertise, where you can really bring added value. Where good libraries already exist, you benefit from them at no extra cost.
4. Metadata and Reflection in .NET
Reflection is a language mechanism, which allows access to type information during runtime. Reflection has been implemented for various object-oriented programming languages, among them Java, C#, and C++. C++ is somewhat special as it implements reflection rather as an add-on (RTTI - runtime type information) than as an inherent language feature. With .NET, reflection is not only restricted to a single language, but basically anything declared as code (any .NET assembly) can be inspected using reflection techniques. There are two variants of accessing runtime type information in .NET: the reflection classes in the common language runtime library and the unmanaged metadata interfaces.4.1. Reflection via Runtime Library
The runtime library´s reflection classes are defined in the namespace of System.Reflection. They build on the fact that every type (class) is derived from Object. There is a public method named GetType, which has as return value an object of the type Type. This type is defined in the namespace System. Every type-instance represents one of three possible definitions:- · a class definition
- · an interface definition
- · a value-class (usually a structure)
Metadata information is structured in a hierarchical fashion. At the highest level stands the class System.Reflection.Assembly. An assembly object corresponds to one or more dynamic libraries (DLLs) from which the .NET unit in question is composed. As depicted in Figure 1, class System.Reflection.Module stands on the next lower level of the metadata hierarchy. A module represents a single DLL. This module class accepts inquiries about the types the module contains. Proceeding further down the metadata hierarchy reveals type information for any of the building blocks making up a member of the .NET virtual object system.
· method (System.Reflection.MethodInfo)
· constructor(System.Reflection.ConstructorInfo )
· property (System.Reflection.PropertyInfo)
· field (System.Reflection.FieldInfo)
· event (System.Reflection.EventInfo)
Figure 2 presents an excerpt from a C++ program, which uses reflection to display all methods of a given type (MyCalculator in our case).
4.2. The Unmanaged Metadata Interfaces
The unmanaged metadata interfaces are a collection of COM interfaces that are accessible from “outside” of the .NET environment. You can access them from anyWindows program. The interface definition can be found in the COR.H, which is contained in the platform software development kit (platform SDK). The interface
IMetaDataImport.IMetaDataAssemblyImport is used for accessing metadata on the .NET assembly level. Access to this interface is obtained via a second interface,
called IMetadataDispenser. As the name indicates, this interface “dispenses” all kinds of additional metadata interfaces, which allow read and write access to .NET metadata. Access to the metadata dispenser is obtained via calls to the COM system as depicted in Figure 3 (here as C++ Code):
The IMetaDataImport interface obtained from the OpenScope() call provides access to the .NET assembly specified in the wszFileName Argument. Information
about the structure of classes contained in that particular .NET assembly and their building blocks is now accessible via functions EnumXXX and GetXXXProps. The
first function returns an enumeration of tokens describing the metadata available, the latter one returns information about the metadata’s properties, which correspond to a particular token. In addition to the token there exists a special way of type encoding. The function GetMethodProps for example gives an array of the type PCOR_SIGNATURE as return value. This array contains the signature of the queried element. The same information can be obtained by multiple calls to EnumXXX and GetXXXProps, however, using the signatures is the more direct approach. Signatures contain only pure type information, whereas GetXXXProps methods reveal also formal parameter names.
5. A C# Attribute to express Fault-tolerance Requirements
Within this Section we are presenting a simple calculator in C# as a case study. We use the calculator as basis for a discussion on how functional (C#) and nonfunctional (aspect) code can be combined.9 Şubat 2012 Perşembe
GetCreationTime & GetLastWriteTime
// local times DateTime creationTime = File.GetCreationTime(@"c:\file.txt"); DateTime lastWriteTime = File.GetLastWriteTime(@"c:\file.txt"); DateTime lastAccessTime = File.GetLastAccessTime(@"c:\file.txt"); // UTC times DateTime creationTimeUtc = File.GetCreationTimeUtc(@"c:\file.txt"); DateTime lastWriteTimeUtc = File.GetLastWriteTimeUtc(@"c:\file.txt"); DateTime lastAccessTimeUtc = File.GetLastAccessTimeUtc(@"c:\file.txt"); // write file last modification time (local / UTC) Console.WriteLine(lastWriteTime); // 9/30/2007 2:16:04 PM Console.WriteLine(lastWriteTimeUtc); // 9/30/2007 6:16:04 PM // FileInfo ile FileInfo fileInfo = new FileInfo(@"c:\file.txt"); // local times DateTime creationTime = fileInfo.CreationTime; DateTime lastWriteTime = fileInfo.LastWriteTime; DateTime lastAccessTime = fileInfo.LastAccessTime; // UTC times DateTime creationTimeUtc = fileInfo.CreationTimeUtc; DateTime lastWriteTimeUtc = fileInfo.LastWriteTimeUtc; DateTime lastAccessTimeUtc = fileInfo.LastAccessTimeUtc; // write file last modification time (local / UTC) Console.WriteLine(lastWriteTime); // 9/30/2007 2:16:04 PM Console.WriteLine(lastWriteTimeUtc); // 9/30/2007 6:16:04 PM
Ref: http://www.csharp-examples.net/file-creation-modification-time/
Stackoverflow'dan DateTime tür dönüşümleri üzerine bir cevap
Given that you are parsing the date from a string, the system has no way of knowing what kind of DateTime you are parsing.DateTime has a Kind property, which can have one of the three values:
Unspecified
Local
Utc
So for the code you show:
DateTime convertedDate = DateTime.Parse(dateStr); var kind = convertedDate.Kind; // will equal DateTimeKind.Unspecified You say you know what kind it is, so tell it. DateTime convertedDate = DateTime.SpecifyKind( DateTime.Parse(dateStr), DateTimeKind.Utc);var kind = convertedDate.Kind; // will equal DateTimeKind.Utc
Now, once the system knows its in UTC time, you can just call ToLocalTime:
DateTime dt = convertedDate.ToLocalTime();This will give you the result you require.
Etiketler:
CreationTime,
File,
FileInfo,
GetCreationTime,
GetLastWriteTime,
LastAccessTime,
LastWriteTime
Assembly Version ve Assembly File Version
Ref: http://support.microsoft.com/kb/556041
Assembly'nin Version ve File Version bilgileri
Her assembly için bu tanımlar yapılabilir. Versiyon numarası, framework tarafından asssembly'yi compile ederken veya çalıştırırken bulmak için kullanılır. Versiyon numarası, referans verilmiş assembly'ler için gömülü tutularak kullanılır. Çalışma zamanındada CLR bu versiyon numarası ile assembly'yi arar, bulur ve yükler.
Versiyon numarasının otomatik(her build ile) arttırlması için rakam yerine * kullanabiliriz. Codeplex'te güzel bir araç bizi bekliyor bu durumlar için.
Kısaca:
Assembly'nin Version ve File Version bilgileri
AssemblyInfo.cs
içerisinde şöyle bulunur:// Version information for an assembly consists of the following four values: // // Major Version // Minor Version // Build Number // Revision // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.1")]
Her assembly için bu tanımlar yapılabilir. Versiyon numarası, framework tarafından asssembly'yi compile ederken veya çalıştırırken bulmak için kullanılır. Versiyon numarası, referans verilmiş assembly'ler için gömülü tutularak kullanılır. Çalışma zamanındada CLR bu versiyon numarası ile assembly'yi arar, bulur ve yükler.
Strong-Name İmzalı Assembly
Versiyon numarası, Public key token, Name, Culture information bilgileri ile strong-named ile imzalanmışsa kullanılır.
Strong-Name İmzası Olmayan Assembly
Sadece dosya adı kullanılarak yüklenir
Versiyon numarasının otomatik(her build ile) arttırlması için rakam yerine * kullanabiliriz. Codeplex'te güzel bir araç bizi bekliyor bu durumlar için.
Kısaca:
FileVersion
Dosyaya sağ tuş ve ayrıntılar tabında görebileceğimiz değerdir.string path = Path.GetDirectoryName((new UriBuilder(Assembly.GetExecutingAssembly().CodeBase)).Path); Assembly assembly = Assembly.LoadFile(path + "\\ClsUpdate.dll"); Version s = assembly.GetName().Version
Kaydol:
Kayıtlar (Atom)