Web Sitesinde Sağ Tıklamayı Devre Dışı Bırakma
JavaScript ve Bootstrap kullanarak bir web sitesinde sağ tıklama olayını nasıl devre dışı bırakacağınızın örnek kodu verilmiştir.
Aşağıda, sayfanızın herhangi bir yerinde sağ tıklama işlemini dinlemek ve yakalamak için kullanılan JavaScript kodu verilmiştir. Bir kullanıcı sağ tıkladığında Bootstrap Modal’ı gösterir ve sağ tıklama fonksiyonunun tetiklenmesini durdurur.
<script>
$(document).on('contextmenu', function() {
$('#exampleModal').modal('show');
return false;
});
</script>
Aşağıda örnek bir sayfaya eklenen komut dosyası verilmiştir.
<!doctype html>
<html lang="tr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="Örnek Sağ Tık Kapama">
<meta name="author" content="Projex">
<title>Örnek Mause Sağ tık kapama - Kodmek</title>
<link href="../css/bootstrap.min.css" rel="stylesheet">
<link href="../css/signin.css" rel="stylesheet">
<style>
body{background-color: grey;}
p{color: #fff;}
</style>
</head>
<body class="text-center">
<div class="container">
<div class="col-md-12">
<img src="https://forums.prodjex.com/uploads/monthly_2017_12/5a49485fa77dd_logobig.png.0c19c7fc9cc393df1ad69f5ec30877c1.png"><br><br>
<p>Right click on this page...</p>
</div>
</div>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Warning</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
Don't do that!
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">I Understand</button>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script>
$(document).on('contextmenu', function () {
$('#exampleModal').modal('show');
return false;
});
</script>
</body>
</html>
Uygulamayı Windows Başlangıcına ekleme Delphi
Delphi dili ile yazmış olduğunuz uygulamanızı windows başlangıcına eklemek için aşağıda vereceğimiz unit yardımıyla kolaylıkla gerçekleştirebilirsiniz.
uses Registry;
procedure writeStartUp;
var
fRegistry: TRegistry;
begin
fRegistry:=TRegistry.Create;
try
fRegistry.RootKey := HKEY_CURRENT_USER;
fRegistry.OpenKey('SOFTWAREMicrosoftWindowsCurrentVersionRun', True);
fRegistry.WriteString('Uygulama','C:Project1.exe');
fRegistry.CloseKey;
finally
fRegistry.Free;
end;
end;
Delphi Dizi Fonksiyonları
Tüm programlama dillerinde olduğu gibi en sık kullanılan tiplerden biri hiç şüphesiz dizi nesneleridir dizi nesneleri ile birden fazla veriyi tek bir değişken üzerinde gruplayarak depolayıp ihtiyaç duyulduğunda döngüler kurarak veriler üzerinden işlemler yapmaya yarar. Şimdi Delphi dilinde Dizi fonksiyonlarının kullanımına bakalım
10 Elemanlı Dizi Değişkeni Tanımlama
var dizi : Array[0..9] of integer;
Sabit Uzunluklu Dizi Değişkenlerinin İlk Değerlerini Atama
const
dizi:Array[0..2] of integer=(10,20,30);
//integer sabit array tanımlaması yapıldı ve değerleri atandı.
İki boyutlu dizi tanımlama
var
ikib_dizi:Array[0..2] of Array[0..1] of Integer;
//Sonuç olarak bu şekilde bir dizi ortaya çıkmıştır.
ikib_dizi[0,0] := 'test00';
ikib_dizi[0,1] := 'test01';
ikib_dizi[1,0] := 'test02';
ikib_dizi[1,1] := 'test03';
ikib_dizi[2,0] := 'test04';
ikib_dizi[2,1] := 'test05';
Dinamik Delphi Array Tanımlama
var
dinamikdizi:Array of integer;
//Program içerisinde dizi değişkeninin boyutunu belirleme.
SetLength(dinamikdizi,10);
Görüldüğü gibi dizileri kullanmak için bir çok yol bulunmaktadır. Bunların bazılarını sizler için derledik umarım faydalı olabilmişizdir.
Pilotsuz hava taksisi ilk uçuşunu gerçekleştirdi
Çinli drone yapımcısı Ehang, ABD’de ilk kez otonom hava taksisini gösterdi. Tamamen elektrikli iki kişilik olan bu drone ilk uçusu için bir test pistinde beş dakikalık ilk test uçusunu gerçekleştirdi
Ehang’in ilk kez ABD Federal Havacılık İdaresi’nden uçma izni aldı ve yakın gelecekte bu izin ile yolcu taşımacılığı için zemin hazırlamasına yardımcı olacak
16 elektrikli motorla çalışan Ehang 216, 80 km / s’nin üzerinde hız yapabiliyor. Bu test uçuşunda önceden planlanmış bir rota boyunca uçtu. Şirket, yaklaşık 600 kilo ağırlığında yük veya yolcu taşıyabileceğini söylüyor. Ancak hala gelişiminin ilk aşamalarında
Ehang, Çin, Avusturya, Hollanda, Katar, BAE ve şimdi ABD’de 2.000’den fazla deneme uçuşu gerçekleştirdiğini söyledi. Şirket geçtiğimiz günlerde ABD Menkul Kıymetler ve Borsa Komisyonu’na Nasdaq’ta 100 milyon dolarlık depozito hissesi ile halka açılmak üzere evraklar açtı.
Ehang geçtiğimiz günlerde Guangzhou’da ticari bir hava hareketliliği servisi başlatmak için Çin den onay aldı. Pilot programın bir parçası olarak, Ehang bir hava trafik kontrol merkezi kurmak için Guangzhou hükümeti ile birlikte çalışıyor. Yolcu cephesinde, Ehang, pilot uçağın daha fazla uçuş rotasını ve elektrikli uçaklarının kalkıp ineceği “dikey noktaları” test etmek için kullanmayı planladığını söyledi. Şirket ayrıca acil kullanım için kan ve organlar da dahil olmak üzere düşük ağırlıklı tıbbi malzeme teslimatlarını da taşımayı planlıyor.
Ehang, “uçan arabalar” ın gelecekte kentsel ulaşımın geçerli bir yolu haline geleceğine ikna olmuş onlarca şirketten biri. Bunlar arasında drone yapımcıları, havacılık şirketleri ve hatta birkaç otomobil üreticisi bulunmaktadır. Bu geleceğin gerçekleşmesini engelleyebilecek geniş teknik ve düzenleyici zorluklar vardır, ancak dünya çapında uçuş yapan çok sayıda prototip, hava taksi servisinin bazı versiyonlarının sonunda bu hayalin gerçekleşebilceğini düşündürmektedir.
YDS YÖKDİL YKS DİL İngilizce Kelime Ezberleme Sosyal Platformu Wordlock
YDS YÖKDİL YKS DİL İngilizce Kelime Ezberleme Sosyal Platformu Wordlock
Eğlenerek öğrenmenin yeni yolu. Wordlock ile kelime öğrenebilir ve öğrendiğiniz kelimeleri test edebileceğiniz sosyal bir platformdur.
YDS, YÖKDİL, YKS İngilizce ve TOEFL sınavlarına hazırlanırken ihtiyacın olan kelimeleri kolayca ezberleyebilir.
Çalışma modülleri ile kelime bilginizi test edebilir.
Zorlandığın kelimeleri kaydederek daha kolay öğrenebilir.
Kendi özel kelime listenizi oluşturabilir.
Özel sözlük ile kelimeleri cümle içerisinde görebilir
İngilizce kelimenin ve örnek cümlenin telaffuzunu dinleyebilir
Sınavlarda en çok çıkan kelimeler ile sınavlara daha kolay bir şekilde hazırlanabilirsiniz.
Uygulamadaki kelimeler, YDS ve YÖKDİL gibi İngilizce dil sınavlarında sık karşılaşılan kelimeler dikkate alınarak seçilmiştir ve bu sayede Wordlock ile kısa sürede binlerce kelimeyi ezberleyerek sınavlarda daha başarılı olabilirsiniz.
Wordlock bir çapraz platform olduğundan hem web hem mobil cihazınızdan kolaylıkla kullanabilirsiniz.
Android uygulaması için tıklayınız.
Web Push Bildirim Sistemi Nasıl Kurulur?
Web Push Nedir?
Web sitenizde bulunan ve yayımlanan içerikleri browser(tarayıcı) üzerinden bildirim yapmasına olanak sağlayan bir bildirim sistemidir. Web Push isminden de anlaşıldığı gibi web-internet push-bildirim anlamına gelmektedir. En iyi bildirim sistemlerinden biride OneSignal bildirim sistemi eklentisidir.
OneSignal sitenizde bulunan içerikleri otomatik tarayıcı yolu ile bildirim göndermenize olanak sağlayan sistemdir. OneSignal eklentisinin bu kadar kurulmasının asıl nedeni kullanımı kolay ve çoklu sayda platformda desteklenmesidir. Desteklediği iOS, Android, Chrome, Unity 3D, Amazon, Windows Phone, Phonegap, Marmalade, Corona ve diğer platformlar. Aynı zamanda ücretsiz olması birçok blog sitesi ve kurumsal sitelerde kullanılmasına yol açtı. Tabi ki, tüm kurumsal şirketlerin paketlerinin görünebilir olması için bir bildirim sistemi olması gerekiyor. İstediğiniz renkte ve istediğiniz sol veya sağ köşeye kurabilirsiniz.
Öncelikle başlangıç için OneSingal eklentisinin resmi sitesine gidin. Kenarlarda “Giriş Yap” butonu olacak. Tıkladıktan sonra kayıt olun ve seçeneklerle karşılaşacaksınız. Öncelikle Web Push seçeceğimiz için Web Push bölümüne gelin ve size belirtilenleri girmeye başlayın. Daha sonra size uzun bir kod gelecek. Bu kodları isterseniz eklenti ile kurabilirsiniz isterseniz kendiniz kurabilirsiniz.
Kurulumu :
FTP üzerinden kurulum yapacaksanız eğer erişim sağlamak için bir uygulama gerekiyor. Önerilen ve kullanımı kolay olan FileZilla kullanabilirsiniz. FileZilla uygulamasını çalıştırın ve bilgilerinizi girip “Bağlan” düğmesine tıklayın. Karşınıza web sitenizin tüm kurulu dosyaları çıkacaktır. Tam anlamıyla veritabanına giriş yapacaksınız. Burada “public_html” bölümünün üzerine gelin ve çift tıklayarak geçiş yapın. Bu bölümde tüm kurulu olan tema, eklenti ve diğer bilgiler bulunuyor. Bize gerekli olan index.html dosyasının üzerine gelin ve “Göster/Düzenle” seçeneğini seçin ve dosyayı bilgisayarınıza yükleyerek düzenleme uygulamasını çalıştıracaktır. Önemli kısım alan olan <body> bölümünün bitişi yani, </body> bölümünü içeren herhangi bir yere size verilen kodu yapıştırın ve dosyayı güncelleyin. Artık sitenizde sağ köşede (seçime bağlı olarak solda olabilir) görünecektir.
WordPress sistemi üzerinden kurulum yapacaksanız. WordPress yönetici panelinden Eklenti bölümünden Yeni Ekle seçeneğini seçin. Arama bölümüne OneSignal yazın ve eklentiyi kurun. Daha sonra sol tarafta OneSignal eklentisi görünecektir üzerine gelip size verilen kodu yapıştırın ve tamamlanacaktır.
Sosyal Medyanın SEO daki Yeri
Sosyal medya kullananların kabaca hesaplarla küresel nüfusun üçte birinin kullandığını gösteriyor. Sosyal medya kullanımının artmasının ana faktörlerden biri akıllı telefonların popülerliği. aktif sosyal medya kullanıcılarının yaklaşık yüzde 90’ı mobil cihazlarıyla platforma erişiyor. Sosyal Medyanın SEO’daki gücü, birbirini tamamlayan yapılardır. Başarılı bir stratejiye sahip olmak için her ikisinde de ustalaşmanız ve sonra bunları mükemmel bir uyum içinde harmanlamanız gerekir.
Sosyal medya, yayınları, blogları veya videoları dakikalar içinde viral hale getirme yeteneğine sahiptir. Günümüzde olduğu kadar yaygın olmadan önce insanlar, anahtar kelime bakımından zengin olan mükemmel makaleler yazmaya yoğunlaşıyorlardı. Buradaki fikir, insanların arayacağı tam cümleleri denemek ve tahmin etmek ve sonra da bu cümlelerin etrafına bir makale yazmaktı.
Bazen sitenize küçük bir pazarlama desteği vermek yararlıdır.. Bu, bir yarışma düzenleyerek ya da bazı ürünler vererek başarılabilir. Bunun iki önemli faydası vardır. Öncelikle, etiketiniz ve bağlantılarınız, geri bağlantılar oluşturacak ve sitenize trafik çekecek şekilde önemli bir tanıtım kazanıyor. Diğer bir avantaj da Twitter hesabınızdaki takipçilerinizi büyütmenizdir.
Yarışma bittikten sonra yeni takipçilerinizin sizinle kalacağı garantisi yoktur. Yeni takipçilerinizle etkileşime girmeniz ve tweetlerinizde değer sağlamaya devam etmeniz durumunda, yeni takipçilerinizi çoğunluğunu elinde tutabilirsiniz.
Takipçilerinizin kalitesi çok önemlidir. Sahte takipçiler satın alarak sistemi oynatmaya hiç çalışmayın. Google bunu algılayabilir ve uzun vadede sizi cezalandırır.
Web sitenize dış bağlantılar oluşturmak, başarılması zor olsa da, her zaman SEO’nun önemli bir parçası olmuştur. Bu, harici siteleri içeriğinizle bağlantı kurmaya teşvik ettiği için sosyal medyanın güçlü yönlerinden biridir. Bu bağlantıların oldukça geniş bir yelpazedeki farklı sitelerden olma olasılığı da vardır; Dış bağlantılarınız ne kadar fazla çeşitlilik gösterirse, arama motorlarının gözünde o kadar iyi olurlar.
En İyi 8 Backlink Sorgulama & Analiz Aracları
En İyi 8 Backlink Sorgulama & Analiz Aracı içinde Google ve SEO çalışmaları için ihtiyaç duyulan araçlardan backlink sorgulama araclarını sizler için sıraladık. Kullanımda sorgulama aracı olan backlinklerin siteniz için büyük yararları olur. Yanlış kullanımı web siteniz için yarardan çok zarara neden olmaktadır. Sitenizdeki indekslerin silinmesine neden olan negatif SEO çalışmaları için kullanılan backlinkler analiz ve sorgulanma aşamasında önemli olmaktadır.
Majestic SEO
Bu sorgulama aracının özelliği daha önceden siteye alınan backlink ve hangi referansların olduğunu gösteren bir araçtır. Backlinklerin yaptığı yönlendirme ve içinde olduğu anchor da yapılan yönlendirmeler ile linklerin hangi anahtar kelimeden geldiğini beraberinde sunan yardımcı bir araçtır.
Ahrefs
En güçlü backlink sorgulama araçlarından biri olan Ahrefs SEO uygulamalarında analizleri sorgulama da kullanılan ve oldukça kullanımı yaygın olan bir araçtır. İsteğe göre ücretli veye ücretsiz olarak hizmet alabileceğiniz sorgulama ve analiz aracı olan Ahrefs yaşanılan iniş çıkışların da dofollow ve nofollow olarak kategori tarzında gösterilmesini sağlar.
Open Site Explorer
Bir başka sorgulama araçlarından biri de Open Site Explorer’dır. Tıpkı Majestic SEO aracındaki gibi linklerin gelişini görmeniz de fayda sağlamaktadır. Diğer araçlara bakıldığında backlink sayısında azalma olduğu görülmektedir.
Rank Signal
Alexa Backlinkleri başta olmak üzere birçok kategorinin backlinklerini görmenizde yardımcı olur. Özellikleri OpenSite özellikleri ile aynıdır. Link kategorileri trust rank, anchor text, nofollow ve dofollow olarak kategori ve linklerin beraber görülmesine olanak sunar.
Cognitive SEO
Linklerin dağılımını ve analizini gösteren araçlardan biri olarak Cognitive SEO backlink aracı kullanılabilir. Birden fazla kaynaktan veri toplayarak tek bir analiz şeklinde kullanıcıya sunan bu araç 14 gün ücretsiz deneme şeklinde kullanılmakta sonrasında belli bir meblağ ile hizmet alabiliyorsunuz.
Fixerkit
Fixerkit yerli bir proje olup üç farklı projeyi içinde barındırmakta. Sosyal medya yönetimi, paravan blog yönetimi ve sıra takibi. Sitenizdeki içeriklerinizi sosyal medya ve paravan blog hesaplarınızda otomatik olarak paylaştırabilir ve kaliteli backlink alabilirsiniz. Aynı zamanda sitenizin hangi kelimede kaçıncı sırada olduğunu günlük sizin yerinize takip eder
SearchMetrics
SEO araçları sayesinde sadece backlink araçlarının kullanımının dışında farklı konularda analiz yapmada yardımcı olur. Ücretli ya da ücretsiz birçok analiz için kullanılabilir. Bu yazılım ile birden fazla veriye ulaşmanız mümkündür.
Link Research Tools
Bu araç genelde webmasterler için kullanılabilecek araçlara sahip olduğundan tavsiye edilir. Derin kapsamlı şekilde çözüm ve analizleri kullanıcıya sunmaktadır. Bu araçların yanında kullanabileceğiniz backlinklerden biri de web SEO Analytics grafik şeklindeki raporların sunulmasında yanınızda olacak bir programdır.
SEO Spglass
Ücretsiz bir yazılım olan SEO Spyglass online hizmet veren programlardan biridir. Bağlantı detaylarında hizmetin sağlandığı ülkeyi geldiği bağlantı bilgileri ile gösteren bir yazılım programı olarak kullanılmaktadır.
Linux Servis Yönetimi
Bu yazımızda Linux sistemimizde çalışan servisleri nasıl yöneteceğimize bakacağız.
Linux üzerinde çalışan servislerin, durduğunda ve işletim sistemi kapatılıp açıldığında otomatik olarak yeniden başlatılması, loglarının toplanması vb işlemleri yürütecek bir sisteme ihtiyaç vardır. systemd birçok Linux dağıtımı için bu sistemi sağlamaktadır.
Linux’ta çalıştırdığımız web ve uygulama sunucuları, SSH, DNS, telnet, vb servisler systemd veya benzeri (örneğin upstart) bir init system tarafından yönetilirler. Bu sistemlere init system denmesinin sebebi, Linux’un bu sistemleri açılış sırasında (boot) diğer process’leri başlatan ve PID (Process ID) 1 ile ifade edilen init process’i olarak kullanmasıdır. Aşağıdaki ekran çıktısında görüldüğü gibi Ubuntu 16.04.1 Linux dağıtımında init process’i olarak systemd kullanılmıştır.
Sistemde systemd tarafından yönetilen bütün servisler systemctl list-units –type service –state running komutu ile görüntülenebilir.
Çalışan bir servisin durumu systemctl status<servis name> komutu listelenir.
Çalışmakta olan bir servis systemctl stop<servis name> komutu ile durdurulur, durdurulmuş bir servis ise systemctl start <servis name> komutu ile başlatılır. Bir servisi yeniden başlatmak için ise systemctl restart<servis name> komutu kullanılır.
Sistemde bulunan bir servisin deaktive edilmesi istendiğinde systemctl disable , aktive edilirken ise systemctl enable komutları kullanılır. Deaktive edilen bir servis, systemd tarafından sistemin yeniden başlatılması sırasında başlatılmaz.
systemd tarafından yönetilen servislerin ürettiği loglar journalctl komutu ile görülebilir. Aşağıda sudo journalctl -u docker.service ile docker servisinin logları görüntülenir.
systemd ile kulanacağınız önemli kısımlara değindik. Sizlerinde eklemek istediğiniz kısımlar var ise aşağıdaki yorum kısmını kullanarak görüşlerinizi ve eklemek istediğiniz bilgileri bizler ile paylaşabilirsiniz.
PIC16F877 Mikrodenetleyici ile I2C haberleşmesi
PIC mikrodenetleyicisi bir çok gömülü sistemde kullanılan güçlü ve uygun bir denetleyici türüdür. Geniş uygulama alanı olsada, hiçbir mikrodenetleyici tüm faaliyetleri tek başına gerçekleştiremez. Bir zaman diliminde, bilgi paylaşmak için diğer cihazlarla iletişim kurması gerekir, bu bilgileri paylaşmak için birçok farklı iletişim protokol türü vardır, ancak en çok kullanılanları USART, IIC, SPI ve CAN’dır. Her iletişim protokolünün kendi avantaj ve dezavantajı vardır. Bu yazımızda I2C protokülüne değineceğiz.
I2C İletişim Protokolü Nedir?
IIC terimi, “Entegre Devreler” anlamına gelmektedir. Normalde I2C veya I C kare, hatta bazı yerlerde 2 kablolu arabirim protokolü (TWI) olarak ifade edilir, ancak hepsi aynı anlama gelir. I2C, senkronize bir iletişim protokolü anlamına gelir; her iki bilgiyi paylaşan cihazların ortak bir zaman sinyalini paylaşması gerekir. Bir clock sinyali için veri göndermek ve almak için kullanılan sadece iki yol kullanır.
I2C İletişim nasıl çalışır?
I2C iletişimi ilk olarak Phillips tarafından tanıtıldı. Burada bir aygıta server, diğer aygıta da client adı verilir. İletişim iki Master ve Slave arasında gerçekleşmeli ve gerçekleşmelidir. I2C iletişiminin avantajı, birden fazla clientin bir sunucuya bağlanabilmesidir.
Komple iletişim, SCL ve SDA olarak adlandırılan bu iki tel üzerinden gerçekleştirilir.
SCL: Master tarafından üretilen saat sinyalini client ile paylaşır
SDA: Master ve slave arasında bu verileri gönderir.
Herhangi bir zamanda yalnızca bir iletişim kurabilir. Veriyolunda birden fazla client bulunduğundan, ana ünitenin her cliente farklı bir adres kullanarak başvurması gerekir. Yalnızca bu adrese sahip olan salve ele alındığında, diğerlerinden ayrılmaya devam ederken bilgilerle geri cevap verecektir. Bu şekilde aynı veri yolunu birden fazla cihazla iletişim kurmak için kullanabiliriz.
XC8 Derleyicisini kullanarak PIC16F877a Mikrodenetleyici ile I2C
Artık bir I2C iletişiminin nasıl çalıştığını öğrendiğimize göre, kullanacağımız ve I2C satırlarına bazı değerler yazacağımız basit bir program yapalım. Daha sonra bu programı simüle edeceğiz.
Her zaman olduğu gibi, program Yapılandırma bitlerinin ayarlanması ve saat frekansının 20 MHz olarak ayarlanması ile başlayalım.
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled) #pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled) #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off) #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control) #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off) #define _XTAL_FREQ 20000000
Bir sonraki adımda önceden tanımlanan PIC16F877a_I2C.h başlık dosyasını projemize include ederek uygulamamıza I2C bağlantısı için gerekli tanımları otomatik tanıtmış oluruz. PIC16F877a_I2C.h dosyasına yazının altında bulunan indirme linki yardımı ile ulaşabilirsiniz.
Başlık dosyasını eklemek için :
#include <xc.h> #include "PIC16F877a_I2C.h"
While döngüsünün içinde I2C iletişimine başlayacağız, I2C veriyoluna birkaç rastgele değer yazacağız ve sonra I2C iletişimini sonlandıracağız. Seçtiğim rastgele değerler D0, 88 ve FF’dir. İstediğiniz değerleri girebilirsiniz. Fakat bu değerleri, simülasyonumuzda doğrulayacağımızdan hatırlayın.
while(1) { I2C_Begin(); I2C_Write(0xD0); I2C_Write(0x88); I2C_Write(0xFF); I2C_End(); __delay_ms(1000); }
Programımızı derleyip Proteus ile similasyonu yapalım.

Mikrodenetleyici
Hex dosyamızı oluşturup Proteus yardımıyla oluşturduğumuz similasyona yükleyelim. Hex dosyamızı yüklediğimiz similasyonumuzu çalıştıralım ve mikrodenetleyicimizin pinlerini kontrol edelim.
Yazılan değerlere baktığımızda programda belirtiğimiz değerler D0, 88 ve FF’dir. Değerler her 1 saniyede bir yazılmıştır.
/* * File: IIC with PIC16F */ #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled) #pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled) #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off) #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control) #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off) #define _XTAL_FREQ 20000000 #include <xc.h> #include "PIC16F877a_I2C.h" int main() { I2C_Initialize(100); //Initialize I2C Master with 100KHz clock while(1) { I2C_Begin(); I2C_Write(0xD0); I2C_Write(0x88); I2C_Write(0xFF); I2C_End(); __delay_ms(1000); } }
Linux Hız Testi
VPS veya VDS sunucularınızın bağlı olduğu networkların hızlarını öğrenmek istiyorsanız bu yazımızda sizlere nasıl ölçebileceğinize bakacağız. Bunun için en kaliteli çözüm speedtest.net üzerinden hat hız verilerini almak.
Öncelikle sunucunuza SSH ile bağlanıp aşağıdaki komutlar yardımıyla kurulumları gerçekleştirelim
wget wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py chmod a+rx speedtest.py sudo mv speedtest.py /usr/local/bin/speedtest-cli sudo chown root:root /usr/local/bin/speedtest-cli
Yukardaki komutlardan sonra aşağıdaki kodu çalıştırarak sunucunuzun ağ hızını ölçebilirsiniz.
speedtest-cli
Eğer değerlerinizi grafiksel modda isterseniz aşağıdaki kod ile grafiğe ulaşabilirsiniz.
speedtest-cli --share
Örnek çıktı :
Arduino ile Kayan Yazı Yapımı
Bu projemizde Arduino ile P10 modülü kullanarak kayan yazı yapacağız. P10 modülünü gelin biraz yakından tanıyalım.
Özellikleri;
– Her bir grafik led panel 32×16 cm ölçülerindedir.
– Her bir grafik led panelde 512 adet led vardır.
– Her bir grafik led panel max. 4A çekmektedir.
– Gündüz ve gece çok daha fazla farkedilebilirlik özelliğine sahiptir.
– Ürün modüllerinde 140 dereceden okunabilen oval ledler kullanılmaktadır.
– Ürün modüler istem bir ürün olduğundan,müdahalede o denli kolay ve pratiktir.
– Bu tabelalar üzerinde basit bir program ve bilgisayar erişimiyle,istediğiniz fontta ve karekterde yazı ekleyip kaldırmanız mümkündür.
– Bunun yanında firma logonuzu,yada sabit ve hareketli giflerle tabelanızın görselliğini artımanız mümkündür.
– Tabelanız satırlara bölerek,birkaç farklı lisanda aynı anda kullanabilme avantajı sağlamaktadır.
Kod için Gerekli Olan Kütüphane : https://github.com/freetronics/DMD
2×16 lık headerın arduino nano’ya bağlantı şekli:

Arduino ile kayan yazı
Arduino ile kayan yazı kodları :
#include <SPI.h> #include <DMD.h> #include <TimerOne.h> #include "SystemFont5x7.h" #include "Arial_black_16.h" #include "Arial14.h" #define DISPLAYS_ACROSS 1 #define DISPLAYS_DOWN 1 DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN); void ScanDMD() { dmd.scanDisplayBySPI(); } void setup(void) { Timer1.initialize( 5000 ); Timer1.attachInterrupt( ScanDMD ); //clear/init the DMD pixels held in RAM dmd.clearScreen( true ); } void loop(void) { byte b; dmd.clearScreen( true ); dmd.selectFont(Arial_Black_16); //dmd.selectFont(Arial_14); dmd.drawMarquee("FATIH BASARIS",13,(32*DISPLAYS_ACROSS)-1,1); long start=millis(); long timer=start; boolean ret=false; while(!ret){ if ((timer+30) < millis()) { ret=dmd.stepMarquee(-1,0); timer=millis(); } } }
0-30 V Kısa Devre Korumalı Transistörlü Güç Kaynağı Modeli
Bu yazımızda kısa devre korumalı bir güç kaynağı devresine bakacağız. 0 – 30 V aralığında olan bir transformatör kullanarak yapılacaktır. Şimdi projemize göz atalım :
Devre Elemanları
• 220/30 V luk transformatör
• Köprü tipi diyot D1=B80 C5000/3300
• C1=2200µf / 63V elektrolitik kondansatör
• ZD=30V zener diyot
• Transistor ler T1 =2N3055 , T2=T4=BD239 , T3=BC141
• Direçler : R1=1K5 (2W) , R2= 470 , R3=680 , R4=22 , R5=120 , R6=1K (2W)
• 5mm Kırmızı LED
Temel Güç Kaynağı Bloğu :
Şebekeden alınan 220V’luk gerilimi 30V’a düşüren devre elemanına transformatör denir. Transformatörümüz 12V veya 24V olsaydı şebekeyi verilen değerlere düşürürdü. Diyod köprüsü yardımıyla akım tek yönlü geçmektedir. Transformatör çıkışlarındaki sinüsoidal gerilimi tam olarak doğrultmasa da zamana bağlı olarak yönün hep aynı olmasını sağlar.
Kondansatörün devredeki faktörü ise, gerilimin sabit bir değerde kalması için filtreleme görevi yapmaktadır.Potansiyometre yardımıyla T3 trasnsistörün Ib akımı altırılıp azaltarak gerilim ayarlaması yapılır. Led devrede gerilimin olup olmadığını anlamak için bir sinyal görevi yapar. Ona bağlı seri direnç ise led’ in yanmaması için gerilim bölücü görevi yapmaktadır.
Devre Şeması :
PuTTY Nedir Nasıl Kullanılır ?
Ücretsiz açık kaynaklı bir terminal uygulamasıdır. Putty SCP, SSH, Telnet, rlogin ve COM gibi iletişim protokollerini desteklemektedir.
PuTTY’nin kullanımı oldukça basittir. Yukarıda gördüğünüz görsel de yazan Host Name kısmına sunucunuzun IP adresini yazarak bağlanabilirsiniz. Bağlantı kurulurken root şifresi soracaktır. Sunucunuzu oluştururken bu şifre size mail olarak gönderilmiştir.
Her seferinde IP girmek istemiyorsanız. Saved Sessions adlı bölüme bir isim girdikten sonra sağ taraftaki Save tuşuna basarsanız bu bağlantınız o isimle kaydedecektir.
Putty ile kullanılan bazı komutlar :
Adresi girilen klasöre ve alt klasörlerine kullanıcı ve grup yetkisi verme:
chown -R admin:admin klasör_adresi
Adresi girilen klasöre ve alt klasörlerine okuma ve yazma ile ilgili izinler verme:
chmod -R 0755 klasör_adresi
Bütün bir klasörü silme:
rm -rf klasör_adresi_ve_adı
Bütün bir klasörü kopyalama:
cp -r klasör_adresi klasör_hedef_adresi
Yedekleme için arşivleme:
tar -cvf yedek-28-temmuz-2018.tar /home/admin/web
Putty indirme bağlantısı : https://www.putty.org/
Android için en iyi root uygulaması Magisk
Android 6.0 ve üzeri versiyonlarda root erişimi için gerekli olan bir uygulamadır Magisk. Bu yazımızda sizlere nasıl Magisk ile cihazınızı root yapacağınızı paylaşacağız.
Android 6.0 Nougat güncellemesiyle birlikte Google tarafından SafetyNET uygulaması devreye sokuldu. SafetyNET uygulaması aracılığıyla rootlu telefonların tam erişim yetkisi kısıtlanmaya başladı.Tayvanlı geliştirici olan John Wu, Magisk isimli program geliştirmeye başladı. Android’in Root geliştiricisi Chainfire’ın sınırlı cihazlarda çıkartabildiği sistemsiz Sistemsiz Kökü sistem dosyalarına dokunmayarak kök izni veren bir uygulama olarak karşımıza çıktı ve bu sayede Android 6 ve üzeri sürümlere root atılır oldu.
Magisk yalnızca bir root uygulaması değil aynı zamanda çeşitli modülleri kurup telefonu özelleştirebileceğiniz bir uygulama.

Magisk Root
Magisk ile Root Nasıl Yapılır ?
Kuruluma başlamadan önce telefonunuzda TWRP bulunması gerekir. Eğer TWRP yüklü değilse yükleyip, TWRP içerisinden telefonuzu fabrika ayarlarına döndürmeniz gerekiyor. Farklı bir Root varsa, yine aynı şekilde fabrika ayarlarına döndürmek zorundasınız
- TWRP üzerinden her ihtimale karşı sistem yedeği aldıktan sonra buradan Magisk Manager isimli uygulamayı indirin.
- İndirdiğiniz Magisk Manager apk dosyasının kurulumunu yapın.
- Kurulum bittikten sonra uygulamayı açın, uygulama açıldığında size Magisk kurulu değil bildirimi gönderecek. O bildirim üzerindeki indir butonuna tıklayıp bekleyin kalan bütün işleri Magisk Manager halledecek.
- İdirme ve kurulum işlemi bittikten sonra çıkan sayfadaki yeniden başlat seçeneğine tıklayın.
- Bütün işlem bu kadar, artık telefonunuz hem rootlu hem de SafetyNET sistemine takılmıyor.
Eğer bu işlemlere rağmen root yetkisi alamadıysanız. Buradan Magisk zip yükleme paketini indirerek TWRP ile yükleyebilirsiniz.
Eğer sisteminizde TWRP yüklü değil ise Magisk yükenemiyecektir.
[box type=”info” align=”aligncenter” class=”” width=””]Yükleme işleminden oluşacal arıza vb durumlardan kodmek.com ve yönetimi hiçbir sorumluluk kabul etmemektedir. Oluşabilecek sorunlardan tamamen kullanıcı sorumludur. [/box]
ADSL, VDSL ve VDSL2 Nedir?
İnternet abonesi olmaya gittiğimizde karşımıza çıkan ADS, VDSL ve VDSL2 terimleri ne anlama geliyor ve bu ifadeler internet bağlantımızda neleri değiştiriyor gelin birlikte bakalım.
ADSL
ADSL Türkçesi Asimetrik Dijital Abone Hattı olan bir DSL bağlantı türüdür. ADSL bağlantısı normal bakır kablo ile telefon hattı üzerinden sağlanır. Hız olarak en fazla 24Mbps değerinde indirme yapılabilir. Bu değerler santrale uzaklık o anki hat doluluk oranı ile orantılı bir şekilde azalmaktadır.
VDSL
VDSL Çok Yüksek Bitrate’li Abone Hattı anlamına gelmektedir bu türde bir DSL bağlantı türünün ADSL gibi gelişmiş versiyonudur. Hız olarak ADSL nin 5 katı daha fazla indirme hızı sunmaktadır. Bu değer Adsl de olduğu gibi santarl uzaklığı ve hat doluluk oranı ile değişmektedir.
VDSL2
VDSL2 VDSL nin geliştirilmiş versiyonudur. Diğerlerinde olduğu gibi VDSL2’de bakır kablo alt yapısı kullansada müşterinin binasındaki telefon kutusuna kadar fiber kablo çekilir. Ya da fiber kablo sokak başındaki kutuya kadar gelmektedir. Bu sayede 250 Mbps indirme hızı gibi yüksek hızlara ulaşılabilmesi sağlanır.