[บันทึกกันลืม] วิธีติดตั้ง mariadb package สำหรับ python บน Ubuntu

เรามักเข้าใจว่าแค่ใข้คำสั่ง แล้วจะก็จะเรียกใช้งานได้ แต่จริง ๆ แล้ว ไม่ใช่ เพราะจะต้องติดตั้ง package บน OS (ในที่นี้จะเป็น Ubuntu 20.04 – focal) แต่จะติดตั้ง package นี้ได้ จะต้องติดตั้ง MariaDB Connector/C Community Server package repository (CS) ซึ่งขั้นตอนต้นฉบับของ mariadb นั้น ก็ช่าง …. ซับซ้อน ลิงค์ไปมา https://mariadb.com/docs/server/connect/programming-languages/python/install/#Prerequisites_for_Source_Distributions https://mariadb.com/docs/server/connect/programming-languages/c/install/ ซึ่งจุดใหญ่ใจความคือ การติดตั้ง repository ให้ได้ แล้วก็จะติดตั้ง package ได้ เลยบันทึกกันลืมไว้ที่นี่ copy วางได้เลย เท่านี้แหล่ะ Update สำหรับ Ubuntu 22.04 ไม่รู้ว่าเกี่ยวกับการเป็น Ubuntu pro หรือไม่ แต่ libssl1.1 ไม่สามารถลงตรง ๆ ได้ ต้องทำดังนี้

Read More »

บันทึกลับ vim

Update: 2022-12-16 สารบัญ แสดง Line Number ลบบรรทัดแรกถึงบรรทัดสุดท้าย Before After Comment ทีละหลาย ๆ บรรทัด Ctrl+v Shift+i # Before Ctrl+v แล้วเลื่อนลูกศรลงมาเรื่อย ๆ Shift+i แล้วใส่ # แล้วกดปุ่ม Esc

Read More »

วิธีหา processing speed จาก log file ด้วย shell script

[บันทึกกันลืม] ห่างหายไปนาน กำลังทำระบบ ETL ซึ่งเป็นลักษณะของ Concurrent processing โจทย์คือ ต้องเอาข้อมูล 40 ล้าน items เข้าไปใน Apache Cassandra cluster ที่ประกอบด้วย 5 nodes เป้าหมายคือ 1000 items /second วิธีทำ concurrent ด้วย python เดี๋ยวมาเล่าให้ฟัง (รอ Link ตรงนี้) โดยย่อ การนำเข้าข้อมูล ทำด้วย Python script แล้วจะเขียน log file หน้าตาประมาณนี้ ให้สนใจแค่ว่าคอลัมน์แรก เป็น timestamp ประมาณว่า บรรทัดแรก เขียนข้อมูลเมื่อ 2022-11-30 07:34:13 แล้วบรรทัดล่าสุด หน้าตาประมาณนี้ ประมาณว่า บรรทัดสุดท้าย เขียนข้อมูลเมื่อ 2022-11-30 11:12:19 ทำไปแล้วกี่ items ใช้คำสั่ง wc -l นับบรรทัด เก็บในตัวแปร it ได้มาประมาณ 17,030,016 items แล้วเราจะหา จำนวนวินาที จากเริ่มต้น ถึงปัจจุบันอย่างไร ??? อันนี้คือ shell script เดี๋ยวอธิบายต่อไป เมื่อ run แล้ว ได้ผลลัพธ์ประมาณนี้ มาดูรายละเอียดกัน เป็นการสร้างตัวแปร ชื่อ t1 ซึ่ง $(…) เป็นการสั่งให้คำสั่ง ภายในวงเล็บ นั้นทำงาน คำสั่ง head -1 คือ เอาบรรทัดแรก เป็นการ แยกข้อความ ด้วย , และเอา ฟิลด์ (field) ที่ 1 ออกมา ผลรวมของคำสั่งนี้ คือ จะได้ timestamp เก็บในตัวแปร t1 เช่นเดียวกับเวลาของบรรทัดสุดท้าย เปลี่ยนจาก head เป็น tail ก็จะได้ ตัวแปร t2 คราวนี้ เราจะรู้ได้ไง ว่า ระหว่าง 2022-11-30 07:34:13 กับ 2022-11-30 11:12:19 ห่างกันกี่วินาที ? เราสามารถใช้คำสั่ง (เก็บในตัวแปร ts2) เพื่อได้วินาทีของวันเวลา คือค่า เช่นดัวกับ เวลาเริ่มต้น (เก็บในตัวแปร ts1) จะได้ค่า มาถึงตรงนี้ เราก็จะได้ตัวแปร ts1, ts2, it เราจะหาความเร็วก็ต้องใช้สูตร ใน shell script เราเขียนตรง ๆ อย่างนั้นไม่ได้ ต้องใช้ผ่านคำสั่ง expr (เก็บในตัวแปร speed) คราวนี้ เราต้องการรู้ด้วยว่า ใช้เวลาทำไปแล้ว กี่ชั่วโมง นาที วินาที คำสั่งนี้ ใช้ date -d แล้วใช้ @ ตามด้วยจำนวนวินาที ใช้คำสั่งนี้ หา จำนวนวินาที เก็บในตัวแปร ss แล้วใช้คำสั่งนี้ แปลงเป็น ชั่วโมง นาที วินาที เก็บในตัวแปร timelag สุดท้าย เอามารวมกันทั้งหมด แล้ว echo ออกไป ผลที่ได้คือ หวังว่าจะเป็นประโยชน์ครับ

Read More »

ในวันที่มหาวิทยาลัยไม่ใช้ Google แล้ว เรามีทางเลือกอะไรบ้าง

7-Eleven.2022 จาก Google App for Education -> G Suite for Education -> G Workspace for Education ที่ชูจุดขาย Unlimited Storage ทำให้เกิดการใช้งานกันอย่างกว้างขวาง และความสามารถของ Google Apps ในการทำงานพร้อม ๆ กันได้ ใช้งานกันมาอย่างยาวนาน ตั้งแต่ปี 2011 ถึงปัจจุบัน 2022 เป็นเวลา 11 ปี 11 ปี ที่อีกนัยยะหนึ่งคือ การคานอำนาจไว้ และแล้วก็มาถึงจุดที่ ไม่ Unlimited มาเป็น 80 GB/คน (บุคลากร) แต่ไม่จำกัดการใช้งาน Share Drive มาเป็น บุคลากรเหลือ 5 GB และจะไม่ให้ใช้ Shared Drive ซึ่งน้อยกว่า Free Gmail เสียอีก ก็เข้าใจนะ ว่าเกิดจากนโยบายของ Google ที่ให้ 100 TB ต่อ องค์กรการศึกษา ในขณะที่ทั้งองค์กรเราใช้งานกัน 1000 TB ด้วยจำนวนบุคลากรกว่า 10,000 คน, นักศึกษา 30,000 คน ไม่รวม Alumni, แต่เท่าที่ทราบมา องค์กรระดับ 10,000 users ขึ้นไป ทาง Google ให้ต่อรองขนาดที่จะให้ได้นะ แต่ก็ … แล้วแต่ผู้มีอำนาจจะตัดสินใจ ไม่ว่ากัน หลายคน หลายหน่วยงาน ก็ติดการใช้งานบริการของ Google อย่างช่วยไม่ได้ ไม่ได้ติดที่ “พื้นที่” แต่ ติดใจ “ความง่าย”, “ความสะดวกสบาย” ของการใช้งาน Google App, การที่จะบอกว่า “ย้ายไป Microsoft OneDrive” สิ มันอาจจะไม่ใช่คำตอบของทุกคน หลายคนใช้งาน Google เชิงลึก มีการเขียน Google App Scripts สร้างระบบบริหารงานภายในด้วย Google Sheets หรืออย่างทางทีมงานผม ประยุกต์ใช้งาน Google Sheets ติดต่อกับ Python/R ทำระบบ Automate กับหน่วยงานภายนอกมาตลอด คราวนี้ ทำไงดี คิดว่า คงจะมีหลายหน่วยงานก็ไม่มีปัญหาอะไร ย้ายไป OneDrive ก็ได้ แต่ก็จะมีบางหน่วยงานที่ ต้องการใช้ Google ต่อไป การซื้อ Storage บน Gmail ส่วนตัว ก็จะผูกพันกับตัว Account ดังนั้น ถ้าคิดจะซื้อ ขอแนะนำให้ซื้อ Google Workspace สำหรับองค์กร แบบจ่ายตังค์ เราเลือก Google Workspace Business Standard ซึ่งค่าใช้จ่ายอยู่ที่ 296 บาท/user/เดือน หรือ 3,552 บาท/user/ปี https://workspace.google.com/intl/th/pricing.html สิ่งที่ได้คือ บริการ “ใกล้เคียง” กับที่เราเคยได้ โดยมีพื้นที่ 2 TB เป็นส่วนกลาง มี Share Drive ให้ใช้ และการย้ายข้อมูลมา เราจะยังได้ File ID เดิมอีกด้วย !!! (สำคัญมาก เพราะทางผมเขียน Code ด้วย Python/R ผูกกับ File ID นี้) ข้อดีของการได้ Share Drive มา คือ เราสามารถบริหารจัดการพื้นที่ 2TB

Read More »