Pull to refresh
60
0

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

Send message

Автоматизация и промышленная электроника – когда одним Arduino сыт не будешь

Reading time8 min
Views13K
Если играться с контроллерами, то почему с маленькими?

Очень часто, когда речь заходит об автоматизации чего-либо, то в разговоре всплывает Arduino, его производные или же Raspberry PI и прочие одноплатники. Но есть отличие от домашних поделок, где можно пользоваться чем угодно ради экономии и потому, что это простое и доступное решение. В сфере автоматизации/модернизации объектов, связанных с промышленностью, речь идёт исключительно о специализированных промышленных контроллерах и системах визуализации, диспетчеризации/удалённого управления и все это исключительно с сертификатами соответствия и лицензиями.
Решений такого класса — море и порой сложно в них разобраться. Разумеется, все возможные варианты разобрать невозможно, но мы с коллегами уже несколько лет работаем в этой сфере и потому какое-то количество опыта набралось. Мы поделимся своим и если вам есть, что сказать — просим писать комментарии.
Читать дальше →

FAQ про маски-шоу в ЦОДе в юридической практике VDS-хостинга

Reading time11 min
Views35K
image
Привет, Хабр! Вы просили меня рассказать, как будут выглядеть реальные маски-шоу в российском ЦОДе, где вы арендуете VDS. Сразу скажу: чудес не ждите, по правильно оформленному требованию данные будут переданы сразу и без лишних вставаний грудью на защиту. Потому что практика такая: либо вы ведёте легальный бизнес, либо вылетаете с рынка. Но есть нюансы. Мы с нашим юристом сейчас попробуем разобрать основные вопросы.

Как выглядит запрос данных клиента от органов обычно?


Вот, например, вы сняли детскую порнографию в поддержку Навального — и началось расследование по обращению ваших добрых и законопослушных конкурентов. Мы об этом узнаём по официальному письменному запросу. В офис приходит усталый курьер, либо же нам приходит заказное письмо по обычной почте или прилетает каким-нибудь специальным способом, например, фельдъегерем. Если в запросе нет секретных данных, то он обычно дублируется и обычным электронным письмом на адрес типа info@. Уже на этой стадии отсеивается примерно треть приходящих запросов, потому что их надо составлять правильно.

Естественно, мы не знаем (и более того, не хотим знать, это нам невыгодно), что у клиента творится на его VPS. Более того, в части случаев и непринципиально — если клиент включил шифрование, а ключи не хранит в открытом виде на сервере.

Но сам запрос обычно направлен на получение данных о каком-либо конкретном лице (контакты заказчика, история транзакций и так далее), преступную деятельность которого старается пресечь орган.
Читать дальше →

Релиз Linux 5.12, подробности для локалхоста

Reading time8 min
Views11K

В самом начале последней недели апреля увидела свет новая версия ядра Linux. Особенностью данного релиза стал сам факт того, что понадобился RC8. Помимо того в течении апреля произошла совершенно невероятная история с исправлениями из Университета Миннесоты, о которых следует рассказать отдельно, когда немного осядет пыль и полностью будет восстановлен ущерб от преднамеренно неисправных патчей.
Читать дальше →

Паттерны отложенной инициализации свойств объектов в JavaScript

Reading time6 min
Views13K
Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о нескольких JavaScript-паттернах, направленных на отложенную инициализацию свойств объектов, для выполнения которой требуется произвести вычисления, создающие серьёзную нагрузку на систему. В основе всех этих паттернов лежит использование дескрипторов доступа — свойств объектов, описываемых парой функций — геттером и сеттером.


Читать дальше →

Shell-скрипт, который удалил базу данных, и история о том, как ShellCheck мог бы помочь это предотвратить

Reading time6 min
Views13K
Сегодня хочу рассказать об одном случае из жизни, когда невинная ошибка при написании скрипта командной оболочки привела к удалению базы данных, используемой в продакшне. Расскажу я и о том, как ShellCheck (инструмент для линтинга и анализа скриптов, выходящий под лицензией GPLv3) мог бы обнаружить эту ошибку и предотвратил бы катастрофу. Да, сразу скажу, что я — автор ShellCheck.


Читать дальше →

Рассказ о том, почему в 2021 году лучше выбирать TypeScript, а не JavaScript

Reading time5 min
Views21K
Недавно я, используя React Native, занимался разработкой мобильного приложения для медитации Atomic Meditation. Эта программа помогает тем, кто ей пользуется, выработать привычку медитировать, ежедневно уделяя этому занятию какое-то время. В ходе работы у меня появились серьёзные причины приступить к изучению TypeScript и начать пользоваться им вместо JavaScript в проектах среднего и крупного размера.

Прежде чем я начну свой рассказ, мне хотелось бы отметить, что вы сможете разобраться в этой статье, даже если никогда не пользовались React Native. Я буду всё подробно объяснять. А если вы делали какие-нибудь проекты на React, то, читая эту статью, можете считать, что React и React Native — это одно и то же.



А теперь расскажу о том, как обычный JavaScript втянул меня в неприятности.
Читать дальше →

Сравнение производительности CSS и CSS-in-JS в реальном мире

Reading time7 min
Views23K
Технология CSS-in-JS заняла прочное место среди инструментов фронтенд-разработки. И возникает ощущение, что CSS-in-JS-тренд в ближайшем будущем лишь усилится. Особенно — в мире React. Например, в исследовании State of CSS, проведённом в 2020 году, приняли участие 11492 человека. Лишь 14,3% из них не слышали о Styled Components (о ведущей CSS-in-JS-библиотеке). А вот пользовались этой библиотекой более 40% участников исследования.



Мне уже давно хотелось найти серьёзный материал, посвящённый сравнению производительности CSS-in-JS-библиотек, вроде Styled Components, и доброго старого CSS. Но я, к сожалению, ничего такого, вроде сравнения их производительности на реальном проекте, а не на каком-то простом наборе тестов, найти не смог. Поэтому я решил сам сделать такое сравнение. Я перевёл реальное приложение со Styled Components на Linaria, на библиотеку, которая выполняет извлечение CSS в файлы во время сборки проекта. В результате в приложении, использующем Linaria, не выполняется генерирование стилей во время работы этого приложения на компьютере пользователя.
Читать дальше →

В bash безобидная с виду конструкция [[ $var -eq 42 ]] умеет выполнять и произвольный код

Reading time4 min
Views18K
Знали ли вы о том, что следующий bash-скрипт способен выполнять произвольный код, который предоставит ему пользователь в ответ на запрос скрипта о вводе данных?


Читать дальше →

Как получить давление в 100 000 атмосфер?

Reading time16 min
Views57K

Многим любителям доступен достаточно простой способ получения поистине потрясающих давлений. Зачем это нужно и как это можно использовать — в этой статье.

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

Охоту на Макбук объявляем открытой

Reading time3 min
Views20K
Умеете хорошо писать по ИТ-теме? Можете объяснить своей бабушке, что такое DevOps на пальцах? Рассказываете коту про кортежи и полиморфизм? Хватит держать это в себе! Напишите классную статью в наш блог на Хабре и выиграйте Макбук с M1, с котором сможете делать ещё больше крутых штук. На старт, внимание… а всё, вы уже в деле.

Кто победит: осмелевший и талантливый новичок или опытный и владеющий всеми фишками старожил?
Узнать подробности

CAT-интерфейс для трансивера «Радио-76»

Reading time5 min
Views12K

В предыдущей публикации о трансивере «Радио-76» упоминалось о синтезаторе частоты с CAT-интерфейсом. В этой статье тема CAT-интерфейса будет раскрыта подробней.

CAT-интерфейс (Computer Aided Transceiver) предназначен для управления частотой, видами модуляции и другими функциями радиостанции с помощью компьютера.

В сети есть множество описаний радиолюбительских синтезаторов на базе Si5351, но в массе своей CAT они не поддерживают. Данная публикация этот пробел должна восполнить.
Читать дальше →

Выявление устройств с сенсорными экранами на чистом CSS

Reading time5 min
Views34K
У разработчиков, которым нужно выявлять устройства с сенсорными экранами, пользуясь исключительно CSS, появилась, благодаря новым возможностям CSS, надежда на светлое будущее. Речь идёт о черновике стандарта CSS Media Queries Level 4, в котором описаны два новых свойства — hover и pointer.


Читать дальше →

Хабр, давай поштурмим

Reading time5 min
Views7.9K
Мы написали почти 1800 статей в свой блог на Хабре: профессиональных авторских переводов, серий, статей, фан-контента, спецпроектов. Со стороны может показаться, что это очень просто: нашёл удачную идею и написал, нашёл классный пост и перевёл. Делов-то. Но кто писал на Хабр, тот в Форбсе не смеётся: важно провести фактчекинг, проверить корректность всех формулировок подобрать заголовок и изображение, сверстать, выпустить и F5, F5, F5 в ожидании плюсов минусов, комментариев, багрепортов в личку. И знаете, что самое интересное? Даже спустя пять лет эти ощущения не отпускают: каждый раз как в первый раз.

В общем, идеи начинают иссякать. Поэтому мы просим вас нам помочь.


Читать дальше →

На чём айтишнику кататься этим летом?

Reading time10 min
Views38K
Ваш покорный слуга — на «покатушках» по грязям, в лесу

Эта история будет интересна тем, кто никогда не слышал про рассмотренный вид транспорта. Данная статья не претендует на абсолютную точность и корректность всех деталей, «все персонажи вымышлены, а совпадения случайны». И вообще, всё это мне приснилось и ничего из того, о чём будет рассказано ниже, — не было. Итак…

Чиптюн-музыка на ATtiny4 и трехцентовом Padauk

Reading time8 min
Views9.9K

Когда я услышал «Bitshift Variations in С Minor» Роба Майлза – 16-минутный фрагмент 4-голосого полифонического аудио произведения – мне очень захотелось воплотить такое аппаратно. Реализовать это на любом микроконтроллере слишком уж просто, поэтому я решил взять самый мелкий, какой смог найти – ATtiny4. Чуть позже я портировал эту программу на небезызвестный трехцентовый микроконтроллер Padauk PMS150С.

Ах да – при этом он полностью уместился в RCA-штекер и автоматически обнаруживает подключение.

SOHO UPS в маленьком корпусе и своими руками. Менее чем за 1500 руб

Reading time6 min
Views65K

Хотите обеспечить бесперебойное питание своим устройствам, но при этом не сильно потратиться? Именно такой своей разработкой я и хотел с вами поделиться.

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

А что если сделать такой источник бесперебойного питания, который можно поставить прямо рядом с защищаемым устройством – лёгкое, компактное, недорогое?
Читать дальше →

Сравнение производительности ASP.NET Core-проектов на Linux и Windows в службе приложений Azure. Продолжение

Reading time4 min
Views6K
В моём предыдущем материале речь шла о сравнении производительности ASP.NET Core-приложений, запускаемых в Windows и в среде Linux + Docker, работающих в службе приложений Azure. Эта тема интересна многим — поэтому я решил написать продолжение.



Я снова провёл испытания, используя подход, отличающийся от прежнего лучшей воспроизводимостью, такой, который даёт более надёжные результаты. Теперь я генерирую веб-нагрузку на серверы с помощью облачных инструментов Azure Cloud Agents, применяя Visual Studio и VSTS. И, более того, в то время как ранее я выполнял тесты с использованием HTTP, теперь тестирование проводилось с применением HTTPS.
Читать дальше →

Заметки о Unix: сильные и слабые стороны errno в традиционных Unix-окружениях

Reading time4 min
Views5.1K
Недавно я мимоходом отметил, что errno был, в целом, хорошим интерфейсом в Unix-системах до появления в них многопоточности. Кого-то подобное высказывание может удивить, поэтому сегодня предлагаю поговорить о сильных и слабых сторонах errno в традиционных Unix-окружениях, таких, как V7 Unix.



Сильной стороной errno является тот факт, что этот интерфейс представляет собой простейший механизм, способный возвращать несколько значений из системных вызовов C, в которых нет непосредственной поддержки возврата нескольких значений (особенно — в ранних вариантах C). Использование глобальной переменной для «возврата» второго значения — это практически идеал того, что можно сделать в обычном C, если только не планировать передачу из C-библиотеки указателя на каждый системный вызов и функцию, которые собираются возвращать значение errno (при таком подходе придётся, например, интенсивно пользоваться stdio). Постоянная передача подобного указателя приводит не только к ухудшению внешнего вида кода. Такой подход увеличивает объём кода, и, из-за использования дополнительного параметра, приводит к повышению нагрузки на стек (или на регистры).
Читать дальше →

Сравнение производительности ASP.NET Core-проектов на Linux и Windows в службе приложений Azure

Reading time8 min
Views11K
Что быстрее — ASP.NET Core-приложение, развёрнутое в Docker-контейнере на Linux, или такая же программа, но запущенная на Windows-сервере, учитывая то, что всё это работает в службе приложений Azure? Какая из этих конфигураций предлагает более высокий уровень производительности, и о каком «уровне производительности» можно говорить?


Читать дальше →

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

Reading time3 min
Views6.4K
В давние времена многоархитектурных Unix-окружений разработчики дистрибутивов не могли прийти к единому мнению о том, что должно быть в $PATH. Базовые вещи, вроде /bin и /usr/bin, были везде одинаковыми, но у каждого дистрибутива был собственный набор дополнительных директорий (у Solaris их, например, было много). Кроме того — у разных локальных вычислительных групп было различное видение того, где должны размещаться локальные программы. Например — в /usr/local/bin, в /local/bin, в /opt/<something>/bin, в /<group>/bin и так далее. Всё это усложняло мне жизнь, так как я занимался поддержкой общего набора dot-файлов, используемых во всех Unix-системах, за которые я отвечал, и мне не хотелось бы, чтобы моя переменная $PATH представляла бы собой огромный список, содержащий пути ко всем необходимым директориям каждой из систем. Поэтому мне нужно было убирать всё лишнее из гигантского базового списка директорий, которые могли присутствовать в $PATH, оставляя там лишь те директории, которые существовали в текущей системе. А чтобы ещё сильнее усложнить эту задачу, мне хотелось использовать для этого только команды, встроенные в оболочку, и это — при работе с оболочкой, где test встроенной командой не является.


Читать дальше →

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity