Kategori arşivi: Programlama

Visual Studio Code ile C Programlama

  1. Visual Studio Code Kurulur. Açılır ve aşağıdaki eklentiler (extensions) kurulur. Ardından Visual Studio Code kapatılır.
    • C/C++ Extension Pack
    • C/C++
    • Code Runner
  2. MinGW kurulumu gerçekleştirilir. Varsayılan ayarlarla kurulumu gerçekleştirildikten sonra mingw32-base paketi kurulur.
  3. Ortam değişkenlerine MinGW binary dosya klasörü eklenir.
    • Varsayılan dizin – C:\MinGW\bin
  4. Visual Studio Code açılır ve kodlamaya başlanır.
Bugün 1, bugüne kadar toplam 51 kez ziyaret edildi.

Arduino İpuçları

Bazı başlık altında Arduino tecrübelerimden paylaşımlar yapacağım.

  • Yüklenmiş bir kütüphaneyi tamamen silme

Arduino geliştirme yazılımınıza yüklediğiniz bir kütüphaneyi tamamen silmek için (silmek işkenceye dönüşebiliyor çünkü, arayüzden silinince toptan kalkmıyor) Windows’ta aşağıdaki dizinden kütüphanenizi siliyorsunuz.

Belgeler(Documents)/Arduino/Libraries/kütüphanenizin_ismi

  • Manuel olarak kütüphane yükleme işlemi

Manuel olarak kütüphane yüklemek için aşağıda verdiğim Windows dizinine kütüphane dosyanızı kopyalıyorsunuz.

Belgeler(Documents)/Arduino/Libraries/

Kopyaladıktan sonra Arduino program arayüzü açıp Taslak > Library Ekle diyip orada ismi bulunan kütüphanenizi seçiyorsunuz ve işlem tamam.

Bugün 1, bugüne kadar toplam 16 kez ziyaret edildi.

Python İki Popülasyon İçin Z Skoru Hesaplama Kodu

İki popülasyon için Python ile aşağıdaki kod vasıtasıyla iki kuyruklu Z Skoru hesaplayabilirsiniz. Girdi olarak n1, n2, p1 ve p2 değerlerini girmeniz gerekmektedir. Çıktı olarak Z Skoru değeri verilecektir.

#!/usr/bin/env python
#-*- coding: utf-8 -*-
from __future__ import division
import math

p1 = 0.34
p2 = 0.67
n1 = 300
n2 = 200

def calculate_z_score(p1, p2, n1, n2):
	proportion_of_two_samples = (p1 + p2)/2
	z_score = (p1-p2) / math.sqrt((proportion_of_two_samples * (1-proportion_of_two_samples)) * (1/n1 + 1/n2))
	return z_score

print calculate_z_score(p1, p2, n1, n2)

Bugün 1, bugüne kadar toplam 199 kez ziyaret edildi.

bash script rm no such file or directory

Normalde rm ile komut istemcisinden silebildiğim dosyaları bash script ile silmeye çalıştığımda bu hata ile karşılaştım. Aşağıdaki şekilde script’te değişiklik yaptıktan sonra sorun halloldu.

#!/bin/bash

file_dir=$1
rm -rf $file_dir"subject"*

Burada dikkat edilmesi gereken husus subject’in yanında bulunan ‘*’ karakteri. Öncesinde bu karakter tırnağın içerisindeyken bunu dışarı çıkardığımda sorun kalmadı. Bu komutu ise aşağıdaki şekilde çalıştırıyorum.

bash clean.sh /home/nuh/temp/

Bugün 1, bugüne kadar toplam 112 kez ziyaret edildi.

Python: iki string ifade arasındaki eşleşen blokları bulma

İki string ifade arasındaki benzerliği bulmam gerekiyordu. Yaptığım araştırma neticesinde difflib kütüphanesi ile bu işi kolayca halledebildim. Aşağıdaki kod blogunun çıktısı hemen altında verilmiştir. Bu kod blogunda değişiklik yaparak ihtiyacınız doğrultusunda rahatlıkla kullabilirsiniz. Bu örnek şu bağlantıdan alınmıştır.

import difflib
string1 = "abxcd"
string2 = "abcd"
matches = difflib.SequenceMatcher(
    None, string1, string2).get_matching_blocks()
for match in matches:
    print string1[match.a:match.a + match.size]

ab
cd
OUTPUT

Bugün 1, bugüne kadar toplam 203 kez ziyaret edildi.

Python yararlı komutlar

  • Python çalıştırdığınız dosyanın adını görmek. Bu sayede dosya isminde geçen bir ifadeyi değişkene çevirebilirsiniz.
os.path.basename(__file__)

  • Python scripte parametre göndermek ve onu kullanmak.
import sys

parameter1 = sys.argv[1]
parameter2 = sys.argv[2]

Dosyayı çalıştırırken ise şu şekilde komut göndereceğiz.

python sample.py parameter1 parameter2

 

Bugün 1, bugüne kadar toplam 27 kez ziyaret edildi.

PHP dosyalarını parametre göndererek çalıştırma

Ubuntu’da komutla PHP dosyalarının çalıştırılabildiğini biliyorsunuzdur. Geçenlerde parametre göndererek bu işlemi yapmam gerekti. Bunun için öncelikle çağırmak istediğiniz php dosyasının başına aşağıdaki kodu eklemeniz gerekmektedir. Bu kod daha sonra kullanacağınız komutu uygun bir şekilde gönderecektir.

parse_str(implode(‘&’, array_slice($argv, 1)), $_GET);

Örneğin aşağıdaki şekilde tarayıcıdan gönderdiğiniz bir sorguyu altındaki komutu yazarak Ubuntu’dan çalıştırabiliriz.

http://www.example.com/form.php?parametre1=deger1&parametre2=deger2

php -f /…/…./form.php – parametre1=deger1 parametre2=deger2

Bugün 1, bugüne kadar toplam 25 kez ziyaret edildi.

PHP Warning: exec() has been disabled for security reasons running Register Automation script

Php’de karşılaşılan bu problemi php.ini dosyasını düzenleyerek çözülebilir. Bu dosya sunucunun  konfigürasyon dosyasıdır. Sunucuyla ilgili bir çok ayar ve kısıtlama buradan yapılabilir. Php.ini dosyasının yerini bulmak için bir php dosyası oluşturup phpinfo() fonksiyonunu kullabilirsiniz. Böylelikle sunucu ayarları görüntülenecektir. Php.ini dosyasının yeri görüntülenen sayfada Configuration File(php.ini) Path yazan yerdedir. Konfigürasyon dosyasını açıp orada

disable_functions=system,system_exec,shell,shell_exec,passthru,escapeshellarg…

şeklinde devam eden satıra gelip ilgili fonksiyonu oradan silerek enable duruma getiriyoruz. İstenirse aşağıdaki gibi tüm fonksiyonları silerek tüm fonksiyonları enable duruma getirebiliriz.

disable_functions=

Daha sonra apache web sunucusunu restart ederek değişiklikleri geçerli hale getiriyoruz.

Bugün 1, bugüne kadar toplam 204 kez ziyaret edildi.