• Ищем закономерности на бирже

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


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

    Читать дальше →
  • Полная автоматизация «development» среды с помощью docker-compose

    • Tutorial

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


    Docker в 2017


    На конференции Dockercon 2016 CEO компании Docker рассказал, что количество приложений, которые запускаются в Docker выросло на 3100% за последние два года. Боле 460 тысяч приложений по всему миру запускаются в Docker. Это невероятно!


    Если вы все еще не используете Docker, я бы посоветовал почитать отличную статью об использовании Docker во всем мире. Docker полностью изменил то, как мы пишем приложения и стал неотъемлемой частью для разработчиков и DevOps команд. В этой статье мы полагаем, что вы уже знакомы с Docker и хотим дать вам еще одну серьезную причину продолжать использовать его.

    Читать дальше →
  • Тестирование микросервисов: разумный подход

    • Перевод


    Движущая сила микросервисов


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

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

    Однако, когда дело доходит до тестирования (или, чего похуже, разработки) микросервисов, выясняется, что большинство компаний по-прежнему испытывает привязанность к допотопному способу тестирования всех компонентов вместе. Создание сложной инфраструктуры считается обязательным условием для проведения сквозного (end-to-end) тестирования, при котором набор тестов для каждого сервиса обязательно должен быть выполнен — делается это для того, чтобы убедиться, что в сервисах не появилось регрессий или несовместимых изменений.
    Читать дальше →
  • Вопросы для собеседования бэкенд-разработчика

    • Перевод
    Этот список появился как личная памятка по темам, которые я обсуждал с коллегами и друзьями и в которых хотел разобраться поглубже…

    Я не большой любитель задавать технические вопросы на собеседованиях: по мне так лучше посидеть с кандидатом (или кандидаткой) за клавиатурой над каким-то реальным кодом, реальной проблемой — и целый день заниматься парным программированием, желательно поочерёдно с остальными членами команды. Но я считаю, что некоторые технические вопросы могут быть хорошей отправной точкой для начала увлекательного и приятного разговора и позволят глубже узнать друг друга.

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

    • Tutorial

    Введение



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

    Пушка, стреляющая сферическими ядрами сообщает им начальную скорость 400 м/с. Определить траекторию полета снаряда при стрельбе под углом в 35 градусов к горизонту. Поле силы тяжести считать однородным, кривизной Земли пренебречь.




    Надо сказать, это пример некорректно поставленной задачи. Во-первых, не сказано учитываем мы, или не учитываем сопротивление воздуха. А если учитываем, то в задаче явно не хватает параметров. К сожалению такого рода постановка задач весьма распространенное явление. Поэтому мы решим задачу для обоих случаев, а нужные параметры введем в неё сами. Заодно научимся чему-то новому. Поехали!

    Читать дальше →
  • Краткое введение в rvalue-ссылки

    • Перевод
    Перевод статьи «A Brief Introduction to Rvalue References», Howard E. Hinnant, Bjarne Stroustrup, Bronek Kozicki.

    Rvalue ссылки – маленькое техническое расширение языка C++. Они позволяют программистам избегать логически ненужного копирования и обеспечивать возможность идеальной передачи (perfect forwarding). Прежде всего они предназначены для использования в высоко производительных проектах и библиотеках.

    Введение


    Этот документ даёт первичное представление о новой функции языка C++ – rvalue ссылке. Это краткое учебное руководство, а не полная статья. Для получения дополнительной информации посмотрите список ссылок в конце.

    Rvalue ссылка


    Rvalue ссылка – это составной тип, очень похожий на традиционную ссылку в C++. Чтобы различать эти два типа, мы будем называть традиционную C++ ссылку lvalue ссылка. Когда будет встречаться термин ссылка, то это относится к обоим видам ссылок, и к lvalue ссылкам, и к rvalue ссылкам.
    Читать дальше →
  • Понимание lvalue и rvalue в C и С++

      Привет, Хабр! Представляю вашему вниманию перевод статьи Eli Bendersky, Understanding of lvalues and rvalues in C and C++.

      От переводчика: предлагаю Вашему вниманию перевод интересной статьи об lvalue и rvalue в языках C/C++. Тема не нова, но знать об этих понятиях никогда не поздно. Статья рассчитана на новичков, либо на программистов переходящих с C (или других языков) на C++. Поэтому будьте готовы к подробному разжёвыванию. Если вам интересно, добро пожаловать под кат
      Читать дальше →
    • Книга «Децентрализованные приложения. Технология Blockchain в действии»

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

        Децентрализованные приложения гибче, прозрачнее и надежнее, чем современное программное обеспечение, созданное с применением традиционных моделей. Эта книга знакомит вас с основами создания децентрализованных приложений и принципами их разработки на примере нескольких доходных приложений. Причина такого коммерческого уклона объясняется тем, что прибыль (выгода) является основой успешного, надежного и перспективного децентрализованного приложения. Воспользуйтесь ими как трамплином к созданию вашего собственного приложения.
        Читать дальше →
      • Blockchain

          Данный текст будет являться новой главой для учебного пособия по защите информации кафедры радиотехники и систем управления МФТИ (ГУ). Полностью учебник доступен на github. На хабре я же планирую выкладывать новые «большие» куски, во-первых, чтобы собрать полезные комментарии и замечания, во-вторых, дать сообществу больше обзорного материала по полезным и интересным темам.

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

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

          В таких системах есть три группы действующих лиц:

          • источники событий (транзакций)
          • источники блоков (фиксаторы транзакций)
          • получатели (читатели) блоков и зафиксированных транзакций.

          В зависимости от реализации эти группы могут пересекаться. В системах типа BitCoin, например, все участники распределённой системы могут выполнять все три функции. Хотя за создание блоков (фиксацию транзакций) обычно отвечают выделенные вычислительные мощности, а управляющими их участников называют майнерами (см. раздел про децентрализованный blockchain далее).

          Основное требование к таким журналам таково:

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

            Автор статьи — Алексей Маланов, эксперт отдела развития антивирусных технологий «Лаборатории Касперского»

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

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


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