Facebook’ un fotoğrafları etiketleme (tag) lama mekanızmasını bilmeyen yoktur herhalde. Geçen gün lazım oldu ara tara bir türlü istediğim gibisini bulamadım. İsteğimize en yakın olan olan scripti gözüme kestirip facebook vari bir etiketleme mekanızması yapmaya çalıştım. (Scriptin (betik) orjinal halini bir türlü bulamadım, unutmazsam yarın eklerim.) Betiğe eklediğim özellikler; etiketleme sırasında arkadaşların listesi geliyor ve tıklayıp o kişiyi etiketleyebiliyorsunuz. Arkadaş listenizde arama yapabiliyorsunuz. Etiketleme işlemlerini veritbanına yazma ve okuma. Ufak tefek bir kaç ayar daha verdim. Betik kullanılacağı yere göre kolayca düzenlebilir. Bundan dolayı bir kullanıcı etiketlenmişse tekrar etiketlenemesin veya benzeri durumlar için hiç bir işlem yapmadım, heh unutmadan sql enjeksiyona önleminizi almadan direk kullanmayın. İsteyen istediği gibi düzenleyip kullanabilir, zaten görünce ne kadar basit bir şey olduğunu göreceksiniz.
Son günlerde o api senin bu api benim uğraşıp duruyor, kim mi ? Tabi ki Emre abi :) Twitter’ a göre çok bilindik olmasada FriendFeed’ de azımsanmıyacak bir kullanıcı kitlesine sahip. Basit bir şekilde FF hesabınıza nasıl gönderi yapabileceğimizi göreceğiz. İlk önce api keyinizi https://friendfeed.com/account/api adresinden öğrenip, projemize referans olarak Microsoft.Http.dll‘ yi ekliyoruz. (daha fazla…)
Ne garip bir başlık oldu yav :) String to Hex, Hex to String yazacaktım sonra
dedim güzel Türkçe' mi kullanayım. Geçenlerde başımız bir session nesnesi
yüzünden okadar ağırdıki tarifi inanın mümkün değil. İlgili kodları şekilden
şekile soktuk, amuda bile kaldırdık ama bir türlü çözüm bulamadık. En sonunda
session daki veriyi bir anahtarla birlikte şifreleyip adres çubuğundan taşıyalım
dedik. Nitekimde başarılı olduk ama zaman zaman sıkıntılar olduğunu gözledik.
Arkadaş zaten canımızı çıkaran bir durumdu tam hallettik derken yine hata almak
ciddi şekilde canımızı sıktı. Sıkıntı şifrelenen verinin + ^ | gibi
karakterlerin adres çubuğundan taşınırken problem çıkarmasından ileri
geliyormuş. HtmlDecode ve benzeri aksiyonların işe yaramadığı bir durum.
Emre abi
nin imda da yetiştiği bu durumda, karşı tarafa şifrelenmiş veriyi Hex formatına
dönüştürüp adres çubuğundan taşıyıp, sonrasında Hex veriyi stringe dönüştürerek
başarılı bir şekilde taşımış olduk. Böylelikle ciddi bir tecrübe edinmiş olduk,
demekki karmaşık karakterli verileri işlemler sonunda Hex formatında taşımak
gayet sağlıklı oluyormuş. Bu durumda dönüşümler kullandığımız kodları sizlerle
paylaşmak istedim.
public string ConvertStringToHex(string asciiString)
{
string hex = "";
foreach (char c in asciiString)
{
int tmp = c;
hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString()));
}
return hex;
}
public string ConvertHexToString(string HexValue)
{
string StrValue = "";
while (HexValue.Length > 0)
{
StrValue += System.Convert.ToChar(System.Convert.ToUInt32(HexValue.Substring(0, 2), 16)).ToString();
HexValue = HexValue.Substring(2, HexValue.Length - 2);
}
return StrValue;
}
jQuery çatısının çok tercih edilme sebeplerinin başında, bolca dökümanın ve eklentisinin olması geliyor. Son zamanlar da birazdan sıralayacağım eklentileri çok kullanır oldum. Sebebide işlerini gayet başarılı bir şekilde yapmaları, kullanımlarının son derece basit olması ve boyutlarının makul seviyede olması.
- Easy Slider: Eklentinin sayfasına buradan ulaşabilirsiniz. Günümüz sayfalarında görmeye alıştığımız, sağa sola kayan ve içerisinde fotoğraf yada yazıların sergilendiği panellere slider diyoruz. Easy slider adının hakkını sonuna kadar veriyor, kullanımı, kişiselleştirmesi son derece basir bir eklenti. Numaralandırma, sürekli döngü, yatay dikey konumlandırma, vb.. bir çok özelliğe sahip.
- InnerFade: Eklentinin sayfasına buradan ulaşabilirsiniz. Bu eklenti gerçekten çok işlevsel, birden fazla şekilde kullanmak mümkün. Yeni içeriği yazı olarak duyurma (newsticker), görselleri slayt şeklinde gösterebilme gibi..
- tipsy: Eklentinin sayfasına buradan ulaşabilirsiniz. İpucu aracı (tooltip) lazım olduğunda vazgeçemediğim bir eklenti. Kullanımı son derece basit olması gerektiği kadar özelliği olan bir eklenti. Çok jan janlı değil ama etkili bir ipucu aracı. Form elementlerinde de kullanılabiliyor olması bana göre ekstra bir avantaj.
TimeSpan iki zaman arasındaki farkı bize veren bir fonksiyon. Kullanımıda
gerçekten çok basit. İşlemin sonunda bize milisaniye, saniye, dakika, saat ve gün değerlerini double tipinde geri döndürüyor.
Facebook, friendfeed veya twitter gibi sitelerde, bu içerik bir kaç saniye önce
eklendi yada 5 saat önce yüklendi gibi mesajları görmüşsünüzdür, TimeSpan
kullanarak bu işlemin nasıl yapıldığına bir göz atalım.
protected void Page_Load(object sender, EventArgs e)
{
DateTime hesaplanacakZaman = new DateTime(2010, 05, 15, 21, 23, 00);
Response.Write(neZaman(hesaplanacakZaman));
}
public string neZaman(DateTime d) {
TimeSpan tS = DateTime.Now-d;
int dakika = (int)tS.TotalMinutes;
int saat = (int)tS.TotalHours;
int gun = (int)tS.TotalDays;
string strTemp;
if (dakika < 1)
{
strTemp = "bir kaç saniye önce";
}
else if (dakika < 60)
{
strTemp = dakika+" dakika önce";
}
else if (saat < 24)
{
strTemp = saat+" saat önce";
}
else
{
strTemp = gun+" gün önce";
}
return strTemp;
}
Gördünüz gibi gayet basit ve anlaşılır bir yöntem. Sonraki yazıda görüşmek üzere hoşçakalın..
Bu sene 3. sü düzenlenen blog ödülleri(bö!) yarışmasında Hepsiburada.com teknoloji kategorisinde apostylee.com ile birinci oldum. Oy veren ve katkıda bulunan herkese teşekkürler. İsterseniz bö! sürecinden biraz bahsedeyim.
Bö! 2009′ da aynı kategoride 2. olmuş ve bö! heyecanını yaşamıştım. Yarışmayla aynı zaman aralığına gelen açık öğretim sınavının etkisiyle bu sene katılmama kararı almıştım fakat yakın çevremin yoğun baskısıyla bir kez daha bö! macerasına girdim. Bu sene oylama sistemi değişmiş ve birde ek olarak juri de vardı. Toplam 13591 kullanıcının, 35195 oy kullandığı bö! 2010 da benimde bulunduğum teknoloji kategorisine 127 günlüğe 1900 adet oy kullanılmış. Kapalı oylama şeklinde geçen yarışma boyunca ilk önce dereceye giren ilk 5 blog açıklandı. Burada adımı gördüğümde birinci olmuş kadar sevindiğimi söylemek isterim :) İlk 3′ e giren günlükler, mail yoluyla yazarlara bildirildiğinin açıklaması yapıldı ve gergin bir bekleyiş başladı. İş yerimde bulunduğum süre zarfında bana mail gelmedi ve ümidi kesip, buraya kadarmış dedim. Akşam eve gelip son bir umut mailime baktığımda zevkten ölmüştüm çünkü umudumum hiç olmadığı halde banada mail gelmişti :D Artık ilk 3 yazardan biride bendim. Sırada İstanbul’ a gidip ödül törenine katılıp katılmama kararını vermekti. Tek çekincem İstanbul’ u hiç bilmemekti, yine aynı yakın çevremin gideceksin baskılarıyla tamam arkadaş bu sefer gidecem dedim ve biletleri aldım. Yeri gelmişken Alper abiye ve Oğuz Filizfidanoğlu‘ na beni yanlız bırakmayıp ilgilendikleri için sonsuz teşekkürlerimi sunuyurum. Velhasıl kelam saat 16 gibi ödül törenin yapılacağı Fenerbahçe Faruk Ilgaz Tesisleri’ ne geldim. -Bu arayı aşağıda yazacağım.- Ödüller verilmeye başlandığında salonda müthiş bir heyecan fırtınası vardı, sıra bizim kategoriye geldiğinde zaten yorgunluktan ayakta duramıyordum heycanında etkisiyle iyice çöktüm :D Neyseki adımı en son anons ettiler :) Derin bir ohh çekip iyide gelmişim dedim ve gittim ödülümü aldım. Çok mutlu oldum, çoğu insan için önemsiz bir ödül olabilir belki ama benim için önemli ve değerli bir ödüldü. Buradan dereceye giren tüm günlüklerin listesine bakabilirsiniz. Tüm yazarlara, BÖ! ekibine ve katkıda bulunan herkese teşekkür ediyor ve bir BÖ! macerasının daha sonuna geliyorum. (daha fazla…)




