วิธีซ่อนลิงค์เวลาพิมพ์เว็บเพจออกจากเครื่องปริ้น

หลายคนเวลาต้องการจะปริ้นหน้าเพจของเว็บใดๆ มักจะประสบปัญหาว่าเมื่อสั่งปริ้นออกมาแล้ว ติดลิงค์เว็บและข้อมูลอื่นๆ ที่ไม่ได้ต้องการออกมาด้วย ที่บริเวณหัวและท้ายกระดาษ ดังรูป

ตัวอย่างการปริ้นที่ติดข้อมูลส่วนเกิน เช่นลิงค์เว็บบริเวณหัวและท้ายกระดาษ

ซึ่งสาเหตุที่เกิดเป็นเพราะตัว Internet Browser กำหนดว่าให้ใส่เป็นค่าตั้งต้น เพื่อป้องกันผู้ใช้ลืมว่าปริ้นจากที่ใดวันที่เท่าไหร่ ซึ่งเราสามารถปิดได้ดังนี้ (ตัวอย่างนี้ข้อใช้ Internet Explorer 11 นะครับ เข้าใจว่า 8 9 10 11 12 ใช้เหมือนกัน)

วิธีแก้ปัญหา

  1. บริเวณมุมขวาบนจะมีรูปเฟืองอยู่ ให้กดรูปเฟืองแล้วตามด้วย Print > Page Setup ตามลำดับ (ถ้ามุมขวาไม่มี ให้ไปหาจากเมนู File แทนนะครับ)
    บริเวณมุมขวาบนจะมีรูปเฟืองอยู่ ให้กดรูปเฟืองแล้วตามด้วย Print > Page Setup ตามลำดับ
  2. จะมีหน้าต่างขึ้นมาดังรูป
    ค่าตั้งต้นเมื่อสั่งปริ้นหน้าเว็บให้เราแก้ในส่วนของ Headers and Footers ตามต้องการ โดยจากบนลงล่างหมายถึงตำแน่งที่จะพิมพ์ข้อมูลออกมา ไล่จาก ซ้าย กลาวง ขวา หากไม่ต้องการให้มีข้อความใดๆให้เลือก Empty ดังรูปต่อไปนี้
    รูปแสดงการตั้งค่าให้ไม่แสดงข้อมูลส่่วนเกินในหน้าเพจ
  3. หลังจากนั้นสั่งปริ้นตามปกติได้เลยครับ จะไม่มีหัวและท้ายกระดาษมากวนใจอีกต่อไป
    ผลลัพธ์จากการปรับแต่ง

 

Script สำหรับ Backup ข้อมูล ย้อนหลัง 7 วัน

อันนี้เป็น Script สำหรับ Backup ข้อมูลผ่าน rsync โดย Backup ย้อนหลัง 7 วัน (สามารถปรับได้)

สิ่งที่ต้องเตรียมก่อนใช้

  1. Linux/Unix Only
  2. ติดตั้ง rsync
  3. เครื่อง Backup ต้องสามารถ SSH Without Password เข้าเครื่องเป้าหมายได้ (ลองอ่านอันนี้ หรืออันนี้ดูครับ)
  4. เครื่อง Backup ต้องติดตั้ง PHP (ไม่จำเป็นต้องมี Apache)
  5. เครื่องเป้าหมายควรมี MySQL Tools (พวก mysqldump เป็นต้น) ในกรณ๊ต้องการสำรองข้อมูลจาก MySQL

Script ที่ใช้

อธิบายคำสั่ง

บรรทัดที่ 1 – 14 เป็นการตั้งค่าเครื่องเป้าหมาย ว่าจะ backup จาก host ใดและ path ใด ข้อมูลการเข้าถึง Database และจำนวนวันที่ backup ย้อนหลัง โดยสามารถตั้งวันที่ backup สูงสุดได้ในบรรทัดที่ 14

บรรทัดที่ 16-19 เป็นการตั้งค่าว่าจะไม่ backup file ใด้บ้าง เช่นพวก cache เราอาจจะไม่ backup เป็นต้น

บรรทัดที่ 21-22 เป็นการสั่ง backup ฐานข้อมูล ให้ออกมาเป็น file.sql

บรรทัดที่ 24 เป็นการสั่งคัดลอก folder เมื่อวาน แบบ Hardlink มาเป็นโฟลเดอร์วันที่ปัจจุบัน โดยการทำ Hardlink จะช่วยประหยักเนื้อที่ได้มากในกรณีที่ไม่เปลี่ยนแปลง เช่นถ้าเราสั่งคัดลอก a.zip ขนาด 1GB ไปเป็น b.zip แบบ Hardlink ขนาดที่จะถูกใช้บน Harddisk จะถูกใช้แค่ 1GB เท่านั้น ไม่ใช่ 2GB แบบปกติ เพราะไฟล์เก็บที่เดียวกัน (อ่านเพิ่มเติมได้ที่นี่)

บรรทัดที่ 26-29 เป็นการสร้าง exclude parameter หรือก็คือเอา บรรทัด 16-19 มาแปลงให้ rsync เข้าใจได้

บรรทัดที่ 31 เป็นการสั่ง rsync จากต้นฉบับมาโฟลเดอร์ปัจจุบัน โดยจะดึงเฉพาะไฟล์ที่มีการเปลี่ยนแปลงหลังจากเมื่อวานเท่านั้น ทำให้ Backup ได้อย่างรวดเร็ว

บรรทัดที่ 33-35 คือสั่งให้ลบโฟลเดอร์ backup ที่เกิน 7 วันทิ้ง

คำแนะนำอื่นๆ

อย่าใช้ script นี้ผ่าน http เพราะมันจะ timeout ให้ตั้ง cronjob เป็นประมาณ php backup.php

ในกรณที่ MySQL เราใช้แต่ InnoDB และไม่มี MyISAM สามารถเอาบรรทัดที่ 21 ออกได้ (บรรทัด mysqlcheck) เพราะ check ไปก็ทำไรไม่ได้ InnoDB ไม่ Support

ในบรรทัดที่ 22 เราจะเห็นว่ามี –lock-tables=false ซึ่งหมายถึงเราจะไม่ lock table ในการเขียน ซึ่งทำให้เว็บสามารถทำงานได้ปกติตอน dump ข้อมูลออก แต่ข้อมูลที่ได้อาจจะไม่ตรงกัน เช่น table a ถึก dump เสร็จแล้ว ในระหว่างที่ dump table b ออกมา มีการเขียนที่ table a และ c ซึ่ง table c ต้องใช้ข้อมูลจาก table a แบบนี้จตะเกิดปัญหาได้ เพราะ table c ที่ถูก dump มีข้อมูลบางอย่างที่ต้องพึ่ง table a แต่ตอน dump table a ตัว table a ยังไม่มีข้อมูลนั้น ทางแก้มี 2 แบบ

  1. ตั้ง –lock-tables=true
  2. ในกรณีที่มีแต่ InnoDB ให้ใช้ –single-transaction แทน

 

 

 

เทคนิคลดโฆษณาแบบวิดีโอที่แทรกใน Youtube

หลายคนคงเบื่อกับโฆษณาที่ชอบขึ้นมาแทรกตอนเวลาเราดูคลิปวิดีโอต่าง ๆ บน Youtube บางครั้งอาจจะขึ้นเวลาฟังเพลงแบบ Playlist ต่าง ๆ ทำให้ต้องเสียเวลามากดข้าม หรือรู้สึกหงุดหงิด หลายคนก็จะใช้ Adblock (หาวิธีเอาเองไม่ขอลงลิงค์นะครับ) ในการปิดโฆษณาต่าง ๆ แต่จากบางที่บอกว่าการใช้ Adblock อาจจะทำให้เจอโฆษณาแบบข้ามไม่ได้แทน (ที่มา)

หลังจากผมพยายามเลี่ยงการใช้ Adblock กับหลายเว็บ เพื่อให้ผู้สร้างสรรค์เนื้อหาสามารถสร้างรายได้ได้ตามปกติ แต่ก็ยังไม่ชอบโฆษณาแบบวิดีโออยู่ดี ก็ได้ลองปรับไปเรื่อย ๆ จนพบวิธีที่ทำให้โฆษณาแบบวิดีโอน้อยลง เหลือแต่โฆษณาแบบแบนเนอร์เล็ก ๆ บนวิดีโอแทน โดยจะแสดงประมาณนี้แทน
ตัวอย่างโฆษณาแบบแบนเนอร์บน Youtube

ขั้นตอนการทำ

  1. เราต้องเข้าสู่ระบบใน Youtube ก่อน ถ้าไม่มีปัญชีก็สร้างซะ
  2. ให้เราเข้าไปที่นี่ https://www.google.com/settings/u/0/ads/authenticated
  3. เราจะเจอหน้าจอจัดการโฆษณาที่เราสนใจ ให้เรากด View 268 More Interests (ตัวเลขอาจจะเปลี่ยนไป ไม่เหมือนกันในแต่ละคน)
    หน้าจอจัดการความสนใจโฆษณา
  4. หลังจากเรากดแล้ว ให้เรากดทำเครื่องหมายถูกออก ให้เหลือเฉพาะอันที่เราสนใจจริง ๆ เท่านั้น เพื่อลดโฆษณา ก็อยากให้ทำแบบนั้น แต่ให้เราจำไว้ครับว่าโฆษณาหมวดไหนมีวิดีโอเยอะ ๆ ก็ให้เอาออกไปด้วย เช่น Snack Foods, Perfumes & Fragrances, Beauty & Fitness เป็นต้น ซึ่งเราจะเอาอันไหนออก ต้องพิจารณาเอง โดยเราควรจะเลือกเฉพะาหมวดที่มีโฆษณาแบบแบนเนอร์อย่างเดียว เช่นพวก Social Network เป็นต้น และเอาหมวดที่มีโฆษณาแบบวิดีโอออกให้เยอะที่สุด และห้ามเอาออกหมด หรือเหลือน้อย เพราะถ้าเอาออกหมด มันจะสุ่มจากสถานที่ปัจจุบันที่เราอยู่แทน ซึ่งโอกาศโดาโฆษณาแบบวิดีโอสูง อันนี้เป็นตัวอย่างที่ผมเลือก (ถ้าเลือกตามนี้ไม่ค่อยเจอแบบวิดีโอ นาน ๆ Udemy จะจัดโปรที)
    ตัวอย่างการหมวดเลือกโฆษณา
  5. หลังจากนั้นก็ไปลองเข้า Youtube แล้วดูว่ายังมีอยู่ไหม ลองปรับไปเรื่อย ๆ ครับ จะเลี่ยงได้เยอะพอสมควร และหมั่นเข้ามาเช็คบ่อย ๆ บางที Youtube ก็แอบเพิ่มให้เราเองครับ

Cache ทุกคำแปลของ Visual Novel Reader

เป็นวิธีแก้ไข Visual Novel Reader ให้สามารถ Cache คำแปลต่างๆ ที่แปลจาก Google Translator หรือ Bing Translator ได้ โดยตัว Visual Novel Reader นี้เป็น Open Source แต่ไม่มี Source Version Control อย่างพวก SVN หรือ Git (จริงๆ เข้าใจว่ามันใช้ Hg นะ มันคืออะไรไม่รู้เห็นตอน Update และเข้าใจว่าไม่เปิด public) ทำให้ไม่สามารถ pull request ได้ (ถึงทำได้ ก็ไม่ทำ code กาก 55+)

เป้าหมายที่อยากทำคือบางครั้งกลับมาเล่นเกมส์ซ้ำมันแปลไม่ได้ หรืออยากไป route อื่น แต่ข้อความมันซ้ำ ก็ไม่รู้จะต้องไปแปลอีกทำไม บางครั้งเน็ตกากก็รอไปเถอะ โดยปกติตัว Visual Novel Reader จะ Cache ไว้ประมาณ 10-20 คำล่าสุดอยู่แล้ว แต่ถ้าปิดโปรแกรมหาย เลยต้องปรับมันสักหน่อย

ข้อควรระวัง

  1. ไม่รับประกันผล เพราะถ้ามีความรู้ Programming ระดับนึงจะเห็นว่า ผมไปทำให้มัน Clear cache ไม่ได้ เพราะผมไม่ให้มันทำ
  2. ถ้า Ram น้อย อาจจะตายได้ ผมไม่รู้เหมือนกันว่ามันกินเท่าไหร่ แต่ผมกำหนดให้เก็บเรื่อยๆ ไม่มี clear ไม่มีตัด
  3. ผมเขียนให้ตังเองใช้ ดังนั้นขอไม่อธิบายเยอะนะครับ

ขั้นตอนการทำ

แก้ไฟล์ดังต่อไปนี้

  • Library\Frameworks\Sakura\py\apps\browser\managers\_trman.py
  • Library\Frameworks\Sakura\py\apps\reader\managers\_trman.py

(ถ้าเดาจากชื่อ แก้แค่อันล่างก็พอ ก็ได้)

หา class TranslationCache แล้วแทนที่ด้วย code ดังต่อไปนี้

ด้านล่างตรงนี้เป็นของเก่า ไม่ใช้แล้ว

เพิ่ม Code นี้ไปแถวๆส่วนที่เค้า import กัน

หา class TranslationCache แล้วแทนที่ด้วย code ดังต่อไปนี้

ปิด Visual Novel Reader เปิดใหม่ ก็ได้แล้ว ต่อไปมันก็จะ cache ตลอดแล้ว

แนะนำโปรแกรม Kanji Tomo

Kanji Tomo คืออะไร

Kanji Tomo เป็นโปรแกรม OCR ประเภทหนึ่ง ความสามารถของมันคือจับภาพหน้าจอปัจจุบัน และยายามตรวจจับว่าตำแหน่งของเมาส์ที่เราชี้อยู่นั้นเป็นตัวอักษรญี่ปุ่นหรือไม่ และเป็นคำว่าอะไร (แค่คำนะ ไม่ถึงกับประโยค) ซึ่งช่วยให้เราสามารถพยายามแปลต่อไปได้ว่าคำนั้น หรือปุ่มนั้นคืออะไร

หากใครคุ้นกับ Visual Novel Reader (คืออะไร อ่านได้ที่นี่) มาคงจะทราบกันว่า หลายๆเกมส์มันแปลปุ่มไม่ได้ เพราะปุ่มมันดันเป็นภาพ ไม่ใช่ตัวอักษร โปรแกรมนี้ช่วยได้ในระดับนึง คือเอาตัวภาพมาพยายามแปลงเป็นตัวอักษร ในกรณีที่แปลงไม่ได้ทั้งหมด ก็ยังมีตัวช่วยให้เราพยายามหาคำต่อไปได้

วิธีติดตั้ง Kanji Tomo

  1. ก่อนอื่นต้องดาวโหลดก่อน โดยเข้าไปที่นี่ แล้วกด Download แล้วกดตัวหนังสือสีฟ้าๆที่เขียนว่า “can be downloaded here”
  2. เนื่องจากตัวโปรแกรมนั้นต้องการใช้ Java จึงจำเป็นต้องโหลดมาลงก่อน (มีแล้วข้ามไปเลย) สามารถดาวโหลดได้จากที่นี่  เข้าไปกด Download ตรง JDK กด Accept License Agreement แล้วก็กดโหลดตามเวอร์ชันที่ต้องการเลยครับ วิธีลงก็เปิดแล้วกด next รัวๆได้เลยครับ
  3. แตกไฟล์ตัว KanjiTomo.zip ออกมา
  4. เปิดตัว launch.bat ในการเปิดครั้งแรกต้องรอมันประมวลอะไรต่างๆสักพักนึง

วิธีใช้ Kanji Tomo

วิธีใช้ง่ายมากๆครับ แค่เปิดตัว Kanji Tomo ขึ้นมา จากนั้นเปิดเกมส์ที่ต้องการขึ้นมา แล้วเอาเมาส์ไปชี้ตรงคำที่ต้องการครับ จะได้ประมาณนี้ครับ
เปิด Kanji Tomo แล้วเอาเมาส์ชี้ใส่ในส่วนที่ต้องการแปลจะเห็นว่ามันสามารถแปลงภาพมาเป็นตัวอักษรได้ แล้วมี Dictionary ในตัวคอยแปลว่ามันหมายถึงอะไร ส่วนเรื่องที่มันแปลงภาพมาเป้นตัวอักษรได้มากน้อยแค่ไหนขึ้นอยู่กับหลายปัจจัย เช่นสีภาพกับสีพื้นหลังไม่กลืนกัน สีพื้นหลังเรียบหรือไม่เป็นต้น

ในกรณีที่มันดึงมาได้ไม่ครบเช่นมี 3 ตัวดึงมาได้ 2 ตัว ให้ลองกลับมาดูที่ตัวแปรแกรมครับ ที่มันมีอยู่ 4 ช่องคือตัวหนังสือแต่ละตัว ถ้ามันดึงมาได้ 3 ตัว ช่องที่ 3 จะมีเฉพาะตัวที่สามารถนำมาต่อแล้วประกอปเป็นคำได้ ที่เหลือก็ต้องใช้ตาเราดูแล้วว่ามันคือตัวไหนครับ

ความจริง Kanji Tomo มีอีกหลายอย่างให้เล่นลองเล่นดูได้ครับ เช่น Zoom เฉพาะส่วนที่ต้องการหรืออะไรประมาณนี้ครับ