Sayfalar

Translate Blog

21 Ekim 2022 Cuma

ESP DevKitC SVG Image

ESP32-DevKitC SVG and IMAGE

ESP32-DevKitC is a low-footprint and entry-level development board that is part of the ESP32 series. This board has a rich peripheral set. The built-in ESP32 pinout is optimized for hassle-free prototyping!


1500x739

To download svg version of ESP32 DevKitC click here.



21 Mart 2022 Pazartesi

Google ile Web Sayfalarına Giriş Yapmanın Tehlikeleri / Dangerous Side of Sign In With Google

Uzun zamandan beri birçok web sayfasına google butonları ile giriş yapıyorum. İlk kez kendi sayfama bu özelliği kazandırmak istedim. 2023'ten itibaren oAuth2 ismini verdikleri sistemi kapatıp yerine Google Credental sistemine geçiş yapmışlar. İşi biliyorsanız bir kaç uğraş ile sitenize ekleyebiliyorsunuz. Gerçi dökümanları eksik biraz.


Kolaylıklarının Yanında Teklikeleri Var

Kendi bilgisayarınızda hesaplarınınz sürekli açıktır ve bir siteye kaydolmamak için yana yakıla google butonu ararsınız varsa çok mutlu olursunuz. Fakat bu apinin kullanımında çok tehlikeli bir sorunu tespit ettik. Siz bir A sitesine google butonu ile giriş yaptığınız zaman o tarayıcıda artık gmail ve benzeri tüm google uygulamalarına da giriş yapmış oluyorsunuz. A sitesinden çıkış yaptınız diyelim ne yazikki google hesabınız o tarayıcıda halen daha açık kalıyor. Tamam kalsın diyorsunuz, fakat...

En Tehlikeli Senaryo

Başka birine ait veya internet kafedeki bir bilgisayardasınız. A sitesine google butonu ile giriş yaptınız. İşiniz bitti çıkış yaptınız ve masadan kalkıp gittiniz. Başka birisi aynı bilgisayar tarayıcı ile epostasına bakmak istedi ve gmail.com adresine girdi. Göreceği ilk  şey giriş yapılmış bir gmail eposta hesabı olacak. Hemde size ait gmail hesabı. Kötü niyetli birisi ise geçmişiniz, bilgileriniz, gmail ile bağlı olan uygulamalarınız (facebook, twitter, instagram vb...) hepsi çalınır.

Ne Yapmalısınız?

Bir geliştirici olarak google hesaplarından çıkış yaptırmanın bir yolu olmadığını araştırarak gördük. Hiçbir Google Api'si logout yaptıramıyor veya yaptırmıyor. Bunun temel nedeni kullanıcılar bir kere giriş yaptığından sürekli onlardan veri almaya devam etmek istemesi.

Peki kullanıcı olarak ne yapmalısınız:

  • Halka açık bir yerde google ile bağlan düğmelerini kullandıysanız muhakkak gmail.com sitesine girerek çıkış yapınız.
  • Veya "https://www.google.com/accounts/Logout" bu adresi ziyaret ederek tarayıcıdaki google hesabınızı kapatın.
Geliştirici iseniz ne yapmalısınız:
  1. Öncelikle google'a bu yöntemin yanlış olduğunu bildiren bir metin yazmalısınız.
  2. İkinci olarak Sign In With Google ile giriş yaptırıyorsanız kullanıcıya bu durumu bildirecek bir arayüz hazırlamalısınız.
  3. Çıkış butonlarınız iki özelliği de kapsamalı
    1. Google hesabım açık kalsın sadece siteden çıkış yap
    2. Hem siteden hem de google hesabımdan çıkış yap
  4. İki hesabı birden kapatmak için web sitenizdeki sessionları temizledikten sonra "https://www.google.com/accounts/Logout" adresine siteyi otomatik yönlendirin. Böylelikle google hesabı da kapanmış olacaktır.

13 Aralık 2021 Pazartesi

En Kısa Yol Algoritması - Dijkstra

Dijkstra Algoritması

 En kısa yol algoritması yani Dijkstra algoritması için javascript uygulamasına aşağıdan erişebilirsiniz.  Algoritma bu sayfadan uyarlanmıştır.




iki nokta arasındaki en hafif/kısa yolu hesaplar. Hesaplanabilmesi için noktalar arası ağırlık veya mesafelerin bilinmesi gereklidir. Bir başlangıç noktası seçin ve Kısa Yolu Çiz butonuna basın. Sonuç başlangıç noktasından başlayan ve en alt sağ köşeye giden, toplamları en küçük olan yolu vermektedir.

Calculates the lightest/short path between two points. In order to be calculated, it is necessary to know the weights or distances between the points. Select a starting point and press the Draw Shortcut button. The result gives the path with the smallest sum starting from the starting point and going to the lower right corner.



En kısa yol algoritması hakkında detaylı bilgiyi aşağıdaki videodan izleyebilirsiniz.

24 Nisan 2021 Cumartesi

CMD ile Arduino Uno'ya Komut Gönderme - Arduino Serial İletişimi

Arduino COM3 portunu kullandığını varsayalım. Arduinonun 2 numaralı pinine bir led bağladık. CMD ile onu açıp kapatalım. İlk kod arduinonu scripti. Yüklemesini yapalım.

#define BAUD_RATE 115200

int led = 2; // board üzerindeki standart led ile deneme ypamak için 2 yerine bunu yazın LED_BUILTIN

void setup(){

  pinMode(led, OUTPUT);

  Serial.begin(BAUD_RATE);

};

void loop(){

  if(Serial.available() > 0){

    //int i = Serial.read() - '0'; //sadece sayı almak isterseniz

    //char z = Serial.read(); //tek karakter almak isterseniz

    String z = Serial.readString(); //string almak isterseniz

    delay(100);

    if(z == "11"){

      digitalWrite(led, HIGH); 

    }else if(z == "12"){

       digitalWrite(led, LOW); 

    } 

  }

};


Şimdi başlata tıklayın ve cmd yazıp enterlayın. Aşağıdaki MODE ile başlayan kod COM3 portunun ayarlarını yapıyor. BAUD değeri arduino kodunda da var. İkisi aynı olmalı 9600 görebilirsiniz bir çok kodda. Ona göre düzeltin. Normalde arduino her comport iletişiminde reset atar. Bunu kapatmak için dtr=off komutu eklenmiştir. Böylelikle arduino seri port iletişimi yaparken kendini resetlemeyecek.

MODE COM3: BAUD=115200 DATA=8 STOP=1 PARITY=N dtr=off

Son olarak veriyi göndermeye geldi sıra. Arduino kodunda 11 iken ışığı AÇ 12 iken KAPAT kodu yazmışız. Aşağıdaki gibi yazarak 11 stringini port üzerinden gönderiyoruz ışık açılıyor, 12 gönderiyoruz kapatıyor. String komut aldığımız için istediğinizi yazabilirsiniz.

set /p x="11" <nul > COM3



26 Nisan 2020 Pazar

Unity C# Dizi Sıfırlama / How to reset array on C# or destroy all elements of array

I could not find any array reset code. An here is my code to remove all elements of an array. It will destroy all the childs of an array.



int [] emptyarray = {};
int [] myarray = new int[] { 7, 0, 6, 0, 7, 1, 6, 1, 7, 2, 6, 2, 7, 3, 6, 3, 7, 4, 6, 4, 7, 5, 6, 5, 7 };

this will do the magic

myarray = emptyarray.ToArray();

Your array now empty like new created.

8 Ekim 2019 Salı

Unity inspector Penceresindeki Bir Özelliğe Erişmek / Change A value on Inspector With C# on UNITY

Unity inspector penceresindeki bir özelliği algoritmik olarak değiştirmek mi istiyorsunuz. C# ile kodlarken ilgili pencereye erişmenin en güzel ve performanslı yolunu aşağıda bulabilirsiniz.

Örnek olarak bir kutumuz olsun ve dokusunu değiştirmek isteyelim. Normalde dokuyu inspector penceresinde Default Materyal başlığına tıklayarak yapabiliriz. Peki bu işlemi komutla nasıl yapabiliriz?



Unity versiyonum 2019.2 bu arada. Versiyonlar çoğu konuda önemli olabiliyor. Çizim nesnelerinde Mesh Renderer özelliği hep vardır. Siz nesnenin üzerine oluşturduğunuz bir materyali bile atasanız elle okun ucundaki bölgeden değişiklik yapabilirsiniz, fakat kod ile Renderer'ın özelliği olan materyale erişerek yapmalısınız.

Kutumuza bir script ekleyelim ve kod düzenleyicimiz her ne ise onda açalım. Visual Studio kullanmanızı ve Unity kurulumu yapılırken kendisinin kurmasına izin vermenizi öneririm. Kendiniz kurduğunuzda sorun çıkabiliyor. Bu haliyle Unity kodları Visual Studio'da çok güzel gözükebiliyor.


Fare tıklaması için farklı seçenekleriniz var. mousedown, mouseup, over, exit,... şeklinde çeşitli OnMouse varyasyonları var. Bir farenin basıldığı anı kullandık bu yüzden onMouseDown listenerını açarak kodu onun içine yazdık. Bu sayede ne zaman bu nesnenin üzerine bir tıklama gelirse içindeki kodlar çalışacaktır.


"this.gameObject.GetComponent<>" betiği buradaki tüm can alıcı işleri yapmanızı sağlayacak en önemli kod diyebiliriz. Bu kod ile inspector penceresindeki her şeye erişebilirsiniz.

Şöyle düşünün Inspector penceresi tüm özelliklerin bir listesidir, siz bu elemanlara GetComponent<> komutunun okları arasında bu listedeki tüm elemanların ismini yazarak erişebilirsiniz.
this.gameObject.GetComponent<Rigidbody>
this.gameObject.GetComponent<Collider>
this.gameObject.GetComponent<Transform>
gibi komutlarla özelliklere erişip değiştirebilirsiniz.

25 Eylül 2019 Çarşamba

Google Blogger ile TR'li Domain Kullanımı

Şahıs adına alınan TR uzantılı domain isimleri nic.tr adresinden uygun fiyata alınabilmektedir. 2019 yılı itibari ile 5 yıllığı toplam 50TL'ye geliyor. Aldığınız domain'i blogger'da kullanmak istediğinizde ise çeşitli zorluklarla karşılaşıyoruz. Çünkü nic.tr CNAME yönlendirmeleri yapmamakta. Daha doğrusu bu ayarları girilecek bir yeri bulunmamakta.

Bu sebeple TR uzantılı web sitelerinizi öncelikle mevcut bir hostinge yerleştirmeniz lazım. En ucuzundan bir hosting bulun ve dns yönlendirmelerinizi nic.tr adresinden bu hostinge uygun şekilde yapın. Bu ayarların kabul görmesi biraz zaman alacaktır. Hostinginize bağlı ama yaklaşık en geç 24 saat.

Ardından Blogger'ın ayarlarını açın ve Temel Ayarlara gelin.
Yayıncılık başlığı altındaki blog adresi kısmında bulunan düzenle butonuna tıklayın.


Düzenleye tıkladığınızda aşağıdaki gibi bir ekran gelecektir. Burada önemli olan 2 satır veri var. Birincisi www ve karşısındaki ghs.google.com adresi ile
bir kod ve karşısında o kod ile başlayan diğer google adresi. Bunları kullanacağız.


Ekranda gördüğünüz alana web sitenizin www li olacak şekilde adını yazın, kaydete bastığınızda işe yaramayacaktır. Öncelikle google'un bazı bilgilerini hostinginizin DNS ayarlarına girmemiz gerekiyor. nic.tr ile bir işimiz kalmadı artık, hostingi aldığınız CPANEl'i açın ve DNS kısmını bulun, cpanelde bunun adı Zone Editor.


Zone Editörde Yönet'e tıklayalım.



Yönet sayfasında Kayıt Ekle butonundan CNAME Record'a tıklayın.
www.muratatasoy.com.tr adresinizi google size vermiş olduğu ghs.google.com adresine yönlendirin. Yani sol tarafa www li adresiniz sağ tarafa google verdiği adres.


İkinci olarak da google bize verdiği ikinci satırdaki kod ve adresi kullanrak ikinci bir yönlendirme daha yapmalıyız. Yine bir CNAME ekleyelim. sol tarafa kodlu site adınız, sağ tarafa ise kodlu googleun verdiği adresi yapıştırın ve kaydedin.

Bu iki CNAME yönlendirmesini eklediysek bende 30dk-60dk arası süren ama en fazla 24 sürecek bir bekleme sonrasında yönlendirmeleriniz yapılmış çalışır hale gelecektir. Çalışır hale geldiğinde blogger Temel Ayarlara giriş yapın ve önünde www olan .tr li adresinizi ilgili alana yazıp kaydet butonuna basın. Hata verirse CName yönlendirmeleriniz daha aktif olmamış demektir. Biraz daha bekleyin ve sonra tekrar deneyin.

www girmeden yazdığınız adresleri de www'li olana yönlendirmeniz gerekecektir.
Bunun için Cpanel'de Yeniden Yönelendirmeler'e tıklayın ve aşağıdaki gibi formu doldurun.


Ekle butonuna basın ve işlem hemen gerçekleşecektir. Artık kendi google blog sayfanız sizin adınız ile açılacaktır. İyi yayınlar.






Sürücü veya Flash Belleklerde Gizlenen Dosyaları Açan Bat dosyası

Virüslü bilgisayarlara takılan flash belleğinizdeki dosyalarınız kaybolduysa ve bu sık sık tekrar ediyorsa ufak bir komut ile bu sorunu çözebilirsiniz. Aşağıdaki kodu bir not defterine yapıştırın ve uzantısı .bat olacak şekilde kaydedin.


@echo off
set /p id="Surucu Adi Girin: "
%id%:
set /p a="Islem dosya sayisina bagli olarak uzun surebilir, Devam icin ENTER'a basin"
attrib -a -s -r -h /S /D
dir /s /b | sort
echo.
echo.
echo.
echo.
echo KLASORU ACMAK ICIN BIR TUSA BASIN
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
set /p a=""
start .


Bat uzantılı dosyalar Windows içinde siyah bir ekranı olan CMD uygulamasında açılır içinde yazılı olan işlemleri uygularlar. CMD hakkında daha fazla bilgi için tıklayınız.

Bat dosyasına tıklayın ve flash belleğinizin harfini yazın ENTER'a basın. Flash belleğinizin harfini bilmiyorsanız aşağıdaki resimde flash belleğimin H harfine sahip olduğu görülüyor.
CMD ekranında aşağıdaki şekilde görülecektir.


Bastığınızda dosya sayısına bağlı olacak şekilde işlem sürebilir. İşlemler bittiğinde ekrana aşağıdaki bilgi gelecektir. Tekrar ENTER'a basarsanız belleğiniz açılacaktır.


Muhtemelen dosyalarınız ismi olmayan bir klasörün içine taşınmıştır. İçine girerek dosyalarınızı görebilirsiniz.










18 Kasım 2017 Cumartesi

7-12 GB Alan Açmak

Bilgisayarınızı uyku, açma ve kapatmadan başka bir şekilde kullanmıyorsanız yani Hibernate konumuna hiç getirmiyorsanız en az 7GB daha harddiskinizde boş yer açabilirsiniz.
Başlat'a cmd yazın, cmd'ye sağ klik ve yönetici olarak çalıştıra tıklayın.

Alttaki komutu kopyalayın 
powercfg -h off
ve cmd ekranına yapıştırıp çalıştırın.
C sürücünüzde 7 ile 12 GB arası boş alan açıldığını göreceksiniz.

14 Haziran 2017 Çarşamba

Windowsun Microsofta Veri Göndermesini Engelleyin / How to stop windows sending data to microsoft

Müşteri memnuniyeti programı kapsamında mikrosoft dünyanın verisini alıyor. Haberimiz yok tabi. Başka nice verileri de alıyor ama siz şimdilik burdan başlayın, zararın neresinen dönülürse kardır.

https://pubs.vmware.com/view-51/index.jsp?topic=%2Fcom.vmware.view.administration.doc%2FGUID-BE82165B-13BC-4FD9-A9CF-FBEF6343D98A.html

adresine girin veya aşğıdaki adımları uygulayın.
İng olmayanlar için özetleyelim:

Genel olarak müşteri memnuniyeti programını devre dışı bırakmanız lazım.
Bunun için denetim masasındaki mavi bayraklı İşlem Merkezini açın. Ekranın sol üstündeki işlem merkezi ayarlarını değiştire tıklayın ve ekrana çıkacak olan soruya hayır katılmayacağımı işaretleyin.

Ardından da denetim masasındaki yönetimsel araçlarada Zamanlanmış görevlere girip bazı görevleri sağ klik ve devre dışı yapmanız gerekiyor. Bu görevler 6, 7, ve 8. basamaklarda verilmiş.

Haydi geçmiş olsun.

1
In the Windows 7 or Windows 8 guest operating system, start the control panel and click Action Center > Change Action Center settings.
2
Click Customer Experience Improvement Program settings.
3
Select No, I don't want to participate in the program and click Save changes.
4
Start the control panel and click Administrative Tools > Task Scheduler.
5
In the Task Scheduler (Local) pane of the Task Scheduler dialog box, expand the Task Scheduler Library > Microsoft > Windows nodes and open the Application Experience folder.
6
Disable the AITAgent and ProgramDataUpdater tasks.
7
In the Task Scheduler Library > Microsoft > Windows node, open the Customer Experience Improvement Program folder.
8
Disable the ConsolidatorKernelCEIPTask, and Use CEIP tasks.

4 Ocak 2016 Pazartesi

Flash Player Uninstaller - Flash Player Kaldırıcı ve Eski Flash Player Versiyonları

Flash player'ın versiyon 20sinde ki hangi versiyon kullandığınızı öğrenmek için,
https://helpx.adobe.com/flash-player/kb/uninstall-flash-player-windows.html#main_Download_the_Adobe_Flash_Player_uninstaller

adresine tıklayabilrsiniz, bazı sorunlar yaşadığım için kaldırmam gerekti.
Bunu elle yapabilirsiniz ama flash player için bir kaldırıcı programcık bulunmakta. Onu kullanırsanız daha sorunsuz işiniz hallolur.

https://fpdownload.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe

İlgili linkten indirebilirsiniz.

Eski flash player versiyonlarına ulaşmak için
https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html#Flash%20Player%20archives
adresine gidebilirsiniz. Çeşitli versiyonları burada bulabilirsiniz.