Technology

ไวรัสในเครื่องท่านได้แต่ใดมา?

หลายๆคนอาจจะเคยได้ยินได้ฟังมาว่า เครื่องมีไวรัส!  บางคนก็อาจจะได้มีประสบการณ์ด้วยตัวเองมาแล้ว แต่จริงๆแล้วสิ่งนั้นเรียกรวมๆว่า malware (Malicious Software)  ซึ่งหมายถึงซอร์ฟแวร์ที่ประสงค์ร้ายต่างๆ ซึ่งไวรัสก็เป็นหนึ่งในนั้นเช่นกัน แต่!!! จริงๆแล้วที่เราเห็นมี popup เปิดขึ้นมา หรือ เปิด brower แล้วมีแถบโฆษณานั้น ไม่ใช่ไวรัสนะ  แต่คืออะไร มากจากใหน  เราจะได้รู้กันต่อไป  ซึ่งก่อนที่จะไปถึงจุดนั้น  เรามารู้ก่อนว่า malware แต่ละแบบใหนมีอะไรบ้าง ต่างกันอย่างไร และจะป้องกันได้อย่างไร ประเภทของ Malware –  ไวรัส(virus) เป็นชื่อที่เราคุ้นเคยกันดี ไวรัสเป็นโปรแกรมที่ไม่หวังดีชนิดหนึ่ง สามารถแพร่ไปกับไฟล์ ไปยังอีกเครื่องหนึ่งได้ โดยจะต้องอาศัยไฟล์ที่เป็นพาหะ ซึ่งผลของไวรัสขึ้นอยู่กับผู้ที่เขียนไวรัสว่าจะให้ทำสิ่งใด ไม่ว่าจะเป็นการ ขโมยข้อมูล ทำลายข้อมูล หรือกระทั่งทำลายเครื่องให้ไม่สามารถทำงานได้เลย  ซึ่งclassic virus นั้นในปัจจุบันแทบไม่เจอตัวใหม่ๆแล้ว วิธีการป้องกัน : ติดตั้ง Anti-virus –   แอดแวร์หรือสปายแวร์(Adware / Spyware) เน้นๆกับหัวข้อนี้เลย!!! แอดแวร์เป็นมัลแวร์ประเภทหนึ่งที่อาจจะไม่คุ้นหูมาก แต่จริงๆแล้วผู้คนส่วนมากมักโดนและคิดว่าเป็นไวรัส แอดแวร์ไม่ได้ทำให้เครื่องใช้งานไม่ได้ …

ไวรัสในเครื่องท่านได้แต่ใดมา? Read More »

Google Map API / Geolocation

Geolocation   เป็นการระบุพิกัด latitude, longitude ในแผนที่ภูมิศาสตร์หรือพิกัดของโลก ด้วยคำสั่ง javascript  โดยผ่านเครื่องมือที่สามารถต่อเชื่อมต่ออินเตอร์เน็ต ความแม่นยำขึ้นอยู่กับอุปกรณ์ที่ใช้เปิดเว็บไซต์ เช่น โทรศัพท์มือถืออย่าง android, iphone จะมี gps ให้ใช้ และ gps นี้จะช่วยให้ระบุพิกัดได้อย่างแม่นยำมาก โค้ดสร้าง Google map / geolocaion บน web application <!DOCTYPE html> <html>   <head>     <title>Geolocation</title>     <meta name=”viewport” content=”initial-scale=1.0, user-scalable=no”>     <meta charset=”utf-8″>     <style>       html, body {   …

Google Map API / Geolocation Read More »

Decorator pattern Ruby

ในการเขียนโปรเเกรมเชิงวัตถุ decorator pattern เป็น design pattern ที่ช่วยให้พฤติกรรมที่จะเพิ่มในแต่ละ วัตถุ ทั้งแบบคงที่หรือแบบไดนามิกโดยไม่มีผลต่อการทำงานของวัตถุอื่นๆ จาก class เดียวกัน Stucture Component  กำหนดการทำงานสำหรับวัตถุที่สามารถเพิ่มให้หน้าที่การทำงานได้แบบไดนามิก ConcreteComponent  สามารถเพิ่มการทำงานสำหรับวัตถุ  ที่สืบทอดมาจาก Component Decorator เป็น Class ที่สืบทอดมาจาก Component และภายในยังมี Object ที่สืบทอดมาจาก Component ConcreateDecorator เพิ่มการทำงานไปยัง Component  ที่สืบทอดมาจาก Decorator อีกทีหนึ่ง โค้ดตัวอย่าง ภาษา Ruby [code] class Chicken # คลาส Chicken def initialize # constructer @cost = 10 end def cost @cost end end …

Decorator pattern Ruby Read More »

Ruby caching

เขียนโดย วุฒิไกร ลิ่มสกุล :: 04 สิงหาคม 2558         ruby caching คือการจัดเก็บ output ไว้เป็น file โดยจะทำการบันทึก ในรูปแบบของ html โดยค่าตั้งต้นจะเก็บไว้ที่ public/ ซึ่งเราสามารถที่จะปรับเปลี่ยนตำแหน่งได้ เมื่อมีการร้องขอข้อมูล ของ file ที่มีอยู่ในแคชที่จัดเก็บไว้มันก็จะวิ่งเข้ามาที่ ไฟล์ที่จัดเก็บเป็นแคชไว้แทน ที่จะวิ่งไปที่เราเรียกหาไฟล์เช่น ฐานข้อมูล ruby caching จะช่วยลดภาระการทำงานของ server ลงได้มาก เช่น แทนที่จะต้องร้องขอข้อมูลจาก ฐานข้อมูล ก็เปลี่ยนไปเป็นการเรียกข้อมูลจาก cache file แทน ช่วยในการ แสดงผลที่รวดเร็ว เป็นต้น การใช้งาน ruby caching ก็มีหลากหลายรูปแบบที่ ruby มีให้ใช้ เช่น ActiveSupport::Cache::Store ActiveSupport::Cache::MemoryStore ActiveSupport::Cache::FileStore …

Ruby caching Read More »

background job

Background Jobs ด้วย Active Job ของ Rails

โดย แสงเดือน จันทร์ใหม่ – 3 สิงหาคม 2558 Background Jobs คืออะไร Background Jobs คือการทำงานของ process ใดๆ ที่เราต้องการ ให้ดำเนินการอยู่เบื้องหลัง หรือสามารถทำงานไปพร้อมๆ กับการทำงานของระบบที่ผู้ใช้สัมผัส หรือสามารถอธิบายอีกนัยหนึ่งคือ ในขณะที่ผู้ใช้มองเห็นการทำงานต่างๆ ผ่านหน้าจออยู่นั้น เบื้องหลังจะมีบาง process กำลังดำเนินการอยู่ โดยไม่รบกวนการทำงานของผู้ใช้ ดังนั้นข้อดีของ Background Jobs คือ สามารถจัดการการทำงานบาง process ที่อาจล่าช้า ให้ทำงานอยู่เบื้องหลัง เพื่อไม่ให้การแสดงผลต่อ user เกิดการล่าช้า หรือ user friendly นั่นเอง มีการทำงานเป็น parallel ทำให้สามารถทำงานที่ไม่ขึ้นต่อกันพร้อมๆ กันได้ ซึ่งส่งผลให้ระบบมีประสิทธิภาพมากยิ่งขึ้น Active Job คืออะไร Active Job เป็น framework หนึ่งของ rails …

Background Jobs ด้วย Active Job ของ Rails Read More »

Sublime keyboard shortcuts

เขียนโดย นายวุฒิไกร ลิ่มสกุล – 20 กรกฎาคม 2558 สำหรับชาวโปรแกรมเมอร์ หนึ่งอย่างที่จะต้องเลือกใช้งานคือ เครื่องมือที่ใช้ในการเขียนโปรแกรม ที่ดีๆสักตัวหนึ่ง ให้ง่ายต่อการเขียนโปรแกรม ความถูกต้องสูง และรวดเร็ว สำหรับเครื่องมือที่ผมเลือกใช้คือ Sublime text 3 ซึ่งเป็นเครื่องมือที่ใช้งานง่ายและไฟล์มีขนาดเล็กเมื่อเทียบกับ Eclipse หรือ Netbean และไม่ต้องลงโปรแกรมเสริมอื่นๆอีกด้วยสามารถติดตั้ง Package เพิ่มเติมได้ภายในโปรแกรมได้เลยและสามารถที่จะ Set syntax ได้หลายภาษาอีกด้วย วันนี้จะเสนอ คุณสมบัติเด่น ของ Sublime ที่จะทำให้โปรแกรมเหม่อ เอ้ย โปรแกรมเมอร์ หลายๆคนต้องตกหลุมรักมันก็เป็นได้ มันคือ Sublime keyboard shortcuts นั่นเอง ซึ่งทำให้คุณเขียนโปรแกรมได้รวดเร็วขึ้นมากๆๆๆๆๆๆๆ และแทบไม่ต้องจับ หรือ ไม่จับ Mouse เลย โดย Sublime ก้จะมีค่า key ที่เป็น default ให้อยู่แล้ว เยอะมากๆ และสามารถที่จะปรับแต่งเองได้อีกด้วย …

Sublime keyboard shortcuts Read More »

Duck Typing คืออะไร

Posted on July 17, 2015 By Karun Siritheerathamrong …Duck Typing คืออะไร?… Duck Typing เป็นลักษณะหนึ่งของการเขียนโปรแกรม ที่ไม่ได้พึ่งการทำงานแบบ Strong Typing มักปรากฏในภาษาโปรแกรมสมัยใหม่ที่เป็น Dynamic Language สำหรับ Strong Typing  ความเหมาะสมของออบเจ็กต์หรือตัวแปรในการใช้งาน จะถูกพิจารณาจากประเภทของออบเจ็กต์นั้น แต่สำหรับ Duck Typing แล้ว ความเหมาะสมของออบเจ็กต์หรือตัวแปรจะถูกพิจารณาจาก สิ่งที่ออบเจ็กต์นั้น “ทำได้” (method) และข้อมูลภายในที่ออบเจ็กต์นั้น “ถืออยู่” (attributes) คำว่า Duck Typing นี้มีที่มาจากคำว่า Duck Test ซึ่งเป็นการให้เหตุผลแบบ “อุปมาน” ที่อาจมีที่มาจากงานเขียนของ James Whitcomb Riley ที่ว่า “เมื่อฉันเห็นนกที่เดินแบบเป็ด ว่ายน้ำแบบเป็ด และร้องแบบเป็ด ฉันเรียกนกตัวนั้นว่า เป็ด” ตัวอย่างของโค้ดที่เป็นแบบ …

Duck Typing คืออะไร Read More »

CoffeeScript คืออะไร? มาทำความรู้จักกันดีกว่า

โดย ณัฐธิดา หมวดเพ็ชร [16 กรกฎาคม 2558] CoffeeScript คืออะไร??? CoffeeScript คือ ภาษาที่เอาไว้สำหรับเขียน JavaScript ซึ่ง CoffeeScript จะช่วยให้สามารถเขียน JavaScript ได้สั้นลง เขียนง่ายขึ้น อ่านเข้าใจง่าย และ maintain ง่าย แต่สุดท้ายแล้ว CoffeeScript ก็จะถูกเปลี่ยนกลับไปเป็น JavaScript เพื่อนำไปใช้งานต่อไป ขั้นตอนการทำงาน สร้างไฟล์นามสกุล .coffee คอมไพล์ .coffee ให้กลายเป็น .js นำไฟล์ .js ไปใช้งาน การติดตั้ง CoffeeScript ก่อนอื่นเราจะต้องลงตัวคอมไพล์ ที่จะทำการแปลง .coffee มาเป็น .js ซะก่อน เพื่อที่ว่าเราจะได้ไม่ต้องไปเขียนไฟล์ .js อีก หากเรารัน .coffee เสร็จ ก็สามารถนำไปใช้ได้เลย โดยเราต้องทำการติดตั้งคำสั่งให้อุปกรณ์ของเรารู้จักกับไฟล์ .coffee ซะก่อน …

CoffeeScript คืออะไร? มาทำความรู้จักกันดีกว่า Read More »

Cascading Style Sheets (CSS) Version

Cascading Style Sheets (CSS) Version CSS มีการทำออกมาทั้งสิ้นถึงปัจจุบัน (15/7/2558) 3 เวอร์ชั่น ได้แก่ CSS 1 CSS Version 1 คือเวอร์ชันแรกที่ออกสู่สาธารณะและเป็น W3C Recommendation ซึ่งออกในเดือนธันวาคมปีค.ศ. 1996 CSS 1 นั้นมีฟีเจอร์เพียงไม่มาก CSS 2 CSS Version 2 ออกในเดือนพฤษภาคมปีค.ศ. 1998 โดยเพิ่มเติมฟีเจอร์ให้กับ CSS 1 อย่างไรก็ตาม CSS 2 ไม่ประสบความสำเร็จมากนักในแง่ของการยอมรับ และการรองรับจากเว็บเบราว์เซอร์ต่างๆ ทำให้ CSS 2.1 ต้องออกมาเพื่อแก้ไขปัญหาต่างๆในเวอร์ชัน 2 CSS 2.1 ได้เป็น Recommendation ในเดือนกรกฎาคมปีค.ศ. 2007 CSS 3 CSS Version 3 …

Cascading Style Sheets (CSS) Version Read More »

Routing สำหรับ Rails กับการกำหนด Path อย่างง่ายให้ Resources

โดย นางสาวแสงเดือน จันทร์ใหม่ – 16 ก.ค. 2558 Routing for Resources Routing หรือการกำหนด route ให้ resources สำหรับ rails นั้นทำได้ง่ายๆ โดยการกำหนดค่าที่ไฟล์ routes.rb ในแอพพลิเคชั่น ซึ่งใน rails จะทำทำการ maps ระหว่าง HTTP เมธอด กับ action ของ controller ตาม route ที่เรากำหนด เราสามารถกำหนด route ได้ดังนี้ [code language=”ruby”] resources :recipes [/code] โดยค่า default ของ rails เมื่อประกาศ route ดังตัวอย่าง จะทำการ maps กับ method ของ …

Routing สำหรับ Rails กับการกำหนด Path อย่างง่ายให้ Resources Read More »