Pull to refresh
-15
0

Пользователь

Send message

Что такое IoT и что о нем следует знать

Reading time6 min
Views142K

Интернет вещей (Internet of Things, IoT) — это множество физических объектов, подключенных к интернету и обменивающихся данными. Концепция IoT может существенно улучшить многие сферы нашей жизни и помочь нам в создании более удобного, умного и безопасного мира. Примеры Интернета вещей варьируются от носимых вещей, таких как умные часы, до умного дома, который умеет, например, контролировать и автоматически менять степень освещения и отопления. Также ярким примером служит так называемая концепция умного предприятия (Smart Factory), которое контролирует промышленное оборудование и ищет проблемные места, а затем перестраивается так, чтобы не допустить поломок. Интернет вещей занимает важное место в процессе цифровой трансформации в компаниях. Прогнозируется, что к 2030 году количество подключенных к сети устройств вырастет примерно до 24 млрд с годовой выручкой до 1,5 трлн долларов.

IoT. Что это?
Total votes 9: ↑5 and ↓4+1
Comments0

Прикладное adb (Android Debug Bridge) для зумеров

Level of difficultyEasy
Reading time2 min
Views19K

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

В этой инструкции хочу рассказать о командах adb, которые использовать легче, чем делать то же самое через UI.

Основная задача — показать возможности adb, которые избавят от рутинных шагов при разработке/отладке. Например, позволят быстро переключать светлую тему на темную.

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments11

История о том, как Graphviz и бор взломали шифр от Sony

Level of difficultyMedium
Reading time9 min
Views14K

Мою первую статью я желаю посвятить истории о том, как я решил заняться исследованием часто встречающихся в модулях PlayStation Portable непонятных байтовых строк. Никакой документации в Homebrew коммьюнити найти не удалось, так что я взялся за дело сам.

Как это было
Total votes 117: ↑117 and ↓0+153
Comments17

Организационные структуры. Виды, характеристики, отличия

Level of difficultyMedium
Reading time10 min
Views14K

Основатель «Магнита» Сергей Галицкий однажды сказал в интервью: «Чтобы управлять компанией на 11 000 магазинов и 300 000 сотрудников, нужно соблюдать принцип, что у каждого человека не более прямых 7 подчиненных, и выстраивать такими "ячейками" структуру управления».

Но по какому принципу эти «ячейки» стыкуются, согласуются между собой? Как выстроить структуру управления, когда в компании несколько десятков, сотен, а то и тысяч сотрудников? Какие есть типы организационных структур, их плюсы и минусы?

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

Читать далее
Total votes 7: ↑6 and ↓1+6
Comments3

Слово Божие — функциональное программирование как основа Вселенной

Level of difficultyMedium
Reading time15 min
Views39K

В одном из своих предыдущих постов под названием "Эйлер, Чёрч и Мандельброт — этюд о красоте и математике" я немного затронул тему рассмотрения функционального программирования в качестве основы реальности. Под тем постом было оставлено множество интересных комментариев, один из которых, написанный @nickolaym, вдохновил меня на развитие мысли в данном направлении. Так появился этот пост, в котором прямо как во времена пифагорейской школы и платоновской академии философия переплелась с математикой, а математика с философией.

Читать далее
Total votes 58: ↑48 and ↓10+44
Comments103

Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое

Reading time9 min
Views196K
Хабра, привет!

Не так давно у со мной произошел довольно-таки интересный инцидент, в котором был замешан один из преподавателей одного колледжа информатики.

Разговор о программировании под Linux медленно перешел к тому, что этот человек стал утверждать, что сложность системного программирования на самом деле сильно преувеличена. Что язык Си прост как спичка, собственно как и ядро Linux (с его слов).

У меня был с собой ноутбук с Linux, на котором присутствовал джентльменский набор утилит для разработки на языке Си (gcc, vim, make, valgrind, gdb). Я уже не помню, какую цель мы тогда перед собой поставили, но через пару минут мой оппонент оказался за этим ноутбуком, полностью готовый решать задачу.

И буквально на первых же строках он допустил серьезную ошибку при аллоцировании памяти под… строку.

char *str = (char *)malloc(sizeof(char) * strlen(buffer));

buffer — стековая переменная, в которую заносились данные с клавиатуры.

Я думаю, определенно найдутся люди, которые спросят: «Разве что-то тут может быть не так?».
Поверьте, может.

А что именно — читайте по катом.
Читать дальше →
Total votes 68: ↑52 and ↓16+36
Comments122

Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++

Level of difficultyMedium
Reading time24 min
Views9K

Привет, Хабр! Меня зовут Кирилл Колодяжный, я ведущий инженер-программист в YADRO. Помимо основных рабочих задач, включающих исследование проблем производительности СХД, я увлекаюсь машинным обучением. Участвовал в коммерческих проектах, связанных с техническим зрением, 3D-сканерами и обработкой фотографий. В задачах часто использовал С++, хотя машинное обучение традиционно ассоциируется с Python. Этот язык программирования буквально захватил сферу, его используют повсюду — от обучающих курсов до серьезных ML-проектов.

Однако Python — не единственный язык, на котором можно решать задачи машинного обучения. Так, альтернативой может стать С++. Если последний вам ближе, вам будет интересен и полезен этот текст.

Под катом разберемся:

как организовать работу с данными и загрузку обучающего датасета, 

как описать структуру нейронной сети, 

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

как организовать конвейер обучения сети, 

как использовать предобученные глубокие сети для решения задач. 

Читать далее
Total votes 20: ↑19 and ↓1+20
Comments15

Обзор катастрофических рисков ИИ

Level of difficultyMedium
Reading time126 min
Views8.6K

Это перевод статьи Дэна Хендрикса, Мантаса Мазейки и Томаса Вудсайда из Center for AI Safety. Статья не требует практически никаких предварительных знаний по безопасности ИИ, хотя предполагает некоторый (небольшой) уровень осведомлённости о прогрессе ИИ в последние годы.

Читать далее
Total votes 9: ↑8 and ↓1+10
Comments5

Опыт организации планирования в машиностроении применительно к ИТ. Часть 3

Level of difficultyEasy
Reading time7 min
Views1.2K

Сопоставление организации планирования в машиностроении с подходами при планировании разработки программного обеспечения.

Продолжаем рассмотрение опыта автоматизации планирования и учета в машиностроении и сопоставляем с подходами в ИТ. С предыдущими частями статьи можете ознакомиться по ссылкам: Часть 1 и Часть 2.

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments0

Притча о нулевом указателе для ленивых C программистов

Level of difficultyEasy
Reading time2 min
Views10K

Я согласен, что ошибка выделения памяти с помощью malloc редкая ситуация, и после такой ошибки, скорее всего, невозможно полноценное функционирование программы. Но меня удивляет, с каким упорством программисты, приводя эти аргументы, предлагают вообще ничего не делать в такой ситуации. Я не призываю всех делать сложные механизмы восстановления работы после нехватки памяти или использовать заранее выделенные резервные буферы. Многим программам не нужны такие сложные механизмы. Тем не менее я не понимаю, почему хотя бы минимально не обработать такие ситуации корректно. Раз других объяснений пока не хватило, попробую в этот раз рассказать короткую притчу.


Притча о нулевом указателе

Читать дальше →
Total votes 26: ↑24 and ↓2+30
Comments26

Работа со временем и датой в C# с применением библиотеки Humanizer

Reading time7 min
Views5.3K

Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуманизации и как объединять гуманизацию строк со временеме/датой. Мы также рассмотрим некоторые реальные сценарии использования и примеры того, как Humanizer может улучшить пользовательский опыт в отношении времени и даты.

Читать далее
Total votes 15: ↑11 and ↓4+8
Comments12

Рекомендации при работе с PostgreSQL

Level of difficultyMedium
Reading time10 min
Views28K

Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.

Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)

Читать подробнее и больше не косячить
Total votes 51: ↑48 and ↓3+51
Comments53

Как на самом деле работает Async/Await в C# (Часть 1)

Level of difficultyHard
Reading time12 min
Views58K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

Читать далее
Total votes 17: ↑16 and ↓1+16
Comments8

Принципы SOLID на JS, теперь точно простым языком, но не очень коротко

Reading time9 min
Views31K

SOLID — универсальный набор принципов разработки поддерживаемого программного обеспечения. В данной статье я попытался разъяснить свое понимание принципов SOLID в отношении языка JavaScript: особенности реализации, некоторые синтаксические конструкции и, конечно, примеры из жизни. Если вам стало интересно, то прошу под кат.

Читать далее
Total votes 14: ↑9 and ↓5+5
Comments10

Настраиваем окружение Qt6+QtC без VPN

Reading time3 min
Views51K

Как известно, с недавних пор сервера qt.io запрещают загрузку любых архивов с российских IP. Если первое время проверка шла только на получение метаинформации, теперь любая загрузка файла обрывается сервером.

Обычные советы, как это обойти, включают:

Используй платный безлимитный VPN;
Используй дистрибутив Linux и его бинарные сборки;
Собирай сам из исходинков.

Все это рабочие советы, но не очень дружелюбны к начинающим разработчикам, которые только hello world начинают собирать. Я расскажу, как можно быстро настроить окружение используя зеркала Yandex и github.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments37

Кому принадлежит время

Reading time13 min
Views12K
image

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

Интернет зависит от времени так, что малейшая ошибка ведет к масштабным проблемам: падению серверов, сбоям в DNS, зависанию приложений. Из-за проблем со временем системы зацикливаются и потребляют излишние ресурсы CPU.

Конечно, программисты знают, откуда берется время. UNIX-time, timestamp, datetime, tzdata, NTP и другие решения дают четкое ощущение контроля времени. Однако кому на самом деле время принадлежит, кто несет за него ответственность?

Это история о бесконечном поиске консенсуса, талантливых одиночках, работающих без зарплаты, крушении «Титаника», увлеченном слепом программисте и смелых решениях, ведущих к новым ошибкам. Это история про время.

Читать дальше →
Total votes 44: ↑42 and ↓2+50
Comments17

Как стать аналитиком? (и зачем)

Reading time13 min
Views42K

Они носят множество имен: Data Analyst, Data Scientist, Business Analyst и т. д., но всех их объединяет одна основная черта — эти люди занимаются анализом данных. Итак, начнем с главного. Сколько получают аналитики?

Читать далее
Total votes 1: ↑0 and ↓1-1
Comments4

Угрозы информационной безопасности в эпоху цифровой трансформации

Reading time7 min
Views13K

Введение


Цифровая трансформация (ЦТ) — это прежде всего инновационный процесс, требующий внесения коренных изменений в промышленные технологии, социум и культуру, финансовые транзакции и принципы создания новых продуктов и услуг. Фактически, это не просто набор подлежащих развертыванию ИТ-продуктов и решений в компаниях и на производстве, а глобальный пересмотр подходов и стратегий в бизнесе, выполняемый с помощью информационных технологий. Цифровая трансформация является переходным периодом к шестому технологическому укладу в ходе четвертой промышленной революции (Industry 4.0).

image
Рис 1. Цифровая трансформация — переход к 6-му технологическому укладу

Не все компании готовы к новым и достаточно жестким требованиям, которые им предъявляет ЦТ, а именно, к полной модернизации методов ведения бизнеса, пересмотру внутренних бизнес-процессов и новой культуре взаимоотношений внутри компании. Мало того, менеджмент должен быть подготовлен, как к позитивным, так и к негативным последствиям цифровой трансформации.
Читать дальше →
Total votes 6: ↑5 and ↓1+5
Comments2

Проверка орфографии в приложениях Qt

Reading time5 min
Views3.5K

В данной статье описано как добавить к вашему приложению на Qt проверку орфографии с подсветкой орфографически некорректных слов и возможность замены на более подходящие варианты. Для этого используется словарь hunspell.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments1

Как построить четкие модели классов и получить реальные преимущества от UML

Reading time10 min
Views14K

Мне показался близким подход Леона Старра к объяснению чётких моделей классов и описанию их преимуществ. Настолько, что мы в Retail Rocket решили сделать перевод его большой статьи "How To Build Articulated UML Class Models". Будем выкладывать по частям, под катом — первая из трёх.

Читать далее
Total votes 14: ↑10 and ↓4+10
Comments2

Information

Rating
Does not participate
Registered
Activity