• 3D Secure, или что скрывают механизмы безопасности онлайн-платежей


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


      Один из протоколов, используемых для увеличения безопасности онлайн-платежей — 3D Secure. Это протокол, который был разработан на основе XML в качестве дополнительного уровня безопасности платежей, проводящихся без физического участия карты (card not present payment). VISA создала первую версию этого протокола, но вскоре его начали использовать и другие компании (Master Card, JCB International, AmEx, Мир), впоследствии объединившиеся с VISA в содружество EMV. EMV занимается поддержкой и развитием протокола 3DS.

      Читать дальше →
    • Краткое руководство по Node.js для начинающих (SPA, PWA, mobile first)



        Доброго времени суток, друзья!

        Представляю вашему вниманию перевод Руководства по Node.js в формате одностраничного прогрессивного адаптированного приложения.

        Данный формат означает следующее:

        • SPA — новые данные (разделы или главы руководства) загружаются без перезагрузки страницы — реализовано с помощью динамического импорта
        • PWA — приложение можно установить на мобильный телефон или компьютер; приложение работает даже при отсутствии подключения к сети — реализовано с помощью сервис-воркера и кэширования
        • mobile-first — приложение предназначено для использования, в первую очередь, на смартфонах, но хорошо выглядит и на широких экранах

        Посмотреть и установить приложение можно ЗДЕСЬ.

        Код проекта на GitHub
        Читать дальше →
        • +3
        • 5.9k
        • 5
      • Чек-лист разумной защиты своего ноутбука


          Важный компонент защиты от несанкционированного доступа

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

          Поэтому, я тут подумал и решил собрать в одном месте некий стандартизированный чек-лист по комплексной защите своего ноутбука. Я намеренно отсекаю станционарные ПК, потому что они меньше подвержены угрозам вида «случайно забыл в баре». С 6 килограммами жестких дисков, тепловых трубок и башенным кулером это сделать куда сложнее.

          Я постараюсь пройтись по основным угрозам и методам защиты. Например, люди часто забывают, что вводить пароль под камерой — плохая идея. Буду крайне признателен вашим дополнениям.
          Читать дальше →
        • Как ускорить игру «Жизнь» в сто раз

          image

          Сложно найти человека, не знакомого с игрой "Жизнь", придуманной английским математиком Джоном Конвеем еще в 1970 году, и до сих пор не теряющей своей популярности. Многие программисты писали свою реализацию этой игры, и еще одна вряд ли кого-то удивит. Однако эта игра является отличным примером, показывающим, насколько полезной может оказаться оптимизация вычислений, даже не меняющая асимтотическую сложность алгоритма. Мы начнем с простейшей реализации на c# и будем последовательно применять различные оптимизации, ускоряя работу программы.

          Мы также улучшим алгоритм на JavaScript, ускорив его в 10 раз по сравнению с неоптимизированной версией.

          В конце статьи дана ссылка на код, а также на online-реализацию игры с оптимизированным алгоритмом на JavaScript, выполняющим до двухсот итераций в секунду на поле размера 1920x1080 (Full HD), где вы можете убить время поиграть в эту замечательную игру.
          Читать дальше →
        • Дешёвая и быстрая печать на чековом термопринтере

          • Tutorial

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



          Читать дальше →
        • Про установку и использование LineageOS 16, F-Droid

            Предлагаю вашему вниманию инструкцию как оптимально (по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS (далее сокращённо LOS) и приложений из F-Droid.

            Я думаю, что это статья будет вам интересна, даже если вы не можете установить себе LOS, так как в данной статье также рассмотрены стандартные настройки Android, настройки и методика использования полезных приложений, магазин приложений F-Droid, разрешения Android, которые нельзя ограничить и другие, возможно полезные для вас нюансы.
            Читать дальше →
          • Приглашая опытного разработчика, вы не покупаете, а продаёте

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

            Есть много причин, почему некоторым не удаётся привлечь талантов. Однако все команды, которые делали это с лёгкостью, поняли один простой факт о текущей ситуации на рынке:

            При найме сеньоров не компания выбирает кандидата, а кандидат выбирает компанию.

            Проще говоря:

            Приглашая опытного разработчика, вы не покупаете, а продаёте.
            Читать дальше →
          • Мне 57, и я scrum-мастер

              Этим постом мы отвечаем на вопрос, есть ли для программиста карьера (и вообще работа) после 50-ти. Свою историю рассказывает Татьяна Митина, руководитель отдела программирования в центре разработки C3D Labs в Нижнем Новгороде. Она 16 лет проработала в Intel, а сейчас занимается разработкой геометрического 3D-ядра.

              image
              Читать дальше →
            • Переезд хуже пожара: как перевезти 3Тб данных с Dropbox на Google Drive и выжить

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

                Поэтому ещё 5 лет назад, основав «Банду умников» и делая тестовый тираж, мы уже хранили все данные в Dropbox — благо они тогда умещались в бесплатные лимиты. За это время команда выросла с 2 до 35 человек, и в этом году мы поняли, что пора прощаться с Dropbox и переезжать на Google Drive. Это решение вызвало череду приключений, которые мы совсем не планировали.

                Для переезда с одного облачного сервиса на другой может быть куча разных причин: от риска блокировок (привет, Роскомнадзор) до потребности в каком-то принципиально новом функционале. В нашем случае причина была простой: мы сели, посчитали и поняли, что вместо 12 аккаунтов с безлимитным хранилищем у нас может быть 35 аккаунтов (то есть вся команда) — и всё это ровно за те же деньги.

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

                Вот 6 важных моментов, которые мы открыли для себя в процессе смены облачного провайдера.
                Читать дальше →
              • Ручной шифр LS47

                • Translation

                Данный шифр является небольшим усовершенствованием шифра ElsieFour, который разработал Алан Камински (Alan Kaminsky) [1]. В этом варианте используются 7x7 символов вместо оригинальных 6x6, которых едва-едва хватает даже на латинский алфавит. Дополнительно описан простой алгоритм получения ключа по паролю, как более привычный вариант. Стойкость и безопасность такие же как у ElsieFour.

                Читать дальше →
                • +12
                • 4.6k
                • 1
              • Освещение растений белыми светодиодами

                  Интенсивность фотосинтеза под красным светом максимальна, но под одним только красным растения гибнут либо их развитие нарушается. Например, корейские исследователи [1] показали, что при освещении чистым красным масса выращенного салата больше, чем при освещении сочетанием красного и синего, но в листьях значимо меньше хлорофилла, полифенолов и антиоксидантов. А биофак МГУ [2] установил, что в листьях китайской капусты под узкополосным красным и синим светом (по сравнению с освещением натриевой лампой) снижается синтез сахаров, угнетается рост и не происходит цветения.


                  Рис. 1 Леанна Гарфилд, Tech Insider — Aerofarms

                  Какое нужно освещение, чтобы при умеренном энергопотреблении получить полноценно развитое, большое, ароматное и вкусное растение?
                  Читать дальше →
                • Спросите Итана №112: стоит ли бояться конца Вселенной

                  • Translation

                  Что останется, когда всё исчезнет?


                  Конец? Нет, путешествие не заканчивается здесь. Смерть – всего лишь очередной путь, который мы все должны пройти. Серая дождевая завеса этого мира подымается, всё превращается в серебристое зеркало, а затем ты видишь это…
                  — Дж. Р. Р. Толкин

                  [цитата не из книг Толкина, а из фильма «Властелин колец» – прим. перев.]

                  Всё, что мы видим, знаем и испытываем во Вселенной, когда-нибудь закончится. Не только всем нам предстоит однажды столкнуться с нашей кончиной, но и сами звёзды сгорят, галактики умрут, и даже материя может когда-нибудь перестать существовать. Больше других присланных мне вопросов я был тронут вопросом от Гэри Томаса, который не может спать по ночам, думая об этом:
                  Я наткнулся на ваш блог, будучи в поисках ответа и удовлетворения. Мне 47 лет и не так давно у меня появился страх конца света, а затем конца Вселенной. Я понимаю, что это не повлияет на меня или на кого бы то ни было в ближайшие миллионы лет, но меня пугает, что всё, что мы сделали и вся красота мира однажды исчезнет.

                  И это та правда о Вселенной, с которой нам придётся столкнуться.

                  image
                  Читать дальше →
                • Фотостудия для съёмок пластилиновой игры

                    Привет! В жизни почти каждого разработчика игр наступает момент, когда он отбивается от стаи, выкапывает себе нору и начинает в одиночку делать «лучшую в мире игру, не то что эти всякие». 2 года назад это случилось и со мной. Не обладая навыками художника, я решил замахнуться на stop-motion анимацию и делать всю графику из пластилина.

                    image
                    Читать дальше →
                  • Шишки и грабли Android-разработчика за 2 года

                    • Translation
                    image

                    Я ясно помню тот день в далеком 2014 году, когда я решил заняться программирование под Android. Это оказалось лучшим решением, которое я принял в моей жизни. Уже прошло почти два с половиной года, и за это время у меня возможность кое-чему научиться.

                    Когда я только начал, я не знал никого, кто мог бы научить меня, показать, как правильно нужно делать. И я совершил МНОЖЕСТВО ошибок, в так же потратил кучу времени на то, чтобы потом их исправить.

                    Полтора года спустя, мне выпал шанс поработать с очень талантливыми и опытными Android-разработчиками, которые направляли меня и помогли мне привести все в порядок. Эти две составляющие научили меня многому. Я понял, что надо ДЕЛАТЬ, а самое главное, что НЕ НАДО.

                    И уже какое-то время я, как могу, стараюсь помогать другим разработчикам — прямо или косвенно. Вот мои профили: StackOverflow и Github.

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

                    Предупреждение: в этой статье я затрону Android, а также идеи и результаты программирования, так что если вы не знакомы с одним из этих пунктов, то вам может быть неинтересно дочитывать статью до конца. Остальные, просто читайте.
                    Читать дальше →
                  • Оцениваем идею вашего мобильного приложения

                      Disclaimer:
                      Данная статья представляет собой вольный художественный пересказ-перевод первой главы книги "App Savvy
                      Turning ideas into ipad and iphone apps customers really want
                      "

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

                      Оглавление
                      Введение
                      Стратегия
                      Глава 1: Оцениваем идею вашего мобильного приложения
                      Глава 2: Что должно быть в вашем приложении?
                      Глава 3: От идеи к концепту

                      Разработка
                      Глава 4: Поиск команды: вам нужна помощь
                      Глава 5: Получаем рабочее приложение
                      Глава 6: Улучшаем приложение перед тем, как добавить его в App Store

                      Запуск
                      Глава 7: Готовимся к загрузке приложения в App Store
                      Глава 8: Строим нашу маркетинговую стратегию
                      Глава 9: Оцениваем успех и обдумываем будущие разработки


                      Чтобы полностью оценить жизнеспособность идеи вашего приложения, сначала вы должны понять текущую ситуацию с приложениями в App Store, оценить стоимость запуска вашего приложения, и реалистично смотреть на возможность попадания вашего приложения в каталог App Store. Под «вами» и «вашей идеей» я подразумеваю не только лично вас, а всех людей — родственников, друзей и коллег — с которыми вы прорабатываете вашу идею. Оцениваете ли вы идею в одиночку, или с кем-то, я хочу предложить вам схему, следуя которой вы сможете получить более структурированную оценку вашего приложения. В конце статьи будут приведены ссылки на полезные ресурсы и инструменты, которые помогут вам оценить вашу идею.
                      Читать дальше →
                      • +12
                      • 53.2k
                      • 6
                    • Ни единого разрыва: как мы создавали беспроводную сеть для 3000 устройств


                        Wireless Society by JOSS7

                        Wi-Fi в офисах Mail.Ru Group за последние десять лет пережил несколько смен оборудования, подходов к построению сети, схем авторизации, администраторов и ответственных за его работу. Начиналась беспроводная сеть, наверное, как и во всех компаниях — с нескольких домашних роутеров, которые вещали какой-то SSID со статичным паролем. Долгое время этого было достаточно, но количество пользователей, площади и количество точек доступа стало расти, домашние D-Linkʼи постепенно заменили на Zyxel NWA-3160. Это уже было относительно продвинутым решением: одна из точек могла выступать в качестве контроллера для остальных и давала единый интерфейс для менеджмента всей сети. Какой-то более глубокой логики и автоматизации софт NWA-3160 не давал, только возможность настройки подключенных к контроллеру точек, пользовательский трафик обрабатывался каждым устройством независимо. Следующей сменой оборудования стал переход на контроллер Cisco AIR-WLC2006-K9 + несколько точек доступа Aironet 1030. Уже совсем взрослое решение, с безмозглыми точками доступа и обработкой всего трафика контроллером беспроводной сети. После еще была миграция на пару AIR-WLC4402-K9, сеть уже выросла до сотни точек Cisco Aironet 1242AG, 1130AG, 1140AG.
                        Читать дальше →
                      • Обзор топологий глубоких сверточных нейронных сетей

                          Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

                          Читать дальше →
                        • Я тут это… Трекалку для времени написал. За 628 минут

                            Привет, Друзья! Пару недель назад я подумал: «А можно ли использовать гугловые таблицы (Google Sheets), как простое и безопасное хранилище данных?». О, а еще мне давно хотелось написать трекалку времени.

                            И вот что получилось:

                            image
                            Код + Сайт

                            А деталей немножко под катом.
                          • C.H.I.P. — 9-долларовый «убийца» Raspberry Pi

                              image
                              На Geektimes'ах уже пролетала информация о том, как 9-долларовый Linux компьютер собрал больше $2 000 000 на кикстартере. Я также поддержал этот проект в момент сбора средств и на днях ко мне прилетел мой экземпляр данного девайса
                              Читать дальше →