Data DateTime di MongoDB Tanpa MicroSecond

Kalau di MySQL, ketika insert datetime dengan format

datetime.datetime.now()

maka data yang masuk adalah tahun bulan hari jam menit detik” tanpa microsecond. Hal ini berbeda ketika kita memasukkan format datetime yang sama ke MongoDB, secara otomatis, waktu microsecond ikut tercatat. Bagaimana cara biar microsecond tidak usah ikut tercatat?

datetime.datetime.now().replace(microsecond=0)

Otomatis, data datetime akan masuk ke mongodb tanpa microsecond.

 

 

Advertisements

Posting ke WordPress Menggunakan Python WordPress XMLRPC

Berikut code snippet untuk melakukan posting ke WP:

from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import GetPosts, NewPost
from wordpress_xmlrpc.methods.users import GetUserInfo
from wordpress_xmlrpc.methods import posts


wp = Client("http://localhost/xmlrpc.php", "admin", "admin")
# posts = wp.call(GetPosts())
# print(posts)
# users = wp.call(GetUserInfo())
# print(users)

post = WordPressPost()
post.title = "My new python title"
post.content = "This is the body of my new post."
post.terms_names = {
 "post_tag": ["test", "firstpost"],
 "category": ["Introductions", "Tests"]
 }
post.id = wp.call(NewPost(post))

post.post_status = "publish"
wp.call(posts.EditPost(post.id, post))

Kenapa wordpress? Karena platform ini terkenal SEO friendly.. Tinggal bagaimana kreativitas kita aja…

stormSSH untuk manajemen SSH

Ngelola banyak server? Bingung IP mana untuk server mana? Kasih nama aja, bisa dengan membuat alias di .bashrc atau kita gunakan tools seperti misalnya sshstorm ini.

pip install stormssh --user

Atau gunakan sudo pip install stormssh untuk install stormssh system-wide.

Jalankan perintah berikut untuk menambah daftar ssh kita

storm add master username@ipaddress

Atau kalau mau edit:

storm edit master username@ipaddress

Mau lihat list SSH kita?

storm list

Bye

 

[FIX] Unlimited Scroll di Gnome Terminal

Entah kenapa ini GNOME terminal di Kali Linux kok gak bisa unlimited scroll, apa karena dulu saya install GNOME nya terpisah ya… Entahlah, yang jelas persoalan sudah terselesaikan…

Caranya dengan menginstall command gconftool-e yang ada di paket gconf2

sudo apt install gconf2

Kemudian jalankan perintah ini di Terminal:

gconf2 -t bool --set /apps/gnome-terminal/profiles/Default/scrollback_unlimited 1

Done

[NOTED] Jangan Pernah Gunakan Nama ‘key’ Sebagai Nama Kolom di MySQL

Dasar noob, sempat dibuat pusing karena query yang saya tulis di mysql console selalu error, setelah browsing sebentar baru tahu kalau nama kolom yang saya gunakan, yakni ‘key’ adalah reserved keyword yang sebaiknya dihindari penggunaannya di MySQL.

Untung masih bisa diatasi dengan menambahkan tanda ` (backtick), sehingga query menjadi seperti berikut:

update table set `key`=1 where id=10;

Meski bisa diatasi, ini tetap bukan best practices, so jangan pernah ulangi kesalahan yang sama, cari tahu reserved keyword di MySQL sebelum membuat nama kolom.

Mengubah Jam Server ke Jam Lokal

Mungkin judul inggrisnya “how to convert server time to local time zone?”. Yak kurang lebih begitu… Bagaimana caranya?

import arrow
import pytz
from datetime import datetime

def to_local_tz(s):
    """Convert UTC to local timezone (Asia/Jakarta)."""
    try:
        dt_str = datetime.strftime(s, "%Y-%m-%d %H:%M:%S")
        dt_arr = arrow.Arrow.strptime(dt_str, "%Y-%m-%d %H:%M:%S")
        return dt_arr.to("Asia/Jakarta").naive
    except Exception as e:
        pass

Selamat mencoba…

Setting MySQL 5.7 Remote Access Ubuntu 16.04

Sunting berkas /etc/mysql/mysql.conf.d/mysqld.cnf

sudo emacs /etc/mysql/mysql.conf.d/mysqld.cnf

cari baris bind-address = 127.0.0.1

ganti ke

bind-address = 0.0.0.0
sudo service mysql restart
netstat -an|grep 3306 | grep LISTEN
# output
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

login dari localhost:

mysql -h xxx.xxx.xxx.xxx --port=3306 -u root -p