Saturday, March 06, 2021

Docker-compose dengan data persistent MySQL

Seringkali kita memerlukan container docker yang menjaga data persistent, sehingga dapat digunakan untuk beragam keperluan dockering. Docker memiliki opsi untuk memilih apakah data disimpan secara persistent di volume docker atau langsung disimpan di komputer host. Berikut adalah tahapan dockering dengan docker-compose dan data persistent MySQL. Volume dalam docker adalah mekanisme docker untuk menyimpan secara persistent data/file di dalam container docker. Kita dapat membuat docker volume di komputer host dan menempelkannya ke container docker. 

Berikut adalah contoh file docker-compose.yml 


version: '3'

services:
  db:
    image: mysql:${MYSQL_VERSION}
    container_name: mysql-db
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    ports:
      - "6033:3306"
    volumes:
      - dbdata:/var/lib/mysql
volumes:
  dbdata:

 
Konfigurasi docker-compose di atas mendefinisikan 1 data volume bernama "dbdata", yang termount ke container dengan path atau direktori /var/lib/mysql. Path ini adalah direktori default yang digunakan mysql untuk menyimpan data. Berikutnya kita jalankan command untuk menjalankan Docker container:

$ docker-compose up -d

Output:  

 


Akses ke database

$ docker exec -it mysql-db bash

Saturday, May 09, 2020

Pengelolaan Data Riset di Era Open Science: Best Practices di Indonesia

Paparan di dalam Webinar dan Knowledge Sharing Pustakawan LPNK, 5 Mei 2020.


Alternative link di isuu.com

Referensi Ilmiah terbuka di masa Covid-19 (Study From Home, Work From Home)

Paparan di Sci-Binar "Produktif Meneliti di kala Covid-19" LIPI, 2 Mei 2020.



Rerefensi Karya Ilmiah Akses Terbuka (Open Access)

 Referensi Karya Ilmiah Lokal Indonesia

    Referensi Data Ilmiah Global

    Referensi Data Ilmiah Lokal

    Sebagian website dataset global memiliki koleksi khusus dengan topik Indonesia (data.world, HDX, World Bank, WHO, UNICEF dll)

     

    Referensi Data dan Karya Ilmiah Terkait Covid-19

    Sunday, October 18, 2015

    6 Macam Social Network Analysis dari Data Twitter

    Social Network Analysis (SNA) dilakukan untuk memahami hubungan antar individu, kelompok, organisasi, URL atau entitas informasi lainnya. Cara paling mudah untuk menggambarkan hubungan tersebut adalah dengan graph. Node menunjukkan entitas, dan garis menunjukkan hubungan antar node-node. 

    Liebermen. 2014. Six kinds of Twitter social media networks


    Michael Lieberman mendemonstrasikan 6 macam Social Network, dengan menggunakan tool NodeXL dan data Twitter.
    • Polarized Network. Terjadinya 2 kelompok/jaringan yang terpolarisasi, dengan kerapatan yang tinggi pada masing-masing kelompok dan interkoneksi yang rendah antar kelompok. 
    • In-group Network. Terjadi sedikit grup, dengan masing-masing grup sedikit node, dan interkoneksi yang tinggi antar grup (dan begitu pula antar node).
    • Brand/Public Topic Network. Terjadi beberapa grup kecil terisolasi, interkoneksi rendah. 
    • Bazar Network. Terjadi beberapa grup ukuran sedang, beberapa dengan interkoneksi rendah. 
    • Hub Network. Terjadi suatu hub, yang me-retweet banyak user tak terkoneksi. 
    • Support Network. Terjadi suatu hub, yang me-reply banyak user tak terkoneksi.

    Referensi.
    1. Michael Lieberman, 2014. Visualizing Big Data: Social Network Analysis. Digital Research Conference. San Antonio, Texax, 11-12 Maret 2014.
    2. Visualizing Big Data: Social Network Analysis by Michael Lieberman #CASRO #MR

    Thursday, April 02, 2015

    Install PHPUnit di XAMPP Windows

    Salah satu tahapan penting dalam pengembangan software adalah testing. Testing tools untuk PHP yang terkenal adalah PHPUnit. XAMPP terbaru versi full, telah dilengkapi dengan PHPUnit dalam paket PEAR. Anda dapat mencek PHPUnit di XAMPP  dengan cara sbb:
    1. Dengan perintah cmd dari windows, masuklah ke direktori php, misal C:\XAMPP\php
    2. Jalankan perintah phpunit --version utk mencek apakah PHPUnit telah terinstall dan berapa versinya. 
    3. Untuk debugging, profiling dan testing code coverage, Anda perlu mengaktifkan XDebug di dalam php.ini, kemudian restart Apache server Anda. 

    Apabila PHPUnit belum terinstall, maka Anda perlu install dari pear.phpunit.de. Akhir-akhir ini instalasi phpunit dengan PEAR dengan channel pear.phpunit.de gagal. Support untuk install PHPUnit via PEAR tidak lagi tersedia.Berikut solusinya.

    1. Dapatkan PEAR update terakhir dan jalankan PEAR installer: download file di http://pear.php.net/go-pear.phar dan tempatkan di mana folder XAMPP\php anda berada, misal di folder C:\xampp\php
    2. Masuk ke dalam folder XAMPP\php anda dan jalankan:
      • php go-pear.phar
      • Saat diminta masukan apakah pear diinstall di system atau local, pilih 'local', selanjutnya pilih 'yes' untuk konfirmasi local copy dari PEAR
      • Setelah muncul pilihan directory untuk local copy PEAR, pilih 'all', untuk setting seluruhnya.
      • Masukkan folder $prefix untuk semua directory local copy PEAR, misal C:\xampp\php
      • Masukkan seluruh path sesuai dengan konfigurasi directory PEAR anda.
    3. Bersihkan cache dari pear 
      • pear clear-cache
    4. Mempersiapkan installasi  phpunit
      • pear install -a -f phpunit/PHPUnit
    5. Download Composer dari  https://getcomposer.org/download/
    6. Jalankan installer Composer tersebut, dan pilihlah php directory ke XAMPP\php anda, misal C:\xampp\php
    7. Installer akan terinstall di C:\ProgramData\ComposerSetup. Pastikan path
      C:\ProgramData\ComposerSetup\bin ada dalam informasi path Windows
      • echo %PATH%
    8. Masuk ke directory C:\ProgramData\ComposerSetup\bin dan jalankan perintah sbb:
      • composer global require "phpunit/phpunit=4.5.*"
    9. Pastikan PHPUnit telah terinstall di directory XAMPP\php\pear Anda.
    Untuk testing dengan advanced functionality seperti Code Coverage, maka Anda perlu XDebug. XAMPP telah disertai library untuk XDebug. Aktifkan konfigurasi XDebug di dalam php.ini, dan restart Apache server Anda.



    Sunday, March 29, 2015

    Setting Up IPython Notebook for Portable Python 2.7

    Catatan kecil untuk mempersiapkan environment pemrograman Python di kelas Computer Vision.

    Portable Python 2.7 tidak dilengkapi IPython Notebook, sebuah interface IPython berbasis web. Kita dapat mengedit program python kita. Menurut saya, yang paling menarik dari IPython Notebook adalah kita dapat memberikan komentar dg format MD, menulis formula matematis di satu tempat  yang sama.

    Install Notebook

    Menginstall paket baru di Portable Python sangat mudah, cukup gunakan easy_install.
    1. Buka folder App/Scripts dan temukan easy_install.exe di dalamnya
    2. Buka perintah command prompt (cmd) dan cd ke folder ini
    3. Jalankan: easy_install [nama paket baru]

    Berikut adalah cara menginstall IPython dan semua paket yang diperlukan untuk menjalankan IPython Notebook. Masih di folder App/Script dg console command prompt

    easy_install pyreadline
    easy_install ipython[zmq,qtconsole,notebook,test]

    Sekarang kita sudah memiliki IPython Notebook. Selanjutnya jalakan perintah berikut untuk membuka IPython Notebook.

    ipython notebook



    IPython Notebook terbuka di web browser default. Kita dapat menstop program IPython Notebook dengan menjalankan Ctrl-C di console


    Wednesday, April 30, 2014

    pyxll: Python Addin untuk MS Excel

    Setelah membahas library Python & PHP untuk baca-tulis Excel. Perlu juga diketahui addin Python untuk Excel, sehingga kita bisa membuat script otomasi di file Excel dengan bahasa Python. Selama ini saya hanya menggunakan visual basic MS Office untuk otomasi di file Excel.

    Informasi selanjutnya:   https://www.pyxll.com/index.html

    Tuesday, April 29, 2014

    Python & PHP Library untuk MS Excel

    Akhir-akhir ini pekerjaan ofisial saya banyak terkait extract data dari file Excel (xls atau xlsx) dan output ke file Excel. Berikut daftar library yang paling cocok untuk pekerjaan tsb.

    PHP

    PHPExcel (CodePlex)

    Satu-satunya library yang bisa mengakomodasi segala keperluan saya untuk memproses file Excel dari PHP.
    Fitur PHPExcel lengkap dari baca-tulis (dalam beragam format: xls, xlsx, csv, html, pdf), formatting-printing, menghandle Excel formula dan charting.
    Sumber: https://phpexcel.codeplex.com/

    Selain PHPExcel, Anda dapat menemukan proyek library lain untuk MS Office di GitHub PHP Office https://github.com/PHPOffice/

    Python

    Untuk Python pilihannya banyak, tetapi saya masih sulit menemukan sekelas PHPExcel di PHP.

    OpenPyXl

    Library untuk baca-tulis file Excel 2007 xlsx/xlsm. Fitur meliputi baca-tulis, formatting, charting dan handle formula Excel. Openpyxl diklaim sebagai port PHPExcel di atas untuk Python.
    Sumber:  http://pythonhosted.org/openpyxl/#

    PHP-Excel

    Library terbagi menjadi 3 modul: xlrd untuk baca file excel, xlwt untuk menulis/membuat file excel dan xlutils untuk mengcopy atau modifikasi file excel yang ada.
     
    Sumber: http://www.python-excel.org/, http://pythonhosted.org/xlutils/