Kategoriler


SON YORUMLAR
Ömer Faruk
Öncelikle güzel bir yazı olmuş.Benim küçüklüğümden beri B.M.ne ilgim vardı babamda olmak istemiş ama olamamış daha 9. Sınıftayım ve hala aklıma gelen ve istediğim tek meslek BİLGİSAYAR MÜHENDİSLİĞİ
yazilim mühendisi
Java, C/C++, python, perl vs ve bilgisayar müh. derslerinizin ödevleri garantili yapılır, geçen sene olduğu gibi yazilimcialper@gmail.com , yazilimcialper@gmail.com
TATAR RAMAZAN MALI
Beyler bayanlar. Simdi size tatar ramazan mali ornek veriyor ya bende vereyim dedim. Top 5 10 isterse son 5 ne okul olursa olsun derslerinizi onemseyip ingilizcenizi kasın. Bunlar hayati seyler. Torpil referans vs vs varsa is bulmanjz kolaylasir amaaa normal olarakta bulabilirsiniz işten cok ne vr. Tabikide odtu itu mezunu glistirmis kendini bazilari 3.5 2.5 k maasla baslarken siz 1.5 2 baslayabilirsiniz ama bu bir sorun olmamali sizin icin takmayin. 2 3 yil tecrubeden sonra okudugunuz okulun ismi felan önemli olmayacak. Polonyada 3. Yillik okumus bir ablam simdi istanbulda sektore girdi baslangic maasi 2.5 bakin tam olarak muhendis bile degil. Bu tatar ramazan icindeki seyelri kusuyor . Kendi karsilastigi olaylari. Ayrica sakarya unisindenim bende. Ramazan mali ver ismini cismini hocalara sorduralim.
buşra
Hocam hazirlik derslerini soyler misiniz?
can
bilgisayar mühendisliğine dgs ile geçiş yapıcam puanım gtü-gazi-kocaeli.ne yetiyor ama gebze teknik %100 ile 5 yıl okutuyor,gazininde teknoloji fakültesine puanım yetiyor (mühendislik fakültesinden farkı ne bilmiyorum),kocaelininde her dersten geçme notu 65. sizce hangisini seçmeliyim neden?(ingilizcem çok iyi degil ve 2 senedir dgs çalıştıgım için çogu programı unuttum)
K4RN4L
İleride en iyi bilgisayar mühendisi olacağım. yapacaklarımın haddi hesabı olmayacak sadece biraz hırs ve azim
Rabia
Gerçekten faydalı bir yazı olmuş öncelikle teşekkürler:) gerçekten bilgisayar mühendisliği hayalim hele ki Googleda çalışmak elimden geleni yapicam burdan da söz veriyorum SAYGILARIMLA:))
Öğrenmeye Aç, Bir Misafir!
Abi seni daha (12.08.2018) yeni keşfettim. Ben aslında bilgisayar mühendisliğini 2 dala ayrılıdığını biliyordum, hani şöyle 1- Yazılım Mühendisliği 2- Donanım Mühendisliği (PC parçası yapmak gibi şeyler) biliyorum, saçma geliyor ama bildiğimi sanıyordum ta ki; bu siteyi bulana kadar! Meğer bilgisayar mühendisliği zaten yazılımla ilgileniyormuş.. Abi bu arada 10. Sınıfım, İngilizce seviyem gayet iyi daha da geliştirmeye çalışıcam... Hayalim B.M olmaktı, İnşallah olurum bu arada sayfanın kalitesini biraz daha geliştirebilirsin. Ya hani çok sade duruyor.... ;) Selamlar!!
Tatar Ramazan
Türkkep .net mi java mı istiyorsun. Onu yaz önce. Ben devlette rahatım her çıkan teknolojiyi öğrenenem. Rahat bırakın beni. Bir ton niteliğimiz var MVC bilmiyoruz diye boş teneke muamelesi görüyoruz. Bilişim sektörü köle arıyor. 90lı yıllarda bir tane desktop geliştirme dili, bir tane veritabanı bilirdin tamam. Şimdi 10 tane teknoloji bilecen. Yok yaa! Kılı kırk yaracaklar, tipimizi beğenmeyecekler. Sizinle mi uğraşcaz be! Üniversiteyi uzatan, baraja takılan adamları işe alırlar. Ben bölümün en çalışkanlardandım. Bize afra tafra yaptılar. YDS ye hazırlanıyorum. Günde 1500 kelimeyi tekrar ediyorum. Aşırı çalışmaktan sinir sistemim iflas etti.
İsmail Bayram
Benim için çok faydalı oldu teşekkürler :)
Çağrı
Çok güzel makale olmuş. Ellerinize sağlık. Bir sorum olacak Ankara.da üniversite okumak iyi bir tercih mi? şuan ki maddi durumum İstanbula gelmek için yetersiz bilgili biri cevaplarsa sevinirim
Türkkep
E-Dönüşüm sürecinde Özel Entegratör (E-Fatura, E-Defter, E-Arşiv Fatura, E-İmza, E-Saklama, E-Tebligat, E-Mutabakat, E-Bordro, E-Yazışma gibi) olarak faaliyet gösteren, kurumsal ve bireysel müşterilerimize ülke genelinde yaygın olarak çözüm ve servis sağlayan kurumumuzun, bilgi teknolojileri ekibine Yazılım Geliştirme Mühendisi arıyoruz. İlgilenenlerin cv lerini esra.dakak@turkkep.com.tr adresine göndermeleri rica olunur.
proje destek
arduino ile sulama sistemi tasarımı. kontrolü uzaktan arayüz ile yapılacak. İlgilenen olursa lady.scientist.71@gmail.com
Pluto Loans
Merhaba, Herkesin proje, iş, konut, konsolidasyon vb. Için daha fazla paraya ihtiyaç duyduğu yılın bu zamanı. Şu anda% 3.lük düşük bir oranla 24 saat kredi veriyoruz, ilgilenen müşterilerimiz lütfen bize ulaşın e-posta adresi: plutocreditfinancier@gmail.com Telefon: +442033221063

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
ViewState Compression
Differences between ASP and ASP.NET
Ajax kullananlar için yükleniyor resimleri
İş bulmak üzerine
Neden yazılım uzmanı olamayacağınızın 10 kanıtı?
Bilgisayar Mühendisi olmanın 10 iyi yönü.
Kurumsal Yazılım Geliştirmede C# ve Java Savaşı, IDE’lerin Önemi
En büyük sıkıntı
En büyük sıkıntı
Database programlama...
Database programlama...
Bilgisayar Mühendisleri Kaç Para Alır?
Bilgisayar Mühendisleri Kaç Para Alır?
Java Dersleri 1: İlk Bakışta JSP (Java Server Pages)
Bilgisayar mühendisliği öldü?
Web Servislerinde Parametre Girisinin Gosterilmesi
Kısa sorular Kısa Cevaplar - 2
Rus Yandex İstanbul'a teknokent kuruyor
Online Java Dersleri - İstisnalar - Exceptions
Kim neyi niye seçer? Java mı c# mı? Oracle vs SqlServer?

Bilgisayar Mühendisleri Portalı

ViewState Compression

Compressing and Decompressing Data in Memory

First of all, we need a way to compress and decompress an array of bytes in memory. I put together this simple static class that exposes two methods: Compress and Decompress. The two available classes, GZipStream and DeflateStream, according to MSDN, use the same algorithm, so it's irrelevant which one you choose.

The code below is really simple, and doesn't need further explanation:

Collapse
using System.IO;
using System.IO.Compression;

public static class Compressor {

  public static byte[] Compress(byte[] data) {
    MemoryStream output = new MemoryStream();
    GZipStream gzip = new GZipStream(output, 
                      CompressionMode.Compress, true);
    gzip.Write(data, 0, data.Length);
    gzip.Close();
    return output.ToArray();
  }

  public static byte[] Decompress(byte[] data) {
    MemoryStream input = new MemoryStream();
    input.Write(data, 0, data.Length);
    input.Position = 0;
    GZipStream gzip = new GZipStream(input, 
                      CompressionMode.Decompress, true);
    MemoryStream output = new MemoryStream();
    byte[] buff = new byte[64];
    int read = -1;
    read = gzip.Read(buff, 0, buff.Length);
    while(read > 0) {
      output.Write(buff, 0, read);
      read = gzip.Read(buff, 0, buff.Length);
    }
    gzip.Close();
    return output.ToArray();
  }
}

You need to save this class in a .cs file and put it in the App_Code directory of your ASP.NET application, making sure it's contained in the proper custom namespace (if you don't specify any namespace, the class will be available in the built-in ASP namespace).

Compressing the ViewState

Now, we can actually compress the ViewState of the page. To do that, we have to override the two methods LoadPageStateFromPersistenceMedium and SavePageStateToPersistenceMedium. The code simply uses an additional hidden field, __VSTATE, to store the compressed ViewState. As you can see, by viewing the HTML of the page, the __VIEWSTATE field is empty, while our __VSTATE field contains the compressed ViewState, encoded in Base64. Let's see the code.

Collapse
public partial class MyPage : System.Web.UI.Page {

  protected override object LoadPageStateFromPersistenceMedium() {
    string viewState = Request.Form["__VSTATE"];
    byte[] bytes = Convert.FromBase64String(viewState);
    bytes = Compressor.Decompress(bytes);
    LosFormatter formatter = new LosFormatter();
    return formatter.Deserialize(Convert.ToBase64String(bytes));
  }

  protected override void SavePageStateToPersistenceMedium(object viewState) {
    LosFormatter formatter = new LosFormatter();
    StringWriter writer = new StringWriter();
    formatter.Serialize(writer, viewState);
    string viewStateString = writer.ToString();
    byte[] bytes = Convert.FromBase64String(viewStateString);
    bytes = Compressor.Compress(bytes);
    ClientScript.RegisterHiddenField("__VSTATE", Convert.ToBase64String(bytes));
  }

  // The rest of your code here...
}

In the first method, we just decode from Base64, decompress and deserialize the content of the __VSTATE, and return it to the runtime. In the second method, we perform the opposite operation: serialize, compress, and encode in Base64. The Base64 string is then saved into the __VSTATE hidden field. The LosFormatter object performs the serialization and deserialization tasks.

You may also want to create a new class, for example, CompressedPage, inheriting from System.Web.UI.Page, in which you override the two methods and then inherit your page from that class, for example MyPage : CompressedPage. Just remember that .NET has only single inheritance, and by following this way, you "spend" your only inheritance chance to use the ViewState compression. On the other hand, overriding the two methods in every class is a waste of time, so you have to choose the way that best fits your needs.

Performances and Conclusions

After a few tests, I noticed that the ViewState has been reduced from 38 KB to 17 KB, saving 44%. Supposing you have an average of 1 postback per minute per user, you could save more than 885 MB of bandwidth per month on every single user. That's an excellent result: you save bandwidth (and therefore money), and the user notices a shorter server response time.

I wanted to point out that this solution has a performance hit on the server's hardware. Compressing, decompressing, encoding, and decoding data is quite a heavy work for the server, so you have to balance the number of users with your CPU power and RAM.

Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın




Copyright© 2001-2018. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.