Menghapus semua direktori .svn

1:41 PM | , , , , , ,

Mengapa ini diperlukan ? Pemicunya adalah ketika saya memiliki sebuah source yang biasanya di update dengan Subversion (SVN) tapi karena suatu sebab harus saya pindahkan ke tempat lain dan akan di import ulang ke SVN server lain. Di dalam direktory source tersebut sudah memiliki direktory2 ‘.svn’ yang mengacu kepada server SVN sebelumnya. Karenanya perlu di hapus. Karena setiap direktory yang ada dipastikan terdapat direktory tersebut, maka sangat tidak efisien kalau harus menghapusnya satu persatu.
Setelah membaca dari beberapa sumber di om Google dan Stackoverflow, maka berikut adalah beberapa hal yang dapat dilakukan (sebenarnya juga bisa berlaku untuk nama direktori yang lain selain ‘.svn’)
Perintah utama sebenarnya adalah :  rm -rf  yang akan diulang-ulang untuk setiap direktori .svn.
Untuk itu kita perlu perintah   xargs  yang akan melempatkan hasil perintah sebelumnya menjadi parameter dari perintah yang menggunakannya.
hasil dari perinah find adalah nama direktory lengkap dengan struktur direktory nya, kemudian ditangkap oleh xargs dan menjadi parameter dari rm – rf  yang ada disamping xargs.
Catatan : harap berhati-hati dengan perintah rm – rf karena akan menghapus direktory dan semua direktori dan files di bawahnya sekaligus.

(http://openstat.sekolahku.org)
Read More

Tutorial phpCAS di Linux

9:37 AM | , , , , , ,

Apa itu phpCAS ? silakan baca di sini

Langkah-langkah menginstal phpCAS
1. Jika anda belum menginstal php-pear di komputer anda maka instal terlebih dahulu
sudo apt-get install php-pear
2. Lalu jalankan perintah di bawah ini
sudo pear install  http://downloads.jasig.org/cas-clients/php/current.tgz
3. Setelah instalasi selesai maka phpCAS sudah bisa digunakan
4. Untuk memahami cara penggunaan phpCAS anda bisa menggunakan script berikut lalu di simpan ke file config.php


/**
 * The purpose of this central config file is configuring all examples
 * in one place with minimal work for your working environment
 * Just configure all the items in this config according to your environment
 * and rename the file to config.php
 *
 * PHP Version 5
 *
 * @file     config.php
 * @category Authentication
 * @package  PhpCAS
 * @author   Joachim Fritschi <jfritschi@freenet.de>
 * @author   Adam Franco <afranco@middlebury.edu>
 * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
 * @link     https://wiki.jasig.org/display/CASC/phpCAS
 */
$phpcas_path = '/usr/share/php';
///////////////////////////////////////
// Basic Config of the phpCAS client //
///////////////////////////////////////
// Full Hostname of your CAS Server
$cas_host = 'sso.sample.com';
// Context of the CAS Server
$cas_context = '/cas/';
// Port of your CAS server. Normally for a https server it's 443
$cas_port = 443;
// Path to the ca chain that issued the cas server certificate
//$cas_server_ca_cert_path = '/path/to/cachain.pem';
//////////////////////////////////////////
// Advanced Config for special purposes //
//////////////////////////////////////////
// The "real" hosts of clustered cas server that send SAML logout messages
// Assumes the cas server is load balanced across multiple hosts
$cas_real_hosts = array('cas-real-1.example.com', 'cas-real-2.example.com');
// Database config for PGT Storage
$db = 'pgsql:host=localhost;dbname=phpcas';
//$db = 'mysql:host=localhost;dbname=phpcas';
$db_user = 'phpcasuser';
$db_password = 'mysupersecretpass';
$db_table = 'phpcastabel';
$driver_options = '';
///////////////////////////////////////////
// End Configuration -- Don't edit below //
///////////////////////////////////////////
// Generating the URLS for the local cas example services for proxy testing
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
    $curbase = 'https://' . $_SERVER['SERVER_NAME'];
} else {
    $curbase = 'http://' . $_SERVER['SERVER_NAME'];
}
if ($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443) {
    $curbase .= ':' . $_SERVER['SERVER_PORT'];
}
$curdir = dirname($_SERVER['REQUEST_URI']) . "/";
// CAS client nodes for rebroadcasting pgtIou/pgtId and logoutRequest
$rebroadcast_node_1 = 'http://cas-client-1.example.com';
$rebroadcast_node_2 = 'http://cas-client-2.example.com';
// access to a single service
$serviceUrl = $curbase . $curdir . 'example_service.php';
// access to a second service
$serviceUrl2 = $curbase . $curdir . 'example_service_that_proxies.php';
$pgtBase = preg_quote(preg_replace('/^http:/', 'https:', $curbase . $curdir), '/');
$pgtUrlRegexp = '/^' . $pgtBase . '.*$/';
$cas_url = 'https://' . $cas_host;
if ($cas_port != '443') {
    $cas_url = $cas_url . ':' . $cas_port;
}
$cas_url = $cas_url . $cas_context;
// Set the session-name to be unique to the current script so that the client script
// doesn't share its session with a proxied script.
// This is just useful when running the example code, but not normally.
session_name(
    'session_for:'
    . preg_replace('/[^a-z0-9-]/i', '_', basename($_SERVER['SCRIPT_NAME']))
);
// Set an UTF-8 encoding header for internation characters (User attributes)
header('Content-Type: text/html; charset=utf-8');

nb. perintah yg ditebalkan diubah sesuai setting di server sso yang akan kita tuju.

5. Buat file script_info.php yang berisi perintah berikut

<?php
/**
 *  Small script to add some info about the example script that is running.
 *  Adds some info that makes it easier to distinguish different proxy sessions
 *
 * PHP Version 5
 *
 * @file     script_info.php
 * @category Authentication
 * @package  PhpCAS
 * @author   Joachim Fritschi <jfritschi@freenet.de>
 * @author   Adam Franco <afranco@middlebury.edu>
 * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
 * @link     https://wiki.jasig.org/display/CASC/phpCAS
 */ ?>
    <dl style='border: 1px dotted; padding: 5px;'>
      <dt>Current script</dt><dd><?php print basename($_SERVER['SCRIPT_NAME']); ?></dd>
      <dt>session_name():</dt><dd> <?php print session_name(); ?></dd>
      <dt>session_id():</dt><dd> <?php print session_id(); ?></dd>
    </dl>

6. Terakhir buat file utama untuk mendapatkan otentikasi dan informasi dari sso server. Contoh

<?php
/**
 *   Example for a simple cas 2.0 client
 *
 * PHP Version 5
 *
 * @file     example_simple.php
 * @category Authentication
 * @package  PhpCAS
 * @author   Joachim Fritschi <jfritschi@freenet.de>
 * @author   Adam Franco <afranco@middlebury.edu>
 * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
 * @link     https://wiki.jasig.org/display/CASC/phpCAS
 */
// Load the settings from the central config file
require_once 'config.php';
// Load the CAS lib
require_once $phpcas_path . '/CAS.php';
// Uncomment to enable debugging
phpCAS::setDebug();
// Initialize phpCAS
phpCAS::client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context);
// For production use set the CA certificate that is the issuer of the cert
// on the CAS server and uncomment the line below
// phpCAS::setCasServerCACert($cas_server_ca_cert_path);
// For quick testing you can disable SSL validation of the CAS server.
// THIS SETTING IS NOT RECOMMENDED FOR PRODUCTION.
// VALIDATING THE CAS SERVER IS CRUCIAL TO THE SECURITY OF THE CAS PROTOCOL!
phpCAS::setNoCasServerValidation();
// force CAS authentication
phpCAS::forceAuthentication();
// at this step, the user has been authenticated by the CAS server
// and the user's login name can be read with phpCAS::getUser().
// logout if desired
if (isset($_REQUEST['logout'])) {
phpCAS::logout();
}
// for this test, simply print that the authentication was successfull
?>
<html>
  <head>
    <title>phpCAS simple client</title>
  </head>
  <body>
    <h1>Successfull Authentication!</h1>
    <?php require 'script_info.php' ?>
    <p>the user's login is <b><?php echo phpCAS::getUser(); ?></b>.</p>
    <p>phpCAS version is <b><?php echo phpCAS::getVersion(); ?></b>.</p>
    <p><a href="?logout=">Logout</a></p>
  </body>
</html>

7. Jalankan program namun jangan lupa alamat domain anda harus sudah terdaftar pada sso server

Selamat mencoba :)

Read More

Belajar Pemrograman Ruby Dasar - 1

9:26 AM | , ,



Tutorial ini diambil dari http://tryruby.org

1. Operasi Matematis

Untuk menghitung operasi matematis di ruby tidak perlu sintaks-sintaks khusus cukup memasukan operasi tersebut. Contoh:
4*5+3
maka akan ditampilkan pesan
=> 23

2. Menampilkan sebuah string

Untuk menampilkan sebuah string maka cukup menambahkan tanda  double quote ("...") di antara string tersebut. Contoh:
"Alir"
=> "Alir"

3. Menampilkan reverse string

Untuk menampilkan sebuah string dari huruf belakang ke depan cukup menambahkan kata kunci reverse pada string tersebut. Contoh:
"Alir".rev­erse
=> "rilA"

4. Menghitung panjang karakter

Untuk menghitung panjang karakter maka kita cukup menambahkan kata kunci length pada string. Contoh:

"How long"­.length
=> 8

5. Mengulang string

Untuk melakukan perulangan string maka kita tinggal menambahkan tanda * diikuti jumlah perulangan yang diinginkan. Contoh:

"Help.."*3­
=> "Help..Help..Help.."


6. Melakukan reverse pada angka

Untuk melakukan reverse pada angka maka kita harus merubahnya menjadi string terlebih dahulu dengan menggunakan fungsi to_s. Contoh

527.to_s.r­everse
=> "725"

7. Mengubah angka ke string, string ke angka, string ke array

Untuk mengubah angka ke string kita menggunakan to_s seperti pada poin sebelumnya , sedangkan sebaliknya untuk mengubah string ke angka kita gunakan to_i. Untuk menjadikan isi string ke dalam sebuah array maka kita menggunakan to_a. Contoh:

60.to_s
=> "60"


"50".to_i*­4
=> 200





Read More