أكثر

لماذا ترتيب الواردات مهم في برنامج معالجة PyQGIS مستقل؟

لماذا ترتيب الواردات مهم في برنامج معالجة PyQGIS مستقل؟


لقد واجهت مشكلة غريبة أثناء تشغيل البرامج النصية المستقلة لمعالجة PyQGIS. يؤثر ترتيب الاستيراد في البرنامج النصي على تنفيذه الطبيعي.

يمكنك إعادة إنشاء المشكلة عن طريق فتح وحدة تحكم Python وإدخال النص التالي (أستخدم GNU / Linux و QGIS 2.6.1 ومعالجة البرنامج المساعد v.2.2.0-2 و Python 2.7.3):

# إعداد نظام استيراد البيئة من qgis.core import QgsApplication من PyQt4.QtGui import QApplication app = QApplication ([]) QgsApplication.setPrefixPath ("/ usr"، True) QgsApplication.initQgis () # Prepare Processing framework sys.path.append ('/home/YOUR_USER/.qgis2/python/plugins') من process.core.Processing import Processing Processing.initialize () print Processing.getAlgorithm ("qgis: creategrid") # الخروج من التطبيقات QgsApplication.exitQgis () QApplication.exit ()

يجب أن تحصل على:

الخوارزمية: إنشاء مسافات الشبكة  المسافات  العرض  ارتفاع  سينتركس  المركز  GRIDTYPE  CRS  SAVENAME 

من ناحية أخرى ، إذا قمت بتبديل ترتيب الواردات (السطرين 3 و 4) ، بهذه الطريقة:

من PyQt4.QtGui استيراد QApplication من qgis.core استيراد QgsApplication

يعود البرنامج النصي الآن ...لا أحد، لأنه لم يتم العثور على الخوارزمية.

تشير هذه المشكلة إلى أنه لا يمكنك تشغيل خوارزميات المعالجة خارج QGIS إذا كتبت (بالصدفة) الواردات بترتيب خاطئ.

لقد تحققت في StackOverflow ولكن وفقًا لأمر أمر استيراد Python ، لا ينبغي أن يكون الترتيب مهمًا حقًا. علاوة على ذلك ، يخبرنا دليل النمط لرمز Python باستيراد مكتبات معيارية (أكثر عمومية) أولاً ، ثم مكتبات الطرف الثالث ذات الصلة ، وأخيراً ، استيراد تطبيقات محلية محددة. أعتقد أن PyQt4 تكمن في الفئة الثانية من الواردات ، في حين أن PyQGIS ستكون خاصة بالتطبيق المحلي ، لذلك يجب أن تأتي واردات PyQt4 أولاً (أنا لست خبيرًا في هذا ، على الرغم من ذلك).

هل لديك فكرة عن سبب حدوث ذلك؟ هل سبق لك تجربة شيء مشابه؟


تحرير 1: عمليات الاستيراد الضمنية المتغيرة (من استيراد abc *) من خلال تلك الصريحة (على سبيل المثال ،من abc import xyz) كما اقترح @ mike-t.


TL ؛ د

استيراد qgis استيراد PyQt4 إلخ

هي الطريقة الصحيحة

نسخة طويلة

نعم ، يمكن أن يكون أمر الاستيراد مهمًا وفي حالة QGIS 2.0 وما فوق ، يكون مهمًا.

يجب عليك دائما استيراد ملفاتqgis.coreأوqgis.gui، حتى لواستيراد qgisيكفي قبل استيراد أي عناصر PyQt.

هذا يبدو سخيفًا. لماذا ا؟

في QGIS 2.0 ، قمنا بالتبديل إلى استخدام روابط الإصدار 2 من SIP والتي جعلت استدعاءات API أكثر بيثون مثل ، على سبيل المثال ، سوف تقوم بالتحويل التلقائي لأنواع:

1.0 SIP كان عليك القيام به:

value.toString ()

في 2.0

القيمة

سيعمل فقط إذا كان نوع سلسلة في كود C ++.

طيب وماذا في ذلك

المهم هو أنه يتعين علينا ضبط إصدار API على 2 في الكود قبل أن يتم تعيين شيء آخر ، لا يمكنك تعيينه مرة أخرى بمجرد تعيينه. إذا قمت باستيراد PyQt أولاً ، فسيتم تعيين القيمة على v1 ولكن كل شيء في QGIS يستخدم الآن الإصدار 2. لإصلاح هذا ، قمنا بتعيينه على الإصدار 2 فيqgis.__init__.pyلكن علينا الاستيرادqgisأولا وإلا فوز PyQt.

نظرًا لأن جميع المكونات الإضافية في QGIS 2.0 وما بعده تستخدم الآن SIP v2 ، فإن أي SIP v1 مثل المكالمات ستؤدي إلى حدوث خطأ عند التشغيل.


هل ترتيب ملفات جافا سكريبت مهم عندما يتم دمجها جميعًا في ملف واحد؟

في العصر الحديث اليوم ، حيث يتم تحميل الكثير من ملفات جافا سكريبت (الشائعة) خارجيًا ومحليًا ، يتم ذلك الترتيب الذي يتم به استدعاء ملفات جافا سكريبت يهم بشكل خاص عندما يتم دمج جميع الملفات المحلية (مصغرة) في ملف واحد؟

علاوة على ذلك ، يدعي الكثيرون أن جافا سكريبت يجب أن تكون في أسفل الصفحة بينما يقول آخرون أنه من الأفضل ترك جافا سكريبت في الرأس. ما الذي يجب أن يفعله المرء ومتى؟ شكرا!


عقد الرسوم المتحركة فرز قائمة الكائنات حسب XYZ

لدي شبكة 3x3x3 من الكائنات في مجموعة (معدة لاستخدامها مع كائنات غير مكررة) ، أريد فرزها حسب x y و z وإدخالها في حلقة وتحريك عمليات التحويل. لقد قمت بذلك سابقًا باستخدام مفاتيح معرف الفهرس وثلاث عقد لقائمة الفرز ، واحدة لكل محور يتم تغذيتها من خلال بعضها البعض. ولكن منذ ذلك الحين تمت إزالة عقدة قائمة الفرز ، ولهذا السبب أنا عالق.

لقد حاولت فصل متجهات القائمة ، وتشغيل كل منها من خلال عقدة تعبير بفرز (e) لكنني عالق في كيفية أخذ قائمة X وفرزها حسب Y ، ثم Y by Z. أي حل أو مساعدة هي اقدر هذا جدا :)

كل هذا يعمل إلا أنه يفتقر إلى التحكم الذي أبحث عنه فيما يتعلق بالمحور والاتجاه الذي تبدأ به العملية

بدلاً من الانتقال من اليسار إلى اليمين ، أريد أن يضبطه عنصر التحكم بحيث يعود الترتيب إلى الأمام ، ثم إلى الأعلى

تحرير: بعد عدة ساعات من التغيير والتبديل ، توصلت أخيرًا إلى حل باستخدام التعبيرات التي قدمها لي gorgious وبعض التعديلات الإضافية:

لقد استخدمت طريقة gorgious تقريبًا تمامًا ولكن قبل إدخال قائمة الكائنات في عقد التعبير ، قمت بإنشاء 3 مجموعات من مفاتيح المعرف لكل محور ، وأدخلها مع عقد مفتاح معرف الكائن ، ودمجها في قائمة متجه وإخراجها في كائن يحول الإخراج العقدة. والنتيجة هي التحكم الكامل في اتجاه الرسوم المتحركة.


نوتا بيني:

واردات HTML باعتبارها تقنية قائمة بذاتها ، ولكن اتضح أن المفهوم الأساسي لها ليس تم التخلي عنها.

يبدو (بعد الكثير من البحث) أن واردات HTML (تم الإهمال) قد يخلفه وحدات HTML.

فيما يلي وثيقتان مقروءتان جدًا من W3C مقدمة وحدات HTML:

الوثيقة الأولى تفاصيل المشاكل المحددة التي طرحت من قبل واردات HTML ويكشف كيف وحدات HTML سوف تحل هذه المشاكل.

تتضمن المشكلات المحددة في عمليات استيراد HTML ما يلي:

تحليل الانسداد: أي & ltscript & gt مشار إليه بعد إعلان & ltlink rel = & quotimport & quot & gt يجب أن ينتظر حتى يتم تنزيل HTML الذي تم استيراده بالكامل ، مما يعيق التحليل ويؤخر تنزيل باقي المستند الأساسي

تعارضات مساحات الأسماء العالمية: أي متغير JS تم الإعلان عنه داخل استيراد HTML سيتعارض مع متغير JS له نفس الاسم معلن في المستند الرئيسي

الوثيقة الثانية تناقش بمزيد من التفصيل كيف وحدات HTML ستعمل في الممارسة العملية.

مزيد من المعلومات حول وحدات HTML اقتراحات:

ختاما:

لم يكن المفهوم وراء ذلك كثيرًا واردات HTML لم يكن جيدا.

كان الأمر ببساطة أن بنية التنفيذ - تم تطويرها في البداية في عام 2011 ، قبل ذلك بوقت طويل وحدات ES6 تم الانتهاء منها - أثبتت أنها بعيدة كل البعد عن المثالية ، لا سيما بالنظر إلى التطور الذي حدث مؤخرًا في التقنيات الأكثر تطوراً.

بناءً على الأسباب المحددة التي رفضها صانعو المتصفحات ، توقفوا عن العمل وأزالوا واردات HTML?

سؤال جيد. لكن اتضح مخاوف بشأن إزالة واردات HTML قد تكون غير ذات صلة إلى حد كبير.

يمكننا أن ندرك أن هناك لا توجد مواصفات رسمية لاستيراد HTML إلى HTML في الوقت الحالي ، حيث:

  • المواصفات الرسمية لـ واردات HTML تم رفضه وإهماله وإزالته
  • وحدات HTML - والتي قد تحل محلها في وقت ما واردات HTML - لا تزال قيد التنفيذ

ولكن أقل أهمية مما يبدو عليه في البداية ، لأن النهج غير الرسمي وغير الموثق إلى حد كبير لاستيراد HTML لن يتم إهماله أو إزالته. (يمكن القول لا يمكن إهمالها أو إزالتها.)

"واردات HTML ماتوا. حياة طويلة واردات أتش تي أم أل!"

اتضح (من كان يعلم؟) أنه - حتى بدون تحديد رسمي - هو بالتأكيد يكون من الممكن استيراد HTML إلى مستند HTML الحالي ، باستخدام تقنيات قياسية معاصرة (HTML + JS).

لا يحمل الأسلوب التالي اسمًا رسميًا (ولا يوجد اعتراف كبير به في الوقت الحالي) ، ولكن نظرًا لأنه يستخدم التقنيات القياسية الثلاثة التالية:

  • & ltobject & gt / & ltiframe & gt HTML5 Elements
  • .contentDocument property
  • قبل الطرق () / insertBefore ()

ستبقى تقنية قوية حتى وحدات HTML على ما يرام.


يعطي nproc عدد النوى / خيوط وحدة المعالجة المركزية المتاحة ، على سبيل المثال 8 على وحدة معالجة مركزية رباعية النواة تدعم SMT ثنائي الاتجاه.

يعتمد عدد الوظائف التي يمكنك تشغيلها بالتوازي مع استخدام الخيار -j على عدد من العوامل:

  • مقدار الذاكرة المتوفرة
  • مقدار الذاكرة المستخدمة من قبل كل عمل
  • مدى جعل الوظائف مرتبطة بـ I / O أو CPU

يعد make -j $ (nproc) مكانًا مناسبًا للبدء ، ولكن يمكنك عادةً استخدام قيم أعلى ، طالما أنك لا تستنفد الذاكرة المتوفرة لديك وتبدأ في الضرب.

بالنسبة للإصدارات السريعة حقًا ، إذا كان لديك ذاكرة كافية ، فإنني أوصي باستخدام tmpfs ، وبهذه الطريقة ستكون معظم الوظائف مرتبطة بوحدة المعالجة المركزية وستعمل -j $ (nproc) بأسرع ما يمكن.

الطريقة الأكثر مباشرة هي استخدام nproc مثل:

سيعيد الأمر nproc عدد النوى على جهازك. من خلال لفه في العلامات ، سيتم تنفيذ الأمر nproc أولاً ، وإرجاع رقم وسيتم تمرير هذا الرقم إلى make.

قد يكون لديك بعض الخبرة القصصية حيث يؤدي إجراء العد الأساسي + 1 إلى أوقات تجميع أسرع. هذا له علاقة أكثر بعوامل مثل تأخيرات الإدخال / الإخراج ، وتأخيرات الموارد الأخرى وغيرها من قيود الموارد المتاحة.

للقيام بذلك باستخدام nproc + 1 ، جرب ما يلي:

لسوء الحظ ، حتى الأجزاء المختلفة من نفس البنية قد تكون مثالية مع قيم عامل j متضاربة ، اعتمادًا على ما يتم بناؤه ، وكيف ، وأي من موارد النظام يمثل عنق الزجاجة في ذلك الوقت ، وما الذي يحدث أيضًا في آلة الإنشاء ، وما الذي يحدث فيه الشبكة (في حالة استخدام تقنيات البناء الموزعة) ، الحالة / الموقع / الأداء للعديد من أنظمة التخزين المؤقت المتضمنة في البناء ، إلخ.

قد يكون تجميع 100 ملف C صغيرًا أسرع من تجميع ملف واحد ضخم ، أو العكس. يمكن أن يكون إنشاء تعليمات برمجية صغيرة معقدة للغاية أبطأ من بناء كميات هائلة من التعليمات البرمجية المباشرة / الخطية.

حتى سياق البنية مهم - قد يؤدي استخدام عامل aj المحسن للبنيات على خوادم مخصصة مضبوطة جيدًا للبنيات الحصرية غير المتداخلة إلى نتائج مخيبة للآمال للغاية عند استخدامها من قبل المطورين الذين يقومون بالبناء بالتوازي على نفس الخادم المشترك (قد يستغرق كل بناء من هذا القبيل المزيد الوقت من كل منهم مجتمعة إذا تم تسلسلها) أو على خوادم مع تكوينات أجهزة مختلفة أو افتراضية.

هناك أيضًا جانب من صحة مواصفات البناء. قد يكون للبنى المعقدة للغاية ظروف عرقية تسبب فشلًا متقطعًا للبناء مع معدلات حدوث يمكن أن تختلف بشكل كبير مع زيادة أو نقصان العامل j.

يمكنني أن أذهب وعلى. النقطة المهمة هي أنه يجب عليك التقييم فعليًا لك بناء في السياق الخاص بك التي تريد تحسين عامل j لها. ينطبق تعليقJeff Schaller: كرر حتى تجد أفضل ما يناسبك. أنا شخصياً سأبدأ من قيمة nproc ، جرب صعودًا أولاً ولأسفل فقط إذا أظهرت المحاولات الصعودية تدهورًا فوريًا.

قد تكون فكرة جيدة أن تقوم أولاً بقياس عدة تصميمات متطابقة في سياقات متطابقة مفترضة فقط للحصول على فكرة عن تنوع قياساتك - إذا كانت عالية جدًا ، فقد تعرض جهود التحسين بأكملها للخطر (التباين بنسبة 20٪ سوف يتفوق تمامًا على تحسن بنسبة 10٪ / قراءة الانحطاط في بحث العامل j).

أخيرًا ، IMHO من الأفضل استخدام خادم عمل (متكيف) إذا كان مدعومًا ومتاحًا بدلاً من عامل j ثابت - فهو يوفر باستمرار أداء بناء أفضل عبر نطاقات أوسع من السياقات.


3 إجابات 3

يعتمد على مقدار محاولتهم تأمين مستخدمي Windows ، وكيف. إذا قاموا بتحديد البرامج التي يمكنك تشغيلها ، فإن WSL يعد تجاوزًا لأن معظم الأدوات التي ترشح برامج Windows ستتجاهل برامج Linux التي تعمل على نفس النواة. إذا أعطوك مشرفًا محليًا ، فقد يسمحون لك أيضًا بتشغيل WSL ، فلا يمكنك فعل أي شيء في WSL لا يمكنك القيام به في Win32 ، بجهد كافٍ.

تجدر الإشارة إلى أن WSL لا يمنح في الواقع أي امتيازات إضافية. عملية WSL التي يتم تشغيلها كمسؤول (Windows) لديها امتيازات المسؤول على نظام ملفات Windows (وأي عمليات Windows يتم تشغيلها سترث امتيازات المسؤول هذه) ، سواء كان WSL يعمل كجذر أم لا. وبالمثل ، فإن غلاف WSL غير المسؤول ، حتى لو تم ترقيته إلى الجذر ، ليس لديه امتيازات على نظام ملفات Windows أو kernel أكثر من المستخدم غير المسؤول الذي قام بتشغيله. تسبب هذا في الواقع في حدوث أخطاء في الإصدارات المبكرة من WSL ، حيث حصلت على أشياء مثل ping لا تعمل لأن بت جذر setuid الخاص به لم يمنحه في الواقع القدرة على فعل أي شيء إضافي مع مآخذ الشبكة (التي تتحكم فيها أذونات NT kernel).


3 إجابات 3

ال عظم الطريقة الآمنة لإرسال واستقبال رسائل البريد الإلكتروني عبر PGP هي التوقيع عليها وتشفيرها.

يوفر التوقيع النزاهة ، مما يسمح للمستلمين بالتحقق من أن الرسالة تم إرسالها بواسطتك ولم يتم العبث بها.

يوفر التشفير السرية ، مما يضمن عدم تمكن أي شخص يعترض الرسالة من قراءتها.

كلا هذين الجانبين مهم للأمان ، على الرغم من أنه في بعض الحالات قد تقرر أنك تحتاج واحدًا فقط وليس الآخر عند إرسال البريد.

لتلقي البريد ، فإن أكثر ما تهتم به هو التوقيع ، وإلا فلا يمكنك ضمان أن الرسالة هي بالفعل من المرسل. إذا تلقيت رسالة غير مشفرة ، فسيتمكن الأشخاص الآخرون الذين يمكنهم الحصول عليها / تمكنوا من قراءتها ، ولكن ليس هناك الكثير مما تفعله حيال ذلك إذا تم إرسالها بالفعل (إلا إذا كنت تريد تشفيرها للتخزين على جهاز الكمبيوتر الخاص بك ، أو لإعادة توجيهها إلى أشخاص آخرين).

يعد استخدام GnuPG أمرًا سهلاً للغاية مع Thunderbird أو SeaMonkey والمكوّن الإضافي Enigmail. كلاهما متاح لنظام التشغيل OS X. يتم التعامل مع التوقيع والتشفير وفك التشفير في الخلفية ، وإدارة المفاتيح مباشرة.

لا أجد أي شيء حول دعم GnuPG في Sparrow ، وتنص مشاركة GPGTools هذه على أنه "توقف تطويره اعتبارًا من أكتوبر 2012" بعد شرائه بواسطة Google. ستحتاج إلى التوقيع والتشفير وفك التشفير باستخدام عميل GnuPG المستقل.

يوفر التوقيع دليلاً على أنك قمت بإنشاء رسالة. ويخبر المستلم أيضًا بالمفتاح العام الذي يجب استخدامه لتشفير الرد. التشفير يمنع الأطراف الثالثة من قراءة الرسائل. ومع ذلك ، لا يتم تشفير رؤوس الرسائل ، نظرًا لآليات إرسال البريد الإلكتروني.

بشكل عام ، قد تقوم بتوقيع الرسائل التي تنتقل إلى القوائم البريدية أو المنتديات العامة الأخرى ، حيث قد يؤدي التشفير إلى نتائج عكسية. يعد التوقيع ثم التشفير أمرًا معتادًا بالنسبة للرسائل الخاصة ، على الرغم من أن البعض يوقع أيضًا بعد التشفير. بالنسبة للرسائل المرسلة إلى عدة مستلمين ، يمكنك تشفير جميع المفاتيح العامة بشكل مشترك ، بحيث يمكن لكل مستلم فك تشفيرها. يقوم Enigmail أيضًا بتشفير الرسائل الصادرة إلى مفتاحك العام ، بحيث يمكنك قراءتها أيضًا.

ما تحتاجه من المراسلين متروك لك. لأي شيء يهم الخصوصية ، أنا أتواصل فقط مع أولئك الذين يقومون بالتوقيع والتشفير. إذا كانت الهوية مهمة ، فأنا أتحدث فقط مع أولئك الذين تم توقيع مفاتيحهم من قبل أطراف ثالثة موثوق بها. إذا كان الأمر مهمًا حقًا ، فأنا أحصل على مفاتيح عامة من مصادر متعددة ، وأتحقق من أنها متطابقة.


نبذة مختصرة

لقد سعت الوكالات في الولايات المتحدة التي تشرف على تطوير الطاقة البحرية المتجددة بشكل مثالي إلى مساحة يمكن أن يستمر فيها هذا الاستخدام الجديد دون عوائق من قبل الاستخدامات الأخرى. على الرغم من الأدلة التجريبية على التداخل المكاني بين الاستخدامات الحالية للمحيطات ، فإن نقص الوثائق جعل تحديد التضارب المحتمل في استخدام الفضاء ، والتواصل بين مستخدمي المحيطات الحاليين والمحتملين ، وتصميم التخفيف صعبًا للغاية.

لقد أجرينا دراسة على طول سواحل الولايات المتحدة الأطلسية والمحيط الهادئ لجمع وتوثيق المعلومات المكانية المتاحة حول الاستخدام الحالي من خلال تجميع وتنظيم بيانات نظام المعلومات الجغرافية (GIS). تم استخدام اجتماعات مجموعة أصحاب المصلحة لفحص البيانات المكانية التي تم جمعها ، وأجريت المقابلات الإثنوغرافية لجمع وجهات النظر المعرفية والثقافية. تُظهر النتائج تغطية واسعة وتداخلًا لاستخدامات مساحة المحيط الحالية وتوفر تصورًا للمشهد الاجتماعي والثقافي للمحيط الذي يمكن للمديرين استخدامه لتحديد أصحاب المصلحة الذين يجب إشراكهم.

يتم تشجيع مديري الموارد البحرية على إدراك أن استخدام الفضاء البحري ديناميكي ومتعدد الأبعاد ، وبالتالي يتطلب البحث فيه توازنًا بين كفاءة نظم المعلومات الجغرافية والقصص التي تم التقاطها وروايتها من خلال البحث الإثنوغرافي. هناك روابط مهمة داخل وعبر مصايد الأسماك والاستخدامات والمجتمعات والمصالح الأخرى ، وعبر واجهة البحر والبحر. لذلك ، من المهم استخدام التقنيات الموضحة في هذا البحث والتي (1) تدمج جمع البيانات الإثنوغرافية والجغرافية المكانية وتحليلها (2) إشراك أصحاب المصلحة طوال العملية و (3) التعرف على الصفات الفريدة لكل موقع جغرافي ومجموعة مستخدمين لدعم الصوت صناعة القرار.


واصف المخرجات (لاحظ أن واصف المخرجات وواصف المحفظة يشيران إلى نفس الشيء) هو سلسلة يمكن قراءتها من قبل الإنسان تمثل نصًا مخرجات (scriptPubKey) وكل ما يلزم لحل هذا البرنامج النصي. تحتوي الواصفات أيضًا على مجموع اختباري يشبه bech32 والذي يسمح بإعطاء الواصف للآخرين مع مخاطر أقل في الكتابة بشكل خاطئ أو فقدان بعض الأحرف في سلسلة الوصف.

الواصفات لا لبس فيها فيما يتعلق بالمفاتيح العامة التي يجب استخدامها (مسارات الاشتقاق للمفاتيح الموسعة صريحة) والبرامج النصية المستخدمة. هذا يجعلها مناسبة للاستيراد إلى محافظ أخرى دون التباس. في المقابل ، تدعم آليات الاستيراد التقليدية المفاتيح ذات الإصدارات الخاصة فقط للإشارة إلى البرامج النصية التي سيتم إنتاجها ، ولا توفر مسارات الاشتقاق. يؤدي هذا إلى إنشاء موقف يستورد فيه المستخدم مفتاحًا موسعًا في المحفظة ولكنه غير قادر على رؤية عناوينهم لأن هذه المحفظة تستخدم مسار اشتقاق مختلفًا عن المحفظة الأصلية. تتجنب الواصفات هذه المشكلة تمامًا عن طريق تحديد مسارات الاشتقاق (إن وجدت) والبرامج النصية المطلوب إنتاجها.

المحفظة الوصفية هي تلك التي تخزن واصفات المخرجات وتستخدمها لإنشاء العناوين وتوقيع المعاملات. من خلال استخلاص إنشاء العنوان وتوقيع المعاملات إلى وحدة مستقلة إلى حد كبير ، يمكن لمثل هذه المحافظ الترقية إلى استخدام أنواع عناوين جديدة بسهولة أكبر.

بالنسبة لمعظم المستخدمين ، ستكون التأثيرات المرئية الوحيدة في استيراد / تصدير المحفظة. لن يتم عرض الواصفات إلا أثناء التصدير ، ويجب ألا يتعامل المستخدم مع الواصفات إلا عندما يريد استيراد محفظته. يجب ألا يكون للمحافظ التي تستخدم الواصفات داخليًا أي تأثير ملحوظ على المستخدم.

¹: الحل - يعني حل برنامج نصي أنه سيكون بمقدور المرء إنشاء نص برمجي نهائي Sig / شاهد بتوقيعات صالحة إذا كان لديهم مفتاح خاص. هذا يعني أن جميع المفاتيح العامة والنصوص الأخرى متوفرة.

هناك الكثير من أنواع العناوين (P2PKH ، P2SH ، P2WSH ، إلخ) ، بعضها متعدد الأشكال ، وبعضها BIP32. تساعد الواصفات برنامج المحفظة في معرفة ما هي سلسلة العنوان في الواقع. إذا تم تجريد هذا بعيدًا عن المستخدم ، فلن يحتاج المستخدم إلى معرفته ولكنها مفيدة حقًا لبرنامج المحفظة. لقد سمحوا لبرنامج المحفظة بمعرفة كيفية الإنفاق منه بشكل أساسي. لديك بعض الأموال في عنوان ما ، وتستورد هذه المفاتيح إلى محفظة جديدة ، ويساعد الواصف المحفظة في معرفة كيفية الإنفاق من هذا العنوان. إذا أنشأت المحفظة الحالية العنوان ، فلن تكون هناك حاجة إلى الواصف ، ولكن إذا لم يكن كذلك ، فيجب معرفة كيفية الإنفاق منه.

كمستخدم ، هل هناك أي شيء أحتاج إلى القيام به بشكل إضافي؟

لا أعتقد ذلك. ربما يكون الواصف مفيدًا للمستخدم ليرى في بعض الحالات ما إذا كان يريد معرفة المزيد عن الأموال في العناوين الفردية أو في UTXOs الفردية. ولكن كما قلت إذا تم تجريد كل هذا بعيدًا ورأى المستخدم فقط توازنًا إجماليًا فلن يحتاج إلى فعل أي شيء. بخلاف الترقية إلى الإصدار الجديد من المحفظة التي تستخدم الواصفات

ما هي البيانات المطلوبة لمعرفة نوع العنوان المخزن في البذور؟ أو كيف يتم إدارة ذلك؟

لا يتم تخزين نوع العنوان في الأصل. هذه مادة خاصة تحتاج إلى معرفتها لإنفاقها من عنوان من أي نوع. لذلك يُشار إلى البذور عمومًا على أنها قائمة الكلمات التي تخزنها والتي تسمح لك بالإنفاق من أي عنوان في محفظة HD. تُنشئ محفظة HD (الحتمية الهرمية) شجرة من العناوين التي يمكن إنفاقها جميعًا إذا كنت تعرف تلك البذور. ومع ذلك ، يمكن أن يكون لديك العديد من محافظ HD ببذور مختلفة وأشجار عناوين مستقلة تمامًا. أو يمكن أن يكون لديك عناوين ليست جزءًا من شجرة عالية الدقة وهي مجرد عناوين مستقلة. لذا فإن الواصفات تساعد المحفظة (أو المستخدم التقني) على تتبع العناوين التي تشكل جزءًا من أشجار HD ، والعناوين المستقلة وليست جزءًا من أي شجرة HD ، والتي تعد multisig وما إلى ذلك. يمكن أن تصبح شديدة الفوضى بدون واصفات.

أعتقد أن سؤالي هو كيف يتم تخزين الواصفات؟

تقصد الموقع في نظام الملفات؟ أو الشكل الذي يتم تخزينه به؟ سأحتاج إلى التحقق من هذه.

عندما تنظر المحفظة إلى عنوان ، كيف تعرف الواصف الذي تم استخدامه لإنشائه؟ هل يمر فقط بجميع الخيارات الممكنة ومعرفة ما إذا كان هناك شيء ما متطابق ، مثل ما يحدث أثناء الاكتشاف الأولي للعناوين المستخدمة؟

إذا كان هناك واصف ، على سبيل المثال wpkh سيخبر هذا المحفظة بنوع العنوان. إذا لم يكن هناك واصف ، فستتمكن المحفظة في بعض الأحيان من التعرف على نوع العنوان وفي بعض الأحيان لن تتمكن من ذلك. إذا كانت محفظة SegWit مسبقًا ، فلن تتعرف على عناوين bech32 على سبيل المثال. مع عدم وجود واصفات وشجرة عناوين عالية الدقة ، فسوف تمر مثل 10 عناوين مختلفة لتقييم ما إذا كان هناك أي أموال قبل أن تستسلم وتفترض عدم وجود المزيد من الأموال في أي عناوين أخرى في الشجرة. إذا كان هناك واصف ، فيمكنك أن تخبر حرفيًا أن المحفظة لا تتوقف عند 10 لأنني تلقيت بعض الأموال المرسلة إلى العنوان رقم 100 في الشجرة.

ماذا ستكون المواقف عندما يكون هناك واصف وعندما لا يكون هناك واحد؟

إذا كانت المحفظة التي أنشأت العناوين تستخدم الواصفات. إذا كانت المحفظة التي أنشأت العناوين لا تحتوي على واصفات مطبقة / لا تستخدم واصفات ، فلا يهم ما إذا كانت المحفظة الجديدة التي تحمّل المفاتيح إليها قد نفذت واصفات لأنها لن تتلقى أي واصفات. لكي يتم تمرير الواصفات بين محفظتين ، تحتاج المحفظة التي أنشأت العناوين إلى استخدام واصفات / لها واصفات مطبقة والمحفظة التي يتم نقل العناوين إليها للتعرف على تلك الواصفات.

لذا فإن المحفظة التي أنشأت العناوين تحتاج إلى تخزينها ويحتاج المستخدمون أيضًا إلى عمل نسخة احتياطية من الواصفات؟ أو على الأقل اجعلهم متاحين إذا قاموا بتبديل المحافظ؟

تعتبر الواصفات بمثابة بيانات وصفية إضافية يتم تخزينها مع كل عنوان. إذا كانت المحفظة التي تقوم بالتحويل إليها تريد الاستفادة من الواصفات ، فإنها تحتاج إلى تلقي الوصف بالعنوان. إنه يشبه تسليم عنوان ووصف قصير لذلك العنوان بدلاً من مجرد العنوان وإخبار المحفظة الجديدة بمعرفة ذلك.

وإذا لم أنقل الواصفات ، فلا يزال بإمكاني استيراد المحفظة واستخدامها كالمعتاد؟ أم أفقد شيئا؟

نعم ، يمكنك التخلص من الواصف في أي وقت وعدم استخدامه من تلك النقطة فصاعدًا. (عد إلى العالم قبل وجود الواصفات.) لن تفقد سوى مزايا الواصفات التي كنا نناقشها.

أي شخص يعرف أي محافظ تستخدم الواصفات كخيار افتراضي لإنشاء المحفظة؟

المحافظ التي تدعم واصفات الإخراج مدرجة هنا.

لمزيد من المعلومات حول محافظ الواصف ، راجع عرض Andrew Chow في Advancing Bitcoin 2020 أو منشور مدونته حول ما سيأتي إلى محفظة Bitcoin Core في 0.21.


نبذة مختصرة

يسمح تجزئة الإنتاج عبر الحدود للشركات بتصنيع وتصدير السلع النهائية ، أو بأداء مراحل وسيطة فقط من الإنتاج من خلال معالجة المدخلات المستوردة لإعادة التصدير. ندرس كيفية تأثير الاحتكاكات المالية على الشركات & # x27 الاختيار بين المعالجة والتجارة العادية - ضمنيًا اختيار تقنية الإنتاج والموقع في سلاسل التوريد العالمية - وكيف يؤثر هذا القرار على الأداء. نحن نستغل بيانات الجمارك والميزانية العمومية المتطابقة من الصين ، حيث يتم تصنيف الصادرات على أنها تجارة عادية ، وتجارة معالجة الاستيراد والتجميع (مصادر شركة المعالجة وتدفع مقابل المدخلات المستوردة) ، وتجارة معالجة التجميع الخالصة (تتلقى شركة المعالجة المدخلات الأجنبية مجانًا ). ترتفع القيمة المضافة والأرباح والربحية من التجميع الخالص إلى المعالجة بالواردات إلى التجارة العادية. ومع ذلك ، تتطلب أنظمة التجارة الأكثر ربحية المزيد من رأس المال العامل لأنها تستلزم تكاليف أعلى مقدماً. ونتيجة لذلك ، تحث قيود الائتمان الشركات على إجراء المزيد من التجارة التجهيزية والتجميع الخالص على وجه الخصوص وتمنعها من متابعة أنشطة ذات قيمة مضافة أعلى وأكثر ربحية. وبالتالي ، فإن عيوب السوق المالية تؤثر على تنظيم الإنتاج عبر الشركات والبلدان وتوجيه التجارة المثلى وسياسة التنمية في وجود شبكات إنتاج عالمية.


1 إجابة 1

أعتقد أنك على حق. يمكن للمرء أن يبحث عن tikz @ addtransform ،

لذلك فهو يضيف تحويلاً إلى tikz @ transform الذي يتم تنفيذه لاحقًا. بصرف النظر عن التأثير الذي ذكرته ، يمكن أيضًا رؤية هذا التأثير عند تحديث مسافة العقدة.

كما ترى ، عند استخدام الطريقة المضمنة (ولكن المهملة) لتحديد المواقع نسبيًا ، لا يهم إذا قمت بتحديث مسافة العقدة قبل أو بعد اليمين. من ناحية أخرى ، إذا كنت تستخدم تحديد المواقع ، فإنها تفعل ذلك.

من حيث المبدأ ، يمكن للمرء أن يفكر في استخدام tikz @ addtransform أيضًا في مكتبة تحديد المواقع. ومع ذلك ، فإن هذا سوف يكسر الحالية المشفرة. انظر ، مع ذلك ، العدد 869 الذي يتعامل مع السؤال عما إذا كان ينبغي على المرء إجراء تغييرات أم لا.


شاهد الفيديو: QGIS Python PyQGIS - Loading and symbolizing raster layers