![](https://webcf.waybackmachine.org/web/20211209095131im_/https://habrastorage.org/getpro/habr/upload_files/b46/db3/d7e/b46db3d7eae3f67456f3dee655049811.jpg)
Многие начинающие и не только ардуинщики столкнувшись с проблемой нехватки памяти и пинов бегут покупать более мощные Arduino MEGA / DUE. Всегда ли можно этого избежать? Как создать свой клон Arduino с прошивкой через USB?
Многие начинающие и не только ардуинщики столкнувшись с проблемой нехватки памяти и пинов бегут покупать более мощные Arduino MEGA / DUE. Всегда ли можно этого избежать? Как создать свой клон Arduino с прошивкой через USB?
С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.
Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегодняшнего дня. Мы постараемся быть как можно более краткими по каждой функции. Намерение состоит в том, чтобы иметь ссылку на все новые фичи языка Java 8 - 17 включительно.
Примечание переводчика,
Эта статья переведена по просьбе одного из читателей Хабр. Надеюсь она будет полезна как краткий справочник по новым фичам языка Java 8 - 17.
В этой серии статей я собираюсь взглянуть на некоторые из новых функций, которые появились в .NET 6. Про .NET 6 уже написано много контента, в том числе множество постов непосредственно от команд .NET и ASP.NET. Я же собираюсь рассмотреть код некоторых из этих новых функций.
Переехать в микросервисы можно двумя способами. Можно построить платформу — это надежно, но очень сложно. Или можно поднять Kubernetes и начать в него коммитить новые сервисы. Переезд проходит быстро и легко, но редко получается то, на что вы рассчитываете. Например, вместо микросервисной структуры вы можете обнаружить распределенный монолит.
Многие при этом не задумываются, правильно ли они пилят микросервисы. Как в синдроме утенка: увиденное самым первым становится единственно верным решением.
Меня зовут Олег Федоткин, я Head of PaaS СберМаркет, мы занимаемся той самой платформой, которая помогает разработчикам лучше, удобнее и быстрее писать микросервисы. Мы стандартизируем всю разработку, стараясь снизить Time to Market для новых фич. Но это всё равно очень сложно. Поэтому сегодня я разберу самые распространенные микросервисные проблемы.
Пришло время поговорить об арбитре и его роли в обеспечении высокой доступности . Сегодня мы расскажем как и почему гиперконвергентная архитектура позволяет предотвращать потерю данных уже в 2-узловой конфигурации. А также коснемся вопроса простоты масштабируемости: возможности плавного увеличения среды с 2 до N узлов.
Привет! Меня зовут Антон Поляков, и я разрабатываю аналитическое хранилище данных и ELT-процессы в ManyChat.
Несколько лет назад мы выбрали Snowflake как сервис для нашей дата-платформы. С ростом объемов данных до сотен миллионов строк (спойлер: а затем и до десятков миллиардов), мы задались вопросом: “Как тратить меньше времени на расчет запросов для ежедневной отчетности?”. Идеальным вариантом было использование материализованных представлений, позволяющих обращаться к предварительно вычисленным результатам расчета витрин гораздо быстрее, чем к исходным данным.
Мы могли отдать управление нашим пайплайном таким популярным сегодня инструментам для трансформации данных как, например, dbt, Matillion или Dataform. Однако, в начале 2020 года ни у одного из них не было возможности тонкой кастомизации под нужды Snowflake и ManyChat. К тому же, нам не хотелось платить за еще один сторонний инструмент. Так, мы приняли решение изобрести собственный велосипед для работы с материализацией данных. Именно об этом я сегодня и расскажу.
Проблема больших представлений
В ManyChat мы используем анкор модель. В детальном слое находится уже более 150 Тб данных и 1500+ таблиц. Каждый день в нашем Snowflake-хранилище 30 человек выполняют сотни аналитических запросов, причем это не только аналитики, но и разработчики, HR, бухгалтерия.
Всем привет, меня зовут Оля, и я работаю аналитиком в команде распределения заказов Ситимобила. Наша задача — оптимально находить водителей и предлагать им удобные заказы с учетом ряда ограничений и пожеланий. Поэтому у нас есть разные режимы работы, в том числе «домой»: в этом режиме водителям предлагаются заказы только по пути домой.
Нам жаловались на некоторые предложения: водители считали, что им предлагают заказы не по пути. Поэтому они часто отказывались от заказа после подачи автомобиля, что приводило к плохому пользовательскому опыту и у водителей, и у пассажиров. Мы решили пересмотреть алгоритм. Самый сложный вопрос в этой задаче — «что такое по пути?». Оказалось, каждый водитель понимает это по-своему.
Мы поделимся опытом решения этой аналитической задачи с геоданными. Расскажем, как мы собирали информацию, какие алгоритмы легли в основу текущей версии и с какими сложностями сталкивались в процессе.
Удивительно, сколько полезностей можно узнать за один хабрамитап Хабр ПРО. Например, какая судьба ждёт монолит при переходе на микросервисы и кто отвечает за общий код между двумя микросервисами.
Эти и другие вопросы обсуждались 25 ноября в выпуске «Хабрамитап про микросервисы: отвечаем на вопросы с Хабр Q&A». Вебкаст посетил наш сотрудник — руководитель направления автоматизации в Россельхозбанке (РСХБ) Денис Рылеев.
На протяжении эфира Денис отвечал на вопросы о микросервисах, которые задавал ведущий хабрамитапа Андрей Аврамчук, подобравший самые интересные топики от зрителей вебкаста и пользователей бывшего Тостера — нынешнего Хабр Q&A. Кроме Дениса выступал ещё один эксперт — системный инженер компании EPAM Михаил Чугунов.
Из этой статьи даже начинающий разработчик поймёт, что такое микросервисы и в каких ситуациях они применяются. Денис и Михаил постарались ответить на все вопросы максимально доступным языком. Мы выделили несколько категорий вопросов:
Заранее обрадуем жаждущих именно услышать специалистов: каждый вопрос сопровождается ссылкой с вшитым тайм-кодом, так что долго искать ответы в записи вебкаста не придётся.
Хороший вопрос требует хорошего ответа. Приступим.
Привет! Я — Роман Махнык, .NET developer в NIX. Уже четвертый год я занимаюсь разработкой коммерческих проектов, а сейчас проектирую разные приложения на основе облачных решений.
В своей статье я буду описывать фреймворк gRPC для API. Он достаточно свежий, но уже зарекомендовал себя как перспективное решение. Суть gRPC в максимально упрощенной коммуникации сервисов. Также важно, что в gRPC данные отправляются по постоянному каналу без сериализации и роутов эндпоинтов.
Если вы только начинаете работу с API или хотите лучше разобраться именно в gRPC — эта статья для вас.
Уже давным-давно я работал в одной крупной компании в должности C++-разработчика и столкнулся с одной очень странной ошибкой. Я написал примерно такой класс:
class Foo {
static void* operator new() {
return ...;
};
};
И увидел огромный stack-trace ошибок о недопустимом вызове оператора в этом контекста (на тот момент я использовал MS Visual Studio 2013 и встроенный в него MSVC-компилятор). Я искал проблему часа два, и помогло мне только просматривание готовой единицы трансляции. Как вы могли догадаться, проблема была связана с препроцессором, но обо всём по порядку.
Я до последнего верил в Navigation component от google. Но, к сожалению, ряд задач с которыми я столкнулся при его использовании вместе с compose заставили поменять мое мнение. Идея создания собственного решения для навигации меня посещала часто, но я считал, что в этом нет необходимости. Ситуация вынудила меня!!! ... и теперь я представляю - Brick.
Привет, Хабр! Меня зовут Павел, я фронтэнд-архитектор в компании Itransition. Вот уже более 8 лет я работаю во фронтэнде. В течении этого времени мне довелось поработать с приложениями, как полностью основанными на бэкенд технологиях, так и с классическими сайтами, написанными с использованием нативного JS и различных библиотек и фреймворков. В данной статье я хотел бы провести в некотором роде ретроспективу тех решений, с которыми сталкивался на практике.
В последние годы мы привыкли работать со светлыми и темными темами во всем: в IDE, в браузере, на десктопе, часто даже на мобильных устройствах. Обычно, когда нам говорят о разных темах, мы представляем разный набор цветов, в рамках которых главный цвет обычно либо близок к белому, либо темно-серому.
С развитием интернета всё больше приложений перебираются на мобильные устройства и в браузер. Сегодня мы рассмотрим именно последний способ создания приложений – в виде сайтов – при этом учтем как современные приложения, так и enterprise-приложения, которые должны работать со старыми версиями браузеров.
В рамках этой статьи мы попробуем разобрать различные варианты того, как мы можем дать пользователю возможность выбирать из различных тем, а также настраивать их под себя. Поскольку во всех приложениях есть своя специфика от технического стека до бизнес-требований, мы попробуем отталкиваться от базовых подходов и не будем привязываться к конкретным библиотекам или фреймворкам. При описании всех подходов я приведу примеры, основанные на реальных решениях, которые были использованы при разработке и применялись в готовых проектах.
В последнее время мы часто сталкиваемся с темой целевой аудитории (ЦА), способов ее поиска и анализа. Продажи на сайте упали? Так целевая аудитория любит мобилку, а сайт плохо под нее адаптирован. Высокие отказы в сетях? Ясно: ЦА на наших площадках не сидит. Креатив в Instagram не зашел? Ну, так под ЦА же его не адаптировали, эх вы! Конечно, это все шуточки. Но буквально в каждом аспекте маркетинга сквозит понятие целевой аудитории.
Привет! Меня зовут Степан Лущий, я – тимлид команды тестирования компании «БАРС Груп». Мы занимаемся созданием автоматизированных тестов (автотест), инструментов для их написания, а также развитием инфраструктуры автотестирования. В этой статье я расскажу, как мы разработали инструмент, с помощью которого у нас получилось значительно сократить время реализации автотеста.
Сетевая безопасность? Да у нас на периметре роутер стоит и все нормально!
Благодаря многолетней работе в интеграторе я периодически сталкиваюсь с таким мнением, поэтому надеюсь, что популяризация данной темы поможет избежать проблем в виде каких-нибудь шифровальщиков хотя бы в паре компаний.