Karn Tirasoontorn

August 15, 2021

Event.target ที่ส่งออกมาผิดเมื่อใช้ SVG บน Button

จากที่ได้เปลี่ยนจากการใช้ Font Icon มาใช้ SVG แทนในการแสดงไอคอนบนปุ่ม เมื่อเรา addEventListener ให้กับปุ่ม และตรวจสอบ target ของ event ที่พ่นออกมา ปรากฏว่าแทนที่จะได้ target เป็นปุ่มที่เรากด กลับกลายเป็น svg หรือไม่ก็ path ของรูปซะงั้น แต่ถ้าเรากดที่ขอบๆ หน่อยก็จะได้ target เป็นปุ่มที่ถูกต้อง เมื่อไปค้นหาดูก็พบบทความ Managing SVG Inter...
Read more

August 12, 2021

PostgreSQL: เมื่อจะลบฐานข้อมูลแล้วลบไม่ได้เพราะ There is 1 other session using the database

หลายครั้งที่พยายามจะลบฐานข้อมูลเก่าๆ ของ Postgresql ที่อยู่ในเครื่องแล้วลบไม่ได้ เนื่องจากมี error พ่นออกมาบอกว่ามี session กำลังใช้งานฐานข้อมูลนี้อยู่ ทั้งๆ ที่เราก็มั่นใจว่าไม่ได้เชื่อมต่อกับฐานข้อมูลดังกล่าวแล้ว และทุกครั้งก็ใช้วิธีง่ายๆ คือการรีสตาร์ท PosgreSQL แล้วกลับไปลบฐานข้อมูลใหม่ แต่วิธีการนี้ทำให้การเชื่อมต่อฐานข้อมูลอื่นๆ ...
Read more

July 26, 2021

multi-stage ช่วยลดขนาดของ Docker Image ได้

เมื่อการติดตั้งโปรแกรมสำหรับ production ด้วย docker กลายเป็นสิ่งที่หลีกเลี่ยงไม่ได้ เนื่องด้วยแวดล้อมในการติดตั้งไม่ว่าจะต่อ internet ไม่ได้บ้าง ความต้องการของผู้ดูแลเรื่องระบบเครือข่ายบ้าง ทำให้ docker น่าจะเป็นทางออกที่ดี การสร้าง dockerfile ในช่วงแรกๆ เรียกได้ว่า copy จากคนอื่นมาล้วนๆ เพื่อให้โปรแกรมสามารถใช้งานก่อน จากนั้นจึงค่อยๆ ...
Read more

July 25, 2021

ปล่อยให้ข้อมูลค่อยๆ โหลดเมื่อถึงเวลา (Lazy Loading)

การแสดงผลข้อมูลประเภทกราฟต่างๆ ในหน้า dashboard ถ้ามีจำนวนไม่กี่กราฟ Query ที่ใช้ก็คงมีไม่กี่ชุด การรอดึงข้อมูลให้ครบก่อนแล้วจึงจะนำไปแสดงผลอาจจะไม่ทำให้ UX ของผู้ใช้งานรู้สึกแย่สักเท่าไหร่ เพราะคงใช้เวลาไม่กี่วินาที แต่เมื่อไหร่ก็ตามที่จำนวนกราฟมากขึ้น เงื่อนไขที่ใช้มากขึ้น Query ที่ใช้ก็ย่อมมีหลายชุดตามไปด้วย ทั้งนี้ย่อมส่งผลให้เวลาใ...
Read more

July 20, 2021

ผูกผู้ใช้งานหลังบ้านของ Rails เข้ากับผู้ใช้งานของ LINE

ช่วงนี้ได้ศึกษาเกี่ยว LINE Front-end Framework หรือ LIFF ก็มาเจอประเด็นการผูกบัญชีผู้ใช้งานหลังบ้านของ Rails กับผู้ใช้งานของ LINE จะทำอย่างไรได้บ้าง ในเมื่อในฝั่งหลังบ้านเกิดใช้ข้อมูล username และ email ไม่ตรงกับข้อมูล username และ email ที่เราใช้ใน LINE จากตัวอย่างสมมติว่าโปรแกรมที่ใช้ภายในองค์กร ซึ่งผู้ใช้งานได้ลงทะเบียนไว้โดยใช้ use...
Read more

July 20, 2021

เพิ่ม Loading Spinner ให้กับปุ่ม Submit

ใน Rails จะมีความสามารถที่จะป้องกันไม่ให้เรากด submit ข้อมูลซ้ำไปยัง Server ได้โดยใช้ data-attribute ที่ชื่อว่า `data-disable-with` ดังแสดงในตัวอย่างโค้ดด้านล่าง หรือจะเข้าไปดูรายละเอียดได้ที่ automatic-disabling ตรงจุดนี้เองเราสามารถเปลี่ยนการแสดงข้อความให้เป็น Loading Spinner แทนได้โดยการใส่ tag ที่เป็นไอคอนหรือภาพเข้าไปแทนได้ # logi...
Read more

June 22, 2021

เมื่อต้องนำ Stimulus มาใช้บน Django

ติดตั้ง Stimulus บน Rails ก็แล้ว บน Sinatra ก็แล้ว ซึ่งทั้ง 2 ล้วนเป็นเว็บเฟรมเวิร์คในฝั่ง Ruby คราวนี้ถ้าต้องมาเจอโจทย์ที่จะต้องทำการกับเว็บเฟรมเวิร์คในฝั่ง Python อย่างเช่น Django กันบ้างหละ สำหรับ Django ไม่ได้มีเครื่องมือจำพวก transpiler หรือ bundler ไฟล์ JavaScript อย่างเช่น Webpack, Rollup หรือ Parcel มาด้วย ดังนั้นทำให้เรามีอิสร...
Read more

June 18, 2021

ลองใช้ Factory Bot แทน Fixtures ดู

ปกติแล้วโปรเจค Rails ใหม่ๆ ที่ถูกสร้างขึ้นมาจะติดตั้ง minitest เป็นเฟรมเวิร์คในการทดสอบตั้งต้น และใช้ fixtures ในการสร้างข้อมูลตัวอย่างทดสอบ ติดตั้ง Factory Bot ให้กับโปรเจค • เพิ่ม `factory_bot_rails` เข้าไปใน Gemfile group :development, :test do gem 'factory_bot_rails' end • อย่าลืม bundle install ลงมือทดสอบ • ลองสร้างโมเดล User ขึ้น...
Read more

June 14, 2021

[อ่านมาเล่า] Makoto Marketing การตลาดแบบจริงใจสไตล์ญี่ปุ่น #2

จาก [อ่านมาเล่า] Makoto Marketing การตลาดแบบจริงใจสไตล์ญี่ปุ่น #1มาต่อบทที่ 6 กันเลย ไม่อ้างว่า อุตสาหกรรมนี้ตายแล้ว ในยุคที่ธุรกิจสามารถ disrupt ได้ตลอดเวลา การคงอยู่ของธุรกิจหนึ่งเริ่มเกิดความไม่มั่นคง ทำให้ต้องมองหาหนทางเพื่อเปลี่ยนแปลงธุรกิจไปเป็นอย่างอื่น นั้นอาจเป็นทางออกก็จริงแต่อย่าลืมว่าธุรกิจของเราได้หายไป หากเราอยากรักษาธุรก...
Read more

June 14, 2021

[อ่านมาเล่า] Makoto Marketing การตลาดแบบจริงใจสไตล์ญี่ปุ่น #1

ว่ากันด้วยเรื่องการตลาดแล้ว โดยส่วนตัวนั้นเรียกว่าไม่รู้อะไรเลย และถ้าเกิดเรามีผลิตภัณฑ์สักชิ้น หรือบริการใหม่ๆ สักอย่างเราจะทำการตลาดได้อย่างไร ทั้งนี้ได้มีโอกาสได้ซื้อหนังสือ Makoto Marketing (หลักสูตรการตลาดแบบจริงใจสไตล์ญี่ปุ่น) โดย ดร. กฤตินี พงษ์ธนเลิศ (เกตุวดี Marumura) มาอ่านเพื่อศึกษาเกี่ยวกับเรื่องการตลาดสักหน่อย จากหน้าปกหนั...
Read more

See more posts »