Интернет вещей (Internet of Things, IoT) — это множество физических объектов, подключенных к интернету и обменивающихся данными. Концепция IoT может существенно улучшить многие сферы нашей жизни и помочь нам в создании более удобного, умного и безопасного мира. Примеры Интернета вещей варьируются от носимых вещей, таких как умные часы, до умного дома, который умеет, например, контролировать и автоматически менять степень освещения и отопления. Также ярким примером служит так называемая концепция умного предприятия (Smart Factory), которое контролирует промышленное оборудование и ищет проблемные места, а затем перестраивается так, чтобы не допустить поломок. Интернет вещей занимает важное место в процессе цифровой трансформации в компаниях. Прогнозируется, что к 2030 году количество подключенных к сети устройств вырастет примерно до 24 млрд с годовой выручкой до 1,5 трлн долларов.
Пользователь
Прикладное adb (Android Debug Bridge) для зумеров
Это обзорная статья для таких же, как и я, которые начинали программировать уже в тот момент, когда весь функционал командной строки обрел "кнопочки" в интерфейсе.
В этой инструкции хочу рассказать о командах adb, которые использовать легче, чем делать то же самое через UI.
Основная задача — показать возможности adb, которые избавят от рутинных шагов при разработке/отладке. Например, позволят быстро переключать светлую тему на темную.
Ниже рассмотрим только те команды, которые действительно пригождаются хотя бы раз в пару дней. Для остального есть документация.
История о том, как Graphviz и бор взломали шифр от Sony
Мою первую статью я желаю посвятить истории о том, как я решил заняться исследованием часто встречающихся в модулях PlayStation Portable непонятных байтовых строк. Никакой документации в Homebrew коммьюнити найти не удалось, так что я взялся за дело сам.
Организационные структуры. Виды, характеристики, отличия
Основатель «Магнита» Сергей Галицкий однажды сказал в интервью: «Чтобы управлять компанией на 11 000 магазинов и 300 000 сотрудников, нужно соблюдать принцип, что у каждого человека не более прямых 7 подчиненных, и выстраивать такими "ячейками" структуру управления».
Но по какому принципу эти «ячейки» стыкуются, согласуются между собой? Как выстроить структуру управления, когда в компании несколько десятков, сотен, а то и тысяч сотрудников? Какие есть типы организационных структур, их плюсы и минусы?
Тема эта довольно обширная и мы попробуем охватить её в нескольких материалах — сегодня сделаем обзор типов организационных структур и заглянем в историю этого вопроса.
Слово Божие — функциональное программирование как основа Вселенной
В одном из своих предыдущих постов под названием "Эйлер, Чёрч и Мандельброт — этюд о красоте и математике" я немного затронул тему рассмотрения функционального программирования в качестве основы реальности. Под тем постом было оставлено множество интересных комментариев, один из которых, написанный @nickolaym, вдохновил меня на развитие мысли в данном направлении. Так появился этот пост, в котором прямо как во времена пифагорейской школы и платоновской академии философия переплелась с математикой, а математика с философией.
Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое
Не так давно у со мной произошел довольно-таки интересный инцидент, в котором был замешан один из преподавателей одного колледжа информатики.
Разговор о программировании под Linux медленно перешел к тому, что этот человек стал утверждать, что сложность системного программирования на самом деле сильно преувеличена. Что язык Си прост как спичка, собственно как и ядро Linux (с его слов).
У меня был с собой ноутбук с Linux, на котором присутствовал джентльменский набор утилит для разработки на языке Си (gcc, vim, make, valgrind, gdb). Я уже не помню, какую цель мы тогда перед собой поставили, но через пару минут мой оппонент оказался за этим ноутбуком, полностью готовый решать задачу.
И буквально на первых же строках он допустил серьезную ошибку при аллоцировании памяти под… строку.
char *str = (char *)malloc(sizeof(char) * strlen(buffer));
buffer — стековая переменная, в которую заносились данные с клавиатуры.
Я думаю, определенно найдутся люди, которые спросят: «Разве что-то тут может быть не так?».
Поверьте, может.
А что именно — читайте по катом.
Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++
Привет, Хабр! Меня зовут Кирилл Колодяжный, я ведущий инженер-программист в YADRO. Помимо основных рабочих задач, включающих исследование проблем производительности СХД, я увлекаюсь машинным обучением. Участвовал в коммерческих проектах, связанных с техническим зрением, 3D-сканерами и обработкой фотографий. В задачах часто использовал С++, хотя машинное обучение традиционно ассоциируется с Python. Этот язык программирования буквально захватил сферу, его используют повсюду — от обучающих курсов до серьезных ML-проектов.
Однако Python — не единственный язык, на котором можно решать задачи машинного обучения. Так, альтернативой может стать С++. Если последний вам ближе, вам будет интересен и полезен этот текст.
Под катом разберемся:
• как организовать работу с данными и загрузку обучающего датасета,
• как описать структуру нейронной сети,
• как использовать уже готовые алгоритмы машинного обучения из доступных библиотек и фреймворков,
• как организовать конвейер обучения сети,
• как использовать предобученные глубокие сети для решения задач.
Обзор катастрофических рисков ИИ
Это перевод статьи Дэна Хендрикса, Мантаса Мазейки и Томаса Вудсайда из Center for AI Safety. Статья не требует практически никаких предварительных знаний по безопасности ИИ, хотя предполагает некоторый (небольшой) уровень осведомлённости о прогрессе ИИ в последние годы.
Опыт организации планирования в машиностроении применительно к ИТ. Часть 3
Сопоставление организации планирования в машиностроении с подходами при планировании разработки программного обеспечения.
Продолжаем рассмотрение опыта автоматизации планирования и учета в машиностроении и сопоставляем с подходами в ИТ. С предыдущими частями статьи можете ознакомиться по ссылкам: Часть 1 и Часть 2.
Притча о нулевом указателе для ленивых C программистов
Я согласен, что ошибка выделения памяти с помощью malloc редкая ситуация, и после такой ошибки, скорее всего, невозможно полноценное функционирование программы. Но меня удивляет, с каким упорством программисты, приводя эти аргументы, предлагают вообще ничего не делать в такой ситуации. Я не призываю всех делать сложные механизмы восстановления работы после нехватки памяти или использовать заранее выделенные резервные буферы. Многим программам не нужны такие сложные механизмы. Тем не менее я не понимаю, почему хотя бы минимально не обработать такие ситуации корректно. Раз других объяснений пока не хватило, попробую в этот раз рассказать короткую притчу.
Работа со временем и датой в C# с применением библиотеки Humanizer
Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime
и TimeSpan
в удобный для восприятия человеком вид, как настраивать параметры гуманизации и как объединять гуманизацию строк со временеме/датой. Мы также рассмотрим некоторые реальные сценарии использования и примеры того, как Humanizer может улучшить пользовательский опыт в отношении времени и даты.
Рекомендации при работе с PostgreSQL
Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.
Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)
Как на самом деле работает Async/Await в C# (Часть 1)
Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.
Принципы SOLID на JS, теперь точно простым языком, но не очень коротко
SOLID — универсальный набор принципов разработки поддерживаемого программного обеспечения. В данной статье я попытался разъяснить свое понимание принципов SOLID в отношении языка JavaScript: особенности реализации, некоторые синтаксические конструкции и, конечно, примеры из жизни. Если вам стало интересно, то прошу под кат.
Настраиваем окружение Qt6+QtC без VPN
Как известно, с недавних пор сервера qt.io запрещают загрузку любых архивов с российских IP. Если первое время проверка шла только на получение метаинформации, теперь любая загрузка файла обрывается сервером.
Обычные советы, как это обойти, включают:
• Используй платный безлимитный VPN;
• Используй дистрибутив Linux и его бинарные сборки;
• Собирай сам из исходинков.
Все это рабочие советы, но не очень дружелюбны к начинающим разработчикам, которые только hello world начинают собирать. Я расскажу, как можно быстро настроить окружение используя зеркала Yandex и github.
Кому принадлежит время
Знать время нужно всем. Точное время необходимо для криптографии, непрерывного производства, навигации на Земле и в космосе.
Интернет зависит от времени так, что малейшая ошибка ведет к масштабным проблемам: падению серверов, сбоям в DNS, зависанию приложений. Из-за проблем со временем системы зацикливаются и потребляют излишние ресурсы CPU.
Конечно, программисты знают, откуда берется время. UNIX-time, timestamp, datetime, tzdata, NTP и другие решения дают четкое ощущение контроля времени. Однако кому на самом деле время принадлежит, кто несет за него ответственность?
Это история о бесконечном поиске консенсуса, талантливых одиночках, работающих без зарплаты, крушении «Титаника», увлеченном слепом программисте и смелых решениях, ведущих к новым ошибкам. Это история про время.
Как стать аналитиком? (и зачем)
Они носят множество имен: Data Analyst, Data Scientist, Business Analyst и т. д., но всех их объединяет одна основная черта — эти люди занимаются анализом данных. Итак, начнем с главного. Сколько получают аналитики?
Угрозы информационной безопасности в эпоху цифровой трансформации
Введение
Цифровая трансформация (ЦТ) — это прежде всего инновационный процесс, требующий внесения коренных изменений в промышленные технологии, социум и культуру, финансовые транзакции и принципы создания новых продуктов и услуг. Фактически, это не просто набор подлежащих развертыванию ИТ-продуктов и решений в компаниях и на производстве, а глобальный пересмотр подходов и стратегий в бизнесе, выполняемый с помощью информационных технологий. Цифровая трансформация является переходным периодом к шестому технологическому укладу в ходе четвертой промышленной революции (Industry 4.0).
Рис 1. Цифровая трансформация — переход к 6-му технологическому укладу
Не все компании готовы к новым и достаточно жестким требованиям, которые им предъявляет ЦТ, а именно, к полной модернизации методов ведения бизнеса, пересмотру внутренних бизнес-процессов и новой культуре взаимоотношений внутри компании. Мало того, менеджмент должен быть подготовлен, как к позитивным, так и к негативным последствиям цифровой трансформации.
Проверка орфографии в приложениях Qt
В данной статье описано как добавить к вашему приложению на Qt проверку орфографии с подсветкой орфографически некорректных слов и возможность замены на более подходящие варианты. Для этого используется словарь hunspell.
Как построить четкие модели классов и получить реальные преимущества от UML
Мне показался близким подход Леона Старра к объяснению чётких моделей классов и описанию их преимуществ. Настолько, что мы в Retail Rocket решили сделать перевод его большой статьи "How To Build Articulated UML Class Models". Будем выкладывать по частям, под катом — первая из трёх.
Information
- Rating
- Does not participate
- Registered
- Activity