Fetch Api işlemlerinde Hata Yönetimi

Fetch Api Nedir ?

Merhaba, bildiğiniz üzere FetchApi, sunucu tarafındaki kaynakların(resources) getirilmesini sağlayan arayüzdür.Ajax’tan farkı, promise tabanlı olması ve asenkron veri alışverişini desteklemesidir.

Promise

Peki nedir bu promise? Javascript’te asenkron programlama dediğimizde aklımıza 2 yöntem gelir.Biri Callback diğer ise promise.
Callback, bir işlem bittiğinde çağrılır ve işlem sonucu bu fonksiyona aktarılır.Örneğin dosya okuma işlemi tamamlandığında tanımlı callback fonksiyonu çağrılır ve sonuç buna atanır.
Callback ile birlikte fonksiyonların karmaşık hale gelmesi noktasında promise devreye girmiştir.
Promise JS’de asenkron işlemler için kullanılan bir objecttir.Bir işlem tamamlandığında ya da başarısız olduğunda kullanılabilirler. İşlemlerin sıralı yürütülmesini kolaylaştırmaktadır. Promise’de 3 farklı durum vardır.
1- Resolved: İşlemin tamamlandığını belirtir. İstek tamamlandıysa resolved olmuştur.
2- Rejected: İşlem reddedilmiştir. Hata oluşmuştur(Network error, Cors error vb.)
3- Pending: İşlem henüz tamamlanmamıştır.

Devamını oku

.Net Uygulamalarında Kod İncelemesi (Code-Review)- Gün:4

Kurumumuz bünyesinde geliştirdiğimiz uygulamalardaki tecrübelerimiz ve ilgili uygulamalar üzerindeki best practise örneklerinin derlendiği .Net uygulamalarında kod incelemeleri yazı serimize devam ediyoruz.

Her eşitlik eşit değildir, bazıları daha da eşit değildir.

== kullanmak mı yoksa Equals metodu mu doğru olan ? Aslında sorunun yanıtı ne almak istediğimize bağlı

hem eşitlik operatörü (==) operatörü hem de Equals methodu , değer tipli ya da referans tipli değişkenlerin karşılaştırılmasında kullanılır. Eşitlik operatörü(==) referans değerlerine bakarken, equals methodunda içeriklerin aynı olması eşitliğin sağlanması için yeterlidir.

Örnek Uygulama : 0

```c# static void Main(string[] args) { string city = “Çankırı”; string capitalCity = city; Console.WriteLine(“ result of city == capitalCity is {0} “, city == capitalCity); Console.WriteLine(“ result of city equals capitalCity is {0}”, city.Equals(capitalCity)); Console.ReadKey();

    }
Devamını oku

.Net Uygulamalarında Kod İncelemesi (Code-Review)- Gün:1

Kurumumuz bünyesinde geliştirdiğimiz uygulamalardaki tecrübelerimiz ve ilgili uygulamalar üzerindeki best practise örneklerinin derlendiği .Net uygulamalarında kod incelemeleri yazı serimize devam ediyoruz.

Collection Yapıların döndürülmesi

Bir method tanımladınız ve bu method bir collection yapısı return edecek ise , tavsiyemiz null değer döndürmemeniz.
Benzer durumlarda eğer liste bir elemana sahip değilse boş liste döndürün.
```c# public List GetCities() { // mantıksal işlemlerin yapıldığı kod bloğu. Eğer liste elemana sahip değilse boş liste döndür

Devamını oku

Ajax ile DataTables eklentisini GET yöntemiyle veri yükleme

DataTables Nedir ?

Web uygulamalarında, veri gösteriminde kullanabileceğiniz önemli bir JQuery eklentisidir.
Genelde tablo ağırlıklı uygulamalarda tercih ettiğimiz bir eklenti olan DataTables yeri geldiğinde işimizi çok kolaylaştırmıştır.

Ajax ile DataTables veri yükleme

Yazacağımız Script kodu ile DataTables eklentimizi GET yöntemiyle alınan veriler ile dolduracağız.

Devamını oku

SignalR ile Gerçek Zamanlı Bildirim Uygulaması

SignalR Nedir ?

SignalR, microsoft tarafından geliştirilmiş, gerçek zamanlı uygulamalar geliştirmeyi kolaylaştıran teknolojidir.WebSocket Api ile istemci-sunucu arasındaki iletişimi (çift yönlü) sağlar. Eğer WebSocket kullanılamıyorsa, kodunuzda değişiklik yapmadan, diğer teknolojiler ile de çalışabilmektedir.
Hosting işlemi için Open Web Interface (OWIN) kullanılabilmektedir. Çalışma mantığını hazırladığımız senaryo üzerinde daha detaylı olarak anlatıyor olacağız.

Devamını oku

Düzenli İfadeler (Regular Expressions)

Düzenli İfadeler

Bilindiği üzere düzenli ifadeler, genelde metinsel ifadelerin, bir desene göre kontrol edilmesini ve düzenlenmesini sağlar. Amerikalı matematikçi Stephen Cole Kleene tarafından 1950’li yıllarda tasarlanan bu kavram günümüzde oldukça yaygın olarak birçok işletim sistemi temelinde ve programlama dilinde entegre olarak gelmektedir.
Kimlik numaralarının kontrolünde, e-posta, telefon no kontrolünde, parola kontrolünde hatta kredi kartı vb. kontrolünde kullanılabilir.
RegEX
Genel olarak kullanım amacını sayarsak :

  • Kullanıcı tarafından girilen girdinin denetimi,
  • Verilerin uygun formata göre düzenlenmesi,
  • Veritabanından formata uyan verinin çekilmesi şeklinde sıralayabiliriz.
Devamını oku

Event(Olay) ve Delegate(Temsilci) Kullanımına Genel Bakış.

Bu yazımızda C# dili ile olay ve temsilci yönetimini ve kullanımını irdeleyeceğiz.

Temsilciler(Delegates)

Adından da anlaşıldığı üzere temsil eden, işaret eden anlamına gelmektedir.Methodların adresini tutan, onları işaretleyen yapılardır.Temsilciler referans tiplidir. Dolayısıyla onlardan da nesne oluşturulabiliriz. Fazla zaman kaybetmeden örnek uygulama ile kullanımına geçelim.
Öncelikle bir temscilci yapısı nasıl olur ona bakalım:

private delegate int DelegateHandler(); 

inceleyecek olursak, erişim belirleyicimiz -delegate sözcüğü(keyword) - method dönüş tipi, temsilci adımız.Dikkat edilecek önemli hususlardan birisi; temsilcimiz bir methodu işaret ettiği için, o methoda imzası benzemelidir. Yani dönüş tipi , aldığı parametreler aynı olmalıdır. Temsilci adının sonuna - Handler- konması gerekmez ama yazılım kültüründe böyle kullanılması tercih edilmektedir.

 public delegate void DelegateHandler(); // geriye değer döndürmeyen ve parametre almayan method için kullanılır
 public delegate int DelegateHandler(int a, int b); // Geriye int tipinde değer döndüren ve 2 adet parametre alan method için kullanılır.
 

– Örnek Uygulama –
Bu örnek uygulama, toplama işlemi yapan bir method tanımlayıp, onun bir temsilci ile nasıl kullandığını göstermektedir.

``` c# class Program {

    private  delegate int  ToplamHandler(int a,int b); // 2 int parametre alan ve geriye int döndüren temsilci tanımladık.
    static void Main(string[] args)
    {
        ToplamHandler handler = new ToplamHandler(Topla); // Temsilsi nesnesi tanımladık.
        Console.WriteLine( handler.Invoke(3, 4)); // delegemizin invoke methodu ile işaret edilen methodu çalıştırdık.
        Console.ReadLine();
    }
Devamını oku

Bir e-posta ile Aktif Dizin Servislerininin takibi

Genellikle tüm sistem yöneticilerinin ortak problemidir yönettiği sistemlerin takibi. Bazı IT ekipleri kendi yazdıkları araçlar ile, bazı IT ekipleri ise kullandıkları sistemlerin kendilerine sundukları arayüzler ve araçlar ile sistemlerin durumlarını takip etmektedirler. Bu yazımız , aktif dizin yöneticilerinin, aktif dizin servis sağlığını, ilave bir işlem yapmadan, e-posta adreslerine gelen bir mail ile takip etmelerini amaçlamaktadır.

Yazımızın ilham kaynağı, Sukhija Vikas’ın yayınlamış olduğu PowerShell betiğidir. Bu yazımızda, betik üzerinde ufak düzenlemeler yapıp, sunucu üzerinde otomatik görev oluşturup, düzenli olarak bildirim gelmesini sağlayacağız.

Ön Hazırlık

Devamını oku

Graylog İle Logları İzleme

Graylog yazı dizisine kaldığımız yerden devam ediyoruz. Sunucumuzda oluşan logları graylog sunucumuza gönderiyor olacağız.

graylogui

Öncelikle elimize bir adet WS 2012 R2 Standart kurulu sunucumuz bulunmakta. Önceki yazılarımızda bahsettiğimiz üzere Ubuntu 18.04 kurulu graylog sunucumuz yer almaktadır.

Devamını oku

Graylog Kurulum Dökümanı

Çok sayıda log oluşturan sistemlerle çalışıyorsanız, log takibi içinden çıkılmaz bir hal alabilir. Böyle durumlarda imdadınıza merkezi log sistemleri yetişir. İşte GrayLog bunlardan birisi. Ücretsiz ve açık kaynak olması, kendisini daha cazip kılmıştır. Sadece sistem logları tutacağım diyorsanız, rsyslog size fazlası ile yetecektir. Ama sistem loglarının dışında, uygulama logları da tutacağım diyorsanız, Graylog güzel bir alternatif olacaktır.

Devamını oku