Volkan Atasever

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve daha bir çok yazılarım...

APK Multitools Decompile ve Compile

clock Nisan 8, 2017 02:40 by author Volkan Atasever

APK dosyalarını decompile ve compile etmek için en kullanışlı tool olara APK Multitools'u görmekteyim. APK'ları imzalamak için Windows sisteminizde JDK yüklü olması gerekmektedir. kullanımı oldukça basit ve komut isteminden çalışan bir uygulamadır. indirmek için aşağıdaki linke tıklayabilirsiniz; 

APK-Multi-Tool-APK-Multi-Tool-bf66148.zip (10,70 mb)

kurulum için setup dosyasını çalıştırıp 3 nolu seçeneği seçmelisiniz. bu işlemi bir kereliğine yapıyorsunuz. ardından scripting dosyasını açıp decompile edeceğiniz apk'yı kurulumu yaptığınız dizinin içindeki place-apk-here-for-modding dizine koymanız gerekmektedir. decompile script dosyasını çalıştırdığınız da eğer normal bir apk ise yani sistem apk sı değilse 9 rakamını tuşlayıp entera basın. projects klasörü altında apknızın ismi ile decompile edilmiş şekilde tüm dosyaları görebilirsiniz. compile yapmak için yine script dosyası ile sistem dosyası değilse apk nız 12 yi tuşlayın buradan gelen seçeneklerle unsigned yani imzasız veya imzalı apk nızı toplayıp oluşturabilirsiniz.



C# 7 Kitabım Çıktı!

clock Mart 17, 2017 04:26 by author Volkan Atasever

 

Önemli: Kitap hakkında yorumlarınızı ve sonraki baskılarda olmasını veya daha fazla üstünde durulmasını istediğiniz konuları bu postun altına yazabilirsiniz.

C# 7.0 Programlama dilini baştan sona size öğreten ve uygulayan bir kitabı elinizde tutmaktasınız. Visual Studio 2017 ile beraber gelen Cross Platform desteği ile microsoft teknolojileri daha fazla değer kazanmıştır. IOS ve Android uygulamalarını Visual Studio 2017 ile birlikte geliştirebilmektesiniz. Bu programlama dilinin yükselişini gösterirken aynı zamanda bu programlama dilini bilerek okulunuzda veya iş yaşamınızda bir adım daha öne geçeceksiniz. C# programlama dili nesne yönelimli bir dil olduğu için bu kavramlar ve nasıl uygulanacağı size ayrıntılarıyla anlatılmıştır. C# programlama dilini hem görsel hem de kodsal olarak öğrenebilmeniz tasarlanmıştır. Veri tabanı programlama ile temel veritabanı işlemlerinizi gerçekleştirebilirsiniz. REST ve SOAP web servisleri bu kitapta ayrıntılarıyla ele alınmıştır. Büyük bir uygulama geliştirmek için fazla beklemenize gerek yok. Hemen C# 7.0 programlama dilini öğrenerek büyük projeler içine girebilirsiniz.
 
 
Kitaptaki konuların ana başlıkları:
 
1. Bölüm: C# Nasıl Doğdu ve Nasıl Gelişti?.
2. Bölüm: Visual Studio İnceleme ve Tanıma
3. Bölüm: Windows Form Bileşenlerini Tanıma ve Kullanma
4. Bölüm: Temel Veri Tipleri ve Değişkenler
5. Bölüm: Operatörler, Döngüler ve Deyimler
6. Bölüm: Diziler ve String’ler
7. Bölüm: Test ve Hata Yakalama
8. Bölüm: Sınıflar, Nesneler ve Metotlar
9. Bölüm: Kalıtım
10. Bölüm: Indeksleyiciler ve Özellikler.
11. Bölüm: Interface, Structure ve Enumaration
12. Bölüm: Grafik Programlama
13. Bölüm: I/O (Input/Output) İşlemleri
14. Bölüm: Delegeler ve Olaylar
15. Bölüm: Jenerik Koleksiyonlar, StringBuilder, Regular Expression, Bellek Yönetimi
16. Bölüm: Çok Kanallı, Asenkron ve Paralel Programlama
17. Bölüm: Internet ve Ağ Uygulamaları
18. Bölüm: Veri Tabanı İşlemleri
19. Bölüm: XML ve Web Servisleri ile Çalışmak
20. Bölüm: LINQ (Language Integrated Query)
21. Bölüm: C# ile ilgili Özel Konular
22. Bölüm: C# 7 ile Gelen Yeni Özellikler
23. Bölüm: C# ile iOS ve Android Uygulamaları ve Geliştirme

 

Yayın Tarihi 2017-03-20
ISBN 6058352742
Baskı Sayısı 1. Baskı
Dil TÜRKÇE
Sayfa Sayısı 638
Cilt Tipi Karton Kapak
Kağıt Cinsi 1. Hm. Kağıt
Boyut 16.5 x 23.5 cm

 

Yazar Hakkında: 

Volkan ATASEVER, Software4Galaxy şirketinde kurucu ve Genel Müdürdür. Bilgisayar Mühendisidir. Birçok üniversitede eğitim ve seminer vermiştir. PCWorld ve T3 dergilerinde köşe yazarlığı yapmış, daha önce de üç kitap yazmıştır.



C# 7 ile gelen Tuples

clock Şubat 13, 2017 16:12 by author Volkan Atasever

Tuples kullanımı eski bir kullanım olmasına rağmen c# 7 ile yenilenerek gelmiştir. tuple type ve tuple literal bir yenilik olarak karşımıza çıkmaktadır. Tuple tipleri değer tipi değişkenlerdir. System.Tuple isim alanını kullanmaktadır. Birden fazal değer döndürmek için Tuple kullanabilirsiniz. Birden fazla parametre olsa dahi tek nesne olarak işlem görmektedir. Çoklu değer döndürmek için out paramtresi tercih etmeden değer döndürebilirsiniz.

( string, string, string, string) getKisi()

{

    //Kişi bilgilerini veritabanından veya başka bir kaynaktan okuyabilirsiniz

    string strIsim = "Volkan";

    string strAdres = "Kadıköy";

    string strSehir= "İstanbul";

     return(strIsim, strAdres, strSehir); // tuple literal

}

 

//aşağıdaki metotu çağırdınızda çoklu değerleri döndürecektir.

 var kisiBilgi= getKisi();

WriteLine("Kisi bilgi:  {kisiBilgi .Item1} {kisiBilgi .Item2} {kisiBilgi .Item3}");

 

Yukarıdaki örnekte çoklu değerleri tuple kullanarak kolayca elde edebiliyoruz. Fakat item1,item2 isimleri alakası ve kafa karıştırıcıdır. bu yüzden anlamlı isimler kullanarak aşağıdaki örneği inceleyelim.

 

(string strIsim, string strAdr, string strSe) getKisi()

{

    //kodlarınızı buraya yazıyorsunuz

}

 

//metotu belirlenmiş ismi ile çağırdığınız zaman değerler aşağıda gözükecektir

var kisiBilgi= getKisi();

WriteLine("kisi bilgi: {kisiBilgi.strIsim} {kisiBilgi.strAdr} {kisiBilgi.strSe} ");

 

Bunlara ek olarak tüm değerleri Tuple Literal olarakta döndürebilirsiniz.

return (strIsim: strIsim, strAdr: strAdres, strSe: strSehir);

Tuple Hash tablosu veya Dictionary kullanarak kolayca değiştirebileceğiniz ve döndürebileceğiniz bir sisteme sahiptir. Tek durumda birden fazla değeri depoladığınız List yerinede kullanabilirsiniz. .NET üstünde bir Tuple tip tanımlıdır. Bu referans tipi bir değişkendir. C#ile gelen değiştirilebilir değer türü Tuple ise daha performanslıdır.

Bazı zamanlarda tüm tuple paketine ulaşmadan sadece değerlerine ihtiyacınız olabilir. O zaman C# 7 ile gelen Deconstruction özelliğini kullanarak istediğiniz parçayı oradan çekip alabilirsiniz.

( string strIsim,  string strAdr,  string strSe) = getKisi();

 

Console.WriteLine($"Adres: { strAdr }, Şehir: { strSe }");



TIS Projesi

clock Ocak 28, 2017 08:23 by author Volkan Atasever

Merhaba Arkadaşlar, zamanında open source diğer projelerden de yaralanarak bir projeye başlamıştım uzun zamandır ilgilenemedim. ilk dağıtımını C# 6.0 kitabımla yapmıştım. Artık buradan bu ürünü şirketim adına da boş zaman buldukça geliştireceğimi söylemek isterim. sizlerde c# bilginizi geliştirmek ve yeni bilgiler öğrenmek adına projeye katılabilirsiniz. aşağıdaki linkten projeyi de indirebilirsiniz.

*********************************

Tulip Image Shop v0_1 indir

*********************************

Version Notları ve Lisans

------------

28.01.2017

TMIS şu anda Software4Galaxy Yaz. Hiz. ve Bilgi Tek. San. Tic. Ltd. Şti

adına Volkan Atasever tarafından geliştirilecektir. S4G sitesinde Open Source

olarak dağıtımı yapılacaktır. ilk dağıtımı C# 6.0 kitabı ile yapılmıştır.

geliştirme ve projeye destek vermek isteyenler lütfen iletisim@software4galaxy.com

mail adresine yapmak istedikleri geliştirmeleri söyleyerek gönüllü ekibimize katılabilir.

bu proje üstünde staj yapmak isteyenlerde CV'leri ile mail atabilirler.

----------

Mayıs 2015

TMIS Open Source bir projedir.

 Proje ilk dağıtımı Volkan Atasever'in C# 6.0 kitabının 1. baskısıyla yapılmıştır.

 Projenin dağıtımı sadece Proje Koordinatörü Volkan Atasever'in C# 6.0 kitabı 

ve belirttiği kaynaklardan olacaktır. 

Yeni özellik eklediğinizde bunu volkan@volkanatasever.com mail adresine

 atarak entegrasyon işlemlerini başlatırsınız. 

Modülünüz kabul edilirse bir sonraki versiyonda geliştiriciler bölümünde

 ve C# 6.0 kitabının yeni versiyonlarında görüntü işleme bölümünde isminiz geçecektir.  



.NET üstünde MySQL ile çalışma

clock Ocak 28, 2017 07:59 by author Volkan Atasever

MySQL, çok sayıda sistemde çalışan multi threaded ve çok kullanıcılı bir veritabanı yönetim sistemidir. SQL Server sürümlerine bir alternatif olarak düşünebiliriz. Gerçek düyna da SQL Server'a rakip olabilecek birden fazla Veritabanı Yönetim Sistemi bulunmaktadır. Oracle DB saymazsak MySQL en çok kullanılan alternatiflerden biridir. Aynı zamanda sadece Windows platformlarında değil UNIX, OS/2 ve Linux platformlarında da hızlı bir performans sergilemektedir. Açık kaynak kodlu bir sistem olduğu için diğer platformlarada port edilebilir durumdadır. ODBC sürücüleri olduğundan .NET üzerinde de kolaylıkla MySQL veritabanı yönetim sistemine erişerek MySQL tabanlı uygulamalar geliştirebiliriz.

MySQL tarihçesi şöyledir (Wikipedia’dan alıntıdır);

1994 MySQL'in geliştirilmesine başlandı.

1995 MySQL ilk sürümü yayınlandı.

2001 yılında MySQL 3.23 yayınlandı.

2004 MySQL 4.1 beta sürümü, ve gerçek sürümü Ekim 2004 yılında yayınlandı. (R-trees and B-trees, subqueries, prepared statements)

2008: MySQL 5.1 sürümü yayınlandı. (event scheduler, partitioning, plugin API, row-based replication, server log tables)

2008 Ocak: Sun Microsystems, bir milyar dolara MySQL'i satın aldı.

2009 Nisan: Oracle, Sun Microsystems'i satın aldı. Oracle, MySQL'i geliştirmeye devam edeceğini duyurdu.

 

MySQL Aşağıdaki yapıladı desteklemektedir;

Tables (Tablo)

Views (Görüntü) (Görüntüleme)

Procedures (Prosedür)

Triggers

Cursors

 

 

MySQL veritabanı yönetim sistemini kurduktan sonra doğrudan .NET uygulamaları altında C# ile geliştirme yapamazsınız. Bunun için .NET Connector’a ihtiyacınız var. MySQL ADO.NET sürücüsünü mysql sitesinden indirebilirsiniz.

 

 

 MySQL sürücüsünü kurmak indirdikten sonra bilgisayarınıza şöyle kurabilirsiniz;

 

 

 Setup Type kısmında istediğiniz kurulum tipini seçeceksiniz.

 

 

 Complete seçeneğini seçerseniz tüm frameworkler ve compact framework gibi alternatif araçlarda sisteminize yüklenecektir.

 

 

 

 

 MySQL veritabanı motorunun yönetimini yapacağınız uygulama MySQL Workbench uygulamasıdır. Bu uygulama SQL Server üstündeki Management Studio’ya denk gelmektedir.

 

 

 Workbench ekranı üstünden birden fazla connection ekleyebilir veya  yerel sunucunuzdaki verilerle çalışıp yönetebilirsiniz.

 

 

 Workbenc üzerinde birden fazla araç barınmaktadır.

 

 

 Tables, Views, Stored Procedures ve Functions kısmından işlevsel tüm özellikleri kullanabilirsiniz.

 

 

 Aynı SQL Server üzerinde kullandığımız sql cümleciklerini ufak bazı değişikliklerle MySQL üzerinde de kullanabilirsiniz. Select * from yapısı aynı şekilde MySQL içinde de geçerlidir.

 

 

 Farklı bir lokasyondaki veritabanına bağlanmak için aynı şekilde connect to database seçeneğini seçerek bağlantı sağlayabilirsiniz.

 

 

.NET uygulamamızda C# ile MySQL bağlantılı yazılım yazmak için öncelikle referanslar kısmından yüklediğimiz mysql connector’un dll paketlerini eklememiz gerekmektedir.

 

 Kullanacağımız MySQL.Data referansı bize gerekli alt yapıyı sağlayacaktır. Aynı zamanda Entity Framework yapısı içinde destek bulunmaktadır.

 

 

 Referanslara eklediğimizde MySql.Data başlığının projemize eklenmiş olduğunu görebiliriz.

 

 

Uygulamamızı yazarken gerekli olan namespace’ler MySql.Data, MySql, MySql.Data.MySqlClient isim alanlarıdır. Sql Server kodlaması yaparken kullandığımız SqlConnection gibi sınıfların isimleri bu isim alanı altında MySqlConnection gibi ufak değişiklikler göstermiştir. Aynı şekilde SqlCommand MySql ile kodlama yaparken MySqlCommand ismini almıştır. SqlDataAdapter ismi ise MySqlDataAdapter olmuştur. Bu şekilde klasik Ado.NET kodlaması yapabilirsiniz.

MySQL ile bağlanan ve işlemler yapan bir sınıf aşağıdaki şekilde tanımlanmış ve kodlanmıştır.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Data.SqlClient;

using System.Data;

using MySql.Data;

using MySql;

using MySql.Data.MySqlClient;

 

namespace sample_db

{

    public class dblayer

    {

        string connectionstr;

 

        public dblayer()

        {

            connectionstr = "Network Address=IP_Adresi;" +

                                                   "Initial Catalog='database_ismi';" +

                                                       "Persist Security Info=no;" +

                                                   "User Name='kullanıcı_ismi';" +

                                                   "Password='parola'";

        }

 

 

        public DataTable etkinlikleri_al()

        {

            DataTable dt = null;

            try

            {

                MySqlConnection connection = new MySqlConnection(connectionstr);

                string mysqlquery = "SELECT * FROM sample_db.etkinlik order by etkinlik.tarih desc";

                MySqlCommand command = new MySqlCommand(mysqlquery, connection);

                connection.Open();

                dt = new DataTable();

                MySqlDataAdapter adapter = new MySqlDataAdapter(command);

                adapter.Fill(dt);

            }

            catch

            {

                return null;

            }

            return dt;

        }

 

        public DataTable projeleri_al()

        {

            DataTable dt = null;

            try

            {

                MySqlConnection connection = new MySqlConnection(connectionstr);

                string mysqlquery = "SELECT * FROM sample_db.proje order by id desc";

                MySqlCommand command = new MySqlCommand(mysqlquery, connection);

                connection.Open();

                dt = new DataTable();

                MySqlDataAdapter adapter = new MySqlDataAdapter(command);

                adapter.Fill(dt);

            }

            catch

            {

                return null;

            }

            return dt;

        }

 

        public DataTable haberleri_al(string baslangic, string bitis)

        {

            DataTable dt = null;

            try

            {

                MySqlConnection connection = new MySqlConnection(connectionstr);

                string mysqlquery = "SELECT * FROM sample_db.haber where yayin_tarihi between " + baslangic + " and " + bitis + "order by haber.yayin_tarihi desc";

                MySqlCommand command = new MySqlCommand(mysqlquery, connection);

                connection.Open();

                dt = new DataTable();

                MySqlDataAdapter adapter = new MySqlDataAdapter(command);

                adapter.Fill(dt);

            }

            catch

            {

                return null;

            }

            return dt;

        }

 

        public DataTable duyurulari_al(string baslangic, string bitis)

        {

            DataTable dt = null;

            try

            {

                MySqlConnection connection = new MySqlConnection(connectionstr);

                string mysqlquery = "SELECT * FROM sample_db.haber where yayin_tarihi between "+baslangic+" and "+bitis+" order by haber.yayin_tarihi desc";

                MySqlCommand command = new MySqlCommand(mysqlquery, connection);

                connection.Open();

                dt = new DataTable();

                MySqlDataAdapter adapter = new MySqlDataAdapter(command);

                adapter.Fill(dt);

            }

            catch

            {

                return null;

            }

            return dt;

        }

 

    }

 

}



Volkan Atasever Kimdir ?

E-Mail: volkan(et)volkanatasever.com

Genel Müdür/S4G 
Bilgisayar Mühendisi

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve bir çok kategoride yazılarım...

Yazılım Kitaplarım

   

Şiir Kitaplarım

Dergi Yazılarım

 

Sosyal Ağlarım

 

 

 

 

Retro Bilgisayar Dergimiz

Türkçe Retro Bilgisayar dergimiz haziran 2016'da ilk sayısını çıkardı. ilk sayı yeni bir internet sitesinden tekrar yayınlanacaktır. Retro camiası tüm dünyada oldukça eğlenceli bir camia. Sizde katkıda bulunmak isterseniz bana mail atmanız yeterli. Dergimiz PDF formatında ve tamamen ücretsizdir.

Yasal Bilgi

Sitedeki yazıları,kodlar ve diğer materyaller Volkan Atasever'e aittir. Yazarı ve siteyi kaynak göstererek yazıları paylaşabilirsiniz.  Copyright(c)2004-2017

Sign In

Yazılım