Linux Bash Script ile MYSQL’den Değer Alma

Linux üzerinde BASH script ile ufak bir işlem yaptırırken MYSQL üzerinden değer almamız gerektiğinde aşağıdaki kod parçası işinizi görecektir. Aynı zamanda sadece değeri almak istiyorsanız GREP komutundan sonraki kolon adını değiştirmeniz yeterli olacaktır.

$(`mysql DATABASE_NAME -e ‘SELECT COLUMN FROM TABLE_NAME‘ | grep -v “COLUMN“`)

Bash script üzerindeki MYSQL sorgularınızın çalıştırılabilir olması için user bilgilerine ihtiyaç olacaktır.

Bu adresteki kaynak üzerinden detaylara ulaşabilirsiniz..

MongoDB Veritabanı Üzerindeki Tüm Kayıtlar

MongoDB ile ufak denemeler sırasında veritabanı üzerindeki toplam kayıt sayısını merak etmiştim. Yabancısı olduğum MongoDB ilk başlarda biraz zorlasada bazı konularda çok da yormadı bizi. Merak sonrası küçük bir kod bloğu ile işlemin yapılabildiğini gördüm. JavaScript ( Tam olarak böyle olmasa da 🙂 ) kodları ile birlikte ufak değişiklikler yapıp Collection’lara ait analizler yapabilirsiniz.

MongoDB tarafında tavsiyem olarak şunu söyleyebilirim.  I/O ( input / output – giriş / çıkış ) işlemlerinin yapıldığı bir sistem üzerinde oldukça stabil çalıştığını gördük. İlerleyen süreçte bir sıkıntı çıkartmaz ise birçok NoSQL projelerinizde oldukça rahat bir şekilde kullanabilirsiniz. Kurulum sırasında veya ilk başlarda klasik SQL’den farklı gelecektir. Korkmayın alışırsınız. 🙂

Her bir Collection’a ait kayıt sayıları için aşağıdaki kod bloğunu kullanabilirsiniz.

var collections = db.getCollectionNames();

print( 'Veritabanı üzerindeki Collections:' );

var total = 0;
for(var i = 0; i < collections.length; i++){
	var name = collections[i];

	if(name.substr(0, 6) != 'system')
		print( name + ' - ' + db[name].count() + ' satır bulunuyor.. ' );
}

Toplam kayıt sayısını merak ediyorsanız aşağıdaki kod bloğunu kullanabilirsiniz.

var collections = db.getCollectionNames();

var total = 0;
for(var i = 0; i < collections.length; i++){
	var name = collections[i];

	if(name.substr(0, 6) != 'system')
		total += db[name].count();
}

print( 'Toplam Satır Sayısı : ' + total )

MongoDB ile ufak bir maceramız oldu. Mümkün olduğunda öğrendiklerim-izden paylaşımlar yapmaya çalışacağım.

Not : Bu komutlar Navicat üzerinde çalıştırılmış olup, Output sekmesinden görüntülenmiştir.

Python’dan Ufak Kod Parçaları – 2

Python ile işlemlerimizde MySQL / MariaDB bağlantıları için aşağıdaki yöntemleri kullanabilirsiniz.

Veritabanı bağlantıları için mysql.connector ‘ü kullanıyoruz.

import mysql.connector

db_log = []

db_conn = mysql.connector.connect(
	host="127.0.0.1",
	user="USER",
	password="PASSWORD",
	database="wi_syslog"
)
db = db_conn.cursor()

Bağlantıyı sağladıktan sonra SELECT ve INSERT işlemleri için 2 adet ufak fonksiyona ihtiyacımız olacak. İşin kolayına kaçmak bazen rahatlık olabiliyor 🙂

PHP’den gelen alışkanlığımız için SELECT işleminden sonraki gelen satırların KEY => VALUE serisine benzer yapabilmek için aşağıdaki fonksiyon bizlere yardımcı oluyor. Okumaya devam et “Python’dan Ufak Kod Parçaları – 2”

Python’dan Ufak Kod Parçaları – 1

Python ile normal çalışma zamanı haricinde Debug yaparken bazı noktalarda Print yapmak isterseniz aşağıdaki gibi bir Fonksiyon ile işinizi kolaylaştırabilirsiniz.

import sys
def debug( debug ):
	if 'debug' in sys.argv:
		print( debug )

Argüment ( parametre ) yöntemi ile yapıyoruz. CLI üzerinde dosyanızı çalıştırıken, dosyaya argüment göndermeniz yeterli.


sudo python test.py debug

Okumaya devam et “Python’dan Ufak Kod Parçaları – 1”

Arada Bir Alt Gr Tuşunun Çalışmaması

Yazılım ile uğraşan herkesin en çok kullandığı kısayol fonksiyon tuşlar vardır elbet. Örneğin PHP kullananlar için $( Dolar ) işareti. Bu karakterler, tuşlar dilden dile farklılık göstermektedir tabi ki. Fakat benim moralimi bozan, sinirlerimi tepeme zıplatan, klavyeyi yumruklama sebebim olan Alt Gr + 4  kısayol fonksiyonu arada bir çalışmıyor. Özellikle de PHP ile geliştirme yaparken en çok ihtiyaç olan karakter kısayolu çalışmayınca insan kendinden geçiyor.

Önce problemin hızlıca nasıl ekarte edebileceğimize bir bakalım sonra da çözümüne bakalım. Okumaya devam et “Arada Bir Alt Gr Tuşunun Çalışmaması”

PHP Dosyasının Derlenip HTML Çıktısı Alınması

PHP ile geliştirme sırasında PHP dosyasının derlenip HTML halinin geriye RETURN edilmesi gerektiği yerler olur. Bunu Codeigniter gibi framework’ler yapmaktadır. Bilenler anlayacaktır -> $this->load->view( ‘dosya_yolu’, ‘dizi_degiskeni’, true ); yaptığımızda geri bize gönderilmiş parametreler ile birlikte derlenmiş string hali gelir.

Bu işlem çok basit olmakla birlikte genellikle sayfa yapılarında kullanılır. Peki düz bir PHP sayfası hazırlarken elinizde framework olmadığında ne yapacaksınız ? Aşağıdaki kod parçasını kendinize göre düzenleyip kullanmanız yeterli olacaktır.

function load_html( $file_path, $data )
{
	extract( $data );
	ob_start();
	include( $file_path );
	$buffer = ob_get_contents();
	@ob_end_clean();
	return $buffer;
}

 

Bunu yaparken dikkat etmeniz gereken tek şey include etmiş olduğunuz dosyanın yolu ve gönderilen $data değişkeninin extract edilirkenki halinin KEY değerlerinin artık birer değişken olarak kullanılmasıdır. Değişkenleri include etmiş olduğunuz dosyada rahatlıkla kullanabilirsiniz.

Bu işlemde PHP olarak derlenmeyi sağlayan olay ise ob_XX fonksiyonları sağlamaktadır.

Oracle client software version 8.1.7 or greater. Hatası hakkında

Oracle yine iş başında. Oracle ile ilgilenenler birazcık bana kızabilir ama oldum olası sevemedim şunu 😀 Bir müşterimiz ile entegrasyon yaparken eski bir yazılımımız bağlantı hatası alıyordu. Hata “System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.”  Türkçe Meali “System.Data.OracleClient, Oracle istemci version 8.1.7 veya daha sonraki sürümünü gerektirir.”

Daha öncesinde ORACLE tarafında aldığımız bir hatanın çözümü için bir yazı paylaşmıştım. C# ile geliştirilmiş olan bir yazılım üzerinde aldığımız hata idi. Yazıya buradan ulaşabilirsiniz..

Hatanın Türkçe karşılığı anlaşıldığı gibi Oracle Client nesnesinin versiyonun düşük ve eski olmasından kaynaklanıyordu. Bunun için aşağıdaki linkten ODAC’lardan yeni versiyonundan birisinin indirilip kurulum sonrası çözüldüğünü gördüm.

İndirmek biraz zahmetli. Çünkü hesap bilgileri vs. istiyor. Aynı zamanda Oracle sitesi bazen hata veriyor. Dikkat edin. Çıldırmanıza ve çılgın atmanıza sebebiyet verebilir. 🙂

https://www.oracle.com/database/technologies/dotnet-odacdev-downloads.html

Yukarıdaki linkten indirip istenirse sadece Oracle Client nesnesinin kurulması yeterli.

Okumaya devam et “Oracle client software version 8.1.7 or greater. Hatası hakkında”

Home-Office Siber Güvenlik Uygulamaları

Covid-19’un fiziki olarak getirdiği sosyal mesafe kısıtlaması dijital dünyada aksi bir etki yaratarak köklü dijital dönüşümlere sebep oldu. Home-office çalışma modeli şu anda hem resmi hem özel birçok alanda uygulanıyor.

Home-office çalışanların bireysel olarak alacağı siber güvenlik önlemleri kitlesel olarak başarıyla sonuçlanabilecek siber saldırıları engelleyecektir. Beşinci siber saldırı jenerasyonunda olunmasına ve mega saldırıların gerçekleşmesine rağmen insan hatası faktörü bu saldırıların başarılı olmasının arkasındaki en büyük sebeplerden biridir.

İnternet genel olarak şifreli bir altyapıya sahip değildir. Çevrimiçi gerçekleştirilen aktivitelerin birçoğu şifreli değildir. Şifreli iletişim kurmak için şifreli iletişimi sağlayan uygulamalar tercih edilmelidir.

Okumaya devam et “Home-Office Siber Güvenlik Uygulamaları”

IOT Denemeleri – LUA Dili

Bir zamanlar malum ülkeden Çin’den birkaç akıllı alet almıştık. Bunlardan bir tanesi WiFi üzerinden Röle açıp kapayan ufak, minnak bir cihazdı. Cihaz’ı Cep telefonu uygulaması üzerinden WiFi ayarlarını vs. yaptıktan sonra uygulama üzerinden Röle’yi açıp kapatabiliyorsunuz. Ufak bir elektrik bağlantısı ile birlikte, Kombinizi, Kapınızı, Televizyonunuzu, Evinizdeki Lambayı vs. Elektrik ile çalışan birçok şeyi cep telefonu üzerinden kontrol edebilir hale geliyorsunuz.

Bir zaman sonra bu cihazın içini merak edip açtığımızda birçok IOT severinde sevdiği ufak bir çip bizi karşıladı. ESP32. ESP32 nin üzerine Node’lardan birini yerleştirmişler. WiFi’ye de bağlanıyor, bişiler de çalışıyor. Sonra TX, RX bağlantı pimlerini görünce dedik ki acaba ? Acaba biz bunun içine girebilir miyiz 🙂 Okumaya devam et “IOT Denemeleri – LUA Dili”

PHP Ufak Tefek Fonksiyonlar – 4

PHP üzerinde ufak tefek fonksiyonlarımdan paylaşmaya devam ediyorum. Bir önceki yazıya buradan ve  buradan tüm ufak tefeklere ulaşabilirsiniz.

Basit ve zaman kazandıran fonksiyonlara yeni bir yazı ile merhaba.

Birkaç yerde tarih işkemi için date( “Y-m-d H:i:s” ) yazıp duruyorum/uz. Kısaltmak lazım. Ne de olsa 3 5 saniye çok önemli. 🙂 datee adında bir fonksiyon ile birkaç karakter fazla yazmaktan kurtuldum diyebilirim. 🙂

function datee( )
{
	return date( 'Y-m-d H:i:s' );
}

Okumaya devam et “PHP Ufak Tefek Fonksiyonlar – 4”