Восстановление очень важных утерянных данных из раздела Ntfs

Интроспекция - это способ узнать, что такое объект и что он содержит во время выполнения. На некоторых языках это более необходимо, чем другие. Python, который динамически типизирован (то есть объект может получить атрибуты и методы во время выполнения), использует интроспекцию, чтобы узнать текущий статус объекта.

Вот очень упрощенный пример Python, в котором вы начинаете с класс и добавьте новый атрибут и, используя интроспекцию, проверьте, какие атрибуты доступны в экземпляре объекта.

>>> class MyObject:
...   variable = False

>>> instance = MyObject()

>>> dir(instance)
['__doc__', '__module__', 'variable']

>>> instance.newvariable = "Kittens"

>>> dir(instance)
['__doc__', '__module__', 'newvariable', 'variable']

Итак, в динамических системах вы можете использовать такие вещи, как Python hasattr, чтобы определить, смогут делать то, что вы пытаетесь сделать с ним. Даже если вы не используете его во время выполнения, интроспекция также чрезвычайно полезна для отладки.

Теперь в библиотеках на основе GObjects и GObject. Они на C и в C вы не получаете всю эту симпатичную пушистую управляемую ошибку, вы получаете производительность. Это означает, что встроенная интроспекция отсутствует, и это означает, что сложнее поддерживать внешнее связывание.

Привязки являются API-интерфейсом между вещами на разных языках, что позволяет им работать вместе. Для этого вам нужен общий API, и в этом случае API - это GObject. Но для того, чтобы это сработало, привязка звонящего должна знать, что доступно для него. До того, как GObject Introspection, это должно было быть жестко закодировано в привязках, а это означает, что для каждого набора привязок поддерживается ручной список.

GObject Introspection по существу предоставляет сканер, который может охотиться через текущий источник GObject, с которым вы работаете, и предоставляет вам информацию привязки XML. Затем это обрабатывается связями, и вы получаете API, который просто работает, все время.

Я, конечно, не охватил все здесь, но я пытаюсь дать вам представление о двух темы (интроспекция и почему в ней нуждается GObjects). Если вы хотите узнать больше, на веб-сайте Gnome есть много.

http://blogs.gnome.org/johan/2008/06/01/introduction-to-gobject-introspection/ (Хорошее введение ) https://live.gnome.org/GObjectIntrospection/
0
задан 23 April 2012 в 18:54

2 ответа

Если данные ДЕЙСТВИТЕЛЬНО важны. Прекратите использование диска / раздела СЕЙЧАС. Отключите его! И сделайте копию только для чтения диска. Каждый раз, когда вы пытаетесь восстановить что-то на исходном диске, вы рискуете потерять больше данных. Затем попробуйте инструменты восстановления на образ скопированного диска. Вы можете создать изображение с помощью dd if=your_partition of=your_disk_image_file bs=512 (надеюсь, что синтаксис верен)

5
ответ дан 25 May 2018 в 12:28

Когда-то у меня возникла проблема с системным диском XP, который я использовал. Это было до того, как я стал конвертером Ubuntu. Я удалил диск, установил другой и начал использовать Ubuntu. Просматривая форумы, я обнаружил TESTDISK, который находится в репозиториях Ubuntu. Переустановить поврежденный диск, запустить TESTDISK против него, перестроить разделы и восстановить систему XP и все файлы данных. На самом деле, я использую тот же самый неисправный диск XP для диска с операционной системой.

4
ответ дан 25 May 2018 в 12:28
  • 1
    домашняя страница testdisk. cgsecurity.org/wiki/TestDisk Он находится в репозиториях Ubuntu, поэтому его можно установить с помощью sudo apt-get install testdisk – jippie 24 April 2012 в 01:30

Другие вопросы по тегам:

Похожие вопросы: