Emmet hotkey sublime text 3

{ "keys": ["ctrl+t"], "command": "new_file" },

{ "keys": ["shift+alt+e"], "command": "open_dir", "args": {"dir": "$file_path", "file": "$file_name"}},

{ "keys": ["ctrl+alt+p"], "command": "prompt_select_workspace"},

{ "keys": ["ctrl+shift+r"], "command": "reindent" , "args": { "single_line": false }},

{ "keys": ["alt+r"], "command": "reveal_in_side_bar"},


{
    "keys": ["shift+ctrl+g"],
    "command": "emmet_wrap_with_abbreviation",
    "context": [{"key": "setting.is_widget",  "operand": false }]
},

{
    "keys": ["ctrl+alt+j"],
    "command": "emmet_go_to_tag_pair"
},

{
    "keys": ["shift+ctrl+;"],
    "command": "emmet_remove_tag"
},

{
    "keys": ["ctrl+'"],
    "command": "emmet_convert_data_url"
},

{
    "keys": ["shift+ctrl+'"],
    "command": "emmet_rename_tag"
},

{ "keys": ["ctrl+shift+j"], "command": "expand_selection", "args": {"to": "indentation"} },
{ "keys": ["ctrl+shift+a"], "command": "expand_selection", "args": {"to": "tag"} },

{ "keys": ["ctrl+j"], "command": "join_lines" },
{ "keys": ["ctrl+shift+d"], "command": "duplicate_line" },


Leearning Javascipt

Create Object (tạo đối tượng) có 2 cách

Object literals

//đối tượng có 1 thuộc tính và 1 phương thức (method)
var myCar = {
brand: 'Toyota',
run: function(){
console.log('running');
}
};

Object constructor

//Tạo 1 đối tượng mới
var myApple = new Object();

//Thêm các thuộc tính cho đối tượng
myApple.color = ‘red’;
myApple.shape = ’round’;
myApple.howSweet = function(){
console.log(‘I am sweet’);
};

Cách tạo hàng loạt các Object cùng loại/kiểu có cùng thuộc tính và phương thức như nhau:

Sử dụng mẫu khởi tạo:

function Fruit (_color, _name){
this.color = _color;
this.name = _name;

this.showName = function(){
console.log(this.name);
}
};

Với hàm khởi tạo này, ta có thể tạo hàng loạt các đối tượng kiểu Fruit như sau:

var mangoFruit = new Fruit('yellow', 'Mango');
var appleFruit = new Fruit('red', 'Apple');

Sử dụng prototype

function Fruit (_color, _name){
};

Fruit.prototype.color = ‘general_color’;
Fruit.prototype.name = ‘general_name’;
Fruit.prototype.showName = function(){
console.log(this.name);
};

Với cách này thì ta cũng vẫn sẽ sử dụng hàm Fruit() để tạo ra các đối tượng object như cách ở trên:

var mangoFruit = new Fruit('yellow', 'Mango');
var appleFruit = new Fruit('red', 'Apple');

 

Function được coi là một Object, bản thân nó cũng có một property tên là prototype
một prototype cũng là một object

Prototype của Object (dùng __proto__)
Prototype của Function (dùng để thêm property & method & có tính thừa kế)

Muốn một đối tượng được kế thừa thuộc tính & phương thức của một hàm khởi tạo thì các thuộc tính & phương thức phải được thêm vào qua prototype của function khởi tạo

Muốn thêm 1 thuộc tính & phương thức, mà cho phép kế thừa thì phải thêm qua prototype

Existing object & object Contructor

function Person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
}

 

How to change the document root in XAMPP on windows

I have installed XAMPP in C drive on my windows. Today I thought I will move my installation to another directory.

After searching the web for couple of minutes, I got a solution that worked perfectly. Here are the steps you have to follow.

  1. Open the file httpd.conf from the location C:/xampp/apache/conf
  2. Search for DocumentRoot and you will get something like this

    DocumentRoot “C:/xampp/htdocs”

  3. Update the DocumentRoot to new location. For example, if you want to update the DocumentRoot to D:/www , then you will have the following line after updating the location

    DocumentRoot  “D:/www”

  4. Then find the Directory and you will fine something similar to

    <Directory “C:/xampp/htdocs”>

  5. Update it to new location like this

    <Directory “D:/www”>

  6. Then finally restart the Apache server using XAMPP control panel or manually.

That’s it, you are done. The DocumentRoot has been moved to new place successfully.