Browsing Category

Tech

Главные новости 20 июля: Обострение в зоне АТО и массовое отравление в Бердянске

Редакция НВ собрала самые важные новости за четверг, 20 июля. Обострение в АТО На Мариупольском направлении пророссийские незаконные вооруженные формирования пошли в наступление, в результате завязался бой - трое наших военных погибли, семеро получили ранения, а один боец попал в плен боевиков. Еще одного бойца сил АТО застрелил вражеский снайпер возле Новгородского. Всего в течение дня оккупанты 20 раз открывали огонь по позициям Вооруженных сил Украины, в том числе из запрещенного вооружения. Читать дальше → Взрыв на полигоне На общевойсковом полигоне вблизи поселка Черкасское Днепропетровской области во время соревнований танковых экипажей произошел взрыв. В результате восемь военнослужащих получили телесные повреждения различной степени тяжести. По предварительным данным, сработал взрыватель в результате намотки детонирующего шнура от переносной установки разминирования на каток танка. Читать дальше → Штраф ExxonMobil Департамент по контролю за иностранными активами Министерства финансов США оштрафовал американскую нефтяную корпорацию ExxonMobil на $2 млн за сделки с Роснефтью в обход антироссийских санкций. В департаменте назвали нарушения "вопиющим случаем". Читать дальше → Смена курса Германии На фоне ареста турецкими властями немецкого правозащитника Петера Штойдтнера Германия объявила о смене политического курса в отношении Турции. В частности, как заявил глава МИД Германии Зигмар Габриэль, Берлин пересмотрит свою экономическую политику в отношении Анкары, а также откажется от расширения таможенного союза. Читать дальше → Убийство россиянина в Киеве В Киеве возле торгового центра Проспект неизвестные из автоматического оружия расстреляли гражданина РФ, бросили оружие и скрылись в неизвестном направлении. Погибший - мужчина 1964 года рождения, уроженец России. По данным полиции, он сбежал в Украину, скрываясь от уголовного преследования за убийство. Читать дальше → Возле ТЦ Киева из автомата расстреляли мужчину Первое подозрение за сокрытие данных в е-декларациях Детективы Национального антикоррупционного бюро впервые сообщили о подозрении за сокрытие данных в электронной декларации. Подозреваемый - судья в отставке из Луганской области, который не внес в е-декларацию имущество на общую сумму более 10 млн грн. Читать дальше → Киевское метро отказывается от жетонов Станция метро Кловская станет первой станцией Киевского метрополитена, которая откажется от жетонов. Полная автоматизация станции стартует с августа. Пассажиры смогут воспользоваться разовой поездкой по QR-коду, пополнить проездную карточку на любое количество поездок, купить проездной с помощью банковской карты. Читать дальше → Возобновление транзита российского газа через Украину Украина восстановила транзит газа из России после завершения плановых ремонтов на газопроводах. На данный момент объемы транзита через украинскую газотранспортную систему составляют 220-235 млн куб. м. Читать дальше → Годовщина со дня смерти Павла Шеремета В Киеве на пересечении улиц Хмельницкого и Франко, где год назад был убит журналист Павел Шеремет, прошла акция его памяти. Люди приносили на место гибели журналиста цветы и лампадки. В то же время под зданием МВД Украины стерли граффити с надписью "Кто убил Павла Шеремета", убрали свечи, плакаты и наклейки с напоминанием о важности расследования громкого убийства. Читать дальше → Массовое отравление в Бердянске В санатории Лазурный в Бердянске Запорожской области отравились 246 детей участников АТО из Днипра. У них диагностировали кишечную инфекцию. Сейчас дети продолжают находиться в санатории под наблюдением медиков, больным назначили лечение. Читать дальше → Source link

Система электронной очереди в банковском бизнесе / Хабрахабр

Взгляд эксперта по IT-разработкам компании «Технологии Будущего» Москалевой Марины на функциональные возможности системы электронной очереди в банковском бизнесе. О неоспоримой пользе внедрения IT в финансовый сектор и невероятных преобразованиях, которые способны возникнуть в результате модернизации банковского дела после введения технологических новшеств было уже сказано немало, поэтому без лишних слов приступим к делу.Начало начал На первый взгляд, конфигурация системы управления очередью для банковских отделений стандартна. Основные ее аппаратные компоненты:терминал регистрации для выбора посетителем требуемой услуги и получения талона с номером; общее информационное табло отображающее все номера клиентов, вызванных к операторам одной зоны обслуживания; табло на рабочем месте сотрудника, на котором обозначаются номер клиента, вызванного непосредственно к этому сотруднику банка; пульт вызова посетителей чаще всего реализуется в программном виде как приложение, устанавливаемое на компьютер оператора. Также важным моментом для банков, в случае если политика безопасности запрещает устанавливать стороннее программное обеспечение непосредственно на компьютере, пульт оператора может быть установлен на планшете, подключенном к рабочему месту оператора Но под достаточно простой аппаратной конфигурацией скрываются серьезные программные возможности, позволяющие автоматизировать процесс обслуживания.12 функциональных возможностей системы, актуальных для банков Специализация рабочих мест. Суть этой функции заключается в том, что клиент, выбравший необходимую услугу, будет направлен к определенному сотруднику банка, который специализируются именно на этом вопросе. Специализация рабочих мест предполагает возможность использовать принцип приоритетности в распределении клиентского потока. Если рассматривать на деле, то можно привести наипростейший пример. Представим, что основной услугой окна № 1 является оплата коммунальных платежей (высокий приоритет). Соответственно в первую очередь к окну обслуживания №1 будут вызываться клиенты, желающие заплатить за коммунальные услуги. При этом, в случае необходимости, для этого же окна обслуживания можно добавить услугу пополнения счета (присвоив ей низкий приоритет). Тогда при отсутствии клиентов на оплату коммунальных платежей, в окно № 1 будут вызваться клиенты с услугой второго приоритета. Аналогично можно добавлять другие услуги, задавая значение приоритета в числовом выражении.Маршрутизация услуг. Последовательное автоматическое направление клиента в несколько окон, если это необходимо для получения услуги. Например, открытие вклада требует оформления договора у оператора, затем внесения денег в кассу, затем возврата к оператору для получения документов. После регистрации клиента на услугу открытия вклада он будет вызван к оператору окна, занимающемуся оформлением документов. Принцип маршрутизации предполагает, что после выполнения своих функций, сотруднику банка не нужно выбирать, в какое окно направить клиента далее, – он просто нажимает кнопку «По маршруту», и система уже сама вызывает посетителя банка во все окна, соответствующие заданному для этой услуги маршруту.Откладывание обслуживания клиента. Может возникнуть такая ситуация, когда уже вызванному для обслуживания клиенту требуется заполнить какие-либо документы, например, анкету на кредит или форму денежного перевода. В этом случае, оператор имеет возможность отложить обслуживание клиента на 5, 10 минут или любое другое время, и в образовавшемся промежутке обслужить следующего по очереди человека. По истечении времени, на которое был отложен вызов первого посетителя, система вызовет его к тому же оператору автоматически.Выбор нескольких услуг. Если клиенту необходимо за один визит в отделение осуществить несколько банковских операций, существует возможность выбора всех требуемых услуг сразу и регистрации на них по одному номеру талона. В этом случае, клиент будет вызван на услугу, оператор которой освободится в первую очередь, а затем, по мере возможности, на все остальные. Здесь нужно отметить два момента. Первое, пока оказывается одна услуга, система блокирует данный номер клиента для вызова по другим вопросам, то есть клиент не может быть вызван одновременно в два окна. Второе, посетитель, вызванный на одну банковскую операцию, не теряет свою очередь по другим услугам, система встроит его номер в очередь именно на то порядковое место, которое было у него в момент регистрации.Приоритет клиентов. Определенным категориям VIP-клиентов в системе может быть задан приоритет обслуживания (например, держателям карт Gold и Platinum). Таких посетителей система будет автоматически ставить в начало очереди на выбранную услугу. Идентификация может производиться путем считывания банковской карты, в этом случае терминал регистрации должен быть оснащен карт-ридером. Помимо этого, идентификация карты может быть осуществлена путем ввода ее номера с помощью виртуальной клавиатуры или с применением биометрических технологий.Предварительная запись. Клиент может записаться на обслуживание заранее с помощью интернет-сайта банка или мобильного приложения и подойти в отделение в удобное для него время. Активация предварительной записи осуществляется на терминале регистрации с помощью ввода уникального кода или сканирования штрих-кода.СМС-оповещение. Если при выборе услуги на терминале прогнозируемое время ожидания обслуживания превысит заданную величину (например, 1 час), клиенту будет предложено ввести номер телефона для дополнительного СМС-информирования формата «Ваш номер … будет вызван через 15 мин. Пожалуйста, подойдите в отделение». Помимо этого, есть возможность считать QR-код с полученного талона и при помощи смартфона отслеживать свою очередь в режиме онлайн. Это позволит клиенту не сидеть долгое время в зоне ожидания.Мультиязычность. Для международных банков, а также для отделений, расположенных в субъектах РФ, которые имеют свой национальный язык, можно использовать мультиязычный интерфейс системы. При регистрации на терминале или при предварительной записи, в первую очередь, клиенту предлагается выбрать язык. Именно на этом языке будут отображаться наименования услуг, текст распечатанного талона, текст СМС-сообщений, а также будет озвучен голосовой вызов на обслуживание.Рекламные возможности. На главном информационном табло кроме отображения вызванных номеров, можно демонстрировать рекламные ролики или же давать объявления в формате бегущей строки. Помимо рекламы на информационном табло, есть возможность показа рекламных баннеров на самом терминале. Например, при выборе основного раздела «Кредиты», клиент попадает в подменю операций, относящихся к данному разделу, в котором будет отображаться информация о специальных предложениях по кредитам. Также рекламную информацию в текстовом виде можно печатать на талоне, здесь она будет зависеть от выбранной клиентом услуги. Сбор статистических данных. Система управления очередью обладает широкими возможностями для сбора и визуализации статистической информации о процессе обслуживания клиентов. Отчеты формируются в формате Excel в табличном и графическом виде. Из них можно получить данные: о количестве обслуженных клиентов по каждой услуге, каждому оператору и в совокупности по всему отделению; среднем времени обслуживания и ожидания; количестве клиентов с показателями времени ожидания, превышающими норму; списки предварительной регистрации и другие показатели Статистические отчеты в автоматическом режиме по заданному расписанию отправляются на электронную почту ответственного лица.Централизация. Для банков, которые имеют разветвленную филиальную сеть, актуально использование модуля централизации, позволяющего управлять настройками системы управления очередью в каждом отделении из центрального офиса. Модуль централизации позволяет осуществлять обмен данными (обновление списка оказываемых услуг, рекламных роликов, текстов бегущих строк, курсов валют, статистической информации об обслуживании, а также программного обеспечения системы управления очередью) в автоматическом режиме по расписанию или вручную. Дополнительный модуль оперативного мониторинга позволяет отслеживать информацию о процессе обслуживания в отделениях в режиме онлайн, включая выделение превышения критических показателей процесса обслуживания и данные с камер видеонаблюдения.Оценка качества. Часто система управления очередью дополняется модулем оценки качества обслуживания. Оценка качества может осуществляться с помощью кнопочного пульта (балльная оценка) или в развернутом виде с помощью заполнения анкеты на планшете. Модуль оценки качества также позволяет получать статистику обслуживания в различных разрезах. Для балльной оценки по временным периодам и операторам, для анкетирования по любому из вопросов анкеты (например, по полу, возрасту или доходу). И это только основные функции системы. На самом деле потенциал реализации возможностей практически безграничен. Имея опыт сотрудничества с заказчиками из различных сфер бизнеса, мы можем с уверенностью сказать, что практически любые поступающие к нам запросы, мы рассматриваем в частном порядке и зачастую придумываем какие-то нестандартные решения, которые позволяют использовать систему по максимуму функционально.Из новенького Программное обеспечение системы управления очередью постоянно совершенствуется и дорабатывается в соответствии с требованиями рынка и запросами клиентов. Некоторые из последних доработок, применимых к банковской сфере:QR код. Удаленный просмотр информационного табло. На распечатанном талоне с номером очереди присутствует сгенерированный QR-код, позволяющий отслеживать состояние очереди с помощью смартфона. Клиент, считывая этот QR-код любым мобильным приложением для его распознавания, получает ссылку, переход по которой отображает страницу с данными о вызванных номерах клиентов. Эти данные аналогичны отображаемым на информационном табло в отделении. Таким образом, становится необязательным присутствие клиента непосредственно в зоне видимости табло.Фиксация валютного курса. Мы создали возможность фиксации курса в момент печати талона. Зафиксированный курс, отображенный на талоне будет отображаться в интерфейсе пульта оператора в привязке к номеру клиента. Данные о курсах валют импортируются из банковской информационной системы в автоматическом режиме. Эта услуга может быть необходима в случае обновления валютного курса в середине рабочего дня, для избегания ситуаций, когда во время регистрации клиента в очереди курс один, а к моменту обслуживания – другой.Режим явки. Для банков важно правильное определение не только времени ожидания, но и времени обслуживания клиентов. Если время ожидания фиксируется достаточно точно (период от момента регистрации до момента вызова на обслуживание), то время обслуживания раньше учитывалось не совсем корректно. До внедрения доработок, этот показатель рассматривался как период с момента вызова клиента до момента подтверждения окончания обслуживания. В отделениях с большим количеством операторов и сложной конфигурацией зоны ожидания посетитель не всегда может сразу сориентироваться где расположено окно, в которое его вызвали. На поиск тратится определенное количество времени, которое не должно учитываться как время обслуживания. Для решения этого вопросы мы создали возможность задать определенное значение средней величины времени, которое требуется клиенту, чтобы дойти до окна. Соответственно это время не включается в общий показатель по времени обслуживания. Рабочее место без оператора. Бывает, что потенциальный клиент приходит в отделение не для осуществления финансовой операции, а для того, чтобы получить профессиональную консультацию. Для оказания такой услуги не требуется полноценное рабочее место оператора, консультацию можно провести в переговорной комнате или просто за отдельным столом в зоне ожидания. Такое рабочее место присутствует в системе управления очередью, которая вызывает туда клиента, а оператором может стать любой свободный консультант. Факт оказания услуги именно этим консультантом фиксируется в системе или администратором зала на ресепшен, либо же руководителем отделения. Данная возможность также востребована, если консультирование проводит специалист, не состоящий в штате данного подразделения банка. Например, клиент через систему предварительной записи регистрируется в удобное ему отделение на консультацию по инвестициям, а в этом отделении финансового советника нет, тогда он приедет специально из центрального офиса и встретится с клиентом в переговорной. Отложенный визит. Если клиент приходит в отделение банка в момент пиковой загрузки и видит большое количество ожидающих, он может при выборе услуги на терминале воспользоваться возможностью предварительной регистрации на текущий день. Например, указать время визита через час или два. В этом случае, он может быть уверен, что раньше, чем через указанное время его номер не будет вызван.Доступная среда. Реализация государственной программы «Доступная среда» не обошла стороной и системы управления очередью. Все чаще в программное и аппаратное обеспечение системы внедряются решения для людей с ограниченными возможностями. Это и отображение интерфейса выбора услуг в контрастных цветографических схемах, режим экранной лупы, голосовое оповещение с встроенной индукционной петлей, дополнительные кнопки на терминале со шрифтом Брайля, голосовое меню, переменная высота терминала и другие возможности.Интеграция со СКУД. Система управления очередью может интегрироваться с системой контроля и управления доступом, если существуют зоны обслуживания, доступ в которые должен быть ограничен, например, депозитные ячейки. Подтверждение разрешения доступа может осуществляться сканированием штрих-кода на талоне с номером клиента (подтверждение вызова), а также дополнительно с помощью биометрических технологий (подтверждение личности).Технологии биометрии. Технологии биометрии используются для идентификации VIP-клиентов в момент регистрации их на терминале очереди для подтверждения приоритета обслуживания. Для этого терминал дополнительно оснащается камерой для распознавания лица или сканером отпечатка пальца. Также подобные технологии применяются в случае интеграции системы управления очередью со СКУД для подтверждения личности при доступе в специальные хранилища. В этом случае могут использоваться не только определение личности по снимку лица или отпечатку пальца, но голосовая идентификация или сканирование радужной оболочки.Здесь нужно отметить, что никакие персональные данные клиента не сохраняются в базе данных системы управления очередью, вся идентификационная информация передается напрямую в банковскую информационную систему, от которой приходит только подтверждение приоритета этого клиента.То есть как мы можем видеть, потенциал для разработок и внедрения новейших технологий масса. Все зависит от конкретных потребностей людей с которыми мы сотрудничаем. А уж использовать стандартный набор функций системы или же поломать голову и создать что-то новое, это уже вопрос стремления развить свой бизнес и желание сделать его максимально эффективным. Source link

Уязвимость в Ethereum-кошельке Parity привела к краже $30 млн

Разработчики Ethereum-кошелька Parity предупредили пользователей своего сервиса о компрометации. Неизвестные злоумышленники воспользовались багом в контракте с мультиподписью, что позволяло им похищать средства из чужих кошельков. В результате действий злоумышленников пострадали все пользователи, имевшие дело с кошельками с мультиподписью, созданными ранее 19 июля 2017 года. В карманах преступников осело 153 000 ETH, то есть порядка 30 000 000 долларов по текущему курсу. Атака произошла 19 июля и была практически сразу замечена разработчиками. Почти сразу группа энтузиастов, называющих себя The White Hat Group, воспользовалась тем же эксплоитом, чтобы спасти деньги пользователей, переведя их на неподверженный багу кошелек. Согласно сообщению на Reddit, The White Hat Group  — это бывшие ИБ-эксперты и члены Ethereum Project. В настоящее время в руках группы находится 377 105 ETH, то есть более 85 000 000 долларов, которые white hat’ы намереваются вернуть законным владельцам. Теперь разработчики Parity пишут, что суммарно насчитывалось 596 уязвимых кошельков, и основной удар злоумышленников пришелся на три из них. Так, о краже 82 000 ETH уже заявили разработчики проекта Aeternity. UPDATE: #aetrnty was affected by the Parity 1.5 (or later) vulnerability. Phase 1 ETH and all BTC are safe. Details: https://t.co/UTcAAJoRGE — æternity blockchain (@aetrnty) July 19, 2017 Согласно новому посту в блоге Parity, возможность эксплуатации бага уже закрыта. Разработчики извиняются за случившееся, обещают запустить собственную bug-bounty программу и не допускать подобных ошибок вновь. Напомню, что это не первое ограбление, связанное с криптовалютным сервисом, за последнее время. Так, ранее на этой неделе стало известно, что криптовалютный стартап CoinDash был взломан и ограблен прямо во время проведение ICO. Также в начале июля 2017 года от взлома пострадала южнокорейская биржа Bithumb, являющаяся четвертой по величине в мире. Source link

Штаб АТО: Боевики пытались прорвать линию обороны на Мариупольском направлении, четыре бойца погибли

На Донбассе с начала четверга, 20 июля, пророссийские незаконные вооруженные формирования 20 раз открывали огонь по позициям Вооруженных сил Украины, в результате четверо бойцов сил АТО погибли, еще семеро ранены, сообщили в пресс-центре штаба АТО. По данным украинских военных, боевики пытались прорвать оборону сил АТО. ВС Украины девять раз открывали огонь, используя, в основном, стрелковое оружие и гранатометы. На Мариупольском направлении зафиксировано больше всего нарушений режима тишины. Ночью оккупанты со стороны Старомихайловки вели огонь по опорным пунктам ВСУ вблизи Красногоровки из артиллерии калибра 122 мм, минометов калибра 120 и 82 мм, гранатометов и крупнокалиберных пулеметов. Под утро террористы выпустили 10 снарядов из переносной реактивной пусковой установки Град-П10 и применили танк.  "В это же время, под огневым прикрытием, около 20 боевиков приблизились к нашим позициям. Завязался бой, в ходе которого бойцы АТО применили гранатометы и стрелковое оружие и умелыми действиями заставили преступников отступить. К сожалению, во время этого боевого столкновения трое наших военных погибли, семеро получили ранения, а один боец попал в плен боевиков", - рассказали в штабе АТО. На Донецком направлении вражеский снайпер застрелил одного украинского военного вблизи Новгородского. Кроме того, НВФ из гранатометов и стрелкового оружия вели огонь по окрестностям Авдеевки, шахте Бутовка, а из минометов различных калибров - по Невельскому и Новгородскому. На Луганском направлении с полуночи под огнем вражеских гранатометов и стрелкового оружия оказались позиции ВСУ в Трехизбенке, Новоалександровке, Новозвановке и Донце. А в 15 часов враг дважды бил из минометов калибра 82 мм по Крымскому. Напомним, что ночью 20 июля пророссийские боевики обстреливали Марьинку и Красногоровку Донецкой области, пострадавших среди мирных жителей нет. Мощные обстрелы из Градов, вооружения танков, минометов и артиллерии начались около полуночи и закончились около 8.00 утра. Боевики обстреляли жилые кварталы Красногоровки Донецкой области Source link

Автоматическое создание миграций Liquibase для PostgreSQL / Хабрахабр

Работа с Liquibase всегда приносит уверенность в том, что объекты БД находятся в том состоянии, в котором ты этого хочешь. Именно эта уверенность и делает системы миграций баз данных столь популярными. Сегодня я хочу вам рассказать, как сделать работу с liquibase немного удобнее. Если вы пишите миграции вручную, а вашей целевой базой данных является PostgreSQL, то прочитайте эту статью, уверен, время потраченное на чтение статьи окупится с лихвой. Я надеюсь, что вы уже знакомы с работой Liquibase, поэтому лишь в двух словах опишу как работает система. Для того, чтобы внести изменения в БД, вам необходимо создать файл миграции (changeset), ссылку на который нужно будет указать в файле журнала изменений (changelog), после чего миграция может быть успешно применена к целевой БД. Неоспоримым и очевидным преимуществом подобного подхода является возможность выполнения отката сделанных изменений. На мой взгляд, у liquibase есть лишь один существенный недостаток — автоматический откат изменений работает лишь только в том случае, если миграция описана в виде файла XML. Этот момент омрачает головы как разработчиков выполняющих изменения в БД, так и администраторов баз данных выполняющих инспекцию изменений. Разметка XML далеко не так хороша для восприятия, в отличие старого и хорошо всем известного SQL. Liquibase, к счастью, позволяет писать миграции и на SQL, только лишь с одним досадным недостатком — автоматический откат теперь не работает и секцию отката нужно писать вручную.Сегодня мы исправим это недоразумение и научимся создавать файлы миграций для liquibase, во-первых на SQL, во-вторых с секцией отката, в-третьих эти файлы будут формироваться автоматически. Не верите? Сейчас я всё подробно расскажу.Создавать миграции мы будем следующим образом — у нас будут две базы данных, одна будет условно для разработки, другая боевая (стейдж, тест — выберите по вкусу). Мы будем вносить изменения в девелоперскую БД используя любимый инструмент, потом сравним базы данных, сформируем миграцию, которую и развернем в целевой базе данных (у нас мы её будем считать боевой).Все команды ниже будут отображены с учетом работы в Linux shell. Для генерации секции файлов миграции нам потребуется pgCodeKeeper, а для формирования секции rollback наличие в системе утилиты sed.Давайте условимся, что у нас есть две базы данных — dbdev и dbprod, в dbdev мы вносим изменения вручную, а в dbprod изменения попадают с помощью Liquibase.Я создам в /tmp каталог migration в котором и буду выполнять всю работу, разумеется вы можете использовать тот каталог, который пожелаете. PostgreSQL у меня уже установлен на локальном компьютере, и именно с ним я и буду проводить работу.Создаём базы данных для работы:$ mkdir /tmp/migration $ cd /tmp/migration/ $ createdb dbdev $ createdb dbprod Загружаем драйвера JDBC для PostgreSQL, дистрибутивы Liquibase и pgCodeKeeper$ wget https://jdbc.postgresql.org/download/postgresql-42.1.3.jar $ wget https://github.com/liquibase/liquibase/releases/download/liquibase-parent-3.4.2/liquibase-3.4.2-bin.tar.gz $ wget http://pgcodekeeper.ru/cli/release/pgCodeKeeper-cli-3.11.4.201707170702.zip Разархивируем liquibase и pgcodekeeper в текущий каталог, вы конечно же распаковать их в выделенные каталоги.$ tar xzvf liquibase-3.4.2-bin.tar.gz $ unzip pgCodeKeeper-cli-3.11.4.201707170702.zip В текущем каталоге создайте файл настроек для liquibase — liquibase.properties со следующим содержимым:driver: org.postgresql.Driver classpath: ./postgresql-42.1.3.jar url: jdbc:postgresql:dbprod username: user password: topsecret changeLogFile: db.changelog.xml Обращаю внимание, что это настройки для Liquibase, т.е. описывайте в нём соединение с БД dbprod, на которую мы будем развертывать наши миграции. Имя пользователя и пароль установите в свои значения, у меня имя пользователя — ags и в дальнейших сообщения вывода команд будет встречаться как раз это имя. В текущем каталоге создаем файл db.changelog.xml со следующим содержимым:<?xml version="1.0" encoding="UTF-8"?> <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd"> </databaseChangeLog> Проверяем, готов ли liquibase к работе:$ ./liquibase status ags@jdbc:postgresql:dbprod is up to date Liquibase 'status' Successful Отлично, половина дела сделано, осталось совсем малость. Проверяем, работает ли pgCodeKeeper.$ ./pgcodekeeper-cli.sh jdbc:postgresql:dbdev jdbc:postgresql:dbprod если команда не выдала никакого сообщения — значит всё хорошо. Обратите внимание, если ваш инстанс постгреса настроен на другом хосте или порту или используется доступ по паролю, то вы должны сформировать соответствующую JDBC URL для вашей базы данных. Как правильно его сформировать читаем здесь.Подготовительный этап завершен, базы созданы, инструменты настроены — можно приступать к основной части.Создадим таблицу в БД dbdev: $ psql dbdev psql (9.6.3, сервер 9.5.7) Введите "help", чтобы получить справку. (ags@:5432) 16:08:43 =# create table users (id serial primary key, name text); CREATE TABLE Время: 20,708 мс (ags@:5432) 16:09:16 * =# commit; COMMIT Время: 6,913 мс Проверяем, может ли pgCodeKeeper найти отличия.$ ./pgcodekeeper-cli.sh jdbc:postgresql:dbdev jdbc:postgresql:dbprod CREATE SEQUENCE users_id_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ALTER SEQUENCE users_id_seq OWNER TO ags; CREATE TABLE users ( id integer DEFAULT nextval('users_id_seq'::regclass) NOT NULL, name text ); ALTER TABLE users OWNER TO ags; ALTER TABLE users ADD CONSTRAINT users_pkey PRIMARY KEY (id); ALTER SEQUENCE users_id_seq OWNED BY users.id; Да, всё работает так как и ожидалось. Подготавливаем скрипт создания миграций migrate.sh#!/bin/bash FILENAME=${1:-changeset.sql} # Заголовок файла миграции echo "--liquibase formatted sql" > $FILENAME echo "--changeset $USER:$FILENAME" >> $FILENAME echo "" >> $FILENAME # Создаем секцию наката ./pgcodekeeper-cli.sh jdbc:postgresql:dbdev jdbc:postgresql:dbprod >> $FILENAME echo "" >> $FILENAME # Создаем секцию отката (базы данных идут в обратном порядке) ./pgcodekeeper-cli.sh jdbc:postgresql:dbprod jdbc:postgresql:dbdev | sed -e 's/^/--rollback /' >> $FILENAME Скрипт принимает один параметр — имя выходного файла, если имя файла не задано, то по умолчанию принимается changeset.sql. Далее формируется заголовок файла SQL, который необходим Liquibase для сохранения информации о выполненных изменениях на целевой БД. Далее идёт формирование собственно файла миграции. Команда:./pgcodekeeper-cli.sh jdbc:postgresql:dbdev jdbc:postgresql:dbprod >> $FILENAME находит различия между базами, формирует файл преобразования структуры объектов БД из dbdev в dbprod и сохраняет в выходном файле.А команда:./pgcodekeeper-cli.sh jdbc:postgresql:dbprod jdbc:postgresql:dbdev | sed -e 's/^/--rollback /' >> $FILENAME ищет различия между этими же базами только в другом направлении, целевой БД теперь становится девелоперская, для того, чтобы можно было выполнить автоматический откат изменений. Секция отката в Liquibase помечается комментариями --rollback.Проверяем, формирование миграции. Для теста, в качестве выходного файла, я использую /dev/stdout:$ chmod +x ./migrate.sh $ ./migrate.sh /dev/stdout --liquibase formatted sql --changeset ags:/dev/stdout CREATE SEQUENCE users_id_seq START WITH 1 INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ALTER SEQUENCE users_id_seq OWNER TO ags; CREATE TABLE users ( id integer DEFAULT nextval('users_id_seq'::regclass) NOT NULL, name text ); ALTER TABLE users OWNER TO ags; ALTER TABLE users ADD CONSTRAINT users_pkey PRIMARY KEY (id); ALTER SEQUENCE users_id_seq OWNED BY users.id; --rollback ALTER TABLE users --rollback DROP CONSTRAINT users_pkey; --rollback --rollback DROP TABLE users; --rollback Отлично, сформирована как секция наката, так и секция отката. А нам не пришлось для этого написать ни одной строки SQL вручную! Вся работа по созданию файла миграции была сделана автоматически.Формируем реальный файл миграции$ ./migrate.sh 001_users.sql Подключаем его к журналу миграций, отредактировав файл db.changelog.xml, добавив в него директиву include с файлом 001_users.sql:<?xml version="1.0" encoding="UTF-8"?> <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd"> <include file="001_users.sql" /> </databaseChangeLog> И накатываем изменения на dbprod, перед накатом изменений давайте выставим тег в целевой БД, чтобы мы могли откатиться в дальнейшем.$ ./liquibase tag 001_before_users Successfully tagged ags@jdbc:postgresql:dbprod Liquibase 'tag' Successful $ ./liquibase migrate Liquibase Update Successful Проверяем статус$ ./liquibase status ags@jdbc:postgresql:dbprod is up to date Liquibase 'status' Successful Откатываемся на состояние перед накатом таблицы$ ./liquibase rollback 001_before_users Liquibase Rollback Successful Проверяем статус повторно$ ./liquibase status 1 change sets have not been applied to ags@jdbc:postgresql:dbprod Liquibase 'status' Successful Возвращаем выполненный предварительно накат$ ./liquibase migrate Liquibase Update Successful Давайте проверим, отличаются ли структуры баз данных сейчас? Теперь, после того как мы «поигрались» с накатами и откатами состояние баз данных dbdev и dbprod должно быть одинаковым. Так ли это?$ ./pgcodekeeper-cli.sh jdbc:postgresql:dbdev jdbc:postgresql:dbprod ALTER TABLE databasechangeloglock DROP CONSTRAINT pk_databasechangeloglock; DROP TABLE databasechangeloglock; DROP TABLE databasechangelog; pgCodeKeeper говорит, что в dbdev нет двух таблиц — databasechangeloglock и databasechangelog. Эти таблицы были созданы автоматически liquibase и в них он сохраняет информацию о выполненных накатах. Без этих таблиц работа liquibase будет невозможна. Чтобы эти таблицы в дальнейшем не мешали нам при формировании миграций можно или скопировать структуру этих таблиц в девелоперскую базу или использовать возможность списка игнорирования для pgCodeKeeper. Для того, чтобы задействовать возможность по игнорированию объектов создайте файл .pgcodekeeperignore в текущем каталоге со следующим содержимым:$ cat .pgcodekeeperignore SHOW ALL HIDE REGEX "databasechangelog.*" Теперь, команда $ ./pgcodekeeper-cli.sh -I .pgcodekeeperignore jdbc:postgresql:dbdev jdbc:postgresql:dbprod не должна отображать никаких изменений.Итак, что нужно сделать, чтобы внести изменения по предложенной схеме:Вносим изменения в девелоперскую БД С помощью нашего скрипта формируем миграцию Инспектируем миграцию и подключаем её в журнал миграций Деплоим изменения на боевую (тест, стейдж) БД В случае необходимости, делаем откат Создание файлов миграций Liquibase теперь стало возможно выполнять автоматически. Миграции описаны на языке SQL и что немаловажно, секция отката создается также без участия человека. Самое сложное что нужно сделать, это придумать имя файла миграции.P.S.: У Liquibase есть встроенный механизм формирования чейнджсета различий между двумя БД, к сожалению, по своему опыту могу сказать, что он работает не всегда хорошо, заменив этот механизм на код формируемый pgCodeKeeper можно формировать миграции для более сложных изменений в БД.P.P.S.: pgCodeKeeper распространяется с триальной лицензией на 100 объектов БД, если ваша база содержит больше объектов, свяжитесь с разработчиками (адрес эл. почты и канал Telegram есть на сайте продукта) и вам вышлют лицензию на неограниченное количество объектов БД абсолютно бесплатно. Source link

Проректор одного из университетов Киева присвоила 700 тысяч гривен

Проректору-главному бухгалтеру одного из столичных университетов сообщили о подозрении по факту присвоения 700 тысяч гривен, сообщили в прокуратуре города Киева. По данным следствия, подозреваемая незаконно внесла в официальные документы завышенные суммы за оплату обучения студентов из числа детей с инвалидностью, людей с особенными потребностями, детей-сирот и детей из малообеспеченных семей. В дальнейшем на основании поддельных документов на счета университета из бюджета Киева безосновательно перечислили свыше 700 тысяч гривен. В настоящее время злоумышленнице избрана мера пресечения в виде залога в размере 320 тысяч грн. На рассмотрении в суде находится ходатайство об отстранении ее от должности.  Проректору инкриминируется ч. 1 ст. 366 (служебный подлог) и ч. 5 ст. 191 (присвоение чужого имущества путем злоупотребления служебным положением в особо крупных размерах) Уголовного кодекса Украины.  Напомним, что в Киеве был задержан первый проректор Киевской государственной академии водного транспорта им. гетмана Петра Конашевича-Сагайдачного при получении взятки 25 тысяч грн. Source link

Автор законопроекта об идентификации пользователей мессенджеров объяснил пункт о блокировке передачи сообщений

Депутаты Госдумы 19 июля приняли во втором чтении законопроект о регулировании мессенджеров. В документ было добавлено положение о возможности блокировать отдельных пользователей, сообщил vc.ru один из авторов поправок, депутат «Справедливой России» Олег Николаев. Твитнуть Поделиться Поделиться В избранное За принятие законопроекта проголосовали 365 депутатов, против — один, двое воздержались. Ко второму чтению в документ была добавлена норма о том, что мессенджеры обязаны «не допускать передачу электронных сообщений пользователям сервиса обмена мгновенными сообщениями» по процедуре, которую должно будет определить российское правительство. Какую именно информацию предлагается блокировать, в законопроекте не уточняется. На заседании Госдумы за документ проголосовали без обсуждения. На появление нового положения обратила внимание «Медуза». Издание предположило, что речь идёт о фильтрации сообщений. Депутат Олег Николаев, принимавший участие в подготовке поправок, в беседе с vc.ru пояснил, что речи о фильтрации сообщений не идёт — предлагаемый закон предусматривает возможность запрета определённому лицу пользоваться тем или иным мессенджером по решению суда, сказал он. Мера необходима для борьбы с распространением противоправной информации и осуществлением противозаконной деятельности через мессенджеры, пояснил Николаев: «Если вдруг кто-то использует мессенджеры для противозаконной деятельности, должна быть возможность такую деятельность пресечь». Способы выявления таких пользователей Николаев не уточнил, сказав, что порядок осуществления должно дополнительно разработать правительство при участии уполномоченного органа — Роскомнадзора. Кто и на каких основаниях сможет требовать блокировки, он также не сказал. Автор поправок заверил, что конфиденциальность передаваемых пользователями сообщений не пострадает — эта норма прописана в проекте. При этом в документе есть также норма, обязывающая владельцев мессенджеров и сервисов по требованию органов исполнительной власти ограничить возможность конкретного пользователя передавать сообщения, «содержащие информацию, распространение которой в РФ запрещено». Законопроект предлагает давать компаниям сутки на выполнение требований, при этом как именно будет выявляться подобная информация, также не уточняется. Процедуру должно уточнить правительство. Законопроект внесён в Госдуму в мае 2017 года. В случае принятия закона пользоваться мессенджерами можно будет только после идентификации с помощью сотового номера — для подтверждения личности пользователя владельцы мессенджеров должны будут получить сведения о нём от оператора связи. Рассмотрение законопроекта в третьем чтении в Госдуме назначено на 21 июля 2017 года. После этого документ должен одобрить Совет Федерации и подписать президент России. В случае принятия закон вступит в силу с 1 января 2018 года. Присылайте новости на news@vc.ru Source link

Быстрое восстановление данных. Схема бабочки для регенерирующих кодов

Для кодов, описанных в предыдущей статье про восстановление данных, предполагалась постановка задачи, при которой минимизируется количество дисков, необходимых при операции восстановления. В обсуждается применение сетевого кодирования к задачам хранения данных, получившее значительное внимание исследователей в последние годы. Здесь рассматривается не оптимизация количества дисков, необходимых для восстановления данных, а минимизация возникающего при этом сетевого трафика. Предположим, что система хранения состоит из n узлов. Рассмотрим файл, состоящий из B символов поля GF(q), который кодируется в nα символов над GF(q) и распределяется по узлам, так, что каждый узел хранит α символов. Код построен таким образом, что данные могут быть целиком восстановлены по информации с k узлов. При этом для восстановления данных одного узла достаточно получить β ≤ α информации с d узлов , см. рис. 1. Величина γ = dβ называется диапазоном восстановления (repair bandwidth). В показано, что размер данных B ограничен сверху:Рис 1. Регенерирующий кодДля фиксированных значений (B, k, d) существует множество пар (α, β), удовлетворяющих этой границе, что дает возможность получения компромисса относительно этих параметров, с двумя крайними точками: минимизации величины общего хранилища nα (эта точка называется «восстановлением с минимальным хранилищем», или MSR, Minimum Storage Regeneration) и минимизации диапазона γ = dβ (эта точка называется «восстановлением с минимальным диапазоном», или MBR, Minimum Bandwidth Regeneration). Коды, удовлетворяющие приведенной границе, называются регенерирующими кодами. Пример соответствующей границы приведен на рис. 2 .Рис. 2. Кривая MSR-MBR для регенерирующих кодовВ последние годы значительное внимание было уделено как построению кодов в точках MSR и MBR, так и кодов, лежащих на промежуточных точках границы . Различные конструкции регенерирующих кодов могут быть найдены также в . Основной недостаток этих кодов — это плохая масштабируемость. Мы оптимизировали одну из разновидностей регенерирующих кодов — «butterfly» (данный код является систематическим, это очень важно для запросов типа случайное чтение) для быстрого восстановления одного диска и улучшили масштабируемость данной конструкции.Butterfly-схема кодирования Рассмотрим последовательность из страйпов, где n — количество дисков с данными. Данные этого множества страйпов закодированы при помощи XOR-кодов. Первая контрольная сумма (h) рассчитывается по блокам с одним и тем же LBA на всех дисках с данными: . Вторая — по Butterfly-схеме, представленной на рисунке 3. Рис. 3. Butterfly-схема кодированияНапример, расчет контрольной суммы осуществляется как XOR блоков . Кроме того, значение имеет еще и цвет блока, который определяется так: если j-й бит в двоичном представлении числа i совпадает с его (j-1)-м битом, то блок будет зеленым. Для нулевого компонента зелеными будут все четные блоки.В случае, если в получившемся наборе есть блоки зеленого цвета, для каждого из них необходимо включить в набор блок справа от него. Иначе говоря, если блок из основного набора — зеленого цвета, то в набор также включается блок . Для блоков, включенных в набор таким образом, цвет значения уже не имеет. Поэтому, формула расчета для будет такова: Выбор именно такого способа кодирования обосновывается в работе . Так гарантируется восстановление двух одновременно отказавших компонентов.При использовании этого способа кодирования на восстановление компонента с данными чтений потребуется меньше. А именно, для восстановления блоков отказавшего компонента системы хранения потребуется прочитать блоков, что в пределе снижает количество чтений по сравнению с RAID-6 в 2 раза.Однако, при отказе узла, содержащего контрольную сумму, для восстановления необходимо будет прочитать все данные, и в этом случае никакого выигрыша не будет. Эту проблему можно решить с помощью сдвига, аналогичного сдвигу в RAID-6, либо с помощью рандомизации, которую мы уже использовали в подходе с кодами локальной реконструкции. Если в каждом множестве из страйпов делать случайную перестановку, то чтения, необходимые для обработки случаев отказов компонент с контрольными суммами, равномерно распределятся по всем вариантам отказов. Также необходимо понимать, что регенерирующие коды имеют один существенный недостаток: строгое ограничение по количеству блоков в страйпе. Для дискового массива это несущественно, потому что размер кодируемого блока может варьироваться, а значит, может варьироваться и их количество. Но для кластерной конфигурации, в узле которой число дисков может быть ограничено, проблему масштабирования необходимо решать. Одно из возможных решений – разбиение страйпа на регенерирующие группы. Это повысит избыточность во столько раз, сколько групп будет, однако сами кодирующие множества станут экспоненциально меньше, см. рис. 4. Рис. 4. Экспоненциальное уменьшение страйпов кодируемого множестваНаконец, последнее, что необходимо учитывать при применении регенерирующих кодов — это область, в которую информация с отказавшего диска будет восстанавливаться. Дело в том, что при восстановлении на hot-spare диск скорость восстановления будет ограничена скоростью записи на него, и уменьшение количества чтений не даст значимого выигрыша. Поэтому есть необходимость включить в страйп empty-блок. Тестирование производительности Для тестирования производительности мы создавали RAID из 22 дисков с определенными схемами размещения. RAID-устройство создавалось при помощи модификации device-mapper, которая меняла адресацию блока данных по определенному алгоритму. На RAID массив записывались данные, и для них выполнялся расчет контрольных сумм для последующего восстановления. Выбирался отказавший диск. Выполнялось восстановление данных либо на соответствующие empty blocks, либо на hot spare disk. Мы сравнили следующие схемы:RAID-6 — классический RAID-6 с двумя контрольными суммами, восстановление данных на hot spare disk. RAID-6E — RAID6 c empty блоком в конце страйпа, восстановление данных на empty blocks соответствующих страйпов. Classic LRC+E — LRC схема, в которой локальные группы идут последовательно и заканчиваются контрольной суммой, восстановление на empty block. LRC rand — для генерации каждого LRC-страйпа, его номер используется в качестве ядра генератора случайных числе, восстановление данных на empty block. Classic Regen — схема с тремя группами регенерирующих кодов. Regen rand — схема с тремя группами регенерирующих кодов и рандомизацией, восстановление данных на empty block. Для тестирования использовались 22 диска со следующими характеристиками:MANUFACTURER: IBM PART NUMBER: ST973452SS-IBM CAPACITY: 73GB INTERFACE: SAS SPEED: 15K RPM SIZE FORM FACTOR: 2.5IN При тестировании производительности большой эффект оказывает размер блоков страйпа. При восстановлении чтение с дисков ведется по возрастающим адресам (последовательно), но из-за декластеризации в случайных схемах расположения некоторые блоки пропускаются. Это значит, что если блоки имеют маленький размер, то позиционирование магнитной головки диска будет производиться очень часто, и это пагубно скажется на производительности. Поскольку конкретные значения скорости восстановления данных могут зависеть от модели жестких дисков, производителя, RPM, мы представили полученные результаты в относительных величинах. На рис 5. изображено то, какой прирост производительности дают схемы (b) – (f) по сравнению с классическим RAID-6.Рис. 5. Относительная производительность различных алгоритмов размещенияПри восстановлении данных на hot spare диск мы получали, что скорость восстановления ограничивается скоростью записи на диск для всех схем, использующих hot spare. Можно заметить, что как рандомизированная LRC-схема, так и регенерирующие коды дают достаточно высокий прирост скорости восстановления по сравнению с не оптимальной и RAID-6. Несмотря на то, что регенерирующие коды явно лидируют по скорости восстановления, нельзя не учитывать их основные минусы: ограничение по количеству блоков в кодируемом множестве и большая избыточность: c учетом empty-блока в проверяемой конфигурации избыточность была более 30% (рис. 6).Рис. 6. Избыточность различных алгоритмовЗаключение Регенерирующие Butterfly-коды были успешно опробованы в HDFS, Ceph. Мы рассмотрели варианты применения регенерирующих кодов на локальной системе, придумали способ их масштабирования и использования для быстрой обработки ситуации отказа одного диска. Несмотря на то, что производительность этого решения оказалась наилучшей (см. рис 5), требования по избыточности (см. рис 6) могут повлечь большие затраты, поэтому этот алгоритм подойдет не везде. Таким образом, всегда нужно понимать, можно ли в конкретном случае пожертвовать местом ради надежности.Представленные решения могут быть обобщены на распределенную, в частности — облачную систему хранения данных. В таких системах преимущества будут еще более явными, поскольку в них узким местом является передача данных по сети, которую посредством представленных подходов можно минимизировать.Литература A. Datta and F. E. Oggier. An overview of codes tailor-made for networked distributed data storage. CoRR, abs/1109.2317, 2011. A. Dimakis, P. Godfrey, Y. Wu, M. Wainwright, and K. Ramchandran. Network coding for distributed storage systems. Information Theory, IEEE Transactions on, 56(9):4539–4551, Sept 2010. T. Ernvall. Exact-regenerating codes between mbr and msr points. In Information Theory Workshop (ITW), 2013 IEEE, pages 1–5, Sept 2013. E. En Gad, R. Mateescu, F. Blagojevic, C. Guyot, and Z. Bandic. Repair-Optimal MDS Array Codes Over GF (2). In Information Theory Proceedings (ISIT), IEEE International Symposium on, 2013. Lluis Pamies-Juarez, Filip Blagojević, Robert Mateescu, Cyril Guyot, Eyal En Gad, Zvonimir Bandic. Opening the Chrysalis: On the Real Repair Performance of MSR Codes. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST ’16), pages 81-94. USENIX Association, 2016. J. Li, T. Li, and J. Ren. Beyond the mds bound in distributed cloud storage. In INFOCOM, 2014 Proceedings IEEE, pages 307–315, April 2014. N. Shah, K. V. Rashmi, P. Kumar, and K. Ramchandran. Distributed storage codes with repair-by-transfer and nonachievability of interior points on the storage-bandwidth tradeoff. Information Theory, IEEE Transactions on, 58(3):1837–1852, March 2012. J. Chen and K. Shum. Repairing multiple failures in the suhramchandran regenerating codes. In Information Theory Proceedings (ISIT), 2013 IEEE International Symposium on, pages 1441–1445, July 2013. B. Gaston, J. Pujol, and M. Villanueva. Quasi-cyclic regenerating codes. CoRR, abs/1209.3977, 2012. S. Jiekak, A.-M. Kermarrec, N. Le Scouarnec, G. Straub, and A. Van Kempen. Regenerating codes: A system perspective. In Reliable Distributed Systems (SRDS), 2012 IEEE 31st Symposium on, pages 436– 441, Oct 2012. K. V. Rashmi, N. Shah, and P. Kumar. Optimal exact-regenerating codes for distributed storage at the msr and mbr points via a productmatrix construction. Information Theory, IEEE Transactions on, 57(8):5227–5239, Aug 2011. K. Shum and Y. Hu. Exact minimum-repair-bandwidth cooperative regenerating codes for distributed storage systems. In Information Theory Proceedings (ISIT), 2011 IEEE International Symposium on, pages 1442–1446, July 2011. K. Shum and Y. Hu. Functional-repair-by-transfer regenerating codes. In Information Theory Proceedings (ISIT), 2012 IEEE International Symposium on, pages 1192–1196, July 2012. K. W. Shum and Y. Hu. Cooperative regenerating codes. CoRR, abs/1207.6762, 2012. C. Suh and K. Ramchandran. Exact-repair mds code construction using interference alignment. Information Theory, IEEE Transactions on, 57(3):1425–1442, March 2011. Source link

Система доставки с использованием Tor и blockchain создана в Канаде

Исследователи из Университетов Варетлоо в Онтарио и Конкордия в Квебеке представили систему на основе blockchain, которая использует методы «луковой» маршрутизации для анонимной доставки. В своём официальном релизе проекта под названием «Lekantos: анонимная система физической доставки на основе блокчейн» они заявляют: «Мы представляем систему физической доставки товаров на основе блокчейна под названием Lelantos, которая, с учетом реалистичных рисков, предлагает клиентам анонимность, справедливый обмен и отсутствие прямого взаимодействия между покупателями и продавцами. Наш проект инспирирован технологиями маршрутизации Tor, которые используются для анонимной доставки сообщений». . Платформа Lelantos использует смарт-контракты и неизменность блокчейна, а также анонимность луковой маршрутизации, чтобы обеспечить эффективность и конфиденциальность физической доставки между компаниями-поставщиками, продавцами и покупателями. Вначале первоначальный интеллектуальный контракт создаётся и инициируется покупателем, который желает анонимно получить продукты от продавца. Затем он заключает ещё один интеллектуальный контракт с компаниями-поставщиками, автоматизирующими весь процесс с помощью сети Lelantos Blockchain. Двумя основными преимуществами blockchain и интеллектуальных контрактов являются меры безопасности и конфиденциальность, предоставляемая обеими технологиями. С технологией «луковой» маршрутизации все заказы обрабатываются анонимно. В том случае, если системы анонимной доставки окажутся успешными в будущем, это может привести к внедрению схожих технологий в области логистики ведущими поставщиками и сервисами, включая Amazon. . . Читайте также: Facebook делает свою соцсеть в Tor более дружелюбной🔓Blockchain может сэкономить для инвестиционных банков до $12млрд в год🔓Wikipedia может открыть своё представительство в Tor🔓Американский блокчейн-стартап Blockstack запускает децентрализованный интернет-браузер . Source link

Стали известны подробности взрыва на полигоне, в результате которого пострадали восемь военных

Военная прокуратура Южного региона сообщила подробности взрыва на полигоне возле поселка Черкасское Днепропетровской области, в результате которого были травмированы восемь военных. Как сообщается на сайте прокуратуры, в соответствии с приказом командира воинской части было спланировано проведение учебных стрельб из Т-64Б. Однако около 8:00 в результате намотки детонирующего шнура от переносной установки разминирования на каток танка сработал взрыватель. В результате восемь военнослужащих, находившихся неподалеку, получили телесные повреждения различной степени тяжести. Пятьерых из них эвакуировали в военный госпиталь с повреждениями средней степени тяжести, а еще троих - в областную больницу имени Мечникова в тяжелом состоянии. По данному факту начато уголовное производство по ч. 2 ст. 414 Уголовного кодекса Украины (нарушение правил обращения с оружием, а также с веществами и предметами, представляющими повышенную опасность для окружающих). Следственно-оперативная группа провела осмотр места происшествия и допросила свидетелей. Военная прокуратура Днепропетровского гарнизона выясняет причины и обстоятельства несчастного случая. Ранее оперативное командование Восток Вооруженных сил Украины сообщило, что 20 июля на 239 общевойсковом полигоне во время соревнований танковых экипажей произошел взрыв, в результате чего были травмированы восемь военных. В каком состоянии находятся пострадавшие военные, а не уточнялось. Source link