Memperbesar ukuran upload file Apache2

File konfigurasi yang perlu di edit adalah php.ini yang letaknya bisa berbeda tergantung modul php yang digunakan, antara lain:

  • /etc/php/7.4/apache/php.ini
  • /etc/php/7.4/fpm/php.ini

Versi php dapat disesuaikan

Parameter yang perlu diatur adalah :

post_max_size = 100M
upload_max_filesize = 100M

Besar ukuran dapat diubah sesuai kebutuhan

Jangan lupa setelah itu, web server Apache perlu di restart

$ sudo service apache2 restart

MySQL: Duplicate table

Duplikasi struktur table nya saja tanpa data

CREATE TABLE new_table LIKE original_table;

Perintah di atas akan membuat duplikat struktur table new_table yang sama persis dengan original_table.

Untk menyalin datanya dapat menggunakan perintah sebagai berikut:

INSERT INTO new_table SELECT * FROM original_table;

Reference: https://popsql.com/learn-sql/mysql/how-to-duplicate-a-table-in-mysql

Insert MySQL Table from *.csv file

Setup local infile

Sebelum dapat melakukan load data secara local ke dalam database, maka perlu memastikan bahwa load infile dalam kondisi aktif

Periksa status local infile

mysql> show global variables like 'local_infile';

Akan memberikan informasi seperti di bawah ini:

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | OFF   |
+---------------+-------+
1 row in set (0.00 sec)

Untuk mengaktifkan gunakan perintah berikut:

mysql> set global local_infile=true;

Setelah itu silahkan connect ke database dengan parameter local infile

mysql --local_infile=1 -u root -ppassword DB_name

Dan lakukan load data local, seperti:

mysql> load data local infile 'path/file_name.extention' into table table_name;

INSERT

Misalkan kita memiliki table berikut ini:

mysql> desc temp_user_info_data;
+------------+------------+------+-----+---------+----------------+
| Field      | Type       | Null | Key | Default | Extra          |
+------------+------------+------+-----+---------+----------------+
| id         | bigint(10) | NO   | PRI | NULL    | auto_increment |
| userid     | bigint(10) | NO   | MUL | 0       |                |
| fieldid    | bigint(10) | NO   |     | 0       |                |
| data       | longtext   | NO   |     | NULL    |                |
| dataformat | tinyint(2) | NO   |     | 0       |                |
+------------+------------+------+-----+---------+----------------+

Catatan: untuk melihat info lebih detail tentang table dan bagaimana table tersebut di buat, Anda dapat menggunakan perintah:

mysql> desc namatable

atau

mysql> show create table namatable;

Kemudian file data kita diletakkan di /root dengan nama file data *.csv: contoh.csv seperti berikut:

5791,23,11
19766,23,11

Lalu lakukan load data:

mysql> load data local infile '/root/contoh.csv' into table temp_user_info_data fields terminated by ',' (userid,fieldid,data);
Query OK, 2 rows affected (0.01 sec)
Records: 2  Deleted: 0  Skipped: 0  Warnings: 0

Jika data Anda memiliki satu baris pertama yang berisi nama kolom, maka berikan ignore 1 lines seperti berikut:

mysql> load data local infile '/root/contoh.csv' into table temp_user_info_data fields terminated by ',' ignore 1 lines (userid,fieldid,data);

Switch php version

Berikut adalah untuk switch dari satu versi php ke versi lainnya

sudo update-alternatives --config php

Setelah itu akan muncul pilihan sebagai berikut (tergantung php version yang sudah/pernah di install):

There are 5 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
  0            /usr/bin/php8.1   81        auto mode
  1            /usr/bin/php7.1   71        manual mode
  2            /usr/bin/php7.2   72        manual mode
* 3            /usr/bin/php7.4   74        manual mode
  4            /usr/bin/php8.0   80        manual mode
  5            /usr/bin/php8.1   81        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

Reference: https://php.tutorials24x7.com/blog/how-to-switch-php-version-on-ubuntu-20-04-lts

Mencopot memcached dari Ubuntu

(Uninstall memcached from ubuntu)

Cara paling praktis adalah sebagai berikut, tapi cara ini hanya mencopot memcached nya saja, tapi mencopot juga dependency packages yang tidak diperlukan

$ sudo apt-get remove memcached 

Jika akan menghapus juga dependency packages terkait maka lakukan hal berikut ini

$ sudo apt-get purge memcached

atau sekalian dibersihkan, jika Anda akan reinstall kembali, lakukan ini

$ sudo apt-get purge --auto-remove memcached 

Menghitung Integral dengan menggunakan Bilangan Acak

Misalkan g(x) adalah sebuah fungsi. Kita ingin menghitung \( \theta \) yaitu :

\dpi{100} \theta = \int_{0}^{1} g(x) dx

Apa yang menjadi dasar bahwa integral di atas dapat dihitung dengan menggunakan bilangan  random \( \theta \)

Penjelasan :

Ambil U suatu bilangan acak yang terdistribusi secara uniform dan independent di interval (0,1).

Kemudian misalnya kita nyatakan \( \theta \) sebagai :

\theta = E[g(U)]

Jika \(U_{1}, … , U_{k}\) adalah variabel random yang independent dan uniform di interval (0,1), maka menjadikan juga \(g( u_{i} )\) adalah sebagai variabel random yang independent dan terdistribusi secara identik dengan mean \( \theta \). Karena itu, dengan menggunakan dasar hukum kuat dari bilangan besar (the strong law of large numbers), mengikuti ketentuannya dengan probabilitas 1.

\(\large \sum_{i=1}^{k}\frac{g(U_{i})}{k} \to E[g(U)]= \theta \;\;\;\; ketika \; k \to \infty\)

Karena itu kita dapat mendekati \( \theta \) dengan cara membangkitkan sebanyak mungkin bilangan random \( u_{i}\) dan mengambilnya sebagai pendekatan kita terhadap nilai rata-rata (average) dari \(g( u_{i} ) \). Pendekatan semacam ini sering disebut sebagai pendekatan Monte Carlo.

Berikut ini adalah contoh algoritma dari bahasa BASIC yang dapat digunakan untuk mendekati nilai \( \theta \) :


10 RANDOMIZE
20 INPUT K
30 S = 0
40 FOR I = 1 TO k
50 U = RND
60 S = S + g(U)
70 NEXT
80 PRINT S/K

Nilai yang dihasilkan dari alogoritma ini adalah nilai dari \( \theta = \int_{0}^{1} g(x) dx \).

Kasus 1 :

Jika kita ingin menghitung :

\( \theta = \int_{a}^{b} g(x) dx \)

maka kita menggunakan substitusi \( y = (x-a)/(b – a), dy = dx / (b-a) \), sehingga :

dimana h(y) = (b – a) g(a + [b – a] y ).

Dengan demikian kita dapat mendekati nilai \( \theta \) dengan membangkitkan bilang random secara kontinyu dan mengambil nilai rata-rata (average) dari h yang dihitung pada bilangan-bilangan random tadi.

Kasus 2 :

Jika kita ingin menghitung :

kita bisa menggunakan substitusi

Substitusi ini menggambarkan bahwa

  1. ketika \( x \to 0\) maka \( y \to 0\)
  2. ketika \( x \to \infty \) maka \( y \to 1\)

Catatan : ingat sifat integral tertentu :

selanjutnya karena :

kemudian

sehingga didapatkan identitas :

dimana