Chuyển đến nội dung chính

Bài đăng

Hiển thị các bài đăng có nhãn python

Test coverage trong python flask.

Viết unit test là công đoạn mà developer nào cũng phải làm, unit test dùng để kiểm tra code của bạn viết có làm việc như mong đợi hay không ?  Flask cung cấp một bộ test dưới trình máy khách để  request lên ứng dụng và trả về một dữ liệu.  Bạn phải test code nhiều nhất có thể, trong trường hợp có nhiều nhánh trong lệnh if bạn phải đảm bảo các nhánh if đã được test khi các điều kiện được match.  100% coverage không có nghĩa là đảm bảo ứng dụng của bạn không có bug. Trong flask thông thường bạn sử dụng thư viện pytest và coverage, cài đặt nó: $ pip install pytest coverage Thiết lập: Tạo một folder test, và trong folder này có file : conftest.py; file này chứa những hàm  fixtures    Mỗi test sẽ tạo ra một database file và có vài thông tin trong nó:  INSERT INTO user ( username , password ) VALUES ( 'test' , 'pbkdf2:sha256:50000$TCI4GzcX$0de171a4f4dac32e3364c7ddc7c14f3e2fa61f2d17574483f7ffbb431b4acb2f' ), ( 'other' , 'pbkdf2:sha256:50000$kJPKsz6N$d2

Một số hàm cơ bản khi tạo một hạ tầng ảo trên AWS dùng CDK python.

Như các bạn đã biết AWS CDK Python là một framework để code automation hạ tầng mạng cho AWS. Trong bài viết này chúng ta đi sơ qua một vài function cơ bản trong CDK Python dùng cho việc code automate hạ tầng trên AWS.  Các components sẽ tạo như:  1. VPC, subnet, Internet GW và NAT GW.  2. ECS - Elastic Container Service, load balancer, AutoScaling Group, ...  Nếu trước kia bạn có thể sử dụng Ansible hoặc terraform để deploy mà bạn không cần phải biết 1 ngôn ngữ nào, bạn cũng có thể deploy được các components phía trên.  Terraform: Ansible: Ngày nay bạn sử dụng code Python để deploy các component trên bằng framework CDK của AWS.  Trong đó có các hàm thông dụng sau:  vpc = ec2.Vpc(stack , "VPC" , max_azs = 3 , cidr = "10.100.0.0/16" , # configuration will create 3 groups in 2 AZs = 6 subnets. subnet_configuration =[ec2.SubnetConfiguration( subnet_type =ec2.SubnetType.PUBLIC , n

Class trong Python và tính kế thừa

Python là ngôn ngữ lập trình hướng đối tượng Nên tất cả mọi thứ trong python đều là object với những properties và methods. Tạo một Class trong python: Tạo một class trong pythong có tên là Person và property có tên là : x class Person:     x = 5  Tạo một object:  Tạo một object tên là p1 và in ra giá trị x: p1 = Person() print(p1.x) Hàm __init__ Các lớp (class) đều có một hàm ( function ) khi một class được khởi động thì hàm __init__luôn thực thi khi class khởi động (initiate) . Ví dụ: Tạo một class có tên là Person và và sử dụng hàm __init__ để gán giá trị cho name và age. class Person:      def __init__(self, name, age):           self.name = name           self.age = age   p1 = Person("Thanh", 35)  print(p1.name) print(p1.age) Ví dụ 2 : Thêm một fuction để in ra câu chào mừng thực thi nó trên object p1. class Person:         def __init__(self, name, age):             self.name = name             self.age = age        def chaomung(self):

KẾT HỢP GIỮA AWS LAMBDA VÀ API GATEWAY DÙNG NGÔN NGỮ PYTHON

KẾT HỢP GIỮA AWS LAMBDA VÀ API GATEWAY DÙNG NGÔN NGỮ PYTHON. Nội dung bài viết: Mục đích của bài viết. AWS Lambda là gì ? Thiết lập cấu hình cơ bản Thiết lập AWS lambda - Tạo function. - Kiểm tra function. Thiết lập API gateway. - Tạo API - Kiểm tra bằng manually. - Bật tính nằng CORS - Triển khai API - Kiểm tra API thông qua cURL Cập nhật Form. MỤC TIÊU: Sau bài viết này bạn có thể: Hiểu được AWS Lambda và API Gateway là gì và tại sao chúng ta cần sử dụng chúng. Thảo luận các lợi ích của việc sử dụng AWS lambda function. Dùng ngôn ngữ python để tạo các hàm AWS Lambda Phát triển các RESTFUL API đầu cuối kết hợp với API GATEWAY. Cách “đẩy ” một hàm AWS Lambda từ API gateway. ĐẦU TIÊN TA HIỂU AWS LAMBDA LÀ GÌ ? AWS (Amazon Web Service) Lambda là một dịch vụ theo nhu cầu của AWS nhẳm chạy mã code của bạn từ HTTP request hoặc sự kiện (event) để trả về kết qủa(resp