Социальные сети Рунета
Среда, 30 сентября 2020

Ещё одна статья «Как я сдавал PMP». Online. Лайфхаки Привет! Меня зовут, Дмитрий, и я сдал экзамен PMP в 2020 г., онлайн. В своей статье я хочу поделиться субъективным мнением про методику подготовки к экзамену и тех мелочах, которые я хотел бы знать до начала подготовки. Без воды. Статья не содержит неэтичных способов подго...

С «эмулируй» сборку приложения ARM на x86 процессоре на примере Qt Мощность современных процессоров растёт, как в стационарных компьютерах, так и в различных embedded устройствах, на борту которых процессоры на базе ARM с операционной системой linux. Сегодня в рамках данной статьи мы запустим эмулятор процессора ARM на x86 компьютере и в нё...

Почему вам не надо становиться тимлидом? Привет, друзья. Эта статья написана Георгием Могелашвили (glamcoder), который работает на позиции Lead Developer в Booking.com в Амстердаме и отвечает за архитектуру и координацию нескольких технических команд в отделе маркетинга, а по совместительству Георгий преподает в OT...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

Главная причина, почему все-таки Linux Недавно на Хабре была опубликована статья Главная причина, почему не Linux, которая наделала много шума в обсуждениях. Данная заметка — это небольшой философский ответ на ту статью, который, как я надеюсь, расставит все точки над i, причем с довольно неожиданной для многих ч...

Как мы автоматизировали разработку WL-приложений White Label — это мобильные приложения, которые можно кастомизировать под любой бренд: оформить в фирменных цветах, выбрать необходимые блоки и функционал, добавить описание. Мы их выпускаем на основе Рамблер/кассы с 2015 года и в этой статье хотим рассказать, как у нас полу...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

FOSS News №30 – дайджест новостей свободного и открытого ПО за 17–23 августа 2020 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Этот выпуск получился особенно серьёзным по уровню поднятых вопросов. Разбираем проблемы Mozilla и ра...

Свободное или отечественное ПО. Стандартное или свободное обучение В начале февраля в Переславль-Залесском прошла пятнадцатая конференция “Свободное программное обеспечение в высшей школе” организованная компанией “Базальт СПО”. В данной статье я хочу поднять несколько вопросов, которые мне показались наиболее важными, а именно, какое ПО л...

Главные боли программиста Программирование это так классно! Можно сидеть дома в пижаме, при этом занимаясь интеллектуальным трудом. Просто сказка! Однако у любой сказки есть обратная сторона. Сегодня я бы хотела рассказать вам о боли программистов, а точнее самых распространенных “профессиональны...

Парсер данных по произвольной грамматике в 400 строк Есть много существующих инструментов для парсинга файлов по заданной грамматике. Например, ANTLR или Yacc. Они используют конечные автоматы и генерируют большие файлы с исходным кодом для парсинга. Действительно ли это так сложно? Попробуем сделать сами. В этой статье я пока...

Почему я сделал личный проект учёта трат на Git+JS Здравствуйте, господа, в этой статье я поделюсь опытом создания приложения учёта трат, в частности отвечу на следующие вопросы: Зачем мне приложение учёта трат? Почему это личный проект? Почему проект на Git+JS? 1. Зачем мне приложение учёта трат? Как и многие другие люди...

Rust. Borrow checker через итераторы Привет, Хабр! Я уже около года изучаю и, в свободное время, пишу на расте. Мне нравится как его авторы решили проблему управления памятью и обошлись без сборщика мусора — через концепцию заимствования. В этой статье подойду к этой идее через итераторы. Последнее время scal...

Главная причина, почему не Linux Сразу хочу сказать, что речь в статье пойдёт исключительно о настольном применении Линукса, т.е. на домашних компах/ноутах и рабочих станциях. Всё нижеизложенное не касается Линукса на серверах, встроенных системах и прочих подобных устройствах, т.к. то, на что я сейчас выль...

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

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

Непрохождение вызова по номеру 112 на телефоне Xiaomi Redmi Note 5 Я использую (уже довольно старый) телефон Xiaomi Redmi Note 5 и хочу рассказать о том, почему этот телефон (и, возможно, некоторые другие) может довести до трагических последствий. Примерно месяц назад потребовалось позвонить 112, но вместо ответа оператора я услышал, что н...

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

Какая асинхронность должна была бы быть в Python В последние несколько лет ключевое слово async и семантика асинхронного программирования проникла во многие популярные языки программирования: JavaScript, Rust, C#, и многие другие. Конечно, в Python тоже есть async/await, они появились в Python 3.5. В этой статье хочу обсу...

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

[Из песочницы] Попытка решить проблему выбора авиабилетов перед отпуском Привет всем! Хочу немного рассказать про то, как я делал, сделал и буду делать (наверное) в свободное время очередной travel-сервис для поиска авиабилетов. Скриншот одной из страниц: Читать дальше →

Ведьмаку заплатите чеканной монетой — разбираем главную песню из сериала «Ведьмак» на английском «Toss a coin to your witcher» — после выхода сериала «Ведьмак» от Netflix эта песня звучала из каждого утюга. Серьезно, только очень ленивый музыкант не попытался сделать на нее кавер. Весь YouTube просто лихорадило. Мотив песни довольно прилипчивый, но ведь и слова любоп...

Анализ исходного кода Emby при помощи анализатора PVS-Studio Emby — довольно известный медиасервер, наравне с Plex и Kodi. В этой статье мы попробуем проверить его исходный код при помощи статического анализатора PVS-Studio. На официальном сайте Emby есть маленькая пометочка «Built with ReSharper». Что же, так даже интереснее. Читать...

Запоздалое похмелье 8 марта: ещё одна статья на Хабре о женщинах в ИТ «Если, по-вашему, женщина может быть кузнецом, то почему бы мужчине не быть педикюршей? Она кует, он пилит, прекрасная пара!» К/ф «Берегите женщин» Я читаю Хабр года так с 2009-го. Последние несколько лет накануне 8 марта случается вал публикаций, спецпроектов, мегапостов и...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

[Перевод] Антипаттерн “Репозиторий” в Android Перевод статьи подготовлен в преддверии старта курса «Android Developer. Professional». Официальное руководство по архитектуре приложений Android рекомендует использовать классы репозитории (Repository) для «предоставления чистого API, чтобы остальная часть приложения мог...

VoiceOver на iOS: решение типовых проблем Когда берёшься адаптировать приложение для незрячих, часто что-то идёт не так: то порядок собьётся, то фокус не туда встанет. С другой стороны, есть UX, который легко пропустить, потому что не знаешь про возможные проблемы. В этой статье будем разбираться с типовыми проблема...

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

1. FortiAnalyzer Getting Started v6.4. Введение Здравствуйте, друзья! Мы рады вас приветствовать на нашем новом курсе FortiAnalyzer Getting Started. На курсе Fortinet Getting Started мы уже рассматривали функционал FortiAnalyzer, но прошлись по нему довольно поверхностно. Сейчас я хочу более подробно рассказать про этот...

[Из песочницы] О проблемах транслятора Python и переосмысление языка — Сколько нужно архитекторов, чтобы реализовать язык программирования? — Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше. В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые г...

[Из песочницы] Субъективный обзор некоторых российских бесплатных образовательных платформ      «Expose the lies that enrage me» (с) Arch Enemy Случается, закончил человек не самый плохой ВУЗ, работает себе без особых проблем, но вокруг постоянно появляется что-то новое, неизведанное и хочется не отстать… А бывает, студент ощущает, что с его ВУЗом что-то не то, ...

Кракс! Миллениалы изобрели Python фреймворк Пролог Здравствуй, Хабр! Данная статья посвящена разбору плюсов и минусов очередного Python фреймворка, который увидел свет около недели назад. Итак, небольшое лирическое отступление. Во время всем известных событий, когда нас чуть-чуть самоизолировали, у нас появилось немно...

Как мы переучивали поддержку разговаривать по-человечески, и что получилось Поддержка разговаривала с пользователями сухо, коротко и официально. Пользователи обижались. Например, вот: Клиент: Привет, как поднять VPN на сервере? Поддержка: Ваш сервер в порядке, мы не занимаемся серверным администрированием [закрывает тикет].Поддержка права? Права. ...

Ретроспектива граблей. Как самописное решение оказалось круче платного Привет! Меня зовут Алексей Пьянков, я главный программист в компании Спортмастер. Скажу сразу, что «главный» не значит «самый главный из всех программистов», нет, это только название, такой очаровательный перевод для «Senior+"». В компании Спортмастер я работаю с 2012 г...

Как построить надежное приложение на базе Event sourcing? Привет! В этой статье я хочу рассказать, как из модного микросервисного приложения можно сделать рабочую, управляемую систему с помощью трех проверенных годами методик: на примере проекта внутренней performance-based рекламы Joom. Читать дальше →

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

Бардак на старте: постмортем на скорость запуска iOS-приложения У современного приложения много нефункциональных требований: размер приложения, потребляемый трафик, доступность для людей с ограничениями, стабильность, скорость запуска и работы. Наше приложение запускалось очень долго, десятки секунд. Сегодня вышло обновление, в котором i...

Как работает Object Tracking на YOLO и DeepSort Object Tracking — очень интересное направление, которое изучается и эволюционирует не первый десяток лет. Сейчас многие разработки в этой области построены на глубоком обучении, которое имеет преимущество над стандартными алгоритмами, так как нейронные сети могут аппроксимир...

[Из песочницы] UX-исследование ДБО: наш опыт, ошибки и открытия Привет. Я Денис Элиановский, дизайн-директор в JTC и руководитель в Opium Pro. Мы работаем в очень узких сегментах рынка IT, связанных с финансами и документооборотом. Вы точно ещё не слышали об этих компаниях и сегодня мало что о них узнаете, ведь эта статья про UX-исследов...

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

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

Mein Linux На Хабре в последнее время появилась серия холиварных статей: Семь причин, почему Линукс Главная причина, почему не Linux (от автора предыдущей статьи) Главная причина, почему все-таки Linux В этих статьях и комментариях к ним много говорили о коммунизме, цельности системы, ...

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

Тёмная Вселенная. Часть 1 Доброго времени суток, уважаемое хабрасообщество! Как я и обещал после прошлой статьи по теории струн, сегодня мы попробуем приоткрыть завесу тайн и пробежаться по костылям новым веяниям в космологии — попробуем взглянуть на тернистый путь, который прошли ученые, и разобрать...

Похмелье 8 марта: ещё одна статья на Хабре о женщинах в ИТ «Если, по-вашему, женщина может быть кузнецом, то почему бы мужчине не быть педикюршей? Она кует, он пилит, прекрасная пара!» К/ф «Берегите женщин» Я читаю Хабр года так с 2009-го. Последние несколько лет накануне 8 марта случается вал публикаций, спецпроектов, мегапостов и...

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

[Из песочницы] Симуляция подъёмной силы Ньютона методом частиц на CUDA https://www.youtube.com/playlist?list=PLwr8DnSlIMg0KABru36pg4CvbfkhBofAi Как-то на Хабре мне попалась довольно любопытная статья “Научно-технические мифы, часть 1. Почему летают самолёты?”. Статья довольно подробно описывает, какие проблемы возникают при попытке объяснить п...

Lua на STM32 Привет! Иногда хочется быстро что-то попробовать на микроконтроллере, запрограммировать маленький работающий прототип какой-то идеи. Для этих целей, как известно, хорошо подходят скриптовые языки. В этой статье я хочу рассказать, как с помощью Embox запустить интерпретатор ...

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

[Перевод] Python, pandas и решение трёх задач из мира Excel Excel — это чрезвычайно распространённый инструмент для анализа данных. С ним легко научиться работать, есть он практически на каждом компьютере, а тот, кто его освоил, может с его помощью решать довольно сложные задачи. Python часто считают инструментом, возможности которог...

Angular: Интеграционное тестирование (Shallow testing) Когда приложение разрастается или нам очень важно, чтобы оно работало верно при любом рефакторинге, мы начинаем задумываться о unit или e2e тестировании. За несколько лет работы с Angular — приложениями в корпоративном сегменте, поймав множество проблем при рефакторинге ...

[Из песочницы] Регистрация и авторизация с помощью Spring Security на примере простого приложения Добрый день! В этой статье будет рассмотрено создание простого веб приложения с использованием Spring Boot и Spring Security. В приложении будет реализована регистрация новых пользователей и авторизация, ограничение доступа к страницам сайта в зависимости от роли пользовате...

Как мы использовали айтрекер для количественного эксперимента Привет, Хабр. На связи UX-лаборатория Авито. Сегодня хотим рассказать об опыте использования айтрекера для проведения количественного эксперимента. Серьёзных инсайтов и уроков не обещаем, просто поделимся своими мыслями. Расскажем, что вышло из идеи эксп...

[Из песочницы] Эта музыка будет вечной или генетическое программирование Писать можно о разном, даже более того – на разном. Вот и программирование как таковое тоже бывает не ограничено определенными рамками, привычных всем стереотипов, связанных с компьютерами. Ранее на Хабре уже выходили статьи про так называемое литературное программирование и...

Простая самодельная VGA видеокарта Насколько мне известно, довольно многим интересно подключить микроконтроллер к обычному монитору и попробовать что-либо вывести на экран. В этой статье пойдёт речь о создании простейшей VGA-видеокарты на базе микроконтроллера atmega168-20. Читать дальше →

Освободи свой Android Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android. В момент выхода этой статьи я как-то не обратил на неё внимани...

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

[Перевод] Проблемы с DNS в Kubernetes. Публичный постмортем Прим. перев.: это перевод публичного постмортема из инженерного блога компании Preply. В нем описывается проблема с conntrack в Kubernetes-кластере, которая привела к частичному простою некоторых сервисов продакшна. Данная статья может быть полезной тем, кто хочет узнать не...

Аппаратный конвертер HDMI-RGB (18/24-bit) Доброго времени суток, Хабр! И снова моя статья будет посвящена видео конвертеру. На этот раз это будет HDMI-RGB. Статью хочу посвятить не конкретно разработке, а одной проблеме с цветами, которая у меня возникла при подключении 18-bit матрицы к 24-bit драйверу. Читать да...

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

Сонм разумов: актуальные барьеры и трамплины на пути создания общего ИИ (c)  Проекты создания общего искусственного интеллекта (Artificial General Intelligence, AGI), о которых сегодня пойдет речь, считаются менее амбициозными, чем любой сильный ИИ. Однако некоторые ученые утверждают, что компьютеры никогда не смогут получить возможности челове...

Типизируй все Всем привет! У нас уже есть одна статья про развитие типизации в Ostrovok.ru. В ней объясняется, зачем мы переходим с pyContracts на typeguard, почему переходим именно на typeguard и что в итоге получаем. А сегодня я расскажу подробнее о том, каким образом происходит этот пе...

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

[Перевод] Визуальное руководство по диагностике неисправностей в Kubernetes Прим. перев.: Эта статья входит в состав опубликованных в свободном доступе материалов проекта learnk8s, обучающего работе с Kubernetes компании и индивидуальных администраторов. В ней Daniele Polencic, руководитель проекта, делится наглядной инструкцией о том, какие шаги ст...

PyDERASN: как я добавил big-data поддержку Продолжаю прошлую статью о PyDERASN — свободном ASN.1 DER/CER/BER кодеке на Python. За прошедший год, с момента её написания, кроме всяких мелочей, небольших исправлений, ещё более строгой проверки данных (хотя и прежде он был уже самым строгим из известных мне свободных код...

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

[Перевод] Какова геометрия Вселенной? Облачные решения хороши тем, что позволяют создавать проекты любой сложности, вплоть до виртуального дата-центра. Если попробовать визуализировать эти структуры, то получится этакая мини-вселенная. Давайте поиграем с геометрией, попробовав визуализировать разные модели наш...

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

Dynamic Delivery в многомодульных проектах (часть 2) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Я уже рассказывал, что такое Dynamic Delivery и какой у него API. В этой статье я подробнее опишу, как я использовал Dynamic Delivery в нашем прилож...

[Перевод] Python и разработка простого веб-приложения, использующего технологии машинного обучения Тот, кто занимается машинным обучением (Machine Learning, ML), обычно, реализуя различные проекты, выполняет следующие действия: сбор данных, их очистка, разведочный анализ данных, разработка модели, публикация модели в локальной сети или в интернете. Вот хорошее видео, в ко...

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

Google сломала поиск в Google Play В Google Play сломался поиск, а Google нет до этого дела Google Play – каталог с большими перспективами. Учитывая аудиторию пользователей Android, магазин приложений Google мог бы без особого труда заткнуть за пояс App Store не только по количеству загрузок, но и по объёмам ...

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

Интервью с Александром Филипповым, Lead Game Designer World of Tanks Blitz 14 и 15 мая мы будем участвовать в конференции DevGAMM, на которой будут выступать наши спикеры. И мы подумали, почему бы не разузнать у одного из них о бекграунде, опыте и работе над проектом World of Tanks Blitz, о котором пойдем речь в презентации. Что получилось из этого...

[Перевод] Решение проблемы N+1 запроса без увеличения потребления памяти в Laravel Одна из основных проблем разработчиков, когда они создают приложение с ORM — это N+1 запрос в их приложениях. Проблема N+1 запроса — это не эффективный способ обращения к базе данных, когда приложение генерирует запрос на каждый вызов объекта. Эта проблема обычно возникает, ...

Flutter + arduino nano 33 BLE sense = очень простой BLE sensor В этой статье я хочу рассказать как сделать очень простую bluetooth метеостанцию (куда уж без нее :) ) и написать мобильное приложение на Flutter для нее. Читать дальше →

Логи в Kubernetes (и не только) сегодня: ожидания и реальность Шёл 2019 год, а у нас всё ещё нет стандартного решения для агрегации логов в Kubernetes. В этой статье мы хотели бы, используя примеры из реальной практики, поделиться своими поисками, встречаемыми проблемами и их решениями. Однако для начала оговорюсь, что разные заказчи...

Как я начал выступать на конференциях и не могу остановиться Современный мир разработки, по-своему, прекрасен. Хорошей практикой считается свободное распространение своих знаний и разработок. Стремление к знаниям создает спрос, а habr, toster (ныне qna), github, митапы, конференции и прочее являются отличным предложением. О митапах и ...

Как Youtube и Instagram: интернационализация и локализация приложения на Python Язык Python лежит в основе всемирно известных приложений, таких как Youtube, Instagram и Pinterest. Для продвижения на мировом рынке приложению необходима локализация, то есть адаптация к особенностям той или иной страны, и интернационализация – перевод контента. В статье мы...

Создаем graphql бекенд на Golang Сегодня мы будем разрабатывать приложение на Golang + GraphQL. Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с различными языками программирования: Javascript, Ruby и теперь руки дошли и до того чтобы попробовать связку Golang G...

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

[Перевод] Делаем ионизатор воздуха менее, чем за $10 Перевод статьи из блога индийского инженера Амальдева В. Этот проект вызревал у меня в голове порядка двух лет, и я всё никак не мог им заняться. В проекте нет ничего сложного или слишком технологичного. Любой человек, умеющий мастерить что-либо руками, должен с ним справ...

[Перевод] Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? Перевод статьи подготовлен в преддверии старта курса «Разработчик C#». Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозмо...

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

BlazingPizza: приложение на Blazor от начала и до конца. Часть 2. Добавляем компонент Привет всем! Всем тем, кто хочет узнать о Blazor немного больше. Сегодня мы продолжим создание нашего сайта для пиццерии, а именно, создадим web api контроллер и попробуем отобразить данные которые поступают из него на компоненте Blazor. Поскольку наше приложение о пицце, т...

Navigation Component-дзюцу, vol. 1 — BottomNavigationView Два года назад на Google I/O Android-разработчикам представили новое решение для навигации в приложениях — библиотеку Jetpack Navigation Component. Про маленькие приложения уже было сказано достаточно, а вот о том, с какими проблемами можно столкнуться при переводе большого...

«Никогда не писали автотесты? Попробуйте Cypress» «Никогда не писали автотесты? Попробуйте Cypress» Автотесты на Cypress Первое впечатление и встречающиеся проблемы Дмитрий Кочергин, Lead Software Developer Luxoft Прежде всего хочу отметить, что я не профессиональный автотестер, а Java-программист. Но однажды поступила за...

FAST VP в СХД Unity: как это работает Сегодня речь пойдет об интересной технологии, реализованной в СХД Unity/Unity XT, – FAST VP. Если вы впервые услышали о Unity, то по ссылке в конце статьи можно ознакомиться с характеристиками системы. В проектной команде Dell EMC я работал над FAST VP более года. Сегодня хо...

[Из песочницы] Фундаментальное решение системы линейных уравнений. Взгляд со стороны Добрый день! В данной статье я попробую взглянуть по новому на алгоритм поиска общего решения системы линейных уравнений. Задача, которой мы займемся звучит так. Найти общее решение следующей системы уравнений Такую задачу решают, приведя исходную систему к треугольному...

OpenGL примитивы в стиле RAII Добрый день, хабра юзеры. Я давно не писал и возможно кто-то заждался статей от меня — конечно же нет. Так как свободного времени стало чутка поболее, а мой GitHub совершенно пуст, я решил написать свой клон Mein kampf Minecraft. С большой вероятностью, я задокументирую это...

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

RE: Страх и ненависть в IT Писать ответы на статьи легко и приятно. Не надо часами корпеть над структурой статьи, достаточно следовать чужому плану и лишь внятно изложить мысли на бумаге. Тем не менее, рискну предположить, что критический взгляд «с другой стороны» на проблемы, поднятые в статье "Страх...

FOSS News №28 – дайджест новостей свободного и открытого ПО за 3–9 августа 2020 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Кто пришёл на смену Столлману, экспертный обзор российского GNU/Linux дистрибутива Astra Linux, отчёт...

Российское приборостроение: вертели мы ваш дизайн на пальцах Или как понять, что ваш дизайн уже пора выкинуть, и как сделать новый — Нужно делать как нужно, а как не нужно делать не нужно! Фраза из интернетов Это статья о промышленном дизайне в приборостроении: почему вы без него не обойдётесь; что делать и кого искать, если вы вс...

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

Вручаем 15 миллионов разработчикам мини-приложений Время в самоизоляции перераспределилось: кто-то стал вкалывать даже больше прежнего, но у многих всё же появилась пара свободных часов. Мы наконец возвращаемся к тому, что откладывали в долгий ящик, — в том числе онлайн-образованию. Саморазвитие — то, что мы любим и всегда ...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

[Из песочницы] Репетитор по программированию: почему вы должны стать им и как это сделать Доброго времени суток, Хабр. Представляю Вашему вниманию перевод статьи:«Coding Mentor: Why You Should Become One and How to Do It» автора Oleg Sklyarov (Олег Скляров). Привет! Меня зовут Олег Скляров, я работаю руководителем группы разработки мобильных устройств для дете...

Учим физику с ребенком сами, чтобы всем было интересно Эта статья будет полезна тем родителям, которые отважились помогать ребенку с физикой. Сегодня узнаем, как правильно пояснять физику на примере таких тем, как инертность, масса, вес и сила тяжести. Бонусом — сделаю обзор нескольких полезных интернет-ресурсов которыми часто ...

Habr vs Medium: сколько можно заработать опубликовав 9 статей на Medium.com Привет Хабр. Наверное многие авторы, публикующие статьи на русскоязычных ресурсах, хотя бы раз задумывались о публикации своих текстов в англоязычном сегменте интернета. Мне тоже стало интересно узнать, как это работает и какой отзыв аудитории можно получить. Я пишу статьи ...

SSL сертификат для Docker web-app В данной статье я хочу поделиться с вами способом создания SSL сертификата для вашего веб-приложения работающего на Docker, т.к. в рускоязычной части интернета — подобного решения я не нашел. Подробнее под катом. Читать дальше →

Мини плата для разработки и отладки ПО на BLE, Zigbee Thread Приветствую читателей Habr! В этой статье хочу поделиться с сообществом своей новой разработкой, речь пойдет о небольшой Development Board на чипе nRF52840. Плата была спроектированна под недорогие модули E73-2G4M08S1C. Идея ее создания родилась в одном уютном телеграмм чати...

[Из песочницы] Изучаем мультикаст операторы RxJS Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal. Широковещательные или мультикаст операторы нередко кажутся самой сложной темой при изучении RxJS. В этой статье я попробую все доступно объяснить. Мы рас...

[Перевод] Достоинства и недостатки стратегии Infra-as-Code Repo Отвечая на вопросы, которые я получил после этой публикации, сегодня хотел бы разрешить бесконечный спор о структуре репозитория, а так же затронуть некоторые проблемы и их решения. Здесь я буду пользоваться своим IaC, основанным на Terraform, но по большей части всё будет п...

Управленческая истерика. Нормальными словами Раньше я был глупый и писал худлит. Теперь я всё понял, и худлит на Хабре не пишу. Но чего добру-то пропадать? Точнее, хочу понять, есть ли в том худлите добро, польза. Попробую взять худлитную статью и изложить её посыл нормальными словами. А чего получится — вам решать. Ор...

Топ-7 самых прибыльных майнинг-пулов для новичков Почему лучше майнить на пуле, а не индивидуально? Ответ прост — при майнинге на пуле ваш доход будет более стабильным, ведь вы будете получать определенную часть вознаграждений всего пула. Существует множество пулов, и, если вы новичок в сфере майнинга, вам может быть довол...

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

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

[Перевод] Попробуем выдвинуть аргументы против Rust Недавно я прочитал статью c критикой Rust. Хотя в ней было много правильных вещей, она мне не понравилось — слишком многое там очень спорно. В целом, я вообще не могу рекомендовать к прочтению никакой статьи с критикой Rust. Это нехорошо, ведь важно обсуждать недостатки, а ш...

CLI приложение + Dependency Injector — руководство по применению dependency injection + Вопросы / ответы Привет, Я создатель Dependency Injector. Это dependency injection фреймворк для Python. Это завершающее руководство по построению приложений с помощью Dependency Injector. Прошлые руководства рассказывают как построить веб-приложение на Flask, REST API на Aiohttp и монитор...

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

[Перевод] Почему базы данных NoSQL — плохое решение для современных приложений Здравствуйте, Хабр. Сегодня мы предлагаем вашему вниманию перевод статьи из блога MemSQL, которая исходно является рекламной (посвящена достоинствам MemSQL, обновлена по состоянию на начало января 2020 года). Но мы решили все-таки перевести ее в сокращенном виде, поскольку ...

Управление уязвимостями (Vulnerability Management) — чего больше: управления или уязвимостей? В этой статье мы хотим поделиться с вами случаями, которые происходили у наших заказчиков, и рассказать/показать/ответить на вопрос, почему управление уязвимостями – это почти всегда не про уязвимости, и простого — «мы за вас отфильтруем из 1 000 000 уязвимостей до реально...

Архитектура и дизайн Android приложения (мой опыт) Хабр, привет! Сегодня я хочу рассказать об архитектуре, которой я следую в своих Android приложениях. За основу я беру Clean Architecture, а в качестве инструментов использую Android Architecture Components (ViewModel, LiveData, LiveEvent) + Kotlin Coroutines. К статье прил...

[Из песочницы] Не бойся JSON или твое первое приложение с использованием API Я имею кое-какой 8ми летный опыт в ковырянии кода. За это время успел попробовать много разных языков и технологий в разных направлениях: от «разработки» всяких фишинговых приколов на PHP Devel Studio до полноценных веб приложений на современных фреймворках и софта на нейрос...

Blue-Green Deployment на минималках В этой статье мы с помощью bash, ssh, docker и nginx организуем бесшовную выкладку веб-приложения. Blue-green deployment — это техника, позволяющая мгновенно обновлять приложение, не отклоняя ни одного запроса. Она является одной из стратегий zero downtime deployment и лучше...

Трудно быть Колей, или практики обмена знаниями в Latech Всем привет! Меня зовут Александр Афенов, я тимлид команды Order Processing в компании Lamoda. Сегодня я хочу вам рассказать о практиках обмена знаниями: какие проблемы эти практики решают, как мы к ним пришли, и как они влияют на жизнь разработчика. Читать дальше →

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

[Из песочницы] Оптимизация загрузки изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «How to optimize image loading on your website». Если на сайте много красивых изображений, то это здорово, но они могут значительно ухудшить время загрузки и как результат — пострадает SEO, а многие пользователи будут...

[Из песочницы] Топ 5 причин, почему мне нравятся пользовательские свойства CSS Привет, Хабр! Представляю вашему вниманию перевод статьи «My top 5 reasons why I like CSS custom properties», автора Stas Melnikov Спецификация пользовательских свойств CSS навсегда изменила мой взгляд на веб-разработку. Именно поэтому я хочу написать, почему мне нравятся п...

Онлайн-соревнование для авторов: лучшие «корпоративные» статьи 2020 Привет, Хабр! Хочу поделиться информацией об онлайн-конкурсе для авторов и редакторов, которые занимаются созданием контента для компаний. Главная цель соревнований – показать, что брендированный контент может быть ненавязчивым, интересным и полезным. Читать дальше →

Edge-ик в тумане и другие приключения периферийных вычислений Добрый день. Меня зовут Игорь Хапов. Я руководитель разработки в Научно-техническом центре IBM. И сегодня я хотел бы вам помочь окунуться в мир периферийных вычислений, или edge computing, как его ещё называют. Я расскажу о том, что же такое edge computing и как он может пов...

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

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

Консольные утилиты Linux, которые смогут облегчить вам жизнь (Часть 2) Так как предыдущая статья зашла довольно хорошо, было бы неправильно не поделиться дополнительными утилитами, которые я использую и по сей день. Сразу хочу оговориться, что статья адаптирована и для новичков, а старым линуксоидам придётся немного сточить зубы потерпеть разж...

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

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

Архитектура современных корпоративных Node.js-приложений Ох, не зря в названии намёк на нетленку Фаулера. И когда фронтенд-приложения успели стать настолько сложными, что мы начали рассуждать о высоких материях? Node.js… фронтенд… погодите, но Нода же на сервере, это бэкенд, а там ребята и так всё знают! Давайте по порядку. И ...

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

Зачем (не)нужны геттеры? Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместн...

[Из песочницы] Долгий DNS resolve в Kubernetes Эта статья посвящена проблемам работы DNS в Kubernetes, с которыми столкнулась наша команда. Как оказалось, иногда проблема лежит гораздо глубже, чем кажется изначально. Вступление Всегда наступает момент, когда в уже отлаженную работу вмешиваются обстоятельства, заставляя н...

Как мы формируем консолидированную отчетность 25 компаний, 9 стран, 6 функциональных валют… Систему и процедуры подготовки отчетности легко можно было сделать сложными и дорогими. Но мы нашли простое с технической точки зрения решение, которое очень нравится нашим пользователям, а особенно специалистам по подготовке ко...

Имитируем сетевые проблемы в Linux Всем привет, меня зовут Саша, я руковожу тестированием бэкенда в FunCorp. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость ...

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

Кто владеет информацией — тот владеет миром. Как организовать коммуникацию и распространение информации на проекте? Грамотно выстроенная коммуникация и хорошо организованное распространение информации на проекте — самые важные условия для слаженной работы команды. Думаю, во всех командах, вне зависимости от того, remote они или нет, сталкивались с проблемами вида “А почему мне не сказали”...

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

7 бесплатных курсов для специалистов по работе с данными (DS и DE) Finale! Именно этим итальянским словом можно назвать эту статью. Ведь она последняя уже во второй серии подборок бесплатных курсов от Microsoft. И сегодня у нас курсы для специалистов по анализу данных и инженеров данных. Присоединяйтесь! Кстати! Все курсы бесплатные (вы ...

Хороший ли выбор Svelte для реализации виджета? Привет! Меня зовут Дмитрий Усов, я фронтенд-разработчик в Ситимобил. Буквально несколько месяцев назад появилась задача создать виджет для заказа такси через сайт. В этой статье я хотел бы рассказать, почему для этой задачи был выбран Svelte, поделиться своим мнением о его д...

Массивы в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь. Эта статья посвящена...

Решение нескольких задач от Amazon на примере JavaScript Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang. В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений. После ознакомления с ...

Декомпилируем приложение xiaomi сканер и забираем результат сканирования У коллеги возникло предложение: «Напиши мне за банку чипсов распознавалку штрих-кодов на андроид, чтобы просто в файлики результаты писать и время, брату надо» В итоге оказалось не брату, да и не надо, и вообще банка чипсов это дорого Из интереса пробежался по готовым решени...

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

Android 11 Beta и обновления для разработчиков Привет, Хабр! 10 июня вышла бета-версия Android 11! В этой статье мы хотели бы коротко рассказать о главных новинках в Android 11 Beta, Google Play и инструментах для разработчиков. А также хотели бы пригласить всех читателей на специальное онлайн мероприятие, посвященное в...

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

Как организовать успешный стартап? Эта статья — почти точный транскрипт моего мастер-класса, который я провёл в офисе Mail.ru Group для студентов наших образовательных проектов. Мне больше всего нравится такое определение стартапа: это что угодно, находящееся в состоянии высокой неопределенности. И сегодня ...

Изучаю Akka.NET: Сервер простой онлайн игры Привет, Хабр! Решил я значит попробовать переписать тот сервер что делал с MS Orleans на Akka.NET просто чтобы попробовать и эту технологию тоже. Если вам интересно что получилось до добро пожаловать под кат. Читать дальше →

[Из песочницы] Игровая консоль stm32 Немного шутеров для stm32; как, зачем, что получилось. Предисловие Будучи поклонником «старой» школы шутеров с одной стороны и embedded-разработчиком с другой, я всегда испытывал интерес, как и почему авторам той эпохи удавалось воплощать новый жанр, требующий совершенно ...

Как захватить новую страну за 3 недели Представим сферическую сеть пиццерий в вакууме, которая хочет захватить мир (никогда такого не было и вот опять). Она уже открыла пиццерии в 13 странах мира и планирует увеличивать эту цифру. Всего год назад запуск (сайта, приложения и информационной системы) был редким — 1 ...

Анимация в Android: плавные переходы фрагментов внутри Bottom Sheet Написано огромное количество документации и статей о важной визуальной составляющей приложений — анимации. Несмотря на это мы смогли вляпаться в проблемы столкнулись с загвоздками при её реализации. Данная статья о проблеме и анализе вариантов её решения. Я не дам вам сере...

[Перевод] Производитель/потребитель на Kafka и Kotlin Перевод статьи подготовлен в преддверии старта курса «Backend-разработка на Kotlin» В этой статье мы поговорим о том, как создать простое приложение на Spring Boot с Kafka и Kotlin. Читать дальше →

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Canny или Arduino) и Raspberry PI Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, ...

Возможности Vue, о которых не следует забывать Мы в команде Ptah мы решили пойти чуть дальше привычных SPA и попробовали использовать Vue для конструктора лендингов. И теперь хотим поделиться частью нашего опыта. Эта статья, прежде всего, для тех, кто только начал работать с Vue и хочет узнать лучше его особенности и во...

[Из песочницы] Масштабируемая архитектура для больших мобильных приложений В этой статье мы не будем разбирать MVP, MVVM, MVI или что-то подобное. Сегодня мы поговорим о более глобальной вещи, чем просто архитектура уровня представления. Как спроектировать действительно большое приложение, в котором смогут комфортно работать десятки или сотни разра...

[Перевод] PEP 572 (Выражения присваивания в python 3.8) Привет, Хабр. В этот раз мы рассмотрим PEP 572, который рассказывает про выражения присваивания. Если Вы до сих пор скептически относитесь к оператору ":=" или не до конца понимаете правила его использования, то эта статья для Вас. Здесь вы найдёте множество пример...

Пишем full stack монолит с помощью Angular Universal + NestJS + PostgreSQL Привет, Хабр! В этой статье мы создадим готовый шаблон-монолит, который можно брать за основу нового fullstack приложения как скелет для навешивания функционала. Эта статья будет полезна, если вы: Начинающий  fullstack-разработчик; Стартапер, который пишет MVP чтобы провери...

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

BeeFREE. Переводим людей на удалёнку с 2016 года Привет! Надеемся, вы читаете этот пост в рабочее время, уже будучи переведённым на удалённую работу своим работодателем. У нас же получилось перевести сотрудников на удалёнку довольно быстро по одной простой причине — начиная с 2016 года в компании существует BeeFREE, наш...

[Перевод] Концепции, лежащие в основе Web Audio API Доброго времени суток, друзья! В этой статье объясняются некоторые концепции из теории музыки, на основе которых работает Web Audio API (WAA). Зная эти концепции, вы сможете принимать взвешенные решения при проектировании аудио в приложении. Статья не сделает вас опытным ...

FOSS News №34 – дайджест новостей свободного и открытого ПО за 14-20 сентября 2020 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. О направлении развития Linux и проблемах с процессом его разработки, об инструментах поиска лучшего F...

Хакатоны. Как выжать максимум и выжить Доброго всем времени суток! Меня зовут Александр Михалин — я .NET разработчик в компании “Рексофт”. За моей спиной 7 хакатонов, причем один в качестве члена жюри. Я не спал 8 ночей, выпил 52 чашки кофе, 15 банок редбулла, со мной в команде побывали 24 человека. Сегодня я х...

Нетехническая статья про технические статьи Мне часто говорят – эй, где технические статьи? Чё ты всякую чушь пишешь, про менеджеров, директоров, отношения с персоналом, корпоративные дрязги, ноешь про бессмысленность нашей работы и вообще. Мы хотим технические статьи! Я, если честно, плохо понимаю, что такое «технич...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

Бесплатные приложения и скидки в App Store — что скачать сегодня? Наступила новая неделя, а значит настало время новых бесплатных приложений и скидок в App Store! Сегодня можно скачать три крутые игры, из которых многие успели стать культовыми за время своего существования. Если хотите посмотреть все бесплатные игры и приложения со скидко...

[Из песочницы] [Перевод] От пиратства к опенсорс: моя история Привет, Хабр! Предлагаю Вашему вниманию перевод статьи "From piracy to open-source: my story" автора Jakob Attkinson. Я рос с компьютером с 6 лет. Хотя я и был рожден в довольно небогатой семье, мой отец осознавал мощный потенциал технологий и хотел быть уверенны...

3.Elastic stack: анализ security логов. Дашборды В прошлых статьях мы немного ознакомились со стеком elk и настройкой конфигурационного файла Logstash для парсера логов, в данной статье перейдем к самому важному с точки зрения аналитики, то что вы хотите увидеть от системы и ради чего все создавалось — это графики и табл...

45 youtube-каналов на английском языке для ИТ-специалистов Хотела узнать, что смотрят коллеги (кроме нетфликсов и амедиатек), провела опрос. Результат получился неожиданный. Я думала, ну, соберу каналов 10, которые смотрят все ИТ-специалисты. Не тут-то было! Во-первых, каналов получилось в 10 раз больше, чем я предполагала. Во-вторы...

[Из песочницы] Как я проработал 4 с лишним года в семье Газпрома, уволился и… выращиваю помидоры Чувак: — Что писать? НЛО: — А что ты хочешь? Чувак: — Попрактиковаться в русском, проверить — не вмерло ли чувство юмора, да чтоб молодёжь (рус. джуны) поучилась на чужих ошибках. НЛО: — Так и пиши… Update: НЛО вынудило автора выкинуть весь syntactic sugar из статьи, хотя о...

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

Изучаем VoIP-движок Mediastreamer2. Часть 2 Материал статьи взят с моего дзен-канала. Создаем тональный генератор В предыдущей статье мы выполнили установку библиотеки медиастримера, инструментов разработки и проверили их функционирование, собрав пробное приложение. Сегодня мы создадим приложение, которое сможет пропи...

Три года в Латинской Америке: как я уехал за мечтой и вернулся после тотальной «перезагрузки» Привет, Хабр, меня зовут Саша. После 10 лет работы инженером в Москве я решился круто изменить жизнь — взял билет в один конец и уехал в Латинскую Америку. Я не знал, что меня ждет, но, признаюсь, это стало одним из моих лучших решений. Сегодня я хочу рассказать, с чем я сто...

Roslyn & EF Core: конструируем DbContext в runtime Entity Framework Core может генерировать код моделей и DbContext для существующей базы данных с помощью консольной команды dotnet ef dbcontext scaffold. Почему бы нам не попробовать сгенерировать DbContext в runtime? В статье я расскажу как в runtime в своём приложении: Сге...

Почему не скачиваются приложения? Почему на смартфон не скачиваются приложения? Вроде все делаете правильно, но не выходит! В этой статье разберем основные ошибки пользователя, которые мешают установке мобильного приложения на устройство. Не скачиваются приложения: проблемы с App Store Что делать, если на iP...

Рубрика «Читаем статьи за вас». Июнь 2020 года Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Статьи на сегодня: PointRend: Image Segmentation as Rendering (Facebook AI Research,...

Можно ли писать скрипты на C++? Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гугл...

[Из песочницы] Ищем утечки памяти с помощью Eclipse MAT Пожалуй, все java-разработчики, участвующие в коммерческих проектах рано или поздно сталкиваются с проблемой утечки памяти, влекущей за собой медленную работу приложения и почти неизбежно приводящую в итоге к известной OutOfMemoryError. В данной статье будет рассмотрен реаль...

Мини датчик света и удара | nRF52840 В сегодняшней статье хочу расказать о новым датчике освещенности и вибрации. Датчик работает на модуле E73-2G4M08S1C(nRF52840). Поводом к освоению МК стало довольно несложное добавление поддержки в Arduino IDE на основе библиотеки Sandeep Mistry, небольшая стоимость, отличны...

Алексей Грачёв: Go Frontend Kyiv Go Meetup May 2018: Ведущий: – Всем привет! Спасибо, что вы здесь собрались! Сегодня у нас два официальных спикера – Лёша и Ваня. Будет ещё два, если у нас хватит времени. Первый спикер – Алексей Грачёв, он расскажет нам о GopherJS. Алексей Грачёв (далее – АГ): – Я ...

VPS на Linux с графическим интерфейсом: запускаем сервер X2Go на Ubuntu 18.04 Настройку VNC и RDP на виртуальном сервере мы уже освоили, осталось изучить еще один вариант подключения к виртуальному рабочему столу Linux. Возможности созданного компанией NoMachine протокола NX достаточно интересны, к тому же он хорошо работает через медленные каналы. Ф...

Прекращаем ставить диод 2 Несколько лет назад мною была опубликована статья под аналогичным заголовком. Если кратко, то в ней я рассказал о процессе разработки с нуля устройства, выполняющего функции «идеального диода» для предотвращения разряда буферного аккумулятора на обесточенный блок питания. У...

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

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

[Из песочницы] Внедрение IMA SDK в Android-приложениях Предположим, что однажды вы решили создать приложение для детей и попробовать на этом заработать. Так как реклама — один из самых простых способов монетизации, то у вас возникает очевидная идея добавить в приложение одно из рекламных SDK и дальше только подсчитывать доход. В...

Romancing SaGa Re;univerSe уже доступна для предварительной загрузки на iOS и Android На прошлой неделе Romancing SaGa Re;univerSe вышла в режиме пробного запуска в некоторых странах, а сегодня приложение стало доступно для предварительной загрузки во всем мире. Напомним, что эта бесплатная мобильная jRPG, которая прямо связана с серией, вышла в Японии еще в ...

Рубрика «Читаем статьи за вас». Октябрь — Декабрь 2019 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Статьи на сегодня: Poly-encoders: Transformer Architectures and Pre-training Strateg...

Рубрика «Читаем статьи за вас». Март 2020. Часть 1 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Статьи на сегодня: Fast Differentiable Sorting and Ranking (Google Brain, 2020) MaxU...

Рубрика «Читаем статьи за вас». Апрель 2020. Часть 1 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Статьи на сегодня: TResNet: High Performance GPU-Dedicated Architecture (DAMO Acade...

Рубрика «Читаем статьи за вас». Май 2020. Часть 1 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Статьи на сегодня: Efficient Document Re-Ranking for Transformers by Precomputing Te...

Рубрика «Читаем статьи за вас». Май 2020. Часть 2 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Статьи на сегодня: ECA-Net: Efficient Channel Attention for Deep Convolutional Neura...

[Перевод] 70 вопросов по JavaScript для подготовки к собеседованию Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Mark A «70 JavaScript Interview Questions». Надеюсь, эта статья будет полезна как начинающим разработчикам, так и бывалым (я хотел сказать, опытным). Первым для изучения, вторым для повторения. Лич...

Внедри это полностью. DI-in-JS Всем привет! Сегодня я попробую поэкспериментировать с Dependency Injection на чистом JavaScript. Тех кто не в курсе, что это за дичь и как ее готовить, приглашаю ознакомиться. Ну а у тех кто в курсе будет повод написать важный и полезный комментарий. Итак, погнали… Читать ...

[Перевод] Текущее положение дел в мире Java: тренды и факты для одного из самых популярных языков программирования От переводчика: несмотря на несколько рекламный характер этой статьи, автор приводит довольно-таки интересную статистику по текущему состоянию экосистемы Java. Надеемся, что эта статистика окажется полезной читателям Версия этой статьи также ранее была опубликована в The New...

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

Алгоритм планирования задач на TypeScript. Теория графов наконец-то пригодилась В этой статье я хочу рассказать об алгоритме, который помогает ответить на извечный вопрос всех проектов: Когда проект будет закончен?Более формально проблема звучит так: "Проект состоит из задач, которые могут зависеть друг друга, а также могут иметь один и тех же испо...

Гайд для фрилансеров: самые частые вопросы по работе ИП В ноябре мы задумали собрать большой пост с ответами на вопросы о том, как жить, если ты индивидуальный предприниматель (ИП). Мы попросили пользователей Хабра набросать нам вопросы из серии «хотели знать, но боялись спросить». Получился отличный список. Ответить на вопросы ...

Знакомство с Node-RED и потоковое программирование в Yandex IoT Core В этой статье я хочу разобрать один из самых популярных опенсорс-инструментов, Node-RED, с точки зрения создания простых прототипов приложений с минимумом программирования. Проверим гипотезу о простоте и удобстве таких средств, а также рассмотрим взаимодействие Node-RED с о...

[Из песочницы] Материальный Python. Что нового в библиотеке KivyMD Приветствую! Не так давно уже писали о Python в Mobile development и разработке мобильных приложений на Python с помощью библиотек Kivy и KivyMD. Эта статья продолжит знакомить вас с кроссплатформенными Python инструментами, а конкретно сегодня мы рассмотрим новинки, котор...

PostgreSQL 13: happy pagination WITH TIES На прошедшей неделе вышло сразу две статьи (от Hubert 'depesz' Lubaczewski и автора самого патча Alvaro Herrera), посвященные реализованной в грядущей версии PostgreSQL 13 поддержке опции WITH TIES из стандарта SQL:2008: OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ c...

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

Шпаргалки по безопасности: Nodejs Довольно много уже было сказано о популярности NodeJS. Рост количества приложений очевиден – NodeJS довольно прост в освоении, имеет огромное количество библиотек, а также динамично развивающуюся экосистему. Мы подготовили рекомендации для NodeJS разработчиков, основываяс...

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

Краткая история космических микропроцессоров, часть первая Десятого июля 1962 года с космодрома на мысе Канаверал стартовала ракета “Тор” с первым коммерческим телекоммуникационным спутником на борту. Telstar-1 стал зарей новой эры космонавтики, показавшей, что космос может приносить людям реальную пользу. Этот аппарат ждало большое...

Рубрика «Читаем статьи за вас». Март 2020. Часть 2 Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество! Первая часть мартовской сборки обзоров опубликована ранее. Статьи на сегодня: NeRF: ...

[Перевод] Простая интеграция RabbitMQ и Spring Boot Перевод статьи был подготовлен в преддверии старта курса «Разработчик на Spring Framework». Всем привет! Я хотел бы поделиться с вами библиотекой с открытым исходным кодом, которая облегчает интеграцию RabbitMQ с приложениями на Spring Boot. Кроме того, эта библиотека пре...

[Перевод] 8 важных веб-приложений для разработчиков Предлагаем вам познакомиться с переводом статьи Jamie Bullock, опубликованной на сайте medium.com. Автор рассказывает, какие веб-приложения он обычно использует в работе. Читать дальше →

Особенности сборки и доставки iOS-приложений В этой статье мы делимся опытом сборки и доставки пользователям приложений для iOS, который накопился у студии Plarium Krasnodar в процессе отладки CI/CD. Читать дальше →

Настройка Microsoft Windows Server 2016/2019 для предоставления DHCP сервисов для VXLAN (DFA) Назначение этой статьи – упростить настройку DHCP сервиса для фабрики VXLAN BGP EVPN and DFA с использованием Microsoft Windows Server 2016/2019. В официальной документации DHCP сервис на базе Microsoft Windows Server 2012 для фабрики настраивается как SuperScope, содержащ...

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

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

Перезагрузка текстур OpenGLESv2 через DMABUF В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довол...

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

«У Предназначения масса обличий...» или автоматизируем управление автолампой с помощью CANNY 3 tiny и фоторезистора В прошлой статье на Хабре я рассказал вам о том, как получил в подарок контроллер Canny3 tiny. Мы «поморгали» светодиодом, понажимали на кнопку. На этом в принципе можно было и закончить эксперименты. Однако, последние пару недель я слушаю аудиокниги про Ведьмака и поэтом...

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

[Перевод] Что под капотом компиляторных оптимизаций GraalVM? Продолжаем разбираться с работой GraalVM, и на этот раз у нас перевод статьи Aleksandar Prokopec «Under the hood of GraalVM JIT optimizations», изначально опубликованной в блоге на Medium. В статье есть несколько интересных ссылок, позже мы постараемся перевести и эти статьи...

[Перевод] Почему я разочаровался в хуках Перевод статьи подготовлен в преддверии старта курса «React.js Developer». Чем полезны хуки? Прежде чем я расскажу, в чем и почему разочаровался, я хочу официально заявить, что, вообще-то, я фанат хуков. Я часто слышу, что хуки создали для замены классовых компонентов. К ...

[Перевод] Самый ужасный день в компании Slack Эта статья описывает технические детали проблем, из-за которых Slack упал 12 мая 2020 года. Больше о процессе реагирования на тот инцидент см. хронологию Райана Каткова «Обе руки на пульте». 12 мая 2020 года у Slack произошел первый значительный сбой за долгое время. Вск...

Security Week 27: приватность буфера обмена в iOS Выпуск бета-версии iOS 14 для мобильных устройств iPhone вскрыл проблему с приватностью буфера обмена в некоторых приложениях. Свежая версия ОС предупреждает пользователя, когда приложение читает информацию из буфера. Оказалось, что этим занимается довольно много аппов. Нагл...

Курица или яйцо: раскалываем IaC Что появилось раньше — курица или яйцо? Довольно странное начало для статьи про Infrastructure-as-Code, не так ли? Читать дальше →

[Перевод] Почему мы пишем программы такого низкого качества? Проектировщики самолёта отвечают на вопрос о его безопасности: — Ничто не вечно, но современные авиалайнеры невероятно устойчивы, а самолёт — самый безопасный транспорт в мире. Инженеры-строители отвечают о безопасности лифтов: — Лифты защищены множеством отказоустойчивых м...

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

Повышаем надёжность HttpClient’а в .NET Core или как ошибиться в 3 строках кода 4 раза За несколько недель до 14 февраля системе Dodo IS немного поплохело под нагрузкой. Одной из причин стало то, что в backend’ах мобильного приложения и сайта не совсем корректно работали политики поверх HttpClient’а (Retry, Circuit Breaker, Timeout). В этой статье я хочу подел...

Электробусы и их батареи: что такое литий-титанат? (Part.1) фото c сайта www.zr.ru Друзья здравствуйте, всем здоровья, берегите себя, антисептики — наше ВСЁ! Сегодня попробуем рассмотреть московские электробусы по мотивам статьи в журнале «За рулем» в части используемых литий-титанатных батарей (Li4Ti5O12 или LTO), их стоимости и...

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

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

Честный рассказ об образовании в IT. Стоит ли оно того? Привет, Хабр! Сегодня бы я хотел честно поговорить об IT-образовании в России. Вопрос этот крайне неоднозначен, абитуриенты вузов ежегодно спорят о том что, где и как лучше всего изучать, чтобы не оказаться за бортом. Хотелось бы очень постараться дать подробную обратную свя...

Обработка прозрачных пластиков. Доброго дня дорогие читатели.В этой статье хочу поделится с вами своим опытом по «Постобработке прозрачных пластиков»За основу взята статья Руслана Молчанова https://filamentarno.ru/masterclass_01.html в ней описывается основной принцип работы, я же хочу поделиться более рас...

Выпускники семестрового курса «Разработка приложений на iOS», Технопарк Mail.ru Свои дипломные проекты в этом сезоне защитила новая группа выпускников семестрового курса «Разработка на iOS» Технопарка (МГТУ им. Баумана). Это был экспериментальный семестр, все занятия проходили онлайн. Преподаватели выбрали четыре самых интересных решения, о которых мы х...

Web Sip клиент на основе JsSIP + FreePBX У FreePBX есть Web Sip клиент. Мне было интересно как он работает. Начав изучать технологию WebRTC я наткнулся на 3 библиотеки — это JsSIP, его fork SIP.js, а также sipml5. JsSIP и SIP.js не удалось запустить с первого раза, не хватало опыта. А вот sipml5 оказался самым про...

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него. BPF сейчас на пике популярности. Технология развивается сем...

Как мы решаем проблему отсутствия UI\UX дизайна в 1С с помощью Java Script и React.js Ранее уже писал о том, что в 1С UI\UX дизайна нет. Эта статья про то, как мы с помощью таких технологий, как Java Script, React.js и Google Firebase решили сделать web-сервис, который позволит с наименьшими трудозатратами, в сравнении с 1С: Конфигуратором и уже тем более 1...

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

Nothing At Stake: компромиссы с совестью Очень коротко о себе. Как-то давно на Хабре обо мне писали в этой статье, однако часть аудитории, интересующаяся блокчейн технологиями, почти наверняка знакома с моей работой через проект Monero, у которого оригинальная кодовая база(CryptoNote) была разработана в основном м...

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

FOSS News №15 – обзор новостей свободного и открытого ПО за 4-10 мая 2020 года Всем привет! Продолжаем обзоры новостей свободного и открытого ПО и железа (и немного коронавируса). Всё самое главное про пингвинов и не только, в России и мире. Участие Open Source сообщества в борьбе с COVID-19, прототип возможно окончательного решения проблемы запуска...

Устройство Helm и его подводные камни Typhon freight hauler concept, Anton Swanepoel Меня зовут Дмитрий Сугробов, я разработчик в «Леруа Мерлен». В статье расскажу, зачем нужен Helm, как он упрощает работу с Kubernetes, что поменялось в третьей версии и как с его помощью обновлять приложения в продакшене без п...

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

Дайджест интересных материалов для мобильного разработчика #358 (17 — 23 августа) В этом выпуске переезд Lingualeo на PostgreSQL, главные ошибки свободного ПО, война Epic c Apple, восприятие интерфейсов и золотой век программирования, «часы Уизли», поведение пользователей и многое другое! Читать дальше →

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

[Перевод] Управление жестами: От края до края (I) Всем привет. Специально для студентов продвинутого курса по Android-разработке подготовили перевод интересной статьи. Это первая статья их серии «Управление Жестами». Другие статьи вы можете найти по ссылке. В Android Q был добавлен новый режим навигации по системе, п...

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

[Из песочницы] Оптимизация нагрузки на Highload-проекте с помощью ElasticSearch Привет, Хабр! Меня зовут Максим Васильев, я работаю аналитиком и менеджером проектов в FINCH. Сегодня я хотел бы рассказать, как с помощью ElasticSearch, мы смогли обработать 15 млн запросов за 6 минут и оптимизировать ежедневные нагрузки на сайте одного из наших клиентов. К...

Разрабы. Новая точка отсчета В мире что-то не так — или это у меня в голове? Невидимые пятна на солнце, какая-то пыль на траве Счастье не греет; оно где-то за стеклянной стеной Иногда мне кажется — тяжелый рок висит надо мной БГ Привет Хабр! Хочется обсудить с вами сериал «Разрабы», так как считаю е...

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

История Pentax (статья плюс видео) В современных зеркальных камерах до сих пор используют изобретения инженеров, работавших в компании Пентакс. Когда-то производство их камер превосходило Кэнон и Никон вместе взятые. К концу века Пентакс уже не мог на равных конкурировать с ними, но при этом не остановил пр...

[Перевод] С нуля до автоматизации контейнеров за 7 минут В статье ранее (на португальском) я рассказал, как создать полнофункциональный бэкенд GraphQL, используя только образ Docker и файл конфигурации. Все это можно найти на сайте Azure. А сейчас давайте поговорим о том, как автоматизировать развертывания, созданные для нашего хо...

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

Делаем MIDI-клавиатуру из старого детского синтезатора В один из дней, возвращаясь домой, возле мусоропровода в подъезде я увидел старую детскую игрушку-синтезатор. Прошел мимо, так как брать с мусорки «грешно», но в душе захотелось утащить ее оттуда. Уже поздно ночью, где-то часа в 2 я решил посмотреть, не стоит ли она все ещ...

Опыт использования MobX в большом приложении Всем привет! Меня зовут Сергей, я работаю в команде разработки приложений контроля качества Tinkoff. Поделюсь опытом нашей команды в использовании библиотеки Mobx и расскажу о деталях работы с ней в связке с React. В этой статье не будет описания базовых концепций. Я расск...

Docker и все, все, все TL;DR: обзорная статья-руководство по сравнению сред для запуска приложений в контейнерах. Будут рассмотрены возможности Docker и других схожих систем. Читать дальше →

«Красная» корпоративная культура — главная проблема российского бизнеса (Часть 3) «Попробуйте изменить себя и вы поймете, насколько ничтожны ваши шансы изменить других» (С) Вольтер Может ли «красный» лидер быть эффективным? (Спойлер: Да, если он не красный). В первой части мы говорили о недостатках «красной» культуры, во второй части упомянули физиоло...

[Перевод] Компилируем Spring Boot-приложение в нативное с помощью GraalVM Перевод статьи подготовлен в преддверии старта курса «Разработчик на Spring Framework». Привет, любители Spring’а! Добро пожаловать в очередной выпуск Spring Tips. Сегодня мы поговорим о недавно реализованной поддержке компиляции Spring Boot-приложений в GraalVM. Мы уже ...

Что если скрестить Svelte и Angular? Или мутабельный Svelte Svelte — очень хороший фреймворк/библиотека, но она имеет чувствительный недостаток (где их нет...) — это система отслеживания изменений, она плохо ловит мутации данных, поэтому в Svelte комьюнити форсируется иммутабельный подход. И у меня давно чесались руки попробовать си...

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

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

[Из песочницы] Как я купил заблокированный ноутбук на eBay и попробовал сделать свой AntiTheft на базе IntelAMT TL;DR Absolute Computrace — технология, которая позволяет заблокировать машину(и не только), даже если на ней переустановили операционную систему или даже заменили жесткий диск за $15 в год. Я купил ноутбук на eBay который был залочен этой штукой. В статье описывается мой ...

Ремесло и успех в IT С интересом читаю статьи про бизнес в IT, хотел поддержать в комментариях автора Так ли просто организовать свой бизнес ИТ-специалисту, но потом понял, что хочу высказаться более развёрнуто. Представлюсь как на встрече анонимных алкоголиков. Я — IT-ремесленник. Из 27 лет ст...

[Перевод] 10 практических рекомендаций по безопасности образов Docker. Часть 1 Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». В этой статье мы хотели бы сосредоточиться на Docker и обсудить советы и рекомендации, которые обеспечивают более безопасный и качественный процесс обработки образов Docker. Итак, начнем с н...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

Используем Kata Containers в Kubernetes Данная статья продолжает тему с Kata Containers, поднятую в прошлый раз. Сегодня я буду настраивать Kubernetes для работы с Kata Containers. Читать дальше →

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

[Из песочницы] Почем Appium для народа В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента. Рассмотрим неб...

Используем DI в Angular по максимуму — концепция частных провайдеров В Angular очень мощный механизм Dependency Injection. Он позволяет передавать по вашему приложению любые данные, преобразовывать и переопределять их в нужных частях. Поэтому мы можем делать архитектуру приложений более простой и гибкой: понятный поток данных, минимальная св...

[Из песочницы] Особенности выпуска Unreal Engine 4 игры на iOS Приветствую. В этой статье я перечислю трудности и неочевидные моменты, с которыми лично я столкнулся при выпуске игры на iOS, а также их решения. Игра начинала создаваться на Unreal Engine 4.18, сейчас последний билд в магазине использует UE 4.24. Сначала игра была выпуще...

2. Check Point SandBlast Agent Management Platform. Интерфейс веб-консоли управления и установка агента Продолжаем изучать новую облачную платформу Check Point Management Platform для управления средством защиты пользовательских компьютеров — SandBlast Agent. В предыдущей статье мы описали основные составляющие SandBlast Agent, познакомились с архитектурой Check Point Infini...

[Из песочницы] HTTP Error 503. Service Unavailable: случай в поддержке хостинга Работа в поддержке хостинга в основном однотипная, большинство запросов от клиентов решаются по проработанной схеме, но иногда всё же приходится сталкиваться с нетривиальными проблемами. Тогда главная задача инженера — найти тот самый — единственно верный путь, который приве...

Kubernetes в духе пиратства: наш путь к микросервисам и готовый шаблон для внедрения Привет, я Юрий Буйлов, занимаюсь разработкой в CarPrice, а также внедряю практики DevOps, микросервисы и Kubernetes. Хочу рассказать про Kubernetes в духе пиратства — только не про управление большим красивым кораблем на парусах, а, скорее, про флот маленьких неприглядных ...

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

FOSS News №31 – дайджест новостей свободного и открытого ПО за 24-30 августа 2020 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. 29-летие Linux, пара материалов о столь актуальной сегодня теме децентрализованного Веба, обсуждение ...

Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 2 В процессе первых пяти шагов, описанных в статье Powered by ZeroTier. Практическое руководство по строительству виртуальных сетей. Часть 1 мы объединили виртуальной сетью три географически удалённых друг от друга узла. Один из которых расположен в физической сети, два других...

Дополняя SQL. Часть 1. Сложности парсинга. Истории о доработке ANTLR напильником Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Более пяти лет работаю в компании, что занимается разработкой линейки IDE для работы с базами данных. Начиная работу над этой статьей я и не представлял как много интере...

Почему ребёнок не хочет идти в школу и что с этим делать? Не надо ругаться! Лучше попробуйте выяснить, в чём проблема.

Алиса помнит всё Сегодня мы будем делать навык (приложение) для Алисы — своеобразную записную книжку (или стикер на холодильник): если во фразе пользователя (он же на профессиональном сленге юзер) есть слово "Запомни" — вся фраза сохраняется, и при следующем запуске навыка — будет любезно ...

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

[Перевод] CSS разработчики — почему они нужны миру? Аудио версия на русском (яндекс.музыка) / iTunes В последние десять лет CSS сильно разросся путём добавления всё большего числа возможностей, таким образом постепенно становясь довольно сложным и запутанным. CSS наших дней сильно отличается от CSS десятилетия 2001-2010 годо...

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

Lowkiq. Зачем мы его сделали? Lowkiq — это новый сервер упорядоченной обработки фоновых задач для ruby и redis. Он был создан в компании BIA-Technologies, разрабатывающей логистические решения. В этой статье я расскажу о проблемах обработки фоновых заданий, с которыми мы столкнулись, и о их решении. Чит...

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

Корректор раскладок «хswitcher» для linux: шаг второй Так как предыдущая публикация (хswitcher на стадии «proof of concept») получила достаточно много конструктивных отзывов (что приятно), я продолжил тратить своё свободное время на развитие проекта. Теперь хочу потратить немножко вашего… Второй шаг будет не совсем привычный: п...

Визуализация промисов и Async/Await Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie. Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в про...

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

[Перевод] Продаем Architecture Refactoring клиенту или в чем проблема девелоперов Архитектурный или проектный рефакторинг это всегда болезненная проблема на проекте. Польза от рефакторинга, для нас технических специалистов очевидна, но продать и обосновать эту идею клиенту зачастую бывает тяжело. Главная причина в том, что мы технические специалисты не зн...

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

Как работают кодировки текста. Откуда появляются «кракозябры». Принципы кодирования. Обобщение и детальный разбор Данная статья имеет цель собрать воедино и разобрать принципы и механизм работы кодировок текста, подробно этот механизм разобрать и объяснить. Полезна она будет тем, кто только примерно представляет, что такое кодировки текста и как они работают, чем отличаются друг от друг...

[Из песочницы] Boost.Compute или параллельные вычисления на GPU/CPU Привет, Хабр! По моим меркам я уже достаточно давно пишу код на C++ (почти 3 года), но до этого времени ещё не сталкивался с задачами, связанными с параллельными вычислениями. Я не увидел ни одной статьи о библиотеке Boost.Compute, поэтому эта статья будет именно о ней. Со...

[Перевод] Всё, что нужно знать о Progressive Web App (PWA) PWA — прогрессивные веб-приложения. Предупреждение. Эта статья не проспонсирована PWA. Все взгляды и мнения в статье принадлежат только её автору. Progressive Web App или PWA — лучший способ для разработчиков заставить свои веб-приложения загружаться быстрее и быть более...

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

Unreal Features of Real Types, или Будьте осторожны с REAL После публикации статьи об особенностях типизации в PostgreSQL, первый же комментарий был про сложности работы с вещественными числами. Я решил бегло пробежаться по коду доступных мне SQL-запросов, чтобы посмотреть, насколько часто в них используется тип REAL. Достаточно час...

Учим нейросети в Google Таблицах Хочу с вами зачелленджить одну интересную штуку: попробовать обучить нейросеть в Google Таблицах. Безо всяких макросов и прочих хаков, на чистых формулах. Читать дальше →

Освободи свой Android — алаверды О чём это? Данная статья написана в качестве продолжения статьи Освободи свой Android. Зачем? Очень просто — та статья очень подробно и хорошо описывает, как перешить смартфон на LineageOS. Но она просто требует продолжения о том, как потом с этим перешитым смартфоном жить. ...

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

BlazingPizza: приложение на Blazor от начала и до конца. Часть 1. Настройка среды Всем привет! Если вы слышали о Blazor, но до сих пор не понимаете, что это такое. То вы по адресу. Это первая статья из цикла 12 статей, которая проведет вас через все круги ада весь процесс создания приложения на Blazor. В конце у нас будет готовый сайт небольшой пиццерии, ...

$mol: 4 года спустя Здравствуйте, я люблю плевать против ветра. Утираться и снова плевать. Хобби у меня такое. И всё, что я создаю, делаю я без оглядки на тенденции, стараясь решать проблемы системно, а не как привычно. Зачастую бывает, что основная сложность даже не в том, чтобы придумать реш...

[Перевод] Пять причин, по которым мы до сих пор не видим робомобилей на дорогах Илон Маск считает, что у его Tesla уже к концу 2020 года появятся полностью автономные робомобили. Недавно он заявил следующее: «Никаких фундаментальных проблем не осталось. Есть множество мелких проблем. И есть главная проблема – решить все эти мелкие проблемы и собрать в...

Фишинг icloud и где они обитают Внимание! Несмотря на то, что для работы над этой статьей я потратил не один десяток часов, но ты все еще можешь можешь в ней поучаствовать. Если у тебя чешутся руки — попробуй осилить этот текст. История больше похожа на комикс, так как содержит более 50 изображений, поэто...

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

Разработка мобильных приложений на Python. Библиотека KivyMD Приветствую! Сегодня речь снова пойдет о библиотеке KivyMD — наборе виджетов для кроссплатформенной разработки на Python в стиле Material Design. В этой статье я сделаю не обзор виджетов KivyMD, как в недавней статье, а, скорее, это будет материал больше о позиционировании...

«Вы уж простите, обознался...» или распознаем малину и контроллеры с помощью Tensorflow Object Detection API В конце прошлого года, я написал статью, о том как был заинтригован возможностью распознавания объектов на изображениях с помощью нейронных сетей. В той статье мы с помощью PyTorch классифицировали на видео либо ягоду малину, либо ардуино-подобный контроллер. И не смотря на ...

[Перевод] Используем PowerShell для работы с REST API Многие из вас наверняка работают с разнообразными инфраструктурами, используя REST API. А поскольку все более широкие слои населения для автоматизации рутинных задач осваивают PowerShell, то почему бы и не начать применять его для работы с REST API? Сегодня вашему вниманию ...

9 главных анонсов конференции Microsoft Build 2020 Наша двухдневная конференция Microsoft Build 2020, трансляцию основного трека которой мы провели на Хабре, вот-вот подойдет к концу (последний доклад закончится сегодня в 17:00 по МСК). В этой статье мы расскажем о самых масштабных и интересных анонсах прошедшего мероприятия...

[Из песочницы] Как использовать несколько языков программирования и не сойти с ума Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use multiple programming languages without losing your mind» автора Bart Copeland. Сопливое нытьё про FSF и Red HatКароч, тема такая: я им написал, а они не ответили. Ну ладно бы Массивсофт, который вообще ник...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Прыжок в Лондон или моя стажировка в Jump Trading Меня зовут Андрей Смирдин, я студент 4 курса НИУ ВШЭ — Санкт-Петербург. Я всегда интересовался экономикой и любил следить за финансовыми новостями. Когда пришло время искать очередную летнюю стажировку, я решил попробовать попасть в одну из компаний, зарабатывающих торговлей...

Самодельный лидар: OpenTOFLidar В этой статье я хочу рассказать про свой проект импульсного (TOF) Open Source лидара — о том как я его делал, и каких результатов удалось добиться. Читать дальше →

[Перевод] Великий раскол в import: проясняем неопределенность с импортом в Typescript Перевод статьи подготовлен в преддверии старта курса «Разработчик React.js» Я довольно долго работаю с typescript, и у меня было много проблем с тем, чтобы разобраться с его модулями и советующими настройками, и должен сказать, вокруг них и вправду много непонятного. Прос...

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

[Перевод] Профилирование производительности React-приложений Сегодня поговорим об измерении производительности рендеринга React-компонентов с использованием API React Profiler. Ещё мы будем оценивать взаимодействия с компонентом, применяя новый экспериментальный API Interaction Tracing. Кроме того, мы воспользуемся API User Timing для...

Как мы побеждаем неопределенность в Delivery Club Друзья, всем привет! Меня зовут Коля Архипов, я отвечаю за Research & Development в Delivery Club. Наша команда решает наукоёмкие задачи внутри FoodTech-платформы: мы разрабатываем компоненты, основанные на алгоритмах и данных, которых в платформе DС много. В процессе...

[Из песочницы] Решение типовых проблем с json_encode (PHP) Это краткая статья о наиболее вероятных проблемах с json_encode и их решениях. Иногда при кодировании данных в json, с помощью json_encode в php, мы получаем не тот результат который ожидаем. Я выделил три наиболее частые проблемы с которыми сталкиваются программисты: до...

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

[Из песочницы] Шизофрения: взгляд после Грани безумия В те далекие времена, когда я чувствовал себя получше, я частенько заходил почитать хабр. Теперь почти полная потеря интереса к ИТ — одна из самых незначительных моих проблем. Заранее прошу прощения за исковерканные слова и знаки препинания, тут уже давно во вс...

Светодиод, таймер и прерывания на RISC-V с нуля (на примере GD32VF103 и IAR C++) Сегодня речь пойдет о модном — о RISС-V микроконтроллере. Я давно хотел познакомиться с этим ядром и ждал когда появится что-то похожее на STM32 и вот дождался, встречайте — китайский GigaDevice — GD32V. Инфраструктура для этого микроконтроллера не такая обширная как для ST...

[Перевод] Увлекательные сайд-проекты, которыми можно заняться уже сегодня Это перевод статьи, опубликованной на сайте medium.com. В ней разработчик из Нидерландов Daan советует разные проекты, которые помогут в свободное время прокачать профессиональные навыки: от работы c 3D до создания биткойн-трекера. Читать дальше →

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

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

[Из песочницы] Raspberry Pi и модем SIM7600E 4G HAT Добрый день всем. В этой статье я хотел бы рассказать о своем опыте использования 3G-модема SIM7600X, который можно подключать к Raspberry Pi. Статья может оказаться полезной тем из вас, кому необходимо использовать Raspberry автономно, в условиях отсутствия WIFI-сети. Пара...

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

Говорящий плеер на raspberry Приветствую всех. У меня проблемы со зрением, увлечение мое — программирование. Как то в недалеком прошлом я узнал об одноплатном компьютере raspberry, описание меня впечатливо и я приобрел его. Так, как официальный дистрибутив — raspbian, основан на debian, думал включу с...

Интерфейсные байки Токсичного Деда. “Исследуй это!” (s1 e1) Приветствую. Сейчас только ленивый не пишет статьи и не выступает с докладами на тему: «Я дизайнер интерфейсов и сейчас я буду чесать ЧСВ.» И всегда в таких статьях и выступлениях речь идет о сайтах, мобильных приложениях и подобном b2c продукте. Переводя на общеупотребит...

поддерживаю драйвер tp-link t4u для linux Когда купил wifi адаптер, думал, что будет работать на моей ubuntu 20.04, потому что в числе поддерживаемых систем значился linux. Оказалось, что не работает. Попробовал решения, которые предлагают на форумах, но адаптер так и не заработал. Пришлось вчера и сегодня заняться ...

История взлома одного интернет провайдера Привет хабр! Сегодня речь пойдет о том, как были найдены уязвимости провайдере, скажем так: example.ua Ну чтож… Начнем! Первый этап: Анализ Для начала необходимо собрать как можно больше информации о нашей жертве. Ведь, как известно, все дыры не закроешь. Начнём с поис...

[Из песочницы] Проблемы использования Doctrine ODM в процессах-демонах Хочу рассказать о своем опыте использования Doctrine ODM в относительно небольшом PHP проекте, в котором основная кодовая база сосредоточена в процессах-демонах. И вообще как мы к Yii2 прикрутили Doctrine ODM. Сразу предупреждаю — рассказ будет очень нудным и скорее всего ин...

1С: Ассемблер — пишем чистый байт-код для стековой машины 1С: Предприятие Стековые машины используются в большом множестве современных языков программирования. Они просты для понимания и при этом достаточно эффективны. Хотите попробовать одну такую в действии? Все вы, наверное, слышали, что 1С-ники жалуются на свою систему, считая язык 1С недост...

Собеседование php-developer в 2020 Так уж получилось, что в этом году я прошел ряд собеседований на позицию PHP разработчика, чего я не делал уже несколько лет. Будучи человеком ленивым практичным, перед собеседованием я попытался найти сборники вопросов-ответов, но все найденное было довольно старым, поэтому...

DataMatrix или как правильно маркировать обувь С 1 июля 2019 года в России введена обязательная маркировка группы товаров. С 1 марта 2020 года под этот закон должна была попасть обувь. Не все успели подготовиться, и в результате запуск перенесли на 1 июля. Lamoda среди тех, кто успел. Поэтому мы хотим поделиться опытом ...

Embox RTOS на Raspberry Pi Привет! У нас часто спрашивают есть ли в Embox поддержка Raspberry Pi. Да, есть. Описание как запустить теперь тут. В этой статье я хочу чуть подробней об этом рассказать. Читать дальше →

Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок Всем привет, на связи Александр Панов, техлид из Pixonic. В компании я отвечаю за межпроектные решения и околопроектную периферию и сегодня хочу поделиться своим опытом и наработками. Платформы непрерывной разработки и интеграции, или CI/CD, сейчас используются повсеместн...

[Из песочницы] Создаем EXE Самоизоляция это отличное время приступить к тому, что требует много времени и сил. Поэтому я решил заняться тем, чем всегда хотел — написать свой компилятор. Сейчас он способен собрать Hello World, но в этой статье я хочу рассказать не про парсинг и внутреннее устройство ...

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

Битва WEB-серверов. Часть 1 – оторванный от реальности HTTP: В этой статье мы попробуем себя в реверс-инжиниринге, можно сказать. Мы заглянем своими грязными руками под капот каждого из веб-серверов, эксплуатируя их так, как никто бы никогда не эксплуатировал. Этот тест – замер сферического коня в вакууме, не более чем данные, которы...

«Я как в пустыне»: почему самоизоляция оказалась для нас серьезным стрессом и во что все это вылилось Все, что нас не убивает, делает нас сильнее. Фридрих Ницше Эту статью я начал писать незадолго до новогодних праздников, но потом закрутился, и в итоге получились только несколько первых абзацев (оставлю их здесь как чудесное напоминание о том периоде). Дописываю текст уже...

Поддержка Touch в JavaScript Какие проблемы могут быть у frontend-программиста, если тестировщик запустит его приложение на iPad с новой трекпад-клавиатурой, Windows-планшете, с неопределенным состоянием “режима планшета” или ноутбуке с подключенным к нему телевизором c поддержкой Multi-touch? Это дале...

Анализ тональности текста на Node.js Всем привет. Тема достаточно интересная и может показаться довольно не простой в реализации. Но я человек практический и хочу прикоснуться к прекрасному особо не напрягаясь. Сегодня мы с вами сделаем "микросервис" для анализа сентиментальности / тональности текста...

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

Свой стек навигации. Лучше чем у ROS? Это вторая статья команды setUP про наш опыт создания автономных роботов для соревнований Eurobot Open и использования для этого ROS. Первая статья про механику и общую архитектуру роботов. Роботы ездят по ровному полю и большинство препятствий заранее известно, однако, ко...

[Перевод] Истина прежде всего, или почему систему нужно проектировать, исходя из устройства базы данных Привет, Хабр! Мы продолжаем исследовать тему Java и Spring, в том числе, на уровне баз данных. Сегодня предлагаем почитать о том, почему при проектировании больших приложений именно структура базы данных, а не код Java, должна иметь определяющее значение, как это делается, ...

Венчурные итоги 2019 года для Украины Украина постепенно выходит из карантина в связи с пандемией COVID-19, а я решил перенести на Хабр некоторые свои публикации. Этот материал был подготовлен специально для Startup Jedi — онлайн СМИ про стартапы и инвестиции Попробуем разобраться, что произошло и как это мож...

Hack The Box — прохождение Bitlab. Слабая JS обфускация, GIT и реверс Windows приложения Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье разберемся с легенькой JavaScript обфускацией, загрузим бэкдор через репозиторий Git, и отладим...

FigmaGen: Автоматизация стилей в iOS-приложении Сейчас многие команды систематизируют дизайн своих приложений. Мы решили пойти дальше и автоматизировать синхронизацию кода с нашей библиотекой компонентов.  Дело в том, что в hh для проектирования UI используется небезызвестный сервис Figma, который, кроме прочих своих плю...

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

1000 и 1 способ обойти Safe Exam Browser Ну ладно, не 1000 и 1 способ, но их довольно много! О чем это мы? О том, что пандемия COVID-19 внесла много изменений в нашу жизнь, в том числе, и в образование — как школьное, так и ВУЗовское. Уроки, лекции и семинары перешли в онлайн-формат, а вопрос, как быть с контролем...

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

[Перевод] Победить дракона новостной ленты: как убедиться, что вы проживёте хорошую жизнь Это перевод философской и метафоричной статьи Никласа Гоеки о том, почему люди скроллят контент вместо того, чтобы по-настоящему получать удовольствие от своей жизни. Признайтесь, вы же попали сюда из новостной ленты. Статья бережно перенесена из блога бегущего редактора....

«Мне страшно». Что делать? Всем привет! Меня зовут Анастасия, я практикующий психолог. И это будет мой первый пост на Хабр. Честно говоря, я к нему шла больше двух лет: боялась, что слог не получится сделать красивым и правильным. Что будет неинтересно. Ну и что скрывать, я волновалась, какая будет ре...

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

Почему в роликах показывают условный интерфейс приложения вместо реального: шесть причин Иногда IT-продукты выглядят в видеороликах как настоящие, а иногда — схематично и упрощённо. Почему так? В одних случаях — по идейным или стилистическим соображениям, а в других — из-за практической, рациональной необходимости. Давайте разберёмся на конкретных примерах, ког...

Как вырастить веб-разработчика от стажера до архитектора. Матрица компетенций Вместо эпиграфа Когда в 2004 году я окончил университет, в нашем городе почти не было команд разработчиков. Где работать, у кого набираться практического опыта? Выбор был прост: “админом” или “в Москву”. Или уйти из профессии. Сейчас я преподаю веб-разработку в местных ВУЗ...

Как реализовать игнор заблокированных пользователей в группах Telegram? UPD: благодаря помощи Tkachov эта статья всё-таки превратилась из просьбы о помощи в работающую инструкцию. В комментариях он дал работающий код для создания игнора в десктопном клиенте Телеграм. Я на всякий случай расположу объяснение в конце статьи. Далее статья продолжа...

Почему iPad с Magic Keyboard не заряжается? Отзывы пользователей Одной из особенностей новой клавиатуры Magic Keyboard для iPad Pro стала возможность заряжать планшет с помощью разъема Smart Connector. Это позволяет подключить кабель для зарядки только к самой клавиатуре (для него сделали специальный порт сбоку), а не тянуть еще один про...

DataGrip 2020.2: редактор больших значений, предпросмотр SQL при редактировании, новое отображение ячеек bool и другое Привет! За последние четыре месяца мы выпускали фичи и между релизами, поэтому в этой статье о том, что нового появилось в DataGrip за это время. Она приурочена к нашему новому релизу: 2020.2. Получилось длинно, но, надеемся, полезно. Читать дальше →

Почему мы используем платформу ARM в промышленном оборудовании Сегодня почти каждый из нас использует устройства на базе ARM-процессоров — это смартфоны, телевизоры и даже холодильники с кофеварками. Несколько дней назад в прессу просочились слухи, что компания Apple объявит о переходе с платформы X86 на ARM на своих ноутбуках. Мы в...

Синтаксические вкусности Julia В этой статье я хочу рассказать про вкусные и полезные синтаксические плюшки Julia, которые должны подсластить горькую долю программиста. Поехали! Читать дальше →

Кораблестроение в космоопере Мы делаем игру, симулятор кораблестроения в космоопере. Первая статья с ранним видением игры вышла еще в октябре 2019 года, сейчас май июль 2020. Как изменился проект за это время, что получилось сделать, где возникли затруднения, все это в статье. Читать дальше →

ICFP Contest 2020 от идеи до воплощения. Как организовать контест и выжить В этом году мы стали первой командой из России, которая организовала международное соревнование по программированию ICFPC. В статье рассказываем, как перешли из участников в организаторы, какие грабли и вызовы встретили по пути и каким в итоге получился контест. Читать дал...

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

Почему тестировщиков «джун», «мидл» и «сеньор» не существует. Или как мы уже 10 лет работаем без грейдов Привет, Хабр! Меня зовут Женя. Десять лет назад я стартанул агентство аутсорс-тестирования «Кавычки». У нас в компании нет и никогда не было деления тестировщиков на джунов, мидлов и сеньоров. Хотя были попытки. Расскажу, почему так получилось и как можно жить без грейдов....

Почему «angina» — это не «ангина», а «resin» — не «резина», или Ложные друзья переводчика У немцев, которые изучают английский как второй язык, очень распространен анекдот. Английское слово «become» и немецкое «bekommen» очень похожи по написанию и звучанию. Но означают разное. «Become» — «становиться, превращаться», а «bekommen» — «получить, найти». Немец пер...

В софте всё восхитительно, но все недовольны Есть типичная позиция, которую можно встретить на Хабре и не только: «хотя железо с годами всё лучше, человечество свело эффект на нет тем, что пишет софт всё хуже». Мол, ядер в процессорах стало больше, но тормозит всё пуще прежнего. Electron и Slack — порождения тьмы, п...

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

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

Камера с функцией слежения за объектом Хочу сделать автономного дрона, который бы сам мог найти дорогу к цели и обратно, при этом обойти все препятствия ни кого не задев. Решил начать с нейросети и вебки. Так и получился этот проект Читать дальше →

[Из песочницы] Чему меня научил мой коммит в Angular Сегодня я расскажу, как попал в контрибьюторы Angular. Оказалось, это совсем не сложно и весьма увлекательно! Получилась драма с четырьмя актами и одной моралью. Вот, как всё было. Читать дальше →

Обзор Red Bow. Ужасающая игра Сегодня мы расскажем вам о довольно интересном игровом проекте, который на фоне остальных выделяется своим сеттингом — это крайне мрачная игра, в которой нет места веселью, радости или смеху. Если вас это не останавливает и игра все еще кажется потенциально привлекательной, ...

[Перевод] В сообществе машинного обучения есть проблема токсичности Токсичность везде. Во-первых, нарушен процесс независимой экспертизы (peer review). Четверть работ с конференции NeurIPS выкладывается на arXiv. В DeepMind есть исследователи, которые публично преследуют рецензентов, критикующих их представление ICLR. Кроме того, статьи изв...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

Ввоз немецких урановых хвостов в Россию. Часть 2. Дообогащение Это моя вторая статья, посвященная нашумевшей в конце прошлого года проблеме ввоза обедненного гексафторида урана (ОГФУ) из Германии в Россию. Первая была посвящена технологиям обогащения урана в России и мире. Рекомендую сначала прочесть ее, а потом уже эту. В этой статье...

Celery + asyncio Привет, Хабр! Я хочу рассказать, как я решал проблему эффективного конкурентного исполнения asyncio задач в Celery. Читать дальше →

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

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

Как мы нарисовали на карте несколько тысяч интерактивных объектов без вреда для перформанса Привет, меня зовут Дарья, и я Frontend-разработчик юнита Гео в Авито. Хочу поделиться опытом того, как мы сделали на вебе новый поиск по карте, заменив кластеры более удобным решением и сняв ограничение на количество отображаемых объектов. В статье я расс...

[Из песочницы] Кодогенерация в Go на примере создания клиента к БД В данной статье хотелось бы рассмотреть вопросы кодогенерации в Golang. Заметил, что часто в комментариях к статьям по Go упоминают кодогенерацию и рефлексию, что вызывает бурные споры. При этом на хабре статей по кодогенерации мало, хотя она применяется довольно много где в...

Пробел не так прост как кажется Всем привет! Как вы уже знаете, мы в SE занимаемся распознаванием текста (и не только) на разных документах. Сегодня мы хотели бы рассказать еще об одной проблеме при распознавании текста на сложных фонах — о распознавании пробелов. Вообще, мы будем говорить об имени на банк...

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

Использование перехватов операций для бэкапа файлов в macOS “на лету” Привет, Хабр! Меня зовут Денис Копырин, и сегодня я хочу рассказать о том, как мы решали проблему бэкапа по требованию на macOS. На самом деле интересная задача, с которой я столкнулся в институте, выросла в итоге в большой проект по работе с файловой системой в macOS и стал...

Николай Парухин: «OpenStreetMap слишком добр к людям. Он доверяет им...» Николай Парухин — опытный картограф из Архангельска, который когда-то был исследователем морей и первопроходцем ГИС. Сейчас он работает системным администратором, а в свободное время рисует карту в OSM и переводит интерфейсы программ. Зачем он это делает, отчего люди уходят...

Майнинг Monero будет доступен на смартфонах HTC EXODUS 1S Производитель смартфонов HTC объявил о партнерстве с разработчиком ASIC-устройств Midas Labs, в рамках которого у владельцев EXODUS 1S появится возможность майнить Monero в приложении DeMiner. Об этом сообщает The Block. По словам главного блокчейн-разработчика HTC Фила Цэня...

Таймер чистки зубов Доброго времени суток, Хабр! Эта статья для тех, у кого не все щетки в ванной имеют таймер, и кто не хочет использовать песочные часы. Читать дальше →

Сниппеты. Как сделать процесс работы с документацией проще Привет, Хабр! Меня зовут Павел Лесюк. Я тестировщик нативных мобильных приложений. В своей предыдущей статье я привел список инструментов, которые могут использоваться тестировщиками и некоторыми другими специалистами для повышения продуктивности своей работы. В новой сери...

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

[Из песочницы] Urban Bot или как писать чат-ботов для Telegram, Slack, Facebook… на React.js В этой статье я хочу познакомить с новой библиотекой Urban Bot, которая адаптирует React для написания чат-ботов. Ниже я расскажу, зачем эта библиотека появилась на свет, какие дает преимущества и как написать вашего первого чат-бота. Чат-бот — это чаще всего отдельный чат ...

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

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

Сжатие данных в Apache Ignite. Опыт Сбера При работе с большими объемами данных иногда может остро встать проблема нехватки места на дисках. Одним из способов решения данной проблемы является сжатие, благодаря которому, на том же оборудовании, можно себе позволить увеличить объемы хранения. В данной статье мы расс...

Сравниваем c# операторы ?: vs if-else vs switch Сегодня на ревью прилетела очередная фабрика животных: public static class AnimalsFactory { public static Animal CreateAnimalByTernaryOperator(bool isCat) { return isCat ? (Animal)new Cat() : new Dog(); } } В который раз расстроился, что C# заставляет д...

Мини Термометр & гигрометр с E-PAPER на nRF52 — или о том, что пока не выпустили производители Приветствую всех читателей Habr! Хочу поделится с вами своим новым опенсорс проектом. Из названия статьи понятно что речь пойдет о датчике температуры и влажности с дисплеем на электронных чернилах. Уже достаточно давно я попробовал сделать проект датчика температуры с таким...

[Перевод] Валидация Kubernetes YAML на соответствие лучшим практикам и политикам Прим. перев.: С ростом числа YAML-конфигураций для K8s-окружений всё более актуальной становится потребность в их автоматизированной проверке. Автор этого обзора не просто отобрал существующие решения для этой задачи, но и на примере Deployment'а посмотрел, как они работают....

iPhone не подключается к Wi-Fi на iOS 13. Что делать Apple сломала Wi-Fi в iOS 13. Что с этим делать? Клавиатура «бабочка» является, пожалуй, наиболее известной неудачей Apple. Несмотря на то что компания получила тысячи жалоб на низкую надёжность этой клавиатуры, в Купертино на протяжении почти пяти лет пытались усовершенство...

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

[Из песочницы] Анализируй это: оценки игр на Metacritic Привет, мир Хабр! В этом посте я хотел бы поделиться своим опытом сбора и анализа базы игр сайта Metacritic.com, рассказать о том, что получилось, и что ещё в планах. Надеюсь, что материал найдёт своего читателя, а возможный фидбек укажет слабые места и потенциальные направ...

[Из песочницы] Лайфхаки разработчикам от рекрутера Недавно на Хабр вышел перевод статьи «Оцениваем рекрутеров по холодным письмам». Примечание переводчика и 120 комментариев показывают, что тема болезненна для русскоязычных разработчиков, а рынок рекрутинга в IT токсичен. С одной стороны страдают разработчики: завал писем на...

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

Можете написать Deadlock на Camunda BPM? А я могу Некоторое время назад я писал про успешную миграцию с IBM BPM на Camunda, и теперь наша жизнь полна счастья и приятных впечатлений. Camunda не разочаровала, и мы продолжаем дружбу с этим BPM-движком. Но, увы, Camunda может преподносить и неприятные сюрпризы, из-за которых ...

Опыт внедрения Service Mesh на Nomad и Consul В этой статье мы расскажем, как развернули Service Mesh, решили часть проблем микросервисной архитектуры и уменьшили нагрузку на разработчиков и инженеров инфраструктуры. Читать дальше →

[Из песочницы] Моя попытка задержать COVID-19 (автономный дыхательный аппарат) Всем доброго дня. Как и многие я задумался о покупке защиты от COVID-19, прочитал много интересного и полезного. Статья и ресурс натолкнули меня на мысль попробовать сделать автономный дыхательный аппарат из доступных деталей и за небольшие деньги. Читать дальше →

Почему QA хорошая карьера для программиста Привет, хабровчане! Представим, что вы только что закончили институт и размышляете о том, куда пойти работать. В отдел разработки программного обеспечения или тестирования? Быть тестировщиком – это хороший выбор? Есть ли будущее у этой профессии? Хорошая ли там зарплата?...

Лучшие комменты в исходном коде Привет, хабровчане. Я здесь писал еще не очень много, но успел попробовать несколько форматов статей. Здесь были интервью с некоторыми IT специалистами из компании в которой я работаю, переводы, гайды… Что-то зашло, что-то нет. И вот, сегодня я решил попробовать новый для се...

[Перевод] Intel закрыла дыру в безопасности, об устранении которой рапортовала ещё шесть месяцев назад Производитель чипов исправил несколько проблем с чипами в мае. Теперь он выпускает очередное исправление, но сторонние аналитики говорят, что компания не сообщает о своих проблемах всей правды В мае, когда Intel выпустила патч для группы дыр в безопасности, найденных иссле...

[Перевод] О конфликтах Sass и сравнительно новых возможностей CSS Сравнительно недавно в CSS появилось много интересных возможностей, таких, как CSS-переменные и новые функции. Хотя всё это и может сильно упростить жизнь веб-дизайнерам, эти возможности способны неожиданными способами взаимодействовать с CSS-препроцессорами вроде Sass. А...

Часть 2: Mодули и AppStore. ESPboy — гаджет для ретро игр и экспериментов с IoT С публикации первой статьи об сконструированном мной девайсе ESPboy на микроконтроллере ESP8266 прошло довольно много времени. За это время удалось кое что сделать: Довести сам девайс до стадии производства Собрать модули расширения, написать под них софт и отладить Сде...

Фронтенд митап Facebook и AvitoTech Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow. Митап пройдёт 5 марта. Будем говори...

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

Разряды “Гризли” или супер дрель В этой статье хочу рассказать об электрических разрядах, которые способны грызть различные металлы и стали. Речь пойдет в основном про электроэрозионную обработку. Читать дальше →

Крутой авиасимулятор для iOS и еще два приложения, которые стали дешевле Ежедневно мы вручную отбираем для вас лучшие предложения из App Store, которые становятся бесплатными или распространяются с большой скидкой. Каждый день новые и лучшие приложения для ваших iPhone, iPad или Mac. Сегодня в подборке у нас фоторедактор для айфона, авиасимулято...

Изучаем VoIP-движок Mediastreamer2. Часть 3 Материал статьи взят с моего дзен-канала. Улучшаем пример тонального генератора В предыдущей статье мы написали приложение тонального генератора и с его помощью извлекли звук из динамика компьютера. Теперь мы обратим внимание на то, что наша программа, заканчивая работу, не ...

Учимся квантовому программированию на Python с помощью примеров. Доклад Яндекса Сегодня любой желающий может воспользоваться методами квантового программирования, написать простой код на Python и запустить его на реальном квантовом вычислителе. Ришат Ибрагимов rishat_ibrahimov разобрал основы квантовых вычислений на примерах с кодом, показал, как запуск...

Исследуем баг iOS с помощью Hopper Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода. Всё началось в августе 2019 года с первых бета-версий iOS 1...

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

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

Интерактивные финансовые данные в 20 строках кода Статьи на финансовые темы появляются на Хабре регулярно. Во многих из них в качестве источника первичных данных используется неофициально открытое API Yahoo finance. В этой статье я покажу три способа добыть данные (включая Yahoo) а также как напилить из них простое вэб-прил...

Squzy — бесплатная open-source self-host система мониторинга с инцидентами и уведомлениями Однажды знойным зимним вечером к нам пришла идея написать приложение для проверки Sitemap фирмы, в которой мы работаем, с возможностью нотификации при возникновении ошибки. Постепенно эта идея перешла к реализации, там появились мысли по улучшению, возник мониторинг хостов...

[Перевод] Как устроен Selenium: Эпизоды 3 — 5 Салют, хабровчане. Сегодня мы продолжаем серию переводов, приуроченных к запуску курса «Java QA Engineer». Эпизод 3 — isDisplayed В результате диалога, произошедшего в последние выходные января 2020 года, который был посвящен одной из проблем в Selenium, где кто-то сказал ...

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

Новое приложение «Медузы». Почему Flutter? Технический директор Борис Горячев рассказывает, как «Медуза» работала над ним целый год и почему оно написано на Flutter 12 мая состоялся релиз новых мобильных приложений «Медузы» — почти через два года после того, как мы решили их переписать. Почему так долго? Почему не на...

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

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

[Перевод] Сценарии использования service mesh Прим. перев.: автор это статьи (Luc Perkins) — developer advocate в организации CNCF, являющейся домом для таких Open Source-проектов, как Linkerd, SMI (Service Mesh Interface) и Kuma (кстати, вы тоже задумывались, почему в этом списке нет Istio?..). В очередной раз пытаяс...

[Из песочницы] Кажется, мой iPhone забыл пароль от корпоративной Wi-Fi сети Всем привет! Уже и не думал что вернусь к этому кейсу, но Cisco Open Air Wireless Marathon подтолкнул меня вспомнить и рассказать про личный опыт, когда чуть больше года назад мне довелось потратить довольно много времени над изучением проблемы с беспроводной сетью на базе ...

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

[Перевод] Как проектировать мобильные приложения для одной руки tl;dr У 90% современных смартфонов диагональ экрана превышает пять дюймов. Появление таких дисплеев представило принципиально новые проблемы для разработчиков приложений и дизайнеров. Давайте посмотрим, как их решить. После презентации Apple в январе 2007 года весь мир сж...

[Из песочницы] Как отключить предупреждение о вреде долгого прослушивания аудио (Android) Наверное, многие, кто слушает музыку (и не только) с Android-устройства, сталкивались с таким предупреждением: В этой статье мы рассмотрим, почему и когда возникает данное предупреждение, и как сделать так, чтобы оно больше не возникало. Читать дальше →

Бесплатная косметика, серебряная подвеска и промо-коды на такси и пицуу Стоит ли нам на сайте начинать такую рубрику? Мы собрали несколько предложений, которые понравятся тем, кто хочет попробовать что-то новое, но при этом боится потратить деньги, получив некачественный товар или услугу. Сегодня для вас промо-коды, пробники и просто полухаляв...

[Перевод] Советы и хитрости IntelliJ IDEA: 1. Сравнение файлов и папок От переводчика: В блоге Войтеха Рузички по программированию имеется 13 постов с тегом IDEA. Один из был переведен и опубликован на Хабре — Лучшие плагины IntelliJ IDEA. Он оказася довольно популярен и я решил попробовать перевести и другие посты об IDEA. Надеюсь будут полезн...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

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

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

can_throw или не can_throw? Исключения являются частью языка C++. Неоднозначной его частью. Кто-то их принципиально не использует. Вот вообще не использует. От слова совсем. Но не мы. Поскольку считаем их весьма полезной штукой, существенно повышающей надежность кода. К сожалению, далеко не везде искл...

Обзор работы «Learnability Can Be Undecidable» Эта статья является моим вольным пересказом работы Learnability can be undecidable, Shai Ben-David, et al. Недавно на Хабре вышла статья Машинное обучение столкнулось с нерешенной математической проблемой, которая является переводом одноименного обзора в Nature News статьи Ш...

Обновление процесса CI/CD: teamcity Это вторая статья из цикла об обновлении CI/CD процессов. До этого момента осуществлялась подготовка к настройке новых средств, а именно: планирование, ежедневные митинги, решение разногласий, в общем, все без чего не получится грамотно построить рабочий процесс. И вот, все...

Я есть root. Получаем стабильный shell Давайте представим, что мы получили бэк-коннект в результате эксплуатации RCE-уязвимости в условном PHP-приложении. Но едва ли это соединение можно назвать полноценным. Сегодня разберемся в том, как прокачать полученный доступ и сделать его более стабильным. Это третья част...

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

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

Florence, продвинутая погода для iPhone и другие приложения со скидками Ежедневно мы вручную отбираем для вас лучшие предложения из App Store, которые становятся бесплатными или распространяются с большой скидкой. Каждый день новые и лучшие приложения для ваших iPhone, iPad или Mac. Сегодня можно с хорошей скидкой забрать Florence — насто...

Игра на WebAssembly, часть 2: уровни и опыт, админка В предыдущей статье получилось сделать прототип игры с вопросами. Но не получилось сделать это полноценно на WebAssembly. В этот раз предлагаю конвертировать этот прототип, сделав с него полноценное WebAssembly приложение, а так же добавить к нему атрибуты большинства игр — ...

Почему Мистер Робот — лучший сериал про IT-индустрию Доброго времени суток, уважаемые читатели Хабра! 23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к мое...

[Из песочницы] Исследовательский практикум. Голосовые виртуальные ассистенты – что с ними не так? Введение Аналитики, исследующие сервисы чат-ботов и виртуальных ассистентов, обещают рост рынка как минимум 30% в год. В абсолютных цифрах, по состоянию на 2019 год, рынок оценивался более чем в 2 миллиарда долларов в год. Виртуальных голосовых помощников выпустили практичес...

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

Настройка балансировки нагрузки на InfoWatch Traffic Monitor Что делать, если мощности одного сервера не хватает для обработки всех запросов, а производителем ПО не предусмотрена балансировка нагрузки? Есть много вариантов – от покупки балансировщика нагрузки до ограничения числа запросов. Какой из них правильный, нужно смотреть по ...

Тренды в тестировании в 2020 Автор статьи: Дмитрий Шадрин Вступление Хочется поделиться моим топом инструментов для тестирования, которые еженедельно помогают мне в эффективной работе и улучшении своих показателей. Я занимаюсь тестированием на аутсорсе и приходится работать с различными видами проду...

Игра в виде фильма, звуки для сна и другие приложения со скидкой для iOS Многие приложения в App Store стоят дорого, но иногда разработчики устраивают скидки, и главное здесь — вовремя скачать игру или утилиту по низкой цене. Поэтому мы здесь! Сегодня с хорошей скидкой отдают не просто игру, а целый фильм, где вам предстоит сыграть одну из...

[Из песочницы] Как рассказать об основных компонентах Android за 15 минут Введение В этой статье пойдет речь о том, как рассказать человеку, ранее не знакомому с программированием под Android, об основных его компонентах. Заинтересовать и показать, что все не так сложно, как многие думают. При этом сделать это за 15 минут и не уходя в объяснение к...

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

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

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

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

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

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

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

[Перевод] Transformer в картинках В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (T...

[Из песочницы] Как мы антифрод систему в четыре руки и три головы писали Статья про создание inhouse-решения для обнаружения и предотвращения мошеннических операций проводимых в интернет-банкинге одного маленького, но очень гордого банка в Татарстане. Из статьи узнаете о том зачем и кому нужен антифрод, почему внутренняя разработка оказалась деше...

Заблуждения в Менеджменте знаний После написания статьи «Разбираем проблемы ГОСТ Р 53894-2016 «Менеджмент знаний. Термины и определения»» Читать дальше →

[Из песочницы] Кое-как одетые принцы и дворяне Читая статью «Разработчики — никакая не элита, а голые короли индустрии», разделившую Хабр на две половины: резко-негативно ЗА и резко-позитивно ПРОТИВ, а особенно обсуждение под ней, хочется кое что добавить. Я в целом согласен с автором статьи и хочу добавить аргументов в ...

Стоит ли жаловаться на собеседования? Как мне кажется, на Хабре есть две вечные темы, на которые статьи появляются с завидной регулярностью и собирают массу комментариев и плюсов. Первая тема — "мне слили карму, систему кармы надо изменить/отменить". Вторая тема — "меня не взяли на работу, процесс...

[Из песочницы] Свои Custom Controls в Angular Пролог Поговорим о реактивных формах в angular, узнаем за кастомные контролы, как их создавать, использовать и валидировать. Статья предполагает что вы уже знакомы с фреймворком angular, но хотите больше погрузиться в её специфику. Хорошее желание, начнем. Читать дальше &ra...

Quartet 9: Allegro | TypeScript Когда создавалась библиотека для валидации данных quartet были поставленны следующие цели-ориентиры: TypeScript Краткость и простота Производительность В этой статье я хотел бы рассмотреть ориентированность quartet на TypeScript. Читать дальше →

Простой UDP hole punching на примере IPIP-туннеля Доброе время суток! В этой статье хочу рассказать как я реализовал (еще один) скрипт на Bash для соединения двух компьютеров, находящимися за NAT, с использованием технологии UDP hole punching на примере ОС Ubuntu/Debian. Читать дальше →

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

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

Как я писал музыку из космических лучей День добрый, камрады! Я пока только начинающий музыкант, зато есть опыт в программировании. И почему бы не взять какие-нибудь данные и попробовать из аудиализировать (это как визуализировать, только… кэпъ)? Тащемта, план таков: Найти данные Придумать, как сконвертировать их...

[Из песочницы] Цифровое представление аналогового аудиосигнала. Краткий ликбез Дорогие читатели, меня зовут Феликс Арутюнян. Я студент, профессиональный скрипач. В этой статье хочу поделиться с Вами отрывком из моей презентации, которую я представил в университете музыки и театра Граца по предмету прикладная акустика. Рассмотрим теоретические аспект...

[Перевод] Лучшие практики Kubernetes. Настройка запросов и лимитов ресурсов Лучшие практики Kubernetes. Создание небольших контейнеров Лучшие практики Kubernetes. Организация Kubernetes с пространством имен Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness Для каждого ресурса Kubernetes имеется в...

Клиентоориентированный Data Lake в игровой компании Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расс...

Временные ограничения для внешних интерфейсов ПЛИС Здравствуйте. В данной статье я хочу по возможности максимально просто и понятно рассказать о том, как рассчитываются временны́е ограничения (timing constraints) на синхронные интерфейсы ПЛИС. Просто — не значит коротко, но зато простыми словами, которые вы сможете легк...

Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией Всем привет! В преддверии старта курсов «Framework Laravel» и «Backend-разработчик на PHP», продолжаем делиться интересным материалом по теме. Поехали. За последние несколько лет популярность Laravel резко возросла. Сообщество Laravel даже придерживается мнения, что Larave...

ROS2 vs ROS1.Установка ROS2 на Ubuntu 18.04 ROS (Robotic operation system) уверенно занимает лидирующие позиции в стандартах робототехники. Говоря словами известного политика, ею уже пользуются «не только лишь все». В данной статье попробуем взглянуть на следующий этап развития ROS — систему ROS2, подходящую для более...

[Перевод] Webpack: руководство для начинающих Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Webpack: A gentle introduction» автора Tyler McGinnis. Перед изучением новой технологии задайте себе два вопроса: Зачем нужен этот инструмент? Какие задачи он выполняет? Если вы не можете отв...

STM32 Чать 2: Инициализация Программирование — это разбиение чего-то большого и невозможного на что-то маленькое и вполне реальное. Всем привет, для начала я хотел бы поблагодарить модераторов за то что пропустили мой первый (отвратительный) пост, и передать привет маме! А так же я хотел бы поблагода...

[Перевод] 6 лучших практик для безопасного управления Git-репозиториями Избегайте захламления репозиториев и других действий, которые усложняют управление кодовой базой. Вместо этого используйте лучшие практики, которые помогут упростить работу. Изучение исходников в репозитории позволяет оценить уровень безопасности приложений. Но если никто...

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

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

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

КОМПАС-3D v18 Home. Мини-курс проектирования под 3D-печать. От основ моделирования к 3D-проектированию сверху вниз Во многих статьях про 3D-печать подробно разбирается работа 3D-принтера и процесс печати, а создание 3D-модели описывается одной фразой, как будто это элементарное действие (что, конечно, совсем не так). Мы сделали мини-курс по 3D-моделированию, который учитывает особенности...

FOSS News №17 – обзор новостей свободного и открытого ПО за 18-24 мая 2020 года Всем привет! Продолжаем обзоры новостей свободного и открытого ПО и немного железа. Всё самое главное про пингвинов и не только, в России и мире. Этот выпуск получился богатым на интересные новости и материалы: Microsoft переходит на светлую сторону силы или «бойтесь дана...

Превращаем DSLogic U2Basic в DSLogic Plus Привет, Хабр! В данной статье расскажу как модифицировать DSLogic U2Basic до DSLogic Plus. Данная статья является обновлением статьи — Превращаем DSLogic Basic в DSLogic Plus Кому интересно — прошу под кат. Читать дальше →

API, ради которых наконец-то стоит обновиться с Java 8. Часть 1 На сегодняшний день Java 8 является самой популярной версией Java и ещё довольно долго будет ей оставаться. Однако с тех пор уже выпущено пять новых версий Java (9, 10, 11, 12, 13), и совсем скоро выйдет ещё одна, Java 14. В этих новых версиях появилось гигантское количество...

Как устроена контент-система Турбо-страниц: схемы, факты и немного истории По данным TelecomDaily, почти 30% пользователей мобильного интернета в России ежедневно сталкиваются с проблемами при загрузке сайтов. Однако причина может быть не только в неравномерном покрытии, но и в слишком большом «весе» страницы. Повлиять на качество соединения мы ...

Как мы рекомендуем новинки каталога в онлайн-кинотеатре ivi (+ код на Python) В блоге онлайн-кинотеатра ivi накопилось достаточно статей про архитектуру рекомендательной системы Hydra. Однако рекомендации — это не только внешний API, но и алгоритмы, которые живут «под капотом» и реализуют достаточно сложную бизнес-логику. В этой статье я расскажу о п...

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04 В предыдущей статье мы разобрали запуск сервера VNC на виртуальной машине любого типа. У этого варианта масса недостатков, основным из которых являются высокие требования к пропускной способности каналов передачи данных. Сегодня мы попробуем подключиться к графическому рабо...

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

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

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

[Перевод] Интервью с Мэттью «Oki» О’Коннором об атеросклерозе и его лечении Атеросклероз является основной причиной смерти во всем мире и в настоящее время не имеет эффективного лечения. Современная медицина имеет три основных подхода к этому заболеванию: изменения образа жизни, такие как диета и физические упражнения; лекарства, которые снижают н...

Инфраструктура еды: как мы саппортим «Тануки» Перефразируя одного известного исторического деятеля, важнейшим из всех сервисов для нас является доставка. Что бы мы делали в нынешней ситуации без роллов или пиццы на дом — представлять не хочется. Так получилось, что 2 года назад мы приняли на поддержку одну из крупнейш...

Собираем приложение Qt в WebAssembly в Windows Как известно, приложения написанные на Qt, который является кросс платформенными запускаются от desktop, мобильных, интернет вещей, до микроконтроллеров. Один из вариантов это сборка приложения Qt в WebAssembly — которое позволит Вам запускать его в браузере у пользовател...

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

[Перевод] Как мы оптимизировали скрипты в Unity Существует множество отличных статей и туториалов о производительности в Unity. Этой статьёй мы не пытаемся заменить или улучшить их, это всего лишь краткое изложение шагов, сделанных нами после прочтения этих статей, а также шагов, позволивших решить наши проблемы. Настояте...

[Перевод] Уходя уходи: почему не стоит принимать контроффер Привет, Хабр! Меня зовут Женя Остроумова, и я рекрутёр_ка. Сегодня поговорим с вами про контрофферы. Читать дальше →

[Перевод] Знакомимся с Event Sourcing. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Java Developer. Professional». Event sourcing (источники событий, регистрация событий, генерация событий) — это мощный архитектурный шаблон, при котором все изменения, вносимые в состояние приложения, сохраняются в той ...

[Перевод] Модернизация старого PHP-приложения Недавно мне выдалась случайная возможность поработать с несколькими старыми PHP-приложениями. Я заметил несколько распространённых антипаттернов, которые пришлось исправлять. Эта статья не о том, как переписывать старое PHP-приложение на <вставьте сюда название чудесного...

Тест-драйв сетевой камеры ELARI Smart Camera 360° Сегодня большое количество брендов предлагает датчики и устройства для построения умного дома. Диапазон цен на устройства очень широк. Среди множества вендоров сегодня выделяется Elari, который давно почуял тренд и занялся производством устройств IOT. У компании уже прилич...

[Перевод] Связь между C# и C#: REST, gRPC и все, что между Существует много способов связи между клиентом C# и сервером C#. Некоторые из них надежные, другие нет. Некоторые очень быстрые, другие нет. Важно знать различные варианты, чтобы вы могли решить, что лучше для вас. В этой статье будут рассмотрены самые популярные на сегодняш...

[Из песочницы] Геокодирование. Как привязать 250 тысяч адресов к координатам за 10 минут? Привет, Хабр! В этой статье я хотел бы поделиться опытом решения маленькой проблемы с большим количеством адресов. Если вы когда-либо работали с API геокодирования или пользовались онлайн инструментами, то думаю вы разделяете мою боль ожидания результата в течение несколь...

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран ...

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

Роутинг в комплексных чат-ботах с Hobot framework Начав разрабатывать боты для Telegram несколько лет назад, я открыл для себя производительность, простоту и гибкость работы с ними как с частным случаем интерфейса командной строки. Эти характеристики, доступные сегодня многим — во многом заслуга популярного фреймворка tel...

Сравнение российской рэп сцены используя R и техники Text Mining. Эпизод 2 R. Text Mining. Rap. Episode 2 Данная статья является продолжением материала «Сравнение российской рэп сцены используя R и техники Text Mining. Noize Mc and Kasta vs Pharaoh and Morgenshtern» и сейчас я постараюсь детально проанализировать творчество Нойз Мс и Оксимирона. Од...

Ростов-на-Дону: IT-компании, сообщества и мероприятия в 2019 году Привет. Меня зовут Вадим и я занимаюсь развитием IT-тусовок в Ростове. В 2016 году spasibo_kep написал статью "Едем в город южный: как живут разработчики в Ростове-на-Дoну" о Ростовском IT. Пришло время её обновить, тем более, что Ростов в 2019 году стал 4ым в Рос...

Видишь архитектуру? И я не вижу, а она есть В разработке hh.ru сегодня около 150 человек. У нас множество интересных команд, и каждая вносит значительный вклад. Но в этой статье я расскажу лишь про одну из них. Читать дальше →