[C#] - Download Files from Web

Standard

    การ Download Files จากเว็บโดยใช้ C# สามารถทำได้โดยใช้ WebClient ซึ่งมีทั้งแบบ Synchronus และ ASynchronus  ถ้าขนาดไฟล์ไม่ใหญ่มากก็ใช้แบบ Sync เพราะไม่ต้องเขียนโค้ดเยอะ  แต่ถ้าไฟล์มีขนาดใหญ่แนะนำให้ใช้แบบ Async ดีกว่าครับ

  • Synchonus ต้องรอให้ดาวน์โหลดจนเสร็จถึงจะออกจากฟังก์ชัน
  • Asynchronus สั่งดาวน์โหลดไว้แล้วจะมี Event  Progress และ Complete  เพื่อบอกสถานะ
ลองดูตัวอย่าง Code ได้ที่ GitHub

Document

Synchronus

public void DownloadFile(
	Uri address,
	string fileName
)

Parameters

address
Type: System.Uri
The URI specified as a String, from which to download data.
fileName
Type: System.String
The name of the local file that is to receive the data.

Asynchronus

[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public void DownloadFileAsync(
	Uri address,
	string fileName
)
address
Type: System.Uri
The URI of the resource to download.
fileName
Type: System.String
The name of the file to be placed on the local computer.

[C#] - RestShap Libraly สำหรับติดต่อ RESTful Webservice

Standard
     วันนี้จะมาแนะนำ API ที่ใช้ติดต่อ RESTful WebService  สำหรับ .NET  ใช้งานง่ายมาก ๆ ครับ  ถ้าใครสงสัยว่า RESTful คืออะไร  ลองอ่านตาม Link ด้านล่างนี้ครับ
1. ติดตั้งผ่าน Package Manager Console  ด้วยคำสั่ง    Install-Package RestSharp  

2. ทดสอบเอาแบบ Basic สุด ๆ ผมลองดึงข้อมูล Repository ที่อยู่บน GitHub ผ่าน API  แล้วก็แสดงข้อมูลที่ได้รับ



รายละเอียดการใช้งานสามารถดูได้จาก Document ตาม URL นี้ครับ
Document : https://github.com/restsharp/RestSharp/wiki
RestSharp : http://restsharp.org

[PHP] - การใช้ PHP Authentication ด้วย LDAP

Standard


LDAP คือ อะไร ?

       LDAP ย่อมาจาก Lightweight Directory Access Protocol  เป็น Protocol ที่ทำให้เราเข้าถึงข้อมูลที่อยู่ใน Directory ได้  เช่น มีการเก็บข้อมูลบุคลากรในหน่วยงาน   รายละเอียดของ LDAP ลองดูตาม Reference ด้านล่างนะครับ  
      ในหน่วยงานใหญ่ ๆ เช่น มหาวิทยาลัย มักจะมี LDAP Server ไว้เก็บข้อมูลการ Authentiaction ของ User แต่ละคนไว้  เพื่อให้ง่ายต่อการจัดการข้อมูล  ซึ่งเราสามารถประยุกต์ใช้ PHP Connect กับ LDAP  เพื่อทำระบบ Autentication จากส่วนกลางได้  ทำให้เว็บไซต์ของแต่ละหน่วยงานที่อยู่ในมหาวิทยาลัยสามารถ Login ด้วย Username และ Password เดียวกัน

PHP Connect LDAP

Reference

[Atom] - มารู้จัก Atom และวิธีติดตั้ง Package

Standard

Atom คือ อะไร ?

     Atom คือ Text Editor , Code Editor , etc  แล้วแต่เราจะเรียกตามความเข้าใจครับ  สรุปง่าย ๆ คือมันเอาไว้เขียนโค้ดนั่นเอง  Atom ถูกพัฒนาโดย GitHub และใช้ภาษา Coffee Script  ที่สำคัญที่สุดคือมันเป็น Open Source  สำหรับคนที่เคยใช้ SublimeText มาก่อนจะรู้สึกได้เลยว่ามันเหมือนกันมาก ฮ่า ๆ

ข้อมูลเพิ่มเติมจาก Blognone

รีวิว Atom โปรแกรมแก้ไขข้อความแห่งอนาคต
GitHub เปิดซอร์ส 'Atom' โปรแกรมแก้ไขข้อความแห่งอนาคต


การติดตั้ง Package

   การติดตั้ง Package ก็ง่ายมาก ๆ  แถมมีหน้าสำหรับ Search ขึ้นมาให้ด้วย  งั้นเรามาลองติดตั้ง Package ดูสัก 1 ตัว คือ Color Picker ครับ

1. กด Command + Shift + P  แล้ว Search Install Pack



2. จะมีหน้าต่าง Settings ขึ้นมาแล้วสามารถ Search Package ที่จะ Install ได้  ในตัวอย่างจะติดตั้ง Package Color Picker  ให้กด Install

3. ติดตั้งเรียบร้อยแล้วครับ



 4. ทดสอบโดยการกด Command + Shift + C ก็จะมีหน้าต่าง Color Picker ขึ้นมาแล้วครับ


[Web] - Tips เปลี่ยน URL Localhost ให้เป็น Domain

Standard


ปกติการจำลองเครื่องเราเป็น WebServer แล้วต้องการทดสอบจะต้องเปิดเว็บผ่าน URL  http://localhost  แต่ถ้าใครอยากเปลี่ยนเป็น Domain ก็สามารถทำได้  โดยการแก้ไขไฟล์ hosts  โดยเปิด Notepad โดยคลิกขวาแล้วเลือก Run As Administrator  จากนั้นลากไฟล์ hosts (C:\Windows\System32\drivers\etc\hosts)  มาใส่ notepad  แล้วเพิ่มบรรทัดนี้เข้าไป

127.0.0.1     codenuke.dev
 สามารถเปลี่ยน Domain ตามต้องการได้เลยครับ


ทดสอบการใช้งาน

[Web] - WampServer โปรแกรมจำลอง Webserver ที่ใช้แทน Appserv

Standard


      ไม่ได้อัพเดทบล็อคนานเลย  วันนี้จะมานำเสนอโปรแกรมจำลอง Web Server อีกตัว  ก็คือ WampServer นั่นเอง  จริง ๆ ใช้ตัวนี้มานานแล้ว เลยมาอัพลงบล็อกสักหน่อย  เพราะเห็นหลายคนยังใช้ Appserv อยู่     คำว่า Wamp  นั้นเป็นอักษรย่อของ  Windows , Apache , MySQL , PHP  รวม ๆ ก็คือโปรแกรมจำลอง Web Server เหมือน Appserv แหละครับ   แต่สาเหตุที่ต้องเลิกใช้ Appserv ไปก็เพราะว่า Version ของ PHP ไม่ได้อัพเดทเลย  พอจะไปใช้ PHP Framework อย่าง Laravel  ก็เลยใช้ไม่ได้  เพราะ Laravel ต้องใช้ PHP Version >= 5.3.7


Wamp มีอะไรมาให้บ้าง ?

  • Apache 
  • PHP
  • MySQL
  • phpMyAdmin
  • webGrind  เอาไว้วัดความเร็วในทำงานของ PHP เพื่อหาว่าจุดไหนของ Code ที่ช้า


Wamp ที่ผมใช้อยู่เป็น Apache Version 2.4.4  , PHP Version 5.4.12 , MySQL Version 5.6.12   

Apache สามารถสร้าง Alias ได้  ใช้ในกรณีที่เราไม่ต้องการใส่ไฟล์เว็บของเราไว้ในโฟลเดอร์ WWW


PHP แสดง Error ดูง่ายดีเหมือนกันครับ



ในส่วนของ MySQL  มี Menu ให้กดใช้งาน Console กับดู MySQL Logได้เลย





WebGrind  เอาไว้ดูว่าส่วนไหนของเว็บช้า



สรุป

โปรแกรมออกแบบมาให้ง่ายต่อการใช้งาน   การจะเปลี่ยนค่า Setting หรือ Extension ของแต่ละส่วนก็ทำได้ง่ายดีครับ Tools ที่มีมาให้ก็น่าจะเพียงพอสำหรับ Web Developer  โดยรวมแล้วถือว่าใช้ได้ดีเลยทีเดียว