Unix vs Linux. Nguồn gốc và sự khác biệt

Bài viết được lấy nguồn toàn bộ từ:

https://viblo.asia/p/become-a-superuser-part-0-unix-vs-linux-nguon-goc-va-su-khac-biet-rNkKxxMAKlm

Lời mở đầu

Thời gian gần đây, tôi có nhiều hứng thú và muốn tìm hiểu về Infrastructure, một lĩnh vực tôi thấy là quá sức rộng lớn nhưng mà kiến thức bản thân thì quá ư là hạn hẹp (facepalm). Sau một vài tháng tìm hiểu, học tập, đọc sách, tôi cảm thấy thế giới của Linux thật là hấp dẫn và lôi cuốn. Continue reading “Unix vs Linux. Nguồn gốc và sự khác biệt”

PHÂN QUYỀN TẬP TIN VÀ THƯ MỤC TRÊN LINUX (CHMOD)

Đây là một bài viết cực cực kỳ hay của anh Thạch Phạm về vấn đề phân quyền trong Linux. Bởi vậy mình xin phép lấy nguyên toàn bộ bài viết đăng lên và trích nguồn. Lý do để sau này cần thì dễ tìm hơn và nếu lỡ link gốc bị die thì còn có bài mà xem lại. Nguồn:

https://thachpham.com/linux-webserver/phan-quyen-tap-tin-thu-muc-linux.html

Đây là một khái niệm cực kỳ quan trọng mà mình sẽ cần giải thích cho bạn hiểu về thế giới Linux, bởi vì server của bạn có bảo mật hay không phụ thuộc một phần vào kỹ năng phân quyền.

Trong Linux, để phân quyền lại các tập tin và thư mục, chúng ta sẽ sử dụng lệnh chmod. Trong bài viết này, mình sẽ đề cập tới việc hướng dẫn sử dụng lệnh chmod cũng như cơ cấu phân quyền trong Linux. Continue reading “PHÂN QUYỀN TẬP TIN VÀ THƯ MỤC TRÊN LINUX (CHMOD)”

Các lệnh cơ bản với Linux

Khi deploy 1 project trên môi trường thật, chúng ta thường sử dụng hệ điều hành Linux (phần lớn là Ubuntu server bản không có giao diện). Mọi thứ chúng ta sẽ thao tác trên command line. Vì vậy biết được các lệnh cơ bản trên Linux sẽ giúp ích rất nhiều cho quá trình làm việc.

Về cơ bản các thư mục trong hệ thống sẽ được cấu trúc theo cây thư mục bắt đâu từ thư mục gốc root. Việc chúng ta có quyền nhìn thấy hay thực hiện thêm sửa xoá các thư mục hay file trong đó sẽ phụ thuộc vào quyền user mà chúng ta đang login. Ví dụ khi ta cài postgres thì mặc định ta sẽ có thể login với user là postgres để thực hiện các lệnh với DB. Mặc định thì quyền root là cao nhất.

Bởi vậy chúng ta cần lưu ý 2 điều khi sử dụng: Continue reading “Các lệnh cơ bản với Linux”

So sánh Hibernate với MyBatis

Hibernate và MyBatis đều là những ORM framwork hỗ trợ việc chuyển đổi cơ sở dữ liệu quan hệ và các ngôn ngữ lập trình.

Bảng so sánh:

Hibernate MyBatis
Hibernate tự sinh SQL nên không cần phải viết SQL Tự viết câu lệnh SQL
Hỗ trợ cả Non-SQL Database và cơ sở dữ liệu quan hệ Hỗ trợ cho hệ cơ sở dữ liệu quan hệ
Phù hợp với các dự án không có cần truy vấn dữ liệu phức tạp vì hỗ trợ CUD gọn nhẹ. Nhưng nếu cần viết những câu lệnh SQL select dữ liệu phức tạp thì nên viết câu lệnh SQL Do tự viết câu lệnh SQL nên có phù hợp với những dự án thiên về get cơ sở dữ liệu phức tạp. Nhưng yêu cầu khả nẵng sẵn sằng bảo trì SQL sau này.
Ánh xạ dữ liệu từ CSDL tới các đối tượng POJO trong Java Lấy dữ liệu từ DB chuyển vào ResultSet từ đó thông qua JDBC chuyển đối tượng POJO trong java

 

Làm thế nào để đọc được code của framework

Thường thì source của framework sẽ được mã hóa hoặc đã được compile (file .class) nên chúng ta không thể đọc được. Với một số bạn thì nó cũng không cần thiết nhưng nếu như bạn tò mò hay muốn đọc được code của một số class bị mã hóa thì có thế dùng cách này:

Bạn cài thêm 1 plugin trong eclipse hay STS: Enhanced Class Decompiler trong Eclipse Marketplace như hình dưới:

Decompiler

Continue reading “Làm thế nào để đọc được code của framework”

Đừng tự khắc nghiệt với bản thân

Tuần vừa qua mình có tham gia một buổi chia sẻ về tâm lý, chủ đề của buổi chia sẽ là “Tính trì hoãn (Procrastination)”. Xuyên suốt buổi chia sẽ có rất nhiều câu chuyện và câu hỏi được đặt ra cho thầy Toàn. Nên hôm nay mình sẽ tổng hợp lại một số thứ mà mình có được qua 2 buổi chia sẻ đó:

Cảm giác của chúng ta (feeling) phụ thuộc vào 3 yếu tố chính tác động: physiological (sinh lý học), cognitive (nhận thức), behavioral (hành vi). Cho nên để luôn cảm thấy khỏe mạnh và thoải mái trong cuộc sống thì chúng ta cần cân bằng cùng lúc cả 3 yếu tố trên.

2 Continue reading “Đừng tự khắc nghiệt với bản thân”

Review một vài cuốn sách hay

Hi các bạn, hôm nay mình xin được phép review một vài cuốn sách hay mà mình đã đọc hay được review từ bạn mình. Hy vọng các bạn sẽ tìm được 1 cuốn sách hay và phù hợp với sở thích và nhu cầu của bản thân. Bắt đầu nhé:

  1. Kien Tran’s IELTS handbook

Đây là một cuốn sách tuyệt vời cho những ai muốn tự học tiếng anh nói chung và muốn tham gia kỳ thi IELTS nói riêng. Cuốn sách sẽ tẩy não bạn và phá vỡ tất cả các quan niệm sai lầm trong tư tưởng của bạn trước khi bắt đầu vào quá trình tự học tiếng anh. Nó sẽ giúp bạn không cần phải tới bất cứ trung tâm tiếng anh nào mà vẫn đạt được mục tiếu tiếng anh của mình. Continue reading “Review một vài cuốn sách hay”

Các phím tắt giúp ném chuột qua 1 bên trong Eclipse

Các phím tắt của elipse thì rất nhiều và nó có hướng dẫn sử dụng chúng nữa. Hiện tại mình sẽ chỉ đưa ra bộ phím tắt mà mình hay dùng nhất để các bạn có thể sử dụng eclipse trên bàn phím mà không cần dùng chuột thôi nhé:


Ctrl + Shift + R: Mở cửa sổ tìm kiếm các class.

Ctrl + T: Hiển thị các Interface hoặc class implement.

Ctrl + F7: Hiện thị các view làm việc như: console, package explorer

Ctrl + F8: Chuyển sang màn hình debug hoặc màn hình code bình thường Continue reading “Các phím tắt giúp ném chuột qua 1 bên trong Eclipse”

Cơ bản về Junit

Junit là 1 unit testing framework được sử dụng trong Java.


1. Một số đặc trưng chủ yếu của Junit.

  • Cung cấp Annotation để xác định phương thức
  • Cung cấp Assertion cho kết quả mong muốn trả về.
  • Cung cấp runner cho chạy thử.

Thường trong project sẽ tạo ra một package test (src/test/java) đồng cấp với package chứa source code (src/main/java).

Do Junit thường sẽ dùng để viết test cho các xử lý tại package service, nên cấu trúc thư mục của phần test này sẽ gần như tương tự cấu trúc trên source code. Bình thường thì mỗi method trong 1 class tại package service sẽ có 1 method test cho nó. Continue reading “Cơ bản về Junit”

Hiểu sơ bộ về framework Hibernate

  1. Khái quát cơ bản.

Hibernate là 1 ORM giúp quản lý việc truy vấn dữ liệu trong DB.

Vị trí của nó trong cấu trúc source được miêu tả như trong tài liệu:

http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html

Về cơ bản Hibernate sẽ quy các table trong DB về thành 1 class entity trong java. Từ đó mỗi bảng có thể được coi như là 1 đối tượng trong java. Từ đó mỗi khi truy cập đến các table hay column trong DB thì ta chỉ cần truy vấn trực tiếp đến các class và field tương ứng mà không cần phải quan tâm đến loại DB đang dùng và dữ liệu như thế nào Continue reading “Hiểu sơ bộ về framework Hibernate”