Архив за 26 февраля 2019

REST? Возьмите тупой JSON-RPC - 1
В последнее время на Хабре разгорелось много споров по поводу того, как правильно готовить REST API.

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

Возможно, именно вашему проекту RPC-like API подойдет лучше?

Читать полностью »

Углубимся в историю: откуда растут ноги у квадрокоптеров - 1

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

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

Rollup — это сборщик javascript приложений и библиотек нового поколения. Многим он давно знаком как перспективный сборщик, который хорошо подходит для сборки библиотек, но плохо подходит для сборки приложений. Однако время идет, продукт активно развивается.

Я впервые попробовал его в начале 2017 года. Он сразу понравился мне за поддержку компиляции в ES2015, treeshaking, отсутствием модулей в сборке и конечно простым конфигом. Но тогда это был сырой продукт, с небольшим числом плагинов и очень ограниченной функциональностью, и я решил оставить его на потом и продолжил собирать через browserify. Вторая попытка была в 2018 году, тогда он уже значительно оброс комьюнити, плагинами и функционалом, но все еще не хватало качества в некоторых функциях, включая watcher. И вот наконец в начале 2019 года можно смело сказать — с помощью Rollup можно просто и удобно собирать современные приложения.
Читать полностью »

iRobot Scooba: опыт использования и решение часто встречающихся проблем моющего робота-пылесоса - 1
iRobot Scooba (модели 5800, 380 и аналоги выглядят практически идентично)

Когда я впервые услышал о роботе-пылесосе, мне сразу же захотелось такой приобрести, чтобы опробовать в “полевых условиях”. Прочитал я о них где-то в 2010, и через некоторое время мне удалось исполнить свою маленькую мечту. Тогда я случайным образом познакомился с менеджером компании-дистрибьютора продукции iRobot, и мне предложили с хорошей скидкой забрать стендовый Scooba 5800.

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

Статья посвящена лучшим практикам написания кода Go. Она составлен в стиле презентации, но без обычных слайдов. Постараемся кратко и чётко пройтись по каждому пункту.

Для начала следует договориться, что значит лучшие практики для языка программирования. Здесь можно вспомнить слова Расса Кокса, технического руководителя Go:

Программная инженерия — то, что происходит с программированием, если добавить фактор времени и других программистов.

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

Гадание на нейросетях: отметился ли в комментариях к посту сам автор - 1

Поделюсь рассказом о небольшом проекте: как найти в комментариях ответы автора, заведомо не зная кто автор поста.

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

МегаФон (контролирующий акционер группы Mail.ru) и Mastercard анонсировали «мобильный финансовый маркетплейс», передал корреспондент RNS с презентации на Mobile World Congress 2019 в Барселоне. Ожидается, что платформа заработает до конца 2019 года. Content-Review.com выяснил у оператораЧитать полностью »

image

(Эта статья изначально была опубликована в Gamasutra Online Magazine)

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

Московский окружной военный суд (МОВС) приговорил к 22 и 14 годам колонии строгого режима за госизмену одного из бывших руководителей Центра информационной безопасности (ЦИБ) ФСБ РФ Сергея Михайлова и экс-главу отдела расследований компьютерных инцидентов «Лаборатории Касперского» Руслана Стоянова, передал корреспондент «Интерфакса».

Читать полностью »

Компания Swatch Group подала заявление в окружной суд США по южному округу штата Нью-Йорк., обвиняя компании Samsung Electronics и Samsung Electronics America в посягательстве на ее товарный знак. Швейцарский  часовщик уверен, что на циферблатах для умных часов южнокорейского производителя электроники «нанесены элементы, идентичные или практически идентичные» тем, которые Swatch использует в циферблатах часов свих брендов, включая Longines, Omega, Swatch и Tissot. Эти знаки защищены как торговые марки. Из описания источника непонятно, о каких именно знаках идет речь, но на циферблатах обычно нанесены цифры и риски.