• Куй железо: горячий жаргон hardware-стартапов



      Борис Каганович, технический директор CINEMOOD, открывает цикл статей, посвященных hardware-стартапам, разработке, производству и развитию продуктов. В первой статье цикла — словарь специфических терминов, которые помогут разработчикам и основателям компаний быстрее интегрироваться в hardware среду.
      Читать дальше →
      • +34
      • 7,2k
      • 1
    • [DotNetBook] Структура экземпляров типов и VMT

      • Tutorial
      С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом.

      Вся книга будет доступна на GitHub: CLR Book. Так что Issues и Pull Requests приветствуются :)

      Это — выжимка из главы про структуру типов и их VMT.

      Структура объектов в памяти


      До сих, говоря про разницу между значимыми и ссылочными типами, мы затрагивали эту тему с высоты конечного разработчика. Т.е. мы не смотрели на то как они в реальности устроены на уровне CLR, как сделаны те или иные механики внутри каждого из них. Мы смотрели фактически на конечный результат. Однако, чтобы понимать суть вещей глубже и чтобы отбросить в сторону последние оставшиеся мысли о какой-либо магии, происходящей внутри CLR стоит заглянуть в самые ее потроха.
      Читать дальше →
      • +33
      • 3,6k
      • 1
    • Конструирование сайта, защищенного от блокировок

        Привет всем! В связи с ростом блокировок, в том числе необоснованных, сайтов со стороны государства, вашему вниманию предлагается описание идеи, а также прототип настроек сайта, защищенного от блокировок по конкретному пути и доменному имени. Идеи по защите от блокировок:


        • со звездочкой
        • по адресу IP

        будут изложены в других постах. Кому интересна тема, заходите под кат.

        Читать дальше →
      • Kubernetes 1.9: обзор основных новшеств



          Очередной релиз системы Kubernetes, 1.9, должен случиться на этой неделе. Согласно текущему плану, это произойдёт сегодня (13 декабря). Об основных новшествах, которые принесёт этот выпуск, уже известно: как и в прошлый раз, их накопилось действительно много. Представляем обзор самых значимых изменений, которые приходят в Kubernetes с грядущим релизом 1.9.
          Читать дальше →
          • +33
          • 6,3k
          • 8
        • Vivaldi Sync — первое знакомство

            image

            Всем привет! Пожалуй, самой ожидаемой функцией Vivaldi, планируемой к добавлению в браузер в текущем году, стала синхронизация данных. И мы приложили массу усилий к тому, чтобы оправдать ваши ожидания. На самом деле те, кто пользуется тестовыми сборками, уже смог попробовать в работе Vivaldi Sync, но для многих пользователей нашего браузера данная функция пока остаётся практически неизвестной. Сегодняшняя статья позволит вам узнать, как работает синхронизация Vivaldi, и поможет начать использование этой важной и нужной функции.
            Читать дальше →
          • Управление зависимостями в PHP

            • Перевод

            При создании PHP-приложения или библиотеки обычно у вас есть три вида зависимостей:


            • Жёсткие зависимости: необходимые для запуска вашего приложения/библиотеки.
            • Опциональные зависимости: например, PHP-библиотека может предоставлять мост для разных фреймворков.
            • Зависимости, связанные с разработкой: инструменты отладки, фреймворки для тестов...

            Как управлять этими зависимостями?

            Читать дальше →
            • +32
            • 5,7k
            • 8
          • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

            Подробнее
            Реклама
          • Как узнать, что будет делать программа для Linux, не выполняя её по-настоящему?

            • Перевод
            Хотелось ли вам когда-нибудь узнать, какие именно действия будет выполнять команда Linux, ещё до вызова этой команды? Предположим, вы опытный пользователь, и вы знаете, как ведут себя многие команды. Но даже вам не под силу знать, как работает абсолютно всё. Конечно, определённую помощь в выяснении подробностей о командах может оказать веб-сервис Explainshell. Для этого нужно будет скопировать и вставить туда интересующую вас команду, после чего вы найдёте подробное описание того, как работает каждая её часть. Однако, это не наш метод. Благодаря тому инструменту, о котором мы сейчас расскажем, узнать, как именно работает некая программа, можно прямо из командной строки.



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


              Введение

              Методы нелинейной оптимизации широко применяются при проектировании машин и механизмов. Указанные методы применяются и в ракетостроении, например, для оптимизации многоступенчатых ракет [1].

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



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

              Мы рассмотрим две задачи в предположении, что коэффициент и скорость реактивной струи Cn постоянны на каждой ступени, однако на разных ступенях могут принимать различные значения. В обеих задачах в качестве целевой функции принят коэффициент полезной нагрузки ракеты G, который необходимо минимизировать.

              Характеристики многоступенчатой ракеты можно описать двумя уравнениями. Первое уравнение для коэффициента полезной нагрузки ракеты:



              где: W1– полезный вес ракеты ;WN –начальный вес ракеты до отделения ступеней.
              Читать дальше →
              • +31
              • 7,7k
              • 8
            • TeamCity 2017.2: 100 бесплатных билд конфигураций, Docker, .NET CLI, композитные билды и улучшения в Kotlin DSL

                Привет, Хабр! На прошлой неделе мы выпустили новую версию нашего CI и CD сервера: TeamCity 2017.2! Как вы, наверняка, поняли из заголовка, она полна не только новой функциональностью, но и преподнесет приятный сюрприз тем, кто пользуется бесплатной (Professional) версией. Но обо всем по порядку.

                Прежде всего, список всех улучшений, как всегда, очень внушительный – ознакомьтесь с ним после прочтения этого поста, если захотите подробностей. Здесь же мы остановимся на самых “вкусных” фичах последнего релиза.

                TeamCity 2017.2 released

                100 билд конфигураций


                После обновления до версии 2017.2 все пользователи TeamCity Professional будут приятно удивлены — вместо стандартных 20 билд-конфигураций TeamCity теперь предоставляет 100! Это доступно абсолютно бесплатно каждому пользователю версии 2017.2. Никаких подводных камней. Для не знакомых с терминологией, билд-конфигурация (build configuration) в TeamCity – это то же самое, что и job в терминах Jenkins.
                Читать дальше →
              • Двоичный поиск в графах

                • Перевод

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

                При каждом сравнении алгоритм двоичного поиска разбиваем пространство поиска пополам. Благодаря этому всегда будет не более $\log(n)$ сравнений со временем выполнения $O(\log n)$. Красиво, эффективно, полезно.

                Но всегда можно посмотреть под другим углом.

                Что, если попробовать выполнить двоичный поиск по графу? Большинство алгоритмов поиска по графам, такие как поиск в ширину или поиск в глубину, требуют линейного времени и были придуманы довольно умными людьми. Поэтому если двоичный поиск по графу будет иметь какой-то смысл, то он должен использовать больше информации, чем та, к которой имеют доступ обычные алгоритмы поиска.
                Читать дальше →
                • +28
                • 5,8k
                • 8
              Самое читаемое