Здравствуйте! Подскажите, по какому адресу обращаться в техподдержку с вопросами по поводу интеграции с API для отправки электронных заказных писем? На сайте указан вот такой email для связи — ezp.support-r00@russianpost.ru, но на письма они что-то не отвечают.
Если я разрабатываю ПО по контракту для клиента, который собирается отсылать заказные письма, какой порядок моего подключения к сервису через API?
Как выполнять интеграционное тестирование, есть ли тестовый стенд? Чтобы мне посылать не реальные письма, а тестовые.
Как организовать доступ к сервису моим разработчикам, чтобы не просить у клиента реальный УКЭП с ключами?
Как оплачиваются письма, отсылаемые через API?
Есть ли доступ к этому API у ИП? На сайте противоречивые сведения. Где-то сказано, что только для юрлиц, а где-то упоминаются и ИП.
Через какое время становится доступным подтверждение об отправке письма? Можно ли отправить заказное письмо и сразу скачать PDF с подтверждением для суда, что почта приняла это письмо?
Снято ли ограничение на 5 страниц? Здесь в обсуждениях упоминается, что летом 2020 года запускался пилотный проект по доставке бумажных писем до 30 страниц, а еще раньше запускали электронную доставку таких писем.
Правильно ли я понял, что при использовании react-ioc компоненты-классы всегда требуют InjectorContext, и собственный static contextType в компоненте уже использовать не получится?
Еще не очень понятен момент регистрации пар [<Интерфейс>, <Реализация>]. Что такое в данном случае интерфейс? TypeScript-интерфейсы ведь не существуют в рантайме, это артефакт времени компиляции. Или тут интерфейс это просто какой-то произвольный объект-маркер?
Имхо, если бессмертие в принципе возможно, оно неизбежно будет достигнуто, это вопрос времени. Другое дело, что человек как таковой, по всей видимости, уступит место искусственным формам жизни, для которых вопрос бессмертия будет уже неактуален.
Вот второй пример: я написал художественную книжку «про омоложение». Ее никто не читает. Все читают любовные романы, постапокалипсис и ЛитРПГ.
Попробовал объяснить сабж своему сыну-первокласснику. Чтобы не объяснять заодно, что такое двоичная система счисления (я, помнится, в его возрасте это не осилил), биты и кубиты, я рассказывал на примере десятичных цифр.
Обычный компьютер — это такая электронная коробка, которая работает с обычными цифрами: 1, 2, 3, ..., 8, 9. Когда мы даем компьютеру решить задачу (например, 2 + 3), мы кидаем в эту коробку наши цифры: 2 и 3, а потом открываем и смотрим, какой в коробке получился результат: 5.
Квантовый компьютер работает с квантовыми цифрами. Это такие хитрые цифры, которые могут быть сразу всеми обычными цифрами одновременно.
Если ты закрыл рукой квантовую цифру, она может быть немножко двойкой, немножко тройкой, чуть-чуть семеркой или девяткой, и все это одновременно. Но как только ты уберешь руку и посмотришь на нее, ты увидишь, что квантовая цифра превратилась в обычную, например, 4.
Вот мы кидаем в коробку квантового компьютера наши хитрые квантовые цифры, и просим решить задачу. Квантовый компьютер что-то делает с этими цифрами, а после этого мы открываем коробку и смотрим, что получилось.
Получается всегда какой-то результат, записанный обычными цифрами (поскольку квантовые цифры, как только на них посмотришь, сразу становятся обычными).
Чем же лучше квантовый компьютер и квантовые цифры? Тем, что он умеет решать этими цифрами совсем другие, сложные задачи, которые обычный компьютер будет решать очень долго. Потому что обычный компьютер каждое число будет складывать или умножать по очереди, а квантовый — все сразу одновременно.
Чем больше цифер в квантовом компьютере, тем более сложные задачи он может решать. Но чем больше нужно чисел, тем сложнее сделать такой квантовый компьютер. Поэтому настоящие квантовые компьютеры люди пока делать не научились.
По адресу https://www.reactos.org/user/register выдается сообщение: «You are not authorized to access this page». На самом сайте ссылки на регистрацию не нашел нигде. Как зарегистрироваться?
CSharpCodeProvider вызывает внешний компилятор csc.exe, чтобы скомпилировать файл.
А у нас тут вроде обсуждается генерация кода на лету без использования компилятора.
Все-таки гораздо удобнее использовать высокоуровневые обертки вместо генерации IL.
Чтобы сразу запустить код хватает Expression.Compile(), а чтобы сохранить на диск — что-то типа RunSharp:
AssemblyGen ag = new AssemblyGen("hello.exe");
TypeGen Test = ag.Public.Class("Test");
{
CodeGen g = Test.Public.Static.Method(typeof(void), "Main", typeof(string[]));
{
Operand args = g.Param(0, "args");
g.Invoke(typeof(Console), "WriteLine", "Hello " + args[0] + "!");
}
}
ag.Save();
Более сложный пример с генерацией метода с локальными переменными, с циклом и пр.
// Demonstrate the FileByteArray class.
// Reverses the bytes in a file.
TypeGen Reverse = ag.Public.Class("Reverse");
{
CodeGen g = Reverse.Public.Static.Void("Main").Parameter<string[]>("args");
{
Operand args = g.Arg("args");
// Check for arguments.
g.If(args.ArrayLength() != 1);
{
g.WriteLine("Usage : Indexer <filename>");
g.Return();
}
g.End();
// Check for file existence
g.If(!Static.Invoke(typeof(File), "Exists", args[0]));
{
g.WriteLine("File " + args[0] + " not found.");
g.Return();
}
g.End();
Operand file = g.Local(Exp.New(FileByteArray, args[0]));
Operand len = g.Local(file.Property("Length"));
// Swap bytes in the file to reverse it.
Operand i = g.Local<long>();
g.For(i.Assign(0), i < len / 2, i.Increment());
{
Operand t = g.Local();
// Note that indexing the "file" variable invokes the
// indexer on the FileByteStream class, which reads
// and writes the bytes in the file.
g.Assign(t, file[i]);
g.Assign(file[i], file[len - i - 1]);
g.Assign(file[len - i - 1], t);
}
g.End();
g.Invoke(file, "Close");
}
}
Забавная программка. Повторение одних и тех же фраз собеседником замечает и возмущается: «опять 25, ходим по кругу» — молодец. А в остальном, увы, подкачала. Контекст разговора не отслеживает, каждую фразу, похоже, пытается понять с нуля, поэтому научиться ничему не может.
→ здраствуйте! меня Соня зовут.
← Привет, Соня, я — твоя бабушка.
→ можно вас спросить кое-что?
← Обращайся ко мне на ты, внучка.
→ бабушка говорит. что незнакомым нужно говорить вы… буду считать, что мы познакомились :)))
← Как это познакомились, я же и есть твоя бабушка!
→ ну это так это :)))
Попробовал устроить беседу бота с таким же ботом в соседнем окне браузера, разговор мгновенно деградировал до шаблонных фраз, потом бот завис и, видимо, по таймауту, вместо ответа написал свое обычное ауканье «приём-приём. есть тут кто?».
Превосходная серия статей, читаю с большим удовольствием!
Некоторая сумбурность изложения и перескакивание с темы на тему статьям абсолютно не вредит.
Плюсануть не могу, просто скажу спасибо автору.
Здравствуйте! Подскажите, по какому адресу обращаться в техподдержку с вопросами по поводу интеграции с API для отправки электронных заказных писем? На сайте указан вот такой email для связи — ezp.support-r00@russianpost.ru, но на письма они что-то не отвечают.
Если я разрабатываю ПО по контракту для клиента, который собирается отсылать заказные письма, какой порядок моего подключения к сервису через API?
Как выполнять интеграционное тестирование, есть ли тестовый стенд? Чтобы мне посылать не реальные письма, а тестовые.
Как организовать доступ к сервису моим разработчикам, чтобы не просить у клиента реальный УКЭП с ключами?
Как оплачиваются письма, отсылаемые через API?
Есть ли доступ к этому API у ИП? На сайте противоречивые сведения. Где-то сказано, что только для юрлиц, а где-то упоминаются и ИП.
Через какое время становится доступным подтверждение об отправке письма? Можно ли отправить заказное письмо и сразу скачать PDF с подтверждением для суда, что почта приняла это письмо?
Снято ли ограничение на 5 страниц? Здесь в обсуждениях упоминается, что летом 2020 года запускался пилотный проект по доставке бумажных писем до 30 страниц, а еще раньше запускали электронную доставку таких писем.
@itsoft, заметил, что если в Вашем QR-коде поменять порядок следования полей, то он будет нормально работать и в приложении Сбера. Порядок вот такой:
ST00012|Name={Name}|PersonalAcc={PersonalAcc}|BankName={BankName}|BIC={BIC}|CorrespAcc={CorrespAcc}|KPP={KPP}|PayeeINN={PayeeINN}|Purpose={Purpose}|Sum={Sum}|Contract={Contract}
Я не стал в примерах ничего менять на свой вкус, это же перевод.
Имхо, автор ставит целью показать, что слон во многих проектах вообще не нужен.
Не могу не согласиться. Впрочем, автору плюс, что он этот примерчик сразу честно приводит.
Еще не очень понятен момент регистрации пар [<Интерфейс>, <Реализация>]. Что такое в данном случае интерфейс? TypeScript-интерфейсы ведь не существуют в рантайме, это артефакт времени компиляции. Или тут интерфейс это просто какой-то произвольный объект-маркер?
Спасибо, что нашли время написать статью :)
А не читали Transcend Рэя Курцвейла?
Обычно оно везде упоминается примерно так:
А у нас тут вроде обсуждается генерация кода на лету без использования компилятора.
Очень существенное преимущество перед аналогами.
Чтобы сразу запустить код хватает Expression.Compile(), а чтобы сохранить на диск — что-то типа RunSharp:
Попробовал устроить беседу бота с таким же ботом в соседнем окне браузера, разговор мгновенно деградировал до шаблонных фраз, потом бот завис и, видимо, по таймауту, вместо ответа написал свое обычное ауканье «приём-приём. есть тут кто?».
Некоторая сумбурность изложения и перескакивание с темы на тему статьям абсолютно не вредит.
Плюсануть не могу, просто скажу спасибо автору.