19 Mayıs 2016 Perşembe

Dev C++ Kod Derlerken Ek Parametreler Girmek

Merhaba Arkadaşlar Openmp ile paralel program yazarken dev c++ ta derleme esnasında openmp ile derlenmesi için -fopenmp parametresi ile derlememiz gerekir.

Bu Parametre ile derlemek için öncelikle dev c++ ı açıyoruz.
Ardından Araçlar>Derleyici Ayarları kısmın giriyoruz.

Derleyiciyi çağırırken komut satırına şunları ekle yazan textboxa -fopenmp parametresini ekliyoruz.


Evet artık derleyiciniz openmp ile derlemeye hazır durumda :)

Test için aşaıdaki kodu derleyebilirsiniz.



[cpp]
#include <iostream>
#include <omp.h>

int main(int argc, char *argv[])
{
#pragma omp parallel
{
cout <<"Vehbi Akdoğan\n ";
}
return 0;
}

[/cpp]
vehbi akdogan - kişisel blog sitesi

20 Şubat 2016 Cumartesi

Android Uygulamanın Ana Fontunu Değiştirme

Merhaba Arkadaşlar;

Androidde uygulamamıza temel bir font atamak isteyebiliriz ve bunu androidin kendi yetenekleriyle yapmak istersek işimiz bayağı bir zor olacaktır ama bunun için geliştirilmiş bir kütüphane olan Calligraphy kütüphanesini kullanacağız.


Öncelikle kütüphaneyi projemize eklememiz gerekiyor. Projemize kütüphaneyi dahil etmemiz için build.gradle dosyasını açıyoruz ve dependencies bölümüne aşağıdaki compile kodunu ekleyip sağ üstten Sync Now diyoruz.

Kodumuz:
[java]
dependencies {
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
}

[/java]

Sync Now dedikten sonra androidin özel klasörlerinden olan assets klasörü oluşturuyoruz. assets klasörü oluşturmak için:


app a sağ tıkla > New > Folder > Assets Folder şeklinde asset klasörü oluşturduk.

[caption id="attachment_639" align="alignnone" width="211"]Assets Klasörü Oluşturma Assets Klasörü Oluşturma[/caption]

Assets klasörü içine şimdi de fonts klasörü oluşturalım. Bunun için
assets klasörüne sağ tıklayıp new > directory adımlarını takip edebilirsiniz.




Font klasörü de oluşturduktan sonra bu klasör içine kullanmak istediğimiz fontu atıyoruz. ben open sans attım.

Daha sonra fontumuzun çalışması için bir class oluşturuyoruz.

Ben Sınıf adına UygulamaFontu dedim siz istediğinizi diyebilirsiniz ama bir hata olmaması açısından UygulamaFontu olarak oluşturmanızı tavsiye ederim.


Daha sonra oluşturduğumuz sınıfı Application sınıfından kalıtıp onCreate methodunu kullanmamız gerekiyor. Bu kısmı biraz hızlı geçiyorum kod üzerinden bakarsak daha iyi olacak.

[java]

package vehbiakdogan.com.nobetcieczanebul;

import android.app.Application;

import uk.co.chrisjenx.calligraphy.CalligraphyConfig;
import vehbiakdogan.com.nobetcieczanebul.R;

/**
* Created by vehbiakdogan on 19.2.2016.
*/
public class UygulamaFontu extends Application { // application sınıfından kalıttık
public void onCreate() { // on create methodunu override ettik
super.onCreate(); // ana onCreate Methodunu çalıştırdık
// şimdi default font ayarlarımızı yapmaya başlıyoruz.

CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() // kütüphaneyi başlattık
.setDefaultFontPath("fonts/opensans/OpenSans-Regular.ttf") // font yolunu gösterdik
.setFontAttrId(R.attr.fontPath) // uygulamadaki tüm elemanlara font ataması burda yapılıyor.
.build() // ve build ettik
);


}

}


[/java]

Evet Arkadaşlar şimdi daha iyi anlamışsınızdır diye umuyorum :)

Evet geldik son adımımıza :)



Şimdi Androidmanifest.xml dosyamızı açıyoruz ve application tagının olduğu yere bir android:name değeri veriyoruz ve buraya bizim classımızın adını veriyoruz.

Kısaca eklemeniz gereken kod:

[xml]
<application <!-- Bu Tagdan Sonra -->
android:name=".UygulamaFontu" <!-- .classAdi şeklinde class adını ekliyorsunuz. -->
<!-- application tagının diğer kodlarına dokunmayınız. ! -->


[/xml]

şeklinde yapabilirsiniz. Örneğin benim AndroidManifest.xml dosyam:

[xml]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="vehbiakdogan.com.denemeUygulama">

<application
android:name=".UygulamaFontu"
android:allowBackup="true"
android:icon="@mipmap/logokirmizi"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:theme="@style/AppTheme.noActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>



[/xml]


Son olarakta attachBaseContext Methodumuzu fontun değişmesini istediğimiz Activity de çağırarak fontumuzun çalışmasını sağlayalım.
Örn. main Activity de çalışmasını istiyorsak MainActivity i açıp aşağıdaki şekilde düzenleyelim.

[java]

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}
// bu method Fontumuzun bu activity de çalışmasını sağlar.
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}

}
[/java]


Eğer adımları başarılı bir şekilde yaptıysanız artık uygulamanızın ana fontunu değiştirmiş olacaksınız.

Bol yazılımlı günler :)
vehbi akdogan - kişisel blog sitesi

9 Ocak 2016 Cumartesi

jQuery Telefon Ekranındaki Dönmeyi Algılamak

Merhaba arkadaşlar jQuery ile bir projemde ekranını pozisyonu değiştiğini algılamam gerekiyordu ve bunun için basit bir kod buldum sizlerlede paylaşmak istedim
jQuery ile ekran pozisyonundaki değişimi algılamak için aşağıdaki kodu kullanabilirsiniz.

[js]
$(window).on('orientationchange', function (e) {
alert("Ekran Pozisyonu Değişti.");
});
[/js]

DEMO

telefonunuzla burdan kontrol edebilirsiniz.
vehbi akdogan - kişisel blog sitesi

8 Ocak 2016 Cuma

Hatalı Resimler İçin Resmin Boyutuna Göre No-Image Resmi Yapmak

Merhaba arkadaşlar bugün düzenlemem için başkasının yapmış olduğu bir siteyi getirdiler sitede farklı boyutlarda birçok resim hatalıydı açılmıyordu müşteri açılmayan resimlerden şikayetçi olduğu için resimlerin kendi boyutlarında no-image tarzında bir resim ekletmem gerekiyordu resimlerin genelinin boyu farklı olduğu için biraz farklı bir yol izledim.

Öncelikle https://placeholdit.imgix.net Sitesinden yararlandım bu sitede bizim isteğimize göre resim oluşturuyor.


Resim Oluşturmak için tabi linke bazı parametreler vermemiz gerekiyor:
1.parametre txt Resimde ne yazısı olmasını istiyorsak onu yazıyoruz.
2.parametre: txtsize Yazı Boyutunu Ayarlıyor.
3. parametre w Resmin Genişliği
4. parametre h Resmin yüksekliği ve bize resim oluşturmuş oluyor.

Örnek Resim



Şimdi Sıra Geldi Sorunu Çözmeye:

[js]
$("img").error(function(){
var genislik = $(this).width(),
yukseklik = $(this).height();
$(this).attr("src","https://placeholdit.imgix.net/~text?txtsize=23&txt=No-Image&w="+genislik+"&h="+yukseklik);
});

[/js]

Önce resim boyutlarını aldım daha sonra resmin yerine aynı boyutlarda no-image şeklinde yeni resim ekledim ve sorun çözülmüş oldu :)



Sağlıcakla kalın..
vehbi akdogan - kişisel blog sitesi

30 Aralık 2015 Çarşamba

Dns Önbelleğini Temizleme

Merhaba arkadaşlar windowsta dns önbelleğinizi temizlemek için konsolu açıp aşağıdaki komutları yazarak temizleyebilirsiniz.

  • ipconfig /flushdns

  • ipconfig /release

  • ipconfig /renew

  • exit



vehbi akdogan - kişisel blog sitesi

27 Aralık 2015 Pazar

C++ Pointer İle Dizi İçinde Gezinme

Merhaba arkadaşlar sizlere c++ ile bir dizinin içinde pointer ile nasıl gezilir onu göstereceğim.


Öncelikle bazı şeyleri bilmemiz gerekiyor bunlar:
oluşturduğumuz bir iki boyutlu dizi örneğin:

int dizi[4][4] = {{1,3,5,7},{2,4,6,8},{3,6,9,12},{4,8,12,16}};

dizisi bellekte sıralı olarak yani 1,3,5,7,2,4,6,8,3,6,9,12,4,8,12,16 şeklinde tutuluyor yani biz ilk elemanımızın adresini bilirsek diğerlerine de onun sayesinde ulaşabiliriz.
C++ da bir değişkenin adresi & operatörü ile alınır.
Buna göre biz bir pointer değişken oluşturur ve dizinin ilk elemanının adresini ona atarsak dizide kolayca gezebiliriz.

Örneğin:
[cpp]
#include <iostream>
using namespace std;
int main()
{
int dizi[4][4] = {{1,3,5,7},{2,4,6,8},{3,6,9,12},{4,8,12,16}}; // Dizimiz
int *diziPtr = &dizi[0][0]; // Bir Pointer Değişken Oluşturduk ve dizinin ilk elemanının adresini verdik
for(int i = 0;i<16;i++) {
cout << *diziPtr<<"-"; // Dizi İçinde rahatça gezinebiliyoruz artık
diziPtr++;
}
}
[/cpp]

örneği Online Compiler da Da çalıştırıp görebilirsiniz.
vehbi akdogan - kişisel blog sitesi

16 Aralık 2015 Çarşamba

Arduino İle Butona Basıldığında Led Yakma

Arduino ile butona basıldığında nasıl led yakılır bunu göstereceğim.

Öncelikle yukarıdaki devreyi tasarlayalım.



Daha sonra açıklamasınıda yazmış olduğum kodları kullanarak led yakabilirsiniz.

[cpp]
void setup() {
// put your setup code here, to run once:
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
// 6-7 pinlere çıkış verdik
Serial.begin(9600);
// Seri Portu açtık
}

void loop() {
// put your main code here, to run repeatedly:
Serial.println(digitalRead(7));
// Seri Porta Pin Değerini Yazdık.
digitalWrite(6,digitalRead(7));
// 6 numaralı pine bağlı ledimizi butonun durumuna göre yakıp söndürdük.
}

[/cpp]

Adımları doğru uygularsanız butona bastığınızda led yanar parmağınızı kaldırdığınızda led söner.
vehbi akdogan - kişisel blog sitesi

30 Ekim 2015 Cuma

Php Nöbetçi Eczaneler Sınıfı

Merhaba arkadaşlar bir projemde Erzurum'a ait nöbetçi eczaneler lazım olduğu için bende genel olarak bir nöbetçi eczaneler classı yazdım şuan için ihtiyacımı görecek vaziyette olduğu için classı böylece bıraktım.
Classta istediğiniz eklemeler veya şunlarda olsaydı iyi olurdu dediğiniz yada sizin ilave ettiğiniz kodlar olursa benimle iletişime geçerseniz sevinirim.


Php Nöbetçi Eczaneler Sınıfı Kullanımı





Öncelikle Php Sınıfımızı Sayfaya Dahil Edelim.

[php]
require_once("NobetciEczane.class.php");
[/php]


Daha Sonra Sınıfımızı Başlatalım.

[php]

$eczane = new NobetciEczane("erzurum"); // Hangi İli İstiyorsak Parametre Olarak O ili Verelim

[/php]


Daha Sonra Nöbetçi Eczanelerimizi Çekelim.

[php]
echo $eczane->Getir("json"); // json,array,text Veri Türünde Verilerimizi Çekebiliriz.

[/php]


Genel Olarak Tam Kodumuz Şöyle.
[php]

header("Content-type:application/jSon");

require_once("NobetciEczane.class.php"); // Sınıfımızı Sayfamıza Dahil Ettik

$eczane = new NobetciEczane("erzurum"); // Sınıfı Başlattık

echo $eczane->Getir("json"); // Nöbetçi Eczanelerimizi jSon Olarak Çektik




[/php]

Not: Eczanelere Ait Veriler hastanebul.com.tr Sitesinden Alınmıştır.
vehbi akdogan - kişisel blog sitesi
Sosyal Aglarda Ben :)
facebook
twitter
google
youtube
rss

About Us

İstatistik

Iletisim

Ad

E-posta *

Mesaj *

© Vehbi Akdogan - Kişisel Blog Sitesi | Tüm Hakları Saklıdır.