กรกฎาคม 2015

Java public static void main(String[] args) { /** your code **/} String[] args เราสามารถกำหนดค่าให้มันก่อนได้

สำหรับนักพัฒนาโปรแกรมสาย Java Programming แล้ว method

public static void main(String[] args) {
	
}

คงคุ้นเคยกันใช่ไหมแต่ถามถึงว่า string[] args ที่ส่งเข้ามามันได้มาจากไหนละ เพราะเริ่มต้นสร้างโปรเจคขึ้นมามันก็ public static void main(String[] args) แล้ว และเราจะใช้งาน arguments ที่ส่งเข้ามาใน method main นี้ได้อย่างไรบ้าง

เพื่อทดสอบการทำงานของโปรแกรม

1. สร้าง project ใหม่ด้วย eclipse

1.1 เมนู File=>New=>Project…=>Java Project

arguments_1

 

กด Finish

2. สร้าง Java Class ขั้นมาผมใช้ชื่อว่า Arguments.java

arguments_2

3.  ใส่ตัวอย่างโค๊ดนี้เข้าไปเพื่อทดสอบ ค่า String[] args ของ Method main เนื่องจาก args เป็นตัวแปรชนิด string array ผมเลยขอใช้ Loop For เพื่อดูค่าของ ตัวแปร args

public static void main(String[] args) {
	System.out.println(" ######เริ่มการทำงานของ method main ######");
	for (int i = 0; i < args.length; i++) {
		System.out.println(" แสดงค่าตัวแปร args ตัวที่ ::==" + i + " มีค่า ::==" + args[i]);
	}
	System.out.println(" ######สิ้นสุดการทำงานของ method main ######");
}

3.1 ทดสอบ Run Program คลิกขวา ที่ไฟล์ Arguments.java => Run As => Java Application

arguments_3

 

ผล

arguments_4

 

นี่คือการทำงานแบบปกติที่ยังไม่ได้ไปกำหนดค่าเข้ามา ต่อไปจะไปกำหนดค่า

4. เลือกเมนู Run => Run Configuration

arguments_5

 

4.1 เลือก Java Application => Arguments และกดเลือก tab (X)=Arguments และลองใส่ค่าเหล่านี้ลงไปเพื่อทดสอบค่า

www.poolsawat.com1 www.poolsawat.com2 www.poolsawat.com3 www.poolsawat.com4 แต่ละคำไห้เว้นช่องว่างกันด้วย เพื่อ แทน [0] [1] …

arguments_6

 

กด ปุ่ม Apply เพื่อบันทึกการเปลี่ยนแปลง

5. ลองสั่ง Run Program คลิกขวา ที่ไฟล์ Arguments.java => Run As => Java Application อีกครั้ง

arguments_7

 

แต่ครั้งนี้ผลการทำงานจะเปลี่ยนไปเพราะ เราไป เพิ่ม Arguments ตอน Run Program

จากตัวอย่างนี้จะทำให้เห็นที่มาของ Arguments string[] args ใน method main ว่าสามารถใส่ค่าได้ แต่เรื่องการนำไปประยุกต์ใช้งานก็แล้วแต่จะเอาไปปรับใช้ตามความเหมาะสม ส่วนตัวผมไม่ได้ใช้งานตัว string[] args นี้เลย

ขอบคุณครับที่ติดตาม

แก้ปัญหา Hibernate 4 เชื่อมต่อ Mysql ของ Webserver Xampp อาการเพิ่มข้อมูลแต่ไม่เป็น UTF-8 (ตอนที่ 2)

เมื่อการแก้ปัญหาเรื่อง encoding utf-8 ที่ไม่เป็นภาษาไทยสักทีวันนี้ผมจะแก้ปัญหานั้นต่อ ถ้าเพื่อนคนใดใช้วิธี ขั้นตอนที่ 1 ไปเรียบร้อยแล้ว

สำหรับการสร้าง web application ด้วย Java ถ้าเน้นหลัก Object Oriented จำต้องพึ่งพา Servlet ฉะนั้นแล้วต้องไป config อะไรกันนิดหน่อย ก่อน

1. สร้าง Java class ขึ้นมา ผมใช้ชื่อว่า UTF8Filter.java

public class UTF8Filter implements Filter {
	private String encoding;

	public void init(FilterConfig config) throws ServletException {
		encoding = config.getInitParameter("requestEncoding");

		if (encoding == null)
			encoding = "UTF-8";
	}

	public void destroy() {
	}

	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException,
			ServletException {
		servletRequest.setCharacterEncoding(encoding);
		filterChain.doFilter(servletRequest, servletResponse);
	}
}

2. mapping filter นีในไฟล์ web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
	<display-name>PoolsawatJSF</display-name>

	<filter>
		<filter-name>CharsetFilter</filter-name>
		<filter-class>com.tss.poolsawatjsf.UTF8Filter</filter-class> <!-- อ้างพาธ package ที่เก็บไฟล์ UTF8Filter.java -->
		<init-param>
			<param-name>requestEncoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>CharsetFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

</web-app>

3. save ไฟล์ web.xml แล้ว restart server ซะเท่านี้ก็จะแก้ไข ปัญหาเรื่อง Encoding UTF-8 ได้แล้ว

 

แก้ปัญหา Hibernate 4 เชื่อมต่อ Mysql ของ Webserver Xampp อาการเพิ่มข้อมูลแต่ไม่เป็น UTF-8 (ตอนที่ 1)

แก้ปัญหา Hibernate 4 + Mysql เพิ่มข้อมูลแต่ไม่เป็น UTF-8

ปัญหานี้อาจจะเปิดกับผู้ที่ใช้ web server  Xampp แต่ใช่ Hibernate 4 เชื่อมต่อกับ Mysql ที่มีใน Xampp แต่แก้เท่าไหร่ปัญหาการเพิ่มข้อมูลภาษาไทยแล้ว ไม่เป็นภาษาไทย

อาการเบื้องต้น

  • ดึงข้อมูลมาแสดงเป็นภาษาไทย
  • สร้างฐานข้อมูล set collection ตอนสร้าง database เป็น utf8_general_ci เรียบร้อยแล้ว
  • set Collation ของ table เป็น utf8_general_ci เรียบร้อยแล้ว
  • ไป config Hibernate โดย

– เพิ่มค่า properties เหล่านี้ในไฟล์ config ของ hibernate

hibernate.connection.characterEncoding : utf8
hibernate.connection.CharSet : utf8
hibernate.connection.useUnicode : true

แต่ยังก็ไม่สามารถแก้ไขได้

– เพิ่มค่า Parameter ไปกับ url hosting

db.url: jdbc:mysql://localhost:3306/poolsawat?UseUnicode=true&amp;characterEncoding=utf8

แต่ยังก็ไม่สามารถแก้ไขได้

 

ถ้าใครมีอาการหรือตั้งค่าแบบเหล่านี้แล้วยังแก้การเพิ่มข้อมูลให้เป็น UTF-8 ไม่ได้ ให้ทำตามข้อปฏิบัติข้างล่างนี้

ผมค้นหา Google ไปเจอ http://mathiasrichter.blogspot.com/2009/10/character-encoding-utf-8-with.html

บอกให้เข้าไปเพิ่มคำสั่งใน my.ini ของ mysql

mysql_unicode

เปิดไฟล์ ขึ้นมา

mysql_unicode_1

 

เลื่อนลงมาประมาณบรรทัดที่ 151 กว่า ๆ จะเจอกลุ่มข้อความ กลุ่มหนึ่งเกี่ยวกับการตั้งค่าการใช้งาน

## UTF 8 Settings

ให้ทำการเปิดการใช้งาน UTF 8 เอา # จากหน้าข้อความ

## UTF 8 Settings
#init-connect=\’SET NAMES utf8\’
collation_server=utf8_unicode_ci
character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir=”C:/xampp/mysql/share/charsets”

แก้เสร็จก็ save จากนั้น restart mysql ลองทดสอบเพิ่มข้อมูล ข้อมูลก็จะเป็นภาษาไทยแล้ว หวังว่าคนที่ประสบปัญหาเดียวกับผมแก้ตามนี้แล้วจะสามารถใช้งานภาษาไทยได้นะครับ

MongoDB กับ Query และ คำย่อของเครื่องหมายพื้นฐาน

mongodb

MongoDB คือ document-oriented database ซึ่งไม่เหมือนฐานข้อมูลแบบเดิมที่เราเคยใช้งานกันมา มีข้อดีเรื่องการรองรับขนาดของข้อมูลได้แบบมหาศาล ดังนั้นเรื่องคำสั่งแน่นอนว่าต้องมีเอกลักษณ์เฉพาะของมันเองด้วยเช่นกัน และสิ่งที่เป็นรูปแบบมาตรฐานคือเรื่องเครื่องหมายที่มีรูปแบบเป็นของตัว MongoDB เอง

 ตัวอย่างที่ไปพบเจอ

db.example.find({'age':{$gt:33,$lte:40}})})




เกิดความสงสัยว่าตัวแปร $gt,$lte คืออะไรและมีความหมายว่าอย่างไร ไปตามค้นหาจนไปเจอ document ของ MongoDB บอกไว้ว่าถ้าต้องการจะใส่เงื่อนไขในการค้นหาข้อมูลก็ให้ใช้ ตัวแปรเหล่านี้แทนเพื่อที่ MongoDB เองจะอ่านเข้าใจและไปค้นหาข้อมูลมาให้ได้ถูก

เครื่องหมายใช้สำหรับเปรียบเทียบ

ชื่อ คำอธิบาย เปรียบได้กับ ตัวอย่าง
$eq  เปรียบเทียบคอลัมน์ที่มีค่าเท่ากับ ค่าที่ระบุ ==
db.example.find( { col1: { $eq: 20 } } )
 $gt  เปรียบเทียบคอลัมน์ที่มีค่าที่มากกว่า ค่าที่ระบุ >
db.example.find( { col1: { $gt: 20 } } )
 $gte  เปรียบเทียบคอลัมน์ที่มีค่าที่มากกว่าหรือเท่ากับ ค่าที่ระบุ >=
db.example.find( { col1: { $gte: 20 } } )
$lt  เปรียบเทียบคอลัมน์ที่มีค่าน้อยกว่า ค่าที่ระบุ  <
db.example.find( { col1: { $lt: 20 } } )
$lte  เปรียบเทียบคอลัมน์ที่มีค่าที่น้อยกว่าหรือเท่ากับ ค่าที่ระบุ  <=
db.example.find( { col1: { $lte: 20 } } )
$ne เปรียบเทียบคอลัมน์ที่มีค่าทั้งหมดที่มีไม่เท่ากับค่าที่ระบุ !=
db.example.find( { col1: { $ne: 20 } } )
$in เปรียบเทียบคอลัมน์ที่มีค่าตรงกับค่าใด ๆ ที่ระบุไว้ในอาร์เรย์ == []
db.example.find( { col1: { $in: [10,20] } } )
$nin เปรียบเทียบคอลัมน์ที่มีค่าไม่ตรงกับค่าที่ระบุในอาร์เรย์ !=[]
db.example.find( { col1: { $nin: [10,20] } } )

เครื่องหมายที่ใช้เชิงตรรกะ

ชื่อ คำอธิบาย เปรียบได้กับ ตัวอย่าง
$or เปรียบเทียบแบบเลือกอย่างใดอย่างหนึ่ง OR || หรือ
db.example.find( { 
$or: [ { quantity: { $lt: 20 } }, { price: 10 } ] 
} )
$and  เปรียบเทียบแบบจำเป็นต้องเลือกข้อมูลที่เข้าเงื่อนไขทั้งหมด AND || และ
db.example.find( { 
$and: [ { price: { $ne: 1.99 } }, { price: { $exists: true } 
} ]
$not   เปรียบเทียบแบบต้องการข้อมูลที่ไม่เข้าเงือนไขทั้งหมด NOT || ไม่ต้องการ
db.example.find( { 
price: { $not: { $gt: 1.99 } } 
} )
$nor  เปรียบเทียบแบบข้อมูลทั้งหมดที่ไม่ตรงกับคำสั่งทั้งสอง NOR || ไม่ต้องการ
db.example.find( { 
$nor: [ { price: 1.99 }, { sale: true } ] 
} )




นอกจากนี้ยังมีพวก เปรียบเทียบ Element,Evaluation,Geospatial,Array และคอมเม้นคำอธิบาย Comments ข้อมูเหล่านี้สามารถไปเข้าไป API Document ของ MongoDB ได้เพิ่มเติมจาก docs.mongodb.org

PHP การเชื่อมต่อฐานข้อมูลแบบ PDO

logo_pdo

ครั้งเมื่ออดีตตราบจนถึงปัจจุบัน PHP Programming Language ก็มีการพัฒนาอยู่ตลอดเวลาจนปัจุบันก็อยู่ที่ เวอร์ชัน 5.6 แต่ยังไม่ได้รับความนิยมเทียบเท่าเวอร์ชัน 5.4 กับ 5.5 ก็จะยังมีผู้ใช้งานเยอะกว่า (ถ้าอยากจะอัพเกรดครั้งนี้ก็คงจะไปเวอร์ชั่น 7) แต่ถ้าถามว่า Hosting ในไทย ที่สนันสนุนเวอร์ชั่น 5.4, 5.5, 5.6 อาจจะยังมีน้อย




เรื่องการสนันสนุนปรับปรุงภาษาทีมพัฒนาเขายังสนันสนุนเวอร์ชั่น 5.4, 5.5, 5.6 ต่อไป แต่จะเลิกสนันสนุน เวอร์ชั่น 5.3 อย่างเต็มตัวข้อดีที่สำคัญของเวอร์ชัน 5.6 พัฒนาปรับปรุงเรื่องความปลอดภัยให้ดีขึ้น มาดูทางทีมพัฒนากันเขามีแผนการพัฒนา สนันสนุน PHP อย่างไรบ้าง

SUPPORT_PHP

 

แอบมาดูในอนาตคของ PHP 7 ในอนาคตว่ามีอะไรเพิ่มมาบ้าง

  • แน่นอนเรื่องความเร็วต้องเร็วกว่า PHP 5.6 แน่นอน
  • สนันการทำงานของเครื่อง 64 bit
  • กำจัดข้อผิดพลาดต่างๆ ที่มีใน PHP เวอร์ชั่น 5
  • ยกเลิก SAPIs and extensions (พวก php_mysql extension) จะไม่มีอีกต่อไป
  • เพิ่ม  Syntaxes  ?? , <=>, Group use (อันนี้ต้องมาดูกันจริงแล้วจะเอาไว้ใช้แบบใดกันแน่)

 

แล้วถ้า PHP เวอร์ชั่น 5.5 ขึ้นไป รวม PHP 7 ที่กำลังจะมาจะไม่มี php_mysql extension แล้วละพวกเราจะทำอย่างไร

ซึ่งปัญหานี้มีทางออกแล้วทางทีมพัฒนาก็แนะนำให้หันมาใช้ PDO หรือไม่ก็ mysqli จะมาแก้ปัญหานี้

The PDO class คืออะไร

pdo เป็น class extension เสริมที่ทางทีมพัฒนา PHP เขาสร้างขึ้นมาเพื่อช่วยเหล่านักพัฒนาให้ทำงานได้อย่างเป็นระบบ และมีความปลอดภัยมากขึ้น มีหน้าที่เชื่อมต่อระหว่าง PHP และเซิร์ฟเวอร์ฐานข้อมูล ให้มีการทำงานเป็นลักษณะ Object ซึ่ง PHP ก็รองรับการเขียนโปรแกรมแบบ Object มากยิ่งขึ้น และนอกจากนั้นจำทำให้เราพัฒนาตัวเองให้สามารถเขียนโปรแกรมในระดับที่สูงขึ้นได้เช่นกัน

สรุปฟังก์ชันการทำงาน

PDO {
public __construct ( string $dsn [, string $username [, string $password [, array $options]]] )
public bool beginTransaction ( void )
public bool commit ( void )
public mixed errorCode ( void )
public array errorInfo ( void )
public int exec ( string $statement )
public mixed getAttribute ( int $attribute )
public static array getAvailableDrivers ( void )
public bool inTransaction ( void )
public string lastInsertId ([ string $name = NULL ] )
public PDOStatement prepare ( string $statement [, array $driver_options = array() ] )
public PDOStatement query ( string $statement )
public string quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )
public bool rollBack ( void )
public bool setAttribute ( int $attribute , mixed $value )

}




ตารางการเปรียบเทียบ

การทำงาน รูปแบบ ตัวอย่าง
เชื่อมต่อฐานข้อมูล php_mysql
$link = mysql_connect('localhost', 'user', 'pass');
mysql_select_db('testdb', $link);
mysql_set_charset('UTF-8', $link);
pdo
$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
เพิ่มข้อมูล php_mysql
$result = mysql_query("INSERT INTO table (col1,col2) VALUES ($alue1,$value2));
pdo
$stmt = $db->prepare("INSERT INTO table (col1,col2) VALUES (:value1,:value2)");
$stmt->bindValue(':value1', $value1, PDO::PARAM_STR);
$stmt->bindValue(':value2', $value2, PDO::PARAM_STR);
$stmt->execute();
แก้ไขข้อมูล php_mysql
$result = mysql_query("UPDATE table SET col1 = $value1 WHERE id = $id");
pdo
$stmt = $db->prepare("UPDATE table SET col1 =:value1 WHERE id =:id");
$stmt->bindValue(':value1', $value1, PDO::PARAM_STR);
$stmt->bindValue(':id', $id, PDO::PARAM_STR);
$stmt->execute();
ลบข้อมูล php_mysql
$result = mysql_query("DELETE FROM table WHERE id =".$id);
การคิวรี่ข้อมูล php_mysql
$result = mysql_query("SELECT col1, col2, col3 FROM table_name");
while($row = mysql_fetch_assoc($result)) {
//Process each row here
}
 pdo
$sth = $pdo->prepare("SELECT col1, col2, col3 FROM table_name");
$sth->execute();
while($row = $sth->fetch(PDO::FETCH_ASSOC)) {
//Process each row here
}
pdo
$stmt = $db->prepare("DELETE FROM table WHERE id=:id");
$stmt->bindValue(':id', $id, PDO::PARAM_STR);
$stmt->execute();
คิวรี่ข้อมูล php_mysql
$result = mysql_query("SELECT col1, col2, col3 FROM table_name");
while($row = mysql_fetch_assoc($result)) {
//Process each row here
}
pdo
$sth = $pdo->prepare("SELECT col1, col2, col3 FROM table_name");
$sth->execute();
while($row = $sth->fetch(PDO::FETCH_ASSOC)) {
//Process each row here
}




นี่ก็คือตัวอย่างบางส่วนสำหรับการเปรียบเทียบการใช้งาน php_mysql กับ pdo การฝึกฝนบ่อยๆจะทำให้เกิดความชำนาญ และความเชียวชาญที่เพิ่มขึ้นขอให้สนุกกับการเขียนโปรแกรมนะครับ

ไหว้พระ 3 วัด ณ อยุธยา ครับผมมมมม

สวัสดีค่ะ เราเป็นเพื่อนสนิทคิดไม่ซื่อกับเจ้าของเว็บนี้ ^^ โดนบังคับมาเขียน เขียนครั้งแรกเลย

ไม่รู้ว่าจะอ่านรู้เรื่องกันไหม หากผิดพลาดประการใด ขออภัยไว้ด้วยนะค่ะ

 

เริ่มเลยแล้วกันเนาะ  วันเสาร์ที่ผ่านมา (11 ก.ค 2558)  ได้มีโอกาสไปไหว้พระที่อยุธยามาค่ะ

มีเวลาเพียงครึ่งวันบ่าย  จึง search หารีวิวต่าง ๆ จาก Google แล้วก็เจอ ไหว้พระ 9 วัดอยุธยา วันเดียวแบบไม่งง….

เดินทางที่แรกตามรีวิวเลย คือ มาถึง วัดใหญ่ชัยมงคล คนขับรถขอถ่ายรูปก่อนเลยน้าส์ ชิชิ

20150711_142240

ก่อนเข้าวัด เดินทางมาเหนื่อยขอไปหาของกินก่อน รีวิวแนะนำ “ก๋วยเตี๋ยวไก่ฉีก” หน้าวัดใหญ่ฯ ก็ไปกันโล้ดดดดด

20150711_141137 20150711_140836

(กินไปแล้วเกือบลืมถ่ายเลย เหอะๆๆ กินน้อยประหยัดงบ สองคน 105 บาท มื้อนี้ รสชาติอร่อยใช้ได้ค่ะ)

กินเสร็จแล้วมาไว้พระกันเลยจร้า… ขึ้นไปปิดทองพระที่เจดีย์ค่ะ และเดินเที่ยวรอบเจดีย์ กับแสงแดดที่ร้อนๆ แต่มีลมพัดเย็นดีค่ะ

1

เดินลงมาด้านล่าง บรรยายกาศร่มรื่นเย็นสบาย แวะนั่งพักสักแปบ แล้วมาไหว้พระปิดทองที่ข้างล่างต่อค่ะ

นักท่องเที่ยวเยอะมากวันนี้ ทั้งคนไทยและชาวต่างชาติ

—————————————————————————————————————————————–

ไหว้พระวัดใหญ่ชัยมงคลเสร็จแล้วไปต่อที่วัดที่สองงงงง……… วัดพนัญเชิงวรวิหาร

วัดนี้ออกแนวจีนหน่อยจร้า  มีหลวงพ่อโตที่ถือกันว่าเป็นพระโบราณคู่บ้านคู่เมืองกรุงศรีอยุธยา

2

เราทั้งสองก็ได้ไหว้พระ ปิดทอง หล่อเทียน และ เติมน้ำมันตะเกียง-ตักบาตรพระประจำวันเกิด เป็นวิธีทำบุญอย่างหนึ่งโดยการบูชาน้ำมันมาเติมลงในตะเกียง ด้วยความเชื่อว่าจะทำให้เป็นการต่อชะตาเสริมมงคลแก่ชีวิตให้โชติช่วงชัชวาลจร้า

—————————————————————————————————————————————-

วัดที่สาม ตั้งใจจะไปวัดแม่นางปลื้ม แต่ขับพาวัดนี้ที่เป็นโบราณสถาน เห็นนักท่องเที่ยวเยอะ และน่าสนใจจึงเบรครถ

แล้วรีบจอดลงไปกันเลยค่ะ……แต่จอดไกลหน่อย เดินไกลเลย T.T กับแดด เปรี้ยง เปรี้ยง แต่เราก็สู้ ท้าแดด

เพราะคงไม่ดำกันไปกว่านี้แล้ว อิอิ ลืมบอกชื่อวัดเลย วัดนี้คือ วัดมหาธาตุ  เป็นวัดที่มีเศียรพระพทุธรูปในต้นไม้

มีชาวต่างชาติมาเที่ยวชมเยอะมาก ที่นี้เก็บค่าเข้าชมด้วยนะ แต่ไม่แพง คนไทย สิบบาท ชาวต่างชาติ ห้าสิบบาท……

3

—————————————————————————————————————————————-

ไหว้พระครบ 3 วัดแล้ว ไปต่อวัดที่สี่ค่ะ ที่วัดแม่นางปลื้ม แต่เข้าไปแล้วเหมือนวัดปิดเลย จึงขับออกมาไม่ได้ไหว้พระเลยค่ะ

ออกจากวัดแม่นางปลื้มมา ก็มุ่งหน้ากับรังสิตกันเลยค่ะ ที่พลาดไม่ได้ต้องแวะซื้อโรตีสายไหมอยุธยากลับมาด้วยจร้า ^^

จบทริปเล็ก ๆ ของเราสองคน ไหว้พระ 3 วัด ณ อยุธยา แล้วค่ะ ถ้ามีทริปหน้าจะนำมาแชร์อีกนะค่ะ…….(ขออภัยภาพถ่ายจากมือถือ อาจจะไม่ชัดเท่าไหร่นะค่ะ)

Maven คืออะไร และการติดตั้งเพื่อใช้งานเบื้องต้น

maven logo

 

Maven คืออะไร
Maven เป็นเครื่องมือการบริหารจัดการโครงการซอฟแวร์ เอาง่ายๆก็เอาไว้จัดการ library ที่ใช้กับโปรเจคอันใหญ่โตมโหฬารของเรา ซึ่งเจ้า maven เนื่ยจะเข้ามาช่วยจดการควบคุม Library เช่นการจะเพิ่ม Library ลบ หรือแม้แต่จะแก้ไข (การจะเพิ่มเวอร์ชั่น หรือ ลดเวอร์ชั่น ของ Library) ก็สามารถทำได้ง่ายมาก โดยไม่ต้องไปตามหาโหลดไฟล์ Library จากเว็บ ต้องนำไฟล์นั้นมา Extract File ย้ายไฟล์เข้ามาในโปรเจค แล้วสุดท้ายยังต้องมากำหนด path file ให้โปรเจคของเรารู้จักว่าไฟล์อยู่ที่ไหน ซึ่งนั้นมันยุ่งยากซึ่งกว่าจะใช้งานได้ก็ใช้เวลาไปหลายนาที แต่ทำไมเรายังต้องใช้วิธีการแบบนั้นอยู่ละ ลองมาดูกันว่า maven มาช่วยเราได้อย่างไร

ขั้นตอนการติดตั้งเบื่องต้น

1. ขั้นแรกเราก็เข้าไปเว็บ Maven กันก่อน เปิดเว็บ Maven ซึ่ง Maven เป็นการพัฒนาของค่าย Apache ทีมพัฒนา Open Source อยู่แล้ว

1.1 กด เมนู Download แล้วจะเจอหน้านี้

maven_1

1.2 โหลดมาแล้ว Extract File ซะ

maven_3

2.  ไปจัดการ Environment เพื่อให้เครื่องเรารู้จักกับ Maven

2.1 คลิกขวาที่ My computer

2.2 เลือก Properties

2.3 เลือก Advance System Setting

maven_4

 

2.4 เลือก Environment Variable…

maven_5

 

2.5 กด New ใส่ Valiable name : M2_HOME ,Variable value : ..path..\apache-maven-3.3.3

maven_6

 

2.6 set path โดยเพิ่ม

%M2_HOME\bin%

เข้าไป

maven_7

 

2.6.1 กดปุ่ม OK

3.  ตรวจสอบการตั้งค่า เปิด command line ขึ้นมา พิมพ์

mvn --version

 

maven_8

 

3.1  ใครตรวจสอบแล้วขึ้นข้อมูลมาแสดงว่าติดตั้งและตั้งค่าสำเร็จ

 

ตอนต่อไปเราจะมาเริ่มการใช้งาน Maven กับ Tools Eclipse กันและติดตามกันนะครับ

Slim Framework และ HelloWorld บน Slim

SlimMicroFramework

Slim Framework คือ Framework ทางฝั่ง PHP Programming Language …

  • ติดตั้ง Slim

1. การจะเริ่มใช้งาน Slim Framework เบื้องต้นมีวิธีการติดตั้ง 2 แบบ คือ

– ติดตั้งผ่าน Composer คือไร (ตัวอย่างนี้จะขอเลือกวิธีนี้ในการ นำเสนอ)

– โหลดไฟล์ Zip Archive File Download Zip

*** ขอนำเสนอตัวอย่างนี้ด้วยวิธี การติดตั้ง ผ่าน Composer ต้องทำการติดตั้ง Composer ก่อน และ ติดตั้ง Web Server ที่รองรับ Php Web base (แนะนำ Xampp เวอชั่นล่าสุดนะดีครับ)

2. สร้าง โปรเจค

-> C:\xampp\htdocs\helloslim (ถ้าใครติดตั้ง Web server Xampp ก็ให้ไปสร้างไว้ใน C:\xampp\htdocs )

3.  cmd เข้าไป C:\xampp\htdocs\helloslim

slim_1

 

3.1 รอ…

slim_2

4.  ตรวจสอบไฟล์ ก่อนว่าติดตั้งสำเร็จหรือไม่

slim_3

 

ได้แบบนี้ก็สำเร็จ

  • เริ่ม Hello World กับ Slim

1.  สร้างไฟล์ 2 ไฟล์

  • index.php
  • .htaccess

slim_4

 

และเปิด Project ขึ้นมา

 

2.  เพิ่มโค๊ด เข้าไปในไฟล์ index.php

slim_6

 

และ เพิ่มโค๊ดที่ไฟล์  .htaccess

slim_7

 

3.  ทดสอบ Hello World กัน

slim_8

 

4. ได้มาแล้ว Hello World

ไม่ยากใช่ไหมละครับ ลองนำไปเล่นดูนะครับ ขอให้สนุก

เริ่มการติดตั้ง MongoDB เบื้องต้น

MongoDB คืออะไร

MongoDB เป็น database แบบ NoSQL ก็กำเนิดเกิดขึ้นเมื่อ ปี 2541  โดยนาย Carlo Strozzi ให้นิยามของ MongoDB นี้ว่า

เป็นระบบ database ที่ทำงานโดยมีความสัมพันธ์กัน(relational) แต่ว่าทำงานได้เบากว่ามาก และไม่ได้ใช้ภาษา SQL ในการทำงาน

ข้อดี-ข้อเสีย MongoDB

  • เก็บข้อมูลแบบ Document – คือการเก็บข้อมูลในรูปแบบที่เป็น Pattern แบบมีโครงสร้าง (แตกต่างกับ Mysql ที่เก็บข้อมูลแบบหลายมิติ แต่ MongoDB จะเก็บข้อมูล แบบ Array คือจะเป็นแบบมิติเดียว)
  • รองรับการทำ Full Index – มีข้อดีในการ search หาได้อย่างรวดเร็วกับข้อมูลที่มีปริมาณมหาศาล
  • รองรับ การขยายขนาด และ รองรับการทำงานหนักๆ – เพราะว่าเน้นรองรับงานหนัก และ ปริมาณข้อมูลมากๆ สามารถขยายขนาดได้อย่าวรวดเร็ว
  • ทำระบบสำรองได้ง่าย – เราสามารถเพิ่มระบบเพื่อทำงานเป็นตัวหลัก ตัวรอง หรือว่า เป็นหลายๆตัวช่วยกันทำงาน ได้อย่างง่ายๆ ไม่ต้องตั้งค่าอะไรเยอะแยะ
  • การเรียกข้อมูลมากแสดง – อย่างที่บอกว่า เป็นการเก็บข้อมูลแบบโครงสร้าง ดังนั้นเวลาเรียกข้อมูลมาแสดงก็จะได้ทั้งโครงสร้างของข้อมูลออกมาเลย
  • แก้ไขข้อมูลได้รวดเร็ว – หากเราใช้ MySQL แล้วศึกษาลึกๆ จะพบว่าการ query update จะทำให้ตารางนั้น lock จังหวะที่ update แต่ว่า MongoDB ไม่เป็นอย่างนั้น
  • เขียนชุดคำสั่งการทำงานได้ – หากเรามีการทำงานหลายขั้นตอน แบบซ้ำๆ เมื่อเกิดการทำงานในลักษณะแบบใด เราก็จัดกลุ่มคำสั่งที่ทำซ้ำๆแล้วเขียนเหมือนเป็น script เอาไว้เลย เวลานันก็รันทั้งก้อนนี้เลย
  • เก็บข้อมูลด้วยระบบ GridFS – เป็นระบบการเก็บไฟล์บนพื้นที่ Harddisk ที่เก็บข้อมูลเป็นก้อนๆ และรองรับการเพิ่มหรือลดของปริมาณข้อมูลได้
  • มีบริการสอบถามและดูแลเป็นพิเศษ – มี service ดูแลอย่างดีเป็นพิเศษ ให้คำปรึกษาพร้อมดูแลอย่างใกล้ชิด โดยบริษัท 10gen, Inc แต่ก็แน่นอนว่าไม่ฟรีนะสำหรับการบริการพิเศษแบบนี้

เริ่มการติดตั้ง MongoDB บน Windown

1.  ดาวน์โหลด MongoDB : https://www.mongodb.org/downloads

download_mongodb

 

2. ติดตั้ง

mongodb_install_1

2.1  กด Next จนเสร็จสิ้น
mongodb_install_finish

 

2.2 กด Finish

3.  เปิด cmd เข้าไปที่ path ของ mongoDB ที่ติดตั้ง (ถ้าตอนติดตั้งไม่ได้เปลี่ยนแปลงค่า จะเป็น C:\Program Files\MongoDB\Server\3.0\bin)

โดย พิมพ์

=> cd C:\Program Files\MongoDB\Server\3.0\bin [Enter] (แล้วแต่จะ ติดตั้งไว้ที่ใดของเครื่อง)

cmdcd mongo 3.1  จะใช้งานฐานข้อมูลของ MongoDB ได้จำเป็นต้องมีที่เก็บข้อมูล ให้เราไปสร้าง directory เก็บข้อมูลก่อน ในที่นี่ ผมขอใช้

mkdir \data\db จะได้ (C:data\db)

3.2  จากนั้นก็ไปกำหนดให้ MongoDB รู้จักที่เก็บฐานข้อมูลก่อน โดย พิมพ์

=> mongod.exe dbpath “C:data\db” [Enter]

3.3 ทดสอบการติดตั้ง โดยพิมพ์

=> mongod [Enter]  (MongoDB Server Start)

mongodb_start_server

ถ้าขึ้นแบบนี้แสดงว่า MongoDB Server Start แล้ว

ศึกษาข้อมูลเพิ่มเติม :: mongoDB manual

แนะนำแหล่งศึกษาเพิ่มเติม :: http://www.tutorialspoint.com/mongodb