Thứ Năm, 17 tháng 10, 2019

NodeJS

I. CÀI ĐẶT NODE
1. Tài vài cài đặt tại : https://nodejs.org/en/download/
2. Tải và cài git-scm : https://git-scm.com/
3. Kiểm tra trên terminal lệnh: node -v
và npm lệnh: npm -v

II. V8 Engine là gì?
- Máy tính không hiểu ngôn ngữ Javascript
- Javascript Engine dịch Javascript để máy tính hiểu - mã máy (magine code)
- Machine Code là (JavaScript --> C++ --> Asembly Language --> Machine Code)
Vì vậy:
- Node.js được viết trên nền C++
- Trái tim của Node là V8 engine
- V8 chuyển JS thành magine code


III. Hàm cơ bản trong Node.js
1. Tạo file
- Tạo file app.js
- Viết lệnh giống JS
- Chạy lệnh : node app.js trên Terminal
2 . Normal Func -- GỌi thoải mái bất cứ đâu trong source
function sayHello(){
    console.log('Hello');
}
sayHello()
3. Function Expression
    sayGo() //  -- TypeError: sayGo is not a function
lỗi sayGo() chưa được khai báo khi gọi


    var sayGo = function(){
        console.log('Go home');
        
    }


4. Hàm expression được thực thi trong hàm Normal
VD
    function callFunc(func){
        func() // Hàm được gọi lại là hàm Expression hoặc 1 hàm Normal
    }
    var hayYo = function(){
        console.log('Hay Yo');
    }
    var biCreate = function(){
        console.log('bibiCreate');
    }
    callFunc(hayYo)
    callFunc(biCreate)
    callFunc(sayHello)


IV. Module và Require


file app.js
// Import 1 module ở 1 file khác dùng hàm require("./đường dẫn")
var dem =  require("./md") 

console.log('ABC -- hihi');

console.log(dem(['1',1,2])); // --> gọi và sử dụng hàm dem()
console.log(dem([0,0,0,0,0,0,0,0]));

file md.js

var dem = function(arr){
    return "There are " + arr.length + ' element in Array'
}
// Export cả module dưới dạng hàm
module.exports = dem

V.  Module Patterns  để import nhiều hàm trong 1 file
1. Cách 1












file app.js
// Import 1 module ở 1 file khác dùng hàm require("./đường dẫn")
var test =  require("./pt") 

console.log('ABC -- hihi');

console.log(test.demt(['1',1,2])); // --> gọi và sử dụng hàm dem()
console.log(test.tinht(1,2)); // --> gọi và sử dụng hàm tinh()
console.log(test.chaot()); // --> gọi và sử dụng hàm chao()
file pt.js
var dem = function(arr){
    return "There are " + arr.length + ' element in Array'
}
var  tinh = function(a,b){
    return `Sum is ${a+b}`
}
var chao = function(){
    console.log('Hello bibi');
}
// module.exports.(ten muon export) = name function express
module.exports.demt = dem
module.exports.tinht = tinh
module.exports.chaot = chao

2. Cách 2

3. Cách 3

** Hướng đối tượng v2


VI. (sự kiện) on() và emit()  --- Nghe vs Nói
Hàm khởi tạo require('events')
// import modules "events"
// b1. Khởi tạo module trong file bởi  :  require('events')
var sukien = require('events')
// tạo EventEmiter
// b2. Tạo 1 EventEmiter 
var test = new sukien.EventEmitter()
//b4. Tạo hàm Nghe với
// ten_bien.on('key',function(evt){Lam_gi_o_day})
test.on('someKey', function(mgs){ // Nghe
    console.log(mgs);
})
// b3. Tạo key và dữ liệu cho sự kiện nói bởi
// ten_bien.emit('key', data_tranfer)
test.emit('someKey','Hello Mint Mint') // Nói
ví dụ 2:
Khởi tạo  require('util')
// import modules "events"
var sukien = require('events')
var hamchinh = require('util')

// tao Function Express
var Person = function(name){
    this.name = name
}
// inherits(a,b)  : hàm kế thừa của hàm a, b là sự khởi tạo
hamchinh.inherits(Person,sukien.EventEmitter)
var sky = new Person('toan')
var black = new Person('hai')
var deal = new Person('trung')

var people = [sky,black,deal]
people.forEach(function(person){
    person.on('talk', function(msg){
        console.log(person.name + ' Said that: ' +msg);
        
    })
})
sky.emit('talk', 'Hello')
black.emit('talk', 'Hello vbbjs')
deal.emit('talk', 'Hello xbcx')
// console.log(test);
// toan Said that: Hello
// hai Said that: Hello vbbjs
// trung Said that: Hello xbcx

VII. Đọc và Ghi file trong Node.js
Hàm khởi tạo require('fs')
var file = require('fs') // khởi tạo file để Đọc/Ghi
console.log('Bắt đầu');

// Hàm đọc file đồng bộ readFileSync('ten_file',kieu_utf8)
var readfile = file.readFileSync('test.txt','utf8')
console.log(readfile);

// Hàm viết/ghi file đồng bộ writeFileSync('ten_file',noi_dung)
var writeFile = file.writeFileSync('hiihi.js','come on babe')

// Hàm Đọc và Ghi file bất đồng bộ :::
// Cấu trúc readFile(file,type,callback) --> file:ten_file,type:type_data,callback:func được thực hiện sau cùng
var readFileNotSync = file.readFile('test.txt','utf8',function(err,d){
    if(true) console.log('dung:' + d); // kết quả này đc thực hiện sau cùng
    else return 'sai'
})
console.log('Kết thúc');
// Bắt đầu
// Hello every one !
// Kết thúc
// dung:Hello every one !

VIII. Tạo/Xóa thư mục Folder/File
var file = require('fs')
// require('fs') : khai báo trình chuẩn bị quản lý file
file.unlink('testWrite.txt') // Lệnh xóa file nào đó cùng cấp unlink.('ten_file')

file.mkdirSync('testC') // -- Tạo 1 folder dùng hàm mkdirSync()

file.rmdirSync('testC') // -- Xóa 1 folder dùng hàm rmdirSync()

file.mkdir('public', function(){ // -- Tạo file public
    file.readFile('test.txt','utf8',function(err,data){ // -- đọc file test.txt
        console.log(err,data);
        file.writeFileSync('./public/results.txt', data) // ghi nội dung data vào file results trong thư mục public
    })
})

IX. Hoạt động Server trong NodeJS
1.Phương thức giao tiếp giữa Client và Server
Khách: gửi request lên Server
Server: trả dữ liệu về cho Client


2. Socket . dùng IP của client và server,
Socket gồm nhiều các gói nhỏ để thực hiện các giao thức

3. TCP

3. Port, địa chỉ IP của máy. Lắng nghe các giao thức của Soket

* Socket.io
  • Là một module của NodeJs
  • Được xây dựng nhằm mục đích tạo ra real time NodeJS application. Socket.io cung cấp cho lập trình viên các đặc trưng như event, room và tự động phục hồi lại kết nối.
  • Khi chúng ta include Socket.io module vào trong ứng dụng của mình nó sẽ cung cấp cho chúng ta hai object đó là: socket server quản lý functionality phía server và socket client điều khiển funtionality phía client.
  • Khi client muốn kết nối tới Socket.io server, nó sẽ gửi cho server một “handshake HTTP request”. Server sẽ phân tích request đó với những thông tin cần thiết trong suốt quá trình kết nối. Nó sẽ tìm cấu hình của middleware mà đã được đăng ký với server và thực thi chúng trước khi đưa ra sự kiện kết nối. Khi kết nối thành công thì connection event listener được thực thi, tạo ra một instance mới của socket có thể coi như định danh của client mà mỗi một client kết nối tới sẽ có 1 định danh. Các bạn có thể thấy rõ khi xem hình dưới đây
4. Khởi tạo server đơn giản
Header: cả Client và Server đều cần Header, Header là phần để thêm thông tin mà client ko nhìn thấy


Phần Response Header bao gồm : Content và Status

*** Tạo 1 server Local
Để sử dụng được bất kỳ module nào trong Node.js thì chúng ta cần phải require module đó. Và để require một module trong Node.js chúng ta sử dụng từ khóa require.
 require('http') Khởi tạo module http trong Node


-Bên trong phương thức createServer chứa một phương thức ẩn danh có 2 tham số truyền vào.

  • Tham số thứ nhất: là biến chứa các thông số liên quan đến request mà người dùng gửi lên.
  • Tham số thứ hai là biến chứa các thông số liên quan đến response mà chúng ta muốn trả về client.


var http = require('http') // Khởi tạo module http trong Node
var server = http.createServer(function(req,res){
//thiết lập giá trị server trả về
    res.writeHead(200,{'Content-Type':'text/plain'})
    res.end('Run done!')
}) // Khởi tạo server createServer()
//Khởi tạo server chạy cổng 3333
server.listen(3333,'127.0.0.1')
console.log('chay serrver');

*  Các phương thức và thuộc tính hay dùng trong resquest và response.

- Hàm writeHead() thiết lập kiểu dữ liệu mà server muốn trả về.
// khai báo sử dụng module HTTP var http = require('http'); //Khởi tạo server chạy cổng 8000 http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/html'}); response.write('Hello world'); response.end(); }).listen(8000);
- Hàm write() Hàm này thiết lập nội dung mà server muốn trả về trình duyệt, nội dung này có thể là text có thể là HTML code.
VD: Trả về một trang HTML có thẻ H1 chứa dòng chữ hello world.

// khai báo sử dụng module HTTP var http = require('http'); //Khởi tạo server chạy cổng 8000 http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/html'}); response.write('<html>'); response.write('<head>'); response.write('<title>Hello world </title>'); response.write('</head>'); response.write('<body> <h1>Hello world<h1> </body>'); response.write('</html>'); response.end(); }).listen(8000);
- url :  thuộc tính này chứa các paramter trong URL mà client gửi lên server.
VD:
// khai báo sử dụng module HTTP var http = require('http'); //Khởi tạo server chạy cổng 8000 http.createServer(function (request, response) { var param = request.url; response.write(param); response.end(); }).listen(8000);

Lúc này các tiền tố phía sau domain sẽ được hiện ra nếu có: vd http://localhost:8000/toidicode thì url sẽ là /toidicode.

X. Khái niệm Buffer và Streams
Tưởng tượng lượng data bạn sẽ phải chuyển từ server đến client là 1 núi đường, vậy làm sao để có thể làm công việc này 1 cách nhanh nhất

Chúng ta hãy cắt nhỏ Data đó ra và xếp chúng vào những chiếc xe Buffer đến lúc đầy và chuyển chúng đi nơi khác
// Buffers là không gian lưu trữ tạm những data nhỏ, nó sẽ chuyển đến 1 nơi khác khi nó đầy


VD:

Stream giống nhưng con đường thể hiện luồng đi của những chiếc xe
// Streams là luồng dữ liệu mà data được chuyển đi, stream quản lý luồng data này. 
Làm tăng hiệu xuất chuyển dữ liệu


// Vì vậy Nodejs có thể Realtime

1. Đọc/Ghi dữ liệu bằng Realable
var file = require('fs')
// Hàm createReadStream() Tạo 1 luồng Stream với data là file readMe.txt, định dạng kiểu utf8.
//--> Nếu bỏ encoding sẽ thấy được các Buffer
var docluong = file.createReadStream(__dirname + '/readMe.txt', {encoding:'utf8'})
var ghiluong = file.createWriteStream(__dirname + '/writeMe.txt') // Hàm createWriteStream() để ghi
docluong.on('data', function(chunk){
    console.log('Doc luong nao: ');
    console.log(chunk);
ghiluong.write(chunk); //--> sau khi đọc xong thì ghi
})

2. Khái niệm Pipe
Pipe như khúc cua, đẩy dữ liệu sang ống khác
VD:
var http = require('http')
var file = require('fs')
var server = http.createServer(function(rep,res){
    res.writeHead(200, {'ContentType':'text/plain'}) //--> Đổi thành 'text/html' [Nếu là file html]
    var docluong = file.createReadStream(__dirname + '/readMe.txt','utf8') //--> đổi file nhúng là
index.html
    docluong.pipe(res) // Chuyển dữ liệu sang luồng mới
})
server.listen(8808,'127.0.0.1')
console.log('Server running on port 8808');
Mở port: 127.0.0.1:8808 thì thấy dữ liệu file readMe.txt hiện lên brower

XI. Truyền dữ liệu kiểu JSON
var http = require('http')
var server = http.createServer(function(rep,res){
    res.writeHead(200, {'ContentType':'application/json'}) // định dạng kiểu dữ liệu trả về
 'application/json' viết vào Header
    var obj = {
        name: 'Trương Văn Toàn',
        job: 'developer',
        age: 21,
        home: "Hai Duong"
    }
    res.end(JSON.stringify(obj)) /***/ responsive - trả về đối tượng kiểu JSON
})
server.listen(8808,'127.0.0.1') // server lắng nghe cổng http://127.0.0.1:8808/
console.log('Server running on port 8808');

XII. Điều hướng
var http = require('http')
var file = require('fs')
var server = http.createServer(function (req, res) {
    console.log('nguoi dung yeu cau link: ' + req.url);
    // Giải pháp điều hường link url người dùng
    if (req.url === '/' || req.url === '/home') {
        res.writeHead(200, { 'ContentType': 'application/json' })
        file.createReadStream(__dirname + '/index.html', 'utf8').pipe(res)
    } else if (req.url === '/login') {
        res.writeHead(200, { 'ContentType': 'text/html' })
        file.createReadStream(__dirname + '/login.html', 'utf8').pipe(res)
    } else if (req.url === '/api/re') {
        var register = [
            { name: 'bibi', age: 12, job: 'gamer' },
            { name: 'chim se', age: 2, job: 'gamer' },
            { name: 'z', age: 1, job: 'gamer' }
        ]
        res.writeHead(200, { 'ContentType': 'application/json' })
        res.end(JSON.stringify(register))
    } else if (req.url === '/404') {
        res.writeHead(200, { 'ContentType': 'text/html' })
        file.createReadStream(__dirname + '/404.html', 'utf8').pipe(res)
    }
})
server.listen(8808, '127.0.0.1') // server lắng nghe cổng http://127.0.0.1:8808/
console.log('Server running on port 8808');

c








c


c



Thứ Ba, 8 tháng 10, 2019

Go Lang

I. Khai báo biến trong Golang
package main
import "fmt"
func main() {
    var num int = 11 // Khai báo biến đơn giản (có kiểu dữ liệu)
    fmt.Println(num)
    var email = "truongtoan@gmail.com" // khai báo biến có kiểu dữ liệu là 1 string
==================================
 1. Khai báo nhiều biến cùng kiểu dữ liệu
var a, b int
    a = 1
    b = 2
---------- hoặc
    var a1, b1 int = 10, 11
--------- hoặc
    var a2, b2 = 12, 13
    2. Khai báo nhiều biến Khác kiểu dữ liệu
------------ cách 1 -- khởi tạo và gán
var (
    name string
    address string
    age int
)
    name = "Robin"
    address = "Viet Name"
    age = 15
------------- cách 2 -- khởi tạo luôn khi khai báo mà ko cần gán
var (
    name1 string = "name1"
    ad1 string = "address1"
    age1 int = 25
)
---------------- cách 3 -- khởi tạo + khai báo (auto map)
var name2, address2, age2 = "name2" , "address2", 25
}
------------------ Khai báo ngắn gọn (và gán luôn ) bởi :=       ko cần dùng var
language := "Golang"

II. Kiểu dữ liệu và hằng số
1. Khai báo
Khai báo kiểu Bool
    var myBool bool = true // false

    // String
    var myString string = "hello"
    // int
    var myInt int = 123

Kiểu Range
    // Range cuar int 8
    fmt.Println(math.MinInt8)
    fmt.Println(math.MaxInt8)
    // Range cuar int 16
    fmt.Println(math.MinInt16)
    fmt.Println(math.MaxInt16)
    // Range cuar int 32
    fmt.Println(math.MinInt32)
    fmt.Println(math.MaxInt32)
    // Range cuar int 64
    fmt.Println(math.MinInt64)
    fmt.Println(math.MaxInt64)

Kiểu bits
    // Số lượng bit tối đa mà nó có thể đại diện cho 
    // cái giá trị của biến có kiểu dữ liệu dạng này là
    // 8 bit
    fmt.Println(bits.OnesCount8(math.MaxUint8))  // 8
    fmt.Println(bits.OnesCount16(math.MaxUint16)) // 16
    fmt.Println(bits.OnesCount32(math.MaxUint32)) // 32
    fmt.Println(bits.OnesCount64(math.MaxUint64)) // 64

Kiểu uint -- số nguyên dương (số ko dấu)
    var myUInt uint = 10
    Kiểu byte chính là kiểu uint (unsize int)
    var myByte byte = 1 // kiểu này có max = 255, lớn hơn sẽ báo lỗi

Kiểu float -- số thực
    var myFloat float64 = 10.01

Kiểu complex z = a + bi (a: số nguyên, bi: số ảo)
    var z1 complex64 = 10 + 1i
    var z2 = complex64 = 10 + 1i
    fmt.Println(z1+z2) // ==> 20 + 2i

kiểu Rune : không quan trọng là bao nhiêu byte nó có thể chiếm
    var myString string = "Nhẫn"
    runes := []rune(myString) // ép kiểu string sang kiểu rune
    for i := 0; i < len(runes); i++ {
        fmt.Printf(rune[i])
    }
    vd2: kí tự A đặc biệt có thể chiếm 4 byte
    var myRune rune rune = 'A' // in ra int32

Zero values
    // Khi khai báo biến mà mặc định ko gán giá trị gì thì
    - với kiểu int giá trị mặc định được gán là 0
    - kiểu bool giá trị mặc định được gán là false
    - kiểu string ko gán giá trị nó là "" (empty string)
Type conversion -- chuyển từ kiểu dữ liệu này sang dạng kiểu dữ liệu khác
    VD:
    var a int = 1
    var b float64 = 2.1
    fmt.Println(a+b) // ==> Lỗi
    fmt.Println(float64(a)+b) // ==> 3.1
    // ==> truyền type cho nó vd float64(b)
Khai báo: Const // Có thể là kiểu character, string, boolean hay kiểu số (numeric values)
    // Ko thể khai báo dạng shorthand := syntax
    const PI = 3.14
    fmt.Println(PI)

Kiểu uintptr // dùng để lưu trữ địa chỉ của con trỏ

/*
    key - value
    key - uintptr
    value = abject (*point)

    key = (*point) -> uintptr
    map.put(key, value)
*/

III.



IV.

Thứ Sáu, 27 tháng 9, 2019

Nội dung cần nhớ - Dự án có Redux

disthpath redux
{
type: 'GET_SERVICE_TICKET',
data: {
CounterNumber: 12,
TicketNumber: 1200
}
}

XÂY DỰNG HÌNH ẢNH - BƯỚC ĐỆM VÀO ĐỜI

Từ một con số 0, nhiều người từ vô danh mà trở thành người có tiếng. Từ một tổ chức vốn còn non trẻ mà được công chúng biết đến, và từ một quốc gia được đẩy lên tầm quốc tế.
Trong bài viết này, xin được nhận định góc hẹp của việc xây dựng hình ảnh đó là khía cạnh cá nhân và khía cạnh tổ chức. 
Chắc hẳn chúng ta thường hay nghe đến : "Con nhà cô này học giỏi lắm, con bác kia ngoan hiền lắm". Hay anh T ưu tú lắm, anh ấy thông minh và giỏi giang. Tất cả cũng là một việc xây dựng hình ảnh cá nhân. Vấn đề xây dựng hình ảnh cá nhân còn có cách gọi khác là tạo nhân hiệu. Trong thời buổi kinh tế thị trường, với tính cạnh tranh khốc liệt như hiện nay thì nếu không xây dựng hình ảnh cá nhân thì người ta sẽ chẳng biết bạn là ai, bạn có khả năng gì hay bạn làm được gì cho họ. Khi mà nguồn nhân lực hiện nay không đủ chất lượng để đáp ứng cầu nhân sự. Con số thống kê cho thấy có gần 1 triệu người đang thất nghiệp trong đó có 72000 cử nhận chưa tìm được việc làm tại thị trường Việt Nam. Còn nhu cầu thực tế của nhà tuyển dụng hiện nay vẫn chưa có con số thống kê cụ thể, như theo kênh INFO TV thì số việc làm chỉ đáp ứng khoảng 10% lượng cung lao động. Các nhà đầu tư có đẩy mạnh đầu tư và tuyển dụng thêm nhân sự cho những dự án mới, nhưng con số thất nghiệp vẫn giao động ở con số 1 triệu. Những con số trên giúp kéo gần thực tế hơn, không thể ảo tưởng rằng công việc luôn chờ sẵn chúng ta hay cứ tốt nghiệp thì sẽ có việc làm. Hoặc ngay cả khi đang có việc làm thì khả năng mất việc và bị sa thảo cũng không thể tránh khỏi. Như vậy thì hẳn sẽ không còn cái gọi là cạnh tranh và cạnh tranh hoàn hảo.
Vậy xây dựng hình ảnh để làm gì và cách xây dựng hình ảnh như thế nào cho hiệu quả. 

Thứ Bảy, 31 tháng 12, 2016

Kết thúc năm 2016

Năm 2016 kết thúc. Tôi đã đạt được những thành công gì:
- Một mình Nam tiến là việc làm lớn nhất tôi làm được. Tự mình xoay sở và vượt qua khó khăn. Tôi chiêm nghiệm rất nhiều về mình, những mặt mạnh mà tôi có. Bản thân tôi là một người có năng lực lãnh đạo, một người có năng lực kế hoạch và có hoài bão vô cùng lớn. Nhưng bản thân còn khiếm khuyết rất nhiều kỹ năng cụ thể là: (1) Năng lực trình bày: truyền tải thông tin cho người khác cần rõ ràng, rành mạch. (2) Khả năng xử lý tình huống: cần quyết liệt chiến đấu với tình huống và không nhân nhượng với bản thân và hoàn cảnh, bằng mọi cách phải đạt kết quả tốt nhất cho tình huống đó. (3) Năng lực thuyết trình: Đứng đối diện nói chuyện 1 người cần trôi trải, rõ ràng, vanh vách và đối với 1 nhóm người thì thì cần uyển chuyển, thu hút và hấp dẫn và truyền cảm hứng. (4) Bản lĩnh đàn ông: cần sự vững vàng, mạnh mẽ với bản thân; hành động dứt khoát và chấp nhận kết quả cũng như hậu và có kế hoạch sẵn sàng giải quyết hậu quả và chuẩn bị mọi phương án để đưa vấn đề đến kết quả tốt nhất. (5) Năng lực ngoại ngữ: Bản thân cần và rất cần tiếng anh trôi trảy, vanh vách và việc nghiêm túc thực hiện, kiên trì và kỷ luật, không ngừng tiến lên giành lấy tấm bằng ielts 7.0 là mục tiêu PHẢI LÀM và làm cho được trong năm 2017.
- Bốn biến cuộc sống: Sự nghiệp, Sức khỏe, Tình yêu, Mối quan hệ xã hội. Tôi sẽ điểm lại từng biến xem thành công ở cấp độ mấy trên thanh đo 10 điểm cho mỗi biến.
1. Sự nghiệp: Chưa có điểm gì sáng trong này. Lương vẫn không cao, năng lực chưa đáp ứng yêu cầu làm việc. Các kỹ năng chưa hội tụ đủ. Thu nhập chỉ đủ chi tiêu, phần dư ra tiết kiệm chỉ đạt 5% so với tổng thu nhập (nhẽ ra tiết kiệm phải đạt 50% tổng thu nhập). Vậy với những thành quà tự vươn trải và chịu trách nhiệm cho chính quyết định của mình tôi chấm biến này được 5 điểm.
2. Sức khỏe: Tôi đã đầu tư cho bản thân khá mạnh tay ở mục dinh dưỡng, nhưng khâu tập luyện chưa được chú ý thỏa đáng, khâu kiểm soát stress vẫn  chưa triệt để. Nhưng về cơ bản tôi hài lòng với biến này bởi sức khỏe tôi đang ở mức khá và có thể kiểm soát. Mục tiêu là đưa nó về trạng thái tốt. Tức khoảng 63kg - 65kg(hiện tại vẫn duy trì được ở mức 59.7 kg), sung mãn và nhiệt tình trong mọi tình huống, chủ động và có khả năng xử lý tình huống tốt trong mọi tình hình và hoàn cảnh. Bản thân là người hướng nội, vậy não cần ít nhất 2 giây để xử lý tình huống và đưa kết quả về hướng tốt nhất. Vì vậy việc hoàn thiện biến sức khỏe là điều vô cùng cấp thiết. Cần rèn luyện sức bền và năng lực xử lý tình huống đưa kết quả về hướng tốt nhất trong 2 giây. Tôi cho biến này 7 điểm.
3. Tình yêu: Bản thân tôi không giành tình yêu cho gia đình và tôi cũng không hy vọng nhận được tình yêu từ họ. Nơi ấy chắc tôi chỉ hy vọng và tin tưởng duy nhất em trai tôi. Bản thân tôi sinh ra ở nơi đó cũng là chuyện tôi không muốn và nay em tôi cũng đang được rèn luyện ở chính môi trường đó và cũng là những con người đó. Tôi không chắc em tôi có đủ bản lĩnh để vượt lên số phận đó không. Bản thân gia đình tôi đã khổ quá rồi, tôi không muốn em tôi lại một lần nữa sống lại cuộc đời khốn khổ khốn nạn ấy. Hy vọng nó có bản lĩnh và tự tạo cho mình một kế hoạch hành động và một mục tiêu lớn vượt lên tầm nghĩ thông thường của gia đình cũng như họ hàng. Tôi mong nó như vậy. Nếu muốn khuyên gì cho em trai mình thì tôi muốn nói với nó những điều này:Còn 2 năm nữa là em phải sống xa gia đình (có thể em sẽ vào đại học hoặc có thể em phải học ở một trường nghề nào đó hoặc em sẽ đi làm thuê làm công nhân cho một tổ chức hay công ty nào đó) lựa chọn của em là gì? Em đã có kế hoạch chưa? Anh kể cho em chuyện này nhé! Ngày anh học lớp 9, anh đã rất thích chương trình "Đường lên đỉnh Olympia" và hâm mộ một số anh chị thi trong chương trình đó.  Một lần, thần tượng của anh trong chương trình đó đã nói rằng 'anh ấy muốn sau khi tốt nghiệp THPT anh ấy sẽ chọn trường đh Kinh Tế Quốc Dân là điểm dừng chân tiếp theo'. Và từ ấy trong anh đã có mục tiêu cho mình, đó là đh Kinh Tế Quốc Dân (nhưng đến giờ anh vẫn thấy tiếc cho cái mục tiêu ngày lớp 9 ấy, nếu được chọn lại anh sẽ chọn đh Ngoại Thương và trong anh thì Ngoại Thương vẫn là danh giá nhất trong anh em trai ạ! và vẫn đúng là trường ấy vẫn là lựa chọn số 1 trong thị trường lao động, nhưng không sao KTQD cũng ok rồi em trai). Và từ cái ngày lớp 9 ấy anh bắt đầu thực hiện kế hoạch lớn của mình một cách ấm thầm và quyết liệt. Em biết không anh bí mật đến nỗi đứa bạn thân nhất của anh cũng không biết anh chọn trường gì cho đến ngày anh nộp hồ sơ.  Anh tìm hiểu mọi vấn đề về trường ấy và đặc biệt là điểm sàn đề vào trường. Đo xem năng lực của mình có thi được đủ điểm vào trường đó không và anh âm thầm hành động mà không ai biết. Vậy đó! Em hãy ước mơ đi, hãy chọn cho mình một kế hoạch và âm thầm hành động. Đừng nói cho ai biết. Bởi giá trị của em chưa thể được định giá bằng tiền khi em chưa đạt được mục tiêu của mình (câu này hơi khó hiểu, lớn hơn em sẽ hiểu). Đại học, trường nghề hay công nhân? Đó là lựa chọn của em! Mỗi lựa chọn sẽ dẫn tới một cuộc đời khác nhau. Và anh không muốn em rơi và hoàn cảnh bi thảm. Tất cả là do sự lựa chọn của em! Em trai ạ. 2 năm tới em cần phải làm gì và tích lũy những gì. Em hãy chuẩn bị cho anh 3 thứ thôi: (1) Sức khỏe: Em cần ăn uống và tập luyện cho sức khỏe của mình, kết thúc năm học lớp 12 em cần đạt tối thiểu 45 - 48 kg, chiều cao tối thiểu 1,5m thì mới đảm bảo nền tảng cho thành công sau này. Nhớ nhé! Tiếp (2) Hãy luyện cho chữ của mình thật đẹp và viết nhanh nhất có thể trong mọi trường hợp. 2 yếu tố là đẹp và nhanh nha. (3) Tập cho mình cách phát biểu tự tin trước đám đông. Cụ thể là phát biểu thật nhiều trên lớp (việc này hơi khó với em, nhưng khó không có nghĩa không làm được) chỉ cần em chuẩn bị bài thật kỹ mọi tình huống trong sách trước khi đến lớp bằng cách làm đầy đủ bài tập và  đọc kỹ bài mới của ngày hôm sau là được và mẹ sẽ luôn ủng hộ em việc này, hãy là người phát biểu  tự tin nhé em trai! Đó là những việc em cần làm để có một cuộc sống hạnh phúc và thành công trong tương lai. Hãy suy nghĩ về những lời của anh nhé em trai!  
Và cách giúp đỡ tốt nhất cho gia đình chính là làm cho bản thân mình mạnh hơn, sống khỏe mạnh và giàu có thì mới mong có cơ hội giúp đỡ cha mẹ mình. Bản thân tôi cần phải lo được cho chính mình thì tình yêu hay người tôi yêu sẽ xuất hiện. Và tôi thấy nên để mục này ở mức điểm xuất phát: 0 điểm.
4. Mối quan hệ xã hội: Tôi có bạn thân - tri kỷ, nhưng những mối quan hệ lớn thì chưa đạt. Tôi cần mạnh hơn thì mới mong có những mối quan hệ lớn hơn được. Mục này tôi chấm mình 5 điểm.
Vậy tóm lại cần làm cho mình mạnh hơn để tiến đến năm 2017 hoàn thiện hơn và chinh phục những giấc mơ lớn hơn!@

Thứ Ba, 15 tháng 7, 2014

TIỀN

Bài viết bày có lẽ làm tôi suy nghĩ khá nhiều. Vẫn là câu chuyện phân bổ nguồn lực. Mà cụ thể hơn là vấn đề TIỀN. Có thể thấy rằng mỗi người chúng ta đều có cách tiêu tiền và giữ tiền khác nhau. Giả sử như neo của chúng ta là mốc 2,5 triệu 1 tháng. Nghĩa là cứ 2,5 triệu là chúng ta sống được trong một tháng. Nhưng hễ một khoản tiền lớn hơn thế đến với họ thì đơn giản là họ sẽ đẩy ngay nó về gần với mức 2,5 triệu. Có thể làm vài ván đen đỏ cho vui hay tối làm vài chai bia hay đi mua sắm đi, đời có mấy khi nhiều tiền. Ở đây thấy ngay rằng họ đang có một vấn đề, đó là nhiều tiền sẽ không biết tiêu như thế nào. Tôi thường nghe câu, giá như có nhiều tiền để tiêu thoải mái không phải nghĩ là sướng. Nhưng hoàn toàn không phải vậy, đó chỉ là vì họ đang thiếu tiền nên mong muốn có nhiều tiền để tiêu thôi, vì với họ tiền là quan trọng.
Vậy làm thế nào để tiêu tiền mà không cho là keo kiệt bủn xỉn. Cái này là do thói quen tiêu tiền và nhận thức của mỗi người về đồng tiền. Khi nhận thấy một người ngay khi nhận được đồng lương vượt quá so với bình thường thì "xõa đê". Cái này thích, nhưng chỉ là cảm giác nhất thời và phút chốc trở về bình thường như bao tháng lương khác. Vậy tại sao anh ta lại làm thế. Đó là vì anh ấy tự cài cho mình một mốc đó là sự giao động của dòng tiền trong não họ. Mốc này là khoản tiền nhận thường xuyên hàng tháng của họ. Có thể tháng đó tiêu nhiều hơn một chút và phải đi vay,