Bài đăng

Tản mạn một ngày

Ngồi cafe ở lầu 2 quán Zerus, không chờ gì cả, mình cố gắng nhớ lại cảm giác hôm qua vì lỡ dại nói câu "Cảm xúc hôm nay đủ để viết một bài blog". Hôm qua mình làm gì nhỉ? Mình đã bắt đầu một mối tình mới, với người đang ngồi chơi LOL bên cạnh, cuộc sống của mình có nhiều thứ mới mẻ hơn. Mình học ngôn ngữ code mới, là Java đó. Càng học mình caàng thấy nhỏ bé, ngày học này dạy cho mình hai thứ, một là sự hiểu đôi khi bạn không nhất thiết phải làm được. Vì hiểu cũng khó rồi. Hiểu một cái mô hình mới nó khó lắm luôn, hoặc do mình ckhoong đủ thông minh, nên bước hiểu nó càng trở nên quan trọng hơn,  Mình đã nghỉ ở công ty cũ, trong các công ty mình đã nhảy, đây là nơi đầu tiên và để lại nhiều kỷ niệm. Với cách anh trong nghề, và lụm được một quả bóng tình yêu. Bạn nghĩ nó vui lắm à, không, nó là một hành trìn đổ nhiều nước mắt. Thứ hai mình học được từ ngành này là làm được, phải làm cho bằng được. Tất cả những thứ được xây dựng lên đều là bàn tay con người mà thôi, chẳng có gì kh...

Virtual Environment khi lập trình Python

 Khác với gói npm trong Node.js cho phép ta quản lý gói cho từng dự án một thì Python lại không có khả năng này. Việc này sẽ gây rắc rối nếu các dự án khác nhau yêu cầu các gói thư viện khác version nhau. Ngoài ra, đôi lúc ta cũng chẳng muốn cài các gói vào môi trường global làm gì cả mà chỉ muốn cài vào local sài xong là xoá đi luôn. Virtual Environment cho phép bạn tùy biến việc sử dụng các thư viện cần thiết theo đúng phiên bản mà bạn muốn cho từng project, bạn có thể cùng lúc chạy 2 project với phiên bản Django khác nhau mà không làm ảnh hưởng lẫn nhau.  Cho phép bạn làm việc trong một môi trường ảo mà không bị ảnh hưởng bởi những thư viện phần mềm, gói cài đặt mà bạn đã cài trên toàn hệ thống. Trong Python, môi trường ảo được sử dụng để cô lập môi trường của các dự án với nhau.  Tạo môi trường: python -m venv <tên folder chứa thông tin Virtual Environment cho dự án của bạn> hoặc py -3 -m venv venv Bạn có thể đặt tên venv ở các project khác nhau. ...

Buid a Django REST API

Hình ảnh
 Django REST Framework là một "khung" công cụ để xây dựng API Web.  Tưởng tượng đơn giản một chút, API chính là những cái ổ cắm được thiết kế sẵn giúp cho chúng ta kết nối các thiết bị đơn giản hơn bằng cách lấy phích cắm cắm vào ổ cắm. Vài nét về API Web:  Hệ thống API trên nền tảng web  Application Programming Interface, giao diện lập trình ứng dụng. Ví dụ Windows API. Các API này bản chất là các xử lý kiểu như trang web với các URL nhưng thay vì trả về một trang web với nội dung là HTML (Xem HTML là gì?) thì nó trả về một nội dung dạng JSON hoặc XML.   Mô tả về API Rest, đơn giản là theo hình vẽ: REST là viết tắt của Representational State Transfer, là cấu trúc mẫu quy định các app giao tiếp với nhau. Nó bao gồm ba phần: External server, API server, client. REST có các giao thức như HTTP, Stateless. Những API được thiết kế theo cấu trúc REST được gọi là RESTful API. Kiến trúc REST và RESTful API bao ...

Application Programming Interface

Hình ảnh
 API là phương thức trung gian kết nối với các ứng dụng và thư viện khác nhau.  API sử dụng mã nguồn mở, cho client hỗ trợ XML, JSON API có khả năng đáp ứng đầy đủ các thành phần HTTP: URI, request/response headers, cachingm versioning, content forma,.. bạn có thể sử dụng host nằm trong phần ứng dụng hoặc IIS. Mô hình web API dùng để hỗ trợ MVC như: unit test, injection, ioc container, model binder, action result, filter, routing, controller. Ngoài ra, nó cũng hỗ trợ RESTful đầy đủ các phương thức như: GET, POST, PUT, DELETE các dữ liệu. Được đánh giá là một trong những kiểu kiến trúc hỗ trợ tốt nhất với các thiết bị có lượng băng thông bị giới hạn như smartphone, tablet… Giao tiếp hai chiều phải được xác nhận trong các giao dịch sử dụng API. Cũng chính vì vậy mà các thông tin rất đáng tin cậy. API là công cụ mã nguồn mở, có thể kết nối mọi lúc nhờ vào Internet. Hỗ trợ chức năng RESTful một cách đầy đủ. Cấu hình đơn giản khi được so sánh với ...

MVP ở bất kỳ đâu?

Hình ảnh
 Trong lĩnh vực phần mềm nó lại là một khái niệm MVP - Model View Presenter.

TDD( Test Driven Development) là gì?

Hình ảnh
 Lập trình viên sẽ thực hiện thông qua các bước nhỏ (BabyStep) và tiến độ được đảm bảo liên tục bằng cách viết và chạy các bài test tự động (automated tests). Test-Driven Development (TDD) và Behavior-Driven Development (BDD) – mô hình phát triển phần mềm hướng kiểm thử (test oriented) theo tinh thần Agile đang được áp dụng rộng rãi. TDD được xây dựng theo hai tiêu chí: Test-First (Kiểm thử trước) và Refactoring (Điều chỉnh mã nguồn). Mô hình thác đổ (Waterfall Model) thông thường: việc phân tích các yêu cầu (requirements) thường được tiến hành bởi Business Analyst (BA) 1 cách chuyên hóa và khi đến giai đoạn xây dựng (implementing phase) thì đa phần các developer tiếp xúc với các yêu cầu phần mềm dưới dạng các bản thiết kế. Họ chỉ quan tâm đến đầu vào, đầu ra (Input, Output) của tính năng mình xây dựng mà thiếu đi cái nhìn thực tiễn từ góc nhìn người dùng (end-users). Một hệ quả tất yếu là lỗi phần mềm đến từ việc sản phẩm ko tiện dụng với người dùng. Ví dụ tham khảo: Par...

Mô hình MVC là gì?

Hình ảnh
MVC là viết tắt của Model - View - Controller là một mô hình thiết kế kỹ thuật phần mềm. Source code chia thành ba phần: Model (dữ liệu), View (giao diện) và Controller (bộ điều khiển). Mô hình MVC (MVC pattern) thường được dùng để phát triển giao diện người dùng. Nó cung cấp các thành phần cơ bản để thiết kế một chương trình cho máy tính hoặc điện thoại di động, cũng như là các ứng dụng web. Model (M): Đây là bộ phận lưu trữ toàn bộ dữ liệu, cầu nối giữa View và Controller. Model có thể đơn giản chỉ là một file XML. View (V): Đây là nơi chứa các thành phần HTML được tạo ra, chức năng ghi nhận hoạt động của người dùng để tương tác với Controller. Controller (C): C đưa dữ liệu cho người dùng thông qua View và kết nối với Model. Luồng tương tác trong MVC: Khi một yêu cầu từ Client tới Server, controller tiếp nhận và xử lý yêu cầu, đó là URL request hay sự kiện. Controller có thể liên hệ với Model để Model thực hiện các tác vụ liên qua...