Skip to main content

Posts

Showing posts from January, 2013

Lập trình web app với API

Webapp là gì? đơn giản thì nó là 1 ứng dụng chạy trên nền web. Còn app đấy làm gì thì chả ai quy định. Nếu tớ viết 1 trang cho phép nhập vào 2 số và in ra tổng của chúng thì cũng có thể gọi đấy là 1 webapp , nếu tớ muốn thế. Khi các nhà cung cấp dịch vụ lớn như google, twitter, foursquare, yahoo, flick... cung cấp các API để lập trình viên có thể truy cập đến kho dữ liệu khổng lồ của họ, phần còn lại - dùng chúng thế nào sẽ chỉ còn giới hạn bởi trí tưởng tượng của mỗi người.

Kết nối wifi bằng dòng lệnh

UPDATED: lỗi format bài viết (phần nội dung file wpa) NOTE1: bài viết này thực hiện trên ubuntu 12.04 LTS, các phiên bản khác chưa test. Nếu bạn thực hiện thành công trên các phiên bản khác, vui lòng gõ lệnh `lsb_release -a` paste và comment là đã thành công. Cám ơn! NOTE: bài viết này đòi hỏi có hiểu biết cơ bản về interface, route. Một trong những câu lệnh rất ít người biết cách dùng đó là lệnh để config mạng wifi, bởi Ubuntu luôn đi kèm với NetworkManager. Trước hết cần phân biệt loại key mà mạng wireless đó đang sử dụng. Nếu là WEP: có thể dùng iwconfig Nếu là WPA: phải dùng wpa_supplicant hvn@lappy: ~ () $ sudo iwlist wlan0 scan | egrep -i 'ssid|WPA|WEP'

"hack" view

Ngày xưa, hồi làm báo, chúng mình từng chơi trò auto-reload (addon của firefox) để tăng lượt view. Ngày nay, chúng mình sẽ dùng code để làm điều này: Giả sử link muốn tăng view là http://q.familug.org/questions/5101409c997be/em-muon-bai-nay-tang-view Làm 1 vòng while, hay for tùy thích. Ở đây sẽ dùng while: Đơn giản nhất là dùng bash + wget/curl

awk vs cut

mỗi tool sẽ chiến thắng trong trường hợp của nó: Giả sử bạn muốn ghi ra các "cột" rời rạc, `awk` thường được ưa chuông hơn. hvn@lappy: ~ $ awk -F : '{print $1,$3}' /etc/passwd root 0 daemon 1 bin 2 sys 3 sync 4 games 5 hvn@lappy: ~ $ cut -d':' -f1,3 /etc/passwd root:0 daemon:1 bin:2 sys:3 sync:4 games:5 output của `cut` có dấu ':'.

Virtualization - công nghệ ảo hóa

TODO:  tut cài máy ảo bằng kvm  tut cài máy ảo bằng  virtualbox Virtualization không phải là 1 khái niệm mới mẻ, nó đã tồn tại khá lâu, chiếm những vị trí rất quan trọng, thậm chí mang tính sống còn với nhiều doanh nghiệp :D Virtualization là ảo hóa (trong bài này nói về việc cài đặt các máy ảo để sử dụng). Ở mức người dùng cá nhân, công nghệ này dường như không thực sự thu hút đối với người dùng. Bởi nếu cần có 2 hệ điều hành để chạy song song thì thường người ta sẽ cài luôn cả 2 hệ điều hành ấy để dual-boot. Trên linux cũng có các chương trình giả lập môi trường window để chạy các phần mềm window (wine).

Cài đặt, cấu hình, quản trị mysql-server

Bài viết thực hiện trên : ➜ hvn@lappy  ~  uname -ir && lsb_release -d 3.2.0-30-generic x86_64 Description:    Ubuntu 12.04.1 LTS Sau khi luyện xong các lệnh trong bài này, bạn có thể tự chạy và quản lý 1 mysql-server cho các sản phẩm của mình, hoàn toàn không cần dùng thêm phpmyadmin.

[Ideas] Sách / tài liệu miễn phí cho sinh viên

Ở đây mọi người đều là những sinh viên sắp không phải ôm sách ôm vở nữa. Sau khi học xong, sẽ còn lại 1 đống sách và tài liệu đã từng mua / được phát. Thay vì bán đồng nát, tớ có ý tưởng gom hết vào rồi mang ra trường để, ai lấy thì lấy - Ý tưởng: sách, vở, tài liệu không muốn giữ lại thì cho đi. - Thực hiện: Đang phân vân giữa các lựa chọn sau:

[FMLnews] Tuần có sinh nhật Tùng Lâm

Aaron Swartz (tác giả của Reddit, webpy, đồng tác giả của RSS,...) đã qua đời ở tuổi 26 http://lessig.tumblr.com/post/40347463044/prosecutor-as-bully 1 bài bình luận về source của Doom 3, rất nhiều điều để học về coding style cho những ai dùng C và C++  http://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code?post=56177550 Loạt bài Best way to learn .. cái j đó: http://net.tutsplus.com/sessions/the-best-way-to-learn/

Định lượng thời gian ...

Có bao giờ bạn nghe thấy những câu hỏi kiểu như: Học cái X hết bao lâu? Tất nhiên câu trả lời sẽ có phần "tùy khả năng mỗi người", nhưng dù sao cũng phải có cái gì để người ta biết rằng bạn có thể học cái A nhanh hơn cái B, và nếu tốt hơn thì biết được mất bao lâu? Sau đây tớ sẽ định lượng 1 số công việc thú vị mà bạn có thể tự học nếu cảm thấy thích: - Mất khoảng 3 tiếng để bạn biết cách dùng Vim đúng cách (gõ vimtutor rồi làm hết tut trong ấy) - Mất 1 tiếng để bạn biết viết những dòng CSS cơ bản http://www.w3schools.com/css/ - Mất 1 tiếng để bạn học được cách dùng 10 lệnh git cơ bản để có thể sử dụng git, github... - Mất 1 tiếng để bạn biết JSON là cái của nợ gì, và biết dùng nó.

[FFaddon] Replay video Youtube

addon Youtube Video Replay 3.0 là addon tớ đang dùng để replay các clip trên youtube. Chỉ đơn giản là cài nó vào, vào youtube bạn sẽ thấy 1 nút replay ngay cạnh nút dislike.  Vậy là tha hồ nghe các bản nhạc hay mà ko đau tay bấm nút rồi :D https://addons.mozilla.org/en-US/firefox/addon/youtube-video-replay/?src=search

[bash] cd đến thư mục vừa tạo

hvn@hvnatvcc: ~ $ mkdir -p hello/this/is/familug/dot/org hvn@hvnatvcc: ~ $ cd !$ cd hello/this/is/familug/dot/org hvn@hvnatvcc: ~/hello/this/is/familug/dot/org $ pwd /home/hvn/hello/this/is/familug/dot/org !$ là `yank-last-arg` từ man bash:        yank-last-arg (M-., M-_)               Insert  the  last argument to the previous command (the last word of the previous history entry).  With a numeric argument, behave exactly like yank-nth-arg.  Successive calls to yank-last-arg move back through the history list, inserting the last  word  (or  the  word  specified  by the argument to the first call) of each line in turn.  Any numeric argument supplied to these successive calls determines the direction to move through the history.  A negative argument  switches  the  direction through  the  history (back...

[Ebooks] Learn The Hard Way

Các cuốn sách ở đây là những nguồn tài liệu rất tốt cho những ai tự học lập trình. Bắt nguồn từ sự thành công của cuốn Learn Python The Hard Way , tác giả đã sản xuất hàng loạt các cuốn sách khác cùng style với cuốn trên.   Các cuốn sách đều có thể xem online ở dạng HTML. Python Ruby C SQL Regex Với triết lý: "Less Talk, More Code", các cuốn sách này ngày càng trở nên nổi tiếng :D

Config apache2 để xem 1 trang web trong /home/xyz/

cái này tớ không định viết hẳn hoi, coi như ghi lại kinh nghiệm 1 ngày vò đầu bứt tóc. (và kết luận rút ra cũng không chắc chắn, không muốn test lại nữa) Bài học: Đừng bao giờ Alias đến 1 thư mục nào đó trong /home hãy dev chán chê rồi cho nó vào /var/www/ hay đâu đó bạn thích,nhưng đừng là trong /home Nếu muốn đặt web của mình trong home, hãy học dùng mod userdir http://httpd.apache.org/docs/2.2/mod/mod_userdir.html#userdir

Kích hoạt tính năng hỗ trợ 256 màu của GNOME terminal

Trong khi hì hục config i3 thì tớ thử cài urxvt và khám phá ra rằng : GNOME Terminal hỗ trợ 256 màu. Màu sắc hiện tại của terminal của tớ cũng khá đẹp (PROMT màu mè) nhưng có vẻ như nó được sử dụng triệt để. thêm dòng này vào cuối file ~/.bashrc của bạn (hoặc ~/.zshrc) export TERM="xterm-256color" và trả nghiệm sự khác biệt:

Cùng học ruby

Như bài viết trước vừa nói, tớ học ruby theo kiểu nhảy vào code vì bản thân RAM bé, ko hợp với kiểu nhồi sách rồi mới làm. Cùng tên với rất nhiều topic trên các forum mạng, nhưng đây sẽ không phải kiểu kêu gọi, đăng ký và bỏ đấy :v Mục tiêu của tớ là học ruby để config chef . Nhưng cái mục tiêu này hơi mơ hồ, vì thật ra tớ chưa dùng chef nên cũng không rõ phải học bao nhiêu, vậy nên mục tiêu đổi thành: học dùng các khái niệm thuộc core của ruby tương đương với python như list, dict, if else, for, while, viết function, viết class, cài đặt môi trường để code, sử dụng vài thư viện ... Bạn cũng nên set 1 cái mục tiêu trước khi nhảy vào học: ví dụ như học ruby + ruby on rail để làm 1 cái blog cho bản thân, để giải 20 bài PE ... :v Nội dung chính của post này: - chia sẻ tài liệu - giải thích thắc mắc - chia sẻ kinh nghiệm Ngày số 1:

Phút ngần ngại...

Có bao giờ, bạn muốn làm một việc gì đó ... rồi bạn không làm nó ngay nâng tầm quan điểm làm như nó là 1 cái gì đó nghiêm túc, quan trọng lắm và rồi phút hứng thú đi qua, bạn chẳng làm gì cả. Tớ gọi đó là " phút ngần ngại " :v (nhà ngôn ngữ học thế kỷ 22 :v) UPDATE: theo dự đóan từ hợp lý hơn có thể là "Rào cản tâm lý" 2 ví dụ: 1. Bạn nghĩ đến việc học đánh đàn - bạn nâng tầm quan điểm : phải học đánh cho chuẩn, phải tập 2 tiếng một lần, blah blah... - rồi bạn ngại. cầu toàn là một lý do khiến bạn không làm được việc gì cả . hình thức là lý do khiến bạn nhanh nhàm chán 2. Bạn nghĩ đến việc học 1 ngôn ngữ mới - bạn nâng tầm, học cái này làm cái A cái B cái C blah blah thật kinh khủng - bạn tìm hàng loạt ebook sách khủng down về. - rồi vứt xó ... trong khi tất cả việc bạn phải làm là nhảy vào ôm đàn hay xông vào code ầm ầm, chẳng có gì phải nghĩ cả chỉ cần kiếm cho mình 1 lí do hợp lý để làm việc ấy. Hãy để mọi thứ thật đơn giản, thật bình t...

2013

bỏ lại tất cả mọi thứ phía sau, năm mới đã đến. một phút để nhìn lại những gì làm được năm vừa rồi: ►  2012 (130) ►  2011 (143) ►  2010 (100) 130 bài viết (yeah), tuy không được như thời kỳ đỉnh cao 2011 nhưng cũng là 1 con số tuyệt vời  . Và nếu như tất cả bài viết từ bên blog +Lam Tung   đều kịp chuyển sang đây thì con số này có lẽ đã vượt năm 2012. Những điểm nóng năm vừa qua:  Bài viết của năm: 

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG