Search
Write a publication
Pull to refresh
4
0
Send message

Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

Reading time7 min
Views129K
Подборка пригодится разработчикам, дизайнерам, видеорежиссерам и контент-мейкерам, которые ищут музыку для своих проектов — приложений, игр или видеороликов.

Представленные ниже площадки предлагают скачать полноценные композиции. О ресурсах, на которых можно найти отдельные звуки и семплы, мы расскажем в следующий раз.

Работа с форматом конфигураций 1С: Предприятие

Reading time3 min
Views30K

Решил опубликовать исходный код C# для работы с форматом конфигураций 1С: Предприятие.


https://github.com/elisy/MdInternals


MdInternals понимает формат cf, cfu, epf, erf, распаковывает содержимое в удобочитаемые Xml и текстовые файлы и загружает обратно. Позволяет программно обращаться к внутренним файлам и свойствам объектов.


Проект состоит из частей:

  • MdInternals программно обращается к объектам и свойствам конфигурации
  • CfProject отвечает за сериализацию и десериализацию объектов MdInternals
  • MdInternals.Cil декомпилирует байт-код (OpCode) 1С
  • MdInternals.Serialization работает с внутренним полу-JSON форматом 1С вида "{ 19 { "", 2 } }"


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

Адаптивные антенные решётки: как это работает? (Основы)

Reading time12 min
Views45K
Доброго времени суток.

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

Что такое адаптивная антенная решётка?


Антенная решётка – это набор антенных элементов, некоторым образом размещённых в пространстве. Упрощённо структуру адаптивной антенной решётки, которую мы будем рассматривать, можно представить в следующем виде:
imag

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

Хакаем CAN шину авто. Виртуальная панель приборов

Reading time14 min
Views232K


В первой статье «Хакаем CAN шину авто для голосового управления» я подключался непосредственно к CAN шине Comfort в двери своего авто и исследовал пролетающий траффик, это позволило определить команды управления стеклоподъемниками, центральным замком и др.

В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).

Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.

В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.

  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi

Под катом полная реализация проекта, будет интересно!

Что можно сделать через разъем OBD в автомобиле

Reading time4 min
Views66K
Ни для кого не секрет, что в современных автомобилях все системы под завязку забиты различной электроникой, даже простой стеклоподъемник имеет собственный микроконтроллер и адрес в общей сети. Мне, как интересующемуся владельцу, стало интересно, что же можно сделать имея просто доступ к разъему OBD и ничего более.

Некоторые аспекты мониторинга MS SQL Server. Рекомендации по настройке флагов трассировки

Reading time10 min
Views27K

Предисловие


Довольно часто пользователи, разработчики и администраторы СУБД MS SQL Server сталкиваются с проблемами производительности БД или СУБД в целом, поэтому весьма актуальным является мониторинг MS SQL Server.

Данная статья является дополнением к статье Использование Zabbix для слежения за базой данных MS SQL Server и в ней будут разобраны некоторые аспекты мониторинга MS SQL Server, в частности: как быстро определить, каких ресурсов не хватает, а также рекомендации по настройке флагов трассировки.

Для работы следующих приведенных скриптов, необходимо создать схему inf в нужной базе данных следующим образом:

Создание схемы inf
use <имя_БД>;
go
create schema inf;
Читать дальше →

GitHub полностью «удалил» репозиторий утилиты для обхода блокировок и весь аккаунт создателя

Reading time2 min
Views170K
10 апреля 2019 года GitHub без объявления войны удалил репозиторий популярной утилиты GoodByeDPI, предназначенной для обхода государственных блокировок (цензуры) сайтов в Интернете.


UPD от 13.04.2019
Сухие факты. Недоступен не только репозиторий, а весь аккаунт целиком. Хотя для любого постороннего пользователя всё выглядит, как удаление, на самом деле — это shadowban, о чем сообщил автор. Далее он признался, что намеренно сохранил магнет-ссылки на видео со сценами убийств в Новой Зеландии на публичной странице своего аккаунта. Позже экспериментально выяснили, что блокировку автору программы для борьбы с блокировками дали автоматические алгоритмы. Но было и предположение, что бан был за спам с диапазона IP, к которому принадлежит автор. ТЧК

UPD от 16.04.2019
Судя по всему, shadowban с аккаунта ValdikSS снят, все репозитории восстановлены. Причина была в ссылках на видео со стрельбой.

Что такое DPI, как связан с блокировками и зачем с ним бороться (по версии автора):
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.
Читать дальше →

Именование узлов в сети

Reading time8 min
Views52K
Хочу поднять вопрос, который, как мне кажется, никто не рассматривал ранее системно. Вопрос звучит так:

как называть узлы и интерфейсы узлов в сети?


Для начала обрисую суть проблемы: когда у вас 2-3-5-10 серверов, то их названия, адреса и т.д. вы быстро запоминаете, и особой путаницы они не вызывают. Но если у вас несколько тысяч серверов (добавим к реальным ещё виртуальные), если у вашего маршрутизатора несколько сотен реальных или виртуальных (в виланах) интерфейсов, каждому из которых нужно дать имя (хотя бы для PTR/A записей в DNS), когда у вас есть интерфейсы для конфигурирования коммутаторов, принт-серверов, сетевых принтеров… В этих условиях нужно реально садиться и думать, как их называть. Лучше садиться думать до того, как начали называть, чем после.

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

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

Reading time5 min
Views36K
Человек, как известно, существо ленивое. А тем более, когда касается вопроса выбора устойчивого пароля.

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

SMS-мониторинг веса трех ульев за 30$

Reading time12 min
Views24K

My Logo


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


Немного предыстории:


Некоторое время назад я решил завести пчел, и они таки появились… на целый сезон, но не вышли из зимовки.
И это несмотря на то, что вроде все делал правильно — осенний прикорм, утепление перед холодами.
Улей был классический деревянный системы "Дадан" на 10 рамок из 40-мм доски.
Но в ту зиму из-за температурных "качелей" даже опытные пчеловоды потеряли куда больше, чем обычно.


Так пришла идея системы мониторинга состояния улья.
После публикации нескольких статей на Хабр-е и общения на форуме пчеловодов, решил идти от простого к сложному.
Вес — единственный бесспорный параметр, но как правило, существующие системы мониторят только один "эталонный" улей.
Если с ним что-то идет не так (к примеру вылет роя, болезнь пчел), то показатели становятся неактуальны.


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


Логика работы следующая: при первом запуске/сбросе запоминаются в EEPROM показания датчиков, установленных под ульи.
Дальше, каждый день, после заката система "просыпается", считывает показания и отправляет СМС с изменением веса за сутки и от момента включения.
Кроме того передается значение напряжения батареи, а при снижении до 3.5В выдается предупреждение о необходимости зарядки, ибо ниже 3.4В модуль связи не включается, да и показания веса уже "уплывают".

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

Покупки в Android приложении — Play Billing Library

Reading time4 min
Views32K
image

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

Есть 2 способа добавить In-App покупки в Android-приложение — старый и новый. До 2017 года все пользовались библиотекой от anjlab, но с июня 2017 года ситуация изменилась, Google выпустила собственную библиотеку для внутренних покупок и подписок — Play Billing Library. Сейчас последний считается стандартом.
Читать дальше →

Как браузер помогает товарищу майору

Reading time6 min
Views147K
Знаете, когда я почти нечаянно обнаружил, читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство Linux» (и это не реклама), что каждый скачанный нами файл из Интернета с легкой руки браузера оставляет в расширенных атрибутах файла (в inode файла, не в самом файле) как минимум полную ссылку на то откуда он был скачан, я пришел в легкое возбуждение и хотел тут же броситься спасать мир. Позже, немного изучив этот вопрос, почитав «коммиты» и «комменты», говорившие, что этой возможности, встроенной в ядро GNU/Linux, как минимум уже около 10 лет, что ею пользуется не только браузеры, но и, к примеру, популярная утилита wget (curl нет), и что эта вещь считается чуть ли не нормой в Linux (и, как выяснилось позже, в MacOS), то я немного подуспокоился. Одно не давало мне покоя: поиск ключевого слова getfattr в google по сайту «Хабра»: site:https://habr.com getfattr, равно как и по ЛОРУ: site:https://linux.org.ru getfattr ничего толком не дал. «Значит» — подумал я — «эта тема еще особенно не обсуждалась». — Что же, тогда пришло время ее обсудить, но для начала пришлось немного по-исследовать. И вот что я обнаружил:

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

Ни минуты оффлайн — Выбираем промышленный LTE-роутер

Reading time22 min
Views71K
промышленный LTE роутер Termit CR41P, с антеннами Триада MA-2697

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

Мне надоело самостоятельно изобретать failover на USB модемах, и захотелось делегировать это отдельной умной железке. Я решил сравнить несколько промышленных роутеров, чтобы выяснить, оправдывают ли они свое название, и насколько они лучше моих костылей. В статье будут сравниваться роутеры производителей iRZ, Termit, Robustel.

Основные требования к роутерам:

  • 2 SIM-карты и автоматическое переключение между операторами — роутер должен автоматически определять потерю связи на одном операторе и переключаться на резервного. Это особенно важно для подвижных систем, когда покрытие сотовой сети не идеально.
  • Подключение по Ethernet — основная система должна видеть только шлюз по умолчанию, и не должна знать о модемной подсистеме на стороне роутера и переключениях каналов, поэтому никаких USB.
  • Поддержка современных протоколов VPN: IKEv2 и OpenVPN — для удобства администрирования, и чтобы не зависеть от реальных IP-адресов, роутеры должны уметь VPN. При этом поддерживать не только устаревшие PPTP и L2TP, но и современные протоколы.
  • (Опционально) поддержка GPS, наличие GPIO, serial интерфейсов RS-232/485 — эти функции не обязательны для наших задач, но мы рассмотрим их тоже, как бонус, который, возможно, будет кому-то полезен.
Читать дальше →

Картонный движок для электротехнической настольной игры. Как мы приближали его к реальности

Reading time3 min
Views7.3K

Летом 2018 года я уже писал о том, как мы создавали настольную электротехническую игру "Не закороти Цепь!", которая тогда готовилась к изданию. В настоящий момент работа над игрой завершена, она успешно собирает средства на издание на площадке CrowdRepublic, но мы решили рассказать об её "движке", его создании и с проблемами, с которыми мы столкнулись при этом.


Казалось бы, что сложного. Батарейка, провода, светодиоды и лампочки — собирай цепочку, смотри, что зажглось, получай очки и штрафы, если замкнул плюс на минус без нагрузки. Резистор уменьшает число очков, диод пропускает или не пропускает ток в определенном направлении, цепь "считается" от плюса к минусу. Но...


Игра детская (8+ рекомендация) и необходимо, чтобы дети (и взрослые) не сломали мозг на определении работоспособности цепи. И пришлось пойти на упрощение правил. Главное, чем пришлось пожертвовать и где "движок" расходится с реальной цепью — это параллельные и последовательные соединения. Обычно игроки создают цепочки, где все элементы расположены последовательно, но увы на тестах они умудрялись подключать лампочки параллельно. Тогда элементы получают одинаковое напряжение и раз у нас число очков дается за "силу свечения", то очки начислять надо было не так, как при последовательном соединении. Казалось бы ничего сложного, но как только в цепи появляются еще резисторы и светодиоды, мозг начинает "кипеть".


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

Муравейник или крепость? Строю дом по цене квартиры. 4 часть. Комфорт или необходимость гаджетов дома?

Reading time6 min
Views11K
Часть 1. Строительство
Часть 2. Отопление
Часть 3. Электроснабжение

В предыдущих выпусках я рассказывал об этапах строительства дома, без которых невозможно было бы заселение и более-менее комфортное проживание. В этот раз я хочу рассказать об устройствах, которые делают жизнь в собственном доме комфортнее и безопаснее. Сюда будет входить всё: от доступа к всемирной паутине до устройств, оповещающих о протечке воды. Располагайтесь удобнее, и я начну. А для тех, кто предпочитает не читать, а смотреть, я сделал видео.


Пишем краулер на раз-два 1.0

Reading time10 min
Views27K
Веб-краулер (или веб-паук) — это важная составная часть поисковых систем для обхода веб-страниц с целью занесения информации о них в базы данных, в основном, для их дальнейшей индексации. Такая штука есть у поисковиков (Google, Yandex, Bing), а также у SEO-продуктов (SEMrush, MOZ, ahrefs) и не только. И штука эта — довольно интересная: как в плане потенциала и вариантов использования, так и для технической реализации.



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

В чем слегка неправ Олег Артамонов

Reading time10 min
Views19K
5-8-8-lenin

Прочитав заметку про гипотетическое «нелицеприятное завтра», молодой, растущий, пытливый, крепнущий инженерный ум должен воспылать праведным гневом и, прижав к груди [конечно, обесточенный и остывший] паяльник одной рукой и положив вторую на коллективную библию, образованную стопкой потертых справочников по полупроводниковым изделиям, искренне-горячо, слезно-торжественно поклясться все, всегда, везде делать только и только правильно! А вот как правильно? Следующая заметка про «основы электробезопасности», призванная быть для таких молодых умов, если и не путеводной, так уж точно разъясняющей, сама требует разъяснений, уточнений и даже… некоторых поправок.

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

Как защититься от брендовых троллей

Reading time15 min
Views12K


Изображение взято из Викимедии, автор – Gil. Распространяется на условиях лицензии Creative Commons Attribution 2.0 Generic license


Привет, Хабр! Меня зовут Андрей, я юрист в сфере интеллектуальной собственности и IT-технологий.


Некоторое время назад на Хабре была опубликована история andrei_mankevich — автора мобильного приложения — реализации игры «Балда», которое было удалено по жалобе правообладателя соответствующего товарного знака. Судя по комментариям к этой истории, многим было интересно, можно ли как-то восстановить справедливость и наказать тролля.


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


На заметку: «патентные тролли» («patent troll») — это лица, осуществляющие покупку или регистрацию патента на изобретение, полезную модель или промышленный образец исключительно для того, чтобы требовать с других лиц вознаграждение за использование патента под угрозой предъявления судебного иска. Такие лица, как правило, не производят какой-либо полезный продукт на основании купленного патента.


В отношении лиц, осуществляющих аналогичную деятельность с товарными знаками и объектами авторских прав, используются, соответственно, термины «trademark troll» (можно перевести как «брендовый тролль») и «copyright troll» («копирайтный тролль», «копитролль»).
Далее я буду говорить о брендовых троллях — лицах, которые регистрируют или покупают товарные знаки, для того чтобы заработать на предъявлении претензий и судебных исков.

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

Извлечение данных из БД 1С: проблемы с перечислениями

Reading time4 min
Views67K
Решил написать статью о том, как вытягивать данные из 1С путем SQL запросов. Все нижесказанное касается 1С версии 8.2, оно также должно работать и в 1С версии 8.1. Особое внимание уделено проблеме с извлечением заголовков перечислений.

Культурный способ

В идеале выборку данных из 1С должен делать 1С-программист. Хорошо, если он создаст обработку, которая выдаст данные в так называемую «буферную базу»: csv файлы, таблицы в SQL – что угодно. Проектировщик ХД и ETL должен брать данные из буфера.

В этом случае все работает предельно хорошо: зоны ответственности разделены, если найдена ошибка в данных отчета – ее вначале ищут в кубе, если в кубе все ОК – ищут в ХД, если в ХД все ОК – ищут в ETL, если в ETL все хорошо – значит пускай 1С-программист сам разбирается где у него ошибка в обработке, заполняющей «буферную БД».

Но не всегда такой способ доступен. Бывает, что 1С-специалиста либо вообще нет, либо слишком занят, либо мощностей железа не хватает, чтобы «выталкивать» данные из 1С с помощью обработки. И остается одно – делать извлечение данных с помощью SQL запросов.

Не очень культурный способ

Вот это собственно и есть этот способ – «сделать SQL запрос на 1С-базу». Главная задача – корректно написать сами запросы. Я думаю, ни для кого не есть секретом, что в 1С структура данных «хитрая», и что поля и таблицы имеют замысловатые названия. Задача проектировщика ETL – вытянуть данные из этой структуры.
Читать дальше →

Information

Rating
4,722-nd
Registered
Activity