[ebook] Artificial Intelligence: A Modern Approach

Một quyển sách về AI rất nổi tiếng, được sử dụng giảng dạy ở hầu hết các trường đại học trên thế giới.

đối với các bạn muốn làm quen với lĩnh vực trí tuệ nhân tạo, thì đây là một cuốn sách không thể thiếu trong máy tính của các bạn.

let's enjoy

Download theo link sau:
http://www.mediafire.com/?zjnh2hltmvy

---
name: nguyen minh hoang
Y!M : vietnam_hoangminhnguyen@yahoo.com
net name: mathhoang
site: mathhoang.tk or kattyflea.co.cc

[ebook] PHP Object Oriented Solutions

lập trình hướng đối tượng với php

download tại: http://www.mediafire.com/?2gmjynynmgm

---
name: nguyen minh hoang
Y!M : vietnam_hoangminhnguyen@yahoo.com
net name: mathhoang

hướng dẫn debug chương trình với GDB

GDB là một chương trình debug, gỡ rối chương trình rất phổ biến đối với công việc lập trình trong linux.
Chúng ta sẽ đi tìm hiểu sơ lược về cách sử dụng chương trình.

Giả sử ở đây, chúng ta có file main.c với nội dung như sau

#incldue
int main()
{
int date= 22;
int month= 12;
int year = 2010;
printf(“\n***********************************”);
printf(“\n*** hello all ***”);
printf(“\n*** chung ta se cung tim hieu ve GDB ***”);
printf(“\n***********************************”);
printf(“\n@copyright mathhoang ngay %d thang %d nam %d”,date,month,year”);
return 1;
}
------------------------------------------
sử dụng gcc để biên dịch chương trình thành file thực thi, chú ý là các bạn phải thêm option [-g] để cho phép chạy debug.
Lệnh compile như sau:

$ gcc -o -g main main.c

------------------------------------------
sau khi compile xong, chúng ta sẽ được file thực thi main.
Để bắt đầu debug file thự thi
$ gdb [ten_file_thuc_thi]

ví dụ;
$gdb main

------------------------------------------
trong console của GDB, để thực thi các lệnh của linux

(gdb) shell [lenh_linux]

ví dụ:
(gdb) shell clear
(gdb) shell ls

------------------------------------------
để set break point ở một vị trí nào đó:

(gdb) break [so_dong]
hoặc
(gdb) break [ten_ham]
ví dụ:
cần đặt breakpoint tại dòng thứ 10 trong main.c
(gdb) break 10

hoặc đặt breakpoint tại hàm main
(gdb) break main

------------------------------------------
để xóa breakpoint
(gdb) delete [so_thu_tu_break_point]

ví dụ
xóa breakpoint thứ 2
(gdb) delete 2

------------------------------------------
sau khi đã đặt breakpoint( hoặc ko cần đặt breakpoint tùy cách chúng ta debug), thì chúng ta bắt đầu chạy chương trình bằng lệnh sau
(gdb) run

------------------------------------------
muốn xem chương trình đã dừng ở đâu
(gdb) list

ở ví dụ của chúng ta chỉ có hàm main, do đó khi dùng lệnh list thì sẽ hiển thị duy nhất các dòng code của hàm main. Còn nếu chương trình đang chạy ở 1 function nào đó, ví dụ function aaaa thì sẽ list code của function đó.

------------------------------------------
chúng ta muốn chương trình chạy dòng lệnh kế tiếp thì trong gdb gõ
(gdb) next [so_dong]

nếu không có [so_dong ] thì dòng lệnh kế tiếp dòng lệnh hiện tại được thực thi, còn nếu có [so_dong] thì chương trình sẽ thực thi từ dòng lệnh hiện tại tới dòng lệnh [so_dong]

------------------------------------------
muốn chạy vào bên trong thân hàm
(gdb) step

------------------------------------------
muốn quay lại đầu hàm thì dùng lệnh
(gdb) return

------------------------------------------
muốn chương trình thực thi tiếp cho đến breakpoint kế hoặc đếnt hết chương trình
(gdb) continue

------------------------------------------
trong quá trình chạy debug chúng ta muốn xem một biến có giá trị bằng bao nhiêu
(gdb) display [ten_bien]

ví dụ: trong hàm main của chúng ta có biến date, mà muốn xem biến này chúng ta thực hiện lệnh
(gdb) display date

------------------------------------------
muốn in giá trị của 1 biến trong console
(gdb) print [ten_bien]

ví dụ
(gdb) print date

------------------------------------------
muốn in địa chỉ của biến
(gdb) print &[ten_bien]

ví dụ
(gdb) print &date

------------------------------------------
hiển thị kiểu dữ liệu của biến
(gdb) ptype [ten_bien]
hoặc
(gdb) whatis [ten_bien]

ví dụ
(gdb) ptype date

------------------------------------------
gán giá trị cho 1 biến
(gdb) set variable [ten_bien] = [value]
(gdb) continue

ví dụ:
(gdb) set variable date = 15
(gdb) continue

------------------------------------------
compile lại file thực thi
(gdb) make

---
name: nguyen minh hoang
Y!M : vietnam_hoangminhnguyen@yahoo.com
net name: mathhoang

[ebook]PHP for Absolute Beginners by Jason Lengstorf

với các bạn mới bắt đầu bước vào thế giới php
thì đây là 1 cuốn sách lý tưởng cho các bạn khởi đầu
sách viết đơn giản, với nhiều ví dụ minh họa sẽ giúp cho các bạn dễ dàng
nắm bắt nhanh chóng php để thỏa mãn niềm đam mê lập trình web của mình

các bạn download tại địa chỉ bên dưới:

http://depositfiles.com/en/files/yl8by7pbx%20%5Bcode%5Dhttp://sharingmatrix.com/file/394472

hoặc download link mediafire bên dưới:

http://www.mediafire.com/?jzi2zj5yitj


---
name: nguyen minh hoang
Y!M : vietnam_hoangminhnguyen@yahoo.com
net name: mathhoang

[ebook] PHP Objects, Patterns and Practice, 3rd Edition by Matt Zandstra

một quyển sách rất hay với các pạn lập trình php chuyên nghiệp cũng như không chuyên:
PHP Objects, Patterns and Practice, 3rd Edition . Theo mình đánh giá thì đây là một quyển sách đáng để các bạn đọc và làm sách gối đầu giường cho mình :)

các bạn download tại link bên dưới:

http://www.mediafire.com/?ytzonkxzmmk


thanks so much Matt Zandstra

---
name: nguyen minh hoang
Y!M : vietnam_hoangminhnguyen@yahoo.com
net name: mathhoang

Iterative and Incremental development

I – Giới thiệu
Iterative and Incremental development là phương pháp cốt lõi của tiến trình phát triển phần mềm theo chu kỳ. Iterative and Incremental development được phát triển nhằm bù đắp lại những điểm yếu của phương pháp waterfall model. Phương pháp này thường bắt đầu bằng một kế hoạch khởi tạo ban đầu và kế thúc bằng việc triển khai cùng với những tương tác giữa những chu kỳ.
--- đọc tiếp bên dưới ---



-----
welcome mọi feedback của các pạn ^ ^
================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
site: http://h3dgroup.com
blog: http://kattyflea.co.cc
================================================

TimeBoxing là gì ?

timeboxing là một kỹ thuật lập kế hoạch phổ biến trong việc lên kế hoạch cho 1 project( chủ yếu được dùng trong phát triển phần mềm), trong phương pháp này thì schedule được chia thành một số giai đoạn nhỏ ( mỗi giai đoạn được gọi là một timebox, thông thường thời gian cho các giai đoạn này là tư 1 tuần tới 6 tuần), mỗi giai đoạn sẽ phải có deliverable, deadline và budget cho nó.

- trong RAD( rapid application development ) thì timebox được xem như là thành phần cốt lõi để lên kế hoạch phát triển phần mềm.

- timebox được sử dụng như là hình thức quản lý rủ ro, đặc biệt là những công việc mà có khả năng mở rộng hoặc kéo dài thời gian deadline => thời gian deadline trong việc nên kế hoạch ko nên thay đổi bởi vì nó sẽ ảnh hướng tới ngày delivery sản phẩm.

- khi một deadline mà bị trễ thì những giải pháp sau có thể được áp dụng
---------- bỏ đi những requirement mà ảnh hưởng ít tới project
---------- làm việc OT để bù lại khoảng thời gian đã mất
---------- di dời deadline

================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: hoang.nguyen@h3dgroup.com
site: http://h3dgroup.com
blog: http://kattyflea.co.cc
================================================

TimeBoxing là gì ?

[CakePHP]HasAndBelongsTo trong cakephp

một chút về quan hệ many-to-many trong cakephp thể hiện dưới dạng hasAndBelongsTo

==============



================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk or kattyflea.co.cc
blog: mathhoang.tk or mathhoang.blogspot.com
================================================

Đặc trưng của smarty

1- Biến modifiers
- khi hiển thị nội dung trên 1 website, chúng ta có thể muốn thay đổi một số thứ theo thời gian hoặc thay đổi định dạng của 1 dòng text, thêm dòng text => với smarty chúng ta ko cần phải vào modify code mà chỉ cần thay đổi nội dung của biến

2-

[CakePHP][Ebook] Begining CakePHP From Novice to Professional by David Golding

Với Practical CakePHP Projects đòi hỏi pạn phải biết một chút về CakePHP
nhưng với Beginning CakePHP From Novice to Profesional của David Golding
thì những bạn chưa có nền tảng về CakePHP sẽ dễ dàng đọc hơn trước khi đến với
Practical CakePHP

Không dài dòng, lôi thôi => hãy download tài liệu này tại đây để bổ sung vào kho sách của mình một trong những tài liệu hay về CakePHP

Let's enjoy !!!!


================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk or kattyflea.co.cc
blog: mathhoang.tk or mathhoang.blogspot.com
================================================

[CakePHP][Ebook] Practical CakePHP Projects

Practical CakePHP projects là cuốn sách rất hay
giúp bạn tạo những trang web thực tế
ngoài ra, với những kiến thức mà cuốn sách cung cấp
pạn có thể dễ dàng lắm bắt cakephp để tự xây dựng một website cho chính mình
hoặc thậm chí xây dựng một CMS hoàn chỉnh.

download tại đây

hoặc qua server megaupload tại đây

Let's enjoy CakePHP through this book !!!

================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk or kattyflea.co.cc
blog: mathhoang.tk or mathhoang.blogspot.com
================================================

[CakePHP]Sử dụng Tree behavior trong CakePHP

1. Yêu cầu
Để sử dụng được tree behavior, thì database của bạn phải có 3 field sau:
parent – tên mặc định là parent_id, nó được dùng để lưu trữ id của parent
left – tên mặc định là lft, để lưu trữ giá trị trái của hàng hiện tại
right – tên mặc địnhl là rght, được dùng để lưu giá trị phải của hàng hiện tại

========== đọc tiếp bên dưới ==========


================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk or kattyflea.co.cc
blog: mathhoang.tk or mathhoang.blogspot.com
================================================

Lưu trữ dữ liệu phân cấp trong table database ( hierarchical data in table database )

1. Giới thiệu
Bất cứ khi nào chúng ta muốn xây dựng forum, gửi các message từ mail list trên website, viết CMS: sẽ có một lúc nào đó chúng ta sẽ muốn lưu trữ dữ liệu phân cấp trong 1 database ( trong tài liệu này dữ liệu phân cấp sẽ được hiểu là : hierarchical data ).
Việc lưu trữ có thể thực hiện thông qua XML ( một kiểu lưu trữ dữ liệu theo kiểu cấu trúc phân cấp), rất phù hợp với dữ liệu phân cấp. vậy còn đối với table database thì sao, rõ ràng như chúng ta thấy thì tables không phải là kiểu lưu trữ dữ liệu phân cấp mà nó lưu dưới dạng các mối quan hệ giữa các bảng => tables chỉ là kiểu flat list.
Vậy thì làm sao chúng ta lưu được dữ liệu kiểu phân cấp trong một table, trong bài hướng dẫn này chúng ta sẽ cùng tìm ra cách để làm chiện đó )
Lưu trữ dạng cây là một vấn đề hết sức phổ biến với những giải pháp lưu trữ khác nhau. Nhưng vẫn có 2 cách tiếp cận việc lưu trữ dữ liệu dạng cây mà hay được sử dụng đó là:
+ mô hình danh sách kế cận ( the adjacency list model )
+ thuật toán duyệt cây theo thứ tự đã được định trước đó..
..............[đọc tiếp theo bên dưới]....



================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk or kattyflea.co.cc
blog: mathhoang.tk or mathhoang.blogspot.com
================================================

[CakePHP] Sử dụng behavior trong cakephp

Làm thế nào để 1 behavior được attach vào trong model

** behavior được attach vào trong model thông qua biến của lớp model $actsAs
class Category extends AppModel {
var $name = 'Category';
var $actsAs = array('Tree');
}
?>

** Ví dụ sau giải thích làm thế nào để model Category có thể được quản lý trong một cấu trúc dạng cây bằng cách sử dụng TreeBehavior.
Một khi một behavior được xác định, thì chúng ta có thể sử dụng các method được thêm vào trong model bởi behavoior như là method
của chính model đó

// ví dụ
$this->Category->id = 42;
// sử dụng phương thức children của behavior
$kids = $this->Category-> children();

** Ngoài ra, một số behavior có thể yêu cầu hoặc cho phép chung ta thiết lập một số thuộc tính cơ bản trước khi attach nó vào trong model,
Ví dụ bên dưới, chúng ta rename lại "left" và "right"
class Category extends AppModel {
var $name = 'Category';
var $actsAs = arry('Tree' => array('left'=>'left_node', 'right'=>'right_node'));
} ?>

** Chúng ta có thể attach một số behavior cho 1 model.
ví dụ;
class Category extends AppModel {
var $name='Category'';
var $actsAs=array('Tree' => array('left'=>'left_node','right'=>'right_node'), 'Translate');
} ?>

** Khi chúng ta muốn tháo behavior ra khỏi model thì dùng phương thức detach
ví dụ:
$this->Category->Behaviors->detach('Translate');

** Nếu chúng ta chỉ muốn disable:
ví dụ:
$this->Category->Behaviors->disable('Translate');

** Chúng ta có thể attach behavior lúc runtime
$this->Category->Behaviors->attach('Translate');

================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk or kattyflea.co.cc
blog: mathhoang.tk or mathhoang.blogspot.com
================================================

[CakePHP] Tips xây dựng ứng dụng với CakePHP ( phần 1 )

Các tips cơ bản để bạn làm quen với cakephp cũng như là để xây dựng cho mình một site dựa vào core cakephp.
Hãy feedback để hoàn thiện hơn bản draft này :)



================================================
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk or kattyflea.co.cc
blog: mathhoang.tk or mathhoang.blogspot.com
================================================

[CakePHP] Model

I- Model là gì ?
- Model đại diện cho dữ liệu và được sử dụng trong các ứng dụng CakePHP cho việc truy xuất dữ liệu.

- 1 model thường đại diện cho 1 table nhưng có thể được dùng để truy cập bất cứ loại lưu trữ dữ liệu nào như : files, LDAP, CSV....

- 1 model có thể được kết hợp với các model khác.


II- Code
- giả sử chúng ta có 1 table với tên là 'recipes'( cột id, title, body ) thì tên của model sẽ là : Recipe ở trong file: /app/models/recipe.php
<?php
class Recipe extends AppModel {

public $name = 'Recipe';

}
?>

III- Plugin của model

- Nếu là một plugin của model, thì bạn nên đặt nó trong thư mục /app/plugins/recipes/models/

- một ví dụ về plug in của model
<?php
class RecipesController extends AppController {

public $uses = array(
'Recipe', // 'Recipes.Recipe' if it is from Recipes plugin
);

public function view($id) {
// retrieve record with ID 123 from recipes table
$recipe = $this->Recipe->findById(123);

// set the $recipe variable so it can be used by views later
$this->set('recipe', $recipe); // or $this->set(compact('recipe'));
}

}
?>

================================================
---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk or kattyflea.co.cc
blog: mathhoang.tk or mathhoang.blogspot.com
================================================

[CakePHP] Basic controller

Controller

I- Introduction
II- App controller
III- Pages controller
IV- Các thuộc tính của controller
V- Các phương thức của controller

I- Introduction
1 controller được sử dụng để quản lý logic của 1 ứng dụng
Hầu hết các controller được sử dụng để quản lý logic cho 1 single model. Ví dụ, nếu bạn đang buid một site cho một trang bakery thì yêu cầu application của bạn phải có: 1 RecipesController và 1 IngredientsController để quản lý các recipes và các ingredients.
Recipe model được xử lý bởi RecipesController, Product model được xử lý bởi ProductsController …
Các lớp controller kế thừa từ lớp AppController của CakePHP ( AppController kế thừa lớp Controller trong CakePHP – đây là một thư viện của CakePHP). Lớp AppController có thể được định nghĩa trong /app/app_controller.php và nó chứa các phương thức được share giữa các controller trong ứng dụng.
Controller có thể bao gồm các phương thức actions( Actions là các phương thức mà chỉ được sử dụng để hiển thị lên view → các phương thức action này nằm trong controller )
theo mô hình MVC thì dispatcher sẽ gọi action khi có 1 yêu cầu từ user tương ứng.
Quay trở lại ví dụ trang backery của hồi đầu, RecipesController có thể chưa view(), share() và search(). Controller này có thể nằm trong /app/controllers/recipes_controller.php và có thể có code như bên dưới:

# /app/controllers/recipes_controller.php

class RecipesController extends AppController {
function view($id) {
//action logic goes here..
}

function share($customer_id, $recipe_id) {
//action logic goes here..
}

function search($query) {
//action logic goes here..
}
}
?>

II- App controller
Như đã giới thiệu ở trên, lớp AppController là một lớp cha của tất cả các lớp controller trong ứng dụng. Bản thân AppController kế thừa lớp Controller trong thư viện CakePHP. AppController được định nghĩa trong /app/app_controller.php :
class AppController extends Controller {
}
?>
Vì lớp AppController là lớp cha của các lớp controller trong ứng dụng, do đó mà các thuộc tính và các method trong lớp AppController sẽ có thể được share và sử dụng bởi các lớp kon.

III- Pages Controllers
CakePHP hỗ trợ chung ta Pages Controller ( cake/libs/controller/pages_controller.php). Trang chủ( home page ) mà bạn thấy sau khi cài đặt là được tạo ra bằng cách dùng controller này. Page controller thường được dùng để tạo ra các trang tính.
Ví dụ: bạn tạo trang About. ( bạn tạo 1 file view /app/views/pages/about_us.ctp, bạn truy cập nó bằng cách sử dụng đường dẫn http://example.com/pages/about_us
để sử dụng Pages controllers, chúng ta chỉ cần copy pages_controllers.php từ core của CakePHP đến ứng dụng của mình.
IV- Các thuộc tính của controller
1- $name
→ được dùng để thiết lập tên của controller
→ thông thường thì đây là hình thức số nhiều của tên model mà controller sử dụng
Ví dụ:
# $name controller attribute usage example

class RecipesController extends AppController {
var $name = 'Recipes';
}

?>

2- $components, $helpers and $uses
ví dụ:
class RecipesController extends AppController {
var $name = 'Recipes';

var $uses = array('Recipe', 'User');
var $helpers = array('Ajax');
var $components = array('Email');
}
?>
3- $layout
→ sử dụng $layout để chọn layout cho chương trình /app/views/layouts( $layout sẽ lưu tên của layout trong /app/views/layouts )
→ nếu giá trị này ko được thiết lập thì layout mặc định sẽ được sử dụng cho ứng dụng của bạn: default.ctp
ví dụ:

// Using $layout to define an alternate layout

class RecipesController extends AppController {
function quickSave() {
$this->layout = 'ajax';
}
}

?>
4- $params
→ được sử dụng để cung cấp quyền truy cập vào các thông tin về request hiện tại:
4.1- form : → $this->params['form'];
4.2- admin : → $this->params['admin'];
4.3- bare : → $this->params['bare'];
4.4- form : → $this->params['isAjax'];
→ and so on.....


V- Các method của controller
1- Tương tác với View
1.1- set( string $var, mixed $value)
chuyển dữ liệu từ controller tới view.
Ví dụ:
$this->set('title_for_layout', 'This is the page title');
?>

1.2- render
render(string $action, string $layout, string $file)
Dùng để render các view tương ứng
Ví dụ:
class RecipesController extends AppController {
function search() {
// Render the view in /views/recipes/search.ctp
$this->render();
}
}

2- Flow control
2.1- redirect
redirect(mixed $url, integer $status, boolean $exit)
ví dụ:
function placeOrder() {

//Logic for finalizing order goes here

if($success) {
$this->redirect(array('controller' => 'orders', 'action' => 'thanks'));
} else {
$this->redirect(array('controller' => 'orders', 'action' => 'confirm'));
}
}

2.2- flash
flash(string $message, string $url, integer $pause, string $layout)
được dùng để redirect đến 1 trang. Phương pháp này khác với phương pháp redirect() ở chỗ là nó hiển thị 1 message trước khi chuyển tới 1 url khác

3- Callbacks
3.1- beforeFilter()
được thực thi trước mỗi action của controller
3.2- beforeRender()
được thực thi sau mỗi action của controller( nhưng trước khi view được gọi )
3.3- afterFilter()
được gọi sau mỗi action và sau rendering được hoàn tất
3.4- Các callback trong scaffold
_beforeScaffold($method)
_afterScaffoldSave($method)
afterScaffoldSaveError($method)
_scaffoldError($method)
4- Một số phương thức khác
- constructClasses(), referer(), disableCache(), postConditions(), paginate(), requestAction(), loadModel().

[CakePHP] View convention

View convention in CakePHP
[ qui ước đặt tên view trong cakephp ]

////////////////////////////////////////////////////////////
Conventions
////////////////////////////////////////////////////////////
View template files are named after the controller functions they display,
in an underscored form

the basic pattern is:
/app/views/controller/underscored_function_name.tcp

////////////////////////////////////////////////////////////
Examples
////////////////////////////////////////////////////////////
the getReady() function of the PeopleController class will look
for a view template in /app/views/people/get_ready.ctp



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
final convention example
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Database table: "people"
Model class: "Person", found at /app/models/person.php
Controller class: "PeopleController"found at /app/controllers/people_controller.php
View template, found at /app/views/people/index.ctp


---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk
---

[CakePHP] controller convention

Controller convention in CakePHP
[ qui ước đặt tên controller trong cakephp ]

////////////////////////////////////////////////////////////
Conventions
////////////////////////////////////////////////////////////
Controller classnames are plural, CamelCased, and end in Controller
classnames are CamelCased


note:
+ the first method that you write for a controller might be the index() method.
- when a request specifies a controller but not an action, the default CakePHP
behavior is to execute index() method of that controller.
+ Example:
- http://www.dekvn.rps/razor maps to call index() method of the RazorController,
whereas http://www.dekvn.rps/razor/view/ maps to call on the view() method of RazorController

Change the visibility of controller by prefixing the name with underscoress

////////////////////////////////////////////////////////////
Examples
////////////////////////////////////////////////////////////
Controler classnames:
PeopleController
LatestArticlesController

Change controller visibility
classnames NewsController extends AppController{
function latest() {
$this->_findNewArticles();
}

function _findNewArticles() {
//logic to find the latest news article
}
}
?>

--> while the page: http://wwww.example.com/news/latest would be accessible
to user as usual, but http://www.example.com/news/_findNewArticles would get an error

---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://tech-vnit.tk
---

[CakePHP] model and database convention

model and db convention in CakePHP
[qui ước tên model và database trong CakePHP]

////////////////////////////////////////////////////////////
Conventions
////////////////////////////////////////////////////////////
Model classnames are singular and CamelCased
Table names corresponding to CakePHP model are plural and underscored

////////////////////////////////////////////////////////////
Examples
////////////////////////////////////////////////////////////
Model classname: Person, Bigperson

respectively, we have table names:
+ people
+ big_people

---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
or: http://tech-vnit.tk
---

[CakePHP] file name convention

file name convention will summarize convention of filename in CakePHP
[qui ước tên file trong cakephp]

////////////////////////////////////////////////////////////
Conventions
////////////////////////////////////////////////////////////
filenames are underscored
classnames are CamelCased

////////////////////////////////////////////////////////////
Examples
////////////////////////////////////////////////////////////
classname: MyNiftyClass
filename : my_nifty_class.php

++++ Examples for the Controller ++++
classname: KissesAndHugsController
filename: kisses_and_hugs_controller.php

++++ Examples for the Component ++++
classname: MyHandyComponent
filename: my_handy.php

++++ Examples for the Behavior ++++
classname: EspeciallyFunkableBehavior
filename: especially_funkable.php

++++ Examples for the View ++++
classname: SuperSimpleView
filename: super_simple.php

++++ Examples for the Helper ++++
classname: BestEverHelper
filename: best_ever.php

---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
or: http://tech-vnit.tk
---

SNMP Protocol

Tài liệu SNMP bằng tiếng việt...
do

TIPC Overview

in the previous slides, I already introduced about TIPC.
Maybe with those documents, you caught a lot of knowledge about it.
Today, I will summarize it into some slides as the presentation so that you can easily have an overview about TIPC.

Please look at the slides below


TIPC Overview -


---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
---

TIPC for every one

This's document that I printed out for reading and taking note easily.
it talks about TICP ( telecome Inter Communication Prototol )
if you're have any question please feel free to ask

Transparent Inter Process Communication Protocol

---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
---

Introduction to algorithms

This's a good book about algorithms.
It's very useful for who is studying IT or software engineering or computer science and also for who is interested in computer science.

follow below link to get this book:

http://www.mediafire.com/?6ewxudcigel

---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
---

What is Piggybacking ?

Piggybacking is a bi-directional data transmission technique in the network layer (OSI model). It makes the most of the sent data frames from receiver to emitter, adding the confirmation that the data frame sent by the sender was received successfully (ACK acknowledge). This practically means, that instead of sending an acknowledgement in an individual frame it is piggy-backed on the data frame.

---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
---

TIPC tutorial part 1

This's my research about TIPC => all information is just for tutorial and part 2 is comming soon.

what is TIPC?
TIPC stands for Telecom Inter Process Communication.

TIPC is a high-speed, reliable, message oriented communication service specially designed
for cluster environments. It provides complete location transparency for intra-cluster
messaging, using a concept of logical addressing and maintaining a “hot” internal address
translation table. Its ability to provide both a connectionless and a lightweight connection
oriented communication mode makes it particularly suitable for systems where short, real
time critical transactions are performed. In both communication modes it maintains a quality
of service guaranteeing no message losses, no duplicates and uninterrupted message
sequence order.

and more about it => please read the following slides ...

TIPC Introduction Part 1 created by hoang nguyen


---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
---

Sliding Window Protocols

Sliding Window Protocols are a feature of packet-based data transmission protocols. They are used where reliable in-order delivery of packets is required, such as in the data link layer (OSI model) as well as in TCP (transport layer of the OSI model).

Conceptually, each portion of the transmission (packets in most data link layers, but bytes in TCP) is assigned a unique consecutive sequence number, and the receiver uses the numbers to place received packets in the correct order, discarding duplicate packets and identifying missing ones. The problem with this is that there is no limit of the size of the sequence numbers that can be required.

By placing limits on the number of packets that can be transmitted or received at any given time, a sliding window protocol allows an unlimited number of packets to be communicated using fixed-size sequence numbers.

---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
---
following part 3, below is part 4 for embedded system series. If there's any unclear point or you'd like to discuss => please leave your comment or send e-mail directly to me :)



Real Time embedded system from Hoang Nguyen ( created by Nam Ho || Guider: Dinh Vu Anh Duc )


---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
---

Embedded System Tutorial part 3

following part 2, below is part 3 for embedded system series. If there's any unclear point or you'd like to discuss => please leave your comment or send e-mail directly to me :)



Real Time embedded system from Hoang Nguyen ( created by Nam Ho || Guider: Dinh Vu Anh Duc )


---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
site: http://kattyflea.co.cc
---

Embedded System Tutorial part 2

following part 1, below is part 2 for embedded system series. If there's any unclear point or you'd like to discuss => please leave your comment or send e-mail directly to me :)



Real Time embedded system from Hoang Nguyen ( created by Nam Ho || Guider: Dinh Vu Anh Duc )


---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
---

Embedded System Tutorial part 1

hello all,
From now on, I will post embedded system series, these documents from Dr. Dinh Vu Anh Duc who is teaching in HCMC university of technology. You can visit his profile at :
http://www.cse.hcmut.edu.vn/~anhvu/biography.html

Real Time embedded system from Hoang Nguyen ( created by Nam Ho || Guider: Dinh Vu Anh Duc )


---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
---

Reliability Terminology

Sometimes My friends ask me to differ some definitions: System failure, System error, System fault and Human error. actually, these definitions lead me some confusion while distinguishing between them.

After spending a little time to investigate these definitions, now I can distinguish them:

System failure
An event that occurs at some point in time when the system does not deliver a service as expected by its users

System error
An erroneous system state that can lead to system behaviour that is unexpected by system users.

System fault
A characteristic of a software system that can lead to a system error. For example, failure to initialise a variable could lead to that variable having the wrong value when it is used.

Human error or mistake
Human behaviour that results in the introduction of faults into a system.

---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
---

What is CASE (Computer-Aided Software Engineering)

Software systems that are intended to provide automated support for software process activities.

CASE systems are often used for method support.

Upper-CASE
Tools to support the early process activities of requirements and design;

Lower-CASE
Tools to support later activities such as programming, debugging and testing.

---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
---

Write code in blogspot

<pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;">

<code>



</code>

</pre>



---
name: hoang nguyen
nickname: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@Yahoo.com
---

how to choose a current selected row in ListView

Method 1:

for (int i = 0; i < lv.Items.Count; i++)
// is i the index of the row I selected?
if (lv.Items[i].Selected == true)
{
//I show here the second field text (SubItems[1].Text) from the selected row(Items[i])
Message.Show(lv.Items[i].SubItems[1].Text);
break;
}

method 2:

we use FocusedItem property of lisview.
for example:
tbSearch.Text = lv.FocusedItem.SubItems[0].Text;


------
name: nguyen minh hoang
net name: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@yahoo.com
------

Tips để ghi nhớ

Từ viết tắt bằng chữ cái đầu, thơ chữ đầu (dành cho những thông tin liên quan tới những từ quan trọng)

Một từ viết tắt bằng chữ cái đầu được tạo nên sao cho mỗi chữ cái đầu đó là gợi ý giúp bạn nhớ một cụm từ nào đó. Ví dụ từ BRASS là từ viết tắt để chỉ những thao tác thực hiện việc bắn súng trường – Breath(thở), Relax(thư giãn), Aim(hướng vào), Sight(ngắm), Squeze(bóp cò).

Một bài thơ chữ đầu đôi khi cũng có thể là một câu nói mà ở trong đó thì chữ cái đầu của mỗi từ là gợi ý giúp bạn nhớ một cụm từ hay một bài học nào đó. Chẳng hạn như: EVERY GOOD BOY DESERVES FUN là một bài thơ chữ đầu để giúp cho việc nhớ thứ tự của các nốt nhạc chính trong khóa son -- E, G, B, D, F.

Những âm tiết vần (theo hoặc không theo thứ tự các từ)

Trước tiên, hãy nhớ các từ quan trọng mà khi đọc lên thì vần với các số đếm. Chẳng hạn “bun” (bánh bao sữa) nghe gần giống với “one”, “shoe”( chiếc giày) với "two", "tree"(cái cây) với "three", "door" (cánh cửa) với "four" ..v.v…


Tiếp theo, bạn có thể gắn những gì bạn cần nhớ với một hình ảnh nào đó. Ví dụ, bạn cần phải nhớ bốn nhóm thức ăn chính – sản phẩm từ sữa, các loại thịt, các sản phẩm từ gaọ, rau quả-- hãy tưởng tượng ra pho mát ở trên một chiếc bánh bao sữa(bun), gia súc, gia cầm đang đi giày(shoe), một bó lúa treo lơ lửng trên cây(tree) và khi mở cửa (door) ra bạn nhìn thấy rất nhiều rau quả trong căn phòng.

Nhớ theo vị trí (Đối với khoảng trên dưới hai mươi đồ vật)

Hãy chọn một nơi nào đó mà bạn đã dành rất nhiều thời gian ở đó và rất dễ nhớ tới nơi đó. Hãy nghĩ rằng bạn đang đi vào nơi đó, rồi chọn những chỗ xác định – cánh cửa, ghế sofa, tủ lạnh, giá sách ..v.v…Hãy tưởng tượng rằng bạn đang đặt những thứ bạn cần nhớ lên những đồ vật này, chú ý là bạn cần phải đi theo một hướng nhất định. Phải nhắc lại rằng bạn phải chọn chỗ sao cho thật dễ nhớ và theo một trình tự xác định vì như vậy sẽ thuận tiện hơn cho bạn khi bạn cần nhớ đến những thứ mà bạn cần phải nhớ. Chẳng hạn, nếu bạn cần nhớ George Washington, Thomas Jefferson và Richard Nixon, bạn có thể mường tượng tới việc khi bạn tiến tới cánh cửa của địa điểm mà bạn đã chọn, bạn nhìn thấy một tờ một đô dính trên cửa(bạn sẽ nhớ tới G. Washington vì trên tờ đô đó có in hình của vị tổng thống này), khi mở cửa ra thì bạn nhìn thấy Jefferson đang ngồi trên ghế sofa còn Nixon thì đang đứng ăn ngay cạnh tủ lạnh.

Nhớ theo những từ quan trọng (Dành cho việc học ngoại ngữ)

Trước tiên là phải xem mình đang cần phải nhớ từ gì. Chọn một từ ở Tiếng Việt mà nghe gần giống với từ đó. Tiếp đó, hãy nghĩ ra một hình ảnh nào đó liên quan đến từ ở Tiếng Việt mà bạn vừa nghĩ ra.

Cách nhớ tên nhờ hình ảnh (Dùng để nhớ tên)

Hãy tìm xem có mối liên quan nào giữa đặc điểm và tên của một người. Thí dụ, nếu bạn muốn nhớ đến Shirly Temple(một diễn viên nổi tiếng với những sợi tóc quăn tự nhiên) thì bạn có thể khắc sâu cái tên này trong trí nhớ của mình bằng cách nhớ tới từ "curly"(nghĩa là "xoăn”) và rằng những sợi tóc quăn ấy rủ xuống hai bên thái dương của cô ấy ( "temple" có nghĩa là "thái dương").

Nhớ theo kiểu móc xích giữa các ý (theo hoặc không theo thứ tự các từ)

Dựng nên một câu chuyện mà ở đó phần cuối của mỗi câu lại liên quan tới ý tiếp theo mà bạn cần nhớ tới. Nếu bạn cần nhớ đến Napoleon, cái tai, cánh cửa và nước Đức, hãy dựng nên câu chuyện về việc Napoleon đang ghé sát tai vào cánh cửa để nghe những người đang nói chuyện với nhau bằng tiếng Đức.


------
source: studygs.net/vietnamese/
name: nguyen minh hoang
net name: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
mail: vietnam_hoangminhnguyen@yahoo.com
------

What Is Object-Oriented Design?

Object-oriented design is a programming paradigm that began in the late 60's as software programs became more and more complex. The idea behind the approach was to build software systems by modeling them based on the real-world objects that they were trying to represent. For example, banking systems would likely contain customer objects, account objects, etc. Today, object-oriented design has been widely adopted by businesses around the world. When done properly, the approach leads to simpler, concrete, robust, flexible and modular software. When done badly, the results can be disastrous.


Over the years , we've made a science out of understanding what goes into making great object-oriented design. At the heart of great design are a set of principles and patterns. Design principles form the foundation of good object-oriented design and design patterns provide general repeatable solutions for common software problems. To introduce you to the topics of principles and patterns, we've written dozens of papers. Here are just a few:

* The principles of Object Oriented Design and Dependency Management
* SRP — The Single Responsibility Principle
* OCP — The Open Closed Principle
* LSP — The Liskov Substitution Principle
* DIP — The Dependency Inversion Principle
* ISP — The Interface Segregation Principle
* REP — The Reuse Release Equivalency Principle
* CCP — The Common Closure Principle Principle
* CRP — The Common Reuse Principle
* ADP — The Acyclic Dependencies Principle
* SDP — The Stable Dependencies Principle
* SAP — The Stable Abstractions Principle

----------
source: http://www.objectmentor.com
name: hoang nguyen
net nick: mathhoang
Y!M: vietnam_hoangminhnguyen@yahoo.com
----------

bind data to datagridvew

using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

public class Form1 : System.Windows.Forms.Form
{
private DataGridView dataGridView1 = new DataGridView();
private BindingSource bindingSource1 = new BindingSource();
private SqlDataAdapter dataAdapter = new SqlDataAdapter();
private Button reloadButton = new Button();
private Button submitButton = new Button();

[STAThreadAttribute()]
public static void Main()
{
Application.Run(new Form1());
}

// Initialize the form.
public Form1()
{
dataGridView1.Dock = DockStyle.Fill;

reloadButton.Text = "reload";
submitButton.Text = "submit";
reloadButton.Click += new System.EventHandler(reloadButton_Click);
submitButton.Click += new System.EventHandler(submitButton_Click);

FlowLayoutPanel panel = new FlowLayoutPanel();
panel.Dock = DockStyle.Top;
panel.AutoSize = true;
panel.Controls.AddRange(new Control[] { reloadButton, submitButton });

this.Controls.AddRange(new Control[] { dataGridView1, panel });
this.Load += new System.EventHandler(Form1_Load);
this.Text = "DataGridView databinding and updating demo";
}

private void Form1_Load(object sender, System.EventArgs e)
{
// Bind the DataGridView to the BindingSource
// and load the data from the database.
dataGridView1.DataSource = bindingSource1;
GetData("select * from Customers");
}

private void reloadButton_Click(object sender, System.EventArgs e)
{
// Reload the data from the database.
GetData(dataAdapter.SelectCommand.CommandText);
}

private void submitButton_Click(object sender, System.EventArgs e)
{
// Update the database with the user's changes.
dataAdapter.Update((DataTable)bindingSource1.DataSource);
}

private void GetData(string selectCommand)
{
try
{
// Specify a connection string. Replace the given value with a
// valid connection string for a Northwind SQL Server sample
// database accessible to your system.
String connectionString =
"Integrated Security=SSPI;Persist Security Info=False;" +
"Initial Catalog=Northwind;Data Source=localhost";

// Create a new data adapter based on the specified query.
dataAdapter = new SqlDataAdapter(selectCommand, connectionString);

// Create a command builder to generate SQL update, insert, and
// delete commands based on selectCommand. These are used to
// update the database.
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);

// Populate a new data table and bind it to the BindingSource.
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
bindingSource1.DataSource = table;

// Resize the DataGridView columns to fit the newly loaded content.
dataGridView1.AutoResizeColumns(
DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
}
catch (SqlException)
{
MessageBox.Show("To run this example, replace the value of the " +
"connectionString variable with a connection string that is " +
"valid for your system.");
}
}

}

source: msdn
vietnam_hoangminhnguyen@yahoo.com
net nick: mathhoang

Java programming 6th edition

goood java book
maybe i'll help you a lot for your knowledge about Java

<--more-->

Java programming 6th edition

http://hotfile.com/dl/13683098/1addad4/How_To_6.pdf.html

by
---

name: nguyen minh hoang
Y!M : vietnam_hoangminhnguyen@yahoo.com
net name: mathhoang

How to populate a combo box with dataset

I am creating a database application, and I want to fill the combo box with a dataset using Datamember and value member, but the following code leaves the combo box empty. I want to know the correct way to populate the combo box using the dataset.

oledbadapter.fill(dataset)
combobox.datasource=dataset.tables(0).defualtview
combobox.datamember="EmployeeType"
combobox.Valuemember="EmployeeID"

Is this application for an ASP.Net Web page or a Windows form? If this is for an APS.NET web application, use one of the available list bound controls. As long as you have properly set your datasource and datamember properties in your dataadapter, all you need to do is call the databind method on your list bound control. I have done it using a listbox(myLst), in this case:

oledbadapter.fill(dataset);
myLst.DataBind();

Put this code into your Page_Load event:

c#
If(!Page.IsPostBack)
{
oledbadapter.fill(dataset);
myLst.DataBind();
}

vb:
If Not Page.IsPostBack Then
oledbadapter.fill(dataset)
myLst.DataBind()
End If

It is all dependant, of course, upon the assumption that you have your dataadapter connected with a valid connection object and defined correctly.

I've just been born

Howdy!

~~~~~~~~
mathhoang
Related Posts Plugin for WordPress, Blogger...