Burcu' Post

Ölümcül Kilitlenme (Deadlocks) Nedir?

 

Eşzamanlı hesaplamada, bir kilitlenme bir grubun her üyesinin başka bir üyenin bir mesaj göndermesi veya daha yaygın olarak bir kilit açma gibi harekete geçmesini beklediği bir durumdur. Kilitlenme, çoklu işlem sistemlerinde, paralel işlemlerde ve yazılım-donanım kilitlerinin paylaşılan kaynakları işlemek ve işlem senkronizasyonunu gerçekleştirmek için kullanıldığı dağıtılmış sistemlerde yaygın bir sorundur.

Bir işletim sisteminde, bir işlem ve ya iş parçacığı bir bekleme durumuna girdiğinde bir kilitlenme oluşur, çünkü istenen bir sistem kaynağı başka bir bekleme işlemi tarafından tutulur, bu da başka bir bekleme işleminin beklediği başka bir kaynağı bekler. Bir süreç süresiz olarak durumunu


Apache Solr Nedir?

 Apache Solr, Apache Lucene adlı bir Java kütüphanesi üzerine kurulmuş, kurumsal yetenekli, açık kaynaklı bir arama platformudur. Solr arama motoru, dünya çapında en yaygın olarak kullanılan arama platformlarından biridir.

Solr, web siteleri için popüler bir arama platformudur çünkü arama sorgularının taksonomisine dayalı olarak birden çok siteyi indeksleyebilir ve arama yapabilir. İlgili içeriğe ilişkin önerileri geri döndürebilir: Solr aynı zamanda kurumsal arama için popüler bir arama platformudır çünkü belgeleri indekslemek ve aramak için kullanılabilir.

Solr Java’da yazılmıştır. Hem RESTful XML arayüzü hem de arama uygulamalarının oluşturulabileceği bir JSON API‘si sağlar.

Java’da Interface Kavramı

Interface içinde sadece kendisinden türeyen sınıfların içini doldurmak zorunda olduğu içi boş metod tanımlarının yapıldığı bir yapıdır. Kısacası kendisini kullanacak sınıflar için bir yerine getirmeleri gereken metodları belirten bir kontrat gibidir.

Bir interface sınıfında sadece metotlar deklare edilir. Bu metotların gövdeleri boştur. Alt sınıflar bu metotların gövdeleri için gerekli kodu oluştururlar yani implemente ederler. Metot gövdesi olmayan bir interface sınıftan nesne oluşturulamaz, çünkü sadece metot deklarasyonlarına sahip bir nesnenin hiçbir işlevsel görevi olamaz.

Ford ve Audi isminde iki sınıf bulunuyor. Bu sınıflar Tasit interface sınıfını implemente ediyorlar. Bu iki implementasyon sınıfı bünyelerinde getMarka() isminde bir metod oluşturup, bu metodu implemente etmek (metot gövdesi için gerekli kodu


SAP Hybris Nedir?

Son günlerde işim gereği çok fazla içli dışlı olmak zorunda olduğum bir platform olan Hybris’ten bahsetmek istedim bu yazıda. Genel olarak an itibariyle yaklaşık bir aydır öğrenmeye çalıştığım bir platform olması nedeniyle oldukça zorlanıp içinden çıkamayıp çoğunlukla bilenlere ve Help Hybris’e danıştığım bir dönem oluyor. Hybris bir platform olduğu için de alışmak uzun bir zaman alacak. 🙂


Facade Tasarım Deseni

Yazılım tasarım desenlerini araştırdığım şu günlerde, araştırdıklarımı blogumda da paylaşmak istedim. Yazılım tasarım desenlerini hiç duymadıysanız buraya bakabilirsiniz 🙂

Facade tasarım deseni, sistemin karmaşıklıklarını gizler ve istemciye sisteme erişebilecekleri bir ara birim sağlar. Bu tasarım modeli, bu modelin karmaşıklığını gizlemek için mevcut sisteme bir arayüz eklediği için, yapısal modelin altında gelir.

Bu desen, istemci tarafından istenen basitleştirilmiş yöntemler ve var olan sistem sınıfları yöntemlerine yapılan çağrıları veren tek bir sınıfı içerir.

Uygulamamızda bazı modüller var ve bazı işlemlerin gerçekleştirilmesi için bu modüllerin kullanılması gerekiyorsa Facade tasarım deseni kullanılarak clientın yani bu operasyonları gerçekleştirecek nesnenin kod karmaşasına bulaşmamasını sağlar ve farklı clientların olduğu uygulamalarda bu kodların tekrarlanmasını engellemiş olur. Sonuç olarak da anlaşılması daha kolay bir kodlama yapılmış olur.

Facade Pattern
</p>
															</div>
                </article>

                <hr>
										
                <article class=

Tasarım Desenleri Nedir ?

Yazılım mühendisliğinde tasarım desenleri, yazılım tasarımında yaygın olarak ortaya çıkan bir soruna genel tekrarlanabilir bir çözümdür. Bir tasarım deseni, doğrudan koda dönüştürülebilen bitmiş bir tasarım değildir. Birçok farklı durumda kullanılabilecek bir sorunun nasıl çözüleceğine dair bir açıklama veya şablon sunar.

Design Patterns(Tasarım Desenleri), deneyimli nesne tabanlı yazılım geliştiricileri tarafından kullanılan en iyi uygulamaları temsil eder. Tasarım örüntüleri, yazılım geliştiricilerinin yazılım geliştirme sırasında karşılaştıkları genel sorunlara çözümlerdir. Bu çözümler, çok sayıda yazılım geliştiricisi tarafından oldukça büyük bir süre boyunca deneme yanılma yoluyla elde edilmiştir.

Dörtlü Çete (GOF) Kimdir?
1994’te, dört yazar Erich Gamma, Richard Helm, Ralph Johnson ve John Vlissides, Yazılım Geliştirmede Tasarım Kalıbı kavramını başlatan Tasarım Örüntüleri:Tekrar


Linux Mint Android Emulator Hatası

Linux Mint’e kurduğunuz Android Studio’da Emulator hatası alıyorsanız terminal üzerinden Android Studio dizinine girip çalıştırmayı deneyin.

cd /usr/local/android-studio/bin
LC_ALL=C ./studio.sh


Git Kullanmak İçin 8 Neden

Sürüm kontrol sistemi söz konusu olduğunda, bu günlerde herkes Git’ten bahsediyor. Ancak elbette her söylenen Git’e geçmeyi haklı çıkarmak için yeterli değil. İşte projelerinizde Git kullanmanız için 8 harika neden.


React Native Nedir?

React Native, yeni nesil React – Facebook tarafından geliştirilen ve 2013’te Github’da açık kaynak olan bir JavaScript kütüphanesidir.

Native uygulama oluşturma, yalnızca belirli bir işletim sistemi için uygulamalar yazmak anlamına gelir.

React Native, geliştiricilerin yazdıkları kodu web üzerinden ve mobil ortamda yeniden kullanmasına yardımcı olur.

Geliştiriciler, iOS ve Android için aynı uygulamayı sıfırdan oluşturmak zorunda kalmayacak. Her işletim sisteminde kodu tekrar kullanabileceklerdir. React Native ile ilgili harika olan şey, Objective-C‘de ve ya Java‘da bitmiş bir uygulama ile React Native’i kullanarak inşa edilmiş bir uygulama arasında çok az fark olmasıdır.

Android ve iOS’un kod geliştirme ortamları çok farklıdır. Bu yüzden iki farklı platforma uygulama çıkarmak zaman alır. Ancak React Native ile yalnızca bir geliştirici farklı mobil işletim sistemlerinde yazabilir.

React Native’in çalışma prensibini şu şekilde düşünebiliriz.


Intagram’ın Yeni Algoritması

Son günlerde herkesin gündemini oldukça meşgul eden Instagram’ın yeni algoritması  hakkında sizlere detaylı bilgi vermek istedim. Umarım sizler için faydalı olur 🙂

Biliyoruz ki  hiç kimse yeni Instagram algoritmasından hoşlanmadı ve herkesin etkileşimi düştü. Instagram algoritmasının nasıl çalıştığını bilmek ister misiniz? Instagram algoritmasının tam olarak ne olduğunu, yayınlarınızın performansını nasıl etkilediğini ve onu “yenmek” için kullanabileceğiniz farklı stratejilere bakalım.

Yeni Instagram Algoritması Nasıl Çalışır?


Herkesin bilmek istediği bir gizem: Instagram algoritması nasıl çalışır? Instagram algoritmasını körelten karmaşıklıkları anlayamasak da, yayınınızın Instagram algoritmasında nasıl performans göstereceğini belirleyen 7 faktörü biliyoruz (ve kaç kişinin göreceğini!).

Bir Instagram sözcüsüne göre, aşağıda Instagram algoritmasını etkileyen faktörlerin bir listesi var. Sosyal medya blogları vs. yaptığım araştırmaları temel alarak bunları listeledim:

Ne kadar sürede ne