Социальные сети Рунета
Среда, 17 апреля 2024

Сбор метрик Spring Boot приложения c помощью Prometheus и Grafana В данной статье рассмотрен пример работы с метриками. В начале, настройка приложения для поставки метрик. Настройка Prometheus для сбора и хранения метрик. Настройка Grafana для отображения собранных метрик. Читать далее

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

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

Описание инфраструктуры в Terraform на будущее. Антон Бабенко (2018г) Многие знают и используют Terraform в повседневной работе, но для него до сих пор не сформировались лучшие практики. Каждой команде приходится изобретать свои подходы, методы. Ваша инфраструктура почти наверняка начинается просто: несколько ресурсов + несколько разработчико...

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

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

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

[Из песочницы] Техническая документация в разработке ПО: кто, зачем, когда и как описывает проект Привет! Меня зовут Даша Григорьева, я технический писатель в компании 65apps. Мы занимаемся разработкой сложных мобильных решений, и моя задача — подготовка технической документации по проектам. Очень часто роль технического писателя бывает недооцененной в компании (не у ...

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

Топ факапов Циан Всем добра!  Меня зовут Никита, я тимлид команды инженеров Циан. Одной из моих обязанностей в компании является снижение количества инцидентов, связанных с инфраструктурой на проде, до нуля. То, о чем пойдет речь далее, принесло нам много боли, и цель этой статьи — не дать ...

Нам нужно поговорить… Иногда инженеры теряют интерес к проектам, задачам и к компании — мотивация падает, а с ней и производительность. В итоге сотрудники выгорают и/или увольняются. Для этого много причин, но самая распространенная — отсутствие внимания к успехам и проблемам инженеров. В ЦФТ ...

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

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

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

Кластер Elasticsearch на 200 ТБ+ С Elasticsearch сталкиваются многие. Но что происходит, когда хочешь с его помощью хранить логи «в особо крупном объёме»? Да ещё и безболезненно переживать отказ любого из нескольких дата-центров? Какой стоит делать архитектуру, и на какие подводные камни наткнёшься? Мы в О...

[Перевод] Мониторинг Kubernetes с помощью Prometheus и Thanos Поздравляем! Вам удалось убедить ваше начальство в миграции приложений на микросервисную архитектуру с использованием контейнеров и Kubernetes.Вы очень довольны и все идет по плану. Вы создаете свой первый кластер Kubernetes (у всех основных облачных провайдеров: Azure, AWS ...

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

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

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

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

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

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

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

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

[Перевод] Почему нужна инструментальная поддержка пагинации на ключах Всем привет! Я бэкэнд-разработчик, пишу микросервисы на Java + Spring. Работаю в одной из команд разработки внутренних продуктов в компании Тинькофф. У нас в команде часто встает вопрос оптимизации запросов в СУБД. Всегда хочется еще чуть-чуть быстрее, но не всегда можно об...

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

[Из песочницы] Обязанности администратора Salesforce: Что должно быть сделано и когда Привет, Хабр! Представляю вашему вниманию перевод «Salesforce administrator responsibilities: What needs to be done and when» автора David Taber. Что администратор Salesforce делает весь день, неделю или месяц? Вот общее краткое изложение. Salesforce администраторы отвечаю...

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

YouTube TV надоело платить Apple комиссию за подписки через App Store Так уж повелось, что нередко отношение разработчиков к Apple и App Store, в котором они размещают свои приложения, всегда было довольно натянутым. Несмотря на то что в Купертино периодически хвастаются суммами, выплаченными разработчикам, те зачастую считают, что компания н...

Зачем же роботу ограничиваться сбором мячей для гольфа? Есть же еще и теннис Краткая история как мы делаем свой стартап, что мы покажем во Флориде, а так же что делать, если нужна indoor навигация с высокой точностью? Мы сделали робота для сбора мячей для гольфа. Делаем его уже чуть больше года. Это лето для нас было очень плодотворным. Мы много тест...

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

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

Оценочный уровень доверия (ОУД4) и ГОСТ Р ИСО/МЭК 15408-3-2013. Введение Привет, Хабр!В настоящее время в ИТ индустрии крайне актуальна тема построения процесса безопасной разработки ПО (по англ. «Secure SDLC» или «Secure software development life cycle»). Некоторые организации и команды самостоятельно приходят к необходимости такого процесса в с...

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

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Целевая аудитория Вы разработчик, который хочет повернуть свою карьеру в сторону более совершенной модели DevOps? Вы являетесь классическим Ops-инженером и хотели бы получить представление о том, что означит DevOps? Или же вы не являетесь ни тем, ни другим и, потратив некото...

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

DevSecOps: как мы внедряли PT Application Inspector в наш продуктовый конвейер Привет! Меня зовут Тимур Гильмуллин, я работаю в отделе технологий и процессов разработки Positive Technologies. Неформально наш отдел называют DevOps-отделом, мы занимаемся автоматизацией различных процессов и помогаем разработчикам и тестировщикам в нашей компании.Я и мой ...

[Из песочницы] Если бы я учил Frontend сегодня. Советы начинающим Мой путь в веб-разработке начался 5 лет назад. За это время я успел испробовать множество технологий, а в последние 3 года развиваюсь в направлении frontend. В этой статье я бы хотел ясно изложить, какие технологии необходимо изучить новичку, а также поделиться методами их ...

[Из песочницы] Веб-разработка с нуля: руководство для молодых команд по созданию инфраструктуры CI/CD и процесса разработки Чуть больше года назад я столкнулся с тем, что на внутреннем проекте совсем не айтишной компании вырос целый отдел веб-разработки, которым мне и довелось руководить. Рабочий процесс вроде как устаканился и всех устраивал, но оставались проблемы: Проверка каждой ветки проход...

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

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

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

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

Как подготовиться к The Standoff. Советы защитникам Привет, Хабр! Меня зовут Илья, и три года подряд вместе с командой Jet Security Team — а два последних в роли её капитана — я держал оборону виртуального города на киберполигоне The Standoff против команд нападения. Участвуя раз за разом на стороне защиты, мы прошли путь от ...

Open source: CI/CD и тестовая инфраструктура Авито для Android Мы вынесли в open source инфраструктуру Авито для Android: Gradle плагины, эмуляторы и библиотеки для тестов. Наш код будет полезен при автоматизации CI/CD, а также облегчит написание и поддержку автотестов. В этой обзорной статье мы расскажем, по...

Безумные логи Утром, не сделав и глотка кофе, открываешь почту и видишь баг репорты по тому, что вполне себе нормально работало, не сбоило и особо не беспокоило. Идей с ходу ноль, подозреваемых нет, больших изменений в коде тоже не было — нужно лезть в логи. А туда ты не ходил так давно,...

Трюки для обработки метрик в Kapacitor Скорее всего, сегодня уже ни у кого не возникает вопрос, зачем нужно собирать метрики сервисов. Следующий логичный шаг – настроить алертинг на собираемые метрики, который будет оповещать о любых отклонениях в данных в удобные вам каналы (почту, Slack, Telegram). В сервисе он...

Как продакт-менеджеру найти метрику роста и свести Unit-экономику В преддверии старта практического онлайн-курса «Product manager» состоялся открытый урок с Сергеем Колосковым, продакт-менеджером Ozon. Участники научились находить метрики роста и строить аналитику вокруг них, а также считать и сводить unit-экономику. В этой статье мы приво...

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

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

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

[Из песочницы] Как работают реляционные базы данных (Часть 1) Привет, Хабр! Представляю вашему вниманию перевод статьи "How does a relational database work". Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшог...

Саморазвитие: как я не усидел на двух стульях и нашел третий Всем привет! Я руковожу командой антиспама в Mail.ru Group, а также несколькими группами по машинному обучению. Тема этой статьи — саморазвитие для тимлидов/руководителей, но на самом деле многие техники и рецепты совершенно не зависят от роли. Для меня этот вопрос очень а...

Портирование приложений с QWidget на QML под Desktop Привет, Хабровчане! Последнее время часто встречаю проекты для desktop, которые необходимо портировать с QWidget на QML. Кто-то хочет написать с нуля, кто-то перенести старые наработки. В любом из сценариев это популяризация QML, чему я очень рад. Я решил тоже побыть полез...

Как перенести шейдер из игрового движка в Substance Painter Меня зовут Тарас Улейский, я Technical Artist в Plarium Kharkiv. Для оптимизации графики нашей Survival RPG на мобильных устройствах мы использовали свои кастомные шейдеры. Они предполагают использование уникальных текстур и карт, которые не похожи на текстуры и карты в друг...

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

Прокачай скиллы в DevSecOps: 5 вебинаров с теорией и практикой Привет, Хабр! Наступила эпоха онлайн-мероприятий, и мы не стоим в стороне, тоже проводим разные вебинары и онлайн-встречи. Мы думаем, что тема DevSecOps требует отдельного внимания. Почему? Все просто: Она сейчас крайне популярна (кто еще не успел поучаствовать в холива...

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

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

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

Когда я на часах Мы тут открыли позицию инженера поддержки в команде GoLand. Это сподвигло меня рассказать, как это у нас происходит. На Хабре уже есть хорошая статья об этом из 2014 года. Но, во-первых, GoLand тогда еще не существовал. А, во-вторых, многое с тех пор поменялось. Хотя забавно...

[Перевод] DevOps vs Agile: В чем разница Разница в том, что происходит после разработки Когда ПО только начали разрабатывать, процесс разработки не подходил ни под один вид управления. Затем появился водопад, который ввел идею о том, что разработка ПО может быть определена временем создания или сборки приложения....

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

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

[Из песочницы] Генетический алгоритм на Python для поиска глобальных экстремумов Предыстория Недавно в рамках учебной деятельности мне понадобилось использовать старый добрый генетический алгоритм в целях поиска минимума и максимума функции от двух переменных. Однако, к моему удивлению, на просторах интернета не нашлось подобной реализации на питоне, а в...

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

Как я искал хелпдеск среди 15 решений и… не нашёл Этой статьи не должно было быть: вроде как и Хабр не жалобная книга, и у меня частная история далеко не хабровской компании. Но именно на Хабре я получил не очень корректное отношение одной компании и познакомился аж с двумя другими в самый подходящий момент — в момент, когд...

Как избежать популярных ошибок сетевой безопасности В середине сентября стало известно об утечке почти 2Тб данных, в которых содержалась информация о работе системы оперативно-розыскных мероприятий (СОРМ) в сети одного российского оператора связи. Утечка произошла из-за неправильно настроенной утилиты резервного копирования...

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

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

Простой service discovery в Prometheus через Consul Закон Парето (принцип Парето, принцип 80/20) — «20 % усилий дают 80 % результата, а остальные 80 % усилий — лишь 20 % результата». WikipediaПриветствую тебя, дорогой читатель! Моя первая статья на Хабр посвящена простому и, надеюсь, полезному решению, сделавшим для меня сбор...

[Из песочницы] 10 строк кода, которые уменьшат боль от вашего проекта на Vue … или знакомство с плагинами Vue JS на примере интегрированной шины событий Пара слов о… Всем привет! Сразу оговорюсь. Я очень люблю VueJS, активно пишу на нем уже больше 2-х лет и не считаю, что разработка на нем может причинить боль хоть в какой-то значимой степени :) С д...

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

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

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

Разработка измерительного прибора ИРИС Приветствую, сообщество Хабра. Недавно наша компания выпустила на рынок контрольно-измерительный прибор ИРИС. Являясь главным программистом этого проекта, хочу рассказать вам про разработку прошивки прибора (По оценке руководителя проекта прошивка составляет не более 30% от...

[Перевод] Три метода Pandas, о которых вы, возможно, не знали Автор статьи, перевод которой мы сегодня публикуем, говорит, что когда он узнал о тех методах библиотеки Pandas, о которых хочет тут рассказать, он почувствовал себя совершенно некомпетентным программистом. Почему? Дело в том, что ему, когда он до этого писал код, лень было ...

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

[Из песочницы] Тесты на pytest с генерацией отчетов в Allure с использованием Docker и Gitlab Pages и частично selenium Этот текст предназначен для начинающих тестировщиков, желающих понять как делать отчеты на allure с историей тестов, также разъяснить где их хранить, чтобы в отчет мог заглянуть любой участник вашей команды. Когда я хотел добавить в gitlab автотесты в стеке python, allure, ...

Динамическая сборка и деплой Docker-образов с werf на примере сайта версионированной документации Мы уже не раз рассказывали про свой GitOps-инструмент werf, а в этот раз хотели бы поделиться опытом сборки сайта с документацией самого проекта — werf.io (его русскоязычная версия — ru.werf.io). Это обычный статический сайт, однако его сборка интересна тем, что построена с ...

RxRelay – это магия? Subject vs RxRelay В Android-комьюнити я встречал три типа разработчиков, которые сталкивались с RxRelay: Те, кто не понимают зачем RxRelay используется в их проекте, зачем он нужен и чем отличается от Subject Те, кто думают, что RxRelay «проглатывает» ошибки или «после того, как произошла...

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

[Перевод] Низкоуровневое программирование STM32: от включения питания до «Hello, World» В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том...

Яндекс.Дзен отказывается от нарративов Команда Яндекс.Дзена сообщила о прекращении поддержки платформой нарративов и постов. Возможность создавать эти форматы исчезнет из редактора уже сегодня. «Последнее время мы наблюдаем снижение популярности двух форматов – нарративов и постов. И блогеры, и читатели все чаще ...

[Перевод] Иерархический буфер глубин Краткий обзор Иерархический буфер глубин — это многоуровневый буфер глуби (Z-буфер), используемый как ускоряющая структура (acceleration structure) для запросов глубин. Как и в случае mip-цепочек текстур, размеры каждого уровня обычно являются результатами деления на степен...

[Из песочницы] Пишем бот для пазл игры на Python Давно хотел попробовать свои силы в компьютерном зрении и вот этот момент настал. Интереснее обучаться на играх, поэтому тренироваться будем на боте. В статье я попытаюсь подробно расписать процесс автоматизации игры при помощи связки Python + OpenCV. Читать дальше →

[Из песочницы] Быстрый деплой vm ESXi с помощью Terraform Всем привет, меня зовут Иван и я алкоголик системный администратор (OPS). Я бы хотел рассказать как разворачиваю виртуальные машины на ESXi без vCenter с помощью Terraform. Читать дальше →

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

[Перевод] 10 интересных репозиториев на GitHub, полезных любому разработчику Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО. Фото с ресурса Unsplash. Автор: Vishnu R Nair GitHub — это лучшая платформа для обме...

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

[Перевод] Безопасная работа с секретами при сборке в Docker Compose Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Когда вы собираете Docker-образ вам могут понадобиться секреты, например, пароль к приватному репозиторию пакетов. Вы не хотите, чтобы этот секрет в конечном итоге оказался в образе, потому ...

[recovery mode] Культура как основа масштабирования команды х2 каждый год. Про ошибки в найме и culture fit Я работаю менеджером разработки в Miro и активно участвую в найме. Последние несколько лет наша команда удваивается ежегодно и становится мультикультурной, у нас открываются офисы в Америке и Европе. 5 лет назад, в начале стадии быстрого роста, наши процессы найма и онборди...

Разработка плагинов для Zabbix Agent 2 На последнем Zabbix Summit 2019 вместе с выходом Zabbix 4.4 был анонсирован новый Zabbix Agent 2, ключевая фишка которого — возможность написания плагинов к нему на языке Go. И многие сразу стали спрашивать: а как же, собственно, эти плагины писать, как они устроены? Где взя...

“Что делать, когда кардинальные изменения в процессах демотивируют команду”. Опыт бэкенд-инженера, ставшего тимлидом Я 7 лет работал бэкенд-инженером в Miro, затем стал тимлидом. За последние годы наша инженерная команда выросла вдвое, стала распределённой и международной, что повлекло за собой множество изменений. Одним из них стало введение кросс-функц...

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

Обзор Dawn of Zombies: Survival. Выживание онлайн Игры про выживание всегда будут пользоваться спросом, так как геймерам нравится этот сеттинг, им нравится механика сбора ресурсов и всего в таком духе. Если вы тоже любите подобные проекты и хотите потратить своё время на выживание в виртуальном мире, то давайте я расскажу в...

Наталья Сергунина: МИК приступил к сбору заявок на конкурс Social Tech Challenge Московский инновационный кластер (МИК) с участием крупнейших компаний и инвестиционных фондов Российской Федерации запустил серию конкурсов. Как сообщила заместитель столичного мэра Наталья Сергунина, они нацелены на то, чтобы помочь привлечь инвестиции и заключить контракты...

Мониторинг PostgreSQL с использованием Zabbix Доклад Дарьи Вилковой для Zabbix Meetup Online Я хочу познакомить вас со средством мониторинга PostgreSQL и операционной системы, которое разрабатывается нашей компанией с использованием Zabbix. Мы выбрали Zabbix в качестве средства мониторинга уже давно, потому что это п...

Как и почему мы переехали с собственного npm-репозитория на Verdaccio Всем привет. Меня зовут Андрей Фримучков, я работаю в команде инфраструктуры разработки интерфейсов Яндекса. Последние два месяца участвовал в запуске нового хранилища пакетов. Около года назад мы упёрлись в ограничения собственного решения и после череды экспериментов пришл...

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

Что такое Immutable Infrastructure Меня зовут Никита, я системный инженер в компании SEMrush. И в этой статье я расскажу вам, что такое Immutable Infrastructure, какие у этого подхода есть преимущества и недостатки и как мы его используем в компании. Если вы ни разу не слышали такое словосочетание, то усажив...

[Перевод] Zero Downtime Deployment и базы данных В этой статье подробно объясняется, как решать проблемы, связанные с совместимостью баз данных при деплое. Мы расскажем, что может произойти с вашими приложениями на проде, если вы попытаетесь выполнить деплой без предварительной подготовки. Затем мы пройдемся по этапам жиз...

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

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

[Перевод] Canary деплой с Jenkins-X, Istio и Flagger Доброго времени суток, читатель! Вот мы и подошли к заключительной части цикла статей о Канареечных релизах в Kubernetes и методах их реализации. Желаю приятного чтения и надеюсь, что данный цикл был для вас полезным. Использование решения Jenkins X для выполнения Canary де...

Пишем шеллкод под Windows на ассемблере В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферо...

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

[Из песочницы] Простая машина состояний для VueJS Недавно я наткнулся на интересное обсуждение на Full Stack Radio — Bulding Better UI Components with State Machines. Речь шла о том, что концепция машины состояний может помочь при разработке компонентов Vue. Я начал просматривать готовые решения, но они оказались не столь...

Организация деплоя в множество k8s окружений с помощью helmfile Helmfile — обёртка для helm, которая позволяет в одном месте описывать множество helm релизов, параметризовать их чарты для нескольких окружений, а также задавать порядок их деплоя. О самом helmfile и примерах его использования можно почитать в readme и best practices guide....

[Из песочницы] Распределенный реестр для колесных пар: опыт с Hyperledger Fabric Привет, я работаю в команде проекта РРД КП (распределенный реестр данных для контроля жизненного цикла колесных пар). Здесь я хочу поделиться опытом нашей команды в разработке корпоративного блокчейна для данного проекта в условиях ограничений, накладываемых технологией. По ...

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

Riot Games анонсировала Valorant Mobile на iOS и Андроид, при чём здесь королевская битва? Помните мы говорили про то, что Riot Games может выпустить мобильную Valorant? День анонса настал: сама компания подтвердила эту информацию в ходе интервью с Polygon. Перед тем, как начать разработку мобильной версии, разработчики задались вопросом: «Что представляет собой V...

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

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

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

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

Think SRE: смотрим на проекты глазами SRE-инженера В отзывах о Слёрме Kubernetes звучала фраза: «Kubernetes оказался проще, чем я думал». Сейчас уже не звучит, мифа о сложности k8s больше нет. Он перешел в разряд инструментов easy to learn, hard to master. Мы хотим повторить то же самое с SRE. Показать, что SRE проще и понят...

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

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

Sentry — трекинг java exception в Java Sentry — трекинг java exception в Java Стандартно Java разработчики мониторят ошибки, exception через логи. Но есть и другой способ, а именно отправка exception в Sentry. Sentry — инструмент мониторинга исключений (exception), ошибок в ваших приложениях. Преимущества использ...

«Инфраструктура как код» в автоматизации сервисов CI/CD Привет! Меня зовут Игорь Николаев, я пью за любовь работаю в отделе автоматизации процессов разработки Мир Plat.Form в НСПК. В этой статье я поделюсь тем, как наш отдел решал задачу по автоматизации предоставления различных ресурсов для команд разработки. Эта задача свойстве...

[recovery mode] Установка Windows 98 на современный ПК Решил поделиться своим рецептом, как я установил Windows 98SE на относительно современный ПК. На Интернет форумах много сообщений, что Windows 98SE не устанавливается на современные ПК, не запускается на PCI-e видеокартах и т.п., поэтому статья может быть полезна тем, кто хо...

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

Microsoft и Google боятся коронавируса Думаю, если вы следите за рынком смартфонов и электроники в целом, то слышали про коронавирус и то, что происходит на рынке в свете последних событий. Некоторые из компаний просто закрываются, некоторые переносят свое производство, а некоторые вовсе отказываются от работы на...

[Перевод] Как ограничить частоту запросов в HAProxy: пошаговая инструкция Автор статьи объясняет, как реализовать в HAProxy ограничение скорости обработки запросов (rate limiting) с определенных IP-адресов. Команда Mail.ru Cloud Solutions перевела его статью — надеемся, что с ней вам не придется тратить на это столько времени и усилий, сколько пр...

[Перевод] Loki — сбор логов, используя подход Prometheus Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала. Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов ил...

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

Магия 2-х строк на Lua или как донести исходные заголовки HTTP Authorization header-авторизации до web-сервиcа Статья будет полезна тем: кому необходимо задействовать несколько видов авторизации в одном запросе к серверу; кто хочет открывать сервисы мира Kubernetes/Docker в общий интернет, не задумываясь о способах защиты конкретного сервиса; думает, что всё уже кем-то сделано, ...

Разделяй и властвуй: совершенствование электролиза воды Одной из самых известных химических формул, которые нам известны еще со школьной скамьи, является H2O — оксид водорода, т.е вода. Без этого простого на первый взгляд вещества жизнь на нашей планете была бы совершенно иной, если вообще была бы. Помимо своих животворящих фун...

[Перевод] «Kubernetes увеличил задержку в 10 раз»: кто же в этом виноват? Прим. перев.: Эта статья, написанная Galo Navarro, что занимает должность Principal Software Engineer в европейской компании Adevinta, — увлекательное и поучительное «расследование» в области эксплуатации инфраструктуры. Её оригинальное название было немного дополнено в пере...

[Перевод] С чего начать изучение Flutter в 2021 году Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 202...

Как Программисту 1С стать Java developer'ом Несколько лет назад, когда я искал пути из программистов 1С в Java developer'ы — я бродил впотьмах, пытаясь нащупать дверь, в существовании которой был не уверен. Я пытался найти истории успеха, но кроме пары комментариев ничего не нагуглил. Мир Java выглядел огромным, а кол...

[Перевод] Пять важных уроков о балансе в играх Все игры, которые мы создавали нашей студией Ronimo, делали большой упор на соревновательный многопользовательский режим. Разработка дизайна, тестирование и итеративное улучшение этих игр, и в особенности нашего самого большого хита Awesomenauts, позволили нам узнать много ...

В Apple рассказали, почему MacBook Pro на чипе M1 оказался мощнее MacBook Air Команда инженеров и проектировщиков Apple, работавших над созданием процессора M1, не ожидала, что его результативность окажется настолько выдающейся. В компании понимали, что ARM-чипы – это новое слово в развитии аппаратного обеспечения компьютеров, но они и представить се...

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

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

Отложенные ретраи силами RabbitMQ Меня зовут Алексей Казаков, я техлид команды Клиентских коммуникаций в ДомКлике. В этой статье я хочу поделиться с вами «рецептом», который позволил нам реализовать отложенные ретраи при использовании брокера сообщений RabbitMQ Читать дальше →

[Перевод] Настройка Webpack 5 с нуля Узнайте, как использовать вебпак для сборки JavaScript, изображений, шрифтов и стилей, а также как запускать сервер для разработки Если вы раньше использовали вебпак 4, вот некоторые отличия от 5 версии: команда «webpack-dev-server» теперь выглядит как «webpack-serve» о...

Учет денег Хотел осветить тему, которая мне достаточно интересна и, возможно, кому-то тоже будет полезной – это тема учета денег. Пару слов об актуальности. Раньше я никогда бы не подумал, что бухгалтерия будет мне интересна и тем более, что чем-то подобным буду заниматься я сам. Я п...

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

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

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

Поднимаем Mercurial на Windows-сервере (с Nginx) Недавно случайно узнал, что BitBucket, где лежат мои Mercurial-репозитории, прекращает поддержку Mercurial: новые репозитории создавать уже нельзя, а существующие будут удалелы с 1.06.2020. Возможные варианты действий: перейти на Git, выбрать один из других сервисов, или нас...

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

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

Мобильная разработка — это просто и скучно? Доклад Яндекса Существует миф, что создавать приложения для iOS или Android проще, чем быть, скажем, бэкенд-разработчиком. Разумеется, это не так: в работе с любой платформой есть свои сложности, всюду возникают неочевидные проблемы, требующие навыков в предметной области и за её пределам...

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

[Из песочницы] Ack лучше grep Хочу рассказать об одной утилите для поиска, которая очень сильно упрощает жизнь. Когда я попадаю на сервер и мне надо что-то поискать я первым делом проверяю установлен ли ack. Эта утилита является прекрасной заменой grep, а также в какой-то мере find и wc. Почему не grep? ...

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

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

О чем стоит задуматься при внедрении дежурств Автор статьи «Effective DevOps» Райн Дэниелс (Ryn Daniels) делится стратегиями, которые каждый может использовать для создания более качественных, не раздражающих и устойчивых ротаций дежурных Oncall. С появлением Devops, многие инженеры в наши дни так или иначе организую...

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

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

[Из песочницы] Jungle town: как мы хотели изменить мир к лучшему, создавая детскую игру История нашей игры началась в 2016 году с покупки приставки Apple TV. Это был очень желанный девайс, на котором я обнаружил несколько игр, в том числе детских. Одна из них была от знаменитой студии, и она настолько мне понравилась, что я сказал своей супруге и музе: «Дорог...

[Перевод] Малоизвестные, но популярные JS-фреймворки для фронтенда Не так давно мы, создавая динамические веб-приложения, использовали для работы с DOM чистый JavaScript или jQuery. С тех пор появилось много замечательных JavaScript-фреймворков и библиотек. Они помогают разрабатывать проекты, которые, по привлекательности и удобству, превос...

Гибкие процессы в IT команде Всем привет, меня зовут Алексей Федоров, я тимлид команды финансов в Ситимобил. В этой статье я хочу поделиться тем, как устроен процесс гибкой разработки в нашей команде. Читать дальше →

[Перевод] Управление по защите данных Германии: телеметрия в Windows 10 1909 Enterprise может быть полностью отключена Телеметрия давно стала горячо обсуждаемой темой с момента, когда Microsoft выпустил первую версию Windows 10. Microsoft решил глубоко интегрировать сбор данных в операционную систему — да так глубоко, что у пользовательских выпусков Windows 10 Home и Windows 10 Pro не было о...

[Перевод] Браузер и числа с плавающей запятой Изображение — www.freepik.com Несколько лет назад я много думал и писал о математике с плавающей запятой. Это было очень интересно, и в процессе исследований я многое узнал, но иногда я долгое время не использую на практике все эти полученные тяжким трудом знания. Поэтому ...

[Перевод] Что делать, если я гуманитарий и хочу основать стартап (Майкл Сибель, сооснователь Twitch) Майкл Сибель (справа) — сооснователь (в 25 лет) стартапов Justin.tv/Twitch (капитализация $15 млрд) и Socialcam, член правления Reddit. Каково это быть нетехническим сооснователем, когда в твоей команде из 4 человек все остальные — программисты? Когда мы начинали Justi...

Новая медиавалюта. Исследование внимания аудитории к интернет-рекламе с применением технологии айтрекинга (часть 2) Как оценивать эффективность рекламы в условиях информационного шума и меняющихся паттернов поведения потребителя? Классические метрики засчитывают просмотр, даже если он не был совершен: пользователь мог смотреть на экран, но не видеть рекламу. Специфика digital-форматов так...

Как находить небесные объекты по звездными картам Stellarium при помощи телескопа Всем привет! Возможно читателям ресурса Хабр окажется интересным. Данная статья призвана дать некоторые пояснения к пользованию звездными картами, генерируемыми приложением для смартфонов и планшетов Stellarium. Так же в статье изложен реальный опыт поиска слабосветящихся об...

[Перевод] Создаём линзы для SnapChat с использованием pix2pix Почти такой же заголовок носит и моя предыдущая статья, с той лишь разницей, что тогда я создавал линзы для SnapChat алгоритмически, используя dlib и openCV, а сегодня хочу показать, как можно добиться результата, используя машинное обучение. Этот подход позволит не занимать...

Команда Теплицы запускает public talks в Instagram Как самому создать сайт, если нет ресурсов в кризис? Как увлечь it-волонтера помочь вашему социальному проекту? А как общаться с журналистами, если главная тема сейчас только коронавирус? Эти и другие вопросы команда Теплицы обсудит на прямых эфирах в Instagram. Каждый д...

[Перевод] Расширьте возможности машинного обучения Azure с помощью расширения VS Code Привет сообществу Python! Прошло много времени с тех пор, как мы последний раз писали об этом, но мы рады представить новые возможности, добавленные в расширение VS Code Azure Machine Learning (AML). Начиная с версии 0.6.12, мы представили изменения в пользовательском интерф...

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

Культура разработки: как оценивают производительность и эффективность (c) Практически с появления технологической отрасли в ней велась охота за «Белым китом» — метриками труда разработчиков. Возможно, само желание посчитать KPI программистов родилось из фразы, распространенной в традиционном бизнесе: «Вы не можете планировать, если не можете...

Модель Белбина для IT: сила и слабость разных команд В работе с некоторыми командами бывают ситуации, когда что-то работает само, и об этом не надо думать. Сами доделываются задачи, сама развёртывается Continuous Integration — есть люди, которые этим занимаются, и за рабочими процессами не нужно специально следить. Но в других...

Настройка основных параметров у коммутаторов Huawei CloudEngine (на примере 6865) Мы уже длительное время используем оборудование Huawei в продуктиве публичного облака. Недавно мы добавили в эксплуатацию модель CloudEngine 6885 и при добавлении новых устройств, появилась идея поделиться неким чек-листом или сборником базовых настроек с примерами. В сети е...

Организация ведения документации и перевода, на примере iondv. framework Как и у многих команд разрабатывающих большие продукты, при разработке опенсорсного фреймворка для визуального создания веб-приложений iondv.framework возникла задача документирования возможностей системы. Сначала для себя и новых сотрудников. Потом для пользователей. А в ...

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

Чего боятся тимлиды и почему им пора перестать это делать Я уверен, где-то существует книга «Как подсидеть тимлида». Она передается из рук в руки, из команды в команду и содержит советы типа: «Тимлид никогда не уволится по своей воле, потому что это не работа, а сказка! Его нужно сломать», или «Если ваш тимлид уехал в отпуск, напиш...

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

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

Ошибка Android «Приложение было остановлено»: как исправить проблему Иногда необходимая программа внезапно закрывается, а на экране смартфона появляется сообщение об ошибке «Приложение было остановлено». Рассказываем, почему так происходит и как решить эту проблему.

Знакомство с Debezium — CDC для Apache Kafka В своей работе я часто сталкиваюсь с новыми техническими решениями/программными продуктами, информации о которых в русскоязычном интернете довольно мало. Этой статьей постараюсь восполнить один такой пробел примером из своей недавней практики, когда потребовалось настроить...

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

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

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

А что, если без Python? Julia для машинного обучения и вообще Мы всегда хотим писать код быстро, но за это приходится платить. На обычных высокоуровневых гибких языках можно быстро разрабатывать программы, но после запуска они работают медленно. Например, чудовищно медленно cчитать что-то тяжелое на чистом Python. Си-подобные языки раб...

DIY Гусеничная платформа для роботов и развелечений Мы задумываемся о разработке робота-охранника периметра c использованием софта, который мы разработали для нашего робота для сбора мячей для гольфа. Когда мы определились с техническими требованиями начали искать что подобного есть интернете. Так мы нашли проект Золотоева А...

Docs as code против или вместе с Confluence? Обзор нескольких способов публикации из репозитория в Confluence Многие уже давно или активно используют или смотрят в сторону модели хранения и публикации документации как кода, это значит применять к документации все те же правила, инструменты и процедуры, что и к программному коду, например, хранить в репозитории, прогонять тесты, соби...

[Из песочницы] Сети для начинающего IT-специалиста. Обязательная база Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой тех...

REG.RU представил новую метрику аналитического сервиса StatOnline.ru REG.RU представил новую метрику аналитического сервиса StatOnline.ru. На сайте впервые систематизирован сбор данных о скорости загрузки сайтов клиентов хостинг-провайдеров, работающих в России. Метрика обновляется ежемесячно. Кроме того ...

Как на Mac сохранять открытые вкладки Safari в виде закладок? Если вы постоянно занимаетесь интернет-серфингом в Safari или просто ежедневно посещаете одни и те же ресурсы в Интернете, вам может понадобиться быстрый способ сохранить их все в виде закладок. Это позволит быстро открыть нужную страницу, когда она станет необходимой, а так...

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

[Перевод] На моей визитке работает Linux Перевод статьи из блога инженера Джорджа Хилларда Кликабельно Я инженер встроенных систем. В свободное время я часто ищу то, что можно будет использовать в проектировании будущих систем, или что-то из разряда моих интересов. Одна из таких областей – дешёвые компьютеры, с...

Используем Cura для печати на SLA Photon Оговорюсь сразу  что статья была первично была опубликована на хабре, решил что тут тоже может кого заинтересовать и решил продублировать...Как это бывает, решил изучить новые технологии 3д печати и купил себе 3D SLA принтер Photon, но его софт а именно слайсер (AnyCubic Pho...

Как джуниор Python-разработчику стать мидлом за год Привет! Я Рома, менеджер продукта в Яндекс.Практикуме, где развиваю курс «Мидл Python-разработчик». Мы делаем из начинающих разработчиков крепких мидлов с инженерным мышлением. Сегодня хочу поделиться небольшими заметками о том, над чем стоит работать, если вы джуниор, котор...

[Из песочницы] Базовые команды Linux для тестировщиков и не только Предисловие Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обы...

Готовы включиться в борьбу с пандемией? Присоединяйтесь к группе «IT-волонтеры против COVID-19» События, связанные с пандемией, развиваются стремительно. Кризис становится затяжным, а последствия – непредвиденными. Для оперативной помощи людям и для быстрого реагирования на критические ситуации платформа IT-волонтер создает группу «IT-волонтеры против COVID-19» и пере...

Open Source датасет SOVA: аудио для распознавания и синтеза речи Всем привет! Мы — команда компании «Наносемантика», и недавно мы запустили проект SOVA, где занимаемся сбором датасета для использования его в обучении нейронных сетей и создания виртуальных ассистентов на базе искусственного интеллекта.Мы подготовили большой датасет для обу...

[Из песочницы] Я случайно рассекретил скам-проект Photo from: www.aarp.org/podcasts/the-perfect-scam Часто ли вы встречаетесь со скам-проектами? Я вот часто. Не в силу профессиональной деятельности или чего-то такого, а скорее так — из-за интереса. Но порой мне даже кажется, что не я нахожу их, а они ищут меня. Сегодня ...

Рекомендательные системы: проблемы и методы решения. Часть 1 Привет! Я хочу рассказать вам о рекомендательных алгоритмах. Мы в Prequel создаем фильтры и эффекты для редактирования фото и видео. Создаем давно, и постепенно этих эффектов стало очень много. А с ними и пользовательского контента. Мы захотели помочь с выбором из этого мног...

AIOps в управлении ИТ-инфраструктурой Традиционные методы ИТ-администрирования и управления ИТ-инфраструктурой активно пересматриваются и постепенно реформируются. Использование искусственного интеллекта (ИИ) в управлениии ИТ-инфраструктурой рисует интереснейшие перспективы. Термин AIOps (Artificial Intelligence...

Обновленный плагин YouTrack для IDE на платформе IntelliJ Привет Хабр!В командах разработки трекеры задач и IDE редко существуют друг без друга. Поэтому мы решили существенно «проапгрейдить» плагин YouTrack для IDE на платформе IntelliJ. Плагин интегрируется с вашими любимыми IDE от JetBrains — AppCode, CLion, DataGrip, GoLand, Int...

Позор или тайна? Samsung не знает, сколько Galaxy Fold она продала Galaxy Fold доставил Samsung много проблем ещё до своего выхода и продолжает доставлять их до сих пор Galaxy Fold стал, пожалуй, самым проблемным смартфоном Samsung со времён Galaxy Note 7. Конечно, складной аппарат не имел склонности к самовозгоранию (хотя кто его знает?), ...

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

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

Пользуетесь Google Chrome? Значит Google собирет ваши данные через X-client-data Многие считают сервисы Google полезными и удобными в использовании, однако у них есть как минимум одна важная особенность. Речь идет о постоянной слежке за пользователями, об интенсивном сборе и отправке данных об их активности. Далеко не все пользователи представляют, как...

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

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

Битва двух якодзун, или Cassandra vs HBase. Опыт команды Сбербанка Это даже не шутка, похоже, что именно эта картинка наиболее точно отражает суть этих БД, и в конце будет понятно почему: Согласно DB-Engines Ranking, две самых популярных NoSQL колоночных базы — это Cassandra (далее CS) и HBase (HB). Волею судеб наша команда управления...

Используем Cura на 3D SLA принтере Photon Как это бывает, решил изучить новые технологии 3д печати и купил себе 3D SLA принтер Photon, но его софт а именно слайсер оставляет желать лучшего, очень уж он слабоват. Нет контроля заполнения, поддержки плохо управляются и т.п… В общем решил я это дело обойти с помощью Cur...

[Перевод] Типовые ситуации при непрерывной интеграции Вы изучили команды Git но хотите представлять, как непрерывная интеграция (Continuous Integration, CI) происходит в реальности? Или может вы хотите оптимизировать свои ежедневные действия? Этот курс даст вам практические навыки непрерывной интеграции с использованием репозит...

Сценарий идеального технического собеседования Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей. Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я с...

[Из песочницы] Оценка задач в Story Points Практически каждый человек, который сталкивался с разработкой ПО знает что такое оценка задач в Story Points (SP), тем не менее периодически мне доводится рассказывать коллегам из других отделов или новичкам в команде, которые ни разу не сталкивались с таким подходом, зачем ...

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

Разработка hexapod с нуля (часть 7) — новый корпус, прикладное ПО и протоколы общения Всем привет! Проектирование, печать и сборка нового корпуса наконец-то завершились. Также завершился запуск новой платы управления на базе STM32F373 и FW успешно перенесено на новый МК. Все ближе подходит релиз версии 1.00 с базовым функционалом. Теперь можно рассказать о т...

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

Мониторинг ошибок и событий в журнале PostgreSQL (grok_exporter) Доброго дня, коллеги и хаброчитатели! Сегодня, хотел бы поделиться с Вами небольшой заметкой о том, как можно организовать оперативный мониторинг ошибок и событий появляющихся в журнале PostgreSQL используя Prometheus и экспортер метрик grok_exporter. Сразу оговорюсь, что э...

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

Lightning Talk: Анатолий Вассерман на Слёрме DevOps Изначально и в работе, и в курсах мы делали упор на «как» и избегали «зачем». Мы рассказывали про настройку Kubernetes и молчали про то, где нужен K8s. Если клиент хотел кластер, мы делали ему кластер, не анализируя его business value, мол, это не наше дело, клиент имеет пра...

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

[Из песочницы] Интеграция с ЕСИА для .Net: проще, чем кажется Предисловие Однажды в далекой-далекой галактике… потребовалось нам реализовать аутентификацию пользователей с помощью учетной записи ЕСИА на ГосУслугах. Т.к. обитаем мы в галактике .Net, первым делом был изучен весь гугол на предмет готового космолета дабы не костылить все с...

Как подключить Android к ТВ? Как часто вы хотите посмотреть фотки или YouTube через большой экран телевизора? Или может просто желаете перекинуть фильм с Android на ТВ? Но уверен, что вы постоянно сталкиваетесь с проблемой подключения двух устройств. Прочитав эту статью, вы сможете без трудностей справи...

Собираем команду для стартапа с “0” – пошаговая инструкция для самых маленьких Возможно, кому-то из коллег пригодится мой опыт создания команды с нуля. Это аттракцион интересный, но чрезвычайно энерго- и деньгоемкий, поэтому лучше чтоб получилось с первого раза – на вторую попытку ресурсов может и не хватить. Есть такая грузинская сказка, как человек...

[Перевод] 23 непростых вопроса для JavaScript-собеседования Хотите подготовиться к собеседованию по JavaScript и ищете вопросы, на которых можно попрактиковаться? Если так — считайте, что ваши поиски окончены. Автор материала, перевод которого мы сегодня публикуем, говорит, что собрал более двух десятков вопросов по JavaScript, предн...

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

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

На StatOnline.ru появилась новая метрика: оценка скорости отклика сайтов Компания REG.RU представила новую метрику аналитического сервиса StatOnline.ru. На сайте впервые систематизирован сбор данных о скорости загрузки сайтов клиентов хостинг-провайдеров, работающих в России. Метрика обновляется ежемесячно. Кроме того, дополнена метрика Uptime: п...

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

Как ускорить работу компьютера с Windows 10, 8, 7: 20 советов И хотя компьютер с Windows 10 и работает заметно быстрее своих предшественников, пользователи хотят от операционной системы еще лучшего отклика. На самом деле несложно этого добиться. Вам понадобятся несколько советов и хитростей. В этой статье мы как раз и рассмотрим нескол...

Apple выпустит новое приложение для Windows 10: что это будет? Летом 2019 года Apple пошла на довольно неожиданный шаг и отказалась от поддержки приложения iTunes. Это произошло после выхода беты macOS Catalina, где функции iTunes взял на себя Finder. Однако если на Mac онлайн-магазин с музыкой и фильмами, а также её ключевые функции к...

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

Каким был 2019 год для аппарата InSight на Красной планете? Аппарат NASA InSight приближается к поверхности Марса В ноябре 2018 космический аппарат NASA InSight приземлился на поверхность Красной планеты. Как правило, посадка на Марс является наиболее сложной задачей для большинства роботизированных аппаратов. Но в случае с InSight д...

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

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

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

[Из песочницы] Telegram-бот для управления инфраструктурой По мотивам статьи Телеграмм-бот для системного администратора (статья не моя, я только прочитал) захотел поделиться опытом создания Telegram-бота на PowerShell для управления серверами приложений. Будет текст, код и немножко картинок. Конструктивная критика приветствуется...

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

Обновление KB5003173 не удается установить с ошибкой 0x800f0922 KB5003173, которая является частью цикла майских вторничных обновлений, как сообщается, вызывает проблемы у некоторых людей, в том числе, кажется, неприятную ошибку совместимости с Microsoft Edge, которая уничтожает сам процесс обновления Windows, что означает, что обновлени...

Как реализовать интеграцию с ЕСИА на Java без лишних проблем Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), ― она позволила распознавать личность человека и получать о ней данные в...

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

Swagger в RBK.money — про наши внешние API Хочешь сделать что-то полезное и рабочее — сделай его так, чтобы другие люди могли этим полноценно пользоваться, нормально это ревьювить, да и вообще вспоминать тебя добрым словом, а не темной стороной своего словарного запаса. Для этого, кроме того, чтобы просто хорошо дела...

Отечественный DSP процессор 1967ВН028 от фирмы Milandr. Небольшой мануал по арифметике на языке assembler В своем первом пробном цикле статей я хочу немного обозреть некоторые особенности упомянутого выше российского DSP процессора. Про этот процессор уже были упоминания и не одно, в том числе и на хабре, например, здесь. По этому не буду разбирать его общий функционал, откуда ...

Что ещё, кроме животных, можно смотреть в 3D в Google «Смотреть 3д животных». Именно этот запрос на протяжении нескольких недель оставался самым популярным в Google, а наша инструкция, в которой мы подробно расписали, что и как, до сих удерживает первое место по количеству прочтений среди наших читателей. Почему? Причин на сам...

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

[Из песочницы] Postman — Автотестирование метрики в AppMetrica 1. Введение Недавно встала задачка периодически проверять, все ли события в мобильном приложении работают корректно, передаются ли в AppMetrica. Подробности интеграции я опущу, имеется в виду, что она уже есть в МП. Для проверки нашел два варианта: через web интерфейс че...

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

Автоматизация аналитики Jira средствами Apache NiFi Приветствую, господа. Я Маша, мне 23, и я уже полгода изучаю и внедряю на практике Apache NiFi. Должна отметить, что спустя месяц после знакомства с этой технологией — я начала употреблять антидепрессанты. Был ли NiFi триггером или последней каплей достоверно неизвестно, к...

В офисе никого: разработка игр на удаленке Дисклеймер. У нас нет «удаленных» сотрудников — в команде все равноудалены друг от друга. Просто кто-то работает (сейчас правильнее сказать «работал») в офисе, а кто-то дома или в коворкинге. Поэтому внутри мы предпочитаем термин «распределенная команда». Переход на распр...

Инженерный подход к подаркам За окном дождь, на календаре декабрь. Близится пора праздников, а значит и пора подарков. Коллега Павел желает себе новый ноутбук, а подруга Маша хочет домик у моря. И несмотря на достойный оклад профессии “тыжпрограммист”, мы не живём в мире бесконечных возможностей, а зн...

Если ты шаришь за 3D принтеры и 3D печать, то у нас для тебя есть крутая новость!

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

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

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

HorizontalList с помощью SwiftUI Вступление SwiftUI — это современный UI framework, который позволяет разработчикам быстро и легко создавать собственные приложения на всех платформах Apple. Используя простой, понятный декларативный стиль, разработчики могут создавать потрясающие пользовательские интерфейсы ...

[Перевод] 5 типичных ошибок при создании React компонентов (с хуками) в 2020 году Всем привет! Из этой статьи вы узнаете о самых распространенных ошибках при создании React компонентов, а также о том, почему они считаются ошибками, как их избежать или исправить. Оригинальный материал был написан немецким разработчиком Лоренцом Вайсом для личного блога, ...

Вжух, и прогоны автотестов оптимизированы. Intellij IDEA плагины на службе QA Automation Привет, Хабр. Я работаю QA Automation инженером в компании Wrike и хотел бы поговорить о том, как нам удалось оптимизировать процесс код-ревью для репозитория с 30 000+ автотестов при помощи IntelliJ IDEA плагина. Я расскажу о внутреннем устройстве плагина и о том, какие п...

[Из песочницы] Discord как корпоративный мессенджер и не только Хочу рассказать про использование мессенджера Discord как основного средства коммуникации в команде. Опыт может быть полезен другим командам, использующим бесплатные мессенджеры, а также всем, кто ищет пути повышения эффективности использования мессенджеров. Discord – прогр...

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

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

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

Вызов принят: хочу работать в Spotify В октябре мы рассказали о том, как Александр Любоженко (back-end и data-инженер в Spotify) мечтая о Калифорнии, переехал сначала в Новую Зеландию, а затем в Швецию. Читателям статья понравилась, но многие хотели узнать подроб...

[Из песочницы] Кодовая база. Расширяем RecyclerView Всем привет! Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки. Хочу поделиться способами расширения RecyclerView, на...

Как я писал полудецентрализованную криптовалюту на PHP. (Часть 1 — Сбор библиотек) Предисловие Вы наверно помните прошлую статью, в которой я разрабатывал централизованную криптовалюту. Идея была, как Вы знаете, плохой. Я решил перезапустить линейку этих туториалов, но уже более менее нормальной, чем было в прошлые разы. В этой линейке постараемся «пережев...

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

«В карантин нагрузка выросла в 5 раз, но мы были готовы». Как Lingualeo переехал на PostgreSQL с 23 млн юзеров Проекту Lingualeo уже 10 лет. Более 23 миллионов человек из России, Турции, Испании и стран Латинской Америки учат с помощью нашего сервиса английский. LinguaLeo создавали в конце нулевых – начале десятых годов и использовали передовые на тот момент технологии и методы. ...

[Из песочницы] DLL & Python DLL & Python Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что примене...

Ларри Чермак назвал самые дешевые для пользователей регулируемые биржи Аналитик The Block Ларри Чермак проанализировал торговые комиссии 20 ведущих криптовалютных бирж, чтобы определить самые дорогие и самые дешевые из них для пользователей. Биржи взимают сборы с мейкеров (продавцов — поставщиков ликвидности) и тейкеров (покупателей). Комиссии ...

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

5 самых распространенных ошибок в Android-приложениях и способы их устранения Сбои - головная боль для всех вовлеченных. Команды разработки ненавидят разбираться с ними, а пользователи не желают мириться - 62% пользователей удаляют приложение в случае сбоев.

Миграция из Oracle в Postgres Зачем переносить данные Тема переноса (миграции) данных из Oracle в Postgres набирает обороты. В РФ количество запросов по переходу на Postgres на волне импортозамещения, сейчас больше, чем когда либо. Oracle — очень качественный, мощный и отлично документированный инструме...

[Из песочницы] Начинаем работу с Google Sheets на Python. От регистрации до чтения данных Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака. Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным. Когда я впервые столкнулся с необходимостью работы c ...

[Перевод] Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама Хорошему программисту необходимо уметь совмещать свои навыки со здравым смыслом. Все дело в прагматизме и навыке выбора лучшего решения для вашей проблемы. Когда вы сталкиваетесь с проблемой при разработке ПО, вы можете воспользоваться базовыми принципами, которые помогут ...

[Перевод] Заменяем User Story на Job Story Всем привет. Перевели еще один интересный материал для студентов курса «Product Manager IT-проектов». Приятного прочтения Раньше, я уже писал о проблемах с user story (пользовательскими историями). В те времена я считал, что лучше просто попросить команду обсудить предлаг...

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

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

Созерцание великого фрактального подобия (с) «Галактика галактик» Фракталы — не просто красивое природное явление. Согласно проведенным исследованиям, рассматривание фрактальных структур на 60 % повышает стрессоустойчивость, измеряемую на основе физиологических показателей. При созерцании фракталов в лобной коре...

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

Как остаться в форме на карантине и заменить iMovie: что скачать в App Store Каждый день мы мониторим App Store и десятки сайтов со скидками, чтобы выбрать лучшие приложения и опубликовать и здесь. Сегодня вот можно урвать бесплатно приложение, которое поможет не превратиться в «пончик» во время карантина, полезный видеоредактор, ну и апок...

[Перевод] Аутентификация REST API с помощью Spring Security и MongoDB Всем привет! Уходя на выходные делимся с вами статьей, которая была переведена в преддверии старта курса «Разработчик на Spring Framework». В прошлых статьях мы создавали RESTful веб-сервис, теперь же мы поговорим о безопасности Вступление В предыдущем посте мы рассмотр...

Имитированые Cisco, идентичные натуральным Недавно я столкнулся с проблемой выбора среды для изучения некоторых фич маршрутизаторов Cisco. Раньше я пользовался GNS3, а сейчас решил посмотреть, что изменилось в мире. Как выяснилось, прогресс шагнул далеко вперёд. Погружаясь в пучину статей и форумов, я обнаружил что...

Навык поиска работы Есть много причин, почему классные разработчики часто долго не могут найти работу, а компании — классных разработчиков. Я хочу поговорить об одной из наиболее распространённых. Эта причина — абсолютно неправильный, деструктивный подход к проведению технических собеседований...

/proc/meminfo + gawk = удобный JSON для discovery метрик в zabbix В работе над одной задачей понадобилось добавить в мониторинг все счетчики памяти находящиеся в /proc/meminfoПосле создания шаблона, создавать руками каждую метрику и настроить опрос ее с хоста мне показалось полным отстоем, так как сейчас можно делать один запрос к хосту по...

Основы Unity + Mirror Хочу немного поделиться опытом для тех, кто хочет попробовать себя в написании сетевой игры, но не знает с чего начать. Так как информации по этой теме в интернете много, но полезную и актуальную было найти тяжело (а в русскоязычном сегменте и подавно), я решил собрал и стру...

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

[Перевод] Создание Minecraft за одну неделю на C++ и Vulkan Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движке на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, и...

V&V не значит вендетта На протяжении последних шести лет я занимаюсь разработкой и приёмочным тестированием самых разных по сложности и размеру приложений для проведения и сопровождения клинических исследований. Big data, огромное количество визуализаций и представлений, хранилища данных, ETL и ...

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

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

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

Где скачать обновлённую Google Camera 7.4 и Play Store 20.5.19 Если вы следите за тем, чтобы ПО вашего смартфона всегда было в актуальном состоянии, подсказываем, что пора обновить два очень важных приложения. Google Camera окажется полезной для тех, кто хочет высокое качество фото. Посмотрите, мы сравнивали фотографии сделанные с пом...

10 худших новогодних подарков: на что лучше не тратить деньги Если не хотите испортить близким праздничное настроение, изучите этот антирейтинг перед походом в магазин.

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

[Перевод] Как импортировать существующие виртуальные машины VMWare в Terraform Terraform — это потрясающее средство для автоматизации управления инфраструктурой. Все параметры вашей инфраструктуры можно записать в виде кода, который будет обслуживаться соответствующей группой. Это означает, что ваша инфраструктура будет прозрачной и не будет подве...

Как проверить IPS? Infection Monkey vs Check Point Три года назад мы публиковали статью “Online инструменты для простейшего Pentest-а”. Там мы рассказали про доступные и быстрые способы проверки защиты вашего периметра сети с помощью таких инструментов как Check Point CheckMe, Fortinet Test Your Metal и т.д. Но иногда треб...

[Из песочницы] Изготовление мини ПК на APU Ryzen или компьютер дальнобойщика Здравствуйте, уважаемое сообщество. В этой статье хочу поделиться своей последней разработкой – небольшого компьютера для работы и отдыха. Техническое задание Компьютер должен быть установлен в грузовом а.м. Volvo E5, место установки (ниша под торпеду) имеет размеры Ш*Г*В...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

Заслуженная популярность в цифрах Всем привет! В прошлую пятницу мы решили узнать, какие функции браузера Vivaldi являются самым популярными у пользователей. Опросы были организованы по традиции в официальном блоге Vivaldi и на Хабре. Задание простое, незамысловатое, и, казалось бы никаких сюрпризов не до...

Инструментарий фронтенд-специалиста: полезные утилиты и фичи для ускорения разработки Прошли те времена, когда фронтендеру достаточно было открыть «Блокнот», написать несколько строк кода, проверить его в браузере и загрузить на сервер через FTP. Современная разработка пользовательского интерфейса сильно усложнилась. Экосистема JavaScript растет и изменяетс...

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

KB4532695 вызывает BSOD у некоторых пользователей в Windows 10 Для некоторых пользователей дополнительное накопительное обновление Windows 10 KB4532695 вызывает синий экран смерти или критические ошибки BSOD. По словам пользователей Windows 10, обновление также вызывает проблемы со звуком на рабочих столах. Для некоторого фона последнее...

MyApp extends Holiday Я уверен, что среди уважаемой аудитории найдутся те, кто меня поймет. Дело в том, что во всем изобилии популярных библиотек и фреймворков для веб-фронтэнда, лично мне, не нравятся, практически, все альтернативы. В каждом из вариантов я нахожу для себя существенные минусы, к...

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

Управление системой NooLite через голосового помощника Алиса с помощью умного пульта Яндекса Я хочу рассказать о одном из способов управлять беспроводной электрикой NooLite с помощью голосового помощника и смартфона (плюс как бонус с компьютера или любого ИК-пульта без Интернет-шлюза). Вся электрика в квартире и на даче у меня построена на системе NooLite. Почему и...

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

[Перевод] Не стоит пользоваться OFFSET и LIMIT в запросах с разбиением на страницы Прошли те дни, когда не надо было беспокоиться об оптимизации производительности баз данных. Время не стоит на месте. Каждый новый бизнесмен из сферы высоких технологий хочет создать очередной Facebook, стремясь при этом собирать все данные, до которых может дотянуться. Эти ...

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

Почему не все ошибки надо исправлять, чтобы сделать ИТ-продукт лучше Данный материал подготовлен нашим партнером — компанией «Эквио». 2+2=3 2+2=5 2+2=4 Покупая ИТ-продукт для решения тех или иных корпоративных задач, бизнес-заказчики чаще всего задумываются о его стоимости, функциональности, удобстве, интеграционных возможностях и т.д. ...

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

[Перевод] Об утечках GDI и о важности удачи В мае 2019 года меня попросили взглянуть на потенциально опасный баг Chrome. Поначалу я диагностировал его как неважный, потратив таким образом впустую две недели. Позже, когда я вернулся к расследованию, он превратился в причину номер один вылетов процесса браузера в beta-...

Главное меню PlayStation 5 на примере ожидаемой игры The Last of Us Part II Первое, что увидят будущие покупатели PlayStation 5 при включении новой игровой консоли, это главное меню, которое являются важной частью каждой приставки. Дизайнер Павел Дурчок (Pawel Durczok) создал концептуальное видео, которое демонстрирует, как может выглядеть инт...

[Из песочницы] Ускорение сборки проекта на CMake+GCC: предварительная компиляция заголовочных файлов Есть несколько причин, почему проект на С++ в среднем собирается дольше сравнимых по величине проектов на других языках, например на Java или C#. Соответственно, есть и несколько способов уменьшить время сборки. Одним из самых известных является использование предварительной...

[Перевод] О 30-кратном увеличении параллелизма в Node.js Каков наилучший способ беспроблемного увеличения параллелизма в Node.js-сервисе, который используется в продакшне? Это — вопрос, на который моей команде понадобилось ответить пару месяцев назад. У нас запущено 4000 контейнеров Node (или «воркеров»), обеспечивающих работу на...

Тестирование «переплетением» – в 100 раз быстрее АБ теста А/Б тестирование – один из основных инструментов продакт менеджмента, пока еще не придумали более надежного и дешевого способа достоверно оценить влияние одного конкретного изменения на бизнес-метрики продукта, изолировав его от всех остальных факторов. В этой статье я хочу...

Packer, Terraform и Ansible: деплой кластера Kubernetes за час Привет, меня зовут Андрей Щукин, я помогаю крупным компаниям мигрировать сервисы и системы в Облако КРОК. Вместе с коллегами из компании Southbridge, которая проводит в учебном центре «Слёрм» курсы по Kubernetes, мы недавно провели вебинар для наших заказчиков. Я решил в...

BlaBlaCar запускает BlaBlaHelp Бесплатное мобильное приложение, которое объединяет пользователей BlaBlaCar с теми, кому нужна помощь с покупкой продуктов во время распространения Covid-19, сообщает ITbukva.com.В сегодняшней сложной ситуации, когда людей всего мира призывают находиться дома ради собственно...

Huawei представила свой поисковик на замену Google. Как им пользоваться Даже если вы не пользуетесь смартфонами Huawei, скорее всего, вы знаете, что AppGallery – это собственный магазин приложений китайской компании, который она запустила на замену Google Play. Несмотря на довольно широкий ассортимент, который за последний год сильно разросся, ...

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

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

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

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

Настроили мониторинг. Что дальше? Всем привет! Меня зовут Мазеин Михаил, я занимаюсь бекенд-разработкой в ManyChat. Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недо...

РИТ++ 2020: консультации с инженерами Авито в Зуме Привет, Хабр! 25 и 26 мая будет РИТ++. Это большая онлайн-конференция для всех, кто делает интернет. В обычных условиях мы бы встретились на стенде Авито в зале мероприятия, но 2020 перевернул всё с ног на голову. Так что общение переноситс...

Николай Петров: «OpenStreetMap — это такой проект, где не обязательно общаться с людьми» Николай Петров — разработчик сайтов и мобильных приложений из Пскова. Помимо этого, он рисует карту в OSM и поддерживает проект OpenRecycleMap, посвященный раздельному сбору мусора. Как школьники относятся к OSM, почему будущее за open source и отчего не стоит картировать п...

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

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

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

Самописный антиспам-сервис Gotoh, или как мы боролись за «белизну» IP-адресов Система антиспама в Selectel до самописного решения Привет, Хабр! Я Саша Федосеев, младший разработчик Python в Selectel. Несколько лет назад, когда наша компания начала особенно быстро расти, мы столкнулись с проблемой. Нашими ресурсами начали интересоваться всякие недобро...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

Избавляемся от паролей в репе с кодом с помощью HashiCorp Vault Dynamic Secrets Привет, Хабр! Меня зовут Сергей, я работаю IT Head в компании Quadcode. Сегодня хотел бы рассказать о том, как я решил проблему с хранением паролей в открытом виде в коде одного из моих pet-проектов. Думаю, это знакомая для многих ситуация. Знакомая — и неприятная. Сразу ска...

Как мы работаем с логами (сбор, хранение, анализ при помощи Graylog) Всем привет! В этой статье мы хотим поделиться нашим опытом использования полезной платформы Graylog, которая ежедневно помогает собирать, надежно хранить и анализировать логи с десятков серверов, окутанных заботой нашей поддержки :)Это первая часть статьи, в которой мы расс...

Создаем структуру простого мультиплатформенного бота Регистрация пользователей на мероприятия, автоматический поиск ответов в базе, общение с техподдержкой, обмен контактами — все это часть функций нашего бота Leader-ID. Он «живет» на трёх платформах: VK, Facebook Messenger и Telegram, при этом логика его работы пишется один р...

[Перевод - recovery mode ] Zettelkasten: как один немецкий учёный стал невероятно продуктивным Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хо...

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

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

Данные 235 миллионов аккаунтов Instagram, YouTube и TikTok утекли в сеть. Что делать? Простой пример: вы пристегнули велосипед на улице замком к фонарному столбу. В каком случае вероятность того, что его украдут будет выше, в этом, или если он хранится дома? Ответ очевиден и пусть пример немного грубый, но практически так и работает то, что ваши учетные данн...

Умные часы Fossil Gen 6 могут получить новый Snapdragon Wear 4100 Умные часы Fossil под управлением Wear OS прошли сертификацию FCC. Это может быть намек на то, что скоро появится шестое поколение устройства. Но будет ли оно использовать более быстрый Snapdragon Wear 4100? Когда компания Qualcomm представила Snapdragon Wear 4100, у любител...

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

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

[Перевод] Топология и комплексный анализ для ничего не подозревающего разработчика игр: сжатие единичных 3D-векторов Как вы уже могли понять из моих предыдущих статей, мне нравится использовать разработку игр как оправдание для демонстрации сложной математики, для которой в противном случае у большинства людей не было бы применения. И эта статья не исключение! Я хочу показать очень крутую...

Замощение доминошками Одна из первых действительно интересных задач по математике, с которыми я столкнулся формулируется так: "из шахматной доски вырезали две противоположные по диагонали угловые клетки, можно ли оставшуюся часть разрезать на "доминошки" — фигурки из двух клеток, у...

Интеграция интернет-магазина на 1С-Битрикс с Mindbox Для развития систем лояльности интернет-магазины обращаются к платформам автоматизации маркетинга, Customer Data Platform (CDP). При этом иногда для успешной интеграции нужно сохранять больше данных, чем указано в документации к API. Рассказываем, какие данные понадобились ...

Загрузка и сборка AOSP Решил поделиться своей инструкцией как собрать AOSP (Android Open Source Project). Эта инструкция будет полезна тем кто хочет посмотреть что-же внутри Android и возможно заняться системной разработкой. В любом случаи эти знания полезны для понимания самого Android, как раз д...

[Перевод] Перенос Quake 3 на Rust Наша команда Immunant любит Rust и активно работает над C2Rust — фреймворком миграции, берущим на себя всю рутину миграции на Rust. Мы стремимся автоматически вносить в преобразованный код на Rust улучшения безопасности и помогать программисту делать это самому, когда не сп...

Неочевидные факты о коллекциях в Magento 2 Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Сегодня мы рассмотрим коллекции в Magento 2 (далее — M2). Несмотря на кажущуюся простоту реализации и интуитивно понятное назначение, эта сущность таит в себе несколько неочевидных подводных камней, которые влияют на...

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

PostgreSQL Antipatterns: насколько глубока кроличья нора? пробежимся по иерархии В сложных ERP-системах многие сущности имеют иерархическую природу, когда однородные объекты выстраиваются в дерево отношений «предок — потомок» — это и организационная структура предприятия (все эти филиалы, отделы и рабочие группы), и каталог товаров, и участки работ, и ге...

Капля в море: Запуск Drupal в Kubernetes Я работаю в компании Initlab. Мы специализируемся на разработке и поддержке Drupal проектов. У нас есть продукт для быстрого создания Ecommerce решений, основанный на Drupal. В 2019 году мы начали решать задачу построения масштабируемой и отказоустойчивой инфраструктуры для...

Какие данные пользователей Android может тайно собирать TikTok Ох сколько было в последнее время сказано про TikTok. То скандалы с запретами на публикацию ”некрасивых людей”, но скандалы, связанные с пропагандой насилия или накручиванием рейтинга в Google Play. Теперь во многих странах говорят, что сервис собирает слишком много информа...

Обновление прошивки PRUSA I4 by China Всем душевный привет!Я неделю назад купил себе бу прушу и столкнулся с проблемой, что принтер не видит SD карту, перепробывал кучу вариантов, но решение нашел не самое хардкорное, но стопроцентное - это покупка RepRap display 2004. Все стало работать, карточку видит. Пока ис...

Инвесторы урезали годовую премию Тима Кука. Он получил на 10 миллионов меньше Тим Кук заработал меньше, чем годом ранее, и на это были причины Наверное, все слышали байку о том, что ежегодная зарплата Стива Джобса на посту генерального директора Apple равнялась одному доллару. Понятное дело, что у него не было недостатка в ценных бумагах компании, а п...

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

[Перевод] Интеграция CI/CD для нескольких сред с Jenkins и Fastlane. Часть 2 В преддверии старта курса "iOS Developer. Basic" продолжаем публиковать серию полезных переводов, а также приглашаем записаться на бесплатный демо-урок по теме: "Result Type".Внедрение технологий непрерывной интеграции (Continuous Integration - CI) и непрерывного р...

Корпоративные телефоны каждому из 31 тысячи сотрудников У каждого сотрудника Леруа Мерлен есть корпоративный телефон. Там два слота под симки: один — под корпоративную с пакетом в 100 минут и трафиком для корпоративных приложений и 3 Гб на мобильный интернет-трафик, во второй можно втыкать личную. На телефонах — мессенджеры, соцс...

[Из песочницы] Как собирать проекты в Jenkins, если нужно много разных окружений На Хабре много статей о Jenkins, но мало где описывается пример работы Jenkins и докер агентов. Все популярные инструменты сборки проектов типа Drone.io, Bitbucket Pipeline, GitLab, GitHub actions и другие, могут собирать все в контейнерах. Но как же Jenkins? На сегодняшний...

[Из песочницы] Умеем ли мы готовить Java, Kotlin RestController? Практически любой программист на java в своей жизни писал RestController, но мало кто задумывается правильно ли он это делает. Даже если вы опытный программист, у вас могут возникнуть вопросы на которые я постараюсь ответить. В статье будут затронуты такие фреймворки как spr...

[Перевод] Крутые Data Scientist не тратят время на статистику Недавно я узнала, что один мой хороший друг получил докторскую степень по статистике, при этом он даже никогда не думал над вопросом: а какой собственно прок от статистики? О боже. Если не знаешь — для чего, тогда и не знаешь — нужно ли оно тебе. И раз профессорам это не о...

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

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

[Перевод] Node.js, Tor, Puppeteer и Cheerio: анонимный веб-скрапинг Веб-скрапинг — это метод сбора данных с веб-сайтов. Этот термин обычно используется в применении к автоматизированному сбору данных. Сегодня мы поговорим о том, как собирать данные с сайтов анонимно. Причина, по которой некто может захотеть анонимности в деле веб-скрапинга, ...

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

Популярные ошибки в английском среди IT-специалистов. Часть 2: Произношение Моя статья «Популярные ошибки в английском среди IT-специалистов» собрала много комментариев с полезными дополнениями. И я решила выпустить вторую часть, теперь посвященную Произношению. Читать дальше →

[Перевод] DNS-поиск в Kubernetes Прим. перев.: Проблема DNS в Kubernetes, а точнее — настройки параметра ndots, — на удивление популярна, причём уже не первый год. В очередной заметке по этой теме её автор — DevOps-инженер из крупной брокерской компании в Индии — в весьма простой и лаконичной манере рассказ...

Логирование запросов к приложению Django Привет, меня зовут Дмитрий Чернышов, я ведущий разработчик компании «БАРС Груп». Последние несколько лет среди прочих задач нам в команде приходится сталкиваться с необходимостью анализа производительности приложений на Django с большим количеством пользователей и постоянн...

Топ 10 ошибок в проектах Java за 2019 год 2019 год подходит к концу, и команда PVS-Studio подводит итоги уходящего года. В начале 2019 года мы расширили возможности анализатора, поддержав язык Java. Поэтому список наших публикаций про проверку открытых проектов пополнился обзорами Java проектов. За год было найдено...

История одного патча Apple В этом году мы с a1exdandy выступали на конференциях VolgaCTF и KazHackStan с докладом про Patch Diffing программ написанных на Оbjective-С и то, как с его помощью можно искать и находить 0-day и 1-day уязвимости в продуктах компании Apple. Видео выступления можно посмотрет...

Azure SDK for .NET: история о непростом поиске ошибок Когда мы решили поискать ошибки в проекте Azure SDK for .NET, то были приятно удивлены его размером. «Три с половиной миллиона строк кода», — приговаривали мы, изучая статистику проекта. Это сколько же там всего можно найти. Но, увы и ах. Проект оказался с секретом. Какова ...

Разработчики Perekrestok.ru. Что мы делаем и кого ищем в команды Сегодня мы хотим поговорить о найме людей в IT-команды онлайн-супермаркета Perekrestok.ru и о том, как устроена наша работа «внутри». Ритейл – отрасль со своей интересной спецификой, а сейчас в том числе и от нашей работы зависит, будут ли тысячи людей каждый день обеспечены...

Запускаем трансфлективный TFT дисплей на SSD1283A с помощью STM32 Введение Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является транфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой о...

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

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

Мониторим основные сервисы в AWS с Prometheus и exporter’ами для CloudWatch Если вы используете в облачных провайдерах managed-инсталляции серверных служб вроде RDS или ElastiCache от AWS, то несомненно задавались темой мониторинга инфраструктуры, а главное — оповещений по произошедшим инцидентам. При реализации возникают понятные вопросы: Как можно...

Microsoft прекратит поддержку своих приложений для Windows 10 Mobile Медленное "уничтожение" Microsoft Windows 10 Mobile будет продолжаться до января 2021 года - даты, когда заканчивается поддержка собственных приложений Office, сообщает ITbukva.com.Еще в июле 2017 года Microsoft официально отключила Windows Phone, и ее внимание к Windows 10 ...

OSINT в Telegram Протокол Telegram известен своей доступностью и открытостью. У него есть множество публичных реализаций: tdlib/td, rubenlagus/TelegramApi, vysheng/tg, LonamiWebs/Telethon и другие. Однако, даже имея в распоряжении столь богатый инструментарий и объемную документацию (https...

Прощай, OS Windows 10 Mobile Есть еще особый вид пользователей, которым все еще нравятся, и они пользуются виндофонами. Их немного, но они есть. Вчера для них наступил черный день. Microsoft прекратила поддержку OS Windows 10 Mobile. Ушла целая эпоха и жизненный цикл прошивки Microsoft завершен.   ...

Каталог модной одежды от Apple 1986 года В истории компании Apple, которой 1 апреля 2020 года исполнится 44 года, можно отыскать не мало прелюбопытнейших фактов. Например, мало кто знает, что любовь к совершенному дизайну в одно время настолько овладела руководителями компании, что они даже решили выпустить каталог...

[Перевод] Проектируем bounded context с помощью Bounded Context Canvas: рецепт воркшопа Среди тем предстоящей конференции TechLead Conf 2020 будет детальное обсуждение Domain-Driven Design и EventStorming. Помимо подготовки 2-слотового доклада Константина Густова о DDD, доклада Сергея Баранова об EventStorming и митапа, во время которого мы будем создавать DDD-...

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

Обходим запрет messages API Вконтакте через Python Привет, Хабр. В своей предыдущей статье я рассказал о возможности доступа к методам раздела messages через документацию, для чего достаточно было лишь авторизоваться на сайте ВК. Многие тогда заявили, что это не является угрозой личным данным пользователей, а невозможность в...

Инди-приключение Forager теперь точно доступно на iOS, немного информации про Android-версию На прошлой неделе мы писали о том, что разработчик HopFrog готовится выпустить инди-приключение под названием Forager на iOS раньше намеченного срока (2021 год). Но по какой-то причине после этого релиз оттянули на неопределённый срок. Теперь же мы можем сказать с уверенност...

[Из песочницы] Почему в 2020 году мы по-прежнему выбираем Ruby? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why is Ruby still our choice in 2020?» автора Vira Vashkovska. Мы — опытная команда Ruby on Rails разработчиков. Некоторые из нас занимаются разработкой на Ruby уже многие годы и знают его как свои пять пальцев. Вот ...

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

Как на Android проверить расход оперативной памяти У современных Android-смартфонов уже давно нет проблем с оперативной памятью. Постепенно стало нормой, чтобы аппарат имел 8 и даже 12 ГБ. В принципе, бывает и больше, но даже самые отъявленные гики пока не представляют, куда можно применить такой большой объём ОЗУ. Всё-таки...

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

[Перевод] Построение кластеров Kubernetes средствами самого Kubernetes Думаете, я сошел с ума? Я уже сталкивался с такой реакцией, когда впервые предложил развертывать кластеры Kubernetes с помощью Kubernetes.Но я убежден, что для автоматизации облачной инфраструктуры нет более эффективного инструмента, чем сам Kubernetes. С помощью одного...

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

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

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

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

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

[Перевод] Используем Chrome DevTools профессионально И снова здравствуйте. В преддверии старта курса «JavaScript Developer. Professional» перевели 11 советов для тех, кто использует Chrome в качестве среды разработки. Итак, по тем или иным причинам вы решили при разработке ориентироваться на Chrome. Вы открываете инструмент...

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

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

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

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

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

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

16 советов по разработке для Android на языке Kotlin. Часть 1 Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работ...

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

[Из песочницы] RPA | Роботизация процессов глазами аналитика Последние полтора года я занимаюсь внедрением и развитием в компании блока RPA на одной из популярных платформ. Четкого проекта внедрения не было: руководство подсмотрело у дружественных организаций "модную" технологию, дало мне задачу прощупать тему и бросило под...

[Из песочницы] Тестирование JavaScript кода с Jest для чайников. Часть 1 Здравствуй, Хабр! Данное руководство является первой частью в запланированном цикле статей про такой замечательный фреймворк для тестирования как Jest. Материал будет полезен новичкам и тем, кто только знакомится с тестированием, и хотел бы изучить этот фреймворк. В первой ч...

OSINT или как посмотреть на свою сеть глазами хакера Добрый день! Сегодня я вам расскажу какую информацию об организации можно обнаружить в открытых источниках и как ей может воспользоваться потенциальный злоумышленник. Многие из вас наверняка слышали об OSINT (Open Source INTelligence, перечень мероприятий, направленный на ...

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

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

Asciidoc для подготовки сложной документации В заголовке использовано слово сложной, под которым можно понимать все, что угодно. Утверждение о том, что 2 * 2 = 4, если вдуматься, тоже очень не просто. Но в данном случае всё банальнее. Речь идёт о ЕСКД, ГОСТ, ОСТ и тому подобных скучных терминах, отягчаемых бюрократиче...

[Перевод] Переход с reCAPTCHA на hCaptcha в Cloudflare Компания Cloudflare сообщила о том, что она недавно перешла с использования сервиса reCAPTCHA, предоставляемого Google, на сервис hCaptcha, который поддерживает компания Intuition Machines. В Cloudflare очень рады тому, что им удалось совершить этот переход, так как он спо...

Нам мало CAP. Да здравствует PACELC Если вы когда-нибудь сталкивались с распределёнными СУБД или системами обработки данных, то слышали о двух теоремах CAP и PACELC, определяющих грани возможных конфигураций этих систем. Споры об их универсальности не утихают до сих пор, однако, альтернативы, способные полнос...

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

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 6. Запуск приложения Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Как стать DevOps инженером за полгода или даже быстрее. Часть 2. Конфигурирование Как стать DevOps инженером за полгода или даже быстрее. Часть 3. Версии Как стать DevOps инженером за полгода или даж...

Почему мои коллеги/сотрудники ведут себя как @%§? Не за горами очередной старт курса для руководителей разработки «Team Lead 2.0». В связи с этим мы провели открытый урок под названием «Почему мои коллеги/сотрудники ведут себя как @%§?». На вебинаре поговорили о том, что заставляет людей вести себя некорректно, почему люди ...

Настройка GeoIP ACL в HAProxy в два шага Hello Planets by Augustinas Raginskis Иногда возникает задача управления трафиком в зависимости от географического положения клиента. Возможные области применения — блокировка некоторых локаций либо перенаправление трафика на итоговый сервер в зависимости от локации клиент...

KeyDB как [потенциальная] замена Redis На хабре не нашлось обзоров «более быстрой альтернативы Redis» — KeyDB. Получив достаточно свежий опыт его использования, хочется восполнить этот пробел. Предыстория достаточно банальна: однажды с большим наплывом трафика была зафиксирована значительная деградация произво...

Делюсь небольшим, но полезным плагином: Deeplink Helper для Android Studio DRY. Don’t Repeat Yourself. Принцип, призывающий разработчика не дублировать код. DRY часто можно распространить шире, не только на код. Сегодня расскажу о личном проекте, который уже помог мне и другим разработчикам избавиться от последовательности рутинных действий при раз...

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

Варианты загрузки Windows 10 May 2020 Update Ещё в декабре прошлого года Microsoft завершила основной этап разработки нового функционального обновления для Windows 10 под названием May 2020 Update, и теперь, после длительного тестирования на инсайдерах, готова начать распространение новой версии операционной системы с...

Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные Так выглядит избыточность. Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранил...

«Есть тема!»: 7 шагов, которые помогут вам дружить с медиа Почему массовые рассылки не работают, а длинные пресс-релизы журналисты и вовсе не читают? Как найти подход к конкретной редакции, обращаться к ней с интересным и полезным контентом и выстраивать доверительные взаимоотношения с журналистами? Об этом 22 мая на вебинаре расс...

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

[recovery mode] DevOps: автоматизация инфраструктуры на примере Terraform, docker, bash, prometheus exporters, Gitlab и WireGuard Всем привет.Есть такие люди, которые работают с облачной инфраструктурой и не используют автоматизацию, потому что это долго, нужно вникать, а им надо фичи пилить. Накликали что-то там в UI, подключились по ssh, поставили всякого с помощью apt и т.д. и конфигурационные файлы...

[Из песочницы] Бакалавриат в США: Нетрадиционный путь в топ-вузики Прочитала я пару статей на хабре после того как прошла по ссылке со стороннего ресурса и мне как-то грустно стало так как я сама учусь в топ-университете в США и знаю нескольких из России. habr.com/ru/post/469275 habr.com/ru/post/230789 Однако, моя история не совсем станд...

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

Циклоидальный редуктор для шагового двигателя NEMA 17 Всем привет!     В этом видео я покажу, как создавал 3D модель циклоидального редуктора и какие инструменты при этом использовал.      Большое спасибо Youtube каналу "Сергей Дорош".  Если хотите посмотреть на работу данного редуктора, то ссылка на нее находится у меня на кан...

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

Координаты места на карте при помощи iPhone: как найти и поделиться Вы когда-либо находили интересную локацию или точку на карте (например, место предстоящей встречи), координатами который хотели бы поделиться с другими? При помощи приложения «Карты» в iPhone или iPad вы можете обозначить место на карте и поделиться точным местоположением со...

Как сделать все иконки в macOS Big Sur ровными и аккуратными за 5 минут   Одним из самых заметных изменений в macOS Big Sur являются новые иконки, которые теперь выполнены в едином стиле. К сожалению, не все разработчики успели обновить приложения и добавить новые иконки. Для тех, кто не хочет дожидаться апдейтов, сейчас расскажем, гд...

Представляем Quarkly – инструмент для react-разработчиков и дизайнеров, который поможет оптимизировать вашу разработку Всем привет! Идеологически Quarkly – это проект, который призван упростить жизнь веб-разработчикам и веб-дизайнерам. В этом посте я коротко расскажу, за счет чего это возможно. Прежде всего, давайте посмотрим, как выглядит типичный цикл разработки веб-приложения в 2020 году?...

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

История человека, чувствительного к электромагнитному излучению, или как мы щупаем край обрыва… Часть 1 С этой впечатлившей меня драматичной историей я познакомился довольно банально. Находясь по делам в Калифорнии, я написал человеку, что хотел бы с ним встретиться по работе. Он ответил, мы договорились о дне, месте и времени. Какая-то кафешка в паре километров от гостиницы,...

[Из песочницы] Критерии оценки российских BI-систем Я уже много лет возглавляю компанию, являющуюся одним из лидеров по внедрению BI-систем в России и регулярно входящую в топ-списки аналитиков по объему бизнеса в области BI. За время работы я участвовал во внедрении BI-систем в компаниях из различных областей экономики – от ...

Топ-3 HTML-элемента, которые мы забыли Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 3 HTML elements that we forgot» автора Stas Melnikov. Недавно я прочитал спецификации и понял, что мы используем ограниченный набор HTML-элементов. Поэтому хотел бы рассказать о трёх элементах, которые мы забыли,...

Тестирование. Ошибки при сертификации ISTQB или решаем миллион примеров “Я проклял эту книгу, лишь только год прошел, Но теперь я шарю, и шарю хорошо! Мы миллион решили этих чертовых примеров. Да, есть железо в яйцах советских инженеров!” Научно-технический рэп– “Демидович” Статья полезна тем, кому не безразлична их квалификация и хочется по...

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

[Перевод] Неоморфизм с помощью SwiftUI. Часть 1 Салют, хабровчане! В преддверии старта продвинутого курса «Разработчик IOS» мы подготовили еще один интересный перевод. Неоморфный дизайн — это, пожалуй, самый интересный тренд последних месяцев, хотя, по правде говоря, Apple использовала его в качестве своего дизайнерског...

64% россиян пытались удалять информацию о себе с сайтов или из социальных сетей Также в ходе опроса выяснилось, что почти каждый пятый пользователь (18%) находил в сети некую информацию о себе или своих близких, которую он бы предпочёл не видеть в открытом доступе.Что касается основных причин, по которым пользователи предпринимают попытки скрыть свои де...

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

Хакеры стали брать больше денег за взлом iPhone, потому что Apple усилила защиту Несмотря на то что искоренить джейлбрейк полностью Apple пока не удалось, за последнее время компания серьёзно повысила уровень безопасности iPhone. Об этом свидетельствует повышение закупочной цены инструмента для взлома смартфонов от компании GrayShift. Как сообщил Mother...

Распознавание цифровых схем. Обобщённый С-элемент Александр Кушнеров 18.12.2019 Даже опытному инженеру иногда сложно сделать разводку схемы так, чтобы дорожки (или провода) не мешали её правильной работе. В первом приближении, на качество разводки влияет расположение и количество узлов, какие именно провода соединены в каж...

Wapiti — тестирование сайта на уязвимости своими силами В прошлой статье мы рассказали о бесплатном инструменте для защиты сайтов и API от хакерских атак, а в этой решили сделать обзор популярного сканера уязвимостей Wapiti. Сканирование сайта на уязвимости — необходимая мера, которая, вкупе с анализом исходного кода, позволяет ...

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

Книга «Ловушка для багов. Полевое руководство по веб-хакингу» Привет, Хаброжители! «Чтобы чему-то научиться, надо применять знания на практике. Именно так мы освоили ремесло взлома» — Майкл Принс и Йоберт Абма, соучредители HackerOne. «Ловушка для багов» познакомит вас с белым хакингом — поиском уязвимостей в системе безопасности. Нев...

[Перевод] Prometheus: мониторинг HTTP через Blackbox экспортер Всем привет. В мае OTUS запускает практикум по мониторингу и логированию, как инфраструктуры так и приложений с помощью Zabbix, Prometheus, Grafana и ELK. В связи с этим традиционно делимся полезным материалом по теме. Blackbox экспортер для Prometheus позволяет реализоват...

Гайд по FIFA Mobile 21: Как быстро заработать монеты без читов и накрутки FIFA Mobile любит две вещи: ваше время и ваши деньги. Как вы знаете, в игре есть две валюты: монеты и Points. Одна «бесплатная», а другая — премиальная. В самом начале нам дают 1 000 Points, но это одноразовая акция, поэтому если не хотите тратить свои кровные, упритесь взгл...

Метрики — индикаторы здоровья проекта В IT здоровый проект — это система или сервис, который, с одной стороны, качественный, то есть соответствует требованиям и нравится пользователям. С другой стороны, приносит прибыль, потому что бизнес всегда на самом деле хочет зарабатывать деньги. Без связки качества и бизн...

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

В Black Desert Mobile появились Созвездия и сбор Звёздных плит, разбираемся вместе Издатель Pearl Abyss решил обновить Black Desert Mobile. В игру добавили три новых Созвездия, прохождение которых даст буст к вашему основному персонажу и альтам. Какие должны быть условия для открытия Созвездий? Во-первых, это БС 55 000 или выше. Также надо завершить квесты...

Первый опыт сборки шагающего робота. Quadruped Robot     Планы для данного проекта давно крутились в голове и были следующие:1. Найти готовый проект шагающего робота, работающего на плате Arduino.2. Управление роботом должно осуществляться с телефона.3. Посмотреть на узлы соединения деталей и изучить механику робота.4. Поработ...

[Перевод] Интерактивная визуализация данных при помощи Plotly: строим красивые графики с Express и Cufflinks Если Вы все еще используете Matplotlib для создания графиков в Python, самое время взглянуть на мир с высоты альтернативной библиотеки интерактивной визуализации. Plotly позволяет создавать красивые, интерактивные, экспортируемые графики с помощью всего нескольких строк к...

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

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

Использование Graylog и NLog для сбора логов от приложений на C#. Личный опыт КДПВ Хабр, приветствую! Описанное ниже ни в коем случае не tutorial или best practice. Я решил всего лишь агрегировать и задокументировать свои достижения в поставленном вопросе. Надеюсь, содержимое данной статьи позволит ищущим информацию по логированию почерпнуть что-т...

Mozilla обвиняет плагины Avast в сборе пользовательских данных Группа Mozilla приняла решение удалить продукты Avast и AVG из репозитория дополнений своего браузера после того, как был выявлен сбор большого количества пользовательских данных.

Что влияет на выдачу кредита. Обзор соревнования Home Credit Default Risk Рассмотрим, как работают алгоритмы в банковском скоринге, какие метрики используются и какие параметры заемщика влияют на то, выдадут кредит или нет. В статье описывается прошедший конкурс с kaggle по предсказанию вероятности дефолта и приводятся влияющие на риск дефолта пар...

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

Нетривиальные анимации в SwiftUI Идея На WWDC 2019 была представлена SwiftUI — технология коренным образом влияющая на создание UI в приложениях для экосистемы Apple. Нам в Distillery стало интересно в ней разобраться чуть глубже, чем это подано в примерах от Apple. В идеале нужно было запилить какой-нибудь...

Наша с девушкой первая видеоигра. Разработка на Unity. Часть 2 У-у-у… Кто обитает на дне океана? Cubicity — квадратная игра. Привет всем, кто ждал продолжения первой части нашей статьи. Настало время подвести итоги релиза Cubicity. Это был долгий путь с довольно полезным хоть и местами болезненным опытом, которым хотим с вами поделитьс...

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

3 функции приложения Фото на iPhone, которые упростили мне жизнь В iOS 13 одно из самых масштабных преображений произошло с приложением «Фото». Появилось много новых функций, причем некоторые Apple спрятала так сильно, что об их существовании знают далеко не все. И даже если тот или иной пункт меню находится прямо на виду, им почему-то н...

[Из песочницы] Особенности установления соединения между участниками сетевой игры типа «равный к равному» Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP. Статья расчитана на начинающих разработчиков игр. Попытался написать такую ...

RealWorld: aiohttp, Tortoise ORM RealWorld: aiohttp, Tortoise ORM На Real World отсутствует пример для aiohttp, и я решил его сделать. Опытным разработчикам, похоже, некогда этим заниматься, а начинающим в aiohttp непонятно как делать правильно. Я начал его делать с помощью Tortoise ORM. Пока начал делать а...

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

Новый умный гаджет Xiaomi оказался настоящим хитом Некоторое время назад, компания Xiaomi запустила на фирменной платформе коллективного финансирования Youpin кампанию по сбору средств на новое умное устройство для цифрового дома — видеоглазок Chuangmi Smart Cat Eye.  Такое устройство предлагается за 52 долл...

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

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

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

Что бы я хотел знать когда начинал изучать Django? — очень общий взгляд Здесь на Хабре много различных инструкций по использованию Django. Эти инструкции часто включают много кода и представляют последовательность шагов, которые нужно сделать, чтобы создать проект. Когда я начинал изучать Django и Wagtail по таким инструкциям, меня часто смущал...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

Книга «Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений» Любой программист, работающий с языком с динамической типизацией, подтвердит, что задача масштабирования кода невероятно сложна и требует большой команды инженеров. Вот почему Facebook, Google и Microsoft придумали статическую типизацию для динамически типизированного кода....

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

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

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

[Перевод] Структуры данных и алгоритмы, которыми я пользовался, работая в технологических компаниях Пользуетесь ли вы структурами данных и алгоритмами в повседневной работе? Я обратил внимание на то, что всё больше и больше людей считает алгоритмы чем-то таким, чем, без особой связи с реальностью, технические компании, лишь по собственной прихоти, интересуются на собеседов...

DevOps-инженеров не существует. Кто тогда существует, и что с этим делать? В последнее время такие объявления заполонили интернет. Несмотря на приятную зарплату, не может не смущать, что внутри написана дикая ересь. Вначале предполагается, что «DevOps» и «инженер» можно каким-то образом склеить вместе в одно слово, а далее идет рандомный список тр...

[Перевод] Как достичь Уровня 5 по модели CMM в области QA и тестирования Перевод статьи подготовлен специально для студентов курса Python QA Engineer. В этой статье мы поговорим о том, что такое уровни СММ и как их достичь в QA-процессах, а также рассмотрим доступные и понятные примеры. Для любого процесса, будь то процесс контроля качества,...

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

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

Почему Google не стоит лезть на рынок премиальных смартфонов Google стоит зациклиться на среднебюджетных телефонах Google — компания захватившая Интернет с помощью программного обеспечения. Она предлагает сервисы, которыми пользуется, вероятно, каждый человек. Это Поиск Google, Android, Google Play и так далее. С выходом Nexus в...

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

Лучшая клавиатура. Razer Cynosa Chroma Black USB Defender Werewolf GK-120DL RU RGB Начнем с достаточно доступной клавиатуры Defender Werewolf GK-120DL RU RGB, которая является мембранной и не может похвастаться дорогими механическими переключателями. С другой стороны, если вы хотите купить недорогое решение, то зачем т...

Sony запатентовала сенсор сбора данных пользователей через хват DualShock 5 Согласно информации портала RespawnFirst, Sony Interactive Entertainment зарегистрировала новый патент на интересную функцию контроллера DualShock — сенсор по сбору информации с рук пользователя.

Спринт-пульс: выстраиваем эффективную работу внутри большой команды Спринт-пульс — это дополнительный инструмент, который может использовать Scrum-команда для организации процесса внутри спринта. Он помогает настроить работу в команде и экономит время на погружение новых специалистов. Как его применять, рассказывает железный project-manager ...

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

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

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

IDA Pro и техники реверс-инжиниринга 0x00 start ; {EN} entry point, do nothing, just run _main {EN} Статья для начинающих “воинов тьмы”, тех, кто хочет погрузиться в темную сторону силы: реверс-инжиниринг. На нашем “операционном столе” будет небольшой кустарный сервер, который работает по протоколу TCP/IP. Для ...

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

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

Практика использования Spark SQL или как не наступить на грабли Если вы работаете с SQL, то вам это будет нужно очень скоро. Apache Spark – это один из инструментов, входящих в экосистему Hadoop, который обрабатывает данные в оперативной памяти. Одним из его расширений является Spark SQL, позволяющий выполнять SQL-запросы над данными. Sp...

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

В Санкт-Петербурге пройдет хакатон о главных вызовах десятилетия Приглашаем 15–16 февраля 2020 года принять участие в хакатоне «Прожектор2020» о главных вызовах и общественных проблемах десятилетия. Участники создадут приложения, сервисы, проведут исследования и расследования на основе данных и задач, предложенных некоммерческими организ...

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

Kaspresso tutorials. Часть 1. Запуск первого теста Всем привет! Мы запускаем большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Статьи планируются разного уровня сложности: первые материалы будут рассчитаны на  людей, которые никогда не программировали и ничего не автоматизировали, ...

Начало кастома мотоцикла, проба пера. Решил для начала немного поменять стандартные поворотники на хвосте мотоцикла на что-то  своё. В итоге спустя несколько попыток и перепроектирования получились первые образцы. Сначала конечно получилось громоздко и не очень село на штатное место (не очень удачно перенёс форм...

Использование партиционирования в MySQL для Zabbix с большим количеством объектов мониторинга Для мониторинга серверов и служб у нас давно, и все еще успешно, используется комбинированное решение на базе Nagios и Munin. Однако эта связка имеет ряд недостатков, поэтому мы, как и многие, активно эксплуатируем Zabbix. В этой статье мы расскажем о том, как минимальными у...

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

Быстрые и эффективные способы получить алмазы в Free Fire Хотели вы когда-нибудь получить много алмазов в королевской битве Free Fire? Предвкушая ответ, можем вас обрадовать, ведь в этой статьей мы расскажем о самых эффективных способах сделать это как за вкладывание реальных денег, так и совершенно бесплатно. Но почему игроку нужн...

1000 и 1 пост: с Днём рождения, Хабр ❤ 26 мая — День рождения Хабра. А ещё вышла наша 1000-ая публикация, которой могло бы не быть, если бы Хабр не был тем, который он есть. В этой статье мы расскажем о нашем пути и о наших выводах, которые удалось сделать за 4 года ведения блога. Но это ниже, под катом. А здесь ...

опыт сын ошибок трудных или первый большой проект несколько месяцев назад наконец то купил долгожданный принтер Ender 5. сначала хотел TEVO TORNADO, но были проблемы с доставкой и отправкой и продавец повел себя очень не красиво и я на TEVO обиделся). первое время примерялся, прицеливался, настраивался. Изучал, читал, смотр...

readable — еще один линтер для PHP Хочу представить линтер для PHP readable. Сейчас в нем 16 правил, которые должны улучшить читабельность кода. К основным преимуществам можно отнести: скорость — меньше секунды на 1000 файлов настройка baseline — можно не исправлять все ошибки в проекте сразу, а создать конф...

СЕО «Моторики» Илья Чех: Иногда от экспериментальных протезов ждут идеальной работы, а потом разочаровываются Часто от протеза ждут чуда, а получают просто продукт новейших технологических достижений. Все больше людей становятся обладателями биопротезов, но если раньше основные ожидания для такого рода гаджетов были удобство и базовая функциональность, которая отсутствует у космети...

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

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

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

[Перевод] Лучшие 10 хитростей и советов по Kubernetes В интернете много справочной литературы, но иногда самыми ценными становятся самые простые советы. Команда Kubernetes aaS от Mail.ru перевела подборку из десяти хитростей и советов, которые автор статьи собрала после года работы с Kubernetes. Советы не отсортированы по важ...

GMB позволил добавлять в профили ссылки для сбора пожертвований Google объявил, что пользователи сервиса My Business теперь смогут добавлять в свои профили ссылки для получения финансовой поддержки. Первыми доступ к новой опции получат компании в США, Канаде, Великобритании, Ирландии, Австралии и Новой Зеландии. С помощью новой функции в...

[Перевод] Пишем интерпретатор BASIC в стиле 80-х В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным ...

CLIENT SERVICE FORUM 2021 VI Всероссийский форум по клиентскому сервису Шок от потрясений 2020 года пройдет и то, что казалось немыслимым перейдет в разряд повседневного. За это время многие компании приобрели бесценный опыт тактических антикризисных действий – те, кто смогли быстро сориентироваться и поддержать клиентов в сложившихся обстоятель...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)