Widget Günlükleri 6 – Dropdown Menu

Widget Günlükleri 6 – Dropdown Menu

Merhabalar. Mart ayının Flutter yazısıyla karşınızdayım. Bugünki yazımızın konusu açılır menüler yani dropdown menüler ile ilgili olacak. Bir önceki ayın yazısını henüz okumadıysanız sizi AppBar kullanımı ile karşılayalım. Dropdown nesneler web alanında gayet popüler. Kullanıcıya bir seçim yaptırmak için kullanılabilecek dropdown menüler aynı zamanda navigasyon için dahi kullanılabilir. Tasarımsal olarak sizin tercihinize kalmış bu tabi. 🙂 Kişisel olarak opsiyon belirtme amacıyla kullanmayı tercih ediyorum. Bir dropdown menü oluşturmak için önce dropdown…

Widget Günlükleri 5 – İleri seviye AppBar kullanımı

Widget Günlükleri 5 – İleri seviye AppBar kullanımı

Geçtiğimiz hafta Flutter’da Navigator üzerine konuşmuştuk. Widget günlüklerinde, şubatın artık gününde bir yazıyla karşınızdayım. Yazımızın bu konusunda Scaffold içerisinde bulunan önemli elementlerden biri olan AppBar’ı inceleyeceğim! Genellikle eğitim yazılarında AppBar içerisine yalnızca ‘title’ girilir fakat AppBar bunlardan daha fazlasına sahiptir ve AppBar üzerinde ‘actions’ dahi tanımlayabilirsiniz. AppBar, ‘title’, ‘actions’, ‘leading’ ve ‘bottom’ niteliklerine sahiptir. ‘title’ yalnızca bir Text widget’ı içerisine almaz. Bildiğiniz üzere Flutter’da her UI elementi bir Widget’tır. Yani ‘title’…

Widget Günlükleri 4 – Navigator Stratejisi

Widget Günlükleri 4 – Navigator Stratejisi

2020 yılının ilk ayından herkese selamlar! Bu sene her ay en az bir yazı eklemeyi planlıyorum bloguma ve bu doğrultuda ocak ayının ilk yazısını yazıyorum. Önceki yazımda CircleAvatar konusuna değinmiştim hatırlarsanız. 🙂 Aslında bu yazıda AppBar ve CircleAvatar’ın birlikte kullanımını anlatsam daha güzel olurdu lakin önceki yazıda söz verdiğim gibi bugün Navigator yöntemleri üzerine kısa fakat önemli bir yazı yazacağım. Hazırsanız başlayalım. Navigator, mobil uygulamanız içerisinde yer alacak sayfaların birbirleri arasındaki…

Widget Günlükleri 3 – CircleAvatar

Widget Günlükleri 3 – CircleAvatar

Widget Günlükleri 2 – Dismissible yazısını yazdığımdan beri 1 aydan uzun zaman geçmiş. Bu uzun zaman diliminde Flutter framework ile ilgili yaptığım çalışmaları derinleştirdim ve öğrendiğim bazı şeyleri yakın zaman içerisinde bu blog üzerinde yazmayı ve paylaşmayı planlıyorum. Şimdilik, bildiklerimin en basitiyle başlayayım: CircleAvatar. CircleAvatar, profil sayfalarının, kişisel bilgilerin yer aldığı sayfaların vazgeçilmezi. En basit tabiriyle yuvarlak bir alan oluşturup içerisine resim alır. CircleAvatar, içerisine backgroundColor, backgroundImage, child, radius parametreleri alır.…

Widget Günlükleri 2 – Dismissible

Widget Günlükleri 2 – Dismissible

Flutter, cross platform mobil uygulama geliştirme framework’ü olarak çokça yol aldı. Bu süreç içerisinde birçok geliştiricinin dikkatini çekmeyi başardı ve aynı zamanda başka bir alanda bulunup, mobil uygulama geliştirmeye merak salan kişiler için, sunduğu özellikler bakımından, iyi bir başlangıç kiti oldu diyebiliriz. Bugünki yazıda Flutter’da Dismissible widget’ını konu alacağız. Dismissible, bir listenin içerisinde bulunan elementlere “swipe” yani kaydır aksiyonu kazandırmakta. Bir ListView.Builder içerisinde yer alması gerekir. Key ve OnDismissed kesinlikle bulunması…

Knapsack problem – Sırt çantası problemi

Knapsack problem – Sırt çantası problemi

Knapsack problemi, basitçe sırt çantası problemi veya torba problemi olarak adlandırılabilir. Bu problemde, bir torbanın istenen durumlara göre maksimum verim alabileceği şekilde içerisine eşyaların yerleştirilmesi konu edinilir. Örneğin maksimum kazanç veya maksimum sayıda eşyanın bir torbanın içerisine yerleştirilmesi istenir. Bu örnekte torbanın ağırlığına göre maksimum kazanç ile toplamda 10x değerinde 3 eşya yerleştirilebilirken, maksimum eşya durumunun gerçekleşmesini istediğimizde 5x değerinde 5 eşya yerleştirebildiğimizi varsayalım. Bu durumda eğer daha değerli eşyaları taşımak…

Widget Günlükleri 1 – Kaydırılabilir Metin

Widget Günlükleri 1 – Kaydırılabilir Metin

Google’ın sunduğu Flutter, cross-platform mobil uygulamalar geliştirmenize olanak sağlayan bir framework. Bu konudan daha önce bahsetmiştik. Şu zamanlarda basit projeler geliştirirken, aynı zamanda yeni bir framework olan Flutter’da kullandığım widget’ları buraya yazmaya karar verdim ve ortaya bu blog serisi çıktı. Peki, bir metin içerisinde bilgi verirken, gelen veri dinamik olarak değişiyorsa ve sayfaya sığmayacak duruma gelirse ne yapacağız? Bir ScrollView kullanacağız! Tabi ScrollView(…) biçiminde değil. Flutter’a biraz aşinaysanız, alt bileşenler çoğunlukla…

Flutter’a ilk dokunuşumda deneyimlediklerim

Flutter’a ilk dokunuşumda deneyimlediklerim

Flutter, Google tarafından geliştirilen ve Dart programlama dilini kullanan, cross-platform mobil uygulamalar geliştirmenize olanak sağlayan bir framework. Hibrit bir şekilde hem Android’e, hem de iOS’a odaklanarak uygulama geliştirmenize imkan sağlayan Flutter, daha çok UI tarafında sunduğu tasarımsal özelliklerle ve yüksek performansıyla ön plana çıkıyor. Cross-platform uygulama geliştirmeye olanak sağlayan framework’ler son zamanlarda oldukça popülerleşti. 2011 yılında Microsoft tarafından duyurulan Xamarin ile başlayan hibrit geliştirme modeli, 2013 yılında Ionic, 2015 yılında ise…

Veri yapıları – Bağlı Liste II

Veri yapıları – Bağlı Liste II

Veri yapılarında bağlı liste yöntemi, verileri düzenli halde tutmanın en önemli yollarından biridir. Daha önce şu yazımda bağlı listenin ne olduğunu açıklamıştım ve bağlı liste oluşturmanın, bağlı listeye veri eklemenin nasıl olacağını gösteren bir kod dökümanı paylaşmıştım. Bu yazıda ise bağlı listeden nasıl veri silineceğini gösteren küçük bir kod dökümanı paylaşacağım. Tek yönlü bağlı listede, bir işaretçi yalnızca kendinden sonraki adresi gösterdiğinden, tek yönlü bağlı listede bir indis silmek bir geçici…

Çalışan tüm processlere ait bilgiler nasıl elde edilir?

Bu post içerisinde bilgisayar üzerinde çalışan processlerin bazı bilgilerinin nasıl ekrana basılacağını göstereceğim. Bu işlemler için Windows.h ve Psapi.h kütüphanelerini projeye eklemek önemlidir. Processe dair şu bilgiler ekrana basılacaktır: Process ID’si (PID), Processin ve tüm modüllerinin adı, Processin versiyonu, Processin modeli (Native veya WoW64), Process ve modüllerinin handle değerleri, Min. ve Max. working set boyutları. Bu bilgilerin nasıl api yardımıyla alınacağını merak ediyorsanız:

System Installation Date’i alma yöntemleri

System Installation Date’i alma yöntemleri

Son günlerde aldığım bir ödev sonrasında saç baş yolduracak saatler yaşadım. Windows üzerinde sistemin yüklenme tarihini C/C++ dillerini kullanarak çekmem ve ekrana basmam gerekiyordu. Bunun birden çok yöntemi var fakat hiç kimse kod üzerinden yapılması gerekenleri anlatmamış veya bilmiyor. İnternette bulduğum basit çözümü şöyle göstereyim: Yukarıdaki komut, cmd ekranında size istenen sonucu veriyor. ‘systeminfo’ programı içerisinde birçok bilgiyi barındırıyor ve yeri geldiğinde bu bilgilerle kodlama yapmak işinize yarayabilir. Bunları kullanabilmek için…

MessageBox kullanımı ve sistem bilgilerinin alınması

MessageBox kullanımı ve sistem bilgilerinin alınması

MessageBox fonksiyonunun C++ konsol projesi üzerinde nasıl oluşturulduğu ve kullanımına dair küçük bir örneği sistem bilgilerinin alınması üzerinden gerçekleştirdim. MessageBox, gösterilecek mesaj için bir kutucuk ortaya çıkarır. Parametreleri: İlk parametre, NULL olması durumunda pencerenin bir parent’ı olmadığını ifade eder, ikinci parametre, yazılacak içeriğin değişkenini belirtir, üçüncü parametre, MessageBox başlığı için girdi ister, dördüncü parametre ise MessageBox üzerinde buton, ikon gibi şeyler eklemeye yarar. Ayrıca MessageBox, üzerinde tıklanan butona göre bir integer…