2013-07-02 33 views
5

Tôi nhận thấy rằng sau khi chạy vào một vấn đề đêm qua, việc khởi chạy lại Pharo 3.0 đã không "hoàn tác" bộ làm việc của tôi - mọi thứ dường như giống như khi tôi đóng nó. Tôi đã thấy nhiên liệu được bao gồm trong Pharo ngay bây giờ - liệu nó có tự động duy trì phiên của bạn không? Tôi đã ấn tượng rằng bạn phải làm một số thủ thuật để làm cho nó thực sự làm việc với ứng dụng của bạn.Pharo 3.0 - Tự động có ổn định không?

Tôi có sai không?

Trả lời

8

Pharo sử dụng Hình ảnh. Hình ảnh cơ bản là ảnh chụp nhanh nội dung bộ nhớ của bạn khi bạn sử dụng Pharo.

Khi khởi động hình ảnh này được tải từ tệp hình ảnh vào bộ nhớ và Pharo bắt đầu chạy. Nghịch đảo xảy ra khi bạn lưu (ảnh chụp) phiên của bạn: trạng thái/bộ nhớ hiện tại được lưu vào tệp .image. Điều đó bao gồm tất cả các công cụ được mở trong phiên hiện tại, tất cả các quy trình đang chạy và tất cả các đối tượng trực tiếp.

Điều này không liên quan gì với Fuel, là thư viện tuần tự hóa đối tượng riêng biệt.

+0

Vì vậy, nếu bạn không nhớ tôi hỏi, điểm trong nhiên liệu là gì? – MrDuk

+2

để tuần tự hóa các biểu đồ đối tượng đơn lẻ, ví dụ để duy trì một đối tượng nhất định hoặc gửi qua internet. Đó là một điều rất khác với sự bền bỉ của toàn bộ hình ảnh. Lưu toàn bộ hình ảnh kém hiệu quả hơn nhiều. – camillobruni

2

Có hai cơ chế trong Pharo:

  • Những hình ảnh. Hình ảnh là ảnh chụp bộ nhớ chứa tất cả các đối tượng (và đặc biệt là các phương thức và lớp được biên dịch dưới dạng đối tượng). Khi bạn lưu hình ảnh, bạn đang lưu trạng thái hoàn chỉnh của hệ thống vào đĩa. Bạn có thể mở một hình ảnh (nó tải lại bộ nhớ và thực thi tiếp tục ở nơi nó dừng lại). Trong thực tế cũng có một tệp khác được gọi là tệp thay đổi. Tệp này chứa biểu diễn văn bản của các lớp và phương thức bạn đã chỉnh sửa. Các công cụ đang sử dụng tệp này để hiển thị cho bạn mã phương thức chẳng hạn.

  • Giờ đây ngoài khái niệm hình ảnh (ảnh chụp bộ nhớ). Hệ thống ghi lại vĩnh viễn phiên bản mã của bạn. Sau mỗi giai đoạn biên dịch, thay đổi được cam kết với tệp thay đổi. Bạn có thể thấy những gì bạn đã làm bằng cách sử dụng trình thay đổi hoặc trình duyệt phiên bản (lưu ý rằng nếu bạn không lưu hình ảnh của mình, các thay đổi của bạn sẽ không thể duyệt được bằng cách sử dụng trình thay đổi vì nó là một công cụ đơn giản). Bây giờ ngay cả khi bạn không lưu hình ảnh của mình, các thay đổi của bạn sẽ được ghi lại trong tệp thay đổi. Có một cách để khôi phục các thay đổi của bạn bằng cách sử dụng mục menu "Khôi phục thay đổi bị mất ..." trong menu Công cụ. Với công cụ này, bạn có thể duyệt tất cả các thay đổi đã được ghi lại tự động và phát lại chúng. Chúng tôi đang làm việc trên các công cụ mới cho tương lai.

Hiện tại, bạn không nên dựa vào các công cụ như vậy. Sử dụng hệ thống quản lý phiên bản phân phối Pharo (monticello) để tạo các gói và xuất bản chúng trên các giá đỡ như SmalltalkHub.

Cuối cùng Nhiên liệu là bộ nối tiếp đối tượng không được sử dụng để lưu ảnh chụp nhanh Pharo. Nhiên liệu là một serializers nhanh mà mọi người sử dụng khi họ muốn chọn những gì họ serialize - thường là đồ thị của các đối tượng.

Tất cả các thông tin này cũng có sẵn trong những cuốn sách Pharo miễn phí: http://pharobyexample.orghttp://rmod.lille.inria.fr/pbe2/

Các vấn đề liên quan