30/7/58

EasyMock คืออะไร

EasyMock คืออะไร

EasyMock คือการจำลอง Object แบบไดนามิก ซึ่งช่วยให้เราไม่ต้องเขียนวิธีการจำลอง Object หรือเขียน Code เพื่อใช้ในการจำลอง Object เพื่อที่จะทดสอบ Object

EasyMock จะเตรียม Mock Object ให้โดยการ generating ขึ้นมาในขณะที่ใช้ Java proxy

EasyMock คือการจำลอง Object ซึ่งเป็น JAVA-based library จะใช้สำหรับในการทดสอบการทำงานและประสิทธิภาพการทำงานของ Java หรือที่เรียกว่า unit test ซึ่งจะช่วยเราในการทดสอบและเพิ่มประสิทธิภาพของ Application

การใช้ EasyMock จะเป็นการจำลองการใช้งานใน function ใน Class แบบเดี่ยว ๆ EasyMock ไม่จำเป็นต้องติดต่อกับ Database หรือ properties file หรือ file server ในการทดสอบ function การจำลอง Object ขึ้นมานั้นจะถูกจำลองขึ้นบน Server จริง Object ที่จำลองได้นั้นจะมีข้อมูลที่สอดคล้องกับข้อมูลที่ป้อนเข้าไป

ประโยชน์ของ EasyMock

- No Handwriting
- Refactoring Safe
- Return value support
- Exception support
- Order check support
- Annotation support

สรุป EasyMock คือ

EasyMock คือ Java library ที่จะอำนวยความสะดวกในการสร้าง Object แบบจำลองขึ้นมา เพื่อใช้ในการแสดงข้อมูลแบบจำลองโดยเราไม่ต้องเขียนโค้ดเพื่อจำลอง Object ขึ้นมาเอง เพื่อให้ง่ายต่อการพัฒนา และการทดสอบ Application ที่ได้สร้างขึ้นมา

การเปลี่ยนภาษา(language) ใน youtube

การเปลี่ยนภาษา(language) ใน youtube

สวัสดีครับ บทความนี้เรามาดูวิธีการเปลี่ยนภาษาใน Youtube กันครับ ซึ่งเป็นเว็บที่มีคนนิยมมากในตอนนี้ แต่บางทีเวลาเข้าหน้าเว็บแล้ว ภาษาอาจจะเป็นภาษาอังกฤษ ถ้าอยากเปลี่ยนเป็นภาษาไทยแล้วล่ะก็เรามาดูว่าเซ็ตตรงไหนกัน

เริ่มจากเข้าหน้าเว็บ Youtube หน้าไหนก็ได้ครับ จากนั้นมองลงไปด้านล่าง ๆ มันจะมีกรอบภาษาอยู่ ให้เราคลิกเข้าไป จะปรากฎส่วนในการเลือกภาษาอยู่ เราก็ทำการเลือกภาษาตามที่เราต้องการครับ ตามรูปด้านล่างเป็นการเลือกภาษาไทยให้กับ Youtube



26/7/58

การตั้งค่าการ share drive เมื่อเปิด Remote Desktop Connection

การตั้งค่าการ share drive เมื่อเปิด Remote Desktop Connection

สวัสดีครับ บทความนี้เรามาดูวิธีการแชร์ drive ในเครื่องเราไปยังเครื่องที่เราทำการ Remote Desktop Connection กันครับ ซึ่งสามารถทำได้ง่าย ๆ ดังนี้

ก่อนที่เราจะกด Connect โดยใช้ Remote Desktop Connection ให้เราทำการ Show Options ขึ้นมา จากนั้นให้ไปในส่วนของ Local Resources จากนั้นให้มองดูในส่วนของ Local devices and resources จะมีปุ่ม more อยู่ให้เรากดเข้าไป

จะปรากฎหน้าต่างแสดง Local devices and resources ขึ้นมาให้เราเลือก Drive หรือ resources อื่น ๆ ตามต้องการได้เลย ตามรูปด้านล่าง



เพียงแค่นี้เราก็ได้ข้อมูลใน Drive ของเราแล้ว เวลาใช้งาน Remote Desktop Connection ไปในเครื่องอื่น ถ้าเราต้องการดูข้อมูลของเราก็เข้าไปใน My Computer จะปรากฎ Drive ของเราอยู่

การตั้งค่าโดเมน domain ให้ชี้ไปยัง blogger ใน 1and1

การตั้งค่าโดเมน domain ให้ชี้ไปยัง blogger ใน 1and1


สวัสดีครับ บทความนี้เรามาดูวิธีการตั้งค่า domain ให้ชี้ไปยัง blogger ใน 1and1.com กันครับ ซึ่งเป็นตัวอย่างการตั้งค่าโดเมนของเราให้ใช้โฮสและตัวจัดการของ Blogger เลย เรามาดูวิธีการกันครับ

อันดับแรกเลยก็ให้เราเข้าไปที่ส่วนจัดการ Blogger เลือก Blogger ที่ต้องการ แล้วเข้าไปที่ การตั้งค่า -> พื้นฐาน ในส่วนของการเผยแพร่ให้เราใส่ชื่อเว็บไซต์ที่เราต้องการลงไปครับ ตามตัวอย่างด้านล่าง


เมื่อเรากดบันทึกจะเกิด Error เกิดขึ้นตามรูปด้านล่าง


เรายังไม่สามารถยืนยันสิทธิ์ของคุณในโดเมนนี้ได้ ข้อผิดพลาด 12
ในเว็บไซต์ของผู้รับลงทะเบียนโดเมน ให้มองหาการตั้งค่า Domain Name System (DNS) แล้วป้อน CNAME สองรายการดังต่อไปนี้:
ฟิลด์ ชื่อป้ายกำกับ หรือ โฮสต์ฟิลด์ ปลายทางเป้าหมาย หรือ ชี้ไปที่
wwwghs.google.com
cu2il3za6guagv-o74xmlvlqsujxs.dv.googlehosted.com
ดูคำแนะนำโดยละเอียดเกี่ยวกับการระบุ CNAME สำหรับผู้รับลงทะเบียนต่างๆ หรือดูรายละเอียดเพิ่มเติมในคำแนะนำในการตั้งค่าฉบับเต็ม หากพบปัญหาในการป้อน CNAME ที่สองให้กับ dv.googlehosted.com คุณสามารถยืนยันความเป็นเจ้าของโดเมนนี้ได้โดยใช้บันทึกแบบ TXT ผ่าน Google เครื่องมือของผู้ดูแลเว็บแทนได้ที่นี่
หากผู้ให้บริการโดเมนสนับสนุน ให้ดาวน์โหลดไฟล์การตั้งค่า DNS
ป้อนโดเมนที่จะใช้โฮสต์บล็อกของคุณ
คุณจะต้องลงทะเบียนโดเมนให้ถูกต้องก่อน ดูคำแนะนำในการตั้งค่า
ใช้โฮสต์ของไฟล์ที่ขาดหายไปหรือไม่
ถ้าคุณระบุโฮสต์ของไฟล์ที่ขาดหายไป Blogger จะค้นหาในที่นั้น ถ้าไม่พบไฟล์ที่ระบุในโดเมนปกติของคุณ เรียนรู้เพิ่มเติม



เมื่อเจอ Error นี้อย่าปิดทิ้ง ให้เราไปทำการล็อกอินเว็บผู้ให้บริการโดเมนของเรา ซึ่งในที่นี้ที่ผมใช้ก็คือ 1and1

จากนั้นให้ไปในส่วนของการจัดการโดเมน จากนั้นทำการ Edit DNS

ให้มองหาในส่วนของ A/AAAA Records (IP Addresses) The IP address is the address to which your domain points.

ให้เลือก Other IP address แล้วใส่ IP Address ลงไป คือ 216.239.32.21 จากนั้นกด Save

จากนั้นให้เราสร้าง Subdomain สองตัวคือ www กับ cu2il3za6gua

ให้เราไปแก้ไข DNS ของแต่ละ SubDamin โดนเซ็ตในส่วนของ A/AAAA Records (IP Addresses) ให้เลือก CNAME แล้วใส่ค่าข้างหลังตาม Error ตามตัวอย่าง


ใส่ค่าให้ครบทั้ง 2 Subdomain จากนั้นย้อนกลับไปที่ Blogger แล้วกดบันทึกอีกครั้งหนึ่ง แค่นี้ก็เป็นอันเสร็จสิ้นสำหรับการตั้งค่าโดเมนเพื่อให้ชี้มายัง Blogger แล้วครับ ยินดีด้วย

24/7/58

Eclipse เปิดไม่ได้ Error ตอนโหลด workbench

Eclipse เปิดไม่ได้ Error ตอนโหลด workbench

สวัสดีครับ เรามาดูวิธีการแก้ปัญหา Eclipse เปิดไม่ได้ ซึ่งมีปัญหาในตอนโหลด workbench กันครับ ซึ่งจะมีอาการคือ เมื่อเปิด Eclipse แล้ว มันจะโหลดปลั๊กอินต่าง ๆ ขึ้นมา แต่ว่า พอมันโหลด workbench แล้วก็เงียบหายไปดื้อ ๆ ไม่มีอะไรเกิดขึ้น พอลองไปดูที่ CPU แล้วกลับพบว่า CPU จะพุ่งขึ้นสูงอย่างรวดเร็ว

วิธีการแก้ปัญหาก็คือให้ทำการลบไฟล์ที่ชื่อว่า workbench.xmi ออก ซึ่งไฟล์นี้จะอยู่ใน

D:\workspace\.metadata\.plugins\org.eclipse.e4.workbench

แค่นี้เราก็สามารถเปิด Eclipse ได้แล้ว

23/7/58

การใส่ syntax highlighting ใน blogger

การใส่ syntax highlighting ใน blogger

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

1. ให้ไปที่ส่วนจัดการ Blogger แล้วไปที่ Template

2. ให้กด Edit HTML

3. จะปรากฎ Code ขึ้นมา ให้มองหาแท็กปิด Head ซึ่งก็คือ
</head>

4. ให้ก็อปปี้โค้ดตามล่างนี้ไปใส่เหนือแท็กปิด Head
<!-- Syntax Highlighter Additions START -->
<link href="http://alexgorbatchev.com/pub/sh/current/styles/shCore.css" rel="stylesheet" type="text/css" />
<link href="http://alexgorbatchev.com/pub/sh/current/styles/shThemeEmacs.css" rel="stylesheet" type="text/css" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushAS3.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushColdFusion.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDelphi.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDiff.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushErlang.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushGroovy.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJavaFX.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPowerShell.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushScala.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js" type="text/javascript" />
<script src="http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js" type="text/javascript" />
<script language="javascript" type="text/javascript">
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();
</script>
<!-- Syntax Highlighter Additions END Credit www.doesystem.com -->

5. จากนั้นก็ทำการเซฟ Template ได้เลย

6. ให้ทดลองโพสเนื้อหาที่เป็นโค้ด เช่น
<pre class="brush:php;">
<?php
$example = range(0, 9);
foreach ($example as $value)
{
 echo $value;
}
</pre>

เพียงแค่นี้เราก็ได้ syntax highlighting ใน blogger ซึ่งมีสีสันสวยงาม ทำให้น่าดูและเข้าใจง่าย เหมาะสำหรับ blogger ที่มีเนื้อหาเกี่ยวกับ Code

การ Submit Sitemap สำหรับ Blogger

การ Submit Sitemap สำหรับ Blogger

สวัสดีครับ บทความนี้เรามาดูวิธีการ Submit Sitemap สำหรับ Blogger กันครับ ซึ่งการ Submit Sitemap นั้นเป็นการบอก Google ว่าเว็บเรานั้นมี Sitemap อยู่นะ เวลา Google มาเก็บข้อมูลในเว็บเนี่ย ไต่ไปตามลิ้งนี่นะ อะไรประมาณนี้ เรามาดูวิธีทำกันดีกว่าครับ

1. Sign in to Google Webmaster Tools.

2. ไปในส่วนของ Sitemap จากนั้นคลิกเพิ่ม Sitemap

3. ให้ใส่ข้อความด้านล่างนี้ลงไป

atom.xml?redirect=false&start-index=1&max-results=500

4. กด Test หรือกดตกลงไปก็ได้ แค่นี้ก็ได้แล้ว

หมายเหตุ
จากข้อความข้างต้นจะมีการไต่ลิ้งสูงสุดแค่ 500 ลิ้งเท่านั้น ถ้าต้องการมากกว่านั้นก็ให้เราใส่เพิ่ม เช่น
atom.xml?redirect=false&start-index=501&max-results=500

ตัวนี้จะบอกว่าเอาตั้งแต่ 501 ขึ้นไปเป็นจำนวน 500 ตัว ก็ประมาณ 500-1000 นั่นแหละน่ะ

ข้อระวังในการใช้ java equals ใน Class ต่าง ๆ เช่น Long Integer

ข้อระวังในการใช้ java equals ใน Class ต่าง ๆ เช่น Long Integer

วันนี้มีอยู่เคสหนึ่งคับ เป็นเคสที่ต้องเทียบค่า โดยมีสองค่าคือ Long กับ Integer ตอนแรกกะจะใช้ equals ใน Java ตัวอย่างเช่น 

Long.valueOf(0).equals(Integer.valueOf(0)) แต่ค่าที่ได้กลับเป็น false เรามาดูกันว่าทำไม

เราไปดูใน Long.java ใน method equals กันซึ่งจะเป็นดังนี้

public boolean equals(Object obj) {
    if (obj instanceof Long) {
        return value == ((Long)obj).longValue();
    }
    return false;
}

จากโค้ดจะเห็นว่า method equals นั้นจะรับ Object เข้ามา แต่เมื่อรับเข้ามาแล้วมันก็มาตรวจสอบอยู่ดีว่าเป็น Long หรือเปล่า ถ้าเป็น Long ถึงจะเทียบค่าให้ แต่ถ้าไม่ใช่มันก็จะ return false ทันที

จากกรณีข้างบนเราใช้ Long equals จากนั้นก็ส่ง Integer เข้ามาถึงแม้ว่าจะเป็นค่าเดียวกัน แต่ว่าในเมทอด equals มันจะไปตรวจสอบว่าเป็นชนิด Long หรือเปล่าซึ่งกรณีนี้จะไม่ใช่เพราะเป็น Integer ดังนั้นมันจะ return false ทันที

เกือบพลาดแล้วไหมล่ะ อิอิ

22/7/58

เทคนิคการหาเงินง่าย ๆ จาก yllix

เทคนิคการหาเงินง่าย ๆ จาก yllix


1. ลงทะเบียนกับ yllix คลิกเพื่อลงทะเบียน yllix
2. สร้าง blog คลิกเพื่อสร้างบล็อก
3. โพสเนื้อหา (10-15 posts)
4. ใส่โฆษณาของ yllix ประมาณ 3 ที่(ขนาดที่แนะนำคือ 300x250)
5. ลงทะเบียนกับ hitleap คลิกเพื่อลงทะเบียน HitLeap
6. Must have premium!! 3/7 Euro.
7. Buy some visits if you have 9eur.
8. ไปสร้างเว็บกับ wix คลิกเพื่อสร้างเว็บ
9. สร้าง blank template site - One page Layout
10. ในเว็บไซต์ที่เราสร้าง ให้สร้างบล็อก HTML แล้วเอาบล็อกที่เราสร้างไว้มาติดในเว็บหลาย ๆ ที่ เพื่อให้เหมือนกับว่าเข้ามาจากหลายหน้า
11. เพิ่มเว็บไซต์ wix ใน hitleap และ duplicate it until you fill all the slots และ set 10 seconds timer and 200 hits per hour

เทคนิดอื่น ๆ


1. ลงทะเบียนกับ yllix คลิกเพื่อลงทะเบียน yllix
2. ให้เรานำเว็บไซต์ที่เป็น Premium ใน Yllix อยู่แล้วมาติดโฆษณาหลาย ๆ หน้า
3. ให้เราเลือกหน้าหนึ่งหน้าจากหลาย ๆ หน้าที่ติดอันดับใน google แล้วมาใส่บล็อก HTML แล้วนำหน้าอื่น ๆ ใส่ไปให้เต็ม
4. ลงทะเบียนกับ hitleap คลิกเพื่อลงทะเบียน HitLeap
5. จากนั้นให้เรานำ Ref จาก Google มาใส่ใน hitleap เพื่อกันว่า yllix จะไม่รับ traffic จาก hitleap