March 22nd, 2021

ГКРЧ выделит российскому IoT частоты 300-400 МГц, но этот спектр не очень востребован

https://habr.com/ru/post/547306/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547306


На днях в сети появилась информация о том, что Госкомиссия по радиочастотам выделит для работы узкополосного IoT диапазон 300-400 МГц. Положительный момент здесь в том, что этот спектр частот позволяет работать в закрытых помещениях. Отрицательный — оборудования именно для этого диапазона либо мало, либо вообще нет.

Для российского узкополосного интернета вещей выделяется очень ограниченный диапазон частот, включая 301,125-305, 825 МГц, 337,125-341, 825 МГц, 343-344 МГц и 390-393 МГц. Доступ к нему предоставляется тем, кто регистрирует радиоэлектронные средства (РЭС). Но есть и второе условие — эти компании/лица должны использовать радиооборудование, которое включено в Единый реестр российской радиоэлектронной продукции при Минпромторге со статусом телекоммуникационного оборудования российского производства (ТОРП).
Читать дальше →

Легкий DataBinding для Android

https://habr.com/ru/post/548218/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548218

Здравствуйте уважаемые читатели. Все мы любим и используем DataBinding, который представила компания Google, для связи моделей данных с вьюшками через ViewModel. В этой статье, хочу поделиться с вами, как мне удалось унифицировать этот процесс с помощью языка Kotlin, и уместить создание адаптеров для RecyclerView, ViewPager и ViewPager2 в несколько строчек кода.

Читать далее

Создание аналога посмертного сore dump для микроконтроллера

https://habr.com/ru/post/546820/?utm_source=habrahabr&utm_medium=rss&utm_campaign=546820



При разработке программного обеспечения любого класса и назначения, зачастую приходится заниматься поиском ошибок, которые привели к краху всего приложения. И если в случае обычного компьютера, анализ логов и core dump`ов как правило не вызывает сложностей, то для устройств на основе микроконтроллеров бывает сложно получить «посмертную» информацию, необходимую для изучения проблемы.

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

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

Ну и в соответствии с собственным наблюдением Хабр — ума палата, буду рад любым комментариям и предложениям, которые помогут протестировать или улучшить предлагаемое решение.
Читать дальше →

Возрождаем легенду – Зоркий-4 финал

https://habr.com/ru/post/548222/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548222

Привет всем! Спасибо всем большое за интерес к моей истории. Сегодня я покажу результаты работы на камерой и снимки с первой фотопленки.

Зачем идти в сторону существующих решений? Да будет дорога под ногами идущего! Раз это самый необычный Зоркий-4, то нужно идти до конца!

Читать далее

Ahead-of-Time компиляция и Blazor

https://habr.com/ru/post/548132/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548132

В .NET 6 запланирована поддержка AOT компиляции для Blazor WebAssembly приложений. Давайте попробуем запустить в Preview 2 версии.

Анонса и инструкций пока что нету. Поэтому и решено написать этот пост.

Читать далее

Cross-nested ordered probit: мой первый разработческий проект, ML и эконометрика

https://habr.com/ru/post/548100/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548100

В далёком 2014 я ещё учился на экономиста, но уже очень мечтал уйти в анализ данных. И когда мне предложили выполнить мой первый платный разработческий проект для моего университета, я был счастлив. Проект заключался в написании кода эконометрической модели для пакета Stata. Стату я с тех пор люто возненавидел, но сам проект научил меня многому.

В этом посте я расскажу про Cross-Nested Ordered Probit, забавную модель для предсказания порядковых величин, покажу её код на PyTorch, и порассуждаю о различиях и сходствах машинного обучения и эконометрики.

Читать далее

10 главных усовершенствований в SOLIDWORKS Electrical 2021

https://habr.com/ru/post/547516/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547516

Компания Dassault Systèmes выпустила SOLIDWORKS® 2021 — новую версию своего комплекса 3D-инструментов для проектирования и производства.

SOLIDWORKS Design поддерживает проектирование как механических, так и электрических систем в изделиях. В состав SOLIDWORKS Electrical входят функции разработки схем и 3D-компоновки. С их помощью организуется интегрированная среда для создания мехатронной продукции.

Читать далее

[Перевод] Таксономия очистки данных форматов времени и дат

https://habr.com/ru/post/548164/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548164

Достаточно часто каждый аналитик сталкивается с ситуацией, когда загрузил данные в блок анализа, а в ответ – тишина, хотя в тестовом режиме все работает. Причина обычно в том, что данные недостаточно очищены, где в этой ситуации искать аналитику засаду и с чего начинать обычно задачка не из легких. Можно конечно использовать механизмы сглаживания, но каждый знает, что если из черного ящика с красными и зелеными шарами отсыпать килограмм шаров и вместо них вбросить килограмм белых, то в понимании распределения красных и зеленых это мало приблизит.

Когда находишься в ситуации «а с чего начать» помогает таксономия «грязных данных». Хотя в учебниках и дают список проблем, но он обычно неполный, вот постоянно искал исследования, которые рассматривают эту тему подробней. Попалась работа T.Gschwandtner, J.Gartner, W.Aigner, S.Miksch хотя они ее делали для рассмотрения способов очистки данных связанных с датами и временем но, на мой взгляд, это оказалось исключение, которое потребовало разобраться с правилами поглубже чем в учебниках. По собственному опыту знаю, что сопряжение дат и времени «вынос мозга» практически в прямом смысле и поэтому и зацепился за исследование этих авторов.

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

Это первая статья из цикла.

 1. Таксономия форматов времени и дат в неочищенных данных, 2012 г.

2. Очистка данных: проблемы и современные подходы 2000 г.

3. Таксономия «грязных данных» 2003 г.

4. Проблемы, методы и вызовы комплексной очистки данных 2003 г.

5. Формальное определение проблем качества данных 2005 г.

6. Обзор инструментов качества данных 2005 г.

 Sorry, если ссылки не работают, это временно так как пока не залил их на Хабр.

Читать далее

Групповые политики (GPO) Active Directory: разбираемся почему это важно и как ими управлять в GPOAdm

https://habr.com/ru/post/543588/?utm_source=habrahabr&utm_medium=rss&utm_campaign=543588

Групповая политика — важный элемент любой среды Microsoft Active Directory (AD). Её основная цель — дать ИТ-администраторам возможность централизованно управлять пользователями и компьютерами в домене. Групповая политика, в свою очередь, состоит из набора политик, называемых объектами групповой политики (GPO). У Microsoft реализованы тысячи разных политик и настроек, в которых можно утонуть и потом не всплыть. Все они подробно описаны в справочной таблице.

image

В этой статье мы расскажем о работах по настройке групповых политик и удобном инструменте для упрощения управления ими — Quest GPOAdmin. Подробности под катом.
Читать дальше →

Ускоряем Dart. Нативно, недорого

https://habr.com/ru/post/547946/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547946

Релиз Dart 2.12 принёс, помимо всего прочего, поддержку FFI в стабильной версии, что позволит относительно легко добавить биндинги к своим любимым библиотекам, которые используют сишный ABI для экспорта. А это в том числе и Rust, Go, Swift и другие.

Но какой ценой?

[Перевод] Решение Fizzbuzz при помощи теоремы Эйлера

https://habr.com/ru/post/547892/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547892

image

FizzBuzz — это известная задачка на программирование, которую обычно дают в технической части собеседований. Она формулируется примерно так:

Напишите функцию, выводящую список целых чисел от 1 до 100, но вместо каждого числа, кратного 3, она должна выводить «Fizz», а вместо каждого числа, кратного 5, выводить «Buzz». Вместо чисел, кратных и 3, 5, программа должна выводить «FizzBuzz»; все остальные числа должны выводиться без изменений.

Можно написать функцию, вообще не использующую условную логику и вместо этого разделяющую целые числа на 4 возможные категории (обычное решение оставим в качестве упражнения заинтересованному читателю):

  1. Имеющие делитель 3, но не 5
  2. Имеющие делитель 5, но не 3
  3. Имеющие делитель и 3, и 5
  4. Не имеющие делитель 3 и 5

Нам нужна функция, которая будет возвращать:

  • «Fizz», если $n \equiv 0 \pmod 3$ и $n$ является взаимно простым с 5
  • «Buzz», если $n \equiv 0 \pmod 5$ и $n$ является взаимно простым с 3
  • «FizzBuzz», если $n \equiv 0 \pmod 3$ и $n \equiv 0 \pmod 5$
  • $n$ во всех остальных случаях.

Рассмотрим реализацию такой функции на Python:

[(lambda n: { 1: n, 6: "Fizz", 10: "Buzz", 0: "FizzBuzz" }[n**4%15])(n+1) for n in range(100)]

Та же функция на Ruby:

(1..100).map{|n| {1 => n, 6 => "Fizz", 10 => "Buzz", 0 => "FizzBuzz"}[n**4%15] }

Как мы и ожидали, каждая из этих функций возвращает список целых чисел от 1 до 100 с подставленными в нужные места «Fizz», «Buzz» и «FizzBuzz».

Но почему? Откуда взялись постоянные значения 0, 6, 10 и 1? Почему $n^4 \mod 15$ возвращает 6 для чисел, кратных 3, но не 5, 10 для чисел, кратных 5, но не 3, 0 для чисел, кратных 5 и 3 и 1 во всех остальных случаях? И самое важное — справедливо ли это для любого $n$, которое мы выберем?
Читать дальше →

Взлом сети связи ЦРУ (2009-2011)

https://habr.com/ru/post/546792/?utm_source=habrahabr&utm_medium=rss&utm_campaign=546792

Автор: Forbidden World

Что-то в последнее время мы слышали из СМИ только о предполагаемых провалах разведки РФ, пора вспомнить и о том, как ошибалось ЦРУ. Провалы разведок не всегда громки, часто дело спускается “на тормозах” — общественность не посвящают в суть событий, в неведении остаются и семьи погибших агентов.

Самый громкий шпионский скандал того периода (2009-2011) — вирус STUXNET, о нем неоднократно уже писали, и на Хабре тоже. Но параллельно с этой блистательной операцией ЦРУ и UNIT 8200 у ЦРУ случился не менее “блистательный” провал.

(Все пруфы приведены в конце статьи)

Читать далее

После Сингулярности: Прекрасная сексуальная жизнь постчеловека. Часть 1

https://habr.com/ru/post/548106/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548106

image
Перевод: Александр Росущан, Валентина Оборина, Полина Яровая

Аннотация


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

Системный подход к стартап-визам и личный опыт получения в Италии и Франции

https://habr.com/ru/post/548240/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548240

Уже несколько лет большинство развитых стран запускают свои стартап программы, и очевидно, что после 2020-го эта тенденция будет только набирать обороты. Стартап визы с точки зрения государства — это не только для стартапов с MVP, гениальных идей на $100 млн. или для выпускников MIT с успешными экзитами. Во многих случаях стартап-программы подходят и классическим фрилансерам, и самозанятым айтишникам, и основателям агентств или интернет магазинов.

Читать далее

[Перевод] Возврат предустановленной Windows: Lenovo должна выплатить 20 000 евро в качестве компенса

https://habr.com/ru/post/548242/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548242

В историческом судебном решении в Италии по делу, возбужденному сторонником FSFE Лукой Бонисси, суд обязал Lenovo выплатить 20 000 евро в качестве компенсации ущерба за оскорбительное поведение, отказавшись возместить стоимость предустановленной лицензии Windows. В качестве мотивирующего жеста в пользу свободного программного обеспечения, Лука пожертвовал 15 000 евро в фонд FSFE.

Читать далее

На распутье — Ардуино, Cи или Ассемблер?

https://habr.com/ru/post/547752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547752

Сначала короткая предыстория появления этого поста. Относительно давно, помигав светодиодом, захотелось сделать что-то полезное. Так появился Беспроводной программируемый по Wi-Fi комнатный термостат с монитором качества воздуха и другими полезными функциями. Как назло, в это время перестал работать мой промышленный термостат. Меня выручила еще сырая поделка, наспех спрятанная в картонную коробочку. За время отопительного сезона напрягал лишь один недостаток прототипа – это необходимость таскать по квартире удлинитель 220В и кабель, который всегда путался под шваброй ногами. Поэтому решил сделать нечто похожее, но автономное, притом, с питанием от батареек, как в серийном образце. Тут я завис надолго.


Приступая к задаче, для меня было очевидно одно – вряд ли программы промышленных автономных устройств составлены на платформе Arduino IDE. Где все спрятано в громоздкие тяжеловесные библиотеки, а простые коды (скетчи) занимают в редакторе несколько десятков строк, делая работу в этой среде комфортной и не требующей особых усилий. Уточню сразу – дальше речь выборе языка программирования между Ардуино, Си или Ассемблером. Хотя, понятно, на потреблении устройства в целом сказывается слишком много факторов таких, как энергопотребление подключенных модулей, потребление самого контроллера, который управляет периферией, не последнюю роль тут играет оптимальное построение самого кода и алгоритм работы устройства.


«… направу ехати — женату быти; налеву ехати — богату быти»

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

Как именно нужно читать предупреждение ФАС «Яндексу» и что оно значит для Рунета

https://habr.com/ru/post/547578/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547578



Я один из многих юристов, который больше года назад участвовал в подготовке обращения в ФАС с вопросом, нормально ли, что Яндекс стал лучшим поиском по сервисам Яндекса. Собственно, ответ пришёл несколько недель назад в виде «предупреждения о прекращении действий (бездействия), которые содержат признаки нарушения антимонопольного законодательства».

Вопрос был в том, правильно ли то, что Яндекс даёт преференции своим сервисам в поиске. Суть вопроса сводилась к тому, можно ли считать отдельным рынком рынок поиска.

Дело вот в чём: если юридически поиск в интернете — это рынок, то на нём действует антимонопольное законодательство. И тогда, цитируя сам Яндекс (точнее, пост об иске против Google): «это обращение  —  признание одного неприятного факта. У нас с вами есть все шансы попасть в страну, где только одна компания будет решать, какими сервисами будут пользоваться люди». И если «мы всегда верили в конкуренцию и право выбора пользователя», то ФАС должна восстановить справедливость.

Если же поиск в интернете — это не отдельный рынок, то Яндекс — частная компания, которая в своём поиске может делать что хочет. Ведь это их поиск, их алгоритмы ранжирования и их ручные настройки. Частное дело частной компании.

Коротко: ФАС усмотрела признаки нарушений (пока де-юре не сами нарушения, это важно) в действиях Яндекса. И попросила, по сути, вернуть нейтральность в поиск, то есть обеспечить чуть более равные условия всем компаниям на рынке. В перспективе это может коснуться не только Яндекса, но и любого поиска в России.

Предупреждение ФАС это, по сути, предложение: «сделайте вот так, пожалуйста, или мы возбудим дело», поэтому давайте детально разберёмся, что же происходит.

В предупреждении обозначено, что рынок поиска есть, и это крайне важно для Рунета. Давайте посмотрим, почему.
Читать дальше →

Digital-мероприятия в Москве c 22 по 28 марта

https://habr.com/ru/post/548256/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548256

Подборка мероприятий на неделю


image


Bell.Club Live c Ильей Варламовым


  • 24 марта (среда)
  • онлайн
  • Илья – один из самых заметных медийных героев современной России. Он не боится резких высказываний в адрес властей и пишет на темы коррупции, экологии и урбанистики.
    В эфире Bell.Club Live обсудим с Ильей самые актуальные темы сегодняшнего дня, а все зрители эфира смогут задать свои вопросы в комментариях.
Читать дальше →

Испытан распечатанный на 3D принтере прототип взлетно-посадочной площадки для Луны

https://habr.com/ru/post/548264/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548264

Практически невозможно представить освоение космоса без использования местных ресурсов. Проекты лунных баз зарывали под поверхность, присыпали грунтом или окружали распечатанными стенками. Но вот на строения лунного космодрома внимания обращали меньше - в лучшем случае на иллюстрациях нарисованы ровные площадки. У них будет минус - выхлоп двигателей будет разъедать поверхность и поднимать пыль. Для решения этих потенциальных проблем команда студентов из десяти американских университетов и колледжей при поддержке NASA и компании ICON, занимающейся 3D печатью строений, разработала, построила и успешно испытала масштабный прототип взлетно-посадочной площадки Lunar PAD.

Читать далее

[Перевод] Очистка данных: проблемы и современные подходы

https://habr.com/ru/post/548220/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548220

Data Cleaning: Problems and Current Approaches, 2000 г.

Достаточно часто каждый аналитик сталкивается с ситуацией, когда загрузил данные в блок анализа, а в ответ – тишина, хотя в тестовом режиме все работает. Причина обычно в том, что данные недостаточно очищены, где в этой ситуации искать аналитику засаду и с чего начинать обычно задачка не из легких. Можно конечно использовать механизмы сглаживания, но каждый знает, что если из черного ящика с красными и зелеными шарами отсыпать килограмм шаров и вместо них вбросить килограмм белых, то в понимании распределения красных и зеленых это мало приблизит.

Когда находишься в ситуации «а с чего начать» помогает таксономия «грязных данных». Хотя в учебниках и дают список проблем, но он обычно неполный, вот постоянно искал исследования, которые рассматривают эту тему подробней. Попалась работа T.Gschwandtner, J.Gartner, W.Aigner, S.Miksch хотя они ее делали для рассмотрения способов очистки данных связанных с датами и временем но, на мой взгляд, это оказалось исключение, которое потребовало разобраться с правилами поглубже чем в учебниках. По собственному опыту знаю, что сопряжение дат и времени «вынос мозга» практически в прямом смысле и поэтому и зацепился за исследование этих авторов.

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

Это вторая статья из цикла

 1. Таксономия форматов времени и дат в неочищенных данных, 2012 г.

2. Очистка данных: проблемы и современные подходы 2000 г.

3. Таксономия «грязных данных» 2003 г.

4. Проблемы, методы и вызовы комплексной очистки данных 2003 г.

5. Формальное определение проблем качества данных 2005 г.

6. Обзор инструментов качества данных 2005 г.

 Sorry, если ссылки не работают, это временно так как пока не залил их на Хабр.

Читать далее

Часть 1. MPI — Введение и первая программа

https://habr.com/ru/post/548266/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548266

В этом цикле статей речь пойдет о параллельном программировании. Довольно часто самые сложные алгоритмы требуют огромного количества вычислительных ресурсов в реальных задачах, когда программист пишет код в стандартном его понимании процедурного или Объектно Ориентированного Программирования(ООП), то для особо требовательных алгоритмических задач, которые работают с большим количеством данных и требуют минимизировать время выполнения задачи, необходимо производить оптимизацию.

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

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

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

Далее вы узнаете, что такое параллелизация и как пользоваться MPI на практике.

Читать статью далее

Учёные доказали, что сдерживание сверхинтеллекта — невычислимая задача

https://habr.com/ru/post/545548/?utm_source=habrahabr&utm_medium=rss&utm_campaign=545548


Обучение искусственного сверхинтеллекта

Идея сверхинтеллекта не даёт покоя учёным. Некоторые высказывают предположение, что сверхинтеллект не обязан благоприятно относиться к людям, может быть к ним равнодушен, не учитывать их интересы. Что делать в такой ситуации? Точнее, как её предотвратить?

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

Как предотвратить проникновение программ-вымогателей: основные советы

https://habr.com/ru/post/548270/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548270



Согласно отчету Verizon Data Breach Report программы-вымогатели являются вторыми по частоте атаками вредоносных программ после атак категории «Командование и управление» (C2). Основным механизмом внедрения всех вредоносных программ, включая программы-вымогатели, по-прежнему является электронная почта. Так как же научить пользователей не переходить по фишинговым ссылкам?
Мнение профессионалов: никак. Люди будут делать то, что присуще их природе. Таким образом, мы должны подойти к проблеме программ-вымогателей по-другому. В этой статье мы рассмотрим основные особенности и методы борьбы с программами-вымогателями.
Читать дальше →

Как отлаживать код в RStudio и создавать новый проект на R

https://habr.com/ru/post/548262/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548262

Новогодним подарком в этом году стали для меня новая команда и проект на языке R, о котором в тот момент я знал немного. Поначалу было трудно и не понятно, но время шло, картинка прояснялась. С чем-то удалось разобраться, что-то пришлось принять как есть. И вот, спустя два с половиной месяца работы на R, я решил поделиться опытом и рассказать о своих первых шагах в этом проекте. Я не буду описывать все свои душевные муки и эмоции, которые переполняли меня в процессе освоения этого очень интересного языка, а сосредоточусь на технической стороне вопроса. Цель моей статьи рассказать о том, как отлаживать код в RStudio и создавать новый проект на R.
Читать дальше →

Студенты, лабы и python: обработка данных

https://habr.com/ru/post/548280/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548280

В своей предыдущей заметке на тему обработки данных лабораторных работ я написал об использовании пакета gnuplot – простого и мощного инструмента для решения подобных задач и графического представления результатов. Однако довольно распространённым является мнение, что студенты, которым я советовал использовать gnuplot, вероятно, изучают программирование и способы визуализации данных, и что для них более естественным и полезным будет практическое применение уже полученных навыков в этой сфере. В этом коротком тексте мы рассмотрим применение python с использованием библиотек scipy для обработки данных и matplotlib для представления результатов.

Читать далее

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

https://habr.com/ru/post/548268/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548268

Их было шестеро - барабанщик, басист, клавишник, гитарист, баянист и человек с татуировками. Как-то так начинался бы фильм о нас, о музыкальной группе Sun-Techniki.

Вы, возможно, скажете “ШТА?! Я точно на Хабре? Причём тут какой-то фильм о музыкальных сантехниках?”

Да, это Хабр, и это рассказ про музыкальную группу, состоящую из сотрудников одной продуктовой IT-компании.

Я всегда мечтал заглянуть в закулисье музыкальных коллективов, но в данном случае в наше закулисье заглянуть сможете вы. Какие процессы из IT-мира мы используем в нашей музыкальной деятельности, как вообще это выглядит, и почему людям из IT стоит заниматься музыкой - в моём рассказе.

Читать далее

[Перевод] 14 полезных инструментов, ускоряющих и упрощающих веб-разработку

https://habr.com/ru/post/546974/?utm_source=habrahabr&utm_medium=rss&utm_campaign=546974

Я занимаюсь разработкой сайтов уже много лет и не верю в то, что если буду держать в секрете используемые мной инструменты, это даст мне серьёзное преимущество на рынке труда.

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



Здесь я расскажу о 14 инструментах, которые помогают мне в решении моих рабочих задач.
Читать дальше →

Охота на «Мамонта»: подробное исследование мошеннической схемы с фейковыми курьерскими сервисами

https://habr.com/ru/post/547536/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547536

Поводом к началу этой работы послужил, можно так сказать, энтомологический интерес к активности мошенников, работающих по новой схеме с фейковой курьерской доставкой товаров, заказанных через интернет. Первое массовое использование в России схемы «Курьер», или «Мамонт» («мамонтом» на сленге мошенников называют жертву»), специалисты CERT-GIB и Group-IB Digital Risk Protection зафиксировали еще летом 2019 года после обращений обманутых пользователей. Однако пик мошеннической активности пришелся на 2020 год в связи с пандемией, переходом на удаленку и увеличением спроса на 30%-40% на онлайн-покупки и, соответственно, услуги курьерской доставки. Если летом прошлого года CERT-GIB заблокировал 280 фишинговых ресурсов, эксплуатирующих тему курьерской доставки товаров, то к декабрю их количество выросло в 10 раз — до 3 000 сайтов. Евгений Иванов, руководитель группы по выявлению и реагированию на киберинциденты CERT-GIB, и Яков Кравцов, зам. руководителя отдела спецпроектов Департамента защиты от цифровых рисков Group-IB, рассказывают, как разоблачали схему «Мамонт» и как с ней бороться.

Читать далее

Юзабилити-тестирование на удаленке. Выводы и лайфхаки по итогам года работы

https://habr.com/ru/post/547956/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547956



Год назад пандемия вынудила работодателей отправить сотрудников по домам. Офисы опустели, и многим пришлось корректировать схемы взаимодействия внутри команд, искать новые инструменты для выполнения задач. В том числе и софтверным компаниям — так, наш коллектив столкнулся с невозможностью провести привычное «коридорное» юзабилити-тестирование. В новых условиях нельзя было просто постучаться к коллегам с просьбой пройти пользовательский сценарий новой версии интерфейса. Нужно было искать иное решение.

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

Wasp — DSL для разработки веб-приложений

https://habr.com/ru/post/545264/?utm_source=habrahabr&utm_medium=rss&utm_campaign=545264



В интернете кто-нибудь постоянно делает инструменты для упрощения веб-разработки. Оставим дискуссию об изначально низкой сложности и вайтишниках, упрощение любого рабочего процесса это в принципе скорее хорошо, чем плохо. Вот только молодые разработчики и стартапы в основном пачками производят всякие генераторы бойлерплейта и low-code инструменты, которые тянут за собой лишний слой абстракции и потенциальный источник ломающегося билда. Из-за большого разнообразия они обычно не предлагают уникальных фишек и остаются без внимания, после чего горе-стартаперы бросают развитие и поддержку чтобы пересесть на другой источник хайпа. В общем, для желающих войти в эту нишу ситуация плачевная, но не безысходная — тому примером Wasp, молодой DSL-язык, который старается упростить разработку на всех этапах вплоть до деплоя. Читать дальше →

HEX-дешифратор для 2-значного 7-сегментного LED-индикатора на одном(!) GAL16V8

https://habr.com/ru/post/548288/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548288

Те, кто увлекается ретрокомпьютингом в области самостоятельной сборки компьютеров на базе 8-битных процессоров (i8080/i8085/z80/z180/6502/6809 и т.п.) или микроконтроллеров обычно сталкиваются с необходимостью отображения в процессе отладки и/или "эксплуатации" какой-либо информации (содержимого шин адреса, данных и др.) на 7-сегментных индикаторах в шестнадцатеричном представлении.

В принципе, задача отображения двух шестнадцатеричных разрядов с лёгкостью решается парой «умных» индикаторов TIL311. Эти хорошо известные индикаторы, разработанные компанией Texas Instruments задолго до того, как вымерли динозавры, ещё производятся и их можно найти на Aliexpress.

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

Читать далее

React Social App

https://habr.com/ru/post/548290/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548290



Доброго времени суток, друзья!

В поисках вдохновения наткнулся на этот замечательный туториал, посвященный разработке «социального» клиент-серверного приложения на MERN + GraphQL.

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

Код проекта находится здесь.

Основные возможности приложения


  • Регистрация/авторизация пользователей
  • Добавление/удаление постов
  • Лайк/дизлайк постов
  • Добавление/удаление комментариев к постам
  • Отображение количества лайков и комментариев

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

Google Earth Engine (GEE) как общедоступный суперкомпьютер

https://habr.com/ru/post/548292/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548292

Сервис Google Earth Engine предоставляет возможность бесплатно работать с огромными массивами пространственной информации. К примеру, в считанные минуты можно получить композитную мозаику (сборное изображение) по миллиону космоснимков. Считая, что каждая сцена (набор спектральных каналов) Landsat 8 занимает в сжатом виде 1 ГБ, при таком запросе обрабатывается объем информации порядка 1 ПБ. И все это доступно бесплатно, быстро, и в любое время. Но есть такое мнение (неправильное), что GEE на бесплатных аккаунтах позволяет обработать и экспортировать лишь небольшие наборы данных. На самом деле, такое впечатление вызвано лишь тем, что программировать на GEE можно начать, даже не читая документации сервиса, а вот извлечь много данных, все еще не читая документации, уже не получится. Далее мы рассмотрим три разных решения задачи векторизации растров и двумя разными способами напишем серверную GEE функцию для вычисления геохэша.


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

Красивое радио для браузера

https://habr.com/ru/post/548234/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548234

Прогуливаясь по просторам Интернета, я случайно наткнулся на довольно интересную разработку. Называется "Russian Radio Player". Пользователь выбирает станцию для прослушивания, слушает музыку, а на экране в это время сменяют друг друга красивые картинки. Внешний вид мне очень понравился, но так как мне больше по душе космическая тематика, то я решил этот плеер переделать под себя. Что из этого всего получилось читайте в этом посте.

Читать далее

Что было, если бы не было налогов?

https://habr.com/ru/post/548294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548294

Это очень короткий пост об идее, которая у меня родилась очень давно. Лично я вижу в ней огромный потенциал. Особенно, если учесть, что Банк России собирается внедрять крипто-рубль. Суть её в том, что государство могло бы заменить налоги процентами за переводы денег — так же, как это происходит во всех платёжных системах.

Читать далее

Погружение в JetBrains Space Applicaitons

https://habr.com/ru/post/545908/?utm_source=habrahabr&utm_medium=rss&utm_campaign=545908

Привет, Хабр.

Недавно JetBrains представили свой новый продукт под названием Space, о чем был своевременный пост на Хабре. Прошло немного времени и уже пора бы попробовать некоторые его особенности как платформы. В этой статье речь пойдет о Space Applications.

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

Давать ли сотрудникам долю в бизнесе?

https://habr.com/ru/post/548296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548296

Лет 10-15 назад стало модно мотивировать сотрудников акциями или долями в компании. Было дело и мне предлагали подобное. Вопрос сложный. Выношу все За и Против в статью. Попытаемся вместе разобрать ситуацию со всех точек зрения и не забыть, что всё это относительно конкретного бизнеса, конкретных людей, конкретного времени, конкретных ресурсов. При изменении условий, соотношений компонентов, могут меняться и взгляды. Справедливого решения для всех нет. Справедливым следует считать договор сторон. Со временем договор может стать для какой-то стороны несправедливым, но его нужно выполнять.

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

Читать далее

Кодирование и Шифрование

https://habr.com/ru/post/548304/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548304

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

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

Читать далее

Обзор мобильного приложения Drive

https://habr.com/ru/post/548306/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548306

Ранее в нашем блоге мы рассказывали об on-premise решениях Zextras Team Pro и Zextras Drive, позволяющих создать корпоративное хранилище файлов, а также корпоративный групповой чат и систему для видеоконференций с большим количеством участников на базе Zimbra Open-Source Edition. Оба этих решения, помимо веб-клиента, можно использовать и в разработанных компанией Zextras мобильных приложениях Team и Drive, доступных для Android и iOS. Ранее мы публиковали обзор приложения Team, а в данной статье мы подробно разберем интерфейс и функциональность мобильного приложения Zextras Drive для iOS и Android.

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

Интенсив по работе с Terraform 24–25 апреля

https://habr.com/ru/post/548282/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548282


Запускаем запись на двухдневный интенсив по Terraform, обучение пройдет 24–25 апреля. Интересно будет всем, кто работает или планирует работать с облачной инфраструктурой и продолжает разворачивать её в ручном режиме.

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

Passport.js + mongoose объединяем две коллекции

https://habr.com/ru/post/548318/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548318

Добрый день! Решил поделиться своими небольшими достижениями в использовании популярной библиотеки Passport.js. Задача была такой: использовать две локальные стратегии passport.js при том, что пользователи находятся в двух разных коллекциях Mongo Atlas.

Итак, дано: две коллекции пользователей в Mongo Atlas, и две локальные стратеги в Passport.js.

Задача, реализовать аутентификацию учителей по логину и паролю, учеников по Фамилии и номеру класса. Тут кстати в вопросе за одно и объясняется, почему мы используем две локальных стратегии, именно потому, что способы идентификации пользователя разные (учителя- логин/пароль, ученики - Фамилия/класс).

Читать далее

Делаем вечную лампочку: вопросы и ответы

https://habr.com/ru/post/548322/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548322

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

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

У вас нет разрешения на доступ к API. OpenCart

https://habr.com/ru/post/548324/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548324

Перед началом разработки модуля клиент сообщил, что в админке на странице редактирования заказа у него часто/рандомно не работает изменение заказа: У вас нет разрешения на доступ к API!

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

Читать далее

[recovery mode] Фильтр мата: эволюция

https://habr.com/ru/post/548156/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548156

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

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

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

Читать далее

Человек-оператор тоже человек

https://habr.com/ru/post/547878/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547878

Создаем и тестируем User-friendly Interface для промышленности

На связи Datana. Уже несколько лет мы занимаемся цифровизацией промышленности, Индустрией 4.0.

Эта статья о разработке UI цифровых советчиков для металлургического комбината. Свой опыт мы облекли в формат инструкции, как протестировать эргономику ПО с помощью конечных пользователей – металлургов. Здесь есть свои любопытные нюансы...

Читать далее

Как мы делали универсальный сервис подписания для инфраструктуры Госуслуг на C и GO. Часть 2

https://habr.com/ru/post/546756/?utm_source=habrahabr&utm_medium=rss&utm_campaign=546756

Это вторая часть статьи, посвященной универсальному сервису подписания для инфраструктуры Госуслуг. Первая часть статьи была посвящена GO-части нового сервиса, в которую входит конфигурирование, тестирование, ресты, файловый менеджер и планировщик. Всему тому, что происходит до того, как данные будут переданы в С-часть для подписания и верификации. Также там кратко описаны основные предпосылки к создания нового сервиса. 

Приступать к чтению этой статьи рекомендуется строго после ознакомления с первой частью.

Во второй части будет рассмотрена CGO-прослойка и C-часть, в которой происходит подписание и верификация данных. Тут же будут описаны самые важные оптимизации, ради которых этот сервис и создавался.

Читать далее

Как провести лето с пользой: стажировки в JetBrains 2021

https://habr.com/ru/post/548334/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548334

Привет, Хабр!

Скоро конкурс на летние стажировки в JetBrains. Рассказываем, как они устроены и как на них попасть.

24 марта проведем вебинар и ответим на все вопросы. 

29 марта начинается конкурс по адресу internship.jetbrains.com.

Присоединяйтесь!

Читать далее

Автоматическая проверка кода за 5 минут

https://habr.com/ru/post/548336/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548336

Данная инструкция показывает как автоматизировать проверку на code style в вашем php проекте.

Давайте посмотрим как будет выглядеть настройка в новом проекте.
Читать дальше →

Как объект науки и техники может получить охранный статус и стать памятником

https://habr.com/ru/post/548338/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548338

1. Что следует понимать под объектом науки и техники в данной статье

2. Кто в Российской Федерации несет ответственность за присвоение объекту охранного статуса? И немного о классификации памятников

3. Процедура превращения объекта в памятник. Что такое историко-культурная экспертиза и зачем она нужна

4. Кто кроме Министерства культуры РФ занимается охраной памятников (список орг-ций и краткая хар-ка). Региональная специфика: Москва и Санкт-Петербург

5. Примеры присвоения объектам науки и техники охранного статуса

6. Примеры, когда объекты научно-технического прогресса не получили охранный статус и были уничтожены

Читать далее

Пример полезного комментария

https://habr.com/ru/post/548340/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548340

Пример полезного комментария


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

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

Отчет о сетевой безопасности и доступности в 2020 году

https://habr.com/ru/post/548350/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548350

К 2021 году сеть фильтрации Qrator Labs расширилась до 14 центров очистки трафика общей пропускной способностью в 3 Тбит/с с точкой присутствия в Сан-Паулу, Бразилия, вводящейся в эксплуатацию в начале 2021 г.

Новые сервисы, предоставляемые партнерами компании (SolidWall WAF и RuGeeks CDN) за 2020 год были полностью интегрированы в инфраструктуру Qrator Labs и личный кабинет.

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

Qrator Labs активно использует новейшие процессоры AMD для задач, связанных с обработкой трафика.

За 2020 год количество DDoS-атак лишь увеличилось, самые опасные можно описать просто: короткие и обескураживающе интенсивные.

Тем не менее, инциденты BGP оставались той областью, в которой очевидна необходимость изменений, так как количество серьёзных инцидентов, таких как перехваты трафика и утечки маршрутов, оставалось высоким в течение всех последних лет — и 2020 не был исключением.

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

Читать далее

Как обойти капчу Гугл

https://habr.com/ru/post/478578/?utm_source=habrahabr&utm_medium=rss&utm_campaign=478578

Ранее нам попадались относительно «простые» капчи:


В этот раз поработаем над чем-то более серьезным и давно знакомым:



Итак задача: обойти капчу, желательно с первого раза.
Читать дальше →

Контроль отрицательных остатков

https://habr.com/ru/post/548354/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548354

Жизнь программиста тяжела. В основном она состоит из двух вещей. Бесконечных, мучительных попыток понять, что он сделал не так и безграничного изумления по поводу того, как можно быть таким идиотом. А пользователи живут беззаботно. И это ужасно несправедливо. Чтобы сделать с этим хоть что-нибудь, разработчики программ для ведения учета придумали контроль отрицательных остатков.

Читать далее

[Перевод] Таксономия «грязных данных»

https://habr.com/ru/post/548226/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548226

Достаточно часто каждый аналитик сталкивается с ситуацией, когда загрузил данные в блок анализа, а в ответ – тишина, хотя в тестовом режиме все работает. Причина обычно в том, что данные недостаточно очищены, где в этой ситуации искать аналитику засаду и с чего начинать обычно задачка не из легких. Можно конечно использовать механизмы сглаживания, но каждый знает, что если из черного ящика с красными и зелеными шарами отсыпать килограмм шаров и вместо них вбросить килограмм белых, то в понимании распределения красных и зеленых это мало приблизит.

Когда находишься в ситуации «а с чего начать» помогает таксономия «грязных данных». Хотя в учебниках и дают список проблем, но он обычно неполный, вот постоянно искал исследования, которые рассматривают эту тему подробней. Попалась работа T.Gschwandtner, J.Gartner, W.Aigner, S.Miksch хотя они ее делали для рассмотрения способов очистки данных связанных с датами и временем но, на мой взгляд, это оказалось исключение, которое потребовало разобраться с правилами поглубже чем в учебниках. По собственному опыту знаю, что сопряжение дат и времени «вынос мозга» практически в прямом смысле и поэтому и зацепился за исследование этих авторов.

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

Это третья статья из цикла

 1. Таксономия форматов времени и дат в неочищенных данных, 2012 г.

2. Очистка данных: проблемы и современные подходы 2000 г.

3. Таксономия «грязных данных» 2003 г.

4. Проблемы, методы и вызовы комплексной очистки данных 2003 г.

5. Формальное определение проблем качества данных 2005 г.

6. Обзор инструментов качества данных 2005 г.

Читать далее

[Перевод] Реплика терминала VT100 в масштабе 2:3

https://habr.com/ru/post/548172/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548172



Все началось с замысла собрать уменьшенную модель терминала VT100 для использования с PiDP-8/I, который я воссоздавал в масштабе 2:3, но в итоге проект зашел гораздо дальше… Читать дальше →

И тебя посчитают: ИИ помогает считать слонов со спутника на орбите

https://habr.com/ru/post/547934/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547934

Источник

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

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

[Перевод] Новый поток в C++20: std::jthread

https://habr.com/ru/post/548316/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548316

Один из участников моего семинара в рамках CppCon 2018 спросил меня: «Может ли std::thread быть прерван (interrupted)?». Мой ответ тогда был - нет, но это уже не совсем так. С C++20 мы можем получить std::jthread (в итоге все таки получили - прим. переводчика).

Позвольте мне развить тему, поднятую на CppCon 2018. Во время перерыва в моем семинаре посвященному параллелизму я побеседовал с Николаем (Йосуттисом). Он спросил меня, что я думаю о новом предложении P0660: Cooperatively Interruptible Joining Thread. На тот момент я ничего не знал об этом предложении. Следует отметить, что Николай является одним из авторов этого предложения (наряду с Хербом Саттером и Энтони Уильямсом). Сегодняшняя статья посвящена будущему параллелизма в C++. Ниже я привел общую картину параллелизма в текущем и грядущем C++.

Читать далее

[Перевод] Как справиться с более чем двумя миллиардами записей в SQL-базе данных

https://habr.com/ru/post/548320/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548320

У одного из наших клиентов возникла проблема с большой, постоянно растущей, таблицей в MySQL с более чем 2 миллиардами записей. Без модернизации инфраструктуры была опасность исчерпания дискового пространства, что потенциально могло сломать все приложение. С такой большой таблицей были и другие проблемы: низкая производительность запросов, плохая схема, и, из-за огромного количества записей, не было простого способа анализировать эти данные. Также нам нужно было решить эти проблемы без простоев в работе приложения. 

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

Читать далее

Свой AR. Основы векторной алгебры

https://habr.com/ru/post/547876/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547876


В настоящий момент появилось достаточно большое количество библиотек дополненной реальности с богатым функционалом (ARCore, ARKit, Vuforia). Тем не менее я решил начать свой открытый проект, попутно описывая как это работает изнутри. Если повезет, то позже получится добавить какой-то особый интересный функционал, которого нет в других библиотеках. В качестве целевых платформ пока возьмем Windows и Android. Библиотека пишется на C++, и сторонние библиотеки будут задействованы по минимуму, т.е. преимущественно не будет использовано ничего готового. Фокус в статьях будет направлен на алгоритмы и математику, которые постараюсь описать максимально доступно и подробно. В этой статье пойдет речь про основы векторной алгебры.

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

[Перевод] Как можно использовать шейдеры в Android View и как Android View может использовать шейдер

https://habr.com/ru/post/548346/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548346

Для полноценной работы с динамическими элементами пользовательского интерфейса, которые используют тени, фильтры в реальном времени для фото или видео, или адаптивный пользовательский интерфейс и освещение, недостаточно использовать только Canvas. Было бы куда лучше, если бы у нас в распоряжении было что-то помощнее. Раньше мы могли использовать RenderScript, но поддерживается ли он сейчас?

В этой статье я расскажу как использовать стандартные GLSL шейдеры OpenGL в вашем пользовательском view, которое является наследником класса Android View (android.view.View). Я предлагаю вам использовать это решение, если вы работаете над чем-нибудь из нижеперечисленного:

Читать далее

Интернационализация и локализация приложения на Kotlin/Native

https://habr.com/ru/post/548362/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548362

こんにちは, или добрый день по-японски.

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

Поэтому далее мы пошагово рассмотрим процесс адаптации консольного приложения для Linux на Kotlin/Native к русской и английской локали.

Поможет нам в этом старый-добрый GNU gettext.

В итоге убедимся, что это совсем не страшно.

Заодно посмотрим интеграцию с библиотеками на C, которая значительно расширяет возможности Kotlin/Native.

Что напишем: переводчик количественных числительных на японский язык.

Что ожидается от читателя: знание языков программирования Kotlin, C, базовый уровень знакомства с ОС Linux (в частности Bash).

Что понадобится в процессе: любой дистрибутив Linux, любая версия IntelliJ IDEA, установленный пакет gettext-devel или аналогичный.

Читать далее

Ликвидность дебиторской задолженности: разбираем по полочкам

https://habr.com/ru/post/548364/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548364

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

Дебиторская задолженность (далее в статье ДЗ) — это долги юрлиц и физлиц предприятию. Чем быстрее можно добиться их погашения, тем она более ликвидна.

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

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

Дальше

Галопом по основам Regex

https://habr.com/ru/post/548368/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548368


Регуля́рные выраже́ния (англ. regular expressions) — формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (символов-джокеров, англ. wildcard characters). Для поиска используется строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска. Для манипуляций с текстом дополнительно задаётся строка замены, которая также может содержать в себе специальные символы.

Регулярные выражения — Википедия
Читать дальше →

Сайт на Wordpress VS PageSpeed Insights

https://habr.com/ru/post/548118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548118

image

В это статье мы расскажем как оптимизировали конкретное Wordpress веб приложение. Какие действия были выполнены чтобы попасть из красной зоны оценки PageSpeed Insights в зеленую, тут будет мало общих рекомендаций универсальных для любых платформ и приложений, которыми пестрит поисковая выдача, a большe описание действий, которые повлияли на результат в рамках конкретной задачи.

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

Security Week 12: стеганография в Twitter

https://habr.com/ru/post/548374/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548374

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

На прошлой неделе очередное упражнение на эту тему произошло в лагере white-hat: исследователь Дэвид Бьюкенан (David Buchanan) нашел способ обмениваться файлами через картинки в твиттере (новость, страница на GitHub с описанием и кодом).



Никакой уязвимости тут нет: вставлять данные в PNG-изображение можно разными способами, а в данном случае даже не требуется специальный инструмент для декодирования. Достаточно переименовать .png-файл в .zip и распаковать данные из получившегося архива.

Автор этого трюка нашел особенность обработчика изображений в Twitter, который удаляет часть избыточных данных из файла, но не трогает одну из областей IDAT, где и спрятана лишняя информация. У метода есть ограничения: если итоговый файл весит больше 3 Мбайт, Twitter сконвертирует изображение в JPEG. Демонстрация метода доступна в твиттере автора, а изображение оттуда приведено выше: на Хабре трюк тоже работает (на момент публикации). Внутри ZIP-файла-картинки спрятан код на Python, позволяющий прятать в PNG произвольные данные.
Читать дальше →

Какие технологии получат развитие в умных городах?

https://habr.com/ru/post/548378/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548378

Мир быстро урбанизируется. По мере роста населения и развития технологий, концентрирующихся преимущественно в густонаселенных городах все больше людей, становятся городскими жителями. Только в одном Китае в течение следующих пяти лет будет примерно 221 город с населением более миллиона человек.

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

Читать далее

«Представь, что ты нашел решение, про которое можешь сказать: оно лучшее в мире» — интервью с создат

https://habr.com/ru/post/548332/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548332

Алексей Миловидов работал инженером в Яндекс.Метрике, и перед ним стояла непростая задача. 

Яндекс.Метрика работала с петабайтами данных — это был третий по популярности сервис веб-аналитики в мире. Для него нужна была база данных, которая может обрабатывать огромное количество данных в реальном времени, очень быстро, при этом не сжигая миллиарды денег.

Долгое время такая СУБД разрабатывалась только для внутренних нужд — но в 2016 вышла в опенсорс под названием ClickHouse, и сообщество встречает инструмент по-разному.

Мы поговорили с Алексеем о том, как он стал разработчиком, почему ClickHouse намного быстрее всех аналогов и как так получилось, какова цена производительности, почему ClickHouse стал опенсорсным и куда вообще движется индустрия.

Читать далее

Palo Alto Networks. Учимся думать, как firewall. Сессии и состояния

https://habr.com/ru/post/548376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548376

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

Давайте разберемся, – что такое сессия, и как она работает в разрезе межсетевого экрана Palo Alto Networks.

Читать далее

Коты и лебеди на выпасе: листаем книги для введения в профессию менеджера

https://habr.com/ru/post/548380/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548380



Привет! Это Кирилл, куратор потока «Менеджмент». На Хабр часто выкладывают посты про интересную профессиональную литературу. В итоге наша площадка давно превратилась в одну из самых крупных библиотек с отзывами на книги про IT, но структурировать это никто пока не пытался. Чтобы это исправить, запускаем серию библиотечных подборок. Под катом первая из них — с книгами, которые помогут новичку освоиться в роли руководителя, а маститому боссу освежить знания и стать ещё лучше.
Читать дальше →

[Перевод] Рендеринг в веб

https://habr.com/ru/post/548382/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548382

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

Читать далее

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

https://habr.com/ru/post/548384/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548384

Imposter Phenomenon – это когда человек считает свой успех или результаты работы удачным стечением обстоятельств и не приписывает их своим стараниям или личным качествам. В результате он не готов об этом говорить и делиться полученным опытом.

Среди разработчиков и айтишников – достаточно распространенное явление. По тем источникам, которые мне попадались, да и по собственным наблюдениям, себя недооценивают 60-75% активных и талантливых людей. Проблема эта исключительно психологическая. Т.е. от нее вполне можно избавиться путем определенных логических рассуждений, плюс некоторыми установками, которые вернут человека к объективной реальности. Ну и поскольку я наблюдаю за этими процессами не первый год, хочу поделиться определенными умозаключениями. Вдруг кому поможет.

Читать далее

[Перевод] Серьёзная безопасность: всплывшие спустя 15 лет баги в ядре Linux

https://habr.com/ru/post/548366/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548366

Исследователи кибербезопасности GRIMM 12 марта опубликовали три интересных бага в ядре Linux. В коде, который игнорировали около 15 лет. К счастью, кажется, всё это время никто не присматривался к коду; по крайней мере, не так усердно, чтобы заметить ошибки. Соответствующие CVE уже исправлены.

Что же это за баги?

Освещение растений белыми светодиодами — расчет светильника и grow box

https://habr.com/ru/post/548392/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548392

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

Читать далее

Привычный ужас в SIP, или о том, как не надо проектировать сетевые протоколы. Часть 1 — синтаксис и

https://habr.com/ru/post/543782/?utm_source=habrahabr&utm_medium=rss&utm_campaign=543782

Здравствуйте, меня зовут Валентин, и я задолбался. Нет-нет, вы всё ещё на Хабре.

Все технологии телефонии ужасны.

Большинство технологий разработки IETF ужасны. Может, не ужасны-ужасны, как ISO…

Когда они смешиваются… ну вы в курсе. Или ещё нет? Получается SIP.


Это пост ворчания, техническая суть которого может быть полезна паре сотен человек. Но, to grumble is human.




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

50 оттенков жёлтого. Проверяем на практике технологию Retrobright

https://habr.com/ru/post/548402/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548402

Пару недель назад на Хабре вышла хорошая статья с объяснением химических процессов, которые происходят при пожелтении и отбеливании ABS-пластика. Автор доступно изложил теорию, ну а я хотел бы дополнить её практикой. Так совпало, что где-то год назад я начал собственные эксперименты по восстановлению цвета. Пост будет в первую очередь интересен любителям ретро-железа, но не только им, поскольку изделия из такой пластмассы есть почти в каждом доме. Материал получился очень большим, так что я разобью его на две части.

Кратко напомню суть явления для тех, кто не читал статью. В состав ABS-пластика входят три основных компонента — акрилонитрил, бутадиен и стирол. Под воздействием тепла и ультрафиолетового излучения стирол распадается, образуя соединения жёлтого цвета. Однако в присутствии концентрированной перекиси водорода ультрафиолет, наоборот, способствует разрушению этих соединений, восстанавливая цвет. «Тот, кто нам мешает, тот нам поможет!».

Читать далее

Коммуникация: как понимать друг друга даже на удаленке

https://habr.com/ru/post/548406/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548406

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

Читать далее

RAID 5 с LVM под Linux и как с него восстанавливать информацию

https://habr.com/ru/post/548410/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548410

В данном руководстве мы рассмотрим способ создания в ОС Linux программного LVM RAID. А также представим простое решение, позволяющее вернуть утраченную информации с LV RAID 5 после случайного удаления или непредвиденной неисправности накопителей.

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

IT Service Health Monitoring средствами R. Взгляд под иным углом

https://habr.com/ru/post/548414/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548414

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


Ключевые слова: cmdb, multi-agent sumulation, monte-carlo, ml.


Является продолжением серии предыдущих публикаций.

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

Разработка кибер-безопасной информационно-технической системы высшего учебного заведения

https://habr.com/ru/post/548416/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548416

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

Читать далее

Часть 2. MPI — Учимся следить за процессами

https://habr.com/ru/post/548418/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548418

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

Познакомимся с MPI поближе

Как преобразовать текст в алгебру

https://habr.com/ru/post/548420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=548420

Как пишут тексты в Большой Академии в Лагадо

Алгебра и язык (письменность) являются двумя разными инструментами познания. Если их объединить, то можно рассчитывать на появление новых методов машинного понимания. Определить смысл (понять) – это вычислить как часть соотносится с целым. Современные поисковые алгоритмы уже имеют задачей распознавание смысла, а тензорные процессоры Google выполняют матричные умножения (свертки), необходимые для алгебраического подхода. При этом в семантическом анализе используются в основном статистические методы. В алгебре выглядело бы странным использование статистики при поиске, например, признаков делимости чисел. Использование алгебраического аппарата полезно также для интерпретации результатов вычислений при распознавании смысла текста.

Читать далее

CosmicPi: обнаружение космического излучения при помощи Raspberry Pi

https://habr.com/ru/post/547872/?utm_source=habrahabr&utm_medium=rss&utm_campaign=547872


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

На днях в сети появилась информация о новом, относительно масштабном проекте по обнаружению космического излучения при использовании «малинок». Если кратко, то участники проекта с названием CosmicPi устанавливают у себя дома или на работе детектор излучения на основе одноплатника, открывают свое местоположение и предоставляют таким образом информацию о космическом излучении в своем регионе другим участникам. Стоимость детектора — менее $500, что очень недорого по меркам подобного оборудования. Подробнее о проекте — под катом.
Читать дальше →