Русский
Русский
English
Статистика
Реклама

Телеграмм

Из песочницы Как я сделал бота, который контролирует моих сотрудников, следит за моими тренировками, весом и чтением книг

13.10.2020 00:06:12 | Автор: admin
Привет, меня зовут Антон Ланцов, мне 26 лет. Я рыжий и у меня всегда миллион идей, некоторые из них я реализую успешно, некоторые нет.

Контроль сотрудников


В 2014 году я купил франшизу Клаустрофобии (квесты в реальности). Это был мой первый серьезный бизнес, где требовалось контролировать сотрудников. Ребят, которые вели квесты, мы называли Операторы квеста.

Ежедневно нам приходилось контролировать операторов и собирать следующую информацию:

  1. Время прихода на локацию (клиенты могли прийти в любой момент, а чек был от 2500 рублей, любая потеря критична и досадна).
  2. Время пересменки (чтобы локация не оставалась без оператора).
  3. Время ухода с работы.
  4. Поломки и неисправности квестов (требовалось узнавать это оперативно, чтобы вызвать инженера, а то полетят плохие отзывы, что квест не работает).
  5. Уборка.
  6. Количество игр в день.
  7. Выручка за день.

В то время мы прекрасно обходились общим чатиком во ВКонтакте и Google Sheets:

  1. Время прихода на локацию. Пришел пришли фоточку в чатик.
  2. Время пересменки пришли фоточку в чатик обоих операторов.
  3. Время ухода с работы пришли фоточку в чатик перед уходом.
  4. Поломки и неисправности квестов. Все в Google-таблицу с описанием и фото.
  5. Уборка фоточка в чатик
  6. Количество игр в день Google-таблица отлично справлялась и с этим.
  7. Выручка за день Google-таблица и для этого.

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

Система очень сильно зависела от памяти человека и легко любой косяк оправдывался Ой, я забыл(а)...

Об автоматизации мы только мечтали, ведь API у Google Таблиц и боты во ВКонтакте появились намного позже, чем 2014 год. А потом все никак не доходили руки. Вроде все работает и пусть себе работает.

В феврале 2019 года я продал квесты.

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

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

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

К счастью, у нас появились Telegram и Google Таблицы с открытыми API.

По потребностям я сделал бота Пушиста бота для контроля сотрудников и самого себя (назвал его так, потому что он пушает всех от слова push толкать).

Теперь я контролирую операторов в электрокартинге вот так:

image

image

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

image

Ребята отвечают, что за день сделали и как у них дела. Еще бот хвалит и напоминает о каких-то задачах. Работает все как часы, никто ничего не забывает и никому ничего не требуется напоминать вручную.

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

image

Одна из важнейших фишек, что бота можно добавить в общий чат и он будет всегда автоматом писать туда, когда вы его настроите.

Также на каждый вариант ответа можно настроить реакцию бота.

Пример 1:

Бот: Сколько сегодня выручка?
Сотрудник: 12 тысяч рублей.
Бот: Отлично, вы сегодня молодцы. Приятного отдыха!

Пример 2:

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

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

image

Все ответы записываются в ту Google-таблицу, которую вы привяжете к боту.

image

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

image

Контроль моих тренировок и чтения книг


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

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

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

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

image

Такой себе я спортсмен, конечно. Но попытка была стоящая. Надо все-таки начать снова. Вот статистика по отжиманиям:

image

С чтением так же. Настроил запрос Сколько страниц ты сегодня прочел?. Читал, но недостаточно, чтобы гордиться этим.

image

Для кого этот бот


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

Предпринимателю. Контроль сотрудников и бизнеса по конкретным метрикам.

Личному тренеру. Задайте сами себе метрики, которые будут вам помогать совершенствоваться каждый день (Сколько страниц прочел сегодня? Сколько отжался? Поел? Кому сегодня благодарен?).

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

Бизнес-тренеру, трекеру. Достижение результата за счет каждодневного трекинга.

Спортсмену. Трекинг результатов.

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

А вот статистика пользователей бота, растет и хорошо.

image
Перечитал статью перед публикацией и понял, что я еще тот начальник-тиран.

Но это совсем не так.

Цифры все ради них!
Подробнее..

Телеграмм-бот для анализа опционов

07.06.2021 10:04:02 | Автор: admin

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

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

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

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

Запоминание состояния бота между вебхуками

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

$id_init = file_get_contents('php://input');$id=sbs($id_init, '"from":{"id":',',"is_bot":'); //в эту переменную записываем уникальный номер пользователяfunction sbs ($str,$m1,$m2){ //из строки str возвращает подстроку между двумя метками-словами m1 и m2$p1=strpos($str,$m1)+strlen($m1); //длина слова-метки слева$p2=strpos($str,$m2);return substr($str,$p1,$p2-$p1);}

Для каждого пользователя строится следующая структура данных:

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

  2. файл данных по составу портфеля ( идентификационный номер ценной бумаги, тип, количество, цена, дата экспирации)

  3. файлы для построения графика

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

Построение графика для анализа портфеля

График строится по состоянию на момент экспирации опционов, что дает возможность упрощенно представить график каждого инструмента в виде y=kx+b,

где y это размер прибыли/убытка на момент экспирации

х стоимость базового актива

После записи данных в портфель создаются файлы с расширением png с помощью библиотеки GD в несколько этапов:

1) определение Х-координат всех точек перелома на графике (очевидно, что сумма всех линий даст ломанную кривую)

2) определение масштаба изображения (средняя всех координат точек перелома по оси Х, максимальное отклонение от среднего, и максимальный размер по оси Y)

3) создание ассоциативного массива точек, в котором координата X это ключ, координата Y величина, для всей цифровой полуплоскости:

$typ опцион колл, пут или фьючерс

$q количество ( отрицательное продажа)

$cena цена приобретения ценной бумаги

$strike страйк для опционов

$x0 начальная координата по оси Х

$sx масштаб по оси Х

function pparr($typ, $q, $cena, $strike,$x0,$sx){ //функция выдает одномерный массив - координаты x=>y точек по //типу цб, направлению (покупка продажа), цене приобретения и страйку (для опционов)  if ($q<0) { $q=-$q; $drct='-'; }  else $drct='+'; $a=array(); $b=array(); $delta=$sx; //расстояние между точками равно масштабу $scalx for ($i=0;$i<740;$i++){ //кол во точек 740 определено заранее $xkk=$x0+$delta*$i; //значение по оси X if ($typ=='fut') { if ($drct=='+') $a[$xkk]=($xkk-$cena)*$q; else $a[$xkk]=(-$xkk+$cena)*$q; } if ($typ=='call'){ if ($drct=='+') { if ($xkk<=$strike) $a[$xkk]=-$cena*$q; else $a[$xkk]=$q*($xkk-$strike-$cena);} else { if ($xkk<=$strike) $a[$xkk]=$q*$cena; else $a[$xkk]=(-$xkk+$strike+$cena)*$q;}  } if ($typ=='put'){ if ($drct=='+') { if ($xkk<=$strike) $a[$xkk]=(-$xkk+$strike-$cena)*$q; else $a[$xkk]=-$q*$cena;} else { if ($xkk<=$strike) $a[$xkk]=($xkk-$strike+$cena)*$q; else $a[$xkk]=$cena*$q;}  } $b[(string)$xkk]=(string)$a[$xkk]; }return $b; };

4) создание файлов изображений, при этом одновременно строится график для каждой строки из портфеля ( зеленый цвет) и результирующий для портфеля ( красный цвет). Кроме того, know-how заключается в том, что одновременно строится еще четыре изображения для увеличения/уменьшения изображения по оси Х и по оси Y. За счет этого достигается эффект работы он-лайн с клавишами X+,X-,Y+,Y- под графиком. Таким образом, для каждого пользователя в каждый момент времени существует пять файлов изображения.

Анализ рисков опционного портфеля

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

В телеграмм-боте встроен блок расчета гарантийного обеспечения, в котором реализован следующий подход.

Гарантийное обеспечение для фьючерсов считается по формуле, которая предложена самой Московской биржей:

ГО=БГО+(Цена-Расчетная_Цена)*БП;

где Расчетная_Цена определяется по результатам клиринга и практически равна цене базового актива на момент клиринга, определяется в пунктах

БП стоимость пункта в рублях, зависит, в частности, от курса доллара,

БГО базовое гарантийное обеспечение, определяется биржей, может произвольно увеличиваться, например, перед праздниками

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

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

Вот как выглядит покупка колла в нашем боте:

Запись в портфеле покупки опциона "колл" страйк 75000 дата экспирации 03.06.2021 по цене 25 Запись в портфеле покупки опциона "колл" страйк 75000 дата экспирации 03.06.2021 по цене 25 График зависимости прибыли/убытка по купленному опциону "колл" в зависимости от стоимости базового актива на дату экспирации График зависимости прибыли/убытка по купленному опциону "колл" в зависимости от стоимости базового актива на дату экспирации

Гарантийное обеспечение=23.

Что нам показывает график: если стоимость базового актива ( в данном случае стоимость фьючерса на курс рубля к доллару) [вечером] 03.06.2021 будет 75000 и ниже, то наш убыток составит 23 . При повышении этой стоимости до 75023 мы выйдем в безубыток, при дальнейшем росте получим прибыль.

Что мы имеем с точки зрения риска: не при каких обстоятельствах наш убыток не превысит сумму 23. Следовательно, наш опцион совершенно не похож на фьючерс, и в расчете ГО мы можем записать просто сумму 23.

Покупка пута примерно та же картина.

Продажа пута.

Запись в портфеле продажи опциона "пут" страйк 72750 по цене 44 с датой экспирации 03.06.2021Запись в портфеле продажи опциона "пут" страйк 72750 по цене 44 с датой экспирации 03.06.2021График зависимости прибыли/убытка по проданному опциону "пут" от стоимости базового актива на дату экспирацииГрафик зависимости прибыли/убытка по проданному опциону "пут" от стоимости базового актива на дату экспирации

Гарантийное обеспечение= 5436.

Можно убедиться, что при стоимости базового актива выше 72750 мы имеем прибыль 44. При снижении стоимости БА до 72706 мы выходим в ноль. При дальнейшем падении стоимости БА наш убыток НИЧЕМ НЕ ОГРАНИЧИВАЕТСЯ.

С точки зрения рисков это фьючерс, купленный по цене 72706. Подставляем это число в формулу ГО для фьючерса и получаем ГО для опциона! Этот ГО достаточно велик (5436), но может превратится в прибыль в течение нескольких дней.

Стоит ли овчинка выделки? Если при условных затратах сегодня 5436 мы получим через несколько дней 44? Мне кажется, риск очень велик. С другой стороны, курс рубля к доллару был таким примерно 3 месяца назад.

С продажей колла будет аналогичная ситуация.

А если одновременно продать пут и кол?

Запись в портфеле продажи опциона "пут" страйк 72750 и продажи опциона "колл" страйк 75000Запись в портфеле продажи опциона "пут" страйк 72750 и продажи опциона "колл" страйк 75000График зависимости прибыли/убытка по портфелю от стоимости базового актива на дату экспирации График зависимости прибыли/убытка по портфелю от стоимости базового актива на дату экспирации

Гарантийное обеспечение не изменилось!

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

с наибольшим ГО , оно и будет мерилом риска.

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

Интерфейс телеграмм-бота

На экране отображаются следующие группы данных:

  • подробная инструкция по работе с ботом

  • текущие котировки ближайших фьючерсов по трем базовым активам

  • таблица Портфель, отображающая состав портфеля, сделанная с помощью интерфейса телеграмм ( можно редактировать)

  • значение гарантийного обеспечения

  • таблица, дублирующая состав портфеля, построенная как изображение формата png, которую можно копировать и сохранять

  • нижняя клавиатура, которую можно скрывать, с кнопками: Добавить позицию в портфель, Анализ портфеля с помощью графика, Обновить котировки

Таблица Портфель создана с помощью InlineKeyboard.

При нажатии на клавиши в этой таблице происходят следующие действия:

  • клавиша в столбце К-во редактирует количество ценных бумаг, соответствующее строке, в которой нажата клавиша

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

  • клавишей Х можно удалить строку.

Прочие клавиши в таблице заблокированы и служат только для передачи информации.

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

Заключение

В телеграмм-боте реализовано запоминание портфеля ценных бумаг для каждого пользователя. Под ценными бумагами понимаются опционы и фьючерсы, базовым активом для которых являются: курс рубля к доллару (Si), стоимость нефти брент (BR), а также индекс РТС (RI). Это самые высоколиквидные деривативы на московской бирже.

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

С помощью телеграмм-бота можно анализировать опционный портфель на графике прибылей/убытков (P/L график).

Протестировать телеграмм-бота можно по ссылке t.me/@test09062020bot. Или попробовать найти в телеграмме по названию опционный портфель.

Подробнее..

Безопасен ли Телеграмм, так ли это? Как доказать безопасность мессенджера

30.01.2021 18:12:04 | Автор: admin

На фоне борьбы мессанджеров, особенно когда What's Up так сильно скомпрометировал себя, очередной раз встал вопрос о безопасности общения и приватных данных. И конечно что же всех интересуют доказательство того, что нашу переписку никто не читает и невозможно ее читать.

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

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

Так же Павел совершенно верно прокомментировал вопрос о закрытых исходников для серверного приложения. :

Exactly, Im also puzzled by folks who even mention server-side code in this context. Publishing the server code doesnt guarantee privacy, because - unlike with the client-side code - theres no way to verify that the same code is run on the servers.

Перевод:

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

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

Далее же Павел пишет

And you dont even need the server-side code to check the integrity of Secret Chats - they are solid regardless of how the servers function (thats the whole point). In other words, publishing server-side code wont help verify Secret or Cloud Chats, and would constitute a marketing gimmick that has nothing to do with security.

Перевод:

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

И вот тут уже с этим нельзя соглашаться. Поскольку протокол Диффи-Хелманна, тот самый которым пользуется телеграмм для обмена секретным ключом подвержена атаки Человек Посередине(Man In The Middle). Изначальна известно что протокол Диффи-Хелмана можно использоваться для обмена общим секретом по незащищенному каналу связи между двумя участниками, при этом все сообщения могут читаться третьей стороной, но ни в коем случае не изменяться.

Атака по Человек по СерединеАтака по Человек по Середине

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

Это значит при открытии секретного чата в приложении Телеграмм между двумя участниками происходит обмен ключами(так называемый handshake). При этом ключи идут по каналу телеграмма, т.е. через сервера телеграмма. И в этом случае та самая Мелори - является сервером телеграмма, который может ключи подменить, при этом оба участника не будут знать об этом.

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

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

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

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

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

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

  • Исходники клиентского приложения

  • Реализацию обмена ключами сторонники каналами.

При этом открывать серверный код ей не к чему абсолютно.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru