KategorilerGenel

Perfex CRM TayBetterSMS Eklentisi ile Fatura, Proforma ve Teklif Bildirimleri Çok Kolay

Perfex CRM için özel olarak geliştirdiğim bu eklenti sayesinde, Perfex CRM’de normalde olmayan Fatura, Proforma ve Teklif oluşturma durumunda otomatik olarak SMS gönderilmesini sağlayabilirsiniz. Telefonların elimizden düşmediği bu çağda, SMS bildirimleri gönderebilmek şirketinize önemli bir prestij kazandırır ve satışlarınızı arttırır.

Bu eklenti ile aynı zamanda otomatik olarak müşterilerinizin doğum günlerini de kutlayabilirsiniz.

KategorilerBilgisayarBilişimTeknoloji

htmx ile HTML’i Bir Üst Noktaya Taşıyın

İlk karşılaştığımda çok şaşırdığım bir kütüphane olan htmx, HTML’i ciddi anlamda bir üst noktaya taşımanız konusunda size oldukça geniş bir yelpazede araçlar sunuyor.

Hepimiz biliyoruz ki HTML yani Hypertext Markup Language çok interaktif bir dil değil. Daha etkileşimli bir içeriğe sahip olmak için JavaScript kullanmamız gerektiğini biliyoruz. İşte burada htmx devreye giriyor.

htmx doğrudan HTML kodlarının içerisinde, HTML niteliği (attribute) olarak komutlar girmenizi ve AJAX, CSS Geçişleri, Web Soketleri ve Server Sent Events (web soketleri gibi, fakat sadece sunucu istemciye bilgi gönderebiliyor, istemci sunucuya herhangi bir bilgi gönderemiyor, abonelik gibi düşünebiliriz bunu) gibi pek çok şeyi destekleyip, tek satır JavaScript kodu yazmadan istediğiniz şeyleri hızlı ve pratik olarak yapmanıza olanak tanır. Aynı zamanda jQuery gibi 3. Parti bir kütüphaneye de bağımlılığı bulunmaz. Hadi hazırsanız, htmx hakkında daha fazla şey öğrenelim…

KategorilerBilişimGenelİnternet

Cryptoji – Yeni Nesil Eğlenceli Şifreleme Aracı

Askeri düzeyde metin şifrelediğimizde şifrelenmiş metnin hep sıkıcı olduğunu düşünürken Cryptoji denilen yeni bir servisi keşfetmem ile bu kavrama farklı bir açıdan bakılabildiğini fark ettim.

Cryptoji AES-256 şifrelemelerini alışık olduğumuz şekilde oluşturmak yerine emojiler ile oluşturuyor. Bu sayede arkadaşlarımız ile mesaj paylaşırken latin alfabesiyle oluşturulmuş şifrelemeler yerine emojiler gönderebiliyoruz.

KategorilerGenelPHPProgramlarTeknolojiYazılımlar

Rimtay Alan Adı Takip Sistemi

Rimtay Alan Adı Takip Sistemi ne? Diyorsanız, size şunları soralım;

Onlarca alan adınız var? Ya da birden çok müşteriniz ve onların alan adları? Birden çok servis sağlayıcısı kullanıyorsunuz ve ne nerede hatırlamakta güçlük hissediyorsunuz? Her şeyi sizin yerinize yapacak otomatik bir sistem ister miydiniz? İşte Rimtay Alan Adı Takip Sistemi, sizler için burada…

Neden Alan Adı Takip Sistemi?

  • Servis sağlayıcınızın mesajını kaçırabilirsiniz. Ya da daha kötüsü onların sistemindeki bir arıza nedeniyle mesaj size gelmeyebilir, veya gereksiz kutunuzda kayıplara karışabilir.
  • Birden çok alan adının kontrolü sizde ise, ve en önemlisi müşterilerinizin alan adlarını da siz yönetiyorsanız en küçük hatanızda büyük problemler yaşamanız olası.
  • Her seferinde müşterilerinize alan adlarının süresinin geçmekte olduğunu ve ödeme yapmaları gerektiğini bildirmek için ulaşmak size de yorucu gelmiyor mu?

Eğer yukarıdaki sorulardan birine bile evet cevabı verdiyseniz, sizi yaptığınız işte daha profesyonel gösterirken aynı zamanda da hayatınızı kolaylaştırıp ileride büyük problemlerden kurtarabilecek Rimtay Alan Adı Takip Sistemi hakkında daha fazla bilgi sahibi olmak için bu yazıyı okumaya davet ediyorum.

KategorilerOyunlarTanıtım

Outlast İnceleme

Şu aralar korku-gerilim içeren oyunlar son günlerde hasılat rekorları kırıyor. Her gün yeni bir korku oyunu çıkıyor. Korku oyunu sevenler Silent Hill, Dark Speed, Sanitarium, Phantasmagoria, Nocturne gibi oyunlara alışık olduklarından bazı alışıla gelen şeyleri unutacaklar. Birden beliren cisimler değil de birden fırlayan adamlar daha iyi olurdu. Bu oyunda ise kendinizi koruyacağınız hiç bir şey yok. Ve önünüzde denekler var. Bunun yani sıra oyun sırasında tam bir kaos hakim olacak ve bu sizi çok rahatsız edecek. Çünkü her adımda sizi korkacaksınız. Bunu yanı sıra Fps kamera özelliği ile psikolojiniz bozulacak. Çünkü oyunda dehşet ve şiddete yönelik çok unsur var. Tuvaletlerde kesik kafalar ve insan dışkıları hem midenizi bulandıracak hem korkutacak. Oyuncular bu oyunu çok sevdi. Korku alt yapısında gelişen oyun her bölümü artıkça oyun zorlaşıyor ve korku seviyesi ikiye katlanıyor. Yapılan her adımda ses efekti insanı kendine çekiyor.

Oyuncunun Yorumu: Ben bir korku oyun severi olarak oyunu çok sevdim. Oyun grafik olarak harika olmuş. Son derece korkunç oyun efektleri oyunu çekici yapmış. Dikkat çeken Fps özelliği ile direk korku sizi buluyor. Ama siz ne kadar tedbirli olsanız da oyunda kendinizi savunabileceğiniz bir özelik yok. Oyun kaçma kurtulma üzerine kurulu. Bu yüzden ne kadar etik olursanız o kadar hayatta kalırsınız.

[youtube=http://www.youtube.com/watch?v=2GPf3MdVOKI]

KategorilerPHP

PHP Yüzde Fonksiyonu ile Uzun Kodlardan Kurtulun

Bu gün bir videolu ders çekeyim dedim. 3 kere çektim aynı bölümü ses problemlerinden dolayı. İlk bölüm olduğundan hatalarım olabilir. Ek olaraktan hastayım sesimde de problemler olabilir. Yine ek olaraktan heyecanlıyım sürekli konuşmam sırasında hatalarım olmuş. Hepsinden dolayı tekrar özrü dilerim.

Video (760p)

[youtube=http://www.youtube.com/watch?v=wkcpxlcsqLc]

Kullanım

Kullanım için öncelikle yuzde.php diye bir sayfa oluşturup fonksiyonumuzu oluşturunuz (kaynak kodlardan yararlanabilirsiniz). Ardından aşağıdaki örneği inceleyiniz.

[php]

<?php
//Fonksiyon sayfasını çağıralım.
require("yuzde.php");

//200’ün %10’u kaçtır. Yazsın.
echo yuzde(200,10);
# Çıktı: 20

//200’ün %10’unu 200 ile farkı kaçtır bulsun ve yazsın.
echo yuzde(200,10,2);
# Çıktı: 180

//200’ün %10’unu 200 ile toplamı kaçtır bulsun ve yazsın.
echo yuzde(200,10,3);
# Çıktı: 220

//200’ün %10’unu 200 ile çarpımı kaçtır bulsun ve yazsın.
echo yuzde(200,10,4);
# Çıktı: 4000

//200’ün %10’unu 200 ile bölümü kaçtır bulsun ve yazsın.
echo yuzde(200,10,5);
# Çıktı: 10
?>

[/php]

Kaynak kodları

yuzde.php (ana fonksiyon burada bulunmakta)

[php]

<?php

error_reporting(0);
function yuzde($sayi, $yuzde_deger,$secenek){

$yuzdemiz = ($sayi * $yuzde_deger) / 100;
$fark = $sayi – $yuzdemiz;
$topla = $sayi + $yuzdemiz;
$carp = $sayi * $yuzdemiz;
$bol = $sayi / $yuzdemiz;

if($secenek == 1){
return $yuzdemiz;
}elseif($secenek == 2){
return $fark;
}elseif($secenek == 3){
return $topla;
}elseif($secenek == 4){
return $carp;
}elseif($secenek == 5){
return $bol;
}else{
return $yuzdemiz;
}
}
?>

[/php]

yuzde2.php (fonksiyonun başka sayfalara eklenebildiğini gösteren örnek)

[php]

<?php
require("yuzde.php");

echo yuzde(300,10,5);
?>

[/php]

KategorilerPHP

[PHP] Dosya Yolunu Vermeden Dosya Paylaşımı

Merhaba, bu yazımda size dosyalarınızın kaynak yolunu vermeden dosyaları indirme yöntemini göstereceğim. Bu şekilde yapılan indirmelerde dosyayı indirme yolu olarak sizin PHP dosyanızın yolu verilecektir. Basit ama çok etkili bir yöntemdir ve bu sayede müzik / film / resim ve daha aklıma bile gelmeyen bir sürü dosya paylaşım veya satış sitelerinde online olarak indirmelerde dosyalarınızı korur, sadece o kişinin o dosyayı indirebilmesini sağlarsınız.

Bu günkü yazımda hem en sade halini, hem de Session ile güvenlikli bir indirmenin yolunu anlayacağız. Session sistemimizde kullanıcının bizim dosyayı indirmesini istediğimiz kullanıcı olup olmadığı ve  belirli bir indirme limiti aşıp aşmadığını test edeceğiz. İlk olarak en basit yolu gösteriyoruz. Burada değerini değiştirmeniz gereken iki değişken vardır. Zaten kodların açıklamalarında neden ve nasıl olduğu gayet net bir şekilde açıklanmıştır.

Sade Versiyon (Kodlar)

[php]
<?php
$DLPath = "Downloads/Secure/";
$DLFile = "File.zip";
header(‘Content-type: application/zip’);
header(‘Content-Disposition: attachment; filename="’. $DLFile .’"’);
readfile($DLPath. $DLFile .);
?>
[/php]

Sade Versiyon (Açıklamalar)

Kodların açıklamalarını aşağıda vereceğim.  Bu sayede daha iyi ve anlaşılır olacaklar.

$DLPath Bu kod ile dosyamızın gerçek yolunu belirtiyoruz. Burada dikkat etmeniz gereken şey dosyamızın adı ve uzantısı bu yolda geçmeyecek. Örnek kullanım: “Downloads/Secure/”

$DLFile Dosyamızın adı ve uzantısı. Dosya kullanıcının bilgisayarına inerken de bu isimle inecektir. (Fakat dosya yolu kullanıcıya gözükmeyecektir) Örnek Kullanım: “File.zip” Dosyanın Gerçek Yolu: “Downloads/Secure/File.zip”

header(‘Content-type: application/zip’); İndirilecek olan dosyanın formatı seçilir. Daha fazla format için tıklayın.

header(‘Content-Disposition: attachment; filename=”‘. $DLFile .'”‘); Sayfamızın HTML değil de bir dosya olduğunu belirtir.

readfile($DLPath. $DLFile .); Dosyamızı indirmemizi sağlayan fonksiyondur. Burada $DLPath ile $DLFile’ı birleştiriyoruz. Bu sayede readfile fonksiyonuna girdiğimiz değer: Downloads/Secure/File.zip olmaktadır.

Bu sayede dosyamızı yolunu başka kimseyle paylaşmadan indirmiş olduk. Şimdi gelelim daha gelişmişine. Aslında burada yapmamız gereken tek şey altta vereceğim kodları buradaki kodların üstüne eklemek olacak çünkü kodlarımızı ona göre yazacağım.

Gelişmiş Versiyon (Kodlar)

Burada alacağınız tüm kodları Sade Versiyonun hemen üstüne ekleyerek kullanabilirsiniz. Bu sayede sisteminizden dosya indirmek isteyenlerin belirli bir Session’a sahip olması ve indirme limitini aşmamış olması gerekmektedir. Bu sefer açıklamaları kodların içinde vereceğim. Çünkü bu sefer sadece if else deyimleriyle işlem yapacağım. Burada önemli olan ve değerini değiştirmeniz gereken sadece bir adet değişken var. O da indirme limitimizdir 🙂

[php]
<?php
//Sessionları başlatıyoruz. Eğer bu kod olmaz ise hiçbir session değerimiz çalışmaz.
session_start();
//İndirme limitimizi buradan belirliyoruz. İstediğiniz basamakta sayı girebilirsiniz. Yalnız değer sadece tamsayı olmalı !
$LIMIT = 5;
//Eğer kişinin dosyayı indirme yetkisini belirleyen session değeri boş ise hata yazdırıp exit(); fonksiyonu ile işlemi durduruyoruz.
if (empty($_SESSION[‘YETKI’])){
echo "Bu dosyayı indirmek için gerekli yetkiye sahip değilsiniz !";
exit();
}
//Eğer indirme adedimizi sayan session değeri boş ise onu 0’a eşitliyoruz ki sistemimiz işlemleri yaparken sorun yaşamasın.
if (empty($_SESSION[‘INDIRME’])){
$_SESSION[‘INDIRME’] = 0;
}
//İndirme adedimizi sayan session değeri belirlediğimiz limitten büyük veya o limiti aşıyor ise hata yazdırıp işlemi durduruyoruz.
if ($_SESSION[‘INDIRME’] >= $LIMIT){
echo "İndirme limitinizi aştınız. Bu dosyayı indiremezsiniz !";
exit();
}
//Tüm kontrollerden başarıyla geçildiyse indirme adedimizi bir arttırıyoruz ki kişinin dosyayı kaç kere indirdiğini sistem anlasın.
$_SESSION[‘INDIRME’] ++;
?>
[/php]

Kişilere Yetki Vermek

Kişilerin dosya indirmesini sağlamak için onlara yetki vermelisiniz. Bunun için aşağıdaki kodu session_start(); kodundan sonraki bir yere eklemelisiniz. Bu sistemimizde Yetki sessionunun içindeki değerin ne olduğuna bakmadık, sadece boş ise hata verdik (ki session açılmadıysa o her zaman boş olacaktır.)

[php]
<?php
$_SESSION[‘YETKI’] = "kullanıcının yetkisi bulunmaktadır";
?>
[/php]

Derli Toplu Kod

Evet, her şey bu kadardı, şimdi size kodların tümünü derli toplu bir vaziyette vereyim ki rahat bir şekilde kullanabilesiniz. Bu kodumuzda tüm kullanıcılara dosya indirebilmesi için gereken yetkiyi de otomatik olarak vereceğiz (yani üstteki kod aşağıdaki kodların arasında bulunmaktadır.).

[php]</pre>
<?php
//Sessionları başlatıyoruz. Eğer bu kod olmaz ise hiçbir session değerimiz çalışmaz.
session_start();
//Kullanıcıya yetkisini veriyoruz.
$_SESSION[‘YETKI’] = "kullanıcının yetkisi bulunmaktadır";
//İndirme limitimizi buradan belirliyoruz. İstediğiniz basamakta sayı girebilirsiniz. Yalnız değer sadece tamsayı olmalı !
$LIMIT = 5;
//Eğer kişinin dosyayı indirme yetkisini belirleyen session değeri boş ise hata yazdırıp exit(); fonksiyonu ile işlemi durduruyoruz.
if (empty($_SESSION[‘YETKI’])){
echo "Bu dosyayı indirmek için gerekli yetkiye sahip değilsiniz !";
exit();
}
//Eğer indirme adedimizi sayan session değeri boş ise onu 0’a eşitliyoruz ki sistemimiz işlemleri yaparken sorun yaşamasın.
if (empty($_SESSION[‘INDIRME’])){
$_SESSION[‘INDIRME’] = 0;
}
//İndirme adedimizi sayan session değeri belirlediğimiz limitten büyük veya o limiti aşıyor ise hata yazdırıp işlemi durduruyoruz.
if ($_SESSION[‘INDIRME’] >= $LIMIT){
echo "İndirme limitinizi aştınız. Bu dosyayı indiremezsiniz !";
exit();
}
//Tüm kontrollerden başarıyla geçildiyse indirme adedimizi bir arttırıyoruz ki kişinin dosyayı kaç kere indirdiğini sistem anlasın.
$_SESSION[‘INDIRME’] ++;
?>
<?php
$DLPath = "Downloads/Secure/";
$DLFile = "File.zip";
header(‘Content-type: application/zip’);
header(‘Content-Disposition: attachment; filename="’. $DLFile .’"’);
readfile($DLPath. $DLFile );
?>
<pre>
[/php]

Dosyalar Nasıl Gözükür?

İndirme Sayfası - Büyütmek için tıklayın

Önemli Duyuru

Bazı sunucular benim deyimimle titiz olduklarından hata verebilirler. Bunun olmaması için sayfanın en üstüne (< ?php tagından hemen sonra) ob_start(); kodunu sayfanın en altına (?> tagının hemen üstüne) ob_end_flush(); komutunu ekleyin. Ve ek olarak indirme işleminiz olan sayfada önceden hiçbir yazı vb. şeyin olmaması gerekmekte html kodları da dahil. Yani kaynak kodlarınız tamamiyle boş olmalıdır.

Ve Yazının Sonu

Evet, tüm kodlar bu kadardı. Kodların tamamını test etmedim ama çalışacağına eminim. Yine de bir sorun çıkarsa bana alttan yorum yolu ile veya iletişim bölümünden bildirirseniz hemen düzeltirim.

Umarım yararlı olmuştur. Eğer beğendiyseniz bu yazıyı üstteki butonlardan paylaşabilir veya bize Destek Ver‘ebilirsiniz. Her türlü soru ve sorununuzda yorum atmayı unutmayın, sağlıcakla kalın …

KategorilerOyunlarTanıtım

SWAT 4

Merhaba bu gün itibariyle Swat 4’ü bitirmiş bulunmaktayım. Swat 4 ne derseniz kısaca anlatabilirim çünkü inceleme konusunda fazla uzman değilim.

Swat 4 oyununda 4 kişilik bir SWAT ekibinin liderisiniz. Adamlarınıza şuraya gir şunu yap veya şurayı temizle, bu elemanı kelepçele vs. komutlar verebiliyorsunuz. Ekibinizi iki parçaya bölebilir ve aynı mekana iki kapıdan girebilirsiniz. Veya oyun içinde belirli yerlere konuşlandırılmış Keskin Nişancılarınızı yönetip güvenliği sağlayabilirsiniz. Oyunun amacı rehineleri kurtarmak veya başka şeyler yapmak oluyor. Zaten her bölümün başında olayı, amacı, haritayı, şüphelileri, rehineleri, 911 kayıdını ve daha bir sürü bilgiyi öğrenebiliyor ve buna özel olarak kendi ve adamlarınızın ekipmanlarını seçebiliyorsunuz.

Amacınız kesinlikle öldürmek değil etkisiz hale getirmek. Bunu “Teslim Ol” , “Silahını Bırak”, “Ellerini Kaldır” gibi komutlarla şüphelilere verebilirsiniz. Genelde teslim olan zaten silahını bırakıyor. (Bazıları da bırakıp gibi yapıp kaçabiliyor veya sizi mıhlayabiliyor 🙂 ) Eğer teslim olmayan elemanlar olursa onları da “Biber Gazı”, “Gaz Bombası”, “Şok Tabancasıyla” dürtüp teslim olmasını sağlayabiliyorsunuz. Eğer eleman teslim olmamaya kararlıysa (yani gazın etkisindeyken bile bir yandan öksürüp bir yandan silahını tutuyorsa) yapacağınız tek bir şey var: Kafasına Sıkmak.

Oyunda en önemlileri de şu ki rehineleri kesinlikle öldürmemek (vurmamak demiyorum öldürmemek diyorum 🙂 ). Eğer rehine teslim olmuyorsa onu vurmayın Biber gazı veya başka bir şey ile onun Teslim olmasını sağlayın. Eğer sizde yoksa adamlarınız aracılığıyla Şok tabancası vs. kullanıp onun teslim olmasını sağlayabilirsiniz. Biber gazını yiyen rehine kesinlikle teslim olacaktır.

Oyunun en kötü yanı Kolay da oynasanız bile zor olması. Yani bölümdeki tüm rehineleri kurtarmış, neredeyse tüm adamları etkisiz hale getirmiş bir durumdasınız. Ama bir tane eleman geliyor sizin kafanıza sıkıyor. Sonuç: Görev başarısız yaptığın şeyleri bir daha yap ve bu sefer adamların, rehinelerin yerleri önceki durduğu yerden çok farklı bir yerde. Yani önceden bildiğiniz bir kapının ardında adam yoksa tekrar dediğinizde o kapının ardında adam olabiliyor. Ama bu gerçekçilik açısından çok iyi bir durum, bizim açımızdan çok kötü bir durum. Ama oyun gerçekçi kardeşim 😀

Oyundaki Kolay, Orta, Zor ise şu şekilde değerlendiriliyor. Bölümün başlangıcında (her bölüme özel) Kolay, Orta, Zor seçeneği var. Bu seçenekleri seçtiğinizde size verilen bir puan limiti var. Diyelim ki Zoru seçtiniz ve sizden 95 puan isteniyor. Bu şekilde yapmanız gereken şey. Oyunda en az adam öldürmek, tüm rehineleri zarar vermeden kurtarmak (gerçi bir tanesini bile öldürseniz bölüm iptal oluyor.) ve adamlarınızın görev sonunda sağ kalması bu bölümün puanını etkiler. Puanınız bölümün sonunda yer alır. Eğer zoru seçtiyseniz cidden iyi bir SWAT lideri olmanız gerekir ve benim gibi önüne çıkanı öldürmemen gerekir 🙂

Ve son olarak oyuna başlamadan önce eğitimi yapman ve iyice anlaman gerekir. Yoksa hiç bir şey yapamazsın.

Sanırım ben bu yazıya başlamadan önce kısa bir demiştim değil mi? Neyse boşverin 😀

İşte ben bu oyunu bu gün bitirmiş bulunmaktayım ama Kolay bölümünde. Yani ben önüme çıkan şüpheliyi genelde vurduğum dan Zor da oynasaydım onlarca kez görevi oynamam gerekirdi 🙂 Eğer siz zorda bu oyunu bitirirseniz helal olsun size. Ama şunu da hatırlatmamda fayda var. Her bölüme özel seçenek var dediğimden bazı bölümlerde Zor 95 puan ve üstü istiyorsa daha zor bölümlerde bu 85 ve benzeri olabilir …

Hadi İyi Oyunlar …