C# – Gmail ile mail göndermek
public static void SendMail(string pEmail, string pSubject, string pMessage)
{
MailMessage mail = new MailMessage(“mailiniz@gmail.com”, pEmail);
SmtpClient client = new SmtpClient();
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(“mailiniz@gmail.com”, “sifreniz”);
client.EnableSsl = true;
client.Host = “smtp.gmail.com”;
mail.Subject = pSubject;
mail.Body = pMessage;
client.Send(mail);
}
Yukarıdaki fonksiyon mail göndermek için yeterlidir. Ancak burada belirtildiği üzere uygulamanızın gmail hesabını kullanarak mail atabilmesi için buraya tıklayarak daha az güvenli uygulamaların(less secure apps) gmail hesabını kullanmasına izin vermek gerekiyor. Bu durumda dahi Google birşeylerden kıllanırsa hesaba erişimi kapatabilir.
Güncelleme:
Bu mail gönderme kendi bilgisayarımdan çalışsa da server’a gönderdiğimde ” the smtp server requires a secure connection or the client was not authenticated” hatasını aldı. Çünkü server Amerika’daydı ve Google şüpheli olarak görüyordu. Ben server’a erişemediğim için sorunu çözemedim fakat sorunun çözümü olarak kodun çalıştığı servera bağlanarak buradan hesaba giriş yapmak gösteriliyor.
Windows 7 Yavaş Yükleniyor !
Bilgisayarımın başında ağaç olduktan sonra internet araştırması yapmaya karar verdim.
Uzatmadan setup ayarlarından disket sürücüyü disable etmeniz gerektiğini söyleyeyim.
Sanırım Asus anakartlarda yaşanan bir sorun. Bilgisayar başında saatler kaybetmemeniz için dikkate almanızı öneririm.
Bu işlemi yaptıktan 15 dk sonra windows’um hazır ve nazır idi.
C# yield
Ekşi’den yield kullanımını en güzel özetleyen örnek ;
ienumerable ahsenyokmusunyield()
{
yield return “yield ile”;
yield return “birden fazla”;
yield return “değer”;
yield return “döndürülebilir”;
}
IEnumarable ile bir fonksiyonda birden fazla sonuç döndürmeyi sağlar.
Makina Yalayacağımız Günler Yakındır
Singapur Üniversitesinde dilin ucuna temel tatları elektrotlar ile gönderen bir cihaz yapmışlar.
Bilim kurgu…
4 temel tadı üretebiliyorlarmış. Acı,tatlı,ekşi ve tuzlu.
Sinirlerin bu şekilde elektrik sinyalleri ile yönlendirilebilmesi hem heyecan veriyor hem de korkutuyor.
Yarın öbür gün bilgisayardan bir yiyeceğin tadına bakabilecek miyiz ?
Yemek programları artık bir başka güzel olur.
Aynı ekip bir de koku ve dokunma duyuları üzerinde çalışıyormuş. Görüntü ve ses zaten dijital olarak üretilebiliyor. Sonra Matrix.
Kaynak : CNET
Splere Opsiyonel Input
Uğur Sak isimli arkadaşım tarafından yazılmış açıklamayı tarihe not düşüyorum. Dikkat faydalıdır.
İhtiyaçtan dolayı finansal splerimize opsiyonel input eklememiz gerekti. Benim gibi daha önce bilmeyenler varsa bilgi vermeye çalışalım. Parametrik olarak yarattığınız input gelmediği zaman otomatik null değeri ile doldurulur.
Örnek bir sp ile açıklamaya çalışalım. pi_test3 ve pi_test4 ün opsiyonel olduğu bir sp yaratalım.
CREATE OR REPLACE PROCEDURE Deneme (pi_test1 IN VARCHAR2,
pi_test2 IN VARCHAR2,
pi_test3 IN VARCHAR2 DEFAULT NULL, —-parametrik input
pi_test4 IN VARCHAR2 DEFAULT NULL) —-parametrik inputReferans Vermeden Çağırma;
Var olan splerimiz de böyle bir input eklerseniz sona eklemeniz gerekmektedir. Sebebi spleri kullandığımız yerde referanssız olarak çağırıyoruz. Ya bu kullanımları düzeltmemiz gerekiyor yada tek input eklemenizi tavsiye ediyoruz.
Çünkü referanssız olarak çağırdığımızda spler input sırasına göre atama yapıyor.Deneme ( ‘1’,’2’); olarak çağırabiliriz.
Deneme ( ‘1’,’2’,’3’); olarak çağırabiliriz.
Deneme ( ‘1’,’2’,’3’,’4’); olarak çağırabiliriz.
Deneme ( ‘1’,’2’,’4’); olarak çağıramayız. Çağırırsak pi_test3 e = 4 değeri atanmış olur.Referans Vererek Çağırma;
Deneme (pi_test1 => ‘1’,
pi_test2 => ‘2’,
pi_test3 => ‘3’,
pi_test4 => ‘4’)Deneme (pi_test1 => ‘1’,
pi_test2 => ‘2’Deneme (pi_test1 => ‘1’,
pi_test2 => ‘2’,
pi_test3 => ‘3’)Deneme (pi_test1 => ‘1’,
pi_test2 => ‘2’,
pi_test4 => ‘4’)
İş İlanı
Derin bir nefes aldıktan sonra aşağıdaki iş ilanını inceleyebilirsiniz.
http://ilan.memurlar.net/ilan/23496/
Ben bilişim dünyasında 2 konuda uzman olan kişiye saygı duyarım. Bunun ideali 1 konuda uzmanlaşmaktır. Ne kadar çok konuda uzmanlaşmaya çalışırsan uzmanlıktan o derece uzaklaşırsın.
Seyyar Sarj İstasyonları
Akıllı telefon kullanımından kaçmanın pek te mümkün olmadı şu günlerde en büyük sorunlardan bir tanesi olan sarj sorununu çözmek için kullanılabilecek çözümlerden bir tanesi olan şarj istasyonlarından telefonu şarj etme seçeneği telefonun şarj olduğu noktadan veri transferi de yapıyor olmasından dolayı tehlikelidir.
(Dikkat uzun cümle)
OTG (On The Go) (Telefona USB Cihaz Bağlamaca)
Şahane teknoloji.
Cep telefonun (ya da mobil cihazın) OTG destekliyorsa telefonuna Usb Harddisk, Flash Disk, Klavye, Mouse, Playstation Kolu vs. usb cihazları bağlayabiliyorsun demektir. İhtiyacın olan bir OTG kablosu. Bu kablo telefonunun mini-usb girişini usb girişine çevirecek.
Usb harddisk çok enerji isteyen bir cihazdır ve telefonunun vereceği enerji harddiski çalıştırmayabilir. Usb harddisk bağlanacağında bir dışardan beslemeli usb hub kullanarak sorun aşılabilir. Usb hub sayesinde birden fazla cihaz sorunsuz olarak telefona bağlanır ve kullanılır. Siz de kullanın.
Sql Server Numeric Hk. İvedi Açıklama
Oracle’da bir numeric tanımlama yaptığızda şu şekildedir :
number(4,3) –> 9999,999 ‘a kadar.
Fakat Sql Server’da bu biraz değişikmiş :
numeric(4,3) –> 9,999 ‘a kadar.
Acı tecrübe ile sabittir.