Bạn có nghĩ rằng một mình GAE là đủ để biện minh cho việc học Python qua Ruby không? [đóng cửa]


12

Xem xét thực tế rằng bạn không cần phải tham gia vào việc thiết lập / mua máy chủ hoặc thậm chí mua một tên miền, bạn có nghĩ rằng thực tế đó là đủ để chọn cái này không?

Tôi không nhất thiết muốn làm việc trên Google App Engine, tôi chỉ thấy nó thuận tiện khi lưu trữ / môi trường / v.v. và tự hỏi nếu đó là một lý do đủ tốt để học trăn.

Trong mọi trường hợp, tôi không tìm kiếm một cuộc tranh luận giữa python và ruby ​​nhưng nhiều hơn về Google App Engine và liệu giá trị của nó có đủ để ra lệnh cho ngôn ngữ bạn nên học hay không.


4
Google App Engine, đối với những người trong chúng ta bị TLA thách thức. Lưu ý rằng bạn cũng có thể sử dụng Java.
Robert Harvey

:) Tôi đã có Java và Objective-C để đối phó. Đừng nghĩ rằng học ruby ​​và trăn cùng một lúc là thời gian tốt nhất để tỷ lệ giá trị: P
qnoid

Tôi nghĩ bạn sẽ thấy rằng một khi bạn học Python, bạn có thể học Ruby khá dễ dàng - chúng thuộc cùng một dòng.
Marcel Lamothe

Câu trả lời:


16

Không. Google App Engine cung cấp cơ sở hạ tầng miễn phí / giá rẻ để lưu trữ các ứng dụng Python, nhưng Ruby hoàn toàn giống với Heroku (và Heroku có ít hạn chế hơn GAE). Trước khi sử dụng GAE, hãy đảm bảo đọc rất kỹ về các hạn chế mà Google đặt ra trên nền tảng, nhiều trong số đó có thể là rào cản đáng kể cho mục tiêu bạn đang cố gắng đạt được. Bài đăng trên blog của Carlos Ble đi sâu hơn nhiều về nhiều hạn chế mà anh ấy gặp phải, nhưng tôi sẽ cung cấp cho bạn một cái nhìn tổng quan nhanh:

  • Python 2.7 chỉ không có phần mở rộng được biên dịch (nhấn hiệu năng chính)
  • Hết thời gian yêu cầu 30 giây (rất nhiều để tải lên tệp lớn dễ dàng) và 10 giây hết thời gian chờ yêu cầu (vì vậy bạn không thể truy vấn API chậm từ ứng dụng của mình)
  • BigTable là thời kỳ đồ đá; không có toán tử "THÍCH" nào trong truy vấn của bạn và không có truy vấn nào có thể trả về hơn 1.000 bản ghi
  • Memcache có kích thước giá trị tối đa 1 MB
  • Cả BigTable và Memcache đều có xu hướng chết với tốc độ đáng kể đến mức có hiệu quả khi đưa mã vào ứng dụng của bạn để khắc phục các lỗi của chúng

Đối với một dự án rất nhỏ, GAE là tốt; nhưng nếu bạn đang xây dựng một cái gì đó ở kích thước trung bình hoặc lớn, chỉ cần lưu ý đến những hạn chế có thể cản trở bạn tiến bộ.

Để biết thêm thông tin về loại hạn ngạch và giới hạn nào bạn có thể phải giải quyết, hãy xem tài liệu GAE:

Đồng thời xem phản hồi này trên Stack Overflow: /programming//a/3068371/189079


4
Làm thế nào điều đó tạo nên sự vững chắc của BigTable, THÍCH là một lựa chọn đắt tiền và trả lại giới hạn 1000 là một ý tưởng hay. Âm thanh như bạn lạm dụng SQL DB thối của bạn, thu nhỏ trước?
sa93

Không giới hạn chỉ ảnh hưởng đến hạn ngạch miễn phí?

@ sa93 Tôi chắc chắn không sử dụng các truy vấn THÍCH. Tuy nhiên, một ứng dụng tôi đã xây dựng sử dụng truy vấn trả về hơn 1000 kết quả (kết quả truy vấn được lưu trữ nhiều, đừng lo lắng) và tôi rất vui vì tôi không phải xử lý nhiều lần truy vấn và sau đó nối kết quả dữ liệu trước khi gửi nó đến lớp bộ nhớ đệm.
dirk

@BakerKawesa Không chắc chắn. Cần nghiên cứu mà. Google có thể đã chuyển đổi chính sách của họ.
dirk

11

Nếu bạn muốn phát triển cho Google App Engine, chắc chắn bạn muốn học Python (Java cũng là một tùy chọn, nhưng những người đứng sau GAE dường như là Pythonistas).

Một điều cần lưu ý là viết một cái gì đó bằng Python không có nghĩa là bạn có được Google App Engine miễn phí. Có một số người, bao gồm cả những người ở Google, đã phải "chuyển" các dự án của họ sang GAE ( RSSmeme là một ví dụ khác) mặc dù chúng được viết bằng Python.

Điều này là do GAE có các hạn chế riêng và môi trường chuyên biệt: ví dụ: bạn không truy cập vào những thứ như MySQL, luồng hoặc lưu trữ tệp cục bộ. Câu hỏi thường gặp chung về GAE chạm vào một số "quirks" này.


7

Tốt. Cộng đồng Ruby có http://heroku.com/ Hạn ngạch miễn phí không lớn như của Google nhưng người ta có thể sử dụng các cơ chế kiên trì truyền thống. Vì vậy, việc di chuyển sang cơ sở hạ tầng của bạn sau này dễ dàng hơn nhiều (hoặc chuyển một ứng dụng độc lập sang Heroku).


6

Chắc chắn, tại sao không? Cả Ruby và Python đều là những ngôn ngữ có khả năng rất cao, vì vậy nó chỉ phù hợp với những gì bạn đặc biệt muốn làm.

Nếu bạn muốn làm việc với GAE và phải học một ngôn ngữ, đó cũng có thể là Python.


Và tại sao không phải là Java?
Joshua Partogi

@jpartogi Câu hỏi được hỏi về Python vs Ruby. Java cũng có thể là một lựa chọn khả thi.
Adam Lear
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.