Hi there ­čĹő

I’m Aykut. I am a technology/software enthusiast. My priority experting are Android(Native) and Flutter development.

Android SMS User Consent API Kullan─▒m─▒

Problem? Android i┼čletim sisteminin ilk versiyonlar─▒nda SMSÔÇÖlere eri┼čim olduk├ža kolayd─▒. Fakat ┼čimdi sadece ├Âzel izne sahip uygulamalar bu izne sahip olabiliyor. GoogleÔÇÖa bir form doldurarak ve neden SMS okuma ├Âzelli─čine kesin olarak ihtiyac─▒n─▒z oldu─čunu anlatarak bu izni talep ediyorsunuz. Peki bizim amac─▒m─▒z tek seferlik bir SMS okumak ise yine bu s├╝re├žten ge├žmeli miyiz? Hay─▒r! Google tek seferlik SMS okumas─▒ yapabilmek i├žin ├že┼čitli APIÔÇÖler ├ž─▒kard─▒. Bu APIÔÇÖlere sayfan─▒n en alt─▒nda bulunan Kaynaklar b├Âl├╝m├╝nden eri┼čebilirsiniz....

November 2, 2021 ┬Ě 1 min ┬Ě Aykut Asil

.Net Sqlite Konfig├╝rasyonu

CLI ile Entity Framework i┼člemleri ger├žekle┼čtirmek i├žin dotnet-ef toolunu y├╝klemelisiniz. dotnet tool install --global dotnet-ef dotnet add package Microsoft.EntityFrameworkCore.Design SQLite providerÔÇÖ─▒ i├žin ilgili paketi y├╝klemelisiniz dotnet add package Microsoft.EntityFrameworkCore dotnet add package Microsoft.EntityFrameworkCore.Sqlite SQLite konfig├╝rasyonu i├žin startup.cs dosyas─▒n─▒ a┼ča─č─▒daki gibi g├╝ncellemelisiniz. public void ConfigureServices(IServiceCollection services) { services.AddDbContext<MainDbContext>(x => x.UseSqlite("DataSource=app.db")); services.AddControllers(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "ws_agt_ext_api", Version = "v1" }); }); } Users tablosunu olu┼čturmak i├žin a┼ča─č─▒daki gibi ilgili s─▒n─▒flar─▒ olu┼čturmal─▒s─▒n─▒z....

June 24, 2021 ┬Ě 2 min ┬Ě Aykut Asil

Teamcity Slack Entegrasyonu

Senaryo Kendi sunucunuz ├╝zerine kurmu┼č oldu─čunuz TeamcityÔÇÖe Slack entegrasyonu yaparak, build > deploy ad─▒mlar─▒n─▒ Slack ├╝zerinden nas─▒l izleriz? ├ç├Âz├╝m ├ľncelikle Slack yap─▒land─▒rmalar─▒ ile ba┼člayal─▒m. https://api.slack.com/apps adresine giriyoruz ve yeni bir App olu┼čturuyoruz. OAuth & Permissions tab─▒na ge├žerek ilgili yetkilendirmeleri yap─▒yoruz. Botumuza, ihtiya├ž duyaca─č─▒ t├╝m izinleri verdikten sonra Install to Workspace diyerek yetkilendirmeyi tamaml─▒yoruz. Olu┼čan token─▒ Teamcity taraf─▒nda kullan─▒caz. Slack taraf─▒nda AppÔÇśimizi olu┼čturduktan sonra ┼čimdi Teamcity taraf─▒nda gerekli ayarlamalar─▒ yapabiliriz....

January 5, 2021 ┬Ě 1 min ┬Ě Aykut Asil

PowerShell Invoke-Command ile Uzak Bilgisayarda Komut ├çal─▒┼čt─▒rma

Senaryo ┼×u anda ├žal─▒┼čm─▒┼č oldu─čum ┼čirkette, kendi local sunucular─▒m─▒z ├╝zerine kurmu┼č oldu─čumuz Teamcity ile projelerin derlenip sunulma a┼čamas─▒n─▒ otomatize etmeye ├žal─▒┼č─▒yoruz. Teamcity kurmu┼č oldu─čumuz sunucu ile projelerin deploy olaca─č─▒ sunucular farkl─▒. Biz ┼čimdilik bu deploy s├╝recini teamcity built-in FTP ├Âzelli─čini kullanarak hallediyoruz. Fakat .net core projelerinin deploy olma s├╝recinde ya┼čanan bir problem var. E─čer .net core projeniz IIS arkas─▒nda konu┼članma ┼čeklinde ayarlanm─▒┼č ise IIS, projenizin .exe dosyas─▒n─▒ ├žal─▒┼čt─▒yor olacak ve bu ├žal─▒┼čma s├╝resince siz bu dosyay─▒ de─či┼čtirme, silme vb....

December 21, 2020 ┬Ě 2 min ┬Ě Aykut Asil

D├╝zeltilmi┼č .gitignore ile Projenin Yeniden Yap─▒land─▒r─▒lmas─▒

Problem Zaten halihaz─▒rda .gitignore dosyas─▒ eklenmi┼č ┼čekilde bir git repunuz var. Sonradan .gitignore dosyas─▒n─▒z─▒ yap─▒land─▒rd─▒n─▒z fakat yine de bu dosyalar track(izlenmeye) devam ediyor. Sebep Proje dosyalar─▒n─▒ ilk commit yapt─▒─č─▒n─▒zda mevcut .gitignore yap─▒land─▒rman─▒z baz al─▒narak dosyalar cachelenir. Ve sonras─▒nda bu dosyalarda yap─▒lan t├╝m de─či┼čikler izlenmeye devam eder. Sonradan .gitignore dosyan─▒zda de─či┼čiklik yapsan─▒z dahi cachelenmi┼č dosyalarda de─či┼čiklik olmaz. ├ç├Âz├╝m git cacheÔÇÖini temizleyerek izlenenen t├╝m dosyalar─▒ yeni .gitignore yap─▒land─▒rman─▒za g├Âre tekrardan cachelenmesini sa─člayabilirsiniz....

December 7, 2020 ┬Ě 1 min ┬Ě Aykut Asil

Android Fastlane Kurulumu

Fastlane, mobil ile ilgili neredeyse t├╝m s├╝re├žleri (build,test,deploy vs.) otomatize etmeye yarayan bir ara├žt─▒r. Fastlane kullanarak hangi CI/CD platformunu kullan─▒yor olursan─▒z olun uygulama s├╝re├žleriniz tekil hale getirebilirsiniz. Kurulum brew install fastlane Fastlane arac─▒n─▒n kurulumunu tamamlad─▒ktan sonra, ilk olarak projenizin root klas├Âr├╝ne gelip fastlane init komutunu ├žal─▒┼čt─▒rmal─▒s─▒n─▒z. Komut sat─▒r─▒nda Package Name istenildi─činde uygulamam─▒z─▒n package nameÔÇśini (com.example.myapplication) giriyoruz. Di─čer ad─▒mlar─▒ ┼čimdilik es ge├žebilirsiniz. Proje yap─▒land─▒rmas─▒ tamamland─▒─č─▒nda app klas├Âr├╝ ile ayn─▒ seviyede fastline isimli bir klas├Âr olu┼čacak....

November 4, 2020 ┬Ě 2 min ┬Ě Aykut Asil

Android Fastlane Screengrab Kurulumu

Fastlane kurulumunu hen├╝z tamamlamad─▒ysan─▒z sizi buraya alal─▒m. Screengrab Mobil ekran g├Âr├╝nt├╝s├╝ al─▒m─▒n─▒ otomatize eden bu arac─▒n kullan─▒m─▒ i├žin ├Âncelikle a┼ča─č─▒daki komut ile ilgili arac─▒ y├╝kl├╝yoruz. sudo gem install screengrab Daha sonra AndroidManifest.xml dosyas─▒na a┼ča─č─▒daki blo─ču eklemeliyiz. <!-- Allows unlocking your device and activating its screen so UI tests can succeed --> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Allows for storing and retrieving screenshots --> <uses-permission android:name="android....

November 4, 2020 ┬Ě 3 min ┬Ě Aykut Asil

Android applicationId vs package name

Android projesi olu┼čturdu─čunuzda a┼ča─č─▒daki gibi AndroidManifest.xml ve build.gradle dosyalar─▒ olu┼čur. AndroidManifest.xml i├žerisinde package tag─▒ ve build.gradle i├žerisinde applicationId niteli─či bulunur. Peki bu ikisi aras─▒ndaki fark nedir? package=ÔÇťcom.example.myappÔÇŁ ile belirtti─čimiz k─▒s─▒m asl─▒nda projemizin klas├Âr yap─▒s─▒n─▒ ifade eder. Yani com > example > myapp ┼čeklinde bir tree yap─▒s─▒ vard─▒r. Ve biz proje dosyalar─▒m─▒z─▒ bu dizin alt─▒nda olu┼čturmaya ba┼člar─▒z. ├ľrne─čin MainActivity dosyas─▒ olu┼čturdu─čumuzda asl─▒nda bu dosyan─▒n yolu com.example.myapp.MainActivity olur. Projemiz derlenme s─▒ras─▒nda package de─čerine bakar ve dosyalar─▒ bu adrese g├Âre bulur....

June 21, 2020 ┬Ě 2 min ┬Ě Aykut Asil

Telefonun Kamerasini Web Kameras─▒ Gibi Kullanmak

Gerekli Uygulamalar─▒n Kurulmas─▒ ├ľncelikle ┼ču siteye giderek hem bilgisayar─▒m─▒z hem de telefonumuz i├žin IRION uygulamas─▒n─▒ indirip kuruyoruz. Daha sonra bilgisayar─▒m─▒z ile telefonumuzun ayn─▒ a─ča ba─čl─▒ oldu─čundan emin oluyoruz. Bu kadar. :) Art─▒k telefonun kameras─▒n─▒ sanki bilgisayar─▒m─▒za tak─▒l─▒ bir webcam gibi kullanabilir ve kaliteli g├Âr├╝nt├╝ aktarabiliriz. Zoom uygulamas─▒nda kamera kayna─č─▒ olarak telefon kameras─▒ (Virtual Cam) g├Âr├╝nm├╝yor. ├ç├Âz├╝m i├žin terminalÔÇś─▒ a├žarak a┼ča─č─▒daki komut sat─▒r─▒n─▒ yazmam─▒z yeterli olacakt─▒r. Yazmadan ├Ânce Zoom uygulamas─▒n─▒ kapatt─▒─č─▒m─▒zdan emin olal─▒m....

May 30, 2020 ┬Ě 1 min ┬Ě Aykut Asil

Asp.Net Core launchSettings.json Kullan─▒m─▒

launchSettings.json dosyas─▒ sadece localÔÇśde development yaparken kullan─▒lan bir dosyad─▒r. Visual Studio veya dotnet cli ile birlikte kullan─▒l─▒r. Not: E─čer uygulamam─▒z─▒ sunucuyu deploy ettikten sonra ula┼čmak istedi─čimiz ayarlar var ise bunun belirtilmesi gereken yer launchSettings.json dosyas─▒ de─čildir. Bu t├╝r ayarlar genelde appSettings.json dosyas─▒ i├žerisinde tan─▒mlan─▒r. launchSettings.json dosyas─▒ { "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:59119", "sslPort": 0 } }, "profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "FirstCoreWebApplication": { "commandName": "Project", "launchBrowser": true, "applicationUrl": "http://localhost:5000,https://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } Yukar─▒daki dosyay─▒ inceleyecek olursak profiles tag─▒ alt─▒nda IIS Express ve FirstCoreWebApplication taglar─▒ oldu─čunu g├Âr├╝r├╝z....

April 17, 2020 ┬Ě 2 min ┬Ě Aykut Asil