Xử lý Ubuntu bị treo máy


1, Vào terminal ảo:

Ctrl + Alt + Fx (Fx là: F1 -> F6)

2, Gõ lệnh

sudo reboot : Khởi động lại máy.

sudo shutdown -h now : Tắt máy.

Or

Nếu nghi ngờ tiến trình nào đang gây treo máy hoặc xóa bớt các tiến trình: https://laptrinhtuduy.wordpress.com/2014/07/20/huy-tien-trinh-dang-chay-trong-ubuntu/

Sau đó thoát khỏi terminal ảo: Ctrl + Alt + F7 or Ctrl + Alt + F8 or Alt + F7

Hủy tiến trình đang chạy trong Ubuntu


1, Xem các tiến trình đang chay:

sudo ps -A

2, Kill tiến trình

sudo kill XXX 

với XXX là PID của tiến trình đó.

3, Tìm danh sách các tiến trình:

sudo ps -A | grep “key”

VD: Tìm các tiến trình mà trình duyệt Web chrome đang chạy:

sudo ps -A | grep “chrome”

Install PHP, Apache, MySQL on Ubuntu 14.04


1, Install Apache2:

 sudo apt-get install apache2

2, After installation, Add the following line “ServerName localhost” to the /etc/apache2/apache2.conf file

sudo /etc/apache2/apache2.conf 

=>> Add: ServerName localhost

3, Restart Apache:

sudo /etc/init.d/apache2 restart

4, Install MySQL:

 sudo apt-get install mysql-server

** Thay doi thu muc mac dinh chua Apache (var/www/html)  =>

(1)   sudo /etc/apache2/sites-enabled

Open: 000-default.conf => Change var/www/html => your path

(2)   sudo gedit /etc/apache2/apache2.conf => Change denied to granted

(3) sudo /etc/init.d/apache2 restart

** Thay doi thu muc root:

(1) sudo gedit /etc/apache2/apache2.conf 

Change: /var/www/ => ‘your path’

Repair boot with Try ubuntu


Repair boot with Try ubuntu:

  1. Insert the Ubuntu disc, or connect the Ubuntu liveUSB.
  2. Setup the BIOS to make it boot on the Ubuntu disc
  3. Reboot the PC
  4. When asked, choose Try Ubuntu

 

5.. Connect internet

6. Open a terminal, and type (or copy-paste) the following command:

sudo add-apt-repository -y ppa:yannubuntu/boot-repair

Press Enter, then type the following command (useful if you are using an Ubuntu14.04 disc):

sudo sed s/trusty/saucy/g -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list

Press Enter, then type the following command:

sudo apt-get update

Press Enter, then type the following command:

sudo apt-get install -y boot-repair && boot-repair

Press Enter. That’s it, the Boot-Repair window will appear!

Choose: Recommended Repair to repair.

MongoDB: Deploy a Replica Set


Depoy a Replica Set with three members: 1 Primary and 2 secondary

  1. Install mongodb:

$ sudo apt-get update

sudo aptget install mongodb

  1. Config mongodb.conf in each member

$ vi /etc/mongodb.conf

Add: replSet = rs0

Remove: bind_ip = 127.0.0.1

$ service mongodb restart

  1. In each Secondary member

$ vi /etc/hosts

Add: <IP primary member> : machine name of primary

  1. In Primary

$ mongo
rs.initiate()

rs.add(“<IP member 2>:27017”)

rs.add(“<IP member 3>:27017”)

rs.status()

 

Virtualbox lỗi không cài được 64bit or 32 bit


Lỗi này vào BIOS => sau đó enable  vitualbox technology

Fragment trong Android


Fragment là một phần giao diện người dùng hoặc hành vi của một ứng dụng. Fragment có thể được đặt trong Activity, nó có thể cho phép thiết kế activity với nhiều mô-đun. Có thể nói Fragment là một loại sub-Activity.

  • Fragment cũng có layout của riêng của nó, cũng có các hành vi và vòng đời riêng.
  • Chúng ta có thể thêm hoặc xóa Fragment trong một Activity trong khi Activity này đang chạy.
  • Có thể kết hợp nhiều Fragment trong một Activity để xây dựng giao diện người dùng đa khung.
  • Một Fragment có thể được sử dụng trong nhiều Activities.
  • Vòng đời của Fragment có quan hệ chặt chẽ với vòng đời của Activity đang dùng nó điều này có nghĩa là khi Activity bị tạm dừng thì các Fragment sẽ dừng lại.
  • Fragment có thể thực hiện một hành vi mà không có trong thành phần giao diện người dùng.
  • Fragment được thêm vào API 11 trở lên.
  • Bạn có thể tạo các Fragments bằng cách kế thừa lớp FragmentFragment được thêm vào layout bởi thẻ <fragment>

ĐỌC TIẾP >>>

Content Providers trong Android


Content providers là thành phần cung cấp dữ liệu từ một ứng dụng đến một ứng dụng khác dựa trên các Request. Mỗi Request được xử lý bằng các phương thức của class ContentResolver. Một Content Provider có thể sử dụng các cách lưu trữ dữ liệu khác nhau, dữ liệu có thể được lưu trữ trong databases, file, thậm chí thông qua Network.

Mỗi ứng dụng Android chạy trong các tiến trình riêng của chính mình và nó có các điều khoản riêng của nó, điều mà giữ dữ liệu của ứng dụng ẩn với các ứng dụng khác. Tuy nhiên, thỉnh thoảng nó được yêu cầu chia sẻ dữ liệu đến các ứng dụng khác. Sử dụng Content Provider trong việc này rất hữu ích.

Content Providers cho phép bạn tập trung dữ liệu ở một nơi và các ứng dụng khác nhau sẽ truy xuất vào nó khi cần thiết. Content Provider hoạt động rất giống với một cơ sở dữ liệu, và bạn có thể truy vấn nó, chỉnh sửa nội dung, cũng như là thêm xóa các nội dung sử dụng các phương thức: insert(), update(), delete(), query(). Trong nhiều trường hợp dữ liệu được lưu trữ trong SQLite.

ĐỌC TIẾP >>>

Broadcast Receivers trong Android


Broadcast Receivers chỉ đơn giản là xử lý và phát các thông điệp từ các ứng dụng khác hoặc từ hệ thống. Ví dụ: các ứng dụng có thể bắt đầu phát thông điệp đến các ứng dụng khác để cho biết rằng một số dữ liệu đã được tải thành công xuống thiết bị và sẵn sàng cho việc sử dụng, Broadcast Receivers sẽ đảm nhận việc thông báo vào đưa ra những hành động thích hợp.

Có hai bước quan trọng để cho Broadcast Receivers làm việc:

  1. Tạo Broadcast Receiver.
  2. Đăng ký Broadcast Receiver.

Có thêm một bước nữa trong trường hợp bạn implement các intents tùy chỉnh của bạn thì bạn sẽ phải tạo và Broadcast các intents đó.

ĐỌC TIẾP >>>

Services trong Android


Một Service là một thành phần được chạy bên trong nền để xử lý các công việc trong thời gian dài. Một ứng dụng nghe nhạc có thể phát nhạc, trong khi đó người dùng đang ở giao diện của ứng dụng khác. Hoặc ứng dụng download có thể tải dữ liệu trên mạng về máy mà không ngăn chặn người dùng tương tác với các ứng dụng khác. Một Service gồm hai trạng thái cơ bản:

  • Started: Một service được gọi là started khi một thành phần của ứng dụng, chẳng hạn như là activity, start nó bằng cách gọi phương thức startService(). Mỗi lần được started, service chạy bên dưới vô thời hạn, thậm chí ngay cả khi thành phần đã started nó bị hủy.
  • Bound: Một service được gọi là bound khi một thành phần ứng dụng liên kết với nó bằng cách gọi phương thức bindService(). Một dịch vụ ràng buộc cung cấp một giao diện client-server cho phép các thành phần tương tác với service, gửi yêu cầu, nhận kết quả, thậm chí tương tự trong việc giao tiếp với interprocess (IPC).

ĐỌC TIẾP >>>