Что такое код references


Содержание

RRN платежа, код авторизации и другие параметры карточной операции

RRN платежа.
RRN (Reference Retrieval Number) – это уникальный идентификатор банковской транзакции, который назначается банком Эквайрером при инициализации платежа. RRN принимает цифробуквенное значение, состоящее из 12 символов (цифры и буквы латинского алфавита). RRN может быть запрошен при необходимости Торгово-сервисным предприятием (ТСП) у банка Эквайрера. Также этот параметр, помимо прочих, можно найти в свойствах платежа в личном кабинете PayKeeper, перейдя на вкладку «Параметры операции» или «Параметры запроса».

RRN может потребоваться, например, для уточнения корректности произведенной транзакции по платежу – в этом случае организация делает запрос в банк, указывая идентификатор транзакции. Также RRN удобно использовать для поиска платежа в личном кабинете PayKeeper.

Код авторизации.
При проведении карточной операции ей присваивается код авторизации. Последний назначается банком Эмитентом, является результатом успешно пройденной процедуры авторизации и может служить, в том числе, идентификатором проведенного платежа.
Код авторизации представляет собой строку, состоящую из 6 цифр и букв латинского алфавита. Пример кода авторизации: 95F69T. Код авторизации, в большинстве случаев, может быть найден в личном кабинете интернет-банкинга плательщика среди параметров платежа. Также код авторизации может быть запрошен в банке Эмитенте.
В личном кабинете PayKeeper код авторизации можно найти на вкладке «Параметры операции». В открывшемся окне среди прочих параметров платежа код авторизации может обозначаться по-разному, в зависимости от того, каким образом он транслируется в инфраструктуре Эквайрера: AuthCode (Промсвязьбанк, Московский Кредитный банк), APPROVAL_CODE (Русский стандарт), APPROVAL (ВТБ24), approvalCode (Cбербанк, РосЕвроБанк, Банк Открытие).

В общем случае, два вышеописанных параметра – RRN транзакции и код авторизации платежа – позволяют однозначно идентифицировать карточную операцию в инфраструктурах Эмитента и Эквайрера. Один из распространенных случаев, когда могут понадобиться RRN и Код авторизации – уточнение в банке Эмитенте статуса возврата денежных средств по произведенному платежу. Операции возврата также могут назначаются оба параметра. Плательщик имеет возможность предоставить в банк, выпустивший его карту, данные RRN и Кода аторизации возврата и получить по последнему точную информацию.

Результат авторизации 3D-Secure.
В некоторых случаях частью проведения карточной операции может являться процедура проверки кода 3D-Secure. Последняя является дополнительно мерой безопасности, созданная для того, чтобы исключить возможность мошеннических операций с картами.
Результатом проверки 3D-Secure могут быть следующие ответы Эмитента:
NOT PARTICIPATED – данный статус означает, что банковская карта не участвует в программе 3D-Secure. В основном, такими картами в настоящее время являются карты иностранных банков Эмитентов, выпускавших свои карты еще до введения 3D-Secure авторизации (например, некоторые карты AmericanExpress). В настоящее время поддержка 3D-Secure картами, выпущенными на территории РФ, является обязательной.
ATTEMPTED – данный статус присваивается результату проверки в том случае, если карта включена в программу 3D-Secure только номинально. По факту же операция проверки кода 3D-Secure в этом случае лишь эмулируется. Подобные карты могут выпускаться банками Эмитентами для того, чтобы они соответствовали современным стандартам безопасности интернет-эквайринга. В большинстве случаев эмиссия таких карт означает, что в банке Эмитенте только частично реализована поддержка 3D-Secure, или некоторые аспекты реализации программы 3D-Secure находятся в тестовом режиме.
AUTHENTICATED – статус присваивается результату проверки кода 3D-Secure, если авторизация прошла успешно.
DECLINED – статус означает, что авторизация 3D-Secure прошла неуспешно. Например, был неверно введен код авторизации либо плательщик отменил операцию проверки принудительно, нажав на ссылку отмены или закрыв страницу ACS (Access Control Server) банка Эмитента.
В личном кабинете PayKeeper результат авторизации 3D-Secure отображается на вкладке «Параметры операции» и отмечен тегом «3DSECURE».

Номер карты, имя держателя, срок действия.
Информация о карточной операции обязательно включает в себя основные характеристики самой карты, с помощью которой эта операция производится: номер карты, имя держателя карты и срок действия. Перечисленные параметры и код CVN/CVC (Card Verification Number/Card Verification Code) обычно требуется указать на платежной странице банка. Указанная плательщиком информация в дальнейшем сохраняется в качестве свойств карточной операции после завершения процедуры оплаты.
В личном кабинете PayKeeper эту информацию можно найти на вкладках «Параметры операции» и «Параметры запроса».
Например, если банком Эквайрером является Сбербанк, то срок действия карты будет отображаться на вкладке «Параметры запроса» под названием «CardAuthInfo/expiration». Первые четыре цифры будут относиться к году, последние две – к месяцу.

Если торговая точка проводит свои платежи через ВТБ24, то имя держателя карты, по которой была произведена банковская операция, можно найти на вкладке «Параметры операции» под тегом «CARD_HOLDER».

Номер карты в личном кабинете PayKeeper также отображается на вкладке «Параметры операции» под тегом «CARD_NUMBER»

Информационный портал по безопасности

Референсный код

Автор: admin от 7-05-2015, 13:53, посмотрело: 1155

Только дурак учится на своих ошибках, умный предпочитает учиться на чужих

Мой активный корреспондент Чарльз Мэннинг отправил мне ссылку на вопрос с сайта Nordic Semiconductor. Вот этот вопрос, дословно: «Какой BLE профиль будет удовлетворять ЭКГ сигналам наилучшим образом и есть ли пример кода для АЦП из этого профиля? Искал какое-то время и не могу найти его ».

Чарльз, и я вместе с ним, были ошеломлены. Кто-то создает критическую часть медицинского оборудование с, как нам представляется, ограниченным знанием протокола связи, который он будет использовать Он также планирует построить эту часть на референсном (если кто предложит хороший перевод этого термина буду благодарен — «образцовый и эталонный» не очень подходят — в русском языке эти два термина содержат несколько иной смысл, а «примерный» не звучит -примечание переводчика) коде от поставщика.

Это, наверное, несправедливо сделать такие выводы всего лишь из одного вопроса, несмотря на, возможно, леденящие душу последствия для пользователей. И я не собираюсь запретить форумы — они представляют собой отличный способ совместного использования знаний. В до-интернетовскую эпоху мы все в значительной степени должны были выяснить интересующие нас вопросы из собственного опыта, что было ужасно неэффективно. Я помню поездки в объятия вендоров для разговора с разработчиками чипа, чтобы получить внутреннюю информация о какой-то плохо документированной или неработающей функциональности.

И, поверьте мне, я целиком и полностью за повторное использование, и думаю, что это действительно наша единственная надежда на спасение, поскольку системы становятся больше и сложнее.

Но референсный код изобилует ошибками и далеко не полон. Он, как правило, призван показать разработчику, как использовать функции чипа. У большинство опытных разработчиков на теле есть шрамы от эпизодов, когда они выясняли, почему некоторые части этого кода не работают. Некоторые из них просто ужасны (а некоторые еще хуже -пп). Чарльз использует Nordic и утверждает, что их код на голову выше остальных, но это тем не менее референсный код.

Человек, который задал такой вопрос, может быть чрезвычайно компетентным разработчиком, который будет анализировать код, прежде чем его использовать. Но это симптом, указывающий на две проблемы в нашей отрасли сегодня.

Первая из них — часто вшивое неважное качество кода от поставщика. В некоторых случаях все настолько плохо, что полупроводниковая компания должна держать большую команду своих инженеров на объекте заказчика, чтобы помочь вывести продукт на рынок. Конечно, это только происходит для тех, кто покупает огромное число чипов, а небольшие потребители, или даже те, кто покупает сотни тысяч, пролетают мимо.

В некоторых случаях, как мне известно, результаты работы этих инженеров не возвращается назад и не отражается в референсном коде, предоставляемом всем остальным. У них никогда нет времени, чтобы искать ответы на любые вопросы, кроме немедленного кризиса, таким образом обновления остаются вне зоны внимания.

Тем не менее надо проявить снисходительность к поставщикам — ведь их миссия заключается в продаже чипов. Референсный код является свободным и поэтому воспринимается как бесплатный. То есть он должен существовать, чтобы протолкнуть чип в дверь продаж, но никогда не получит требуемого внимания к потребностям пользователя. Современные микроконтроллеры действительно сложны. Даже шина может развалиться, периферия работает в бесчисленных режимах. Сотни или даже тысячи регистров должны быть установлены правильно. Список инициализации сегодня может составлять 500, 1000 или более страниц. Референсный код действительно не может обработать каждый режим и возможную конфигурацию. Стоимость развития такого кода огромна, а цена равна нулю.

Вторая проблема заключается в постоянной нехватке времени на рынке. Клиенты просто не имеют времени, чтобы выяснить нюансы обработки всех этих периферийных устройств настолько хорошо, как требуется для создания надежного кода, если они хотят удержаться на гребне волны. Решением является повторное использование референсного кода. Если бы это было совершенный мир, повторное использование осуществлялось бы на уровне объектного кода, весь повторно используемый код был бы квалифицирован, и все клиенты имели бы полную уверенность в коде.

Восхитительные чудеса будут сопровождать взрыв IoT в ближайшие годы, если ситуация останется столь плохой.

К сожалению, есть тонкое мета-размышление на тему того, что есть хорошо. Предположим, что производитель чипа создаст референсный код, который будет абсолютно совершенным. Нет ошибок, блестящая документация и подтверждение прекрасности этого кода инженерной практикой. Кто поверит ему? Десятилетия проблем создали атмосферу общего недоверия. Как бы продавец убедил скептически настроенных, что вот теперь-то он, конечно, произвел то, что мы действительно хотим (именно поэтому они такой прекрасный код и не делают — ага. конечно -пп)?

Когда дело доходит до повторного использования мы должны думать о пирамидах. Они были построены на невероятно прочном фундаменте. В мире прошивки, слишком часто, эта пирамида перевернута.

Каков ваш опыт работы с референсным кодом?

Дальше от переводчика ответ на вопрос Джека.
Недели две назад увидел в блоге вопрос о сбоях серво-машинок под Ардуино. Нашел код используемой библиотеки, посмотрел, ужаснулся — они формируют программный ШИМ, дергая ножки руками в прерывании таймера, поэтому, естественно (или как еще говорят, разумеется) при загрузке процессора другим прерыванием (а в том случае речь шла о стеке поддержки беспроводного протокола, исходников которого я не нашел, но который скорее всего, следуя современной моде, исполняется в режиме прерывания), длительность ШИМ импульсов способна расширяться на неопределенную величину. Решение очевидно — надо использовать в подобных случаях аппаратный ШИМ, но, как вы думаете, где-нибудь в документации об этом было сказано? Причем все скачано с официального сайта Ардуино. Есть альтернативное решение, но там свои тараканы и чуть ли не крупнее. Как говорил товарищ Сталин — «Оба хуже».
Ну да фиг то с ними с Ардуино (хотя с какого перепугу, ребята то считают себя вполне взрослыми и спрашивать с них надо соответственно), но вот буквально вчера обнаружена бага в референсной библиотеке (порте lwIP) на STM, которая проявляется в определенных условиях при не-одновременности подачи питания на разные аппаратные части устройства.
Где-то с полгода назад у знакомых молодых инженеров на определенных режимах не работала референсная библиотека USB от STM, а через месяц появилась новая версия библиотеки, которая заработала, за что STM искреннее спасибо (что этих инженеров, конечно, не оправдывает в столь некритичном использовании стороннего кода).
Как, во многом справедливо, указал мой коллега по поводу все тех же Ардуино библиотек, их использование сильно напоминает карго-культ, то есть делай так и будет тебе счастье. И все замечательно, пока все действительно работает, но ежели нет… вот тут и требуются знания, которых следование наперед заданным правилам дать не может в принципе. Хотелось, что бы меня правильно поняли — я не против Ардуино, более того, это замечательная экосистема, которая потрясающе понизила порог вхождения и привлекла к прошивке колоссальное количество людей, но надо четко понимать что она никак не серебряная пуля и даже при реализации не экстремально сложных функций может создать определенные проблемы, решать которые она не учит. То есть, начинайте с Ардуино, но потом идите дальше — там самое интересное и начинается.
PS. Вот не могу понять, почему тот же Джек читает свой курс по прошивке «More Firmware, Faster» каждый год в 5-6 странах, а у нас ничего подобного нет и не предвидится. У нас нет потребности в сильных инженерах? Не верится. Или дело в нежелании учиться? Или в нежелании платить за учебу (за свою или своих сотрудников)? У меня нет ответа на эти вопросы, есть только констатация факта.

RRN в чеке – что это за номер?

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

Что означает данная аббревиатура?

RRN расшифровывается как Reference Retrieval Number, что в дословном переводе означает «Поиск ссылочного номера». В специализированной среде данный набор цифр называется “Референс”.

Данное сочетание состоит из 12 символов – чаще сочетания цифр и латинских букв. При отсутствии кода в основной части чека, его можно найти посредством использования настроек платёжной системы, интернет-банкинга.

Для этого проводим следующие манипуляции с приложением/личным кабинетом:

  • Находим вкладку «Параметры операции».
  • Далее прожимаем графу «Параметры запроса».

Искомая информация должна располагаться в нижней части первого столбца детализации отправки.

RRN идентификатор на чеке

Для чего предназначена?

RRN идентификатор, полученный из деталей платежа, может потребоваться для уточнения деталей по проведённой транзакции, узнать статус выполнения операции. В большинстве случаев речь идёт о правильном завершении перевода, получении денежных средств.

Для этого отправитель делает запрос в банковскую структуру или же электронную систему, через которую была проведена оплата. Указание данного кода производится для подтверждения личности и получения необходимой информации без дополнительных проверок.

Рекомендуем наш материал о новой опции Защита платежа от Халвы.


Где и как генерируется RRN?

Числовое значение RRN, указанное в электронном чеке, формируется при инициализации платежа непосредственно банком Эквайрером. Далее соответствующий параметр проходит через соответствующий ПЦ (процессинговый центр) для дополнительной безопасности и невозможности получения третьими лицами вследствие хакерской атаки на сервера.

При отсутствии необходимой информации рекомендуется обратиться в техническую поддержку соответствующей платёжной системы для повторной отправки электронного чека, разъяснения сложившейся ситуации.

Заключение

По информации с форумов, рассматриваемый пункт деталей платежа может в принципе отсутствовать в некоторых платёжных системах. Это может относится к некоторым конвертерам валют, недавно созданным способам перевода. Надеемся, что эта статья помогла вам разобраться с RRN в чеке и использовать быстрый способ проверки завершения перевода в случае необходимости.

Референсный код

Только дурак учится на своих ошибках, умный предпочитает учиться на чужих

Мой активный корреспондент Чарльз Мэннинг отправил мне ссылку на вопрос с сайта Nordic Semiconductor. Вот этот вопрос, дословно: «Какой BLE профиль будет удовлетворять ЭКГ сигналам наилучшим образом и есть ли пример кода для АЦП из этого профиля? Искал какое-то время и не могу найти его ».

Чарльз, и я вместе с ним, были ошеломлены. Кто-то создает критическую часть медицинского оборудование с, как нам представляется, ограниченным знанием протокола связи, который он будет использовать Он также планирует построить эту часть на референсном (если кто предложит хороший перевод этого термина буду благодарен — «образцовый и эталонный» не очень подходят — в русском языке эти два термина содержат несколько иной смысл, а «примерный» не звучит -примечание переводчика) ( мне подсказали в комментариях демонстрационный код -пп) коде от поставщика.

Это, наверное, несправедливо сделать такие выводы всего лишь из одного вопроса, несмотря на, возможно, леденящие душу последствия для пользователей. И я не собираюсь запретить форумы — они представляют собой отличный способ совместного использования знаний. В до-интернетовскую эпоху мы все в значительной степени должны были выяснить интересующие нас вопросы из собственного опыта, что было ужасно неэффективно. Я помню поездки в объятия вендоров для разговора с разработчиками чипа, чтобы получить внутреннюю информация о какой-то плохо документированной или неработающей функциональности.

И, поверьте мне, я целиком и полностью за повторное использование, и думаю, что это действительно наша единственная надежда на спасение, поскольку системы становятся больше и сложнее.

Но референсный код изобилует ошибками и далеко не полон. Он, как правило, призван показать разработчику, как использовать функции чипа. У большинство опытных разработчиков на теле есть шрамы от эпизодов, когда они выясняли, почему некоторые части этого кода не работают. Некоторые из них просто ужасны (а некоторые еще хуже -пп). Чарльз использует Nordic и утверждает, что их код на голову выше остальных, но это тем не менее референсный код.

Человек, который задал такой вопрос, может быть чрезвычайно компетентным разработчиком, который будет анализировать код, прежде чем его использовать. Но это симптом, указывающий на две проблемы в нашей отрасли сегодня.

Первая из них — часто вшивое неважное качество кода от поставщика. В некоторых случаях все настолько плохо, что полупроводниковая компания должна держать большую команду своих инженеров на объекте заказчика, чтобы помочь вывести продукт на рынок. Конечно, это только происходит для тех, кто покупает огромное число чипов, а небольшие потребители, или даже те, кто покупает сотни тысяч, пролетают мимо.

В некоторых случаях, как мне известно, результаты работы этих инженеров не возвращается назад и не отражается в референсном коде, предоставляемом всем остальным. У них никогда нет времени, чтобы искать ответы на любые вопросы, кроме немедленного кризиса, таким образом обновления остаются вне зоны внимания.

Тем не менее надо проявить снисходительность к поставщикам — ведь их миссия заключается в продаже чипов. Референсный код является свободным и поэтому воспринимается как бесплатный. То есть он должен существовать, чтобы протолкнуть чип в дверь продаж, но никогда не получит требуемого внимания к потребностям пользователя. Современные микроконтроллеры действительно сложны. Даже шина может развалиться, периферия работает в бесчисленных режимах. Сотни или даже тысячи регистров должны быть установлены правильно. Список инициализации сегодня может составлять 500, 1000 или более страниц. Референсный код действительно не может обработать каждый режим и возможную конфигурацию. Стоимость развития такого кода огромна, а цена равна нулю.

Вторая проблема заключается в постоянной нехватке времени на рынке. Клиенты просто не имеют времени, чтобы выяснить нюансы обработки всех этих периферийных устройств настолько хорошо, как требуется для создания надежного кода, если они хотят удержаться на гребне волны. Решением является повторное использование референсного кода. Если бы это было совершенный мир, повторное использование осуществлялось бы на уровне объектного кода, весь повторно используемый код был бы квалифицирован, и все клиенты имели бы полную уверенность в коде.

Восхитительные чудеса будут сопровождать взрыв IoT в ближайшие годы, если ситуация останется столь плохой.

К сожалению, есть тонкое мета-размышление на тему того, что есть хорошо. Предположим, что производитель чипа создаст референсный код, который будет абсолютно совершенным. Нет ошибок, блестящая документация и подтверждение прекрасности этого кода инженерной практикой. Кто поверит ему? Десятилетия проблем создали атмосферу общего недоверия. Как бы продавец убедил скептически настроенных, что вот теперь-то он, конечно, произвел то, что мы действительно хотим (именно поэтому они такой прекрасный код и не делают — ага. конечно -пп)?

Когда дело доходит до повторного использования мы должны думать о пирамидах. Они были построены на невероятно прочном фундаменте. В мире прошивки, слишком часто, эта пирамида перевернута.

Каков ваш опыт работы с референсным кодом?

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

Решение очевидно — надо использовать в подобных случаях аппаратный ШИМ, но, как вы думаете, где-нибудь в документации об этом было сказано? Причем все скачано с официального сайта Ардуино. Есть альтернативное решение, но там свои тараканы и чуть ли не крупнее. Как говорил товарищ Сталин — «Оба хуже».
Ну да фиг то с ними с Ардуино (хотя с какого перепугу, ребята то считают себя вполне взрослыми и спрашивать с них надо соответственно), но вот буквально вчера обнаружена бага в референсной библиотеке (порте lwIP) на STM, которая проявляется в определенных условиях при не-одновременности подачи питания на разные аппаратные части устройства.

Где-то с полгода назад у знакомых молодых инженеров на определенных режимах не работала референсная библиотека USB от STM, а через месяц появилась новая версия библиотеки, которая заработала, за что STM искреннее спасибо (что этих инженеров, конечно, не оправдывает в столь некритичном использовании стороннего кода).

Как, во многом справедливо, указал мой коллега по поводу все тех же Ардуино библиотек, их использование сильно напоминает карго-культ, то есть делай так и будет тебе счастье. И все замечательно, пока все действительно работает, но ежели нет… вот тут и требуются знания, которых следование наперед заданным правилам дать не может в принципе. Хотелось, что бы меня правильно поняли — я не против Ардуино, более того, это замечательная экосистема, которая потрясающе понизила порог вхождения и привлекла к прошивке колоссальное количество людей, но надо четко понимать что она никак не серебряная пуля и даже при реализации не экстремально сложных функций может создать определенные проблемы, решать которые она не учит. То есть, начинайте с Ардуино, но потом идите дальше — там самое интересное и начинается.

PS. Вот не могу понять, почему тот же Джек читает свой курс по прошивке «More Firmware, Faster» каждый год в 5-6 странах, а у нас ничего подобного нет и не предвидится. У нас нет потребности в сильных инженерах? Не верится. Или дело в нежелании учиться? Или в нежелании платить за учебу (за свою или своих сотрудников)? У меня нет ответа на эти вопросы, есть только констатация факта.

reference

[‘ref(ə)r(ə)n(t)s] брит. / амер.

ссылка (на кого-л. / что-л.) ; упоминание (о ком-л. / чём-л.)

сноска , ссылка (в книге) ; отсылка (к источнику)

справка ; справочная информация

отзыв , рекомендация ; поручительство

поручитель (лицо, дающее рекомендацию)

связь , отношение ; касательство

направление кого-л. за рекомендацией , советом к третьему , авторитетному лицу , инстанции ; консультация , обращение к такому лицу

авторитетное лицо (могущее помочь, посодействовать и т. п. )

передача дела рефери , арбитру

рефери , третейский судья

лингв. ; лог. референция (как явление или способ обозначения референтов)

социол. ; психол. референция (процесс формирования шкалы ценностей у человека)

снабжать сносками или ссылками (текст и т. п. )

приводить в качестве ссылки , примечания

давать ссылку (на источник)

Илон Маск рекомендует:  Простейшие средства shell


представлять в виде таблиц, схем и т. п . (для удобства пользования, большей оперативности и т. п. )

Law (En-Ru)

reference

передача дела рефери

вопрос, переданный на рассмотрение

компетенция ( лица или органа, которому вопрос передан на рассмотрение )

Откройте все бесплатные
тематические словари

Бонусы на iHerb — реферальный код и вознаграждения

Для начала разберемся, что такое реферальная или партнерская программа. Это система привлечения новых пользователей на сайт через уже подписанных участников с бонусным поощрением. На деле схема действует следующим образом: когда человек регистрируется на каком-то сервисе, он получает свою личную ссылку или код, которая служит инструментом подключения. Если кто-то перейдет по его ссылке на этот же сайт и совершит покупку (или заработает, условия бываю разные), то передавший ему ссылку участник (реферер) получит вознаграждение в размере определенного процента от суммы сделки. Тут важно отметить, что это вознаграждение не вычитается с суммы, то есть подключенный реферал ничего не теряет, как это часто воспринимается многими людьми.

Зачем сайты используют «рефералки»? Конечно же, для рекламы. Это очень эффективный метод увеличения числа пользователей, проверенный на деле многими организациями, и к тому же выгодный: затраты на партнерские выплаты несоизмеримо малы по сравнению с прибылью от новых клиентов.

Теперь поговорим про iHerb , партнерская программа которого получила много положительных отзывов. Я уже упоминал вкратце об этом в статье « Что такое iHerb? », теперь опишу плюсы данной системы подробнее.

Преимущества реферальной программы «Айхерба»

  • Вознаграждение в размере 5% с суммы каждой покупки привлеченного пользователя, совершившего покупку, независимо от ее стоимости. Кто-то скажет, что это всего-навсего 5%, но если набирается по несколько рефералов в неделю (а некоторые набирают по несколько в день), то со временем может накопиться неплохая сумма.
  • Вознаграждение в размере 10% с суммы каждой покупки привлеченного пользователя, совершившего покупку товаров под собственным брэндами iHerb.
  • Новые клиенты при использовании кода получают скидку 5% на все свои заказы . Таким образом, реферальная программа выгодна всем – зарабатываешь сам и помогаешь другим.
  • Возможность создания партнерских ссылок на любую страницу сайта. В этом помогает специальный конструктор ссылок, встраивающий реферальный код iHerb в url, введенный участником программы.
  • Реферальная ссылка работает как с новыми, так и с уже существующими пользователями сайта.
  • Конкурсы и акции по бонусам, с помощью которых можно получать до 50% от покупок рефералов.
  • Задействована отдельная партнерская программа iHerb Affiliates , позволяющая накапливать и выводить бонусы в денежном эквиваленте.
  • Введены специальные промокоды iHerb , с помощью которых можно привлекать еще больше клиентов.

Примечание: Последнее обновление условий партнерской программы iHerb произошло 20 февраля 2020 года. Вышеуказанная информация актуальна и соответствует условиям соглашения после данного обновления.

Как принять участие в программе iHerb, реферальный код и его применение

Сам механизм подключения покупателей прост, есть два способа:

  1. Реферальные ссылки — очень удобный метод распространения своего кода. Нужно пересылать их другим людям, которые будут переходить по ним на официальный сайт. В этом случае код iHerb будет автоматически применен в корзине покупок. Взять ссылку можно практически на любой странице сайта, достаточно нажать на специальный значок в верхнем углу экрана или зайти в свой личный кабинет.

В качестве примера напишу свою ссылку: http://www.iherb.com/?rcode=ZMC053

или ссылка-аффилиат: https://prf.hn/click/camref:1100l3Qgm/creativeref:1011l24933

  1. Введение кода в окне в корзины покупок. Для набора участников нужно рекламировать свой код, который вводится на странице корзины в специальном поле. Применяя его, пользователь получает скидку на свой заказ в размере 5-10%. После совершения покупки, система зафиксирует подключение реферала.

Мой iHerb реферальный код: ZMC053

Важный момент: получить собственную ссылку можно только после покупки товаров, просто зарегистрироваться и делиться кодом не получится.

Где размещать ссылки? Это можно делать на сайтах и форумах, в личных переписках, на страничках в соцсетях, присылать по электронной почте. Можно создать блог или группу в BK, выложить там свои ссылки и набирать участников. В общем, вариантов много. Главное, не заниматься спамом и не пользоваться платной рекламой кода, администрация «Айхерба» очень негативно воспринимает такие действия и может забанить нарушителя.

Что происходит после подключения реферала? На аккаунт владельца кода поступает вознаграждение в статусе «В ожидании». На данном этапе средства не могут быть потрачены, они еще находятся в обработке. Бонусы можно получить только через месяц, когда статус поменяется на «Доступные» — вот теперь вознаграждение включается в оплату покупок. Надо помнить, что доступные бонусы имеют срок хранения 180 дней, по истечении которого они пропадают, так что лучше потратить их вовремя на сайте (примеры заказов можно посмотреть здесь или здесь ).

Промокоды iHerb

Кроме вознаграждения и скидок от реферальных кодов все покупатели могут использовать специальные промокоды iHerb, распространяемые среди участников партнерской программы. С их помощью можно получить дополнительную скидку на покупку, причем она бывает кратковременной или постоянно действующей. Использовать можно только один промокод, но он совмещается с реферальным. Активируется также в поле корзины.

Желательно регулярно проверять новости на сайте, читать сообщения, приходящие с «Айхерба» и следить за появлением новых кодов.

Информацию о действующих скидках и промокодах можно получить ЗДЕСЬ.

Ссылка на официальный сайт: iHerb.

Евгений Off_road_man Бударин


Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Написание безопасного и эффективного кода C# Write safe and efficient C# code

Новые возможности в C# позволяют создавать проверяемый безопасный код с более высокой производительностью. New features in C# enable you to write verifiable safe code with better performance. Если вы будете внимательно применять эти методы, у вас будет меньше сценариев, требующих небезопасного кода. If you carefully apply these techniques, fewer scenarios require unsafe code. Эти функции упрощают использование ссылок на типы значений в качестве аргументов метода и возвращаемых значений метода. These features make it easier to use references to value types as method arguments and method returns. При безопасном выполнении эти методики сводят к минимуму копирование типов значений. When done safely, these techniques minimize copying value types. Используя типы значений, можно свести к минимуму число распределений и сборок мусора. By using value types, you can minimize the number of allocations and garbage collection passes.

В большей части примера кода в этой статье демонстрируются функции, добавленные в C# 7.2. Much of the sample code in this article uses features added in C# 7.2. Чтобы их использовать, нужно настроить проект для работы с языком C# 7.2 или более поздней версии. To use those features, you must configure your project to use C# 7.2 or later. Дополнительные сведения об установке версии языка см. в разделе Настройка языковой версии. For more information on setting the language version, see configure the language version.

Эта статья посвящена методам эффективного управления ресурсами. This article focuses on techniques for efficient resource management. Преимущество использования типов значений заключается в том, что они часто позволяют избежать выделения памяти в кучах. One advantage to using value types is that they often avoid heap allocations. Недостаток состоит в том, что они копируются по значению. The disadvantage is that they’re copied by value. Этот компромисс усложняет оптимизацию алгоритмов, работающих с большими объемами данных. This tradeoff makes it harder to optimize algorithms that operate on large amounts of data. Новые возможности языка в C# 7.2 предоставляют механизмы, обеспечивающие безопасный и эффективный код со ссылками на типы значений. New language features in C# 7.2 provide mechanisms that enable safe efficient code using references to value types. При рациональном использовании этих функций можно свести к минимуму число операций выделения и копирования. Use these features wisely to minimize both allocations and copy operations. В этой статье приводится описание этих новых функций. This article explores those new features.

Эта статья описывает следующие методы управления ресурсами: This article focuses on the following resource management techniques:

  • Объявите readonly struct , чтобы обозначить, что тип является неизменяемым и позволяет компилятору сохранять копии при использовании параметров in . Declare a readonly struct to express that a type is immutable and enables the compiler to save copies when using in parameters.
  • Если тип не может быть неизменяемым, объявите члены struct readonly , чтобы указать, что элемент не изменяет состояние. If a type can’t be immutable, declare struct members readonly to indicate that the member doesn’t modify state.
  • Используйте ref readonly , если возвращаемое значение — struct больше, чем IntPtr.Size, и время существования хранилища больше, чем метод, возвращающий значение. Use a ref readonly return when the return value is a struct larger than IntPtr.Size and the storage lifetime is greater than the method returning the value.
  • Если размер readonly struct больше, чем IntPtr.Size, необходимо передать его как параметр in для повышения производительности. When the size of a readonly struct is bigger than IntPtr.Size, you should pass it as an in parameter for performance reasons.
  • Никогда не передавайте struct как параметр in , если он не объявлен с модификатором readonly или метод вызывает только члены readonly структуры. Never pass a struct as an in parameter unless it’s declared with the readonly modifier or the method calls only readonly members of the struct. Нарушение этого правила может негативно сказаться на производительности и привести к непонятному поведению. Violating this guidance may negatively affect performance and could lead to an obscure behavior.
  • Используйте ref struct или readonly ref struct , например Span или ReadOnlySpan , для работы с памятью как последовательностью байтов. Use a ref struct , or a readonly ref struct such as Span or ReadOnlySpan to work with memory as a sequence of bytes.

Эти методы помогают найти баланс между двумя противоположными целями в отношении ссылок и значений. These techniques force you to balance two competing goals with regard to references and values. Переменные, которые являются ссылочными типами, содержат ссылку на расположение в памяти. Variables that are reference types hold a reference to the location in memory. Переменные, которые являются типами значений, непосредственно содержат значение. Variables that are value types directly contain their value. Это ключевые различия, которые важны для управления ресурсами памяти. These differences highlight the key differences that are important for managing memory resources. Типы значений обычно копируются при передаче в метод или возвращаются из метода. Value types are typically copied when passed to a method or returned from a method. Это поведение включает в себя копирование значения this при вызове членов типа значения. This behavior includes copying the value of this when calling members of a value type. Издержки копирования связаны с размером типа. The cost of the copy is related to the size of the type. Ссылочные типы размещаются в управляемой куче. Reference types are allocated on the managed heap. Каждый новый объект требует новое распределение и впоследствии должен быть освобожден. Each new object requires a new allocation, and subsequently must be reclaimed. Обе эти операции занимают время. Both these operations take time. Ссылка копируется, когда ссылочный тип передается в качестве аргумента в метод или возвращается из метода. The reference is copied when a reference type is passed as an argument to a method or returned from a method.

В этой статье используется следующий пример концепции трехмерной структуры для объяснения этих рекомендаций: This article uses the following example concept of the 3D-point structure to explain these recommendations:

Различные примеры использования других реализаций этой концепции. Different examples use different implementations of this concept.

Объявление структур только для чтения для неизменяемых типов значений Declare readonly structs for immutable value types

Объявление struct с помощью модификатора readonly сообщает компилятору, что ваша цель — создать неизменяемый тип. Declaring a struct using the readonly modifier informs the compiler that your intent is to create an immutable type. Компилятор указывает это решение со следующими правилами: The compiler enforces that design decision with the following rules:

  • Все члены поля должны быть readonly All field members must be readonly
  • Все свойства должны быть только для чтения, включая автоматически реализуемые свойства. All properties must be read-only, including auto-implemented properties.

Этих двух правил достаточно, чтобы убедиться, что ни один из элементов readonly struct не изменяет состояние этой структуры. These two rules are sufficient to ensure that no member of a readonly struct modifies the state of that struct. Объект struct является неизменяемым. The struct is immutable. Структура Point3D может быть определена как неизменяемая, как показано в следующем примере: The Point3D structure could be defined as an immutable struct as shown in the following example:

Следуйте этим рекомендациям, когда планируете создать неизменяемый тип значения. Follow this recommendation whenever your design intent is to create an immutable value type. Улучшения производительности являются дополнительным преимуществом. Any performance improvements are an added benefit. readonly struct четко выражает ваше намерение. The readonly struct clearly expresses your design intent.

Объявление членов, доступных только для чтения, если структура не может быть неизменяемой Declare readonly members when a struct can’t be immutable

В C# 8.0 и более поздних версиях, когда тип структуры является изменяемым, следует объявить члены, которые не приводят к тому, что изменение имеет статус readonly . In C# 8.0 and later, when a struct type is mutable, you should declare members that don’t cause mutation to be readonly . Например, ниже приведена изменяемая разновидность трехмерной структуры точек: For example, the following is a mutable variation of the 3D point structure:

В предыдущем примере показаны многие расположения, в которых можно применить модификатор readonly : методы, свойства и методы доступа к свойствам. The preceding sample shows many of the locations where you can apply the readonly modifier: methods, properties, and property accessors. При использовании автоматически реализуемых свойств компилятор добавляет модификатор readonly к методу доступа get для свойств, предназначенных для чтения и записи. If you use auto-implemented properties, the compiler adds the readonly modifier to the get accessor for read-write properties. Компилятор добавляет модификатор readonly к автоматически реализуемым объявлениям свойств для свойств только с методом доступа get . The compiler adds the readonly modifier to the auto-implemented property declarations for properties with only a get accessor.

Добавление модификатора readonly к членам, которые не изменяют состояние, предоставляет два связанных преимущества. Adding the readonly modifier to members that don’t mutate state provides two related benefits. Во первых, компилятор применяет свое намерение. First, the compiler enforces your intent. Этот член не может изменять состояние структуры и получить доступ к члену, который также не помечен как readonly . That member can’t mutate the struct’s state, nor can it access a member that isn’t also marked readonly . Во-вторых, компилятор не создает защитные копии параметров in при доступе к члену readonly . Second, the compiler won’t create defensive copies of in parameters when accessing a readonly member. Компилятор может безопасно выполнить эту оптимизацию, так как она гарантирует, что struct не изменяется членом readonly . The compiler can make this optimization safely because it guarantees that the struct is not modified by a readonly member.

Используйте операторы ref readonly return для больших структур, когда это возможно Use ref readonly return statements for large structures when possible

Вы можете возвращать значения по ссылке, когда возвращаемое значение не является локальным для возвращающего метода. You can return values by reference when the value being returned isn’t local to the returning method. Возврат по ссылке означает, что копируется только ссылка, не структура. Returning by reference means that only the reference is copied, not the structure. В следующем примере свойство Origin не может использовать возврат ref , так как возвращаемое значение является локальной переменной: In the following example, the Origin property can’t use a ref return because the value being returned is a local variable:

Тем не менее, следующее определение свойства может возвращаться по ссылке, так как возвращаемое значение является статическим элементом: However, the following property definition can be returned by reference because the returned value is a static member:

Вы не хотите, чтобы вызывающие объекты изменяли источник, поэтому следует возвращать значение через readonly ref : You don’t want callers modifying the origin, so you should return the value by readonly ref :

Возвращение ref readonly позволяет сохранить копирование больших структур и неизменность внутренних элементов данных. Returning ref readonly enables you to save copying larger structures and preserve the immutability of your internal data members.

Во время вызова вызывающие объекты выбирают использовать свойство Origin как readonly ref или как значение: At the call site, callers make the choice to use the Origin property as a readonly ref or as a value:

При первом назначении в предыдущем примере кода создается и назначается копия константы Origin . The first assignment in the preceding code makes a copy of the Origin constant and assigns that copy. При втором назначается ссылка. The second assigns a reference. Обратите внимание, что модификатор readonly должен быть частью объявления переменной. Notice that the readonly modifier must be part of the declaration of the variable. Ссылку, на которую он ссылается, изменить невозможно. The reference to which it refers can’t be modified. В противном случае возникнет ошибка времени компиляции. Attempts to do so result in a compile-time error.

В объявлении originReference требуется модификатор readonly . The readonly modifier is required on the declaration of originReference .

Компилятор применяет правило, не позволяющее вызывающему объекту изменять ссылку. The compiler enforces that the caller can’t modify the reference. Попытки назначить значение напрямую вызывают ошибку времени компиляции. Attempts to assign the value directly generate a compile-time error. Однако компилятору не может быть известно, изменяет ли какой-либо метод члена состояние структуры. However, the compiler can’t know if any member method modifies the state of the struct. Чтобы защитить объект от изменений, компилятор создает копию и с ее помощью вызывает ссылки на члены. To ensure that the object isn’t modified, the compiler creates a copy and calls member references using that copy. Все изменения будут вноситься в эту защитную копию. Any modifications are to that defensive copy.

Применение модификатора in к параметрам readonly struct , больше чем System.IntPtr.Size Apply the in modifier to readonly struct parameters larger than System.IntPtr.Size

При передаче аргументов по ссылке можно использовать ключевое слово in как дополнение к существующим ключевым словам ref и out . The in keyword complements the existing ref and out keywords to pass arguments by reference. Ключевое слово in указывает, что аргумент передается по ссылке, но вызванный метод не изменяет это значение. The in keyword specifies passing the argument by reference, but the called method doesn’t modify the value.

Это дополнение позволяет полностью выразить намерение разработки. This addition provides a full vocabulary to express your design intent. Если в сигнатуре метода не указан ни один из следующих модификаторов, типы значений копируются при передаче в вызываемый метод. Value types are copied when passed to a called method when you don’t specify any of the following modifiers in the method signature. Каждый из этих модификаторов указывает, что переменная передается по ссылке, предотвращая копирование. Each of these modifiers specifies that a variable is passed by reference, avoiding the copy. Каждый модификатор выражает конкретное намерение. Each modifier expresses a different intent:

  • out . этот метод задает значение аргумента, используемого в качестве этого параметра. out : This method sets the value of the argument used as this parameter.
  • ref . этот метод может задавать значение аргумента, используемого в качестве этого параметра. ref : This method may set the value of the argument used as this parameter.
  • in . этот метод не изменяет значение аргумента, используемого в качестве этого параметра. in : This method doesn’t modify the value of the argument used as this parameter.

При добавлении модификатора in для передачи аргумента по ссылке вы объявляете о своем намерении передавать аргументы по ссылке, чтобы избежать ненужных операций копирования. Add the in modifier to pass an argument by reference and declare your design intent to pass arguments by reference to avoid unnecessary copying. Вы не собираетесь изменять объект, используемый в качестве этого аргумента. You don’t intend to modify the object used as that argument.

Такой подход часто повышает производительность для типов значений только для чтения, размер которых превышает IntPtr.Size. This practice often improves performance for readonly value types that are larger than IntPtr.Size. Для простых типов ( sbyte , byte , short , ushort , int , uint , long , ulong , char , float , double , decimal и bool и enum ) возможное повышение производительности минимально. For simple types ( sbyte , byte , short , ushort , int , uint , long , ulong , char , float , double , decimal and bool , and enum types), any potential performance gains are minimal. На самом деле, производительность может снизиться при использовании передачи по ссылке для типов, меньше чем IntPtr.Size. In fact, performance may degrade by using pass-by-reference for types smaller than IntPtr.Size.

Ниже приведен пример метода, который вычисляет расстояние между двумя точками в трехмерном пространстве. The following code shows an example of a method that calculates the distance between two points in 3D space.

Аргументами являются две структуры, каждая из которых содержит три типа double. The arguments are two structures that each contain three doubles. double имеет размер 8 байт, поэтому каждый аргумент равен 24 байтам. A double is 8 bytes, so each argument is 24 bytes. Указывая модификатор in , вы, в зависимости от архитектуры компьютера, передаете этим аргументам 4- или 8-байтовую ссылку. By specifying the in modifier, you pass a 4 byte or 8-byte reference to those arguments, depending on the architecture of the machine. Разница в размере невелика, но она может вырасти, когда приложение вызывает этот метод в непрерывном цикле с помощью множества различных значений. The difference in size is small, but it adds up when your application calls this method in a tight loop using many different values.

Существуют и другие способы, которыми модификатор in дополняет out и ref . The in modifier complements out and ref in other ways as well. Невозможно создать перегрузки метода, которые отличаются только наличием in , out или ref . You can’t create overloads of a method that differ only in the presence of in , out , or ref . Эти новые правила расширяют то же поведение, которое всегда действовало для параметров out и ref . These new rules extend the same behavior that had always been defined for out and ref parameters. Как и модификаторы out и ref , типы значений не упаковываются, так как применяется модификатор in . Like the out and ref modifiers, value types aren’t boxed because the in modifier is applied.

Модификатор in может применяться к любому члену, который принимает параметры: к методам, делегатам, лямбда-выражениям, локальным функциям, индексаторам, операторам. The in modifier may be applied to any member that takes parameters: methods, delegates, lambdas, local functions, indexers, operators.


Еще одно преимущество параметров in состоит в том, что вы можете использовать литеральные значения или константы для аргумента в параметре in . Another feature of in parameters is that you may use literal values or constants for the argument to an in parameter. Кроме того, в отличие от параметра ref или out , не нужно применять модификатор in на сайте вызова. Also, unlike a ref or out parameter, you don’t need to apply the in modifier at the call site. В следующем коде показаны два примера вызова метода CalculateDistance . The following code shows you two examples of calling the CalculateDistance method. В первом используются две локальные переменные, передаваемые по ссылке. The first uses two local variables passed by reference. Второй содержит временную переменную, созданную в рамках вызова метода. The second includes a temporary variable created as part of the method call.

Существует несколько способов, когда компилятор гарантирует, что аргумент in доступен только для чтения. There are several ways in which the compiler enforces the read-only nature of an in argument. Во-первых, вызванный метод не может быть напрямую назначен параметру in . First of all, the called method can’t directly assign to an in parameter. Его невозможно напрямую назначить полю параметра in , когда это значение имеет тип struct . It can’t directly assign to any field of an in parameter when that value is a struct type. Кроме того, параметр in невозможно передать какому-либо методу, использующему модификатор ref или out . In addition, you can’t pass an in parameter to any method using the ref or out modifier. Эти правила применяются к любому полю параметра in при условии, что данное поле имеет тип struct и параметр имеет тип struct . These rules apply to any field of an in parameter, provided the field is a struct type and the parameter is also a struct type. На самом деле эти правила применяются к нескольким уровням доступа к членам при условии, что все уровни доступа к членам являются structs . In fact, these rules apply for multiple layers of member access provided the types at all levels of member access are structs . Компилятор принудительно указывает, что типы struct , передаваемые в качестве аргументов in , и их члены struct являются переменными, доступными только для чтения, когда используются в качестве аргументов для других методов. The compiler enforces that struct types passed as in arguments and their struct members are read-only variables when used as arguments to other methods.

Илон Маск рекомендует:  AJAX + PHP применение, взаимодействие, пример

Использование параметров in позволяет избежать потенциальных затрат на создание копий. The use of in parameters can avoid the potential performance costs of making copies. Это не меняет семантику ни одного вызова метода. It doesn’t change the semantics of any method call. Таким образом, указывать модификатор in в месте вызова не нужно. Therefore, you don’t need to specify the in modifier at the call site. Пропуск модификатора in в месте вызова сообщает компилятору, что он может сделать копию аргумента по следующим причинам: Omitting the in modifier at the call site informs the compiler that it’s allowed to make a copy of the argument for the following reasons:

  • Выполняется неявное преобразование, но не преобразование удостоверения из типа аргумента в тип параметра. There exists an implicit conversion but not an identity conversion from the argument type to the parameter type.
  • Аргумент является выражением, но не имеет известную переменную хранения. The argument is an expression but doesn’t have a known storage variable.
  • Существует перегрузка, которая отличается наличием или отсутствием in . An overload exists that differs by the presence or absence of in . В этом случае перегрузка по значению подходит лучше. In that case, the by value overload is a better match.

Эти правила полезны и при обновлении существующего кода для использования аргументов со ссылками, доступными только для чтения. These rules are useful as you update existing code to use read-only reference arguments. Внутри вызываемого метода можно вызвать любой метод экземпляра, который использует параметры передачи по значению. Inside the called method, you can call any instance method that uses by value parameters. В этих экземплярах создается копия параметра in . In those instances, a copy of the in parameter is created. Поскольку компилятор может создавать временную переменную для любого параметра in , вы можете также указать значения по умолчанию для любого параметра in . Because the compiler may create a temporary variable for any in parameter, you can also specify default values for any in parameter. Следующий код указывает начало координат (точку 0,0) в качестве значения по умолчанию для второй точки: The following code specifies the origin (point 0,0) as the default value for the second point:

Чтобы велеть компилятору передавать аргументы, доступные только для чтения, по ссылке, укажите модификатор in для аргументов в месте вызова, как показано в следующем коде: To force the compiler to pass read-only arguments by reference, specify the in modifier on the arguments at the call site, as shown in the following code:

Это упрощает постепенное внедрение параметров in в больших базах кода, где возможен выигрыш по производительности. This behavior makes it easier to adopt in parameters over time in large codebases where performance gains are possible. Сначала нужно добавить модификатор in в сигнатуры методов. You add the in modifier to method signatures first. Затем можно добавить модификатор in в местах вызовов и создать типы readonly struct , чтобы разрешить компилятору не создавать защитные копии параметров in в дополнительных расположениях. Then, you can add the in modifier at call sites and create readonly struct types to enable the compiler to avoid creating defensive copies of in parameters in more locations.

Обозначение параметра in также можно использовать со ссылочными типами или числовыми значениями. The in parameter designation can also be used with reference types or numeric values. Однако преимущества в обоих случаях минимальны (если они вообще есть). However, the benefits in both cases are minimal, if any.

Никогда не используйте изменяемые структуры, как в аргументе in Never use mutable structs as in in argument

Методики, описанные выше, объясняют, как избежать копий путем возврата ссылок и передачи значения по ссылке. The techniques described above explain how to avoid copies by returning references and passing values by reference. Эти методы лучше всего работают, когда типы аргументов объявляются как типы readonly struct . These techniques work best when the argument types are declared as readonly struct types. В противном случае компилятор должен создавать защитные копии во многих ситуациях, чтобы гарантировать, что все аргументы будут доступны только для чтения. Otherwise, the compiler must create defensive copies in many situations to enforce the readonly-ness of any arguments. Рассмотрим следующий пример, который вычисляет расстояние до точки в трехмерном пространстве от начала координат: Consider the following example that calculates the distance of a 3D point from the origin:

Структура Point3D не предоставляется только для чтения. The Point3D structure is not a readonly struct. В тексте этого метода есть шесть разных вызовов доступа к свойству. There are six different property access calls in the body of this method. На первый взгляд может показаться, что эти доступы безопасны. On first examination, you may have thought these accesses were safe. В конце концов, метод доступа get не должен изменять состояние объекта. After all, a get accessor shouldn’t modify the state of the object. Но нет правила языка, которое это обеспечивает. But there’s no language rule that enforces that. Это просто общее соглашение. It’s only a common convention. Любой тип может реализовывать метод доступа get , который изменил внутреннее состояние. Any type could implement a get accessor that modified the internal state. Без языковой гарантии компилятору необходимо создавать временную копию аргумента перед вызовом любого члена. Without some language guarantee, the compiler must create a temporary copy of the argument before calling any member. Временное хранилище создается на стеке, значения аргумента копируются во временном хранилище, и значение копируется в стек для каждого доступа к членам как аргумент this . The temporary storage is created on the stack, the values of the argument are copied to the temporary storage, and the value is copied to the stack for each member access as the this argument. Во многих случаях эти копии достаточно снижают производительность, так что передача по значению работает быстрее, чем передача по ссылке только для чтения, если тип аргумента не readonly struct . In many situations, these copies harm performance enough that pass-by-value is faster than pass-by-readonly-reference when the argument type isn’t a readonly struct .

Вместо этого, если вычисление расстояния использует неизменяемую структуру, ReadonlyPoint3D , временные объекты не требуются: Instead, if the distance calculation uses the immutable struct, ReadonlyPoint3D , temporary objects aren’t needed:

Компилятор создает более эффективный код, когда вызываются члены readonly struct : Ссылка this , а не копия приемника, всегда является параметром in , переданным по ссылке методу члена. The compiler generates more efficient code when you call members of a readonly struct : The this reference, instead of a copy of the receiver, is always an in parameter passed by reference to the member method. Эта оптимизация позволяет избежать копирования при использовании readonly struct в качестве аргумента in . This optimization saves copying when you use a readonly struct as an in argument.

Не следует передавать тип значения, допускающий значения NULL, в качестве аргумента in . You shouldn’t pass a nullable value type as an in argument. Тип Nullable не объявлен как структура только для чтения. The Nullable type isn’t declared as a read-only struct. Это означает, что компилятор должен создавать защитные копии для любого аргумента типа, допускающего значение NULL и передаваемого в метод с помощью модификатора in в объявлении параметра. That means the compiler must generate defensive copies for any nullable value type argument passed to a method using the in modifier on the parameter declaration.

Вы видите пример программы, который демонстрирует разницу в производительности с помощью Benchmark.net в наших репозиториях примеров на сайте GitHub. You can see an example program that demonstrates the performance differences using Benchmark.net in our samples repository on GitHub. Он сравнивает передачу изменяемых структур по значению и по ссылке с передачей неизменяемых структур по значению и по ссылке. It compares passing a mutable struct by value and by reference with passing an immutable struct by value and by reference. Быстрее всего использовать неизменяемую структуру и передачу по ссылке. The use of the immutable struct and pass by reference is fastest.

Используйте типы ref struct для работы с блоками или памятью в одном кадре стека Use ref struct types to work with blocks or memory on a single stack frame

Еще одной связанной функцией языка является возможность объявлять тип значения, который должен быть ограничен одним кадром стека. A related language feature is the ability to declare a value type that must be constrained to a single stack frame. Это ограничение позволяет компилятору кое-что оптимизировать. This restriction enables the compiler to make several optimizations. Главным стимулом для создания этой функции была структура Span и связанные структуры. The primary motivation for this feature was Span and related structures. Вы получите повышение производительности благодаря этим усовершенствованиям, если будете использовать новые и обновленные интерфейсы API .NET, которые используют тип Span . You’ll achieve performance improvements from these enhancements by using new and updated .NET APIs that make use of the Span type.

Похожие требования могут иметь место при работе с памятью, созданной с помощью stackalloc , или при использовании памяти из API взаимодействия. You may have similar requirements working with memory created using stackalloc or when using memory from interop APIs. Для этих задач можно определить собственные типы ref struct . You can define your own ref struct types for those needs.

Тип readonly ref struct readonly ref struct type

Объявление структуры как readonly ref сочетает в себе преимущества и недостатки объявлений ref struct и readonly struct . Declaring a struct as readonly ref combines the benefits and restrictions of ref struct and readonly struct declarations. Объем памяти, используемой диапазоном только для чтения, будет ограничен одним кадром стека, а объем памяти, используемой диапазоном только для чтения, невозможно изменить. The memory used by the readonly span is restricted to a single stack frame, and the memory used by the readonly span can’t be modified.

Выводы Conclusions

Использование типов значений сводит к минимуму число операций распределения: Using value types minimizes the number of allocation operations:

  • Хранилище для типов значений выделяется в стеке для локальных переменных и аргументов метода. Storage for value types is stack allocated for local variables and method arguments.
  • Хранилище для типов значений, которые являются членами других объектов, выделяется как часть этого объекта, а не отдельное распределение. Storage for value types that are members of other objects is allocated as part of that object, not as a separate allocation.
  • Хранилища возвращаемых значений типов значений выделяется в стеке. Storage for value type return values is stack allocated.

Сравните это со ссылочными типами в таких же ситуациях: Contrast that with reference types in those same situations:

  • Хранилище для ссылочных типов выделяется в куче для локальных переменных и аргументов метода. Storage for reference types are heap allocated for local variables and method arguments. Ссылка хранится в стеке. The reference is stored on the stack.
  • Хранилище для ссылочных типов, которые являются членами других объектов, выделяется в куче отдельно. Storage for reference types that are members of other objects are separately allocated on the heap. Объект хранит ссылку. The containing object stores the reference.
  • Хранилище возвращаемых значений ссылочного типа выделяется в куче. Storage for reference type return values is heap allocated. Ссылка на это хранилище хранится в стеке. The reference to that storage is stored on the stack.

Чтобы свести распределения к минимуму, придется пойти на компромисс. Minimizing allocations comes with tradeoffs. Вы копируете больше памяти, если размер struct больше, чем размер ссылки. You copy more memory when the size of the struct is larger than the size of a reference. Ссылка обычно является 64- или 32-разрядной и зависит от ЦП целевого компьютера. A reference is typically 64 bits or 32 bits, and depends on the target machine CPU.

Эти компромиссы обычно имеют минимальное влияние на производительность. These tradeoffs generally have minimal performance impact. Однако для больших структур или больших коллекций влияние на производительность возрастает. However, for large structs or larger collections, the performance impact increases. Влияние может быть большим в плотных циклах и часто используемых путях для программ. The impact can be large in tight loops and hot paths for programs.

Эти усовершенствования языка C# предназначены для критических алгоритмов производительности, когда минимизация распределений памяти может иметь большое значение для достижения необходимой производительности. These enhancements to the C# language are designed for performance critical algorithms where minimizing memory allocations is a major factor in achieving the necessary performance. Может оказаться, что в создаваемом коде эти функции используются довольно редко. You may find that you don’t often use these features in the code you write. Тем не менее эти усовершенствования были реализованы в .NET. However, these enhancements have been adopted throughout .NET. Поскольку с этими функциями работает все больше API-интерфейсов, повышение производительности приложений не останется незаметным. As more and more APIs make use of these features, you’ll see the performance of your applications improve.

Референс-номер

Понравилась статья?
Сохраните, чтобы не потерять!

Репатриация в Германию

Относясь к странам с высоким уровнем жизни, развитыми экономикой, системами здравоохранения, образования и социального обеспечения, Германия представляет большой интерес для желающих сменить страну проживания. Государство располагается на втором месте после США по популярности иммиграции. Этому способствует и лояльная иммиграционная политика ФРГ. Способов получения ПМЖ в стране — несколько. Одним из них является переезд в Германию этнических немцев.

Репатриация в Германию

Иммиграционная политика в Германии

Кто может претендовать на получение гражданства ФРГ?

Репатриантами могут стать некоторые категории граждан

  1. Ценные работники в представляющих интерес областях экономики.

  2. Крупные инвесторы и основатели бизнеса на территории страны.
  3. Получившие высшее образование в немецких вузах.
  4. Зарегистрировавшие брак с немцем или с официально там проживающим лицом.
  5. Лица еврейской национальности, в т. ч. унаследовавшие ее от родственников (по прямой восходящей линии).
  6. Этнические немцы (поздние переселенцы).

Основные цели беженцев в ФРГ

Несмотря на объяснимое желание страны обеспечить приток квалифицированных кадров и капитала, непростая история государства и его добрая воля позволяют получить гражданство лицам, относящимся и к двум последним категориям.

Работа и уровень зарплат в Германии

По Основному Закону ФРГ немцами являются:

  • граждане Германии;
  • лица, которые принимаются в ФРГ в статусе поздних переселенцев, их супруги и потомки.

В ФРГ была разработана программа для лиц, проживающих за пределами страны, у которых есть немецкие корни (закон «Об изгнанных и беженцах» (BVFG), позволяющий оказать помощь немцам, пострадавшим во время и после окончания второй мировой войны). Впервые закон о приеме переселенцев, облегчающий возможность вернуться на историческую родину, был принят еще в 1954 году.

О законе ФРГ «Об изгнанных и беженцах» (Bundesvertriebenengesetz), а также члены их семей, переселившиеся в Германию на постоянное проживание»

Основной приток репатриантов по этой программе наблюдается из стран, ранее входивших в состав СССР. Начиная с середины 90-х годов, наблюдался настоящий бум репатриации. После 1988 года из постсоветского пространства (в основном из России и Казахстана) в страну на ПМЖ переехало более 2 млн. человек, имеющих немецкое происхождение.

Россия и страны постсоциалистического пространства

Законодательном утверждены квоты на прием репатриантов. В течение года допускается выдача не более 100 тыс. разрешений на переезд (для контроля за репатриацией). Но на практике сегодня более 10 тыс. заявлений на переселение в год не регистрируется. Хотя с 2013 года поток немного возрос. Это связано с внесением поправок в законодательство (в BVFG).

Важно! Гражданам России, получившим статус позднего переселенца, нет необходимости отказываться от паспорта РФ. Для них и близких родственников разрешено иметь двойное гражданство.

Жителям РФ не нужно отказываться от родного гражданства

Как иммигрировать в Германию этническим немцам

Заявителями имеют право быть лица, рожденные до 1 января 1993 г. Всем репатриантам по BVFG присваивается статус (параграф), по нему начисляются пособия, учитывается трудовая деятельность, предоставляется гражданство. Вернуться на историческую родину могут лица, отвечающие всем нижеперечисленным требованиям:

  • доказавшие немецкое происхождение. Рожденные после 1.1.1924 года должны: иметь отметку о немецкой национальности в документах, доказать национальность на основании страны происхождения, обосновать невозможность декларирования национальности (гонения, репрессии и т. д.);
  • знающие немецкий язык;
  • не судимые (могут быть сделаны исключения);
  • не подпадающие под параграф 5 BVFG (не занимающие в Советском Союзе определенные статусные должности (бывшие дипломаты, судьи, сотрудники МВД или органов государственной безопасности, руководители совхозов, комитетов КПСС и т. д.)).

Что такое репатриация

Вне зависимости от того, где подается заявление о присвоении статуса позднего переселенца, оно рассматривается в Федеральном Административном Ведомстве (оно находится в подчинении МВД). Бланк заявления (Антраг) легко скачать и распечатать с портала BVA (www.bva.bund.de) или можно взять в представительстве ФРГ.

Список основных документов

Заявление вместе с комплектом документов подается самим претендентом в представительство или отправляется по почте. Получатель — штаб-квартира BVA, находящаяся в Кельне. Адрес для отправления: Bundesverwaltungsamt, Barbarastrasse.1, 50728 Köln, Deutschland.

Также можно поручить своему представителю, проживающему в Федеративной Республике, подготовить заявление и отправить его в Ведомство (это поможет ускорить процедуру).

Процесс репатриации состоит из двух этапов.

  1. По месту жительства подается заявление и пакет документов (если претендент решил подать заявку лично), проводится собеседование, сдается экзамен на знание языка, получается «Удостоверение о приеме» и разрешение на въезд в ФРГ.
  2. После приезда на историческую родину (приемный лагерь в местечке Фридланд) репатриант и его родные проходят медицинскую комиссию, получают регистрационные бумаги и распределение на ПМЖ.

Получить консультацию по вопросам репатриации можно непосредственно в BVA по тел. +49 221-758 0. Прием документов и их рассмотрение немецкой стороной проводится бесплатно.

Пакет документов для репатриации

Документы на переселение по BVFG принимаются в представительствах ФРГ (если подаются в стране проживания).

Визовый отдел Посольства Германии в России, Ленинский пр.

С 2020 года необходима предварительная запись. Срок рассмотрения заявки — индивидуальный (от недели до 4 месяцев). По результатам проверки приходит вызов на языковое тестирование и собеседование, запрос дополнительных сведений или отказ.

Важно! Если получен отказ, есть возможность подать жалобу. Не позднее чем через месяц Ведомство обязано отреагировать. При подтверждении отказа можно подавать протест в судебную инстанцию (немецкую).


Апелляционный суд — Берлин

Список предоставляемых бумаг включает:

  • заявление (на немецком языке) — 2 экземпляра. В Антраг можно вносить членов семьи — супругу/а и детей (родители, братья и сестры в программу позднего переселения не попадают). Муж/жена заявителя могут получить паспорт гражданина ФРГ в случае, если супружество длится более 3 лет (на момент подачи документов). Если срок меньше, для переезда второй половины используется процедура воссоединения семьи (как иностранца);

В Антраг можно вносить членов семьи

  • сопроводительное письмо (на немецком), где описывается ситуация;
  • ксерокопии паспортов (всех, кто фигурирует в заявлении), свидетельств о рождении, усыновлении, браке, смерти родственников по прямой линии. Документы требуется нотариально заверить;
  • копию трудовой книжки (для тех, кто родился до 01.01.1974 г);

Образец заверения копии

  • копию справки об отсутствии судимости (она получается в отделении милиции, ее при запросе можно предоставить позднее).

Можно прикладывать дипломы, военный билет, решения суда и т. д. Если у переселенца есть родственники, переселившиеся в ФРГ, следует предоставить и их документы (паспорта, разрешения на переезд). Когда документы подаются представителем в Германии (юристом, родственником, знакомым), необходима доверенность. Документы должны иметь перевод.

Военный Билет СССР

Подтверждение владения языком

При подаче Антрага от претендента требуется предоставить подтверждение сдачи экзамена на уровне В1 в Гете-институте (официальном учреждении правительства ФРГ) или он должен уведомить о желании пройти тестирование (Шпрахтест). Совершеннолетние члены семьи подтверждают владение языком не ниже А1. Потомки, не достигшие совершеннолетия, не должны доказывать знание немецкого.

Нужно пройти тест на знание языка

Таблица. Отделения культурного центра им. Гете.

Город Координаты Телефон Адрес эл. почты
Москва Ленинский проспект, д. 95а (495) 9362460 m.me/goethe.institut.moskau
Санкт-Петербург Набережная реки Мойки, д. 58, 7 этаж (812) 3631125 info@stpetersburg.goethe.org
Новосибирск Улица Максима Горького, 42, 1 этаж (383) 3621474 kurse-nowosibirsk@goethe.de

Стоимость обучения варьируется в зависимости от вида курсов и города. В среднем, она составляет 30…40 тыс. руб. Экзамен на владение языком (В1) состоит из четырех частей: чтения, письма, аудирования и устного разговорного теста.

Институт имени Гёте (Немецкий культурный центр им. Гёте, нем. Goethe Institut)

В случае положительного решения по заявлению претенденту направляется приглашение на собеседование. На него кандидат должен принести оригиналы всех документов, указанных в заявлении.

Если претендент на переезд не прилагал к пакету документов сертификат Гете-института, ему необходимо пройти Шпрахтест. Он проводится носителем языка, приезжающим для этого два раза в год. Беседа (в присутствии помощника консула) позволяет определить, достаточно ли уровня знания языка претенденту для общения на распространенные темы: политика, быт, здоровье, учеба, семья и т. д. Он должен быть способен формулировать мысли, описывать различные ситуации или ощущения.

При проведении собеседования составляется протокол, где перечисляются предоставленные документы и приводится содержание всей беседы.

После окончания процедуры заявителю остается ждать, порой несколько месяцев. В случае успешно пройденного собеседования ему приходит удостоверение о приёме (Aufnahmebescheid), а членам семьи, указанным в заявке — удостоверение о включении (Einbeziehungsbescheid). Эти документы являются основаниями для выдачи визы.

Все спорные решения можно обжаловать в Административном суде г. Кельн.

Лагерь во Фридланде

В лагере для репатриантов (до него можно добраться на поезде от г. Ганновер) придется задержаться от 2 до 7 дней. В нем проводится медицинское обследование, оформляется регистрационное свидетельство (Registrierschein). Вновь прибывшие получают распределение на новое, постоянное место жительства (как правило, оно совпадает с тем, куда репатрианты и хотели переехать (указывается в Антраге)).

Лагерь для репатриантов

Здесь же есть возможность изменить свои данные на более удобные для жизни в Германии (поменять имя, фамилию, убрать из документов отчество).

Категории поздних переселенцев (параграфы)

Как уже отмечалось, после одобрения переселенцам присваиваются параграфы. Что они означают?

    Основной, 4-й параграф может получить только заявитель. Он дает право на получение гражданства (после прохождения всех бюрократических процедур во Фридланде и в новом городе проживания), посещение интеграционных курсов, получение социальных выплат, сохранение стажа.

План лагеря Фридланд

Фридланд, здание №16

Такой вариант получения разрешения на переезд в Германию может потребоваться и супругам переселенцев, которые не могут подтвердить знание языка.

Статус позднего переселенца

Категория переселенца очень важна для жизни в ФРГ, от этого зависят его права и обязанности. Ее есть возможность изменить, только находясь по прежнему месту жительства, на немецкой территории этого сделать не получится. Поэтому необходимо хорошо все обдумать, внимательно проштудировать информацию и постараться получить более выгодную категорию.

Важно! Взрослые дети могут не вписываться в Антраг, а проходить процедуру признания поздним переселенцем самостоятельно. На это потребуется лишнее время, но приезд по 4 параграфу значительно облегчает жизнь в этой стране.


Узнать о присвоенной членам семьи категории можно лишь, получив Aufnahmebescheid.

Первые шаги на исторической родине

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

Поздние переселенцы имеют право на льготы, предусмотренные законами Германии, интеграционное пособие (около 3 тыс. € для заявителей, рождённых до 01.01.1946, 2 тыс. € — лицам с датой рождения до 31.03.1956).

Прибытие на историческую родину

Приехав по новому месту жительства, следует в недельный срок оформить прописку в адресном столе. Для этого понадобятся паспорта, Aufnahmebescheid и Registrierschein. После этого по месту проживания подается заявка на получение гражданства или удостоверения (в зависимости от параграфа, определяющего статус).

В Германии практически все выплаты (заработной платы, пособия, дотаций и т. д.) производятся перечислением на личный расчетный счет. Поэтому его нужно открыть как можно скорее.

Сегодня тема получения статуса «позднего переселенца» (Spätaussiedler) очень актуальна

В первые же дни оформляются и страховые полисы. Наиболее важные страховки: медицинская, пенсионная, гражданской ответственности (для возмещения ущерба, нанесенного третьим лицам), автомобильная (при наличии машины).

Водительское удостоверение репатрианта (полученное по прежнему месту жительства) действительно в ФРГ лишь полгода после въезда. Новые права можно получить, сдав экзамены по теории и практике.

Что такое код references

Каждая статья в журналах, издаваемых в Российской государственной библиотеке («Библиотековедение», «Обсерватория культуры») сопровождается списком источников на английском языке (и/или в транслитерации) (далее — References) в целях обеспечения отслеживания цитируемости в международных базах данных.

Редакция рекомендует авторам предоставлять информацию о верифицированном переводе цитируемых источников на английский язык (в случае наличия) в виде отдельного списка. Нумерация источников должна соответствовать нумерации в авторском оригинале на русском языке.

Подготовить раздел References к Вашей статье необходимо по схеме, изложенной в рекомендациях эксперта БД Scopus О.В. Кирилловой (Кириллова О.В. Редакционная подготовка научных журналов по международным стандартам. Москва, 2013. 90 с. URL: http://shkola.neicon.ru/images/documents/1_1kirillovaredprep_2013.pdf (дата обращения: 04.12.2015).)

К каждой библиографической записи необходимо найти правильный (используемый автором цитируемого источника) перевод названия статьи и названия журнала (которые представлены в квадратных скобках). В примерах зеленым цветом выделено транслитерированное название , синим (в квадратных скобках) — перевод или оригинальное название на иностранном языке .

Если верифицированного перевода не удается найти, Вы можете предложить свой перевод (в таком случае необходимо отметить в примечании «Перевод названий источников выполнен автором статьи / Translated by author of the article».

Основные правила подготовки раздела References

Фамилия автора является одним из самых значимых для международных баз данных составляющих в библиографической ссылке, поэтому любая библиографическая запись должна начинаться с имени автора. Если в статье цитируется источник без авторства, по возможности в начало библиографической записи выносятся данные о составителе издания или других лицах, упомянутых в сведениях об ответственности (с указанием роли в скобках после имени, например: сост. И.И. Иванов -> Ivanov I.I. (ed.)). В исключительных случаях допускается использование библиографической записи без имени автора.

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

Вся вспомогательная информация и выходные данные (составитель, вид издания, например диссертация или труды конференции, том, город, количество страниц, дата обращения, электронный ресурс и т.п.) приводятся в переводе на английский язык. Информация об издателе может быть дана в транслитерации, с указанием на английском, что это издательство (Publ.), например: Москва : Наука -> Moscow, Nauka Publ.

Схема библиографической ссылки состоит из следующих элементов:

— заглавие статьи (транслитерация);

— [перевод заглавия статьи на английский язык в квадратных скобках];

— название русскоязычного источника (транслитерация) – курсивом;

— [перевод названия источника на английский язык в квадратных скобках];

— выходные данные с обозначением на английском языке.

В английском блоке должны использоваться только английские символы, наличие кириллических знаков не допускается. Знаки препинания (в т. ч. кавычки), должны использоваться по правилам английского языка (необходимо заменять кавычки «елочки» на “лапки”). Если в источниках приводится ссылка на кириллический домен, ссылка должна быть переделана для английского блока (но не транслитерирована), подробнее см. ниже.

Рекомендации по транслитерации

Для перевода русского текста на латиницу используются правила British Standart Institution. Транслитерация производится с помощью автоматического транслитератора (Формат BSI), например, http://transliteration.pro/bsi. Важно использовать системы автоматического перевода кириллицы в романский алфавит; не делать транслитерацию вручную. Это позволит избежать ошибок транслитерации.

Что нужно транслитерировать?

При подготовке раздела References транслитерируются:

  • Фамилия, инициалы автора (если нет автора, то транслитерируется ФИО редактора, которые берутся из сведений об ответственности, размещенные за одной косой чертой)
  • название статьи
  • название журнала/сборника
  • Название издательства

Не требуется транслитерировать (должно быть представлено на английском языке):

  • Место издания (город)
  • служебные слова, обозначающие выходные данные или тип издания, в т.ч. том, №, издание, выпуск, книга, часть, электронный ресурс, режим доступа, диссертация, автореферат, труды конференции, и т.п. Английские аналоги наиболее часто встречающихся терминов представлены в таблице Перевод наиболее часто встречающихся элементов библиографической записи в конце настоящей инструкции.

Способ работы с транслитератором:

Убедитесь, что над полем «исходный текст» указан верный стандарт «Транслитерация по стандарту BSI».

Скопировать заранее подготовленный список источников (только на русском языке) в поле «исходный текст».

Нажать кнопку «перевести» (последня над полем исходного текста). В поле «транслитерация» появится транслитерированный текст.

Пример:

Валеева Е.В. Аналоговая модель современного образования // Обсерватория культуры.


Valeeva E.V. Analogovaya model’ sovremennogo obrazovaniya // Observatoriya kul’tury .

Транслитерироваться должны все записи, написанные кириллическим шрифтом, за исключением интернет-ссылок на кириллические домены (интернет-адрес, написанный кириллическими буквами). О транслитерации кириллических ссылок см. в разделе Рекомендации по работе с интернет-ссылками.

Рекомендации по формированию верифицированного перевода цитируемых источников на английском языке

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

На английском языке желательно приводить следующую информацию:

    Название журнала (особенно, если это современный журнал, включенный в Перечень ВАК).
    Верифицированный перевод названия такого журнала должен быть опубликован на официальном сайте издания (в соответствии с Требованиями ВАК).

Название статьи, опубликованной в современном журнале, включенным в Перечень ВАК.
Чаще всего перевод названия статьи, предложенный автором или редакторами журнала можно найти на странице журнала в сети Интернет, или на странице журнала в РИНЦ на сайте http://elibrary.ru/. Если такое название не удается найти, но Вы можете перевести ее название на английский язык самостоятельно, после такого перевода необходимо поставить звездочку* и в конце списка оставить примечание:
*Перевод названий источников выполнен автором статьи / Translated by author of the article.
Звездочка ставится после каждого названия, переведенного лично автором статьи. Если перевод названия был найден в верифицированных источниках, звездочку ставить не надо.

Оригинальное название переводной книги.
Если можно выявить оригинал, по которому был сделан перевод книги, тогда полезно описать его как основное название, вместо переводного. Такой вариант описания позволяет найти публикации авторов в действительном представлении их фамилий, а отличии от переводной версии (по все правилам, при переводе описания в латиницу фамилии авторов транслитерируются, что значительно искажает его настоящее написания). Если при издании перевода издатели указали название книги, с которой был сделан перевод, эти данные можно найти на авантитуле издания или в электоронном каталоге крупных библиотек, например РГБ: http://aleph.rsl.ru/. Также оригинальное авторское название наиболее значимых книг можно найти в таких ресурсах, как Википедия. Если автор писал на одном из основных европейских языков (немецкий, французский), также можно в качестве основного названия использовать название на языке оригинала.
В этом случае транслитерация русского названия не требуется, а в конце библиографической записи в скобках указывается, что язык цитируемого источника — русский: (in Russ.) Пример оформления см. ниже.

Рекомендации по работе с интернет-ссылками

В английском блоке не должно быть никаких кириллических символов, так как эта информация будет передаваться в международные базы данных, не работающие с кириллицей. В то же время, в настоящее время появляется большое количество Интернет-ресурсов, использующих в своих адресах кириллические символы. В разделе Referenses таким адресам желательно найти аналог. Для различных частей интернет адреса используется различная методика по замене.

1. Если адрес конкретной статьи (URL) на сайте набран кириллицей, например: https://ru.wikipedia.org/wiki/Российская_государственная_библиотека

Согласно стандарту при записи URL можно использовать ограниченный набор символов (подробнее о URL см. статью на странице Википедии). В этот набор символов не входят символы национальных языков, включая русский. В URL символы кириллицы должны быть перекодированы особым образом (подробнее см. статью на странице Википедии).

Многие современные обозреватели осуществляют такую перекодировку автоматически, при этом в адресной строке URL визуально остается в удобном для человека не закодированном виде, а при копировании URL из строки адреса в кодированном виде.

В сети Интернет можно найти онлайн сервисы, позволяющие произвести перекодирование.
Для удобства Вы можете воспользоваться полем ввода в следующем пункте.

2. Если сам домен кириллический, заканчивается на .рф, .рус, .москва, .дети, .бел, .укр, и т. п., например: http://минобрнауки.рф/

Согласно утвержденной стандартом системе доменных имен разрешены только 26 символов латинского алфавита, цифры от 0 до 9 и дефис. Для использования доменных имен с использованием символов национальных языков, URL с доменным именем должен быть соответствующим образом перекодирован. (подробнее см. статью на странице Википедии).

Чтобы преобразовать такое название в латиницу, можно найти в Интернет и воспользоваться одной из специальных программ или сервисов, называемые Punycode-конвертерами (несколько ссылок даны в статье на странице Википедии).

Вы можете ввести URL для перекодирования в поле ниже (результат будет появляться в процессе ввода)

3. Если цитируемый Вами источник располагается на двуязычном сайте (на русском и английском языке), и у цитируемого документа есть переведенная версия, у которой другой адрес, в разделе References желательно разместить ссылку на английскую версию документа. Это не распространяется на статьи в Википедии, так как на этом ресурсе информация представлена не в переводном виде, а генерируется для каждого языка отдельно, поэтому содержание статьи может значительно отличаться.
Например:

1. Утверждены Основы государственной культурной политики [Электронный ресурс] // Официальный сайт Президента России. Новости. 24.12.2014. URL: http://kremlin.ru/events/president/news/47325 (дата обращения: 02.11.2015).
1. Utverzhdeny Osnovy gosudarstvennoi kul’turnoi politiki [ Basics of State Cultural Policy approved ], Ofitsial’nyisait Prezidenta Rossii. Novosti [ President’s of Russia official website. News ], 24.12.2014. Available at: http://en.kremlin.ru/events/president/news/47325 (accessed 02.11.2015).

Форматирование раздела References

Форматирование (выделение курсивом, расстановка знаков препинания) в русском и английских стандартах немного отличается. В русском списке источников по стандартам современного книгоиздания необходимо придерживаться требований ГОСТ, в то время как для обеспечения машиночитаемого распознавания раздела References, его необходимо оформить в соответствии с международными правилами. В настоящем разделе приведены основные отличия форматирования, которые надо исправить при подготовке раздела References:

Элемент описания Оформление по ГОСТ Оформление в Referenses
Имя автора выделяется курсивом прямым шрифтом
Фамилия автора является одним из самых значимых для международных баз данных составляющих в библиографической ссылке, поэтому любая библиографическая запись должна начинаться с имени автора. Если в статье цитируется источник без авторства, по возможности в начало библиографической записи выносятся данные о составителе издания или других лицах, упомянутых в сведениях об ответственности (с указанием роли в скобках после имени, например: сост. И.И. Иванов -> Ivanov I.I. (ed.)). В исключительных случаях допускается использование библиографической записи без имени автора.
название журнала (сборника) в аналитической записи Перед названием журнала ставится знак // Название журнала (сборника) выделяется курсивом
Название монографии прямой шрифт выделяется курсивом
Разделительные знаки между полями точка запятая (исключение — перед местом издания (город) ставится точка)
Сведения об ответственности размещаются после одной косой черты / В разделе References не приводятся. Исключение составляет имя составителя, если у сборника нет автора.
Если статья содержит более 3 авторов, сведения о них размещаются за одной косой чертой Все сведения об авторах статьи размещаются в начале библиографической записи

Схема и примеры оформления источников в разделе References

Ссылка на статью в журнале:

Author A.A., Author B.B., Author C.C. Nazvanie stat’i [ Title of the Article ], Nazvanie zhurnala [ Title of Journal ], 2015, vol. 56, no. 5, pp. 962—983.

Примеры:
1. Vybyvanets E.V. Kakim uvidel M. Béjart “Boléro”, M. Ravela: k voprosu o metodakh vizualizatsii muzykal’noi klassiki [ What M. Béjart saw “Boléro” by M. Ravel: to the question the methods of visualization classical music ], Aspectus. Mezhdunarodnyi nauchnyi zhurnal [ Aspectus. The International Scientific Journal ], 2014, no. 3, pp. 15–28.
2. Kuznetsova H.S. Spektr tsennostei pamyatnika arkhitektury [ Range of Values of Architectural Monument ], Observatoriya kul’tury [ Observatory of Culture ], 2014, no. 1, p. 63.
3. Zagurenko A.G., Korotovskikh V.A., Kolesnikov A.A., Timonov A.V., Kardymon D.V. Tekhniko-ekonomicheskaya optimizatsiya dizaina gidrorazryva plasta [ Techno-economic optimization of the design of hydraulic fracturing ]. Neftyanoe khozyaistvo – Oil Industry, 2008, no.11, pp. 54-57.
4. Gorokhov V.G. Nanoetika: znachenie nauchnoi, tekhnicheskoi i khozyaistvennoi etiki v sovremennom obshchestve , Voprosy filosofii [ Russian Studies in Philosophy ], 2008, no. 10, pp. 33–49.
5. Mukhin A. S. Kupol kak simvolicheskaya forma [ Dome as symbolic form *], Istoricheskie, filosofskie, politicheskie i yuridicheskie nauki, kul’turologiya i iskusstvovedenie. Voprosy teorii i praktiki [ Historical, Philosophical, Political and Law Sciences, Culturology and Study of Art. Issues of Theory and Practice *], 2013, no. 7, part 2, pp. 111–115.
6. Thelen D. History-Making in America: A Populist Perspective, The Historian, 1991, vol. 53, no. 4, pp. 633—648.
*Перевод названий выполнен автором статьи / Translated by author of the article.

Ссылка на книгу:

Familia I.O. Nazvanie knigi [ Title of the Book ]. Gorod, Izdatelstvo Publ., 2015, 450 p.

Ссылка на переводное издание:

Familia I.O. [ Original Title of the Book ]. Gorod, Izdatelstvo Publ., 2015, 450 p. (in Russ.)

Примеры:
Timoshenko S.P., Young D.H., Weaver W. Kolebaniia v inzhenernom dele [ Vibration problems in engineering ]. Moscow, Mashinostroenie Publ., 1985, 472 p. (in Russ.)
Brooking A., Jones P., Cox F. [ Expert systems. Principles and case studies ]. Moscow, Radio i sviaz’ Publ., 1987, 224 p. (in Russ.)

Ссылка на сборник (впереди указывается фамилия отв. редактора или составителя):

Sostavitel I.O. (ed.) Nazvanie sbornika statei [ Title of the Digest ]. Gorod, Izdatelstvo Publ., 2015, 450 p.

Ссылка на статью в сборнике статей (I.O. Sostavitel = фамилия отв. редактора или составителя)

Familia I.O. Nazvanie stat’i [ Title of the Article *], Nazvanie sbornika statei [ Title of the Digest *], ed. I.O. Sostavitel. Gorod, Izdatelstvo Publ., 2015, pp. 10—15.

_________
*Перевод названий источников выполнен автором статьи / Translated by author of the article

Ссылка на статью в электронном журнале:

Familia I.O. Nazvanie stat’i [ Title of the Article *], Nazvanie zhurnala [ Title of Journal ], 2015, no.5. Available at: http://observatoria.rsl.ru/ru/s3/s17/s364/ok12015/ (accessed 01.12.2015).

Ссылка на произведение из многотомника:


примера пока нет

Ссылка на продолжающееся произведение (в разных номерах):

примера пока нет

Ссылка на диссертацию/автореферат

Familia I.O. Nazvanie dissertatsii [ Title of the Dissertation ], Dr. philos. sci. diss. Gorod, Izdatelstvo Publ., 2015, 253 p.

Familia I.O. Nazvanie dissertatsii [ Title of the Dissertation ], Cand. philos. sci. diss. Abstr. Gorod, Izdatelstvo Publ., 2015, 253 p.

Ссылка на материалы конференции (дата проведения конференции указывается, если она представлена в издании):

Author A.A., Author B.B., Author C.C. Nazvanie Vistuplenia [Title of the Report ], Trudy 6 mezhdunarodnoi konferencii “Nazvanie Konferencii” (Moskva, 15-17.09.2015) [Proc. 6th Int. Conf. “Title of Conference” , Moscow, September, 15-17, 2015)]. Gorod, Izdatelstvo Publ., 2015, pp. 267—272.

Ссылка на архивные документы:

Nazvanie dokumenta , Nazvanie arkhiva [ Name of Archive ], coll. 477, aids 3, fol. 60225, p. 9, 9back

1. Knigi. bogatykh i paradnykh karet, vizavii, faetonov, kolyasok, odnokolok, , portshezov, sanei gorodovykh paradnykh i maskeradnykh s prinadlezhashchimi k nim veshchami, i vse to, chto est’ starinnoe i paradnoe, ostayushcheesya k odnomu tol’ko khraneniyu Pridvornoi konyushennoi kontory za 1821 i 1823–1830 gg. Russian State Historical Archive, coll. 477, aids 7.27/175, pp. 66, 88.
2. O razdelenii komandy na tri chasti loshadei, ekipazhei i prochego, takzhe i o pozhalovanii chinami, 1763. Rossiiskii gosudarstvennyi arkhiv drevnikh aktov [Russian State Archive of Ancient Documents], coll. 1239, aids 3, part 112, fol. 60225.
3. Inventarnaya kniga otdela dereva i mebeli, State Historical Museum, fol. II-2, p. 51back.
4. Leningradskii gosudarstvennyi arkhiv literatury i iskusstva (LGALI), coll. 36, aids 2, fol. 3, pp. 61–85.
5. Otdel pis’mennykh istochnikov Gosudarstvennogo istoricheskogo muzeya [State Historical Museum — Archives], coll. 54, aids 23, p. 290.

Иран: въезд для россиян возможен по визе, оформляемой в аэропорту или заранее

Россиянам, желающим в 2020 году побывать в Иране понадобится виза, но её оформление достаточно упрощено. Получить въездное разрешение можно в аэропорту по прилету (до 30 дней), либо в представительствах страны, расположенных в России или за ее пределами.

Виза по прилету

Виза в Иран по прилету выдается только в Имам-Хомейне (IKA) — международном аэропорту, расположенном в Тегеране. В других аэропортах страны и наземных КПП получить въездное разрешение не получится. Есть два варианта оформления визу в аэропорту:

  • Заранее получить референс-код в одной из посреднических компаний;
  • Прибыть в аэропорт без референс-кода.

Что такое референс-код?

Референс-код (РК) — это своего рода визовое разрешение, которое выдает МИД Ирана после проверки всех данных и документов иностранца. Это прямое указание как для пограничной службы (при получении визы по прибытию), так и для консульских сотрудников (при обращении в Посольство) о выдаче визы конкретному туристу. Обратиться за получением кода напрямую в министерство иностранных дел не получится, выдачей РК занимаются специализированные туристические компании. Например, это удобно сделать на сайте www.goiran.ru. Потребуется заполнить анкету, где нужно указать личные данные и ответить на ряд вопросов, а затем оплатить сбор в размере 2000 руб. Оплата производится в режиме онлайн с помощью банковской карты. После этого заявка на выдачу кода отправится на рассмотрение в МИД страны. Процедура занимает до 7 дней. Сам референс-код высылается на электронную почту, указанную при регистрации. Если по каким-то причинам МИД отказывает в выдаче РК, то сумма сбора не возвращается.

Заполнение анкеты

Анкета на получение реферанс-кода аналогична как для визы по прибытию, так и для въездного документа, открываемого в Посольстве.

Если в качестве посредника выбран GoIran, то заполнение онлайн-анкеты происходит на странице www.goiran.ru/visaform.

Потребуется последовательно сделать ряд действий:

  1. Указать личные данные (ФИО, дата рождения, пол, гражданство, семейное положение);
  2. Указать паспортные данные и загрузить скан первой страницы паспорта. Загружаемый документ должен иметь размер до 2 Мб и форматы jpg, jpeg или pdf;
  3. Сообщить сведения об образовании, работе или учебе. А также указать адрес работодателя или места получения образования;
  4. Сообщить информацию о поездке (предполагаемые даты посещения страны и выезда из нее);
  5. Указать цель поездки и примерный план путешествия с перечислением городов, где будет производиться остановка и наименованием отелей. В случае визита к родственника или друзьям, сообщить их полные имена, адреса и телефоны;
  6. Ответить на несколько вопросов о своих предыдущих визитах в Иран и другие страны, о наличии заболеваний и судимости.

Кроме того, необходимо указать свой адрес электронной почты, контрактный телефон и адрес проживания. После внесения всех данных и нажатия кнопки «Отправить» анкета отправится на рассмотрение в МИД Ирана.

Плюсы и минусу наличия РК

Референс-код дает определенные преимущества. Например, виза в аэропорту выдается в ускоренном режиме, так как проверка туриста уже проводилась и пограничнику не нужно делать запросы в МИД. Кроме того, необязательно иметь бронь гостиницы или контактные данные друзей, проживающих в Иране. Но самое главное — наличие кода практически гарантирует беспрепятственный въезд в страну.

Из некоторых недостатков можно отметить дополнительные расходы на оплату самого кода и достаточно длительно его ожидание.

Процедура выдачи визы в аэропорту

При наличии референс-кода на границе потребуется:

  • Предъявить загранпаспорт с «запасом» 6 месяцев и минимум 2 чистыми страницами;
  • Оплатить консульский сбор, размер которого составляет 60 евро;
  • Назвать номер кода.

После проверки документов в паспорт путешественника вклеивается визовая марка.

Если въезд в страну осуществляется без референс-кода, то процедура выдачи визы может затянуться на несколько часов, так как пограничная служба должна передать информацию о туристе в МИД Ирана и получить ответ.

В таком случае, необходимые документы:

  1. Загранпаспорт с «запасом» 6 месяцев и минимум 2 чистыми страницами;
  2. Бронь гостиницы либо контактные данные друзей или родственников, проживающих в стране;
  3. Визовая анкета;
  4. Одна цветная фотография;
  5. Обратный билет или билет в третью страну.

В ряде случае пограничники могут поинтересоваться наличием денежных средств для совершения поездки и медицинской страховкой.

Полученные от туриста данные тщательно проверяются, и в случае одобрения выдается виза. Однако этот вариант несколько рискован: сохраняется вероятность отказа в выдаче визы, а значит путешественника отправят обратно домой.

Стоимость и срок действия визы по прибытию

Сбор за выдачу визы составляет 60 евро и оплачивается при проверке документов на границе. Виза для россиян выдается на 30 дней, по истечению которых путешественник может обратиться в Миграционную службу по месту проживания и продлить этот срок еще на 15 дней. До недавнего времени визы по прибытию выдавались только на 15 дней без возможности продления — это результат введения упрощенного визового режима со стороны Ирана.

Виза в Посольстве

Как и в случае визы по прибытию, оформление въездного документа в Посольстве возможно и при наличии референс-кода, и при его отсутствии. В первом варианте есть возможность получить визу практически в день обращения: буквально в течение нескольких часов. И что еще немаловажно, повышенное внимание со стороны консульских работников к иностранцу в данном случае сведено к минимуму. Как уже отмечалось, наличие референс-кода у путешественника — это прямое указание на беспрепятственную выдачу визы.

Референс-код для получения визы в посольстве можно также оформить в режиме онлайн на goiran.ru или на сайте любой другой туркомпании, аккредитованной МИДом Ирана.

Туристическая виза

Туристическую визу открывают в Посольстве Ирана в Москве, Генконсульствах в Казани или Астрахани. Для этого понадобятся документы:

  1. Загранпаспорт с «запасом» в 6 месяцев и 2 пустыми страницами.
  2. Две цветные фотографии размером 3х4 см. Женщинам не обязательно закрывать волосы платком для снимка.
  3. Визовая анкета в двух экземплярах на русском языке.
  4. Маршрут путешествия на русском или иранском языках с указанием отелей, предоставлять бронь не нужно.
  5. Подтверждение оплаты сбора.
  6. Медицинская страховка, действующая все время путешествия. Обычно консульские сотрудники практически не интересуются наличием полиса, но страховка поможет избежать существенных расходов в случае травмы или болезни.
  7. Бронь отеля или туристический ваучер, или приглашение от туристической компании (как подтверждение целей путешествия).

Транзит

Транзитная виза понадобится, если маршрут путешествия в третью страну проходит через Иран. Список документов аналогичен как и для туристической визы (единственное — не требуется маршрут путешествия и бронь гостиницы). Но его нужно дополнить билетом и визой (при необходимости) в страну следования.

Гостевая виза

Для посещения родственников или друзей дополнительно к основному списку документов готовится приглашение. Этот документ оформляется достаточно просто: путешественник отправляет отсканированную копию своего заграничного паспорта принимающей стороне, которая готовит соответствующее заявление и передает бумаги в МИД Ирана. После одобрения выдается приглашение. Его направляют в консульство страны, где проживает путешественник. В свою очередь иностранец самостоятельно оформляет референс-код, собирает пакет документов и передает их в консульство для открытия визы.

Путешествие с детьми

Ребенок старше 14 лет обязан иметь собственный загранпаспорт, на несовершеннолетнего такой возрасной категории оформляется отдельная виза и референс-код. Детей младшего возраста разрешается вписать в паспорта родителей. Эта категория несовершеннолетних путешествует без визы. Но обязательно одно условие: в паспортах родителей должно быть вклеено фото ребенка. Несовершеннолетние любого возраста могут въезжать в Иран только в сопровождении, самостоятельные поездки исключены.

Процедура выдачи виз

Подготовленная документация передается в консульский отдел лично заявителем. В некоторых случаях путешественнику могут пойти навстречу и разрешить подачу бумаг через представителя. В Москве прием ведется в будние дни с 09.00 до 13.00 часов. Обращаться желательно за 2-3 недели до планируемой поездки, чтобы исключить неприятные сюрпризы.

При получении обычной визы личное собеседование не проводится. Но для открытия срочной оно вполне возможно. Вопросы стандартные: о работе, о целях поездки, месте проживания в стране. У одиноких женщин могут поинтересоваться координатами мужчин, проживающих в Иране.

Сроки оформления визы

При наличии референс-кода оформление визы занимает не больше 2 дней. Возможно открытие визы в экстренном порядке. Но консульский отдел потребует обосновать необходимость в срочной поездке. Например, предоставить путевку или авиабилет. Для срочной визы стоимость сбора увеличивается в 1,5 раза. На открытие въездного документа без референс-кода уйдет от 7 до 10 дней. Иногда этот срок увеличивается до 30 дней.

Срок действия и стоимость визы

Туристическая и гостевая визы открываются на 30 дней. В дальнейшем есть возможность продлить этот срок еще на 15-30 дней. Срок действия виз составляет 60 дней: за это время заявитель должен успеть въехать в страну. Транзитная виза дает право на 48-часовую остановку в стране.

Стоимость консульского сбора за оформление туристической и гостевой визы составляет около 40 евро. За детей, вписанных в паспорта родителей, берется половина стоимости «взрослого» сбора.

Особенности въезда в Иран

Женщинам, путешествующим без сопровождения мужчин, необходимо заранее позаботиться о получении визы в Посольстве. Или, если речь идет о визе по прилету, иметь референс-код. Однозначно будет отказано во въезде в страну женщинам без платка, в коротких шортах или юбке, майках с коротким рукавом или глубоким декольте. В стране всем, включая и иностранных граждан, положено соблюдать хиджаб — носить исламскую форму одежды. Женщины должны надевать длинные юбки и кофты, закрывающие руки.

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

Без оплаты пошлины разрешается ввоз 200 сигарет, парфюмерной продукции для личного пользования и подарков. Установлен категорический запрет на ввоз любых алкогольных напитков, наркотиков и порнографических материалов.

В стране введен сухой закон, запрещающий открытое употребление спиртных напитков. На нарушителей налагается серьезный штраф.

Перспективы

Вполне возможно, что в ближайшее время Исламская Республика Иран изменит визовую политику в отношении россиян. Отмена виз в Иран станет следующим шагом после введения упрощенного режима въезда для граждан РФ, начавшего действовать с января 2020 года. Именно с этого времени облегчена процедура выдачи визы и увеличен срок ее действия. Теперь получить въездной документ с целью туризма можно на 30 дней, а в дальнейшем продлить этот срок на аналогичный период.

Илон Маск рекомендует:  Переносы строк
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL