Save Base64 String as PDF with JavaScript

MobileFirst Platform: Using Java in JavaScript adapters


ตั้งแต่ปีที่แล้ว 2015 ผมมีโอกาสได้ทำระบบบนมือถือมากขึ้น สิ่งที่เจอคือ เราไม่สามารถส่ง Binary data ให้ Javascript ได้โดยตรง เนื่องจากไม่ support และเพื่อลด overhead ในการรับส่งข้อมูลระหว่าง Network จำเป็นต้องแปลงเป็น Base64-encoded String เสียก่อน

ผมคิดว่ามันเป็นเกร็ดความรู้เล็กๆ น้อยๆ ที่สามารถนำมาประยุกต์ใช้ได้จริง โดยจะนำโค้ดชุดนี้ไปใช้กับการพัฒนา application บน IBM MobileFirst Platform ครับ

 

Save Base64 String as PDF with JavaScript
รูปที่ 1

Continue reading

Consume WCF RESTful Service Using jQuery

Consume WCF RESTful Service Using jQuery

คราวที่แล้วเราได้สร้าง WCF RESTful เพื่อให้บริการข้อมูล RSS Feed ของเว็บห้องลับดอทคอม ครั้งนี้จะเขียนโปรแกรมเรียกใช้ WCF RESTful Service ด้วย jQuery ครับ ซึ่งเว็บ www.cleancode.co.th ดึงโพสต์ล่าสุด 5 ลำดับแรกไปแสดงบนเว็บ

 

โดยจะเรียก http://cleancode.azurewebsites.net/CleanCode/GetRssFeed จากฝั่ง www.cleancode.co.th ด้วย jQuery เนื่องจากเราเรียก AJAX ข้ามโดเมนกัน ทำให้ไปเจอกับปัญหา Same-origin Policy เพราะ Web Browser อนุญาตให้ request ข้อมูลภายใต์โดเมนเดียวกันเท่านั้น เพื่อความปลอดภัยของผู้ใช้งาน

 

นิยามโดเมนเดียวกันในที่นี้คือ จะต้องมี URI scheme, hostname และ port เดียวกัน ยกตัวอย่างเช่น ถ้าเราส่ง request จาก http://www.cleancode.co.th/ ไปที่โดเมนดังต่อไปนี้ ผลลัพธ์ที่ได้จะเกิดข้อผิดพลาดและไม่ได้รับข้อมูลตอบกลับมา
Continue reading

WCF RESTful Service Inside MVC Project

WCF RESTful Service Inside MVC Project

จริงๆ อยากเขียนหัวเรื่องว่า “มาสนุกกับการเขียนโปรแกรมกันเถอะ” โพสต์นี้ยำทุกสิ่งทุกอย่างเข้าด้วยกันครับ ^^ วัตถุประสงค์คืออยากจะเขียนโปรแกรมตัวหนึ่งด้วย C#.NET อ่าน RSS Feed ของเว็บห้องลับดอทคอม ดึงข้อมูลที่จำเป็นและให้บริการ WCF RESTful อีกต่อหนึ่ง โดยเว็บ www.cleancode.co.th ดึงโพสต์ล่าสุด 5 ลำดับแรกไปแสดงบนเว็บ

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

เริ่มจากการออกแบบ Data Model โดย Post.cs คือโครงสร้างข้อมูลที่ผมอยากได้ จาก RSS XML http://feeds.feedburner.com/honglub?fmt=xml ทำให้ต้องปรับโครงสร้าง DOM (Document Object Model) เนื้อหาในบล็อกที่เขียนไว้ เพื่อกรองเฉพาะเนื้อหาที่ต้องการเท่านั้นครับ
Continue reading

C# Repository Pattern With MongoDB

C# Repository Pattern With MongoDB


Repository คือการเขียนโปรแกรมแยกส่วน Data Access ออกจาก Application เพื่อแก้ปัญหา business logic ปะปนกับ data store โดยลดความซ้ำซ้อนในการเขียนโปรแกรม และง่ายต่อการ maintenance

คอนเซ็ปหลักมีเท่านี้จริงๆ ครับ เพื่อให้เห็นภาพรวมชัดขึ้น ผมจะเปรียบเทียบการเขียนโค้ดใน Controller เรียกใช้ Data Access โดยตรงกับเรียกใช้ผ่าน Repository ว่ามันต่างกันอย่างไร

ตัวอย่างที่ 1: Controller เรียกใช้ Data Access ตรงๆ

คลิกทดสอบ TestController

Repository Pattern

รูปที่ 1

Continue reading

Globalization and Localization in ASP.Net MVC

Globalization and Localization in ASP.Net MVC


กาารออกแบบเว็บไซต์ให้รองรับการแสดงผลหลายภาษา (Multi language) มีความจำเป็นมากกับการเติบโตทางเศรษฐกิจในปัจจุบัน เปิดโอกาสในการทำธุรกิจของเราให้กว้างขึ้น แนวทางการทำงานของบริษัท คลีนโค้ด คือตีโจทย์จาก requirements ก่อน ถึงจะวางโครงสร้าง framework ก็เหมือนกับการสร้างบ้าน ถ้าวางแปลนมาผิดหรือมาต่อเติมทีหลัง ค่าใช้จ่ายจะสูงขึ้น ระยะเวลาที่จะย้ายไปอยู่บ้านใหม่นานขึ้น อาจจะต้องมีค่าใช้จ่ายอื่นๆ เพิ่มเติม เช่นหาบ้านเช่าอยู่ก่อน การพัฒนา Software ก็เช่นกัน
 
ตัวอย่างที่นำมาแสดงให้เพื่อนๆ พัฒนาด้วย ASP.NET MVC 4 โดยใช้ MongoDB เป็นฐานข้อมูล ในรายละเอียดการเขียน C#.NET เชื่อมต่อกับ MongoDB ผมจะเขียนอธิบายอีกทีในบทความหน้า อดใจรอกันนะครับ งั้นลุยกันเลย ^^
 
Continue reading

Querying MongoDB from Express using Mongoose

Querying MongoDB from Express using Mongoose

What is Mongoose?

mongoose คือ object modeling package สำหรับ node.js โดยการทำงานคล้ายกับ ORM (Object relational mapping) โดย map ข้อมูลในตารางข้อมูลของฐานข้อมูลให้อยู่ในรูปของ object class
 
Mongoose ช่วยให้เราสามารถเข้าถึง MongoDB ด้วยคำสั่ง CRUD (Create/Read/Update/Delete) ได้อย่างง่ายดาย ติดตั้ง mongoose เข้ามาในโปรเจก node.js

$ npm install mongoose --save

 
Continue reading