17 Kasım 2016 Perşembe

Chrome Döviz Kurları Eklentisi

Merhaba,

Yıllar önce yazmış olduğum bir chrome eklentisini dövizin hızlı hareketleri ile çok sık kullanır oldum. Gerçekten fayda gördüğüm için buraya almamında fayda getireceğini düşünüyorum.

Öncelikle chrome eklentileri adres satırında adresin hemen devamına yerleşen simgecikler oluyor. Bazıları adres çubuğu içine yerleşebilir, bir kısmı backgrounda işler vb ama geneli adres çubuğu yanındadır. Buradan ilgili simgeye tıkladığınızda uzantı popup penceresi ekrana çıkar.

Döviz kurları eklentisi bu simgeye tıkladığınızda seçeceğiniz kaynaktan güncel döviz kurlarını ekrana getiriyor. Gün içinde farklı siteleri dolaşmak değişik banka ve kurumlardaki döviz kurlarını öğrenmek saniyeler sürüyor.

Kurulum için chrome web mağzasından (link) linkine girmerek Chrome'a Ekle düğmesini tıklamak yeterli.

Adres satırındaki düğmeye tıklandığında soldaki popup pencere ekrana geliyor ve o andaki döviz bilgilerini ekrana getiriyor. Veri kaynağı alanında birçok banka ve döviz ofisleri bulunuyor. Buradan seçtiğiniz bir banka olursa o bankanın verilerini takip etmeye başlıyorsunuz. Kapatıp açtığınızda da son seçtiğiniz geldiğinden belirli birini takip ediyorsanız gün içinde tek klikle son durumları öğrene biliyorsunuz.

Yandaki resim rekor kırılan dönemlerden :(


Faydası olması dileğiyle, 

10 Ekim 2016 Pazartesi

Github Dropbox Erişimi

Ülkemizde ne yazıkki github, google drive ve dropbox için BTK tarafından erişim engeli konuldu. Özellikle yazılım camiası için github erişim engeli ciddi büyük bir sorun. Bu engel DNS adresi değiştirerek aşılamıyor. Bu engelleri açmak için 2 ayrı yöntem anlatacağım.

1- Tor Browser
Tor browser firefoxa benzeyen (hatta yanlış bilmiyorsam firefox kodlarından türetilen) bir web tarayıcı. Bu tarayıcının önemli özelliği açılışta dünya üzerindeki ücretsiz VPNlere bağlanıyor ve hangi ülkenin VPN sunucusunda iseniz o ülkeden çıkış yapmış oluyorsunuz. VPN (Virtual Private Network - Sanal Özel Ağ) sizinle sunucu arasında şifreli bir ağ kuruyor ve bu ağ ülkedeki kısıtlamalardan etkilenmemiş oluyor.
Tor browserı bu linkten indirebilirsiniz. Aşağıda erişim engeli olan githuba girişim görünüyor.

2- Chrome Zenmate Uzantısı
Tor browser kolay bir şekilde erişim olmayan sitelere ulaşmanızı sağlıyor ancak tüm favori linkleriniz vb chromeda ise her seferinde chromea gidip linki kopyalamak ve tor browserda açmak can sıkıcı olabilir. Chromeda bu işi çözmenin yolu yokmu derseniz var. Uzantılarda ücretli ücretsiz bir çok VPN uzantısı yükleyebilirsiniz. Ben zenmate kullandım. Başkalarıda var.
Öncelikle chrome marketten zenmate uzantısı sayfasını açmalısınız. Bu linkten çabuk açabilirsiniz.
Ekranın sağ üstteki Chrome'a ekle düğmesi ile zenmate vpn uzantısını eklemiş olursunuz.
Uzantının chrome eklenen ikonuna basarak açılan sayfada kullanıcı oluşturmamız ve mailimize gönderilen onayı tıklayarak kullanıcıyı aktif etmeniz gerekiyor.


Daha sonra tekrar zenmate düğmesine tıkladığınızda kullanıcı bilgilerinizi girdiğinizde VPNe bağlanarak chrome tarayıcısından github ve diğer erişim engeli olan sitelere rahatlıkla girebiliyorsunuz.



7 Ekim 2016 Cuma

Elasticsearch Kurulum

Elasticseach Nedir

Elasticsearch lucene tabanlı döküman indexleyen metin arama motorudur. Kısaca uygulamalarınız arkasında google search benzeri bir yapı kurarak dökümanları elasticsearch ile indexleyip arama işlevini bu altyapı üzerinden yapabilirsiniz.

Bu dökümanda sadece windows sunucular için kurulum işlemine deyineceğim.

Elasticsearch

Öncelikle elasticsearch ve kibana yüklemesini yapın. Ben c:\elactic dizini kullandığımdan indirilen zip dosyaları c:\elastic dizinine elasticsearch ve kibana dizinleri olarak açın.

Java sürümü kontrol edilmelidir (sürüm 1.7 yada yüksek olmalı). Bunun için
JAVA -version 
kullanılır. Ayrıca JAVA_HOME çevrel değişkeni kontrol edilmeli. Bu değişken JDK dizinini göstermelidir.
SET JAVA_HOME
komutu ile kontrol ediyoruz ve yok ise JDK yüklüyoruz yada dizini ayarlıyoruz.

Bu işlemden sonra konfigürasyonlara başlayalım. Konfigürasyonda editör kullanmamız gerekecek. Notepad++ tavsiye edilir.

Önce elasticsearch/config/elasticsearch.yml dosyasını editör ile açın.
   cluster.name, node.name, bootstrap.mlockall
alanlarını ayarlayın. Örnek değerler:
cluster.name "scorpio_dev_1"
node.name  node-1
bootstrap.mlockall true

İleride index dynamic mapper sorun çıkmasın diye dosya içine alttaki satırı ekliyoruz
index.mapper.dynamic: false

elasticsearch/bin klasöründen
elasticsearch.bat 
çalıştırıyoruz ve elasticsearch'ün sorunsuz çalıştığını kontrol ediyoruz.

Kontrol için önce herhangibir tarayıcıda
http://localhost:9200/ 
adresine gidelim aşağıdaki gibi json response almalıyız
{
"name": "node-1",
"cluster_name": "scorpio_dev_1",
"version": {
"number": "2.3.2",
"build_hash": "b9e4a6acad4008027e4038f6abed7f7dba346f94",
"build_timestamp": "2016-04-21T16:03:47Z",
"build_snapshot": false,
"lucene_version": "5.5.0"
},
"tagline": "You Know, for Search"
}

Sonra _cluster API kullanarak tarayıcıya
http://localhost:9200/_cluster/health 
adresini girelim. Aşağıdaki sonucu almalıyız.
{
"cluster_name": "scorpio_dev_1",
"status": "green",
"timed_out": false,
"number_of_nodes": 1,
"number_of_data_nodes": 1,
"active_primary_shards": 0,
"active_shards": 0,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 100
}

KIBANA Kurulum

Siteden indirdiğimiz kibana dosyalarını C:\elastic\kibana dizinine açalım.
kibana\bin içinden
kibana.bat 
çalıştıralım. Bu aşamada 5601 portu için erişim izni ister erişim izni verelim.
Tarayıcıda
http://localhost:5601/status 
sayfasını açtığımızda Green yazısını göreceğiz. Bu aşamada en az bir index açmamız gerekiyor. Indexleri elasticsearch veritabanı olarak düşünebilirsiniz. Bu işlemler için önce chrome tarayıcımıza sense plugin yükleyeceğiz. Bu plugini linkten açılan sayfadan add to chrome düğmesi ile yüklersiniz. Chrome üzerine gelecek icona tıklayara sense plugini açabiliriz.

Elasticsearchten rest api çalıştırmamız gerekiyor. Basitçe bunu sense plugin ile yapabiliriz
Aşağıdaki kodu sense'in sol tarafına ekliyoruz. Index adımız testindex olsun.
PUT testindex
{
    "settings" : {
        "index" : {
            "number_of_shards" : 3,
            "number_of_replicas" : 2
        }
    }
}
RestApinin sonucu
"acknowledged": true 
gelmesi lazım.
Indexi tarayıcımızdan
http://localhost:9200/testindex 
adresi ile kontrol edebiliriz. Dönen JSON sonucunda indeks bilgileri yeralır.
Sonrasında tarayıcıdan
http://localhost:5601/
adresini açtığımızda kibana ekrana gelir. Bu aşamada indeks desenini tanımlamamız lazım testindex yada test* (ileride açacağımız diğer veritabanları varsa).
Ayrıca Index contains time-based events kapatıyoruz (örneğimizde zaman temelli event yok kabul ettik)
Create düğmesine bastığımızda kibana kurulumu tamamlamış olduk

Marvel Kurulum

Marvel linkinden uygulamayı indirelim.
Öncelikle Elasticsearch açık ise kapatalım.
cmd
ile komut istemine geçerek
 cd C:\elastic\elasticsearch\bin
elasticsearch bin dizinine geçelim.

Burada license plugin yüklememiz gerekiyor ve akabinde marvel-agent yüklememiz gerekiyor.
Install sırasında izin istiyor y(yes) olarak geçmemiz lazım.
plugin install license
plugin install marvel-agent

Bu işlemlerle elasticsearch, kibana ve marvel agent kurulumu tamamlamış olduk. Uygulamamızdan servis olarak bağlanarak arama motoru olarak kullanabiliriz. Oda başka bir makaleye kalsın.

3 Ekim 2016 Pazartesi

Apartman ve Site Yönetim Yazılımı apyon.net

Geçen gün yeni bir apartman site yönetim sistemini inceleme fırsatı buldum. apyon.net. Site üzerinde dökümanlarda çok detaylı açıklamaları bulunuyor. Aynı zamanda üye olmadan verilen demo şifreleri ile yazılımı inceleme fırsatına sahip oluyorsunuz. Hiçbir email kaydı yapmadan inceleyebilmek iyi bir şey.

Sitenin ısı ölçer/pay ölçer girişinden tutunda, kapıcı bordrosuna kadar her imkan var. Ayrıca mobil web site ve mobil uygulama ile apartmandakilerin aidat borçlarını istedikleri zaman görebilmesi, site yöneticisinin aylık borç ve duyuru smsleri gönderebilmesi gibi özellikler şahane olmuş.
 apyon profesyonel site yönetim yazılımı

Jquery UI Templates

Jquery Mobile ile Mobile Site Oluşturma


Tanımlama

Hazırlayacağımız site/web app dizin yapısı aşağıdaki gibi olmasını istiyorum.|- index.html|- js|- css
  |- images
Kurulum için önce Jquery sitesinden JQuery sürümlerinden JQuery mobile ile uyumlu olanı indiriyoruz. İndirilen jquery dosyasını js klasörüne kopyalıyoruz. Bu örnekte 1.11.0 kullanıldı.
Ayrıca JQuery Mobile sitesinden download ettiğimiz jquery mobile dosyaları dizine eklenmelidir. Ben custom download seçtim. Gelen sıkıştırılmış dosyayı css ler css klasörüne ve js ler js klasörüne olacak şekilde ayırıyoruz. Bu zip içinde images çıkmayacaktır. Aynı download sayfasından images zip dosyasını indirip css içine açıyoruz.

Ayrıca jquery mobile kodu çalıştığında hata almaması için mobileinit eventını tanımlıyoruz.

Sayfamızda Jquery UI için gerekli style ve kodları eklemek için <head> tag içine aşağıdaki kod eklenmelidir. 

    <title> Web Site Başlık</title>
        <link href="css/jquery.mobile.custom.structure.css" rel="stylesheet" type="text/css" />
    <link href="css/jquery.mobile.custom.theme.css" rel="stylesheet" type="text/css" />
    <script src="js/jquery-1.11.0.min.js"></script>
    <script>
        $(document).bind('mobileinit',function(){
            $.mobile.changePage.defaults.changeHash = false;
            $.mobile.hashListeningEnabled = false;
            $.mobile.pushStateEnabled = false;
        });
    </script>
    <script src="js/jquery.mobile.custom.js" type="text/javascript"></script>

    

İlk Sayfamızı Ekleyelim

JQuery mobile içinde bir html içine bir çok sayfa ekleyebiliyoruz. data-role attribute page değerini alması div elementinin sayfa olarak kullanılacağını gösteriyor. İkinci satırdaki div elementinin data-role değeri header. Bu div içindekilerinin sayfanın başındaki header bölümüne yerleştirileceği anlamını taşıyor. Örnekte için h1 elementi ve içinde Başlık Metni metni var.
Altıncı satırdaki div elementi data-role 
<div data-role="page" id="one">
 <div data-role="header">
  <h1>Başlık Metni</h1>
 </div><!-- /header -->

 <div data-role="content"> 
İçerik
 </div>
        <!-- /content -->

 <div data-role="footer">
  <h4>Alt Metin</h4>
 </div>
        <!-- /footer -->
</div>
<!-- /page -->
  • Button
<a href="#" data-role="button" data-icon="star" data-theme="b">btncaption</a>
  • listview
<ul data-role="listview" data-inset="true" data-filter="true">
 <li><a href="#">Acura</a></li>
 <li><a href="#">Audi</a></li>
 <li><a href="#">BMW</a></li>
 <li><a href="#">Cadillac</a></li>
 <li><a href="#">Ferrari</a></li>
</ul>
  • slider
   <label for="slider-0">Input slider:</label>
   <input type="range" name="slider" id="slider-0" value="25" min="0" max="100"  />
  • button
<a href="#link" data-role="button" data-icon="star" data-theme="b">ButtonCaption</a>
  • textinput
    <label for="basic">Text Input:</label>
    <input type="text" name="name" id="basic" value=""  />
  • field container
<div data-role="fieldcontain">
    <label for="name">Text Input:</label>
    <input type="text" name="name" id="name" value=""  />
</div> 
  • diğer input tipleri
   <div data-role="fieldcontain">
          <label for="password">Password:</label>
          <input type="password" name="password" id="password" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="number">Number:</label>
          <input type="number" name="number" id="number" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="number-pattern">Number + pattern:</label>
          <input type="number" name="number" pattern="[0-9]*" id="number-pattern" value="" placeholder="Pattern attribute [0-9]* for a numeric keypad" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="email">Email:</label>
          <input type="email" name="email" id="email" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="url">Url:</label>
          <input type="url" name="url" id="url" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="tel">Tel:</label>
          <input type="tel" name="tel" id="tel" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="time">Time:</label>
          <input type="time" name="time" id="time" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="date">Date:</label>
          <input type="date" name="date" id="date" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="month">Month:</label>
          <input type="month" name="month" id="month" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="week">Week:</label>
          <input type="week" name="week" id="week" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="datetime">Datetime:</label>
          <input type="datetime" name="datetime" id="datetime" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="datetime-l">Datetime local:</label>
          <input type="datetime-local" name="datetime-l" id="datetime-l" value="" />
   </div>
   
   <div data-role="fieldcontain">
          <label for="color">Color:</label>
          <input type="color" name="color" id="color" value="" />
   </div>
   
  • textarea
<label for="textarea-a">Textarea:</label>
<textarea name="textarea" id="textarea-a">
I'm a basic textarea. If this is pre-populated with content, the height will be automatically adjusted to fit without needing to scroll. That is a pretty handy usability feature.
</textarea>
  • search input
<label for="search-basic">Search Input:</label>
<input type="search" name="search" id="search-basic" value="" />
  • search input field containers
<div data-role="fieldcontain">
    <label for="search-2">Search Input:</label>
    <input type="search" name="search-2" id="search-2" value="" />
</div>
  • slider
<label for="slider-fill">Input slider:</label>
<input type="range" name="slider-fill" id="slider-fill" value="60" min="0" max="100" data-highlight="true" />
  • switch
<label for="flip-1">Flip switch:</label>
<select name="flip-1" id="flip-1" data-role="slider">
 <option value="off">Hay&#305;r</option>
 <option value="on">Evet</option>
</select> 
  • dikey radyo düğmeleri (radio buttons)
<fieldset data-role="controlgroup">
 <legend>Choose a pet:</legend>
      <input type="radio" name="radio-choice" id="radio-choice-1" value="choice-1" checked="checked" />
      <label for="radio-choice-1">Cat</label>

      <input type="radio" name="radio-choice" id="radio-choice-2" value="choice-2"  />
      <label for="radio-choice-2">Dog</label>

      <input type="radio" name="radio-choice" id="radio-choice-3" value="choice-3"  />
      <label for="radio-choice-3">Hamster</label>

      <input type="radio" name="radio-choice" id="radio-choice-4" value="choice-4"  />
      <label for="radio-choice-4">Lizard</label>
</fieldset>
  • yatay yapmak için
<fieldset data-role="controlgroup" data-type="horizontal" >
  • checkbox
<label><input type="checkbox" name="checkbox-0" /> I agree </label>
   
<input type="checkbox" name="checkbox-1" id="checkbox-1" class="custom" />
<label for="checkbox-1">I agree</label>
  • yatay için
<fieldset data-role="controlgroup" data-type="horizontal">
  • select
<label for="select-choice-0" class="select">Shipping method:</label>
<select name="select-choice-0" id="select-choice-0">
   <option value="standard">Standard: 7 day</option>
   <option value="rush">Rush: 3 days</option>
   <option value="express">Express: next day</option>
   <option value="overnight">Overnight</option>
</select>
  • form body set
<div class="ui-body ui-body-b">
  • ajax form
   <form action="forms-sample-response.php" method="get" class="ui-body ui-body-a ui-corner-all">
    <fieldset>
     <div data-role="fieldcontain">
      <label for="shipping" class="select">Shipping method:</label>
      <select name="shipping" id="shipping">
       <option value="Standard shipping">Standard: 7 day</option>
       <option value="Rush shipping">Rush: 3 days</option>
       <option value="Express shipping">Express: next day</option>
       <option value="Overnight shipping">Overnight</option>
      </select>
     </div>
     <button type="submit" data-theme="b" name="submit" value="submit-value">Submit</button>
    </fieldset>
   </form>
  • button lu footer
<div data-role="footer" class="ui-footer ui-bar-a" role="contentinfo">
  <div data-role="navbar" class="ui-navbar ui-mini" role="navigation">
   <ul class="ui-grid-b">
    <li class="ui-block-a"><a href="#" data-icon="grid" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-iconpos="top" data-theme="a" data-inline="true" class="ui-btn ui-btn-inline ui-btn-icon-top ui-btn-up-a"><span class="ui-btn-inner"><span class="ui-btn-text">Summary</span><span class="ui-icon ui-icon-grid ui-icon-shadow">&nbsp;</span></span></a></li>
    <li class="ui-block-b"><a href="#" data-icon="star" class="ui-btn-active ui-btn ui-btn-inline ui-btn-icon-top ui-btn-up-a" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-iconpos="top" data-theme="a" data-inline="true"><span class="ui-btn-inner"><span class="ui-btn-text">Favs</span><span class="ui-icon ui-icon-star ui-icon-shadow">&nbsp;</span></span></a></li>
    <li class="ui-block-c"><a href="#" data-icon="gear" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-iconpos="top" data-theme="a" data-inline="true" class="ui-btn ui-btn-inline ui-btn-icon-top ui-btn-up-a"><span class="ui-btn-inner"><span class="ui-btn-text">Setup</span><span class="ui-icon ui-icon-gear ui-icon-shadow">&nbsp;</span></span></a></li>
   </ul>
  </div><!-- /navbar -->
 </div>

9 Mayıs 2016 Pazartesi

Cordova Mobil Uygulama Tespiti

Cordova web tabanlı mobil uygulama geliştirmek için kullanılan bir framework. Bu framework ile mobil web sayfanızı mobil uygulama haline getirebilirsiniz. Önemli avantajı bir çok platfromu (başlıca android, ios, windows phone) destekliyor olması.

Zaman zaman sayfamız ile mobil uygulama arasında farklı çalışmasını isteyeceğimiz rutinler olabiliyor. Bunun için uygulamamın web tarayıcıda mı yoksa mobil app üzerinde mi çalıştığını tespit etmemiz gerekiyor.

Bunun için cordova frameworkünü tespit etmemiz yeterli olacaktır. Kısaca eğer cordova framework tanımlı ise mobil app değil ise web tarayıcıdayız demektir.

Cordova Framework tespit için yöntemler
1- window.cordova


var isMobilApp = !window.cordova;
cordova framework yüklendiğinde window altında cordova nesnesi oluşacaktır. Bu nesne var ise mobil uygulamadayız demektir.

2- Url kontrolü


var isMobilApp = document.URL.indexOf('http://') === -1
  && document.URL.indexOf('https://') === -1;
Cordovada döküman urli file:// ile başlamaktadır. Web tarayıcıda ise http yada https olacaktır. Doğal olarak document.URL http yada https ile başlamıyorsa mobil uygulama içindeyiz demektir.

3- cordova.js yüklendi mi?



<script src="cordova.js" onload="javascript:window.isMobilApp = true;"></script>
index.html içinde cordova.js yüklendiği script tagi içine onload ekleyerek. Mobil olup olmadığı tespit edilebilir.

Birinci ve üçüncü yöntemler cordova frameworkü tam olarak yüklendi ise işleyecektir. İkinci yöntem ise framework yüklenmeden de mobil uygulamada olup olmadığımızı öğrenebiliriz.

Eğer bir plugin işletilmesi için tespit yapıyorsak birinci (yada üçüncü) yöntemi, görsel bir farklılık oluşturmak istiyorsak ikinci yöntemi tavsiye ederim.
















2 Mayıs 2016 Pazartesi

Faydalı Chrome Uzantıları (Plugins)

Chrome çıktığı dönemden beri hızla kullanıcı sayısını çok hızlı arttırarak en çok kullanılan tarayıcı oldu. Chrome web tarayıcı olarak çok kullanılıyor ama bunun dışında çok faydalı araçlarla bir çok değişik amaçla kullanımı mevcut. Bunun için plugins/uzantılar kullanılmakta. Türkçeye uzantılar olarak çevirmişler bende aynı şekilde kullanacağım. Her nevi uzantıya Chrome Web Marketteki uzantılar bölümünden ulaşmak mümkün. link

Kullandığım ve faydalı olduğunu düşündüğüm chrome uzantılarını burada yazmak istiyorum.

1- Chrome Uzaktan Masaüstü

Chrome uzaktan masaüstü uzantısı ile bilgisayarınıza uzaktan chrome üzerinden bağlanarak kontrol edebilirsiniz. Teamviewer yada Ammyy gibi yazılımlarla yapabildiğiniz işlemleri ücretsiz olan bu uzantı ile yapabilirsiniz. Uzantı chrome çalışan sistemlerin çoğunda sorunsuz çalışıyor. Ben MacOS ve Windows üzerinde sorunsuz kullandım.
Uzantıyı bu linkten yükleyebilirsiniz.

 


2- Çevirici

Web sayfalarında dolaşırken farklı lisanlarda metinlerle karşılaşıyoruz. Bazen bilmediğimiz bir kelime yada cümle hatta paragrafı hızlı bir şekilde çevirmek önemli oluyor. Konudan kopmadan okumaya devam edebiliyorsunuz. Bunun için ideal araç google çevirici uzantısı. Bu uzantı ile seçtiğiniz bir kelime yada cümle hızlı bir şekilde çevrilebiliyor.


Google çeviriciyi bu linkten yükleyebilirsiniz.

3- Pocket

Web sayfasını o an okumak istemiyorsunuz ve müsait olduğunuzda offline iken mobil cihazınızdan okumak istiyorsunuz. Yada okuduğunuz bir metni daha sonra offline olsanız dahi ulaşmak istiyorsunuz. Bunun için en iyi çözüm Pocket. Chrome uzantısı ile sayfaları kaydederek mobil uygulaması ile okumanız mümkün.
Uzantıyı bu adresten yükleyebilirsiniz.





4- Keynotes

Eskiden sayfalardan küçük notlar alıp genellikle metin dosyası olarak bir yerlere kaydederdim. Daha sonra bu özetlenmiş değişik sayfalardan toplanmış notları bulmakta zorlanırdım. Bunun için iyi bir çözüm keynotes uzantısı. Bu uzantıya başlık ve kategori vererek bir takım notları kaydedilebiliyor. Daha sonra istendiğinde kategorilerden yada arama bölümünden hızlıca erişim sağlanabiliyor.
Bu adresten yükleyebilirsiniz.



5- Keepass

Ben Keepass uygulaması ile uzun süredir değişik sitelerde üye olduğum kullanıcı bilgilerini tutmaktaydım. Bu uzantı ile uygulama yüklemeden keepassdeki kullanıcı bilgilerime hızlı şekilde ulaşmam mümkün oluyor. Aslında öncelikle neden şifreler için bir uygulama ihtiyacı var açıklamak lazım. Bir çok siteye üye olmak istiyorsunuz her sitede farklı kullanıcı adınız olabiliyor ayrıca üye olduğunuz her siteye aynı şifreleri yazmanız güvenlik açısından sorun oluşturur. Üye olurken yazdığınız şifre ile karşı tarafın sizin başka (örneğin facebook) hesaplarınızıda deneyerek erişmesi mümkün olabilir. Her üyelikte farklı farklı şifreler kullandığınızda bu bilgilerinizin güvenli olması gerekir.
Keepasste tüm üyelik şifre bilgilerinizden kriptolu bir dosya oluşturuyor ve bu dosyaya tekbir şifre ile (master password) erişerek diğer tüm şifrelerinizi görebiliyorsunuz.

Ben oluşan veri dosyasınıda google drive üzerine kaydettiğimden hem mobil hem masaüstü her ortamdan erişme imkanına sahip olabiliyorum.



Keepass uygulamasını bu linkten  chrome uzantısınıda bu linkten yükleyebilirsiniz. Uzantıyı kullanmak için uygulama yüklemeye ihtiyacınız yok. İncelemek isterseniz diye onuda ekledim.

6- Döviz Kurları

Arada sırada gezintinizi bölmeden anlık döviz kurlarını merak ediyorsanız ideal bir araç. Bu araç ile chrome uzantılar bölümündeki linkine tıklayarak TCMB yada çeşitli bankaların kur bilgileri hızlıca öğrenilebiliyor.

Uzantıyı bu adresten yükleyebilirsiniz.


7- Canlı Skor

Benim gibi futbolu takip etmek istiyorsanız güzel bir uzantı Canlı Skor. Bu uzantı ile o gün yapılacak maçlar listeleniyor. Maç oynanırken son durumunu ve maçla ilgili bilgilere chrome üzerinden ulaşılabiliyor.

Yüklemek için bu adrese tıklayın.




Bu uzantılar dışında bir çok uzantı daha kullandım ama en sık kullandıklarım bunlar. İleride beğendiğim chrome uzantısı oldukça ekleyeceğim.