เริ่มต้นกับ Big Data กับ Python

หลังจากเป็นมือใหม่มาราวๆ 2 สัปดาห์ ก็พอจะมาบอกได้ว่ามันน่าจะเริ่มจากตรงไหนอะไรยังไงนะ เนื่องเพราะแฟนเรียน Big Data นั่นแหละ เราเลยต้องรู้ด้วย เนื่องจากเคนใช้ iMac เพราะงั้นทุกโปรแกรมที่ใช้ก็จะอิงจาก Mac เป็นหลักนะ ใครใช้ Windows ก็อาจจะต้องไปลองหาๆ เพิ่มเติมเอานะ จะพยายามพิมพ์เอาไว้เพื่อให้อ่านแล้วเ…

Selector สิ่งที่ต้องการ และ get ค่าที่ต้องการ

ใน Inpect Element ของ Web Browser โดยเขียนภาษา Javascript นั่นเอง ด้วยคำสั่ง querySelectorAll แต่ตัวคำสั่งเวลาไปหามันจะกลับมาในรูปแบบ NodeList ไม่ใช่ Array อ่ะ เลยต้องมาสั่งวนทีละตัว มันไม่สามารถเอามาแสดงค่าได้เลย เลยต้องทำแบบนี้ let links = document.querySelectorAll(“.classname or element tag selec…

รวบรวมสิ่งที่เรียนรู้เกี่ยวกับ Nuxt JS

กลับมาตั้งใจจะเขียน Nuxt JS อีกครั้ง เหมือนไปเล่น React และ Next JS ยังไงก็รู้สึกมึนๆ งงๆ อยู่ดี เลยมาลอง Nuxt JS ที่เรารู้สึกว่าง่ายกว่าดูก่อนละกัน สำหรับผู้เริ่มต้นก็มีคลิปสอนมากมายเลยนะ ลองดูหลายๆ คลิปดูก่อนเพื่อให้เกิดความเข้าใจ ของเคนเองก็ดูของหลายคนเหมือนกัน อันนี้จะเป็นของคุณ SaKKo sama เค้าส…

typegoose enum ต้องใส่ type ด้วย

ตอนนี้ decorator ตัว arrayProp มันถูกยกเลิกการใช้งานไปละ และให้ใช้รวมกับ prop ปกติแทน แล้วเราเรียน สร้างระบบ Authentication ด้วย JWT ตามคลิปของช่อง AmateurCoder ซึ่งเค้าสอนดีมากๆ แหละ แต่ตอนที่เค้าสอนกับตอนนี้มันมีอะไรเปลี่ยนแปลงอยู่บ้างนิดหน่อย อย่างที่เจอตอนนี้หลักๆ เลยคือตอนสร้าง enum ซึ่งของที่เ…

DataTables ซ่อนบาง Column ตามเงื่อนไขที่กำหนด

เอาโค้ดตัวเต็มไปตัดต่อเอาเองเน้อ แต่หลักๆ คือใช้ Event drawCallback ของตัว DataTables นะ let dataTables = $(‘#datatable’).DataTable({ ajax: { url: backofficeUrl + “manage/youtube/get_items”, type: ‘POST’, data: {} }, columns: [{ data: ‘id’, }, { data: ‘name’, visible: false, }, ], columnDefs: [{ tar…

คำสั่ง Scroll to Bottom ของ Javascript

อันนี้เอาไว้ใช้เล่นๆ ใน Console ของ Web Browser นะ ส่วนใหญ่เคนเอาไว้เลื่อนโหลดโพสต์ของเพจในปริมาณมากๆ คือขี้เกียจกด Page Down ทีละอันอ่ะ สั่งด้วย Javascript แล้วค่อยมาหยุดมันง่ายกว่า let scroller = setInterval(function() { document.documentElement.scrollTop = document.documentElement.scrollHeight; }…

วิธีออกจาก each ใน jQuery

ในการใช้ .each() บางทีเราก็ไม่ได้ต้องการให้วนครบทุกรอบจริงๆ เราเพียงแค่วนจนกว่าจะเจอแล้วก็ไปต่อหรือออกเลย วิธีทำก็ไม่ยากครับ แค่ใส่ return false; เข้าไป มันก็จะหลุดออกจาก .each() แล้วไปต่อ แบบนี้ let msg = ”; $(‘input[name^=input_sender_address_]’).each(function() { if ($(this).val().trim() == ”) …

DataTables Ajax แบบส่งค่า แต่อยากให้ค่าเปลี่ยนทุกรอบที่ส่ง

เนื่องจากตัว DataTables ถ้าไม่เขียนแบบพิเศษโดยเพิ่มเป็นฟังก์ชั่นเข้าไป เวลาทำงานถึงแม้เราจะบอกว่าให้ไป get จาก $(‘#element’).val() มันก็จะดึงแค่รอบเดียวนะ ถึงเราเปลี่ยนมันก็จะจำแค่ค่าที่มันดึงครั้งแรกสุด วิธีทำก็อย่างที่บอกคือใช้ฟังก์ชั่นอัดเข้าไปใน data แทนการใส่ค่าปกติแบบนี้ แล้วก็เคนใช้ร่วมกับ jQ…

DataTables รูปแบบการเขียนโค้ด Server-side

การทำในส่วนโค้ดของ Server-side ของ DataTables นั้นจะใช้ภาษาอะไรก็ได้ แต่ในตัวอย่างในโค้ดของเคนจะเป็นภาษา PHP และใช้อยู่ใน Codeigniter 3 นะ เพราะเคนใช้อันนี้เป็น Framework หลัก HTML ในส่วนนี้จะไม่ต้องทำอะไรมาก แค่สร้าง Table ใส่ Class ใส่ Id และกำหนดแค่ส่วน thead แค่นี้ก็โอเคแล้ว <table class=”tab…

Next.js Axios ตั้งค่า defaults config

ในขณะที่ create-react-app มี react-scripts ซึ่งช่วยให้การตั้งค่า Proxy ใน package.json เป็นไปอย่างง่ายดาย แต่ใน Next.js มันทำไม่ได้ ก็หาวิธีอยู่ตั้งนาน การเซ็ตค่าต่างๆ ของ Axios ใน Next.js นั้นต้องทำแบบ Manual ไม่สามารถให้มันดึงอัตโนมัติได้ ดังนั้นจึงต้องทำการสร้างไฟล์ตัวกลางมาเพื่อกำหนด defaults co…

Git หาย หลังจากอัปเดท macOS Catalina

หลังจากทำการอัปเดตมาเป็น Catalina ก็พบเจอ VS Code มันฟ้องว่าในเครื่องไม่มี git.path นะ ให้ติดตั้ง git ด้วย ซึ่งน่าแปลกใจเพราะคนใช้ macOS มันจะมี git ติดมาให้อยู่แล้ว แต่ไม่เป็นไรเรามาแก้ไขปัญหานี้กันดีกว่า ปัญหามันคือ ตัว XCode Command-line Tools มันต้องการการอัปเกรด วิธีการแก้ไข ทำการเปิด Terminal …

MySql นำเข้าฐานข้อมูลไม่ได้เพราะขนาดไฟล์เกิน

ในส่วนนี้จะต้องไปแก้ไขที่ไฟล์ php.ini ของตัวที่ใช้รัน Server ของเราครับ อย่างของเคนเองจะใช้เป็น XAMPP ก็จะง่ายหน่อย เพราะที่ตัวโปรแกรมมันจะมีปุ่มเมนู Config แค่กดแล้วเลือกแก้ไขไฟล์ php.ini มันก็จะขึ้น Notepad มาให้เลย จากนี้สิ่งที่เราจะต้องไปแก้ไขจะมี 2 ตัว คือ post_max_sizeupload_max_filesize ความต…

DataTables Group และ Sum

รวมกลุ่ม DataTables ให้แสดงผล ตัวอย่างจะเป็นการรวมกลุ่มตามวันที่ โดยที่ตอนแสดงจะแสดงผลแบบนี้ในตาราง IDวันที่สมัครUsername/EmailWallet Code พอรวมกลุ่มแล้วมันก็จะทำการตัดคอลัมภ์ของ วันที่สมัคร ออกไปรวมด้านบนแทน โดยโค้ดที่ใช้มี 2 ชุด คือแบบ แค่รวมกลุ่มธรรมดา และ รวมกลุ่มแบบนับจำนวนด้วยก็เลือกเอาเลยเนอะ…

แนะนำธีม VS Code

เป็นธีมที่เคนใช้เวลาหาใน Visual Studio Code ค่อนข้างนานมากๆ ต้องบอกก่อนว่าสายตาเคนเหมือนไม่ค่อยปกติ ถ้าใช้ Dark Theme แบบที่คนอื่นดูแล้วสบายตากันอ่ะ เคนจะมองไม่ค่อยเห็นเพราะมันมืดเกินไป ตาเคนมันจะไม่ค่อยโฟกัสกับธีมมืดแบบนั้น จะหาธีมสว่างๆ ก็บาดตาอีก แต่มันก็มีข้อยกเว้นอยู่บ้าง เช่น ธีมมืดที่ทำสีตัวอ…

CSS รูปภาพพื้นหลัง + จาง

background-image + opacity นั่นเอง หรือเรียกเป็นภาษาไทยก็น่าจะ ใส่รูปพื้นหลัง และทำให้มันจางๆ เป็นแบบเขียน CSS 1 div ได้เลย ไม่ต้องเขียนหลาย div ก็ต้องขอบคุณ StackOverflow อีกแหละ 555 .wave-bg { background-image: url(‘/assets/img/wave.png’); background-image: linear-gradient(to bottom, rgba(255, 255…

กว่าจะเข้าไป Debug Samsung Internet Browser ผ่าน Google Chrome ได้

ยากอิ๊บอ๋ายยยยย ไม่ได้ยากธรรมดา กว่าจะหาจนเจอวิธีที่ใช้ได้ แม่มก็โคตรยากกกกกกกก ของเคนเป็น Samsung Galaxy Note 9 อะ ส่วนของการเข้าถึงอาจจะไม่ตรงกับทุกคน แต่วิธีทำจะประมาณนี้แหละ ขอบคุณ StackOverflow อีกแล้วhttps://stackoverflow.com/a/57524521 วิธีทำ เปิด USB Debugging (การแก้ไขข้อบกพร่อง USB) บนมือถ…

registerElement ถูก Deprecated ให้ไปใช้ customElements.define แทน

ในช่วงที่ผ่านมาก็มีประกาศจากทาง Google Chrome ว่าจะยกเลิกการใช้ตั้งแต่ช่วงเดือนมีนาคม 2019 แต่ถามว่าเคนเห็นไหม?…ก็ไม่…เพิ่งมาเห็นหลังจากมันประกาศมา 4 เดือน ก็คือตอนนี้ โดยที่ตัวเคนเองอ่ะไม่ได้เขียนหรอก แต่สคริปต์ที่เอามาใช้เค้าเขียนเอาไว้น่ะสิแบบนี้ l.registerElement(“vakata-jstree”, { prototype…

Ubiquity – PHP Framework ที่เร็วแรงสุดตอนนี้ (2019/07)

เคนไม่ได้กล่าวไว้ แต่ PHPBenchmarks.com เค้าบอกมา! PHPBenchmarks.com คือ เคนก็เพิ่งรู้จักเค้าเหมือนกัน เหมือนจะเป็นเว็บที่รวบรวมจัดอันดับความแรงของ PHP Framework ไว้ให้เราดูกันว่า ตอนนี้ตัวไหนแรงอยู่อันดับที่เท่าไหร่แล้ว เข้ามาหน้าเว็บเค้าก็จะมีชาร์ตให้ดูแบบนี้เลย ซึ่งก็ดันไปสะดุดว่าไอ้ตัว Ubiquity …

วิธีเขียน Cronjobs ใน DirectAdmin ของ Codeigniter

Cronjobs มันก็ไว้กำหนดวันที่เวลาว่าเราจะรันไฟล์ตัวนี้เวลาไหน วันที่เท่าไหร่ แต่บางคนอาจจะงงๆ ว่าแล้วใน Php Codeigniter มันกำหนดยังไง แตกต่างกับตัวอื่นไหม? จริงๆ ก็ไม่นะ…(มั้ง) อ่ะ…ไปดูหน้าตาตัวจัดการ Cronjobs ใน DirectAdmin กันก่อน โดยมันจะมีส่วนกำหนดเวลา และคำสั่ง กับส่วนรายการที่เคยสร้างแล้ว ป…

ความกวนตีนของ ESLint/Prettier – Missing space before function parentheses

ต้องตะโกนดังๆ ว่า มึงกวนตีนกูอยู่ใช่ไหมมมมมมมมมมมมมมมมม เคนเป็นมือใหม่หัดใช้ ESLint กับ Nuxt.js ตอนนี้เหมือน Nuxt.js จะอัพเดทเวอร์ชั่นใหม่ ทำให้เคนติดตั้งด้วย Template ตอนนี้มันก็เหมือนได้กฎใหม่ของ ESLint มาด้วย ซึ่งกฎตัวนี้ค่อนข้าง…กวนตีน!!! ไปดูตัวอย่างโค้ดดีกว่าจะได้รู้ว่ากวนตีนยังไง! export de…

เริ่มต้นเรียนรู้การใช้ Vue.js ด้วย Nuxt.js มันง่ายกว่าจริงแฮะ

ใครเป็นเหมือนเคนไหมอะ เหมือนเติบโตกับการเขียนโปรแกรมแบบตัวเดียวจบ (Decoupled) คือไม่มีการแยก Frontend/Backend เป็นแบบตัวเดียวเลย ทีนี้พอถึงยุคนี้ที่เน้นการแยกระหว่าง Frontend กับ Backend ขึ้นมา เคนเองในส่วนของ Backend อะ ไม่มีปัญหาใดๆ เลย เพราะมันก็ทำเหมือนที่เราเคยทำมา และเคยชิน แต่พอไปจับ Frontend…