เขียน Javascript ในแบบของ PHP
… เกริ่นนำ จากที่ได้เขียนอะไรเล่นๆไปเมื่อครั้งก่อน ซึ่งตอนแรกผมใช้ php เขียน แต่มีเหตุผลบางประการที่ต้องใช้ Javascript แต่เนื่องจากว่าผมไม่ได้เขียน Javascript แบบจริงๆจังๆเลย อาจจะมีแก้ code นิดหน่อย เท่านั้น คราวนี้ต้องมาเขียนเกี่ยวกับการตัด String แต่ด้วยความเคยชินของผมที่ใช้พวก substr , strpos จนชินจึงต้องไปถาม อาจารย์กู๋(google) ซักหน่อยว่า substr ใน javascript เนี่ยมันทำยังไง เลยไปเจอเข้าที่นี่ครับ php.JS http://kevin.vanzonneveld.net/techblog/article/phpjs_licensing/ มีฟังก์ชั่นให้เลือกใช้เยอะ เหมือนเขียน PHP เลย แต่ใช้ Syntax ของ javascript ข้อดีของมันมากๆ ก็คือประหยัดเวลาแล้วก็ยังอยู่กับความเคยชิน ข้อเสียของมันก็คือ มันต้อง include อีกอย่าง .. เรายังอยู่บนความเคยชินเหมือนกันครับ ยังไงก็เอาไว้เป็นตัวเลือกแล้วกันเนอะ อ้าว เกริ่นซะจบเลย เอาเป็นว่า ข้อสรุปคือ เข้าไปดูที่ http://kevin.vanzonneveld.net/techblog/article/phpjs_licensing/ ก็ได้ครับ [...]
วิธีติดตั้ง โปรขุด (NP-Digger)
… ให้เข้าไปอ่านที่ โปรขุดบอร์ดประมูล ครับ วิธีการใช้งานให้เข้าไปดูที่ http://www.together.in.th/npdigger/NPDigger.swf ครับ Related Blogs The Conrad Black Style of Doing Hard Time / Chicago News Cooperative Sonnd › <a href="http://www.mondaynote.com/2010/05/02/balkanizing … LP to Villar: you have none to blame but yourself – NOYPIPOL: The … Color Survey Results « xkcd What is the difference between HREF and SRC links? « TagFocus.com [...]
Download โปรขุดประมูล ได้ที่นี่
. อ่านสักนิด 1. โปรขุดประมูลที่ผมทำขึ้นมานี้ ทำมาเพื่อศึกษาหาความรู้เกี่ยวกับ http , socket เท่านั้น ไม่ได้มีเจตนาสร้างมาเพื่อก่อกวนเว็บประมูลแต่อย่างใด 2. โปรขุดนี้ทำหน้าที่ช่วยอำนวยความสะดวกในการโพสเท่านั้นไม่ได้สร้างขึ้นมา Spam ข้อมูลแต่อย่างใด 3. เมื่อผู้ทีสนใจดาวน์โหลดโปรแกรมไปแล้ว กรุณาใช้อย่างระมัดระวังด้วยครับ อย่าสร้างความเดือดร้อนให้ผู้อื่น 4. ผู้พัฒนาจะไม่รับผิดชอบต่อความเสียหายที่เกิดจาก ผู้ที่ดาวน์โหลดโปรแกรมไปใช้ ไม่ว่ากรณีใดๆ 5. ที่ปล่อยให้โหลดเพราะต้องการ Tester ครับ ถ้าอ่านแล้ว .. Lastest Version : NPDigger 0.7.1b Download : NPDigger_071b.rar last update : 14 mar 09 @ 1.53PM Download : NPDigger Special last update : 5 may 09 @ 8.28AM Download [...]
ชี้แจงเรื่องโปรขุดประมูล
1. โปรขุดประมูลที่ผมทำขึ้นมานี้ ทำมาเพื่อศึกษาหาความรู้เกี่ยวกับ http , socket เท่านั้น ไม่ได้มีเจตนาสร้างมาเพื่อก่อกวนเว็บประมูลแต่อย่างใด 2. โปรขุดนี้ทำหน้าที่ช่วยอำนวยความสะดวกในการโพสเท่านั้นไม่ได้สร้างขึ้นมา Spam ข้อมูลแต่อย่างใด 3. เมื่อผู้ทีสนใจดาวน์โหลดโปรแกรมไปแล้ว กรุณาใช้อย่างระมัดระวังด้วยครับ อย่าสร้างความเดือดร้อนให้ผู้อื่น 4. ผู้พัฒนาจะไม่รับผิดชอบต่อความเสียหายที่เกิดจาก ผู้ที่ดาวน์โหลดโปรแกรมไปใช้ ไม่ว่ากรณีใดๆ 5. ที่ปล่อยให้โหลดเพราะต้องการ Tester ครับ ถ้าอ่านแล้ว .. อัพเดตและดาวน์โหลดได้ที่ Click Here วิธีติดตั้ง Click Here วิธีการใช้งานให้เข้าไปดูที่ Click Here ตัวอย่างการใช้งาน Demo Here Related Blogs
Groovy HTTP Class
/** * A Simple HTTP POST/GET Helper Class for Groovy * * @author Tony Landis * @copyright 2007 Tony Landis * @website http://www.tonylandis.com * @license BSD License (http://www.opensource.org/licenses/bsd-license.php) * @example h = new GroovyHTTP(‘http://www.google.com/search’) * h.setMethod(‘GET’) * h.setParam(‘q’, ‘groovy’) * h.open() * h.write() * h.read() * println h.getHeader(‘Server’) * println h.getContent() * h.close() */ class [...]
โปรขุดบอร์ดประมูล
เห็นเจอปัญหา ใน 0.6b กันเยอะ เอาเป็นว่า เดี๋ยวออก version ใหม่ให้แล้วกันนะครับ คอยติดตามกันได้เลยครับผม เวอร์ชั่นใหม่ออกแล้ว ติดตาม ดาวน์โหลดที่นี่ โปรแกรมช่วยโพสบอร์ดประมูลใครสนใจลองโหลดไปลองใช้ดูได้ครับ พบปัญหา หรือต้องการอะไรเพิ่มเติม Comment ไว้ได้เลยครับ ตัวอย่างโปรแกรมดูได้ข้างล่างเลยครับ [nggallery id=1] ปล. โปรแกรมเขียนด้วย Groovy (ภาษา Java) เพราะฉะนั้นต้องลง Java Runtime ด้วยครับ ลองเข้า start->run แล้วพิมพ์ java -version ดูครับ ถ้าไม่ผ่านให้ ไปที่ http://java.sun.com/javase/downloads/?intcmp=1281 เลือก download Java SE Runtime Environment (JRE) และติดตั้งในเครื่อง ส่วนถ้าใครพบไฟล์ .DS_STORE ไม่ต้องตกใจนะครับเป็น File System ของ mac OSX [...]
getPage และ postPage ด้วย php+cURL
มีฟังก์ชั่น 2 อัน ชื่อตรงตัวเลยครับว่าให้ทำอะไร วิธีใช้ก็อ่านเอาที่ Prototype ของ function ได้เลยครับ //———————————————————————————– function getPage($url, $referer, $timeout, $header){ if(!isset($timeout)) $timeout=30; $curl = curl_init(); if(strstr($referer,”://”)){ curl_setopt ($curl, CURLOPT_REFERER, $referer); } curl_setopt ($curl, CURLOPT_URL, $url); curl_setopt ($curl, CURLOPT_TIMEOUT, $timeout); curl_setopt ($curl, CURLOPT_USERAGENT, sprintf(“Mozilla/%d.0″,rand(4,5))); curl_setopt ($curl, CURLOPT_HEADER, (int)$header); curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0); $html = curl_exec ($curl); curl_close [...]
ใช้สองจอ….
กลับมาบ้านแล้วลองใช้การแสดงผล 2 จอดูครับ… ปกติใช้แบบจำลอง คราวนี้ใช้จริงๆ หันไปหันมาๆเลยครับ ถ้าชินก็คงอยากมีรอบตัวเลย Related Blogs Video: Wale Performs on 'Letterman' The width of « best-self-help.info Airsoft BBs .20 gram 4000 round bag SRC Brand | Airsoft Gun Store Sheer class (1): how the Labour party won the election « Though … Sonnd › <a href="http://www.mondaynote.com/2010/05/02/balkanizing … A Quick Ski Tour After [...]
Wireshark Capture Interface Problem
ถ้าใครใช้ Wireshark บน *nix แล้วไม่สามารถเลือก Interface ได้ ดังรูป ให้แก้ไขดังภาพข้างล่างนี้เลยครับ โดยใช้ Terminal ตัวไหนก็ได้คร้าบบ wireshark-cap-1 Related Blogs Video: Wale Performs on 'Letterman' The width of « best-self-help.info Airsoft BBs .20 gram 4000 round bag SRC Brand | Airsoft Gun Store Sheer class (1): how the Labour party won the election « Though … Sonnd [...]
Telnet คุยกับ Server ( protocol : http )
สืบเนื่องมาจากตอนที่แล้ว Basic Socket ตอนที่ 1.1 : ปลอม Referrer ด้วย php ซึ่งตอนที่แล้วเราคุยกับ Server ด้วย Socket ของ PHP วันนี้เรามาคุยกับ Server ด้วย Telnet กันครับ Telnet คืออะไรลองหาคำตอบกันที่ google กันก่อนนะครับ ง่ายๆมันก็คือโปรแกรมสำหรับส่งคำสั่งไปยัง Server นั่นแหละครับส่งไปเพื่อ Remote Control เครื่องปลายทาง ไม่ต้องว่ากันมาก ดูรูปประกอบได้เลยครับ (ไม่ดูไม่รู้รื่องนะ) ซึ่งตอนแรกเราออกคำสั่ง telnet แล้วเกิด Connection Refuse ก็เพราะ
Basic Socket ตอนที่ 1.1 : ปลอม Referrer ด้วย php
ผมมี Code php อยู่ที่ http://www.together.in.th/php/referer.php ซึ่ง Code มีแค่ <?php printf(“You come from : %s”,$_SERVER["HTTP_REFERER"]); ?> ซึ่งจะบอกว่าเราไปยังหน้านั้น โดยคลิ๊กจากหน้าไหนเท่านั้นเองครับ ถ้าคลิกจากหน้านี้ก็จะได้ว่า You come from : http://www.together.in.th/ ซึ่งจากคราวที่แล้ว ->
Basic Socket Programming ตอนที่ 1 (php+wireshark)
วันนี้มาเขียนโปรแกรมโดยใช้ Socket แบบง่ายๆกัน โดยใช้ fsockopen ของ php ครับ เราจะทำตัวเป็น Browser กันนะครับ โดย Request ข้อมูลกับ Server เองครับ แต่วันนี้จะส่ง Request อย่างเดียวครับ แต่ยังไม่ส่งค่าไปด้วย (เช่นค่าจาก Form) อ้อ วันนี้เราจะใช้ Wireshark ร่วมกับ PHP นะครับ ใครจะใช้ Proxomitron ก็ไม่ว่ากันครับ โจทย์วันนี้ของเราคือ ถ้าเราใช้ Browser จะยี่ห้ออะไรก็แล้วแต่ครับ เปิดไป ที่ http://bbs.pramool.com/webboard/checksum/index7.php?imgnum=027511150aa7bbd1171c1ae4e1d6e80fcc1681f981fbb2ee1c915983a583d838 Browser ของเราก็จะไป Request ข้อมูลกับทาง Server แล้ว Server ก็จัดให้ตามคำขอครับผม ดูได้จากรูปได้เลยครับ ซึ่ง No.16 ก็คือ Request ของเรานั่นเอง ส่วน No.26 ก็จะเป็นคำตอบของ Server จะเห็นว่า Server [...]
Pango Cause Wireshark Crashed!
Process: wireshark-bin [563] Path: /Applications/Wireshark.app/Contents/Resources/bin/wireshark-bin Identifier: wireshark-bin Version: ??? (???) Code Type: X86 (Native) Parent Process: Wireshark [562] Date/Time: 2008-12-29 10:11:46.068 +0700 OS Version: Mac OS X 10.5.5 (9F33) Report Version: [...]
MPI Programming : ตอนที่ 2
Blocking Communication อันนี้เป็น Prototype ของ MPI_Send และ MPI_Recv ซึ่งเป็นการสื่อสารแบบ Blocking ครับ (มันมี Non-blocking ด้วยไว้ค่อยมาคุยกันอีกทีว่ามันต่างกันยังไงในวันหลังนะครับ) ที่ยกเรื่องนี้มาให้ดูก่อน เพราะตอนหน้าเราจะส่งข้อมูลข้าม Process โดยใช้ MPI (Send & Recv) กันแล้วคร้าบผม int MPI_Send( void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm );
MPI Programming ตอนที่ 1
วันนี้เราลองมาหัดเขียนโปรแกรมแบบ MPI กันดีกว่าครับ ศึกษาจาก Code กันไปเลย ง่ายๆ แต่ MPI คืออะไรล่ะ? มันเป็นแบบนี้ครับ เมื่อเราเขียนโปรแกรมแบบ Parallel Computers ซึ่งก็คือการเขียนโปรแกรมที่ให้ Computer หลายตัวช่วยกันประมวลผล (Cluster Computing) พอมีหลายหน่วยประมวลผลแล้วเราก็ต้องมีการส่งข้อมูลไปมาไงครับ เช่นมีงาน 100 งาน แล้วมี 4 Processors แบ่งกันทำคนละ 25 งาน พอทำเสร็จแล้วก็ต้องเอางานมารวมกัน ก็ต้องอาศัย MPI เนี่ยแหละครับในการส่งข้อมูลระหว่าง Processor อันนี้คือความหมายของ MPI แบบคร่าวๆครับผม MPI = Message Passing Interface แต่วันนี้ยังไม่มีการส่ง Message ครับผม Code ง่ายๆวันนี้ คำอธิบาย Code กด อ่านต่อได้เลยคร้าบบผมม
แนะนำ Ipod touch Clock : Night Stand
Night Stand เป็น Application ที่เอาไว้แสดงเวลาแบบในรูปล่ะครับ ซึ่งมีคุณสมบัติดังนี้ 1. ซึ่งเราสามารถปรับได้ว่าจะเอาสีอะไร (มีแดง เขียว น้ำเงินครับ) 2. ดูได้ทั้งแนวตั้งและแนวนอน 3. แสดง/ซ่อน Day of week 4. แสดง/ซ่อน วินาที 5. ปิด Auto Lock 6. แสดงเวลารูปแบบ 12 หรือแบบ 24 และที่สำคัญฟรีครับ Free หาโหลดได้ใน Store ได้เลยครับ
ข้อสอบ Computer Graphic
ข้อสอบ Midterm 2008 วิชา Computer Graphic ของธรรมศาสตร์ ออกไม่ยากเท่าไหร่ลองโหลดไปดูกันได้
So Faraway
“เราว่าไม่เห็นต้องลืมเลย แค่จำแต่เรื่องดีๆ ชีวิตเราก็มีความสุขได้แล้ว“ วันนี้ได้ดูตัวอย่างหนังสั้น ที่ชื่อว่า So faraway เห็นเค้าเขียนไว้ด้วยนะว่าได้รับรางวัลชนะเลิศการประกวด พอได้ดูก็ชอบแฮะ มีคำนึงที่ฟังแล้วสะดุด “เราว่าไม่เห็นต้องลืมเลย แค่จำแต่เรื่องดีๆ ชีวิตเราก็มีความสุขได้แล้ว” Related Blogs
AdSense Integrator
ถ้าใครมองหา Plugin ที่สำหรับแสดง Google Adsense ใน Blog แล้วล่ะก็ ผมขอแนะนำ AdSense Integrator ครับ เพราะสะดวกดี ไม่ต้องทำอะไรมาก แค่ติดตั้ง แล้วก็เอา Code ของ Google Adsense มาใส่ลงในช่องแล้วก็เลือกตำแหน่งที่จะให้แสดง ง่ายไหมล่ะครับ ^0^
จำนวนเฉพาะ Sequential (Sieve of Eratosthenes)
การหาจำนวนเฉพาะโดยใช้ Sieve Algorithm โดยใช้ Sieve of Eratosthenes โดยมันจะทำงานแบบนี้ อธิบายง่ายๆก็คือมันจะเอาจำนวนเฉพาะไปวนหารจนครบน่ะแหละ
โปรแกรมหาค่า Pi แบบ Parallel
โปรแกรมหาค่า Pi แบบ Parallel โดยคำนวณจากการ Integrate พื้นที่ใต้กราฟนั่นเอง โดย Code นี้ใส่ส่วนที่ทำให้แต่ละ Thread Synchronize ข้อมูลกัน ซึ่งให้เข้าเสียบตัวแปร Sum ทีละ Thread ซึ่ง Codeนี้ จะใช้ omp atomic บน ตัวแปร sum และแต่ละ Thread จะมี local_sum เป็นของตัวเอง ปล. ใช้ OpenMP ร่วมกับภาษา C จ้า
จำนวนเฉพาะ Sequential [2]
#include #include #include #define MAX 10000000 int Prime[MAX]={2,3,5,7,11,13,17,19,23,29}; int found=10; int isPrime(int input); int myFactor[8]={1,7,11,13,17,19,23,29}; int main() { int n=MAX/30; clock_t start, stop; int i; int j=0; int factVal=0; start = clock(); for(i=1;i<=n;i+=1) { for(j = 0; j < 8 ; ++j) { factVal=i*30+myFactor[j]; if(isPrime(factVal) && factVal <= MAX) { Prime[found]=factVal; ++found; [...]
โปรแกรมหาจำนวนเฉพาะแบบ Sequential
#include <stdio .h> #include <math .h> int isPrime(int num); int main() { int i; for(i=2;i< =1000000;++i) { if(isPrime(i)==1) { printf ("%dn",i); } } } int isPrime(int num) { int i; int flag=1; // assume input number is prime for(i=2;i<=sqrt(num);i+=2) { if( (num%i) == 0) { flag=0; break; } } return flag; } โปรแกรมหาจำนวนเฉพาะแบบ Sequential [...]
การเขียนโปรแกรมโดยใช้ MPI (nonblocking-communication)
Non Blocking Communication When using nonblocking send/receives, MPI uses a handle of type MPI_Request to give something that you can later on test against. So the invocation
Cluster – Assignment 1
CS348 Programming Assignment 1 Use hpccluster Out date: Dec 1 100 points Due date: Dec 8 This assignment intends to let you learn how to use cluster computer to run MPI programs. You must download the tucs-hpccluster-user-manual.pdf [...]
Cache Coherence
Cache Coherence คือการทำให้ข้อมูลที่มีอยู่ในแคชของโปรเซสเซอร์ ทุกตัวมีความสอดคล้องกับโปรเซสเซอร์ตัวอื่นๆ Snoop คือการจัดการให้แคชของโปรเซสเซอร์แต่ละตัว คอยฟังว่ามีการร้องขอข้อมูลในหน่วยความจำที่โปรเซสเซอร์กำลังใช้งานอยู่ของโปรเซสเซอร์ตัวอื่นๆทุกตัวหรือไม่ ซึ่งจะทำให้เกิดการติดต่อสื่อสารสถานะของข้อมูล เพื่อประสานงานการใช้ข้อมูลร่วมกันโดยเกิดข้อขัดแย้งน้อยที่สุด แต่จะเกิดปัญหาความล่าช้าบนระบบ Shared-bus เพราะการ snoop จะลด bandwidth ของบัสที่ใช้งานร่วมกัน แต่ในระบบ point-to-point จะมี snoop bus ต่างหาก ทำให้แคชสามารถทำงานโดยไม่ต้องไปรบกวนการทำงานของส่วนอื่นๆ Data Intervention คือเทคนิคที่เพิ่มความเร็วในการประสานการของทำงานของแคช โดยการที่แคชของโปรเซสเซอร์ต้องการอ่านข้อมูลเดียวกัน ที่กำลังใช้งานอยู่และเพิ่งจะเริ่มแก้ไข ก็จะส่งสัญญาณบอกโปรเซสเซอร์อีกตัวให้รอรับข้อมูลที่จะส่งไปให้ ไม่ต้องไปขอจากหน่วยความจำหลักให้เสียเวลา MPP (Massively Parallel Processing) คือสถาปัตยกรรมของการใช้โปรเซสเซอร์หลายตัว โดยที่โปรเซสเซอร์แต่ละตัว จะมีทรัพยากรระบบ(I/O, หน่วยความจำ)ของตนเองเป็นหน่วยๆย่อยมีการควบคุมตนเอง การเชื่อมโยงจะใช้ hardware หรือ software ก็ได้ สามารถขยายสเกลได้ดีมาก แต่ต้องเขียนโปรแกรมใหม่ ไม่สามารถใช้ของเดิมได้ CMP (Cellular MultiProcessing) คือสถาปัตยกรรมของการใช้โปรเซสเซอร์หลายตัว ที่ผสมผสานข้อดีของ SMP และ Clustering เข้าด้วยกัน โดยแบ่งโปรเซสเซอร์ออกเป็นหน่วยเล็ก ที่เรียกว่า subpod (ประกอบด้วย [...]
Document Indexing And Retrieval : Assignment 1
Document Indexing And Retrieval : Assignment 1 เป็นวิชาที่ไม่ได้ลงเรียนแล้ว เขียนโปรแกรมด้วยภาษา groovy (ลองมือ)
Ruby Array with Range : Note
กำลังสงสัยว่า ใน ruby a[0..n] ทำไมมันถึงไม่เหมือนกับ a[0,n] ครับ มันควรจะเหมือนกันไม่ใช่หรอครับ เพราะไปเขียน Merge Sort แล้ว มันให้ผลไม่เหมือนกันเกิด Infinite Loop เลยทีเดียว พอเปิดหนังสือดู อ้าว… เฮ้ย เจ้าตัว operator [ ] ของ array มันก็ให้ผลเหมือนกันนี่หว่า return เหมือนกันเลย หลังจากนั้นก็ลองไปเทสแยกดู ตอนแรก a[0,3] กับ a[0..3] มันเท่ากัน ก็เลย งงว่า มันก็เท่ากันนี่หว่า แต่ลองเช็คอีกทีว่าถ้าเป็น 0,0 มันจะ return อะไร แล้วก็โป๊ะเชะ ที่มันไม่เท่าเพราะ a=["a","b","c","d"] แล้ว >> a[0..0] => ["a"] ส่วน [...]










