• Проекционное моделированние

      Вступление


      В прошлой статье я рассмотрел, что такое моделирование. Из этого рассказа должно было возникнуть чувство, что обмен описаниями скорее невозможен, чем возможен. У каждого субъекта свой мир в его сознании. Кто-то видит модель в виде образа, кто-то слышит ее в виде речи, кто-то осязает ее. Как мы при этом умудряемся о чем-то договориться, совершенно непонятно. И все же мы это делаем. Как это нам удается, — вопрос к психологам. Нам же стоит удивиться и воспользоваться этой возможностью, чтобы идти дальше.

      В идеале должно быть так: два разных субъекта, получив на вход одну и ту же информацию, должны дать ее описание в одном и том же виде. Вспомните начертательную геометрию. Вам дается задание начертить конус. И все студенты чертят похожие рисунки, называемые чертежами. Так и в случае моделирования более сложных объектов: предприятий, зданий, процессов, мы должны добиться такого же уровня унификации, при котором все будут чертить похожие рисунки, писать похожие тексты (и т.д.), называемые моделями.

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

      Я претендую на создание подобного языка, но для описания более сложных объектов: операций, функций, объектов. Об этом языке сегодня мой рассказ.
      Читать дальше →
    • PVS-Studio 2018: CWE, Java, RPG, macOS, Keil, IAR, MISRA

        PVS-Studio 2018: CWE, Java, RPG, macOS, Keil, IAR, MISRA

        Приближается 2018 год и пора подумать о новых направлениях развития нашего статического анализатора PVS-Studio. Сейчас наибольший интерес для нас представляет поддержка языка Java. Дополнительно мы рассматриваем возможность поддержки языка IBM RPG. Не менее интересно развить анализ C, C++ C# кода в направлении выявления потенциальных уязвимостей. Ещё нам хочется поддержать анализ C и C++ кода на платформе macOS, и, наконец, доделать поддержку компиляторов от компаний Keil и IAR. Никуда мы не денемся и от поддержки стандарта MISRA. Перечислено много, и на всё одного 2018 года нам не хватит. Поэтому давайте вместе с нами пообсуждаем наши планы и выберем самые приоритетные направления.
        Читать дальше →
      • Расширение моделей в Eloquent ORM

        • Перевод


        Мы прошли долгий путь, с тех дней когда мы в ручную писали SQL запросы в наших веб приложения. Инструменты, такие как Laravel’ий Eloquent ORM позволяют нам работать с базой данных на более высоком уровне, освобождают нас от деталей более низкого уровня — таких как синтаксис запросов и безопасность.

        Читать дальше →
      • Объяснение SNARKs. От вычислений к многочленам, протокол Пиноккио и сопряжение эллиптических кривых (перевод)

          Привет, Хабр! Представляю вашему вниманию перевод статей блога ZCash, в которых рассказывается о механизме работы системы доказательств с нулевым разглашением SNARKs, применяемых в криптовалюте ZCash (и не только).

          Предыдущие статьи:

          Часть 1: Объяснение SNARKs. Гомоморфное скрытие и слепое вычисление полиномов (перевод)
          Часть 2: Объяснение SNARKs. Знание о принятом коэффициенте и достоверное слепое вычисление полиномов (перевод)

          Вступление от переводчика


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

          Ну что же, не буду задерживать далее вашего внимания, давайте перейдем к самому интересному…
          Читать дальше →
        • Краткий обзор Symfony. Актуальность. Стоит ли попробовать?

            Всем доброго! У нас запускается третий партнёрский курс — Разработчик PHP, где мы вместе с Авито подготовили программу, а теперь думаем стоит ли отдельно делать спецкурс по фреймворкам. Первым на рассмотрении оказался Symfony.

            Немного истории

            Symfony представляет собой один из самых популярных фреймворков для веб-разработки в мире.

            Он прошел длинный путь от полностью интегрированного full-stack фреймворка с бэк-офисом в Symfony 1.x к фреймворку, который стал развитием наработок Java-сообщества, и содержавшем в себе компоненты, вдохновленные JEE в версии Symfony2.

            Изначально Symfony2 требовал PHP 5.2.7, но PHP 5.3, только вышедший на тот момент, обладал новой объектно-ориентированной моделью, поэтому SensioLabs незамедлительно сделали эту версию обязательной. Уже после в Symfony использовали Composer, завершили документацию и полностью перевели её на английский.

            Практически сразу началась миграция крупных open-source проектов на Symfony: OroCRM, EzPublish, Drupal8, PHPBB, PrestaShop, Piwik и многие другие — часть полностью перешла на этот каркас, а некоторые использовали только отдельные программные компоненты. Стоит особо отметить Drupal8 — возможно, это не был самый первый проект, но точно одна из крупнейших CMS на рынке.

            Возможность использовать лишь отдельные программные компоненты Symfony позволила обогатить экосистему специализированными программными решениями. Это сместило в тень фреймворк Standard Edition, (так называемое “полное издание” или “мета-пакет”), который уже не мог быть ответом на насущные вопросы бизнеса. Поэтому в 2017 году создатель Symfony объявил, что версия 3.4 для него станет последней.


            Читать дальше →
          • «Я всегда должен быть на виду» — Интервью с Олегом Шелаевым из ZeroTurnaround (часть 1)



              Всем привет! Вашему вниманию — очередной выпуск шоу «Без Слайдов». На этот раз гостем стал Олег Шелаев, Developer Advocate компании ZeroTurnaround, которая делает разные продукты для Java-разработчиков. За время, которое прошло с момента интервью, произошло два важных события:

              • Олег получил звание Java Champion
              • Компанию ZeroTurnaround купила компания Rogue Wave Software

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

              • кто такие ZeroTurnaround;
              • как стать Developer Advocate;
              • о правильном маркетинге;
              • о продажниках и инвесторах;
              • об инструментах маркетинга и продаж;
              • о задачах и проблемах маркетинга.

              Получилось много про маркетинг и технологии в маркетинге. А так же о том, что такое «правильный айтишный маркетинг».



              Расшифровка как всегда — под катом. Приятного вам просмотра или чтения.
              Читать дальше →
            • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

              Подробнее
              Реклама
            • Разработчик-детектив: занимательные задачки из реальной жизни

              image

              Посреди долгой рутины веб-разработки мне иногда встречаются необычные ошибки. Вот, вроде, всё хорошо — и так работает, и сяк работает. А по-третьему — не работает, хотя на первый взгляд должно. Я просто обожаю процесс поиска причин таких ошибок и хотел бы поделиться некоторыми из таких историй. Ответы (что на самом деле было не так) опубликую через пару дней.
              Читать дальше →
            • Эксперименты с контрактами Solidity в тестовой сети Rinkeby блокчейна Ethereum



                Эта статья представляет собой небольшое практическое руководство, которое поможет вам быстро настроить среду разработки смарт-контрактов на языке Solidity для блокчейна Ethereum. Вы опубликуете первый контракт, сохраните его в тестовом блокчейне Rinkeby и научитесь вызывать методы контракта. Это будет ваш первый шаг на пути создания децентрализованных приложений DApp (Decentralized Application).

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

                При погружении в эту тему я использовал приложение (браузер) Mist в среде Microsoft Windows, а также интерфейс командной строки Geth узла Ethereum в среде Ubuntu. В этой статье мы расскажем о работе с Geth, а также немного о том, как вызывать методы контрактов из Node.js.

                С благодарностью приму замечания и пожелания по дальнейшим статьям про блокчейн Ethereum, разработку контрактов на языке Solidity и приложений DApp.
                Читать дальше →
                • +11
                • 1,5k
                • 8
              • История о том, как П и Х игру «поделили»

                  Это реальная история. События, о которых рассказывается в посте, произошли в США в 2015-2016 годах. Имена персонажей были изменены, однако всё остальное описано так, как было на самом деле.

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

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

                  На всякий случай, предупреждаю — ваш покорный слуга не имеет к этой истории никакого отношения, однако считает её вполне себе показательным примером классической ситуации.
                  Читать дальше →
                • IoT в роли мотиватора для NAT в IPv6

                    TL;DR: автор печалится о том, что в наступающем счастливом IPv6-будущем единственной приемлемой альтернативой огромным ботнетам IoT является старый добрый NAT на IPv6. К сожалению, конечно.

                    Давайте я сразу раскрою карты: мое мнение и примеры будут основаны на опыте работы в региональном операторе связи, у которого несколько десятков тысяч абонентов, физических и юридических лиц. Один регион присутствия, ЦФО.

                    Проблема


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

                    Почему? Потому что нет последствий.
                    Читать дальше →
                  Самое читаемое