11:26 AM

Gzip Compression (Nén Gzip) là một công nghệ nén dữ liệu ở phía máy chủ (server) dùng để làm giảm dung lượng của trang web so với dung lượng gốc trước khi trang web được gửi đến người truy cập (nó giống như việc chúng ta dùng Winrar để nén file vậy!), sau khi trang web được nén được gửi lại trình duyệt của người truy cập thì nó sẽ tự động được giải nén và hiện thị trên trình duyệt của họ. Gzip Compression có thể làm giảm dung lượng của trang web lên tới 50% hoặc 70%, điều này có nghĩa là tốc độ tải của website của bạn sẽ nhanh hơn và sẽ giúp bạn tiết kiệm được nhiều băng thông hơn.

Bật Gzip Compression cho Apache

Đối với Apache, bạn bật Gzip bằng cách chỉnh sửa file .htacess ở trong web host/server của bạn. File .htaccess là một file quan trọng, vì vậy bạn nên sao lưu file này trước khi chỉnh sửa.

Bạn thêm đoạn code bên dưới vào file .htaccess

[code type="Apache"]<ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule>[/code]

Nếu đoạn code trên không hoạt động, bạn hãy xoá nó đi và thử đoạn code dưới đây

[code type="Apache"]AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript[/code]

Bật Gzip Compression cho NGINX

Đối với NGINX, bạn tạo một file cấu hình mới (ví dụ gzip.conf) trong folder /etc/nginx/conf.d/ của NGINX, mở lên và thêm đoạn code sau vào

[code type="Nginx"]gzip on; gzip_comp_level 2; gzip_http_version 1.0; gzip_proxied any; gzip_min_length 1100; gzip_buffers 16 8k; gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_disable "MSIE [1-6].(?!.*SV1)"; gzip_vary on;[/code]

Sau khi đã thêm đoạn code trên vào thì bạn khởi động lại server để áp dụng thay đổi. Nếu bạn dùng SSH để kết nối vào server thì có thể dùng lệnh sudo service nginx restart để khởi động lại server.

Bật Gzip Compression cho Wordpress

Mặc dù bạn có thể bật Gzip Compression bằng cách chỉnh sửa file .htaccess, nhưng Wordpress cũng cung cấp sẵn tuỳ chọn này ngay trong Dashboard.

  1. Đăng nhập vào Wordpress, sau đó truy cập vào http://<ten_mien_cua_ban>/wp-admin/options.php
  2. Tìm đến mục gzipcompression
  3. Thay đổi giá trị của mục này thành 1 để bật Gzip lên
Tăng tốc độ tải của website bằng cách bật Gzip Compression

Bật Gzip Compression cho Joomla

Giống như Wordpress, Joomla cũng cung cấp sẵn cho bạn tuỳ chọn này, để bật tuỳ chọn này trong Joomla, bạn vào Site ➜ chọn Global Configuration ➜ chuyển qua tab Server ➜ tại mục Server Settings ➜ ngay phần GZIP Page Compression chọn Yes ➜ chọn tiếp Save để lưu lại

Tăng tốc độ tải của website bằng cách bật Gzip Compression

Kiểm tra kết quả sau khi bật Gzip Compression

Sau khi đã bật Gzip Compression cho website, bạn có thể vào trang này để kiểm tra xem nó có hoạt động hay chưa.

12:14 PM 1

IFTTT là viết tắt của chữ IF This Than That (cách phát âm của từ này giống như từ "gift" trong tiếng Anh vậy), là một ứng dụng giúp tự động hoá các thao tác online, nhiệm vụ của IFTTT là đứng giữa 2 dịch vụ để thực hiện một công việc nào đó do bạn định ra khi điều kiện thực hiện việc đó được thoả mãn, và công việc này được diễn ra liên tục một cách tự động.

Ví dụ: giả sử khi bạn post một tấm hình lên Facebook, bạn cũng muốn upload tấm hình đó vào Google Drive để tạo thêm một bản sao và cũng để dễ sau này tìm kiếm, nhưng không lẽ bạn vừa post tấm hình đó lên Facebook thì lại phải đăng nhập vào Google Drive để upload tấm hình đó thêm một lần nữa hay sao? Với IFTTT, bạn không cần phải làm như thế vì mỗi lần bạn post bất cứ tấm hình nào lên Facebook thì IFTTT đều tự động đồng bộ tấm hình vừa post vào tài khoản Google Drive cho bạn, bạn sẽ không còn phải thực hiện những bước này vì IFTTT sẽ tự động thực hiện cho bạn.

Các khái niệm chính trong IFTTT

Trong IFTTT, có những khái niệm chính sau đây:

  • Recipe: nghĩa là lệnh để thực hiện một công việc nào đó, chẳng hạn như ta có một recipe là khi post một tấm ảnh lên Facebook thì lập tức sao lưu nó vào Google Drive. Khi bạn tạo một recipe, bạn sẽ được yêu cầu kích hoạt channel của dịch vụ đó nếu như chưa kích hoạt
IFTTT là gì? Sử dụng như thế nào?
  • Channel: đây là tên gọi mà IFTTT dùng để gọi các dịch vụ mà IFTTT hỗ trợ, như Facebook, Twitter, Gmail, Email, LinkedIn, YouTube ... chẳng hạn. Bạn chỉ kích hoạt các channel 1 lần và sau này khi tạo một recipe liên quan tới channel đó thì IFTTT sẽ tự động làm việc.
IFTTT là gì? Sử dụng như thế nào?
  • Trigger: nghĩa là điều kiện để kích hoạt hành động, khi điều kiện được thoả mãn thì công việc sẽ được thực hiện
  • Action: là hành động xảy ra khi trigger được kích hoạt
[info icon="info-circle"] Về nguyên tắc thì một recipe là sự kết hợp giữa một trigger và một action [/info]

Bắt đầu tạo một Recipe của bạn

Để bắt đầu, trước tiên bạn cần tạo một tài khoản miễn phí tại IFTTT

IFTTT là gì? Sử dụng như thế nào?

Sau khi đã tạo xong tài khoản và đăng nhập, bây giờ thì đến lúc tự tạo cho riêng mình một recipe.

Từ trang tổng quan của bạn, nhấn vào nút to màu xanh dương Create a Recipe hoặc có thể click vào tên đăng nhập của bạn và chọn Create để tạo mới một recipe.

IFTTT là gì? Sử dụng như thế nào?

Bạn sẽ được đưa tới một trang gồm 4 chữ if this than that

IFTTT là gì? Sử dụng như thế nào?

Bạn click vào chữ this màu xanh gạch chân, sau đó IFTTT sẽ được yêu cầu bạn chọn một channel để làm trigger.

IFTTT là gì? Sử dụng như thế nào?

Giả sử ở đây, tôi muốn tạo một recipe là Nếu ngày mai trời mưa thì hãy gửi email thông báo cho tôi thì tại phần this tôi sẽ chọn channel là weather

IFTTT là gì? Sử dụng như thế nào?

Nếu bạn cảm thấy rối vì có quá nhiều channel thì có thể gõ tên channel muốn tìm vào khung Search Channel để IFTTT lọc ra cho bạn

IFTTT là gì? Sử dụng như thế nào?

Sau khi đã tìm được channel bạn muốn thì click chọn channel đó và IFTTT sẽ chuyển bạn xuống bước tiếp theo. Lưu ý là vì ở đây tôi đã kích hoạt channel này trước nên IFTTT không yêu cầu tôi kích hoạt nữa, nếu như bạn chọn một channel nào đó mà bạn chưa kích hoạt thì IFTTT sẽ chuyển bạn tới trang kích hoạt

Để kích hoạt một channel, bạn chỉ cần nhấn Connect và làm theo hướng dẫn của IFTTT, thường thì bạn chỉ cần đăng nhập vào tài khoản của dịch vụ đó và cấp phép truy cập cho IFTTT là được.

Bước tiếp theo, IFTTT sẽ đưa ra rất nhiều trigger liên quan đến dịch vụ mà bạn chọn, đối với ví dụ này thì tôi chọn trigger Tomorrow's forecast call for vì trigger này dùng để kiểm tra điều kiện thời tiết ngày mai, và so sánh với điều kiện thời tiết ta đưa ra, nếu khớp trigger sẽ kích hoạt hành động

IFTTT là gì? Sử dụng như thế nào?

Sau đó là chọn tiếp điều kiện thời tiết muốn so sánh, vì recipe của ta là Nếu ngày mai trời mưa thì hãy gửi email thông báo cho tôi nên tôi sẽ chọn Rain làm điều kiện thời tiết. Nhấn Create Trigger để tạo trigger

IFTTT là gì? Sử dụng như thế nào?

OK, vậy là bạn đã hoàn thành một nữa. Tiếp theo, bạn nhấn tiếp chữ that màu xanh gạch chân

IFTTT là gì? Sử dụng như thế nào?

Cũng giống như trigger, nhưng lần này IFTTT sẽ yêu cầu bạn chọn Action Channel, như ví dụ này thì tôi chọn email, hoặc chọn Gmail cũng được. Lưu ý là đối với channel email thì IFTTT mặc định sẽ lấy email lúc bạn đăng ký làm email nhận thông báo.

IFTTT là gì? Sử dụng như thế nào?

Tiếp đến là chọn hành động cho trigger, đối với email thì chỉ có một hành động là gửi email

IFTTT là gì? Sử dụng như thế nào?

Sau đó bạn có thể tuỳ chỉnh tiêu đề và nội dụng của email gửi đi. Bạn cũng có thể nhấn vào nút màu xanh bên góc phải để chỉnh sửa các tham số phù hợp với nội dung mà bạn muốn. Sau đó nhấn Create Action

IFTTT là gì? Sử dụng như thế nào?

Quản lý recipe đã tạo

Để quản lý recipe, bạn nhấn chữ My Recipe ở trên đầu trang web, tại đây liệt kê toàn bộ những recipe mà bạn đã tạo. Ở kế bên mỗi recipe có những nút chức năng để quản lý recipe đó, bên dưới các nút chức năng cũng cho ta biết được thời gian tạo, được kích hoạt cách đây bao lâu và đã kích hoạt được mấy lần.

IFTTT là gì? Sử dụng như thế nào?

Nếu muốn chỉnh sửa recipe, bạn có thể nhấn vào recipe muốn chỉnh sửa hoặc nhấn vào nút có hình bút chì kế bên recipe. Bên trong trang chỉnh sửa cũng có những nút chức năng tương tự như bên trên và còn cung cấp thêm nút Delete để bạn xoá recipe và nút Publish để bạn chia sẻ recipe của mình với cộng đồng.

IFTTT là gì? Sử dụng như thế nào?

Một số recipe hay và hữu ích

Bạn không cần phải tự mình tạo một recipe vì rất có thể recipe mà bạn muốn tạo đã có người tạo và publish để cộng đồng cùng dùng rồi, bên dưới là những recipe có thể sẽ hữu ích cho bạn

11:57 AM

Pastebin là một website cho phép người dùng lưu trữ các mẫu văn bản thô và chia sẻ nó với mọi người, chính vì vậy mà Pastebin thường được dùng để lưu trữ các đoạn code lập trình hoặc bất kỳ dữ liệu văn bản nào. Pastebin cung cấp cho người dùng sự thuận tiện trong việc chia sẻ dữ liệu dạng văn bản, bạn chỉ việc truy cập website và paste nội dung, copy đường link mà Pastebin tạo ra, sau đó đem đi chia sẻ với mọi người. Song song với những tính năng thuận tiện trong việc chia sẻ văn bản, có rất nhiều website khác cũng cung cấp những tính năng tương tự như Pastebin, như những website sau đây mà bài viết này giới thiệu.

#1 Cryptbin

5 website thay thế cho Pastebin

Cryptbin có giao diện khá giống Pastebin, giao diện đơn giản và thân thiện với người dùng, chỉ việc sao chép và dán các đoạn văn bản hoặc đoạn code, sau đó bạn thiết lập thời gian hết hạn (khi hết hạn thì paste của bạn sẻ tự động bị xoá) cho paste của mình (mặc định là vĩnh viễn), tiếp theo là click vào Create Encrypted Paste, vậy là đã có thể đem đi chia sẻ với mọi người được rồi. Khi bạn tạo một paste, Cryptbin sẽ tự động mã hoá paste của bạn theo chuẩn mã hoá AES-256 và không giống như Pastebin, paste mà bạn tạo ở Cryptbin luôn được để ở chế độ riêng tư để đảm bảo dữ liệu của bạn chỉ được xem bởi những người mà bạn chia sẻ.

#2 Hastebin

5 website thay thế cho Pastebin

Giao diện của Hastebin rất là đơn giản và êm dịu cho mắt. Hastebin không có nhiều tuỳ chọn giống như Pastebin và Cryptbin, bạn không thể tuỳ chỉnh thời gian hết hạn cho đoạn paste của mình được. Mặc định là các đoạn paste này sẽ tồn tại trong 30 ngày.

#3 Pastee

5 website thay thế cho Pastebin

Pastee có giao diện khá là giống Pastebin, chỉ việc vào và dán văn bản, sau đó chọn Paste, nếu như bạn chia sẻ các đoạn code lập trình thì cần nên chọn ngôn ngữ thích hợp ở khung Lexer. Các đoạn paste lưu ở Pastee không cho phép lưu vĩnh viễn, cao nhất cũng chỉ lưu được 1 năm, bạn có thể thiết lập thời hạn tồn tại của đoạn paste tại khung Time to live. Ngoài ra, bạn cũng có thể tạo mật khẩu cho đoạn paste của mình, chỉ có người biết mật khẩu mới có thể xem được đoạn paste của bạn.

#4 Ghostbin

5 website thay thế cho Pastebin

Giao diện của Ghostbin cũng tương tự Hastebin nhưng điểm khác nhau của Ghostbin so với Hastebin là thời hạn của đoạn paste có thể thiết lập thành vĩnh viễn.

#5 Chopapp

5 website thay thế cho Pastebin

Chopapp có giao diện đơn giản và dễ sử dụng. Chopapp là sản phẩm của công ty Zurb. Như hình trên, bạn có thể thấy Chopapp hỗ trợ paste code với nhiều ngôn ngữ lập trình khác nhau, ngoài ra nếu như bạn muốn dán một đoạn code từ một URL khác vào Chopapp thì chỉ cần click Grab from a URL.

12:33 PM

Bạn muốn mình có thể chơi piano như một tay chơi chuyên nghiệp nhưng bạn lại không có chút kiến thức nào về âm nhạc? Hoặc bạn cũng từng muốn học chơi piano nhưng lại không có thời gian. Vâng, giờ đây với Touch Pianist, bạn có thể thoả mãn cảm giác được chơi piano và chơi như một nghệ sĩ piano thực thụ mà không cần có kiến thức nào.

Touch Pianist là một ứng dụng web nhằm giúp bạn trải nghiệm cảm giác như một nghệ sĩ piano, mà không cần bạn phải biết chơi piano.

[youtube src="ZtrG4893f74"/]

Bạn chỉ cần truy cập vào Touch Piano và nhấn phím bất kỳ trên bàn phím hoặc click chuột theo khoảng cách giữa các âm (khoảng cách giữa những chấm to và nhỏ trên màn hình) được Touch Pianist làm sẵn là có thể tạo được một giai điệu du dương, êm dịu của những bản nhạc nổi tiếng. Ngoài ra, Touch Piano còn cung cấp nhiều bản nhạc khác nhau của các nhạc sĩ nổi tiếng như Beethoven, Chopin, Mozart, Bach ... để bạn lựa chọn.

Ngoài ứng dụng chạy trên web, Touch Piano còn có ứng dụng chạy trên iPhoneAndroid, nếu như bạn muốn chơi khi rãnh rỗi.

11:42 AM

Android là một hệ điều hành mã nguồn mở dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng. Nếu như bạn đang muốn tự học lập trình ứng dụng trên Android nhưng không biết bắt đầu từ đâu thì trong bài viết này tôi sẽ chia sẻ cho bạn 5 website bạn có thể tự học Android.

Tất cả những website liệt kê bên dưới đều là tiếng Anh (vì tôi chưa tìm thấy website tiếng Việt nào thích hợp để cho vào danh sách này), nếu như bạn biết nguồn tài liệu tiếng Việt nào thì có thể chia sẻ với mọi người bằng cách comment bên dưới.

#1 Android Developer

5 website hay để học Android

Đây là website chính thức của Android do Google cung cấp, tại đây cung cấp mọi thứ về việc xây dựng ứng dụng Android, đồng thời cũng có các bài viết hướng dẫn dành cho người mới bước chân vào lập trình Android như giới thiệu Android, xây dựng ứng dụng đầu tiên trong Android ... Nếu như bạn mới bắt đầu học Android thì có thể ghé thăm website này để có một cái nhìn tổng quan về Android.

#2 TutorialsPoint

5 website hay để học Android

TutorialsPoint là website nổi tiếng trong việc tự học lập trình, website này có rất nhiều bài giảng về việc học một ngôn ngữ lập trình. Tất nhiên cũng có lập trình Android trong đó, các bài giảng tại đây được chia thành nhiều phần nhỏ từ cơ bản đến nâng cao, giải thích cặn kẽ từng thứ trong Android như lịch sử ra đời, cách cài đặt môi trường lập trình Android, các thư viện API và cách để tạo một ứng dụng cơ bản ...

#3 Android Application Development Tutorials

Đây là một playlist gồm 200 video do TheNewBoston (là một kênh Youtube chuyên cung cấp các video ngắn về lập trình với đủ các loại ngôn ngữ như C, C++, MySQL, PHP, Python, Java...) cung cấp, các video trong playlist là những bài hướng dẫn chi tiết về việc làm thế nào để cài đặt phần mềm cần thiết (như Eclipse ...) cho tới lập trình một ứng dụng và công bố nó trên Google Play. Ngoài ra, TheNewBoston cũng có một playlist khác là Android App Development for Beginners, dây là những video hướng dẫn lập trình một ứng dụng Android trên Android Studio dành cho người mới học.

#4 Vogella

5 website hay để học Android

Website có giao diện khá đơn giản, cũng giống như TutorialsPoint, các bài viết tại đây được phân chia theo nhiều chuyên mục khác nhau, mỗi bài viết đều rất ngắn gọn và có nhiều code mẫu để tham khảo.

#5 Technotalkative

5 website hay để học Android

Technotalkative là một trang blog của Paresh Mayani, trang này bao gồm nhiều bài viết bàn về nhiều khía cạnh trong Android và những bài hướng dẫn rõ ràng với những đoạn code mẫu về việc thiết kế giao diện và lập trình.

11:39 AM

Gần đây trên dashboard của Blogger xuất hiện thông báo rằng theo luật của Liên minh Châu Âu (EU) thì các chủ blog/website phải thông báo cho người truy cập ở trong EU biết về các cookie đang sử dụng trên blog/website của mình. Vì lý do này nên Blogger đã thêm một popup thông báo trên đầu của tất cả các trang blog nếu người truy cập đến từ những nước trong EU. Popup này thông báo cho người truy cập biết Google dùng cookie của Blogger và một số cookie khác như Google Analytics, Google Adsense trên trang blog mà họ đang xem và yêu cầu họ chấp nhận việc sử dụng cookie này của Google. Tuy nhiên, popup thông báo này chỉ thông báo việc sử dụng cookie của Google, do đó nếu bạn có sử dụng thêm cookie nào của bên thứ 3 thì bạn cũng nên khai báo cho người truy cập biết.

Đây là thông báo trong dashboard của Blogger

Tuỳ chỉnh popup thông báo EU Cookie cho Blogger

Còn đây là popup thông báo hiện thị trên blog khi người dùng truy cập blog

Tuỳ chỉnh popup thông báo EU Cookie cho Blogger

Tại sao tôi không thấy popup này khi tôi truy cập blog của mình?

Popup thông báo này chỉ xuất hiện khi bạn truy cập blog của bạn từ EU, do đó popup này sẽ không xuất hiện đối với những ai ở ngoài EU, nhưng bạn vẫn có thể thấy popup này bằng cách sửa lại tên miền của blog theo tên miền của những nước trong EU. Ví dụ như .blogspot.fr hoặc .blogspot.co.uk

Nếu blog của bạn sử dụng tên miền riêng, bạn có thể dùng một số dịch vụ proxy và fake ip của mình thành các nước trong EU hoặc đơn giản hơn, bạn chỉ cần thêm chuổi sau vào tên miền của bạn

[code].prx.gb.teleport.to[/code]

Ví dụ: www.your_site.com.prx.gb.teleport.to

Tôi có thể tắt thông báo này đi được không?

Vâng, bạn có thể tắt thông báo này đi bằng cách thêm đoạn code sau vào trước thẻ </head>

[code type="JavaScript"]<script type="text/javascript"> cookieChoices = {}; </script>[/code]

Nhưng vì đây là thông báo bắt buộc (vì nó là luật mà!), do đó bạn không nên tắt nó đi vì như thế, bạn có thể bị Google ra lệnh cấm.

Tuỳ chỉnh popup thông báo mặc định của Blogger

Nếu bạn cảm thấy popup thông báo mặc định của Blogger hơi xấu và không mấy hoà hợp với màu sắc giao diện blog của bạn thì bạn cũng có thể chỉnh sửa theo các bước sau:

  1. Đăng nhập vào blog của bạn ➜ Mẫu ➜ Sao lưu/Khôi phục để sao lưu template của bạn lại
  2. Chọn Chỉnh sửa HTML
  3. dán đoạn code sau vào ngay bên dưới thẻ ]]></b:skin> hoặc trước thẻ </head>
[code type="JavaScript"]<script type="text/javascript"> cookieOptions = { msg: "This site uses cookies to deliver ads, to analyse traffic and ensure the best experience for you. By using this site, you are agreeing to our use of cookies", link: "https://www.blogger.com/go/blogspot-cookies", close: "Got it!", learn: "Learn More" }; </script> <style>.cookie-choices-info { z-index:999999!important; background-color:#663399!important; color:#ffffff!important;} .cookie-choices-info .cookie-choices-button { background-color:#3C8C4C!important; border-radius:0!important}</style>[/code]
  1. Lưu template lại và hoàn thành

Bạn có thể chỉnh sửa một số phần được tô đậm ở đoạn code trên như sau:

  • Dòng 3: đây là đoạn văn sẽ hiện thị, bạn có thể sửa lại sao cho phù hợp với mình
  • Dòng 4: nếu bạn có hẳn một trang về chính sách riêng tư đối với người dùng thì bạn cứ thay thế bằng đường link của bạn. Đường link trên trỏ tới chính sách quy định sử dụng cookie của Blogger.
  • Dòng 10, 11, 13: đây là đoạn CSS quy định màu sắc của chữ và background của popup, bạn có thể sửa lại màu nếu bạn thấy màu mặc định không hợp.

Đây là kết quả sau khi đã xong

Tuỳ chỉnh popup thông báo EU Cookie cho Blogger

12:01 PM 1

Snippet là một đoạn code được ta định nghĩa sẵn và gắn vào một từ khoá nào đó (gọi là trigger), khi cần dùng thì ta sẽ gọi trigger này để chèn nội dung mà ta đã định nghĩa trước đó vào. Với snippet, quá trình gõ code của bạn sẽ nhanh hơn vì bạn sẽ không phải gõ đi gõ lại nhiều đoạn code giống nhau. Bài viết này sẽ hướng dẫn bạn làm thế nào để tạo, quản lý và chèn một code snippet vào trong quá trình soạn thảo code.

#1 Tạo Snippet

Để tạo một Snippet bạn vào Tool ➜ New Snippet

Tạo một snippet trong Sublime Text

Sau đó Sublime Text sẽ mở một tab mới và kèm theo đoạn code như bên dưới cho bạn

[code]<snippet> <content><![CDATA[ Hello, ${1:this} is a ${2:snippet}. ]]></content> <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> <!-- <tabTrigger>hello</tabTrigger> --> <!-- Optional: Set a scope to limit where the snippet will trigger --> <!-- <scope>source.python</scope> --> </snippet>[/code]

Bên trên là một template mẫu mà Sublime Text tạo sẵn cho bạn. Đoạn code mà bạn muốn định nghĩa phải nằm bên trong <content><![CDATA[]]></content>. Ví dụ như sau:

[code]<snippet> <content><![CDATA[ -webkit-transition: all 1s ease-in-out; -moz-transition: all 1s ease-in-out; -o-transition: all 1s ease-in-out; transition: all 1s ease-in-out; ]]></content> </snippet>[/code]

Sau đó bạn cần tạo một từ khoá (trigger) để gọi snippet này ra mỗi khi bạn cần dùng, để tạo một từ khoá (trigger) cho snippet ta dùng <tabTrigger>, khi đặt tên cho trigger bạn cần đặt tên sao cho dễ nhớ và không trùng lặp với những từ khoá có sẵn. Ví dụ:

[code]<snippet> <content><![CDATA[ -webkit-transition: all ${1:1s} ease-in-out; -moz-transition: all $2 ease-in-out; -o-transition: all $3 ease-in-out; transition: all $4 ease-in-out; ]]></content> <tabTrigger>passionery-trans</tabTrigger> </snippet>[/code]

Cuối cùng, bạn cần thiết lập phạm vi sử dụng của snippet này, trong ví dụ trên thì tôi đã tạo ra một snippet mới cho thuộc tính transition của CSS3, vì vậy, ở đây tôi sẽ giới hạn phạm vi sử dụng của snippet này chỉ trong các file CSS. Phạm vi của một snippet được thêm bằng <scope> Ví dụ:

[code]<snippet> <content><![CDATA[ -webkit-transition: all ${1:1s} ease-in-out; -moz-transition: all $2 ease-in-out; -o-transition: all $3 ease-in-out; transition: all $4 ease-in-out; ]]></content> <tabTrigger>passionery-trans</tabTrigger> <scope>source.css</scope> </snippet>[/code]

#2 Save Snippet

Khi đã làm xong những bước bên trên, bạn cần save snippet này lại. Khi save, bạn cần lưu ý 2 điều: tên của file snippet và đường dẫn để save file.

Đối với tên của snippet, khi save bạn nhớ phải save dưới dạng như sau:

[code]snippet_name.sublime-snippet[/code]

trong đó snippet_ name thì khỏi nói bạn cũng biết đây là tên của snippet mà bạn cần lưu, còn sublime-snippet là định dạng file của snippet, tất cả các snippet phải được save dưới định dạng này. Ví dụ:

[code]trans.sublime-snippet[/code]

Đối với đường dẫn để lưu snippet, bạn không cần phải lo là file sẽ lưu ở đâu vì Sublime Text sẽ tự động tìm đúng đường dẫn để lưu, nhưng nếu vì một vài lý do nào đó mà Sublime Text mở không đúng đường dẫn thì bạn vẫn có thể chọn lại cho đúng đường dẫn, thông thường thì Sublime Text sẽ lưu các file do user định nghĩa tại <ổ_đĩa>:\Sublime Text_<version>\Data\Packages\User. Khi đã save xong snippet, bạn cần khởi động lại Sublime Text để snippet của bạn có hiệu lực.

#3 Sử dụng Snippet

Bây giờ thì snippet của bạn đã sẵn sàng để sử dụng, bạn mở một một file css lên và gõ vào passionery-trans, Sublime Text sẽ đưa ra gợi ý cho bạn chọn hoặc cũng có thể gõ đầy đủ từ khoá passionery-trans và nhấn tab để chèn snippet vào.

Sử dụng snippet trong Sublime Text

Như ví dụ bên trên, snippet này chỉ hoạt động trong các file css nên khi bạn gõ ở các file HTML hay bất kỳ file nào khác thì nó sẽ không hiện thị gợi ý cho bạn chọn.

9:55 PM 1

Bạn có từng nghĩ rằng có thể nào vừa viết vừa biên dịch code của một chương trình như C, C++ hay thậm chí là Java ngay trong trình duyệt. Vâng, biên dịch một chương trình như C, C++, Java hay bất cứ ngôn ngữ lập trình nào ngay trong trình duyệt là một việc khả thi, với 5 website sau đây mà tôi sẽ chia sẻ với bạn. Với các website này, bạn có thể thực thi, biên dịch và xem ngay kết quả chương trình của mình ngay trong trình duyệt web.

#1 Ideone

5 trang web biên dịch online

Ideone là website hỗ trợ biên dịch và thông dịch hơn 40 ngôn ngữ lập trình. Website cũng có khá nhiều tuỳ chọn, tuy nhiên, có một vài chức năng mà bạn cần phải đăng nhập mới có thể sử dụng được.

#2 Codepad

5 trang web biên dịch online

CodePad cũng là website có thể cho phép bạn biên dịch và thông dịch các ngôn ngữ lập trình. Không giống như Ideone, CodePad không có hỗ trợ nhiều ngôn ngữ lập trình. CodePad chỉ hỗ trợ một số ngôn ngữ lập trình phổ biến như C/C++, PHP, Perl, Python,.. Giao diện của CodePad cũng khá là đơn giản.

#3 TutorialsPoint

5 trang web biên dịch online

Mọi người cũng đều đã quá quen thuộc với TutorialsPoint, đây là một website chuyên dạy ngôn ngữ lập trình, giống như Ideone, TutorialsPoint cũng hỗ trợ biên dịch và thông dịch các ngôn ngữ lập trình một cách nhanh chóng nhằm tạo thuận tiện cho người học. Ngoài ra, TutorialsPoint còn hỗ trợ thao tác với các hệ quản trị cơ sở dữ liệu như: Mongo DB, MySQL, SQLite.

#4 JSfiddle

5 trang web biên dịch online

Không giống như các website trên, JSfiddle là một website chuyên dành các Web Developer và Web Designer. JSfiddle cho phép bạn viết và thực thi các đoạn code HTML, CSS, JavaScript và Jquery một cách nhanh chóng. Ngoài ra, chỉ cần tạo tài khoản ở JSfiddle là bạn có thể lưu và chia sẻ đoạn code của mình cho mọi người.

#5 Dabblet

5 trang web biên dịch online

Cũng giống như JSfiddle, Dabblet cho phép bạn thực thi các đoạn code HTML, CSS, JavaScript. Dabblet còn cho phép bạn lưu lại các đoạn code đã viết trực tiếp lên Github Gist và chia sẻ với mọi người.

6:17 PM

Khi bạn xóa một file trong Windows, thậm chí là xóa từ Recycle Bin, thì file đó vẫn chưa thực sự bị xoá, Windows chỉ đơn giản là xoá đường dẫn của file đó trên ổ cứng và đánh dấu lại khoảng trống của file vừa bị xoá để chờ một dữ liệu mới ghi đè lên, đó là lý do vì sao bạn có thể khôi phục lại file bạn đã xoá bằng cách dùng một phần mềm khôi phục dữ liệu - nếu như file bị xoá chưa bị ghi đè bởi những dữ liệu mới. Có lẽ bạn sẽ không mong muốn những dữ liệu nhạy cảm hoặc riêng tư của mình bị người khác khôi phục lại. Vì vậy, để xoá hoàn toàn một file, bạn có thể các chương trình của bên thứ ba, sau đây là 5 chương trình bạn có thể sử dụng để tiêu huỷ những dữ liệu nhạy cảm mà không lo sợ người khác sẽ khôi phục lai được.

#1 WipeFile

WipeFile là một chương trình dạng portable, vì vậy rất thuận tiện để bạn có thể mang đi và sử dụng ở bất cứ đâu. Chương trình cung cấp 14 thuật toán xóa file khác nhau, giúp cho các dữ liệu nhạy cảm bạn muốn xóa không thể khôi phục, chương trình có hỗ trợ xóa từng file riêng lẻ hoặc xóa cả folder cùng lúc, hoặc xóa tất cả file có phần mở rộng nhất định, có chức năng tích hợp vào menu ngữ cảnh của Windows Explorer để bạn có thể xóa file bằng cách right-click vào file đó. Hiện nay chương trình hỗ trợ tới 19 ngôn ngữ khác nhau, nhưng rất tiếc là chưa có tiếng Việt.

#2 Zer0

Zer0 là một chương trình đơn giản và dễ sử dụng, bạn chỉ việc kéo thả file bạn muốn xóa vào trong giao diện của chương trình, sau đó chương trình này sẽ tự động thực hiện các bước còn lại. Không giống với các chương trình xóa file khác, bạn không cần phải chọn thuật toán để xóa file, chương trình này sẽ tự động xóa file của bạn một cách an toàn và nhanh chóng, bạn chỉ việc kéo thả file vào và nhấn Delete. Zer0 cung cấp 2 phiên bản gồm portable và cài đặt, đối với bản cài đặt, chương trình sẽ thêm chức năng "Delete with Zer0" vào menu ngữ cảnh của hệ thống.

#3 DP Wipe

Giống như Zer0, giao diện và cách sử dụng của DP Wipe cũng rất là đơn giản, bạn chỉ việc kéo thả file vào và chọn Shredder, ngoài ra, bạn còn có thể kéo cả folder vào để xóa. Có một điều bất lợi là DP Wipe không có phiên bản portable, vì vậy bạn cần phải cài đặt chương trình vào máy tính để sử dụng

#4 TurboShredder

TurboShredder là một chương trình dạng portable và được viết bằng Java, vì vậy để chạy nó, máy tính của bạn phải cài đặt Java Runtime Environment, điều này rất bất tiện đối với một số người. Chương trình này cũng cho phép bạn kéo thả file/folder vào ngay giao diện hoặc chọn file muốn xóa thông qua nút + để xóa file, chương trình còn hỗ trợ Regex, điều này cho phép bạn xóa các phần mở rộng nhất định nào đó trong folder, ví dụ như *.docx sẽ xóa tất cả các file docx trong folder và giữ lại những file còn lại.

#5 Eraser

Eraser hỗ trợ tới 13 thuật toán xoá file, khi xoá file, chương trình sẽ làm sạch không gian trống tại vị trí của file bị xoá, tích hợp vào menu ngữ cảnh của Windows, xoá trắng Recycle Bin một cách an toàn. Ngoài ra, đối với Eraser bạn có thể lựa chọn xoá file ngay lập tức hoặc xoá trong lần khởi động kế tiếp, hay cũng có thể lập lịch để xóa file theo thời gian định sẵn. Chương trình hiện chưa có bản portable, vì vậy để sử dụng bạn cần cài đặt vào máy tính.

Powered by Blogger.