rss
twitter
  •  

Mysql String Functions

| Posted in Programming |

0

Name Description
ASCII() Return numeric value of left-most character
BIN() Return a string representation of the argument
BIT_LENGTH() Return length of argument in bits
CHAR_LENGTH() Return number of characters in argument
CHAR() Return the character for each integer passed
CHARACTER_LENGTH() A synonym for CHAR_LENGTH()
CONCAT_WS() Return concatenate with separator
CONCAT() Return concatenated string
ELT() Return string at index number
EXPORT_SET() Return a string such that for every bit set in the value bits, you get an on string and for every unset bit, you get an off string
FIELD() Return the index (position) of the first argument in the subsequent arguments
FIND_IN_SET() Return the index position of the first argument within the second argument
FORMAT() Return a number formatted to specified number of decimal places
HEX() Return a hexadecimal representation of a decimal or string value
INSERT() Insert a substring at the specified position up to the specified number of characters
INSTR() Return the index of the first occurrence of substring
LCASE() Synonym for LOWER()
LEFT() Return the leftmost number of characters as specified
LENGTH() Return the length of a string in bytes
LIKE Simple pattern matching
LOAD_FILE() Load the named file
LOCATE() Return the position of the first occurrence of substring
LOWER() Return the argument in lowercase
LPAD() Return the string argument, left-padded with the specified string
LTRIM() Remove leading spaces
MAKE_SET() Return a set of comma-separated strings that have the corresponding bit in bits set
MATCH Perform full-text search
MID() Return a substring starting from the specified position
NOT LIKE Negation of simple pattern matching
NOT REGEXP Negation of REGEXP
OCTET_LENGTH() A synonym for LENGTH()
ORD() Return character code for leftmost character of the argument
POSITION() A synonym for LOCATE()
QUOTE() Escape the argument for use in an SQL statement
REGEXP Pattern matching using regular expressions
REPEAT() Repeat a string the specified number of times
REPLACE() Replace occurrences of a specified string
REVERSE() Reverse the characters in a string
RIGHT() Return the specified rightmost number of characters
RLIKE Synonym for REGEXP
RPAD() Append string the specified number of times
RTRIM() Remove trailing spaces
SOUNDEX() Return a soundex string
SOUNDS LIKE(v4.1.0) Compare sounds
SPACE() Return a string of the specified number of spaces
STRCMP() Compare two strings
SUBSTR() Return the substring as specified
SUBSTRING_INDEX() Return a substring from a string before the specified number of occurrences of the delimiter
SUBSTRING() Return the substring as specified
TRIM() Remove leading and trailing spaces
UCASE() Synonym for UPPER()
UNHEX()(v4.1.2) Convert each pair of hexadecimal digits to a character
UPPER() Convert to uppercase

String-valued functions return NULL if the length of the result would be greater than the value of the max_allowed_packet system variable.

For functions that operate on string positions, the first position is numbered 1.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)

PHP: Procedural vs. Object Oriented Coding Style

| Posted in Programming |

1

PHP allows you to write code in two flavours, one is procedural and the other
is object oriented. You can even write procedural code in PHP5 and it will run
without any problems. If you are not clear about procedural and object oriented
programming, then we will have a look at these two different coding styles. The
following two examples are not fully running examples rather a pseudo code:

<?
$user_input = $_POST[‘field‘];
$filtered_content = filter($user_input);Â Â Â //user input filtering
mysql_connect(“dbhost”,”dbuser”,”dbpassword”);Â Â Â //database
mysql_select_db(“dbname”);
$sql = “some query”;
$result = mysql_query($sql);
while ($data = mysql_fetch_assoc())
{
process ($data);
}
process_user_input($filtered_content);
?>

You will notice using a lot of inline processing either directly or via using functions.
It may stand as an example of typical procedural operation. Let’s see how it looks
after converting it to OOP:

<?
$input_filter = new filter();
$input_filter->filter_user_input();Â Â Â //filter the user inputs
$db = new dal(“mysql”);Â Â Â //data access layer
$db->connect($dbconfig);Â Â //using mysql
$result = $db->execute($sql);
ReportGenerator::makereport($result);Â Â Â Â //process data
$model = new Postmodel($filter->get_filtered_content());
$model->insert();
?>

Now if you take a look into these two code snippets, you will find that the latter
one is much more readable. Well, you can make the first one more readable by
introducing some more functions into it, but how many functions are you ready
to search into when you use them? The latter snippet is better organized because
you know which object is handling which process. If you write big applications in
procedural style, it will be almost impossible to manage after a few versions. Of
course you can implement strict coding conventions, but it is agreed by millions
of developers that it won’t give you the ultimate manageability and usability if it’s
procedural unless you do it in OO style. Almost all big applications are written using
the object oriented approach.

VN:F [1.9.13_1145]
Rating: 8.0/10 (1 vote cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)

Subdomain wildcard pada Ubuntu dengan bind9 – Part II

| Posted in Programming, ubuntu |

1

Menyambung artikel sebelumnya, kali ini kita akan membuat konfigurasi Virtual Host agar setiap request yang masuk langsung diarahkan ke domain utama.
Pertama, edit file konfigurasi default apache: /etc/apache2/sites-available/default
Ubah nilai NameVirtualHost dan VirtualHost menjadi *

$ sudo pico /etc/apache2/sites-available/default

sehingga menjadi:

NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ “/usr/share/doc/”
<Directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

Kemudian buat file konfigurasi Virtual Host baru untuk domain kita.

$ sudo pico /etc/apache2/sites-available/situskita.tld

Kita akan menambahkan ServerAlias yang akan mengarahkan semua request *.situskita.tld ke domain utama.Dan arahkan DocumentRoot ke lokasi kerja anda.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)

Subdomain wildcard pada Ubuntu dengan bind9

| Posted in Programming, ubuntu |

7

Ada kasus seperti ini, kita akan membuat sebuah website komunitas yang nanti nya para pengunjung bisa mendaftar sebagai anggota. Dan setiap anggota masing-masing akan mendapatkan alamat URL: http://namauser.situskita.com/
Kelihatannya tampak mudah bukan?
Tinggal membuatkan Virtual Host untuk masing-masing anggota, dan daftarkan subdomainnya.

Namun permasalahannya adalah, kita ingin subdomain tersebut hanya sebagai identitas, dan bukan berupa direktori khusus untuk masing-masing anggota terdaftar. Dan yang lebih penting lagi, setiap yang baru mendaftar akan langsung mendapatkan alamat subdomainnya secara otomatis, tanpa campur tangan kita. Bayangkan jika ada 100 pengunjung yang mendaftar, dan semua itu harus kita buat secara manual. Akan sangat membuang waktu dan tenaga bukan?

Ini dibutuhkan jika kita ingin membuat situs komunitas, atau contohnya seperti situs jaringan pertemanan. Setiap anggota yang terdaftar akan mendapatkan alamat sendiri untuk menampilkan profil, blog, atau content lainnya.

Untuk mengatasi masalah itu kita akan menggunakan yang namanya “Subdomain Wildcard”. Dengan subdomain wildcard, kita hanya butuh 1 domain yang digunakan untuk memproses semua request subdomain. Artinya, semua yang xxx.domainutama.com, yyy.domainutama.com, zzz.domainutama.com akan diarahkan ke domainutama.com. Yang nantinya script PHP pada domainutama.com yang akan memprosesnya dan menampilkan halaman anggota tersebut.

Sebelumnya, kita akan membutuhkan DNS Server untuk membuat subdomain wildcard ini. Dengan membuat DNS Zone baru untuk domain yang akan digunakan.
Sebagai test untuk di mesin lokal, kita akan membuat domain bohongan yang hanya bisa jalan di jaringan lokal kita saja.
Domain yang digunakan: www.situskita.tld
IP Mesin kita: 192.168.1.2

Install paket bind9 untuk DNS Server nya (Jika belum ada)

$ sudo apt-get install bind9

setelah install, kita akan membuat DNS Zone baru. Jika anda sudah memiliki konfigurasi DNS sendiri, dan akan menggunakannya, silahkan lewati bagian ini. Lanjutkan ke tahap selanjutnya.

$ sudo pico /etc/bind/named.conf.local

Tambahkan baris berikut ini:

zone “situskita.tld” {
type master;
file “/etc/bind/db.situskita.tld”;
notify no;
};

Disini kita membuat zona baru untuk domain “situskita.tld”, dan konfigurasi nya terletak pada file “/etc/bind/db.situskita.tld”
Jika ingin menggunakan konfigurasi DNS zone yang sudah ada, anda hanya tinggal menambahkan baris berikut pada konfigurasi anda:

* A 192.168.1.2

Kalau belum ada, maka kita akan membuatnya.

$sudo pico /etc/bind/db.situskita.tld

VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.13_1145]
Rating: +1 (from 1 vote)

Blogging via Google Docs

| Posted in For life.., Programming, Tech-News |

0

Selain untuk membuat dokumen, Google docs juga bisa untuk menulis blog, yang kemudian otomatis akan di posting di situs blog anda seperti: Blogger.com, livejournal.com, WordPress.com, dan lain nya. Bahkan untuk situs pribadi anda sendiri yang menggunakan engine yang didukung oleh API Google.

Kenapa harus Google Docs?
Kadang kala editor blog kita memiliki fitur yang terbatas. Dengan Google Docs, kita akan memiliki editor yang lumayan lengkap selayaknya Office Suite. Meskipun belum selengkap Office suite, namun Google Docs masih dalam tahap pengembangan. Dengan status BETA (khas Google) maka Google Docs bisa akan semakin lengkap lagi.
Selain itu, kita bisa mempublikasikan dokumen office kita tanpa perlu menulis ulang.

Contoh berikut menjelaskan penggunaan Google Docs untuk menulis blog pada situs pribadi yang menggunakan WordPress.
Langkah awal adalah anda harus mempunyai account pada Google. Apabila anda telah mempunyai alamat email pada Gmail, anda bisa menggunakannya.

Setelah login, klik pada menu “Documents” di sudut kiri atas tampilan Gmail anda, atau langsung ke http://docs.google.com/

Buat dokumen baru dengan memilih: “New -> Documents
Akan muncul halaman baru dan anda bisa memulai menulis blog anda disini, lengkap dengan format tulisan.
Untuk memasukkan gambar, table, atau video, klik pada tab “insert“. Sama seperti anda membuat dokumen pada Office suite.

Click for larger

Jika telah selesai menulis, klik pada menu “File -> Save“. Untuk langsung mempublikasikannya ke blog anda, klik pada menu “Publish” di sudut kanan editor. Akan muncul halaman Publish.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)