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
1 Şubat 2012 Çarşamba
27 Ocak 2012 Cuma
ARP (Address Resolution Protocol) Hakkında bakındıklarım
En temiz kaynak tabii ki:
Silme işlemi:
Sildikten sonra:
ARP'ın Ön Belleğinin(cache) Görünümü
ARP içine olmayan bir IP adresinin olmayan bir MAC adresi ile kaydı
C:\Users\Administrator>arp -s 192.168.101.101 00-aa-bb-cc-dd-ee
C:\Users\Administrator>arp -a 192.168.101.101 Interface: 10.214.36.74 --- 0xd Internet Address Physical Address Type 192.168.101.101 00-aa-bb-cc-dd-ee static Netsh kullanımı: technet.microsoft.com C:\Users\Administrator>
ARP Ön Belleğinin(cache) Silinmesi
Silmeden önce bakalım:Silme işlemi:
Sildikten sonra:
Bir dizi işlem
- Ön belleği silelim.
C:\Users\Administrator>netsh interface ip delete arpcache Ok.
- Olmayan IP adresi ile olan bir MAC adresini eşleyerek girelim:
C:\Users\Administrator>arp -s 192.168.101.101 00-14-a5-76-19-3f
- ARP Tablomuzda son duruma bakalım:
C:\Users\Administrator>arp -a Interface: 10.214.36.74 --- 0xd Internet Address Physical Address Type 10.214.36.3 68-b5-99-9a-6e-c0 dynamic 10.214.36.255 ff-ff-ff-ff-ff-ff static 192.168.101.101 00-14-a5-76-19-3f static 255.255.255.255 ff-ff-ff-ff-ff-ff static Interface: 192.168.68.1 --- 0x10 Internet Address Physical Address Type 192.168.68.255 ff-ff-ff-ff-ff-ff static Interface: 192.168.198.1 --- 0x11 Internet Address Physical Address Type 192.168.198.255 ff-ff-ff-ff-ff-ff static
- Bu adresi pingleyelim:
C:\Users\Administrator>ping 192.168.101.101 Pinging 192.168.101.101 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 192.168.101.101: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
- MAC adresinin gerçek adresini pingleyelim:
C:\Users\Administrator>ping 10.214.36.246 Pinging 10.214.36.246 with 32 bytes of data: Reply from 10.214.36.246: bytes=32 time=7ms TTL=128 Reply from 10.214.36.246: bytes=32 time=2ms TTL=128 Reply from 10.214.36.246: bytes=32 time=2ms TTL=128 Reply from 10.214.36.246: bytes=32 time=2ms TTL=128 Ping statistics for 10.214.36.246: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 2ms, Maximum = 7ms, Average = 3ms
- ARP Tablomuzda son duruma bakalım:
C:\Users\Administrator>arp -a Interface: 10.214.36.74 --- 0xd Internet Address Physical Address Type 10.214.36.3 68-b5-99-9a-6e-c0 dynamic 10.214.36.246 00-14-a5-76-19-3f dynamic 10.214.36.255 ff-ff-ff-ff-ff-ff static 192.168.101.101 00-14-a5-76-19-3f static 255.255.255.255 ff-ff-ff-ff-ff-ff static Interface: 192.168.68.1 --- 0x10 Internet Address Physical Address Type 192.168.68.255 ff-ff-ff-ff-ff-ff static Interface: 192.168.198.1 --- 0x11 Internet Address Physical Address Type 192.168.198.255 ff-ff-ff-ff-ff-ff static C:\Users\Administrator>
C:\Users\Administrator>netsh interface ip delete arpcache Ok. C:\Users\Administrator>arp -s 192.168.101.101 00-14-a5-76-19-3f C:\Users\Administrator>ping 192.168.101.101 Pinging 192.168.101.101 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 192.168.101.101: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), C:\Users\Administrator>arp -a Interface: 10.214.36.74 --- 0xd Internet Address Physical Address Type 10.214.36.3 68-b5-99-9a-6e-c0 dynamic 10.214.36.255 ff-ff-ff-ff-ff-ff static 192.168.101.101 00-14-a5-76-19-3f static 255.255.255.255 ff-ff-ff-ff-ff-ff static Interface: 192.168.68.1 --- 0x10 Internet Address Physical Address Type 192.168.68.255 ff-ff-ff-ff-ff-ff static Interface: 192.168.198.1 --- 0x11 Internet Address Physical Address Type 192.168.198.255 ff-ff-ff-ff-ff-ff static C:\Users\Administrator>ping 10.214.36.246 Pinging 10.214.36.246 with 32 bytes of data: Reply from 10.214.36.246: bytes=32 time=7ms TTL=128 Reply from 10.214.36.246: bytes=32 time=2ms TTL=128 Reply from 10.214.36.246: bytes=32 time=2ms TTL=128 Reply from 10.214.36.246: bytes=32 time=2ms TTL=128 Ping statistics for 10.214.36.246: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 2ms, Maximum = 7ms, Average = 3ms C:\Users\Administrator>arp -a Interface: 10.214.36.74 --- 0xd Internet Address Physical Address Type 10.214.36.3 68-b5-99-9a-6e-c0 dynamic 10.214.36.246 00-14-a5-76-19-3f dynamic 10.214.36.255 ff-ff-ff-ff-ff-ff static 192.168.101.101 00-14-a5-76-19-3f static 255.255.255.255 ff-ff-ff-ff-ff-ff static Interface: 192.168.68.1 --- 0x10 Internet Address Physical Address Type 192.168.68.255 ff-ff-ff-ff-ff-ff static Interface: 192.168.198.1 --- 0x11 Internet Address Physical Address Type 192.168.198.255 ff-ff-ff-ff-ff-ff static C:\Users\Administrator>
Son olarak: ARP'ın kullanımı
C:\Users\Administrator>arp Displays and modifies the IP-to-Physical address translation tables used by address resolution protocol (ARP). ARP -s inet_addr eth_addr [if_addr] ARP -d inet_addr [if_addr] ARP -a [inet_addr] [-N if_addr] [-v] -a Displays current ARP entries by interrogating the current protocol data. If inet_addr is specified, the IP and Physical addresses for only the specified computer are displayed. If more than one network interface uses ARP, entries for each ARP table are displayed. -g Same as -a. -v Displays current ARP entries in verbose mode. All invalid entries and entries on the loop-back interface will be shown. inet_addr Specifies an internet address. -N if_addr Displays the ARP entries for the network interface specified by if_addr. -d Deletes the host specified by inet_addr. inet_addr may be wildcarded with * to delete all hosts. -s Adds the host and associates the Internet address inet_addr with the Physical address eth_addr. The Physical address is given as 6 hexadecimal bytes separated by hyphens. The entry is permanent. eth_addr Specifies a physical address. if_addr If present, this specifies the Internet address of the interface whose address translation table should be modified. If not present, the first applicable interface will be used. Example: > arp -s 157.55.85.212 00-aa-00-62-c6-09 .... Adds a static entry. > arp -a .... Displays the arp table.
26 Ocak 2012 Perşembe
Ortak kütüphane bağlantılarım ve cs lerden dll üretme
http://xp-dev.com/svn/Cem_Kutuphane_CSharp/trunk/CemKutuphane/CemKutuphane/bin/Debug/CemKutuphane.dll
Sadece Extensions.dll için:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE
------- Derlenirken verilecek referans dll dosyaları:
/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll
/reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll"
/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll
/debug+
/debug:full
/filealign:512
/optimize-
/out:$(ProjectDir)bin\Debug\Extensions.dll
/target:library
/warnaserror-
------- Derlenecek cs dosyaları:
$(ProjectDir)Extensions.cs
"$(ProjectDir)Properties\AssemblyInfo.cs"
Sadece Extensions.dll için:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE
------- Derlenirken verilecek referans dll dosyaları:
/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll
/reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll"
/reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll
/debug+
/debug:full
/filealign:512
/optimize-
/out:$(ProjectDir)bin\Debug\Extensions.dll
/target:library
/warnaserror-
------- Derlenecek cs dosyaları:
$(ProjectDir)Extensions.cs
"$(ProjectDir)Properties\AssemblyInfo.cs"
23 Ocak 2012 Pazartesi
C# ile Process çağırma
Ref: www.jonasjohn.de
// This snippet needs the "System.Diagnostics" library // Application path and command line arguments string ApplicationPath = "C:\\example.exe"; string ApplicationArguments = "-c -x"; // Create a new process object Process ProcessObj = new Process(); // StartInfo contains the startup information of the new process ProcessObj.StartInfo.FileName = ApplicationPath; ProcessObj.StartInfo.Arguments = ApplicationArguments; // These two optional flags ensure that no DOS window appears ProcessObj.StartInfo.UseShellExecute = false; ProcessObj.StartInfo.CreateNoWindow = true; // If this option is set the DOS window appears again :-/ // ProcessObj.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; // This ensures that you get the output from the DOS application ProcessObj.StartInfo.RedirectStandardOutput = true; // Start the process ProcessObj.Start(); // Wait that the process exits ProcessObj.WaitForExit(); // Now read the output of the DOS application string Result = ProcessObj.StandardOutput.ReadToEnd();
ARP dos komutundan verileri okumak
Ref: http://mostthingsweb.comclass Program { static void Main(string[] args) { string sIp = "10.214.36.245"; var arpStream = ExecuteCommandLine("arp", "-a " + sIp); // Consume first three lines for (int i = 0; i < 3; i++) { var s = arpStream.ReadLine(); } // Read entries while (!arpStream.EndOfStream) { var line = arpStream.ReadLine().Trim(); while (line.Contains(" ")) { line = line.Replace(" ", " "); } var parts = line.Split(' '); string sMacAdresi = parts[1].Replace("-", "").ToUpper().Trim(); } } public static StreamReader ExecuteCommandLine(String file, String arguments = "") { ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.CreateNoWindow = true; startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.UseShellExecute = false; startInfo.RedirectStandardOutput = true; startInfo.FileName = file; startInfo.Arguments = arguments; Process process = Process.Start(startInfo); return process.StandardOutput; } }
22 Ocak 2012 Pazar
Qt C++ 1 (Signal, Slot, Class Yapısı)
QT ile GUI si olan Application'lat oluşturma
QML(ekran tasarımını içeren kodların dosyası(declaratif lang. örneği)) ve C++ kod dosyalarını (runtime çalışacak dosyaları) içeren proje tipi:QtQuickUI ile ekran tasarımını yaptığınız Declarive desteği ile kodladığınız ortam:
Qt Widget Project ile GUI Application
QWidget Gui App
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT // Tüm sınıflar Object'ten türemiştir ve bu makro ile sınıfı QObject'e dönüştürür. public: // public metotları, değişkenleri yazıyoruz explicit MainWindow(QWidget *parent = 0); // Yapıcı metot ~MainWindow(); // Yıkıcı metot private: // private metotları, değişkenleri yazıyoruz Ui::MainWindow *ui; // Ui namespace içinde MainWindow tipinde ui değişkeni var } #endif // MAINWINDOW_H
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; }
Signal tetikleyici, Slot sonlandırıcı
Ben bekarken: Mecimek Çorbasında 22.01.12 itibarıyla son durum
Lezzeti güzel. Yok yok "çok güzel" ama tuz az olmuş. Birazda kırmızı biber çok olmuş gibi. Çok rondo ya da blender dan geçirmedim azıcık parçaları hissedeyim diye. Sonrakine daha bir rondolicem.
Tom'un hediyesi aynı yerde ;)
2012 Opel Corsa ile bir depo yolculuk
Önce 199,1 km idi.
Ağzına kadar doldurdum.
Sonradan 60 TL lik yakıt aldım (litresisi 3,96 TL den 15,15 litre mazot).
Gittim de gittim....
Tekrar ağzına kadar doldurduğum zaman kilometre 1445,8'i gösteriyordu.
Son dolumda 166,8 Liraya 42,12 litre mazot doldurmuştum(ilki gibi ağzına kadar).
Hız Sabitleyici (Cruise Control) kullanarak 70-80-90-100 km hızlarında gittim.
Ortalama yakıt tüketimi en son 4.9 litre idi 100 kilometrede(son 40-50 kilometrede çok boşa attım o vakte kadar 5,1 litre ortalama vardı).
Yolculuk esnasında anlık ortalama tüketim 4,5-6,5 aralığında seyir etmişti. Hız sabitleyici sayesinde yokuş yukarı giderken tüketimi arttırıyor(sabit hıza çıkmak için) yokuş aşağı giderken eğer sabitlenen hıza ulaşmak için gerekirse gaz veriyordu. Bu sayede benim o hıza ulaşmak için kontrolsüz gaz pedalına basışıma gerek kalmıyor ve gerekeni harcıyordu. Yokuş aşağı eğer gaz vermeden daha yüksek hızlara ulaşıyorsa sabitlenen hızda ilerlemek için motor freni yapıyor ama yakıt tüketimini 0(sıfır) gösteriyordu. Bu durumlarda peygamber vitesine(boşa) aldığımda ise 0,3-0,5 litre anlık tüketim gösteriyordu. Demek oluyor ki boşa almak yerine hız sabitleyici ile devam etmek daha az yakıt tüketimi sağlıyor.
Sonuç olarak; 1246 kilometre yolu 226 liraya yani 57,5 litre mazotla gitmişim.
Bu da kilometrede 0,18 lira, 0,046 litre tüketim demektir.
Ağzına kadar doldurdum.
Sonradan 60 TL lik yakıt aldım (litresisi 3,96 TL den 15,15 litre mazot).
Gittim de gittim....
Tekrar ağzına kadar doldurduğum zaman kilometre 1445,8'i gösteriyordu.
Son dolumda 166,8 Liraya 42,12 litre mazot doldurmuştum(ilki gibi ağzına kadar).
Hız Sabitleyici (Cruise Control) kullanarak 70-80-90-100 km hızlarında gittim.
Ortalama yakıt tüketimi en son 4.9 litre idi 100 kilometrede(son 40-50 kilometrede çok boşa attım o vakte kadar 5,1 litre ortalama vardı).
Yolculuk esnasında anlık ortalama tüketim 4,5-6,5 aralığında seyir etmişti. Hız sabitleyici sayesinde yokuş yukarı giderken tüketimi arttırıyor(sabit hıza çıkmak için) yokuş aşağı giderken eğer sabitlenen hıza ulaşmak için gerekirse gaz veriyordu. Bu sayede benim o hıza ulaşmak için kontrolsüz gaz pedalına basışıma gerek kalmıyor ve gerekeni harcıyordu. Yokuş aşağı eğer gaz vermeden daha yüksek hızlara ulaşıyorsa sabitlenen hızda ilerlemek için motor freni yapıyor ama yakıt tüketimini 0(sıfır) gösteriyordu. Bu durumlarda peygamber vitesine(boşa) aldığımda ise 0,3-0,5 litre anlık tüketim gösteriyordu. Demek oluyor ki boşa almak yerine hız sabitleyici ile devam etmek daha az yakıt tüketimi sağlıyor.
Sonuç olarak; 1246 kilometre yolu 226 liraya yani 57,5 litre mazotla gitmişim.
Bu da kilometrede 0,18 lira, 0,046 litre tüketim demektir.
Kaydol:
Kayıtlar (Atom)