• Как мы создавали менеджер паролей со стойкой криптографией и мастер-паролем. Опыт команды Яндекс.Браузера

      Как ни странно, но только 1% пользователей браузера используют специализированные расширения для хранения паролей (LastPass, KeePass, 1Password, ...). Безопасность паролей всех остальных пользователей зависит от браузера. Cегодня мы расскажем читателям Хабрахабра, почему наша команда отказалась от архитектуры защиты паролей из проекта Chromium и как разработала собственный менеджер паролей, который уже тестируется в бете. Вы также узнаете, как мы решили проблему сброса мастер-пароля без расшифровки самих паролей.



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

      Читать дальше →
    • Продвижение ПО на Запад: ожидание vs.реальность на примере одного видеоредактора


        Статьи о продвижении IT-продуктов, как правило, можно разделить на две категории.

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

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

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

        В качестве примера мы будем опираться на результаты продвижения видеоредактора VSDC на западный рынок, которым занимались последний год, и расскажем, какие методы сработали, а какие — нет.
        Читать дальше →
      • Бесплатно, но…



          Сразу же должен сказать, что никого тут не собираюсь критиковать — просто возникли некоторые сомнения. Да и как можно испытывать что-либо кроме благодарности за полезный и к тому же бесплатный инструмент? Впрочем, и рекламировать никого не собираюсь, приведенные ниже примеры – не более чем примеры, демонстрирующие некоторые проблемы распространения через Интернет инструментов, которые могут возникнуть у части пользователей. Выбор примеров случайный. В заключение опрос, который, возможно, поможет понять, насколько эти проблемы представляются серьезными и стоит ли на них вообще обращать внимание при распространении freeware и shareware. Однако речь пойдет не только про «условно-бесплатное» shareware, но придется коснуться и чисто коммерческих программ, так как они во многом определяют общую погоду и с них, возможно, многие берут пример…

          (Источники: часы, доллар США, MacOS Sierra 10.12 Help)
          Читать дальше →
        • Как мы делали приложение под Windows 10 с Fluent Design (UWP/C#)

            Мы в ivi давно собирались обновить наше приложение под Windows 10 (которое для ПК и планшетов). Мы хотели сделать его эдаким «уютным» уголком для отдыха. И поэтому анонсированная недавно Microsoft-ом концепция fluent design пришлась нам очень кстати.

            Но я не буду здесь рассказывать про стандартные компоненты, предлагаем Microsoft-ом для fluent design-а (Acrylic, Reveal, Connected-анимации и др.), хотя мы их, конечно, используем тоже. С ними всё просто и понятно — бери документацию и пользуйся. 

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

            image

            Идея в том, что мы используем depth и motion из fluent design system. Центральный элемент как бы слегка приподнимается надо всеми остальными. Это достигается за счёт анимации его размера и тени во время скролла. 
            Читать дальше →
          • ReactOS 0.4.7: Павел Дуров больше не Пюыщн

              Приветствую Вас, Хабражители!

              7 декабря 2017 года вышел очередной релиз операционной системы ReactOS под номером 0.4.7, первый после перезда проекта на GitHub. В процессе подготовки релиза было закрыто более 450 отчетов об ошибках, в том числе исправлено около 15 регрессий. Сегодня я расскажу о самых интересных изменениях, вошедших в этот выпуск!

              Безусловно, одна из главных новостей то, что теперь Павел Дуров ведет здоровый образ жизни и в ReactOS. Так что этот скриншот из энциклопедии мемов «Луркоморье» станет частью истории:

              image
              Читать дальше →
            • Решение задачи оптимизации многоступенчатых ракет


                Введение

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

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



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

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

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



                где: W1– полезный вес ракеты ;WN –начальный вес ракеты до отделения ступеней.
                Читать дальше →
                • +31
                • 7,6k
                • 8
              • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

                Подробнее
                Реклама
              • Когда дворецкий — жертва

                  Picture 5

                  Сегодня мы отойдём от классического клише второсортных детективов и расскажем вам о случае из нашей практики, когда дворецкий сам выступил в роли жертвы, а поиски настоящего преступника привели нас к неожиданному результату. Но не стоит пугаться. Речь, конечно же, пойдет не о настоящих людях, а о программах. И о том, что нам не страшно признавать собственные ошибки: мы-то знаем, что от них не застрахован ни один коллектив разработчиков.
                  Читать дальше →
                • Грабли при начале работы с Node.js



                    Всем привет!

                    Иногда встречаются задачи, которые требуют программной автоматизации. Также может требоваться поддержка мультиплатформенности. И тут на фоне остальных решений Node.js выделяется своей простотой разработки и поддержкой огромным сообществом. Но чего-то не хватает.
                    Читать дальше →
                  • API BIM-системы Renga

                      Всем привет! В этой статье я расскажу об API BIM-системы Renga. О самой системе можно почитать тут, здесь же можно запросить версию для некоммерческого использования. Если вкратце, то Renga это трехмерная система автоматизированного проектирования в архитектуре и строительстве. В ней проектировщик/архитектор/конструктор работает с информационной моделью здания, получает ассоциативные чертежи, спецификации, в общем, создает проект.



                      Зачем нужно API CAD-системы


                      Сначала, как водится, немного водички.

                      Разработка расширений для CAD систем довольно распространена, поскольку в любом проектировании существуют различные направления, разделы и стандарты оформления проектной документации, которые требуют разной узкоспециализированной функциональности. Кроме того существуют задачи интеграции с программами расчета, визуализации, документооборота и многими другими. Выход — создание подключаемых модулей, расширяющих функциональность системы.
                      Читать дальше →
                    • Собираем пользовательскую активность в WPF

                        Недавно мы рассказывали о том, как можно логировать действия пользователей в WinForms приложениях: Оно само упало, или следствие ведут колобки. Но что делать, если у вас WPF? Да нет проблем, и в WPF есть жизнь!



                        В WPF не надо будет вешать никаких хуков и трогать страшный винапи, собственно за пределы WPF мы и не выйдем. Для начала вспомним, что у нас есть routed events, и на них можно подписываться. В принципе, это все, что нам надо знать, чтобы реализовать поставленную задачу :)
                        Читать дальше →
                      Самое читаемое