• Запасной вариант для Let's Encrypt — бесплатные автоматические УЦ

      Для многих Let's Encrypt стал неотъемлемой частью веб-разработки, а автоматическое обновление сертификата каждые 90 дней — рутинной процедурой. Фактически, сейчас это самый популярный удостоверяющий центр в интернете. Это великолепно, но и опасно.

      Возникает вопрос: а что, если серверы Let's Encrypt временно перестанут работать? Не хочется думать о возможных причинах сбоя. Но желательно предусмотреть запасной вариант. То есть такой же удобный автоматизированный центр бесплатной сертификации.

      К счастью, запасные варианты есть. Как минимум два. Такие же бесплатные автоматизированные УЦ, созданные по образцу Let's Encrypt.
      Читать дальше →
    • Апгрейд отладочной платы с процессором Baikal-T1: добавляем SD-карту

      • Tutorial
      С апреля прошлого года в открытой продаже доступны отладочные платы BFK3.1 c процессором Baikal-T1 на борту. Всё бы хорошо, но у этой отладки нет штатной возможности подключать SD-карту.

      Нам потребуется 30 минут времени, паяльник, и внешний модуль Catalex-Micro-SD-Card-Module стоимостью 5 штук за 300 рублей — и вопрос снят.

      Вот пошаговое руководство, как добавить SD-кард ридер на BFK3.1. Всё описываемое опробовано на практике. Использовался самый свежий на данный момент SDK 4.16, размещенный на официальном сайте «Байкала». В SDK версии 4.14 и младше это работать не будет.
      Читать дальше →
      • +24
      • 6,3k
      • 3
    • Работа с SD-картой по интерфейсу SPI. Реализация на VHDL

        Привет, Habr! Однажды на работе мне досталась задача оценить возможность реализации хранения данных на SD-карте при подключении ее к FPGA. В качестве интерфейса взаимодействия предполагалось использование SPI, так как он проще в реализации. Полученным опытом хотелось бы поделиться.


        Читать дальше →
      • Разработка приложения с использованием Python и OpenCV на Android устройстве

        • Tutorial


        В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительности Termux на моем Android устройстве и Raspberry Pi 3B.

        Все действия описанные статье выполнялись на:
        Huawei MediaPad M5 10.8
        4GB ОЗУ, Hisilicon Kirin 960s, EMUI 9, без root
        Читать дальше →
      • Hyper-V для разработчиков под Windows 10

        • Перевод
        Hyper-V более известен как технология виртуализации серверов; однако, начиная с Windows 8, он также доступен в клиентской операционной системе. В Windows 10 мы значительно улучшили работу, сделав Hyper-V отличным решением для разработчиков и ИТ-специалистов.
         
        Microsoft Hyper-V, кодовое название Viridian, — это нативный (тип 1) гипервизор, который, в отличие от VMware Workstation, VirtualBox и других гипервизоров типа 2, работает непосредственно на оборудовании. Впервые он был выпущен в Windows Server 2008 и позволяет запускать виртуальные машины в системах x86-64.

        Hyper-V позволяет разработчикам быстро разгонять виртуальные машины для разработки на Windows 10 с превосходной производительностью, но он также используется в нескольких других функциях разработки в качестве серверной технологии, например, в таких как эмулятор Android, подсистема Windows для Linux 2 (WSL2) или контейнеры Docker. В этой статье мы кратко рассмотрим, как Hyper-V в Windows 10 может помочь разработчикам.
        Читать дальше →
      • 5 причин использовать Linux в 2020 году

        • Перевод


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

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

        • Перевод
        • Tutorial
        Используйте все возможности инструмента управления сетевыми подключениями NetworkManager в командной строке Linux c помощью утилиты nmcli.



        Утилита nmcli напрямую обращается к API для доступа к функциям NetworkManager.

        Она появилась в 2010 году и для многих стала альтернативным способом настройки сетевых интерфейсов и соединений. Хотя кто-то до сих пор использует ifconfig. Так как nmcli — это инструмент интерфейса командной строки (CLI), предназначенный для использования в окнах терминалов и скриптах, он идеально подходит для системных администраторов, работающих без GUI.
        Читать дальше →
      • Программирование SPI Flash с помощью Arduino и SD-карты

        Предыстория


        Во время очередной уборки был случайно выключен удлинитель, к которому были подключены работающие системный блок и монитор. Системный блок состоит из:

        • материнская плата — ASRock B75 Pro 3
        • процессор — Intel Core i5-3570
        • блок питания — Corsair CX750M

        После включения системник начал издавать пять противных писков, что вроде как соответствует неисправности процессора. Процессор, судя по Яндекс.Маркету, на данный момент стоит от 11000 руб. Покупать довольно накладно, а недорогой, но слабенький не хочется. В общем, немного испугался…

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

        В первую очередь подключил другой старенький БП — комп не запускается.

        Для дальнейших проверок принес домой автомобильный комп. Состав:

        • материнская плата — ASRock B75M-ITX
        • процессор — Intel Pentium G640T

        Как хорошо, что компоненты оказались взаимозаменяемыми.

        Вытащил из автомобильного компа процессор, вставил его в домашний — комп не запускается. Но появилась надежда, что процессор все таки цел, а неисправна материнка, которая немного дешевле (хотя новые на чипсетах не H61 и H67 — дефицит).

        Далее домашний процессор вставил в автомобильный комп — комп заработал. Следовательно, процессор живой, а проблема в материнке. Начал грешить на BIOS (Winbond 25Q64BVAIG).
        Читать дальше →
      • Я станцевал бы для тебя Menuet

          История удивительной операционной системы MenuetOS




          Идея разработки миниатюрной ОС с оконным графическим интерфейсом, построенной по принципу «вся система на одной дискете», появилась, наверное, одновременно с этими самыми дискетами. Попытки запихнуть компактную операционнку c GUI на съемные носители предпринимались и в девяностые, и в двухтысячные. Одной из таких попыток, со временем превратившихся в серьезный проект, который дожил до наших дней, стала созданная фактически на голом энтузиазме MenuetOS. Эта система отличается от других подобных «стартапов» и замыслом, и используемыми технологиями, и архитектурой.
          Читать дальше →
        • Смартфон как системный блок, почему нет?


            Linux Deploy от Антона Скшидлевского aka meefik

            Современные смартфоны по CPU и объёму оперативной памяти практически сравнялись с настольными компьютерами и ноутбуками: не редкость 8 ГБ оперативной памяти и флэш-накопитель на 512 гигабайт. Например, в последнем айфоне 6-ядерный CPU и 4-ядерный графический процессор, причём CPU сделан по 5-нанометровому техпроцессу. Сейчас ни один CPU для настольных компьютеров не производится по такой технологии. То есть мы дошли до того, что технический прогресс сначала обслуживает смартфоны, потом ноутбуки, а до настольных компьютеров доходит в последнюю очередь.

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

            Всё-таки удобнее вводить команды в Linux-консоли с клавиатуры, а не прицеливаться пальцами по экрану.
            Читать дальше →
          • Уязвимости в реализации межпроцессного взаимодействия в Android-приложениях

              Последние 6 лет я работаю экспертом по информационной безопасности в Одноклассниках и отвечаю за безопасность приложений.


              Мой доклад сегодня — о механизмах межпроцессного взаимодействия в Android и уязвимостях, связанных с их неверным использованием.



              Но сначала пара слов о том, как появился этот доклад.


              Наверное, вы уже заметили, что на каждом Heisenbug есть как минимум один доклад про безопасность, например про XSS или поиск уязвимостей в веб-приложениях. Тема мобильной безопасности осталась не охвачена, хотя мы живем в 2020 году, и аудитория мобильных приложений уже давно превысила аудиторию веба. Мне хотелось выбрать тему из мира мобильной безопасности — достаточно конкретную, чтобы выдержать формат технического доклада, но при этом достаточно распространенную.

              Читать дальше →
              • +26
              • 3,3k
              • 2
            • Дерево синтаксиса и альтернатива LINQ при взаимодействии с базами данных SQL

              • Перевод


              В этой статье, на примере простых логических выражений, будет показано, что такое абстрактное синтаксическое дерево и что с ним можно делать. Так же будет рассмотрена альтернатива выражениям LINQ для выполнения запросов к SQL базам данных.

              Читать дальше →
            • NVMe против UFS 3.1: Битва типов памяти в смартфонах. Разбор

                iPhone быстрые? Да! Но почему?

                Apple мало что рассказывает нам про внутренности своих девайсов. Как будто скрывает от нас страшную тайну!

                Например, знали ли вы что в iPhone и в Android используется совершенно разный тип флеш-памяти? NVMe в iPhone и UFS в Android.


                Может в этом секрет скорости девайсов Apple? Сегодня разберемся в том, как устроена флеш-память. Узнаем, чем отличаются стандарты памяти? И главное — сравним, кто всё-таки быстрее Android или iPhone! Такой информации больше нигде не найдете. Так что, читайте и смотрите до конца!
                Читать дальше →
              • Внедрение зависимостей – проще, чем кажется?

                  Привет, Хабр!

                  У нас готовится к выходу второе издание легендарной книги Марка Симана, «Внедрение зависимостей в .NET»



                  Поэтому сегодня мы решили кратко освежить тему внедрения зависимостей для специалистов по .NET и C# и предлагаем перевод статьи Грэма Даунса, где эта парадигма рассматривается в контексте инверсии управления (IoC) и использования контейнеров.
                  Читать дальше →
                • Что такое память типа LPDDR5? — Разбор

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

                    Это весной президент Xiaomi Group провел опрос в социальной сети Weibo, в котором спросил у фанатов: сколько оперативной памяти они бы хотели видеть в новом флагмане Redmi: 8 или 12 ГБ при одинаковой цене. И как вы думаете за какой вариант проголосовали фанаты? За 8 Гб. Но почему? Дело в том, что Xiaomi предлагали выбор 12ГБ стандарта LPDDR4x, и 8 ГБ стандарта LPDDR5. Но что такого нового в этом LPDDR5, чтобы идти на такие жертвы?


                    Сегодня мы разберемся в стандартах оперативной памяти. Выясним, чем отличается LPDDR от DDR. Узнаем как новая оперативка влияет на автономность устройств, помогает развитию 5G и спасает жизни водителей!
                    Читать дальше →
                  • Вскрытие трафика в публичных сетях



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

                      Шучу. На самом деле передо мной стояла задача понять две вещи:

                      1. Насколько опасно пользоваться публичным WiFi в 2020 году, в мире где господствуют браузеры и сайты с повсеместно победившими технологиями HTTPS (на основе TLS 1.1+) и HSTS
                      2. Сможет ли человек моего уровня знаний (не самого высокого) “залезть” в чужой браузер и стащить ценные данные.

                      Спойлер
                      А в спойлере спойлер:
                      1. Да, Опасно!
                      2. Вполне сможет
                      Читать дальше →
                    • Реализуем машинное обучение на iOS-устройстве с использованием Core ML, Swift и Neural Engine

                      • Перевод
                      Привет, хабр! В преддверии старта продвинутого курса «Разработчик iOS», мы традиционно подготовили для вас перевод полезного материала.





                      Введение


                      Core ML — это библиотека машинного обучения, выпущенная в свет Apple на WWDC 2017.

                      Она позволяет iOS разработчикам добавлять в свои приложения персонализированный опыт в режиме реального времени с использованием передовых локальных моделей машинного обучения с помощью Neural Engine.
                      Читать дальше →