• Lock-free структуры данных. 1 — Начало


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

      Читать дальше →
    • Нейрореволюция в головах и сёлах

        В последнее время всё чаще и чаще слышишь мнение, что сейчас происходит технологическая революция. Бытует мнение, что мир стремительно меняется.



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

        Я работаю в области связанной с анализом изображений. Это одна из областей которую новые идеи затронули сильнее всего. Одна из таких идей — свёрточные нейронные сети. Четыре года назад с их помощью впервые начали выигрывать конкурсы по обработке изображений. Победы не остались незамеченными. Нейронными сетями, до тех пор стоящими на вторых ролях, стали заниматься и пользоваться десятки тысяч последователей. В результате, полтора-два года назад начался бум, породивший множество идей, алгоритмов, статей.

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

        Кто лишится в ближайшие лет десять работы, а у кого будут новые перспективные вакансии.
        Читать дальше →
      • MySQL: Взламываем черный ящик

          О чем пойдет речь: забавный и экстравагантный способ «взлома» веб-сайта, у которого «всего-лишь» не экранируются кавычки одного из параметров. При этом пропустим рассуждения о том, почему все не экранируется на стороне самого языка программирования или ORM.

          Вводная: веб-сайт, у которого не экранируется один из параметров в простом SELECT запросе. При этом все ошибки перехватываются, обрабатываются и выводится скромное «Нет данных» или «Произошла ошибка».

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

          Но, что на самом деле можно сделать в данной ситуации?
          Читать дальше →