• Как общаться в англоязычном офисе: 14 полезных идиом

    • Translation
    image

    На Хабре в последние годы публикуется довольно много статей о переезде, в том числе в США и Великобританию. Обычно в таких материалах рассказывают о поиске работы и визовых вопросах, но не так много внимания уделяется дальнейшей интеграции, в том числе в рабочий коллектив.

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


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

      Точность распознавания движущихся транспортных средств новой системой достаточно высокая. Тип автомобиля определяется с точностью 91,1%. Разницу же между различными типами автомобилей и мотоциклов система различает с точностью почти в 100%.
      Читать дальше →
    • Скоростное хеширование

      Скоростное хеширование на базе нового криптографического алгоритма


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

      Особенно явно это проявляется в Российской симметричной криптографии последнего времени, «Стриборг» и «Кузнечик»… Эти алгоритмы реализовать эффективно в программных кодах х86/64 невозможно, нужен специализированный криптопроцессор.

      Сделаем все наоборот и посмотрим, что получится.
      Читать дальше →
    • Самые популярные Node.js-фреймворки 2018 года

      • Translation
      Сегодня мы публикуем перевод материала, автор которого хочет рассказать о самых популярных в наши дни фреймворках для Node.js. В этот список входят Sails.js, Hapi.js, NestJS, LoopBack, Derby.js, Mean.io и Total.js.


      Читать дальше →
    • Разработка и тестирование смарт-контрактов Hyperledger Fabric

        Hyperledger Fabric (HLF) — платформа с открытым исходным кодом, использующая технологию распределенного реестра (DLT — distributed ledger technology), предназначенная для разработки приложений, работающих в среде бизнес-сетей, созданных и контролируемых консорциумом организаций с применением правил доступа (permissioned).


        Платформа поддерживает смарт-контракты, в терминах HLF — чейнкоды (chaincode), создаваемые на языках общего назначения, таких как Golang, JavaScript, Java, в отличие, от, например, Ethereum, в котором используется контрактно-ориентированный, ограниченный по функциональности язык Solidity (LLL, Viper и др).



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

        Читать дальше →
      • Книга «Теоретический минимум по Big Data. Всё что нужно знать о больших данных»

          imageCегодня Big Data — это большой бизнес. Нашей жизнью управляет информация, и извлечение выгоды из нее становится центральным моментом в работе современных организаций. Неважно, кто вы — деловой человек, работающий с аналитикой, начинающий программист или разработчик, «Теоретический минимум по Big Data» позволит не утонуть в бушующем океане современных технологий и разобраться в основах новой и стремительно развивающейся отрасли обработки больших данных.

          Хотите узнать о больших данных и механизмах работы с ними? Каждому алгоритму посвящена отдельная глава, в которой не только объясняются основные принципы работы, но и даются примеры использования в реальных задачах. Большое количество иллюстраций и простые комментарии позволят легко разобраться в самых сложных аспектах Big Data.

          Предлагаем ознакомиться с отрывком «Главные компоненты»
          Читать дальше →
          • +3
          • 10.1k
          • 8
        • Автомобильная электротурбина

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

            Многие из этих проблем способна решить электротурбина. С электротурбиной необходимое давление наддува можно создать в любой момент и можно сбавлять обороты не боясь, что давление понизится. В электротурбине нет горячей части разогреваемой до тысячи градусов. Это положительно сказывается на её ресурсе, цене и простоте установки.

            Данная статья будет посвящена нашей разработке в этом направлении.


            Читать дальше →
          • Быстрые сетки для верстальщиков

              Любому верстальщику, перед которым встала очередная задача по вёрстке адаптивного макета, нужны сетки. В большинстве случаев берётся старый добрый bootstrap, и в html-ке начинают появляться div-ы с классами вида col-xs-6 col-sm-4 col-md-3. И вроде бы всё хорошо и быстро, но в данном подходе часто возникает множество подводных камней. В данной статье мы рассмотрим эти подводные камни, и закидаем тухлыми помидорами рассмотрим мою поделку для беспроблемных сеток.

              Читать дальше →
            • Как следить за опознанными летающими объектами при помощи Raspberry Pi

              • Translation
              • Tutorial

              А вы знали, что при помощи Raspberry Pi можно следить за опознанными летающими объектами? Вы можете настроиться на радио-сигналы самолетов на расстоянии до 400 км от вас и отслеживать все рейсы. Для этого вам достаточно найти дешевый USB TV и пару свободных минут.


              dump1090


              Изображение: dump1090 — тестирую антенну FlightAware против четвертьволновой гибкой антенны и антенны из банки.

              Читать дальше →
              • +33
              • 22.9k
              • 9
            • Что читать о нейросетях


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


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


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

                Читать дальше →
              • Как быстро удалить множество строк из большой базы в MySQL

                • Tutorial
                Как известно, все системные администраторы делятся на две категории. Те, кто уже делают бэкапы и те, кто ещё нет.

                Подобно им, администраторы БД также делятся на две категории, те, кто уже запускал процедуру удаления на большой БД с типом таблиц InnoDB, и те, кому это ещё предстоит.



                Разумеется, в теории все знают, что из-за особенностей InnoDB, удаление может быть долгим, но это знание сродни тому, что «надо делать бэкапы». Многие осознают эти нехитрые истины, только наступив на грабли.

                Для понимания, удаление 350М записей в таблице на 500М записей может занять более двух суток. Вторые грабли, на которые многие наступают, это попытка прибить запрос. Как мы все помним, InnoDB движок транзакционный, поэтому если вы попытаетесь прибить запрос, он попытается откатить изменения, а это может занять больше времени, чем выполнялся запрос.

                Как сделать так, чтобы не было мучительно больно? Добро пожаловать под кат!
                Читать дальше →
              • Что будет если скрестить React и Angular?


                Akili — javascript фреймворк, который появился под влиянием таких решений как React, Angular, Aurelia и в меньшей степени некоторых других. Целью было объединить все лучшее, что я вижу в них и максимально все упростить.

                Нравится React, но отталкивает JSX? Любите Angular, но надоела всякая магия?

                Тогда вам стоит попробовать это.
                Читать дальше →
              • Поэтапное руководство по алгоритму автоматического размещения из CSS Grid

                • Translation


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

                В этом руководстве мы рассмотрим все этапы алгоритма автоматического размещения элементов из модуля CSS Grid Layout. Каждый этап управляется с помощью свойства grid-auto-flow. В своих других статьях “Introducing the CSS Grid Layout” и “Seven Ways You Can Place Elements Using CSS Grid Layout” автор рассмотрел спецификацию CSS Grid и проанализировал, как с помощью Grid можно позиционировать элементы на веб-странице. Однако в этих материалах в сетке явным образом задавалась позиция единственного элемента. Остальные элементы размещались с помощью некоего алгоритма.

                Теперь разберем этот алгоритм. И когда в следующий раз вы обнаружите, что элемент оказался не там, где нужно, вам не придётся чесать затылок и удивляться, как так произошло.
                Читать дальше →
                • +16
                • 10.7k
                • 1
              • Kotlin — официальный язык разработки под Android. Разбираемся в тонкостях языка на Stepik

                  Вчера на ежегодной конференции Google I/O, проходящей в Сан-Франциско, Гугл объявил Kotlin официальным языком программирования для платформы Android.

                  Изучить Kotlin можно уже сегодня, на Stepik, совершенно бесплатно.


                  Немного про Kotlin и онлайн-курсы
                • Архитектура модульных React + Redux приложений 2. Ядро

                  • Tutorial
                  В первой части я уделил внимание только общей концепции: редюсеры, компоненты и экшны чаще меняются одновременно, а не по отдельности, поэтому и группировать и их целесообразнее по модулям, а не по отдельным папкам actions, components, reducers. Также к модулям были предъявлены требования:

                  1. быть независимыми друг от друга
                  2. взаимодействовать с приложением через API ядра

                  В этой части я расскажу о структуре ядра, подходящей для разработки data-driven систем.
                  Читать дальше →
                  • +12
                  • 10.6k
                  • 3
                • React медленный, React быстрый: оптимизация React-приложения на практике

                  Всем привет! Хочу поделиться своим переводом статьи React is Slow, React is Fast: Optimizing React Apps in Practice автора François Zaninotto. Надеюсь, это кому-то будет полезным.


                  Краткое содержание:


                  1. Измерение производительности React
                  2. Почему ты обновился?
                  3. Оптимизация через разбиение на компоненты
                  4. shouldComponentUpdate
                  5. Recompose
                  6. Redux
                  7. Reselect
                  8. Остерегайтесь объектных литералов в JSX
                  9. Заключение

                  React может быть медленным. Я хочу сказать, что любое React приложение среднего размера может оказаться медленным. Но прежде, чем искать ему замену, вы должны знать, что и любое среднее приложение на Angular или Ember может также оказаться медленным.


                  Хорошая новость в том, что если вы действительно заботитесь о производительности, то сделать React приложение очень быстрым довольно легко. Об этом — далее в статье.

                  Читать дальше →
                • Английский для собеседований в IT-компании: что нужно для старта карьеры?

                    Собеседование на английском — дело непростое. Но хорошее планирование и подготовка ключевых моментов сделают этот процесс более приятным и безобидным.


                    Читать дальше →
                  • Эволюция приложений или куда мы идем

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


                      image

                      Читать дальше →