วันเสาร์ที่ 31 ตุลาคม พ.ศ. 2563

[React Native] Redux

Redux

- ใช้แชร์ State แบบ Global ให้ทุก Component เข้าถึงได้
- Component ต้องเรียกใช้ Action ในการแก้ไขข้อมูลใน State Global โดยตรง
- ใช้ Logger ในการ Track ได้จะเห็น prev state, action, next state

npm install redux redux-logger redux-thunk react-redux

redux react-redux : ลง redux และใช้ react-redux
redux-logger : ใช้ track การเปลี่ยนแปลงข้อมูล
redux-thunk : เพื่อให้ใช้งาน asynchronous ได้

Flow

graph LR; a([State])--defines-->b([UI]); b([UI])--triggers-->c([Actions]); c([Actions])--sent to-->d([Reducer]); d([Reducer])--updates-->e([Store]); e([Store])--contains-->a([State]);

วันศุกร์ที่ 30 ตุลาคม พ.ศ. 2563

[Blogger] ลองเปลี่ยนมาใช้ highlight.js ทำ Syntax Highlight Code

เนื่องจากครั้งก่อนใช้งาน Syntax Highlighter ซึ้งเป็น Version 3 และไม่มีภาษาใหม่ ๆ ให้ใช้งานตอนนี้ก็เลยต้องหาตัวใหม่มาใช้งาน
เจอ highlight.js น่าสดใจมากและคนใช้เยอะมาก เลยจับมาลงสักหน่อย

และเหมือนเดิมเราต้องไปทำการเพิ่ม Code ที่ Template ก่อนเอา Code มาจาก https://highlightjs.org/usage/
มองหาส่วนของ CDN Hosted เราจะใช้ของ Cloudflare https://cdnjs.com/libraries/highlight.js
เลือกภาษาและ Theme ได้ที่ https://highlightjs.org/static/demo/


<!-- highlight.js -->
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/styles/default.min.css"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/highlight.min.js"></script>
      
<!-- and it's easy to individually load additional languages -->
<script charset="UTF-8" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/languages/bash.min.js"></script>
<script charset="UTF-8" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/languages/css.min.js"></script>
<script charset="UTF-8" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/languages/javascript.min.js"></script>
<script charset="UTF-8" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/languages/sql.min.js"></script>
<script charset="UTF-8" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/languages/typescript.min.js"></script>
<script charset="UTF-8" src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.3.2/languages/xml.min.js"></script>
การใช้งานก็ใส่ Code ไปในบนความของเรา

<pre><code class="bash"> ... </code></pre>

วันพุธที่ 28 ตุลาคม พ.ศ. 2563

[MySQL] Config Basic

การ Config ไฟล์ cnf ของ MySQL Server

เราใช้ MySQL Server 5.7 ในหัวข้อนี้พูดถึงการใช้ไฟล์ cnf ในการ Config ค่าต่าง ๆ
ถ้าอยากรู้ Version ให้พิมพ์ mysqld --version ที่ terminal

ไฟล์ conf จะเก็บไว์ที่ path /etc/mysql/my.cnf, /etc/mysql/mysql.cnf
- /etc/mysql/my.cnf
- /etc/mysql/mysql.cnf

และอีก 2 ไฟล์ที่
- /etc/mysql/conf.d/mysql.cnf
- /etc/mysql/mysql.conf.d/mysql.cnf

มาเปิดดู 2 ไฟล์แรกก่อน

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/mysql.conf
!includedir /etc/mysql/mysql.conf.d/


วันพฤหัสบดีที่ 1 ตุลาคม พ.ศ. 2563

[Ubuntu] & [Linux Container]
NFS Kernel Server ต้น ๆ กับ การ Mount NFS ใน Container

[Ubuntu] NFS Kernel Server


คำสั่งที่ใช้ติดตั้ง NFS Server

sudo apt install nfs-kernel-server

sudo mkdir -p /mnt/nfs_share
sudo chown -R nobody:nogroup /mnt/nfs_share
sudo chmod 777 /mnt/nfs_share

sudo cp /etc/exports /etc/exports.bak
sudo nano /etc/exports