Habr.com

Syndicate content Хабр
Updated: 2 min 48 sec ago

Как определить самый авторитетный фильм всех времен и народов

Fri, 09/17/2021 - 15:28

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

К счастью, это можно посчитать.

Читать далее

[Перевод] AWS Lambda с Java: быстро и недорого

Fri, 09/17/2021 - 14:58

AWS Lambda - популярная платформа для разработки serverless-функций, и как Java-разработчик мне нравится иметь возможность использовать эту платформу. Однако, есть некоторые важные моменты, о которых стоит помнить при работе с ней.

Читать далее

Тестовое задание — крышка гроба или ступенька вверх по карьерной лестнице?

Fri, 09/17/2021 - 14:30

Привет! Меня зовут Евгений Судак, и я два с половиной года руководил отделом геймдизайна в Pixonic. Сегодня я хотел бы поговорить о тестовых заданиях.

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

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

Начнем?

Какой софт использует ЦРУ и АНБ для дата-майнинга

Fri, 09/17/2021 - 14:17


После утечки данных от Сноудена стало понятно, что АНБ собирает данные на всех граждан до совершения преступлений, а не на конкретных подозреваемых после преступления.

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

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

Работа с СОМ-портом на Си в linux

Fri, 09/17/2021 - 14:00
Телетайп, на который БЭВМ могли выводить и получать данные. Фото взято здесь.

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

Для разработчиков чаще всего появляется задача сопрячь какой-то датчик, либо удалённое устройство с одноплатником. Да что греха таить, сейчас в 2021 году UART, наверное, самый распространённый интерфейс для обмена данными, несмотря на всю его архаичность. Далеко за примером ходить не надо, внутри смартфона, лежащего у вас в кармане, будет с десяток UART интерфейсов, самый известный из которых — это подключение SIM-карты.

Поэтому умение работать с СОМ-портами в linux особенно важно. И вот, казалось бы, UART, древнейший интерфейс, всё должно быть известно и понятно, и даже опытные программисты ломают зубы, работая с ним в линуксе. Особенный цирк с конями начинается при работе с передачей сырых данных по RS-485. Не знаю ни одного программиста, который бы не хватил горя при разработке ПО для таких решений. Самое забавное, что с более новомодным i2c работать в линуксе куда проще и понятнее, чем с ортодоксальным UART. Чтобы не было путаницы дальше, всё семейство UART (RS-232, RS-485, UART 5V, UART 3,3 и т.д.) по тексту я буду называть COM-порт или UART. Мы говорим в статье не о физическом интерфейсе, а о программной стороне вопроса.

В этой статье я хочу показать, как писать свои программы, работающие с UART в ОС Linux. И неважно на каком языке вы пишете программу для работы с UART (python, c, c++, bash, php, perl и т.д.), принцип работы и грабли будут одни и те же, так как всё равно всё упирается в системные вызовы к ядру. А не понимание того, что там происходит и приводит к различным трудноуловимым багам. Читать дальше →

Интеграция устройства в экосистему Samsung SmartThings на примере «Умного чайника» Часть 2: переход с ESP8266 на ESP32

Fri, 09/17/2021 - 13:04

В первой части статьи на примере “Умного чайника” я описал процесс разработки приложения, интегрированного в экосистему SmartThings. В этой части я усложняю пример: добавляю датчик температуры и делаю плавную индикацию RGB-светодиода. Я опишу, чем отличаются ESP8266 и ESP32, и почему в этом примере нам больше подходит именно ESP32. Также будет описана передача сообщений между потоками/тасками на примере очередей в FreeRTOS. Таким образом, данная статья предназначена для всех, кто хочет перейти от самых простых умных устройств с минимумом функционала, к устройствам чуть более сложным как с программной, так и с железной точки зрения.

Читать далее

Закорпоративь удаленщика. Вредные советы

Fri, 09/17/2021 - 12:52

Ничто не предвещало беды, но тут в вашей удаленной компании пошел слух об очном корпоративе… Мы прошли через это. Было здорово. Но проанализировав на этапе подготовки стереотипы площадок и подрядчиков, а заодно отзывы самих ИТ-шников о том, что происходит “в среднем по рынку”, мы ужаснулись. С этим багажом знаний мы теперь можем раздавать “вредные советы” относительно того, как все сделать “правильно”. Поверьте, перетягивание каната и пьяные коллеги - далеко не самое страшное, что может быть у тех, кто не продумывает каждую мелочь!

Читать далее

Как прикрутить SQL к чему угодно при помощи Apache Calcite

Fri, 09/17/2021 - 12:17

Сделать свою собственную SQL-базу данных или запускать SQL-запросы в NoSQL-базе данных — кажется, это очень непростая задача.  А если мы говорим о распределенной БД, то сложность возрастает многократно. Но, к счастью, Apache Calcite — фреймворк с открытым кодом — поможет сделать это довольно легко.

Роман Кондаков, Software Engineer в Querify Labs, на конференции HighLoad++ Весна 2021 рассказал об опыте интеграции Apache Calcite в распределенную in-memory-платформу Apache Ignite. Если ваша система распределена, и вы хотите завести в ней SQL, читайте про то, как устроен Apache Calcite и какие есть нюансы его использования для распределенных систем.  Видео его выступления можно посмотреть здесь.

Читать далее

Сложить и расправить. Искусство оригами в робототехнике

Fri, 09/17/2021 - 11:41

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

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

Читать далее

Создаём инфраструктуру для интеграционных тестов: делаем образы и подводим итоги

Fri, 09/17/2021 - 08:23

Это вторая статья из короткого цикла про создание инфраструктуры для автотестов. Первая доступна здесь.

3 года назад команда Fiji решила переизобрести инфраструктуру для интеграционных тестов. Мы перенесли тестовые БД в docker-контейнеры и научились поднимать в Kubernetes контур для автотестирования.

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

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

Охота на орбитальные спутники: лазеры, роботизированные охотники и другие способы утилизации аппаратов

Fri, 09/17/2021 - 03:45

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

Больше всего, конечно, спутников — их количество превышает 5000, а скоро и вовсе увеличится до нескольких десятков тысяч. Аппараты запускают Starlink, OneWeb, вскоре, скорее всего, тем же займутся китайские компании и Amazon. В ближайшем обозримом будущем количество спутников будет лишь расти. Это хорошо, даже отлично, но что делать, когда спутник выходит из строя или срок его эксплуатации приближается к завершению?
Читать дальше →

Как я снял спутники Юпитера на ТЕЛЕФОН

Fri, 09/17/2021 - 01:35

Перед вами первая (в истории?) фотография Юпитера и его спутников, сделанная на ТЕЛЕФОН без использования дополнительных оптических средств, таких как телескоп или внешние объективы. Только штатив, только хардкор.

Читать далее

Вся правда о когнитивных искажениях

Thu, 09/16/2021 - 22:36
Всё чаще на хабре можно встретить выражения типа «типичная ошибка выжившего» или «эффект Даннинга-Крюгера в действии». Предполагается, что авторы таких высказываний достаточно компетентны, чтобы позволять себе подобного рода суждения. Но так ли это? В этой статье мы попробуем копнуть парочку когнитивных искажений чуть глубже, чем они рассматриваются в википедии.

узнать всю правду

Обход блокировки РКН с помощью магии Service Worker'ов

Thu, 09/16/2021 - 21:04

Приветствую, Хабр!

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

Как мы обновляли мобильное приложение для официантов: выбор стека и тест трех версий. Кто победил?

Thu, 09/16/2021 - 20:00

Привет! Меня зовут Сергей Арсёнов, я руковожу мобильной разработкой в компании r_keeper. Хочу рассказать, как мы обновляли мобильное b2b-приложение для официантов и почему выбрали для него не совсем классический стек — Kotlin Multiplatform Mobile + UI на Flutter.

Читать далее

Советский СПОРТ

Thu, 09/16/2021 - 19:34
Итак, дорогие телечитатели, многие из вас знают продукцию завода ЗИЛ, думаю, что в большинстве все вспомнят хитовый в 90-х ЗИЛ-5301, или, в простонародье, “Бычок”. И культовый ЗИЛ-4502. Но не буду изменять себе и рассказывать про попсу, зато будет, на что посмотреть.

А посмотреть есть на что. Ведь это фактически родстер, не первый, конечно, — первым по праву можно считать «ЗИС Спорт», но о нем я расскажу в другой раз.


Вот, кстати, ЗИС-101 А Спорт

Пусть вас не смущает частое мелькание ЗИС/ЗИЛ. Дело в том, что в 1957 году завод сменил название. Был имени Сталина, стал имени Лихачёва.

А сегодня встречайте — чудо инженерной мысли, автомобиль, участвовавший в гонках «Формулы-5» и побивший три всесоюзных рекорда скорости, автомобиль со скромным названием ЗИЛ-112с.
Читать дальше →

Архитектура как кот VS Архитектура как кол

Thu, 09/16/2021 - 18:48

Знаете что я больше всего ненавижу? Я люто ненавижу рамки. Ограничения, которые не дают развить мою идею. Вам знакомы эти чувства? Если да, то приглашаю в подкат поговорить.

Читать далее

SSR для Bitrix с Vue.js без Nuxt.js: как не потерять поисковую индексацию

Thu, 09/16/2021 - 18:26

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

Я Саша Шутай, backend-тимлид в компании AGIMA. Сейчас расскажу, что делать, если на проекте Bitrix сожительствует с Vue.js и поисковые боты не видят контента вашего сайта. Рассмотрим технологию серверного рендеринга страниц с помощью Puppeteer, как это всё настроить и быстро запустить для любого веб-приложения.

Читать далее

Генераторы на корутинах C++

Thu, 09/16/2021 - 18:18

Я уже пару лет как развлекаюсь написанием различных программ на C++ с использованием корутин. Но до сего момента это были асинхронные приложения. Я активно использовал co_await, но ни разу еще мне не понадобился co_yield. И вот, после трех дней вынужденного ничегонеделанья в больнице, я решил этот пробел восполнить и попробовать написать собственный генератор. А заодно и получше разобраться с promise_type и coroutine_handle

Читать далее

Почему занавеска в душе хочет к вам прилипнуть

Thu, 09/16/2021 - 18:07


31-летний профессор машиностроения Дэвид Шмидт из Университета Массачусетса в Амхерсте в 2001 году получил Шнобелевскую премию за то, что на софте за 28 000 долларов для моделирования потоков жидкостей просчитал модель, частично объясняющую, почему занавеска хочет прилипнуть к вам в душе. (Публикация в Scientific American )

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

В своей симуляции Дэвид Шмидт учел эффекты дробления капель, модель также учитывала деформацию (distortion) капель, которая существенно влияет на аэродинамическое сопротивление.

Все предыдущие объяснения были теоретические: от эффекта Бернулли (Bernoulli effect) до теории плавучести (buoyancy effect).
Читать дальше →

Who's online

There are currently 1 user and 1 guest online.