• Самый простой способ сделать чат в iOS приложении

    Всем привет! Каждый раз при проектировании и верстке чата у меня возникал вопрос: «А можно ли это как-нибудь упростить?». На следующей неделе мне предстоит верстать большой чат для приложения, поэтому в голове опять начали появляться мысли про облегчение верстки. Немного посидев и потыкав возможности AutoLayout, я нашел способ упростить процесс верстки и дальнейшей работы по максимуму. При решении подобных задач зачастую используют UICollectionView, но в этот раз мы будем использовать UITableView.
    Читать дальше →
    • +13
    • 5.1k
    • 8
  • Опыт построения умного дома на Raspberry Pi и открытой платформе OpenHAB. Часть 1

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


      Эта статья не является полной инструкцией что и как делать, а больше сборником куда копать и что почитать или посмотреть, чтобы сделать самому.


      Тем не менее вы найдете для себя много полезной информации и ссылок, а главное при минимальных навыках поиска информации в интернете вы сможете сами найти все необходимые пошаговые инструкции. В наш век DIY (Do It Yourself, самоделки), вы все можете получить в виде 5-20 минутных делай-как-я видео инструкций. Нынче никто уже не пишет по-старинке.

      Читать дальше →
    • Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью

      image

      Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание картины, при этом запрещать ему использовать желтый цвет. Тем не менее, сложно представить себе предприятие, которое серьезно занимается разработкой программного обеспечения для систем ответственного назначения, у которого в писанных или неписанных стандартах не было бы указаний о том, какой язык программирования применять и, мало того, как его применять.

      Данная статья посвящена подходу, который определен в стандарте IEC 61508 и который состоит в применении для разработки ответственного программного обеспечения безопасных подмножеств языков программирования С и С++.

      Читать дальше →
      • +14
      • 6.2k
      • 4
    • Глубокое погружение в принципы работы Wi-Fi 6: OFDMA и MU-MIMO

        В своих разработках Huawei делает ставку на Wi-Fi 6. И вопросы от коллег и заказчиков о новом поколении стандарта подтолкнули нас к тому, чтобы написать пост о теоретических основах и физических принципах, заложенных в него. От истории перейдём к физике, подробно разберёмся, зачем нужны технологии OFDMA и MU-MIMO. Поговорим и о том, как принципиально переработанная физическая среда передачи данных позволила добиться гарантированной пропускной способности каналов и такого уменьшения общего уровня задержек, что они стали сопоставимы с «операторскими». И это при том, что современные сети на основе 5G дороже (в среднем в 20–30 раз) аналогичных по возможностям indoor-сетей на Wi-Fi 6.


        Читать дальше
      • Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC

        Доброго дня!

        Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR).

        Предистория


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

        • Translation
        Перевод статьи подготовлен в преддверии старта курса «Machine Learning».




        Вы специалист по Data Science, который сейчас идет по тропе обучения. И вы уже прошли долгий путь с того момента, как написали свою первую строку кода на Python или R. Вы знаете Scikit-Learn как свои пять пальцев. Теперь вы больше сидите на Kaggle, чем на Facebook. Вы не новичок в создании потрясающих случайных лесов и других моделей ансамбля деревьев решений, которые отлично справляются со своей работой. Тем не менее, вы знаете, что ничего не добьетесь, если не будете всесторонне развиваться. Вам хочется копнуть глубже и разобраться в тонкостях и концепциях, лежащих в основе популярных моделей машинного обучения. Что ж, мне тоже.

        Сегодня я расскажу о понятии энтропии — одной из важнейших тем статистики, а позже мы поговорим о понятии Information Gain (информационный выигрыш) и выясним, почему эти фундаментальные концепции формируют основу того, как исходя из полученных данных строятся деревья решений.
        Читать дальше →