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

Книга «Паттерны объектно-ориентированного проектирования» Привет, Хаброжители! Больше 25 лет прошло с момента выхода первого тиража книги Design Patterns. За это время книга из популярной превратилась в культовую. Во всем мире ее рекомендуют прочитать каждому, кто хочет связать жизнь с информационными технологиями и программирован...

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

Книга «Паттерны Kubernetes: Шаблоны разработки собственных облачных приложений» Привет, Хаброжители! С развитием микросервисов и контейнеров изменились подходы к проектированию, созданию и запуску программного обеспечения. Познакомьтесь с новыми паттернами и принципами разработки, которые нужны для реализации облачных приложений в Kubernetes. Эта книг...

Создание шутера с LeoECS. Часть 1 Друзья, это первая статья по фреймворку LeoECS из предстоящей серии, которая позволит вам быстрее понять, как работать с LeoECS в Unity и решить некоторые виды проблем, возникающих на практике. Все советы, изложенные в них, не представляют собою какой-то свод правил, способы...

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

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

[Перевод] Контрольный список для ревью кода в распределенных системах points of view by sanja Микросервисная архитектура широко распространена в разработке программного обеспечения. Но организации, которые ее используют, помимо сложностей в реализации бизнес-логики сталкиваются еще и с распределенными сбоями. Ошибки распределенных вычислений...

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

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

[Перевод] Миграция с LiveData на Kotlin’s Flow LiveData была нужна нам еще в 2017 году. Паттерн наблюдателя облегчил нам жизнь, но такие опции, как RxJava, в то время были слишком сложными для новичков. Команда Architecture Components создала LiveData: очень авторитетный класс наблюдаемых хранилищ данных, разработанный д...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

[Перевод] [в закладки] Работа с изображениями в веб Одно из решений, которые приходится принимать фронтенд-разработчику при создании сайта, касается выбора способа включения изображений в состав веб-страниц. Этот способ может заключаться в использовании HTML-тега <img>. Это может быть применение CSS-свойства background ...

Введение в архитектурный фреймворк для анализа данных Lena Привет, Хабр! Я расскажу об архитектурном фреймворке, который я разрабатываю. Архитектура определяет наиболее общее устройство программы и взаимодействие её компонентов. Lena как фреймворк реализует конкретную архитектуру для анализа данных (подробнее о ней ниже) и предостав...

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

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

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

[Из песочницы] sMock — Swift mocking framework для Unit-tests (спасибо gMock за идеи) Проблема Переходя в мир Swift из ObjC/C++, я столкнулся с проблемой при написании юнит-тестов: отсутствием инструментов для создания Mock-объектов. При написании декомпозированного кода мы часто скрываем детали реализации за интерфейсами (протоколами). А также проверять функ...

Современный курс по Node.js в 2020 Дорогие товарищи инженеры, сообщество Метархия представляет вашему вниманию современный курс по Node.js, который включает глубокий разбор всех возможностей и аспектов платформы. Основной упор делается на то, как создавать надежные высоконагруженные сервера приложений и API ...

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

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

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

Выступает DMN, дирижирует ZeeBe: как использовать бизнес-правила в микросервисах Меня зовут Николай Первухин, я Senior Java Developer в Райффайзенбанке. Так сложилось, что единожды попробовав бизнес-процессы на Camunda, я стал адептом этой технологии и стараюсь ее применять в проектах со сложной логикой. Действительно сама идея подкупает: рисуешь процесс...

Ask me anything! Задай вопрос Android-команде Badoo Предлагаем продолжить добрую традицию Ask me anything на Хабре и поговорить про разработку Android-приложений. Сегодня и завтра Android-команда Badoo будет на связи и ответит на любые вопросы о разработке и тестировании приложений с многомиллионной аудиторией, даст советы на...

Сверхсовременные иммутабельные структуры данных Годами эксперты в С++ рассуждают о семантике значений, иммутабельности и разделении ресурсов за счет коммуникации. О новом мире без мьютексов и гонок, без паттернов Command и Observer. На деле все не так просто. Главная проблема по-прежнему в наших структурах данных. Имму...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

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

IntelliJ IDEA: Structural Search & Replace Современные IDE — очень мощные инструменты, способные помогать разработчику в самых разных ситуациях. Но обратной стороной этой мощности является то, что большинство функций находится в тени — об их наличии мало кто подозревает. Простой пример одной...

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

Паттерн «сага» как способ обеспечения консистентности данных Всем привет. Уже сейчас в OTUS открывает набор в новую группу курса «Highload Architect». В связи с этим я продолжаю серию своих публикаций, написанных специально для этого курса, а также приглашаю вас на свой бесплатный демо урок по теме: «Индексы в MySQL: best practices и ...

[Перевод] Как описать архитектуру продукта по нотации C4 Когда мы начали создавать платформу True Engineering, в компании не было единых правил для оформления архитектуры. Разные команды – разные инструменты, разные обозначения и уровни абстракции. Значит, даже подобные решения сравнить между собой не получится, а тому, кто смотри...

Konica Minolta открывает новое направление бизнеса в России Konica Minolta объявляет о создании в России направления по обслуживанию измерительного оборудования для промышленности. В рамках Департамента сервисной поддержки и аутсорсинговых решений в Москве открылся первый сервисный ...

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

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

[recovery mode] Как обойти «No-communication theorem»? Передача информации сквозь пространство и время No-communication theorem утверждает, что квантовое запутывание не может использоваться для передачи какой-либо информации. Теорема предполагает, что Боб никак не может отличить начальное состояние σ от состояния P(σ) после измерения Алисой. Это доказывается математически, п...

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

Сервисный бизнес и кризис: истории успеха. Как нестандартное мышление работает на вас? Приветствую всех! С кем не знаком — Андрей Балякин. Последние 6 лет плотно связан с сервисной индустрией (ремонт и обслуживание оборудования). Являюсь со-основателем и CEO проекта HubEx — онлайн платформы автоматизации сервисных процессов в компаниях с мобильными сотрудникам...

Технический обзор архитектуры СХД Infinidat InfiniBox – модерновая система хранения, сразу попавшая в правую часть магического квадрата. В чем ее уникальность? Краткая предыстория Что такое InfiniBox? Это система хранения компании Infinidat. Что такое компания Infinidat? Это компания, созданная Моше Янаем (создатель...

NASA предлагает выращивать лунные колонии из грибов В Исследовательском центре Эймса в Кремниевой долине NASA запускает новый проект из области мико-архитектуры (создания архитектурных объектов из грибного мицелия – прим. ред. Техкульт). Он уже получил щедрое финансирование по программе Innovative Advanced Concepts еще в 2018...

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

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

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

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

Превращаем EditText в SearchEditText Пробовали ли Вы когда-нибудь настроить внешний вид или поведение стандартного компонента SearchView? Полагаю, да. В этом случае, я думаю что вы согласитесь, что далеко не все его настройки являются достаточно гибкими, для того, чтобы удовлетворить всем бизнес-требованиям о...

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

Финансовые результаты МегаФона за первый квартал 2020 года Компания увеличила сервисную выручку, OIBDA и чистую прибыль, несмотря на выпадающие доходы от роуминга и розничного звена.          Ключевые результаты первого квартала 2020 года[1]: •    Общая выручка сок...

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

[Из песочницы] Архитектура нейронной сети RetinaNet Данная статья посвящается объяснению устройства архитектуры нейронной сети RetinaNet. Обзор был проведён мною в ходе выполнения дипломной работы, а так как для его написания потребовалось обращаться исключительно к англоязычным источникам и собрать найденную информацию воеди...

[Из песочницы] Flutter. Как прокачать ваш BLoC Реализующих BLoC паттерн библиотек много. Но та, о которой я расскажу, необычная, и называется isolate_bloc. Как можно понять из названия — это какой-то необычный блок, а особенность его в том, что он работает в отдельном Isolate (далее изолят) и не тормозит ваш UI. В че...

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

[Перевод] Bluetooth Low Energy: подробный гайд для начинающих Создание кастомного сервиса и тем более клиента Bluetooth Low Energy – прогулка по граблям с завязанными глазами. По крайне мере так было для меня 4 года назад, когда я только начинал работать с BLE-устройствами. Сейчас почти каждый мой проект предусматривает использование э...

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

Собираем свою библиотеку для SSR на React Server Side Rendering часто применяется в разных проектах. Существуют крутые фреймворки для React – NextJS и Gatsby. Но в то же время любой фреймворк диктует архитектуру приложения, а это приводит к проблемам в больших приложениях. Поэтому часто можно встретить собственные с...

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

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

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

[Из песочницы] Мой (нано)опыт с Yandex.Maps API или зачем нужна инструкция Introduction Я андроид разработчик и... Мне довелось допиливать небольшой проект(~500h), в котором на старте было принято решение использовать Yandex.Maps API, потому что зачем для Москвы использовать гугл карты, если есть наши. Сейчас расскажу, как все прошло. Я не проводил...

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

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

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

Как Magento 2 взаимодействует с Vue Storefront Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Как уже писал AndreyHabr, многие из наших проектов основаны на стеке Adobe Magento 2 (для краткости далее я буду называть ее M2) в качестве бэкенда и Vue Storefront (VS) в качестве фронтенда. Я не буду подробно оста...

[Перевод] Архитектура Apache Airflow на OpenShift Продолжаем публиковать блог нашего друга Алеса Носека. В первой части мы поговорили про CI/CD-конвейеры с охватом нескольких кластеров OpenShift. А сегодня расскажем об архитектуре системы Apache Airflow на платформе OpenShift, рассмотрим функции ее ключевых компонентов и сп...

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

[Перевод] 3 способа рендеринга больших списков в Angular В 2020 году фронтенд-фреймворки стали лучше, эффективнее и быстрее. Но, даже учитывая это, рендеринг больших списков без «замораживания» браузера всё ещё может оказаться сложной задачей даже для самых быстрых из существующих фреймворков. Это — один из тех случаев, когда «фр...

[Перевод] Альтернатива ML-Agents: интегрируем нейросети в Unity-проект с помощью PyTorch C++ API Кратко объясню, что будет происходить в этой статье: покажу, как использовать PyTorch C++ API для интеграции нейросети в проект на движке Unity; сам проект я подробно описывать не буду, это не имеет значения для данной статьи; использую готовую модель нейросети, преобраз...

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

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

Микросервисы на монолите Всем привет! Скажу сразу, эта статья не про очередное переписывание монолита на микросервисы, а о применении микросервисных практик в рамках существующего проекта с использованием интересных, как мне кажется, подходов. Наверное, уже нет смысла объяснять, почему многие п...

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

ПАО «Городские инновационные технологии» и фонд Гранта Агасьяна проведут конкурс «Лидеры ЖКХ 2020» Цель проекта – вовлечь в сферу ЖКХ талантливых молодых управленцев и предпринимателей и помочь им реализовать собственные проекты на благо населения. В конкурсе могут принимать участие лица в возрасте до 40 лет из любого региона РФ, заинтересованные в создании собственной с...

Справочник security-архитектора: обзор подходов к реализации аутентификации и авторизации в микросервисных системах Контейнеризация, CI/CD, оркестрация, микросервисы и agile-процессы – это облако тегов, которое теперь находится в словаре security-инженеров. Микросервисная модель и сопутствующие технологии привели к многообразию подходов в реализации архитектуры безопасности современных ре...

Сервисная служба «ЛАН АТМсервис» беспрерывно обслуживает банкоматы и терминалы оплаты Сервисные службы компании «ЛАН АТМсервис» продолжают работу в штатном режиме на протяжении всего периода объявленной самоизоляции. Они принимают, обрабатывают и выполняют заявки по сервисному обслуживанию устройств ...

Делаем примеры для STM32, собирающиеся в разных средах разработки Как я уже несколько раз упоминал в прошлых статьях, я один из разработчиков сервиса All Hardware, через который любой желающий может удалённо поработать с различными отладочными платами, которые туда выкладывают производители микроконтроллеров. По умолчанию, в каждую плату з...

Totum — open source конструктор CRM/ERP и произвольных учетных систем (PHP + PgSQL) В двух словах — продвинутые таблицы. Ориентирован на отдельных разработчиков или микрокоманды из двух-трех человек. Подходит начинающим разработчикам и бизнес-аналитикам, желающим превратить свое понимание бизнеса в готовое решение или быстро разработать проект под конкретн...

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

[Из песочницы] Flutter. BlOC, Provider, async – архитектура «по полочкам» Вступление Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVV...

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

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

[Перевод] Использование паттерна BFF для создания общих типов в бэкенде и фронтенде Контракт между бэкендным сервисом и фронтендным потребителем (или клиентом) обычно является местом соединения двух миров. Такой контракт может принимать форму спецификации REST API, конечной точки GraphQL, или чего-то другого. Главное, чтобы он сообщал обеим сторонам, чего ...

Хостим Bitwarden — open-source менеджер паролей Менеджеры паролей действительно полезны и важны как для отдельных пользователей, так и для организаций, и они пригодятся, когда у вас много разных учетных записей и паролей. Обычно люди не любят пользоваться сторонними менеджерами паролей с сервисной архитектурой — неизвес...

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

[Из песочницы] Практичные способы маппинга данных в Kotlin Маппинг данных – один из способов для разделения кода приложения на слои. Маппинг широко используется в Android приложениях. Популярный пример архитектуры мобильного приложения Android-CleanArchitecture использует маппинг как в оригинальной версии (пример маппера из CleanArc...

Эксперимент в распознавании рукописных текстов на кириллице. Часть 2 Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукоп...

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

Замена экрана в iPhone: как это происходит? Несмотря на все старания производителей и компании Corning повысить прочность стекла в смартфонах, они всё ещё довольно легко разбиваются. Соответственно одной из самых популярных услуг по их ремонту остаётся замена дисплея. Поэтому я решил посмотреть, как это происходит на ...

Android: архитектура Fuchsia и тяжеловесные вычисления в UI-потоке Для подписчиковВ этом выпуске: погружение в архитектуру и безопасность ОС Fuchsia, несколько способов использовать Kotlin в качестве скриптового языка, неожиданный способ запустить тяжеловесные вычисления в основном потоке приложения, советы по работе с отладчиком, способ хр...

[Из песочницы] Императивный подход к реактивным данным на примере Jetbrains KTor и R2DBC Статья об использовании реактивного доступа к базам данных из корутин. Spring все упрощает, но это плохо сказывается на понимании реальных процессов работы приложения. Для демонстрации был выбран фреймворк KTor (просто потому, что мне нравится смотреть на то, что делает JetB...

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

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

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

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

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

Парсер командной строки на .NET5 Сегодня мы собираемся показать вам, как начать парсинг аргументов командной строки. Кстати, это один пост из серии статей о .NET 5. У нас есть еще много интересного.Приложения командной строки, также известные как консольные приложения, - это программы, созданные для использ...

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

Услуги или проекты? Голландский ITSM-эксперт Ян ван Бон (Jan van Bon) в своей заметке «The CIO Office and the PMO [Project Management Office] are dead... long live the SMO [Service Management Office]!» («CIO-офис и PMO мертвы… Долгую жизнь SMO!») недавно опубликованной на английском языке, рас...

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

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

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

[Перевод] Заменяем Redux c помощью Observables и React Hooks Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназн...

[Перевод] Многопоточность. Модель памяти Java (часть 2) Привет, Хабр! Представляю вашему вниманию перевод второй части статьи «Java Memory Model» автора Jakob Jenkov. Первая часть тут. Аппаратная архитектура памяти Современная аппаратная архитектура памяти несколько отличается от внутренней Java-модели памяти. Важно понимать апп...

[Перевод] Погружение в CQRS Эта статья является конспектом материала Clarified CQRS. Прежде чем начать разбираться с CQRS, нужно понять две основные движущие силы, стоящие за ним: сотрудничество и устаревание.Сотрудничество относится к ситуациям, когда несколько участников используют или изменяют один ...

Где стажировку проходили, там и работайте — 4 истории стажёров Сбербанка Это истории тех, кто учится в «Школе 21», успешно прошёл стажировку и остался работать в Сбербанке. Я уже рассказывала, что этот проект — путь в IT и он крайне эффективен. Если очень коротко — мы научились готовить джунов с нуля за год, делая упор на soft skills. Учиться н...

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

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

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

[Перевод] GPT-2 в картинках (визуализация языковых моделей Трансформера) В 2019 году мы стали свидетелями блистательного использования машинного обучения. Модель GPT-2 от OpenAI продемонстрировала впечатляющую способность писать связные и эмоциональные тексты, превосходящие наши представления о том, что могут генерировать современные языковые мо...

1. Group-IB. Комплексная защита сети. Архитектура TDS Добрый день, коллеги! Сегодня начинаем новый цикл статей, посвященный решениям информационной безопасности от компании Group-IB. Компания работает на рынке информационной безопасности уже более 17 лет, и за это время обросла весьма существенными компетенциями, выполняя про...

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

Как мигрировать с mocha на jest в 14 простых шагов — и зачем Уже давно я заглядывался на фреймворк для тестирования jest, в котором есть огромное количество всяких вкусных фишек, одна из которых — многопоточное выполнение тестов. При условии того, что у меня был проект на 5000 юнит тестов, миграция обещала быть крайне полезной. Далее...

Артефакты для UX-ёров и команды: что это, зачем нужны и как выбрать Зачем нужно это знать? Я UX-дизайнер в большой продуктовой компании, и я очень не люблю правки, а вы уже пролистываете дальше, потому что «так нельзя, ты не художник» и «ничего нового, никто не любит». Я ценю сво...

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

OPPO AED Украина объявили о начале сотрудничества с новым высококвалифицированным сервисным центром F1Center Новый сервисный центр для лучшего обслуживания. OPPO AED Украина расширяют сервисное покрытие и начинают сотрудничество с новым партнером — сервисным центром F1Center.

[Перевод] Разработка MQ JMS приложения на Spring Boot Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно исполь...

Инструменты Domain Driven Design Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. ...

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

[Перевод] Использование API Gateway в качестве единой точки входа для веб-приложений и API Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение Преимущества AWS, такие как высокая доступность, масштабируемость и эластичность, уже доказали свою эффективность для SaaS-провайдеров (Software-as-a-Service). При модернизац...

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

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

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

Как отправить отзыв в Apple после выхода iOS 14 Совсем немного времени остается до конференции Apple WWDC 2020, а значит скоро компания выпустит первую бета-версию iOS 14 для разработчиков (во всяком случае, так происходит каждый год), а затем и для участников публичной программы бета-тестирования. Несмотря на то, что в ...

[Из песочницы] Зачем ограничивать наследование с помощью final? Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией. Гибкост...

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

Планирование потоков в Windows. Часть 1 из 4 Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам. Потоки и планирование потоков Что такое поток? Давайте дадим краткое определение. По своей сути поток это...

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

Книга “Разработка мобильных приложений на C# для iOS и Android” Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору. Добрый день, уважаемый хабр...

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

Онлайн-хакатон #HackCovid19 В России запущен некоммерческий онлайн-хакатон #HackCovid19 для борьбы с коронавирусом и его последствиями. Специалисты объединяются, чтобы использовать все свои знания и навыки, и разработать IT-решения и устройства для устранения проблем, с&nb...

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

OpenPGP переписывают на Rust: проект Sequoia Секвойя Стагг в роще Олдер-Крик, Калифорния В 2018 году три бывших разработчика GnuPG начали работу над проектом Sequoia — реализацией OpenPGP на Rust. Как известно, OpenPGP — это открытый стандарт шифрования данных, часто используемый для защищённой электронной почты; а G...

[Из песочницы] Пол Грэм: Хейтеры Перевод последнего на данный момент эссе Пола Грэма с правками Илона Маска, любытно с точки зрения понимания поведенческих паттернов при формировании и высказывания мнения на интернет-ресурсах. Далее от лица Пола. Читать дальше →

SERM: управление репутацией бренда в сети и почему так важна безупречность Вы узнаете, что такое SERM — Search Engine Reputation Management, а также — как управлять репутацией вашей компании в интернете. Как построить надежную и устойчивую репутацию в интернете? Что делать, когда в сети о вас появл...

[Перевод] Flutter: 11 вещей, которые нужно помнить для вашего следующего проекта Создание нового проекта на Flutter - это благословение - свежая кодовая база, никакого легаси кода (пока что), null safety, самые последние версии ваших любимых библиотек и так далее. Однако, в то же время, необходимо принять критические решения в самом начале, которые будут...

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

Поговорим про градиенты в Unity Всём привет. Меня зовут Григорий Дядиченко. Я в Unity разработке около 7 лет, и за это время повидал многое. Одна из основных проблем, которая встречается, когда забираешь у неопытных ребят проект - градиенты в интерфейсах. В целом ошибки в разработке интерфейсов не редкость...

Процесс, практика, функция? — Руководство Service Desk Практики, впервые представленные с релизом ITIL 4 Foundation Edition в феврале 2019 года, представляют собой набор организационных ресурсов, предназначенных для совместной работы групп управления услугами, выполняющих работу и достигающих целей. В ITIL 4 34 практики управлен...

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

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

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

[Перевод] Что делать, когда CSS блокирует парсинг страницы? Недавно я проводил аудит одного сайта и наткнулся на паттерн preload/polyfill, который уже видел у нескольких клиентов. В наши дни использование этого паттерна, ранее популярного, не рекомендуется. Однако его полезно рассмотреть для того, чтобы проиллюстрировать важность ост...

Digital Adoption Platform от WalkMe поможет удаленными сотрудникам адаптироваться к сложным бизнес-приложениям Системный интегратор и разработчик Navicon, как авторизованный партнер WalkMe в России, вывел на рынок главную разработку вендора. Digital Adoption Platform (DAP) WalkMe — это решение, которое создает эффективную среду взаимодействия ...

Каждый десятый звонок завершается проактивной сервисной заявкой Телеком-оператор «Дом.ru» обновил систему проактивного сервиса (СПАС) для предупреждения проблем на сети. В результате  каждый десятый звонок голосового помощника завершается созданием проактивной сервисной заявки.

[Перевод] Delta: Платформа синхронизации данных и обогащения В преддверии запуска нового потока по курсу «Data Engineer» подготовили перевод интересного материала. Обзор Мы поговорим о достаточно популярном паттерне, с помощью которого приложения используют несколько хранилищ данных, где каждое хранилище используется под свои цели,...

Пробная партия чипов для iPhone 12 отправлена в Apple Как в Apple тестируют чип A14 (на самом деле нет) Аналитики из Тайваня узнали (вычислили?), что TSMC отправила в адрес Apple пробную партию 5-нм чипов, и что это – именно система-на-чипе, которая появится в iPhone 12 в сентябре этого года. Партия относительно небольшая, но в...

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

Roslyn API, или из-за чего PVS-Studio очень долго проект анализировал Многие ли из вас использовали сторонние библиотеки при написании кода? Вопрос риторический, ведь без применения сторонних библиотек разработка некоторых продуктов затягивалась бы на очень-очень большое время, потому что для решения каждой проблемы приходилось бы "изобретать ...

Apple меняет правила игры на рынке ПК. Тесты показывают, что её новые Mac с SoC Apple M1 порой превосходят всё, что есть в сегменте Ну что же, новые ПК Apple с SoC Apple M1 поступили в продажу, и в Сети начали появляться нормальные полезные тесты производительности в программах, а не бенчмарках.  Ресурс TechCrunch протестировал все три новых ПК Apple, и ...

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

Growth Hacking: запуск команд роста О чем пойдет речь на митапе На примере наших и партнерских кейсов поговорим о том, как использовать инструменты дизайн-мышления, Lean Startup и Agile-фреймворки для поиска точек роста, активации сотрудников в теме инноваций и пред...

[Из песочницы] Flask-DJ: Django (mvc) структура для проекта на flask Всем привет! Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта. Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сде...

Токен авторизации на примере JSON WEB Token Доброго времени суток, дорогой читатель. В данной статье я постараюсь рассказать об одном из самых популярных (на сегодняшний день) способов авторизации в различных клиент-серверных приложениях - токен авторизации. А рассматривать мы его будем на примере самой популярной реа...

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

Как мы внедряли распределенный кеш на Tarantool в одной АБС Разработка любого достаточно серьезного софта, будь то калькулятор матриц или ИИ беспилотного автомобиля, — это всегда какая-то своя предметная область, определенные технологии, алгоритмы и структуры данных, архитектура кода, процесс разработки и еще много разных умных терм...

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

Основные принципы использования ECS в разработке игр Как считаете, время разработчиков-одиночек прошло? Или наступает именно сейчас? Когда самоизоляция и карантин обеспечили избыток свободного времени и свободу от офисной мозгомойки, можно задуматься не только о «текучке», но и творчестве. Быть может, именно сейчас рождаются ...

Hitachi Vantara представила Lumada Data Catalog Новое решение для управления данными создано на основе технологии каталогизации данных компании Waterline Data, недавно приобретенной Hitachi Vantara. позволяет создать требуемый слой метаданных для поддержки критически важных информационных проектов Компания Hitachi Vant...

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

Таков путь! Закончив смотреть первый сезон сериала "Mandalorian", решил отпечатать себе маленького любителя лягушек. На thingiverse.com очень много моделек йоды, в разных амплуа и ситуациях. Я выбрал ту, что использует силу, дабы установить на двигатель оси Z своего Ender 3. Так будет п...

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

Самоучитель по WinCC OA. Часть 1. Создание проекта и модуль para Решил немного рассказать про систему визуализации от Siemens под названием WinCC OA. Эта SCADA на рынке России распространена гораздо меньше классических версий WinCC (и tia-портальных тоже), знаний по ней в открытом доступе достаточно мало, знаниями делятся неохотно. В ряде...

Полимерные крыски на ёлку! С наступающим 2020! UNIZ Slash 2 + Harz Labs Dental Clear Yellow. Липнет к столу слоем 0.1, за три секунды и треть мощности света, снимается сложно. Последующие слой 0.05мм., за 2.2сек.. Толщина стенки 2мм., заполнение 0% с пятого слоя.

10 трендов дизайна креативов 2021-2022, которые цепляют сейчас и будут цеплять в ближайший год + много примеров Наш дизайнер уже давно просился написать в наш блог, собирал примеры и отслеживал тренды. И вот сегодня мы рассмотрим 10 (и еще 2 спорных) трендов в дизайне креатива, которые, на наш взгляд, способны повысить CTR объявления, поэтому, вероятно, доживут с нами оставшиеся месяц...

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

Как превратить собственные данные в клиентские сервисы Данные — основа бизнеса современной компании. Использование современной ИТ-инфраструктуры по сервисной модели помогает не только сохранить собственные данные, но и оперативно создать совершенно новые сервисы для клиентов ...

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

Лучшая медицинская страховка — думать головой. Идея приложения Хочу рассказать о проекте приложения, которое я начинал разрабатывать, когда еще работал начальником IT-отдела в одной из ЦРБ в РФ. Рассказываю с целью поделиться опытом, и, возможно, подтолкнуть кого-то к идее реализации интересного продукта. Рассказываю максимально не с...

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

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

Radeon RX 5950 XT — цена в 1000 долларов и производительность на 33% выше, чем у RTX 2080 Ti Согласно всем слухам и утечкам, позже в этом году AMD должна выпустить на рынок новые видеокарты поколения Navi, которые при этом будут основаны на новой архитектуре — RDNA2. Она даст жизнь настоящих флагманским видеокартам. Если учитывать утечки из сертификационн...

Применение принципов функционального программирования при проектировании ERP Привет, Хабр! В этой статье мы попробуем взглянуть на архитектуру учетных систем (ERP, CRM, WMS, MES, B2B, ...) с позиций функционального программирования. Существующие системы сложны. Они базируются на реляционной схеме данных, и имеют огромный мутабельный стейт в виде сот...

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

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

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

UML для разработчиков Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то у...

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

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

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

Опыт работы над проектом на базе Vue3 в 2021 году Около полугода пришлось поработать над миграцией неработающего проекта на базе Vue 2 на проект Vue v.3. Поскольку до сих пор работа с ним остаётся экзотикой, попробую описать состояние развития этого проекта в июле 2021 года, через 10 месяцев после релиза, и какие особеннос...

Минкомсвязь России разъяснила порядок формирования программ цифровой трансформации госорганов Директор Департамента развития архитектуры и координации информатизации Минкомсвязи России Василий Слышкин напомнил о подготовке новых мер, которые повысят эффективность использования информационно-коммуникационных технологий в госорганах. По его словам, до 15 мая 2020 года ...

Fast Reverse Proxy как альтернатива Ngrok Создание общедоступного URL в сети интернет к вашему локальному проектуЧто такое Ngrok, наверное знает каждый разработчик web приложений, и многие им пользуются. Немного предыстории...Присоединившись к новому большому проекту, над которым работают десятки разработчиков и QA ...

Реактивное программирование на Java: как, зачем и стоит ли? Часть II Реактивное программирование — один из самых актуальных трендов современности. Обучение ему — сложный процесс, особенно если нет подходящих материалов. В качестве своеобразного дайджеста может выступить эта статья. На конференции РИТ++ 2020 эксперт и тренер Luxoft Training Вл...

[Перевод] Symfony и Гексагональная архитектура В данной статье мы коротко пройдемся по теории и на практике разберемся как перевести любое Legacy приложение на гексагональную архитектуру. Повествование будет в контексте фреймворка Symfony и PHP 7.4, но синтаксис приведенных примеров настолько прост что вы без труда пойм...

[Перевод] Подсчет запросов: Базовое тестирование производительности на Django Всем привет. Мы подготовили перевод еще одного полезного материала для студентов курса «Web-разработчик на Python», который стартовал вчера. Очень часто можно услышать о методах тестирования, таких как TDD, и о том, как тестировать бизнес-логику приложения. Однако тестиро...

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

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

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

[Перевод] Микросервисы со Spring Boot. Часть 5. Использование сервера имен Eureka В этой заключительной части нашей серии архитектур микросервисов мы научимся включать сервер имен Eureka и позволять микросервисам взаимодействовать с ним. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов ...

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

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

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

[Перевод] Framework vs Platform: в чём разница? Привет, Хабр! Представляю вашему вниманию перевод статьи "Framework Vs. Platform What’s The Difference?" автора G. Harris. Исповедуюсь: я педант. Несмотря на личные неудачи на этом поприще, я глубоко верю, что использование правильного языка добавляет множество пре...

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

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

[Перевод] Прослушиватели событий и веб-воркеры Недавно я разбирался с API Web Workers. Очень жаль, что я не уделил время этому отлично поддерживаемому инструменту раньше. Современные веб-приложения очень требовательны к возможностям главного потока выполнения JavaScript. Это воздействует на производительность проектов и ...

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

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

Как эпидемия COVID-19 влияет на поведение потребителей Эпидемия коронавируса COVID-19 затронула практически все аспекты повседневной жизни людей по всему миру. Согласно результатам опроса, проведённого Engine, 88% потребителей в США обеспокоены пандемией. Другое исследование, опубликованное L.E.K. Consulting и Civis, показало, ч...

Navicon поможет удаленными сотрудникам адаптироваться к сложным бизнес-приложениям Digital Adoption Platform WalkMe - это решение, которое создает эффективную среду взаимодействия между сотрудниками и бизнес-приложениями предприятия. Востребованность решения стремительно возросла в феврале-марте текущего года, когда многие организации оказались вынуждены п...

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

Умная энергетика получит нацстандарты В разработке стандартов кроме РВК и "Энерджинет" участвовали фонд "Центр стратегических разработок "Северо-Запад", АО "РТСофт", ООО "Интеллектуальные электроэнергетические системы", ООО "Элиот". "Мы представляем на публичное обсуждение проекты двух стандартов. Один посвящен...

[Перевод] О реализации библиотеки для глубокого обучения на Python Технологии глубокого обучения за короткий срок прошли большой путь развития — от простых нейронных сетей до достаточно сложных архитектур. Для поддержки быстрого распространения этих технологий были разработаны различные библиотеки и платформы глубокого обучения. Одна из осн...

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

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

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

Преимущественные стороны ремонта iPhone в специализированном сервис-центре Представители современного поколения хорошо знают продукцию всемирно известной компании Apple, которая осуществляет выпуск одних из наиболее надежных ультрамодных гаджетов &ndash; смартфонов. Ни один пользователь не сомневается в высококачественности и повышенной произв...

[Перевод] Трюк с XOR для собеседований и не только Есть целая куча популярных задач для собеседований, которые можно решить одним из двух способов: или логичным применением стандартных структур данных и алгоритмов, или использованием некоторых свойств XOR сложным для понимания способом. Хоть и непривычно ожидать решения с...

Вместо 100 запусков приложения ― один автотест, или как сэкономить QA-инженеру 20 лет жизни Всем привет, меня зовут Евгений Демиденко. Последние несколько лет я занимаюсь разработкой автоматизированной системы тестирования игр в Pixonic. Сегодня я хотел поделиться нашим опытом разработки, поддержки и использования такой системы на проекте War Robots. Для начала ра...

Белые методы в SEO, которые работают в 2020 На нашем рынке основные поисковые системы — Яндекс и Google. Мы должны оптимизировать наш сайт так, чтобы именно он находился по интересующим нас запросам на первых местах. Это и называют находиться в топе в поисковиках. ...

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

Закон Конвея и его важность при создании команд Закон Конвея (Conway’s Law) имеет большое значение для понимания тех сил, что возникают при формировании команд, и того результата, который они могут оказать на команды в условиях длительного и автономного, неуправляемого и некорректируемого воздействия. И, как следствие, дл...

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

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

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

CRMDAY в Минске 31 марта в Минске, концертный зал Prime Hall (пр-т. Победителей, 65) состоится бесплатная бизнес-конференция от компании amoCRM «CRM и ПРОДАЖИ». «CRM и ПРОДАЖИ» — это возможность для всех желающих быть в курсе последних тенденций рынка ...

Что такое платформа как услуга (PaaS)? В модели «Платформа как услуга» (PaaS) разработчики, по сути, арендуют все, что им нужно для создания приложения, полагаясь на облачного провайдера для средств разработки, инфраструктуры и операционных систем. Это одна из трех сервисных моделей облачных вычислений. PaaS знач...

Как сэкономить время и силы на внедрении стандартов безопасной разработки с помощью OWASP SAMM 5 марта 2020 года в офисе OZON прошёл очередной митап Московского отделения сообщества OWASP. Кажется, что получилось здорово, а краткий отчёт с материалами встречи был недавно опубликован на Хабре. В этом же посте представлен доклад oxdef. Продолжая серию экспресс-докладов...

Создаем Todo приложение c помощью Django. Часть 1 И снова здравствуйте. В преддверии старта курса «Web-разработчик на Python» наш внештатный автор подготовил интересный материал, которым с радостью делимся с вами. Джанго это мощный фреймворк для создания веб-приложений. Изначально Django был создан для того, чтобы быстро...

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

[Из песочницы] Использование Camunda для удобной оркестровки на основе REST и Workflow Engine (без Java) Привет, Хабр! Представляю вашему вниманию перевод статьи «Use Camunda as an easy-to-use REST-based orchestration and workflow engine (without touching Java)» автора Bernd Rücker. 07.07.2020 г., перевод статьи Bernd Rücker Я часто обсуждаю микросервисную архитектуру с люд...

Понижаем барьеры на вход в распознавание речи Автоматическое распознавание речи (STT или ASR) прошло долгий путь совершенствования и имеет довольно обширную историю. Расхожим мнением является то, что лишь огромные корпорации способны на создание более-менее работающих "общих" решений, которые будут показывать...

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

Стоит ли тратить миллионы на самый «жирный» Mac Pro? Mac Pro — стоит ли покупать «жир», если можно собрать самому? Apple славится своей способностью удивлять. Очередным таким продуктом стал Mac Pro 2019, который был представлен 3 июня этого года. Внешне ПК выглядит крайне необычно и интересно, внутри пользовате...

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

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

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

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

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

Шутер Bright Memory появился в Google Play с ценником 149 рублей В конце прошлого года шутер Bright Memory стал доступен для Android-устройств, но скачивать его нужно было через сторонние системы. Теперь же проект официально добрался до Google Play. Напомним, что сегодня Bright Memory — это демо-версия шутера продолжительностью около 40 ...

Amazon представила пять новых проектов в сфере солнечной энергетики Amazon анонсировала пять новых проектов в сфере возобновляемых источников энергии в Китае, Австралии и США. Проекты подтверждают стремление Amazon достичь 80-процентного использования возобновляемых источников энергии до 2024 года и 100-процентного их использования до 2030 г...

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

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

Пусть хоть потоп, но 1С должна работать! Договариваемся с бизнесом о DR Представьте себе: вы обслуживаете ИТ-инфраструктуру крупного торгового центра. В городе начинается ливень. Потоки дождя прорывают крышу, вода заполняет торговые помещения по щиколотку. Надеемся, что ваша серверная не в подвале, иначе проблем не избежать.   Описанная история...

JIRA: правила своевременного приготовления вкусного ПО. TLDR 2: управление требованиями Ранее в статье «JIRA: правила своевременного приготовления вкусного ПО. TLDR 1: границы возможностей» была  предпринята попытка унификации общих требований по применению JIRA в случае управления несколькими проектами по разработке заказного программного обеспечения в одном и...

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable...

Генеральный директор IBM: «Мы должны победить в архитектурной битве в облаке» Когда в прошлом году Джинни Рометти, на протяжении долгого времени занимавшая должность генерального директора IBM, ушла в отставку, она оставила после себя довольно непростое наследие. Джинни Рометти сыграла важную роль в переходе Голубого Гиганта от разработки традицион...

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

Напечатанное будущее при помощи 3D печати, каково оно Студия Янне Киттанена «Freedom Of Creation» (FOC), которая вот уже более десяти лет работает над разработкой дизайнерских проектов различного профиля в Амстердаме, начала использование аддитивного метода, как перспективного в данной сфере. Метод, который заложил основатель с...

Принцип «тик-так» не является главенствующим для AMD при смене архитектур В ноябре курирующий серверное направление в AMD Форрест Норрод (Forrest Norrod) намекнул, что компания будет придерживаться принципа, похожего на знаменитый «тик-так» Intel. Одна архитектура может использовать две смежные ступени техпроцесса, а новую архитектуру принято внед...

[Перевод] Использование Atomics.wait(), Atomics.notify() и Atomics.waitAsync() Статические методы Atomics.wait() и Atomics.notify() представляют собой низкоуровневые примитивы синхронизации, которые можно применять для реализации мьютексов и других подобных механизмов. Но, так как метод Atomics.wait() является блокирующим, его нельзя вызывать в главном...

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

Компания T-Systems получила от Juniper Networks управляемую платформу SD-WAN Компания Juniper Networks (NYSE: JNPR), являющаяся одним из лидеров в сфере разработки защищенных сетей с искусственным интеллектом, заключила партнерское соглашение с компанией T-Systems — одним из ведущих поставщиков цифровых услуг с использованием...

Какими будут новые процессоры AMD? Архитектура Zen 3 принесёт прирост IPC на 10-15%, а Zen 4 — переход на новый сокет Летом прошлого года на рынок вышли настольные процессоры AMD Ryzen 3000, которые оказались крайне успешными. Переход на семинанометровый техпроцесс, новая архитектура и большое количество ядер поставили эти CPU вне конкуренции во многих режимах. И хотя Intel до сих пор ...

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

Cassandra. Как не умереть, если знаешь только Oracle Привет, Хабр. Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Or...

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

Сколько кода на C++ нужно написать для разбора HTTP-заголовка Authorization с помощью easy_parser из RESTinio? Мы продолжаем развивать бесплатный и открытый встраиваемый в С++ приложения HTTP-сервер RESTinio. В реализации RESTinio активно используются C++ные шаблоны, о чем мы здесь регулярно рассказываем (недавний пример). Одной из точек приложения C++ной шаблонной магии стал easy_p...

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

Декларативная фильтрация данных на фронте. JS/TS Часто ли вам приходилось писать обработчики фильтрации для ваших данных? Это могут быть массивы для отрисовки таблиц, карточек, списков — чего угодно. Когда фильтрация статическая, то тут все просто. Стандартных функций map, filter и reduce вполне достаточно. Но что делать,...

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

Использование TSDuck для мониторинга IP(TS)-потоков На сегодняшний день существуют готовые (проприетарные) решения для мониторинга IP(TS)-потоков, например VB и iQ, они обладают достаточно богатым набором функций и обычно подобные решения имеются у крупных операторов, имеющих дело с ТВ-сервисами. В этой статье описывается реш...

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

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

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

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

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

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

«Связной» пообещал ремонт электроники за 30 минут Российский ритейлер «Связной»  объявил о запуске собственной сети авторизованных сервисных центров «Связной сервис» прямо в своих магазинах. На данный момент сервисные центры уже запущены в Вологде и Уфе, а до конца года планируется ...

Состоялся релиз мобильной MMORPG Blade & Soul Revolution на iOS и Android Издатель Netmarble объявил о релизе в странах Юго-Восточной Азии мобильной MMORPG Blade & Soul Revolution, основанной на популярном проекте от NCSOFT, который выходил еще в 2012 году. Разработчики сообщают, что глобальный релиз состоится в течение нескольких месяцев. У ...

Истории аварий с Patroni, или Как уронить PostgreSQL-кластер В PostgreSQL нет High Availability из коробки. Чтобы добиться HA, нужно что-то поставить, настроить — приложить усилия. Есть несколько инструментов, которые помогут повысить доступность PostgreSQL, и один из них — Patroni. На первый взгляд, поставив Patroni в тестовой среде...

Как e2e автотесты на Selenide помогают QA-команде при частых релизах Всем привет! Я Иван, старший инженер-тестировщик в КРОК. Уже 6 лет занимаюсь тестированием ПО. Из них 3 года внедряю автоматизацию тестирования на различных проектах - люблю всё автоматизировать. На рабочей машине много разных “батников” и bash-скриптов, которые призваны упр...

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

Немного SQL алхимии О популярной библиотеке SQLAlchemy для работы с разными СУБД из Python было написано довольно много статей. Предлагаю вашему вниманию обзор и сравнение запросов с использованием ORM и SQL подходов. Данное руководство будет интересно прежде всего начинающим разработчикам, пос...

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

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

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

Гособлако в процессе 30 августа 2019 г. стартовал запуск эксперимента по переводу органов госвласти в государственную единую облачную платформу (ГЕОП, или Гособлако). Ее концепцию утвердило правительство РФ. Документ разработан в целях проведения эксперимента по переводу информационных систем и ...

Как написать правила для Checkmarx и не сойти с ума Привет, Хабр!В своей работе наша компания очень часто имеет дело с различными инструментами статического анализа кода (SAST). Из коробки они все работают средне. Конечно, всё зависит от проекта и используемых в нём технологий, а также, насколько хорошо эти технологии покрыва...

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

Telegram-бот на Java для самых маленьких — от старта до бесплатного размещения на heroku Для кого написано Если вы ни разу не писали Telegram-ботов на Java и только начинаете разбираться — эта статья для вас. В ней подробно и с пояснениями описано создание реального бота, автоматизирующего одну конкретную функцию. Можно использовать статью как мануал для созда...

[Перевод] Kонференция NDС London. Предотвращение катастрофы микросервисов. Часть 1 Вы потратили месяцы, переделывая свой монолит в микросервисы, и наконец, все собрались, чтобы щелкнуть выключателем. Вы переходите на первую веб-страницу… и ничего не происходит. Перезагружаете ее — и снова ничего хорошего, сайт работает так медленно, что не отвечает в течен...

Google перенёс запуск новой версии программы Google Partners на 2021 год В связи с глобальной эпидемией COVID-19 и её влиянием на все сферы жизни Google решил отложить запуск новой версии программы Google Partners на 2021 год. «Продолжая адаптироваться к COVID-19 по всему миру, мы понимаем, что такое состояние неопределённости может быть сложным ...

Успешный бизнес: как это получается у социальных предпринимателей Центр «СОЛь» и «Теплица социальных технологий» приглашают на серию вебинаров с представителями социального бизнеса. О том, как помогают технологии и как можно увеличить социальный эффект, расскажут Елена Горохова и Никита Никишкин, авторы проектов «Посади лес» и «Убиратор»....

[Перевод] Мифы о useEffect Доброго времени суток, друзья! Представляю вашему вниманию перевод небольшой заметки Kent C. Dodds, в которой он делится своими соображениями относительно правильного использования хука «useEffect». Я обучил React тысячи разработчиков. Как до, так и после релиза хуков. О...

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

«Пишите код по-новому (тм)» C# я не люблю, но люблю собирать все паттерны и весь сахар, который они предлагают от версии к версии. Третьего дня посмотрел выступление Билла Вагнера на NDC Conferences, где он показывал, что нужно писать код по-новому (TM). Он показывает много примеров хорошего рефакт...

[Перевод] Скрытая цена CSS-in-JS-библиотек в React-приложениях В современных фронтенд-приложениях технология CSS-in-JS пользуется определённой популярностью. Всё дело в том, что она даёт разработчикам механизм работы со стилями, который удобнее обычного CSS. Не поймите меня неправильно. Мне очень нравится CSS, но создание хорошей CSS-ар...

Мой топ полезных инструментов для Unity разработчика Всем привет! Меня зовут Григорий Дядиченко, и я всё ещё разрабатываю проекты на Unity под ключ. Сегодня хочется поговорить про полезный инструментарий для Unity разработчика. У меня давно на эту тему есть свой топ ассетов или софта, которые используются почти в каждом проект...

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

Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов Меня зовут Дмитрий Макаренко, я Mobile QA Engineer в Badoo и Bumble: занимаюсь тестированием новой функциональности в наших приложениях вручную и покрытием её автотестами. За последние два года подход к автоматизации тестирования в нашей компании сильно изменился. Колич...

[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular) Общение между микро-приложениями Работа с git (deploy, обновления) Оглавление Общая час...

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

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

SAP: Андрей Шарак С 01 апреля 2020 года Андрей Шарак отвечает за все направления деятельности сервисной организации SAP в России и странах СНГ. Его ключевыми приоритетами станут — обеспечение удовлетворенности клиентов и высокого ...

Как настроить SEO для Вашего бизнеса Каждый день в Яндексе и Гугле люди запрашивают более 100 миллиардов запросов по всему миру. Каждый поисковой запрос заставляет поисковую систему искать на него ответ. Для чего нужна оптимизация сайта Чтобы довести Ваш сайт до такого состояния, которое будет соответствовать ...

[Перевод] «Ваша устаревшая база данных перерастает сама себя». Опыт chess.com Прим. перев.: в этой статье сербский «инженер по масштабируемости» нагруженного онлайн-проекта в подробностях рассказывает о своем опыте оптимизации большой БД на базе MySQL. Проведена она была для того, чтобы выдержать резкий рост трафика на сайт, случившийся из-за пандемии...

Радиоуправляемый гоночный FPV танк Не так давно я напечатал и собрал очередную Р/У модель. На этот раз, это был радиоуправляемый танк, собранный по одному из наиболее популярных проектов - тык. Видеогайд по сборке и тесты: Корпус и катки напечатаны ПЛА пластиком от Bestfilament. Сопло 0.5, слой 0.2. Заполнени...

Бесплатный вебинар «1000 и 1 интересный пост о вашем бизнесе» Вам нужно создавать посты, чтобы привлекать клиентов из социальных сетей. Когда вы начинаете писать текст для поста, сразу возникают вопросы: Как cделать пост интересным и вовлекающим Как рассказать о бизнесе, товаре или услуге в сотый раз без ...

Fastify.js — не только самый быстрый веб-фреймворк для node.js Последние 10 лет среди веб-фреймворков для node.js самой большой популярностью пользуется Express.js. Всем, кто с ним работал, известно, что сложные приложения на Express.js бывает сложно структурировать. Но, как говорится, привычка — вторая натура. От Express.js бывает слож...

Deepfake. Реализация технологии замены лиц в видео. Часть 1 Deepfake. Выбор архитектуры для реализации. Autoencoder vs GAN. Читать далее

Thumbtack Tech Day Три города, три спикера, три темы Объединяем в один онлайн-митап экспертизу сразу трех направлений из городов присутствия компании «Тамтэк» в России. Специалисты из Омска, Саратова и Санкт-Петербурга расскажут о практиках и фишках разр...

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

Разрабатываем первое мобильное приложение на Flutter от Google Flutter — фреймворк от Google В последнее время программированием интересуются всё больше пользователей. Наверняка и вас заинтересовала эта тема. Мы каждый день используем мобильные приложения гигантов рынка, и многих волнует вопрос — «Как же им удается созд...

[Перевод] Полезные разработчику привычки Благодаря которым вы станете лучше как программист Привычки, относящиеся к написанию кода, есть у каждого разработчика — и вредные, и полезные. Но если завести правильные привычки, это поможет серьезно повысить эффективность работы с кодом. Такие привычки повлияют не тольк...

Полноценный Kubernetes с нуля на Raspberry Pi Совсем недавно одна известная компания объявила, что переводит линейку своих ноутбуков на ARM-архитектуру. Услышав эту новость, я вспомнил: просматривая в очередной раз цены на EC2 в AWS, обратил внимание на Graviton'ы с очень вкусной ценой. Подвох, конечно же, был в том, ...

DCIRN: может ли база данных о даунтаймах ЦОД предотвращать аварии? Тем не менее, объем данных часто затрудняет выявление первопричины. С другой стороны, чем больше данных, тем выше вероятность того, что аналитическая система или даже алгоритм искусственного интеллекта (ИИ) обнаружит «виновника». Вопрос: сколько данных необходим...

Пользователи Redmi Note 9 недовольны производительностью после обновления до MIUI 12 Второй этап графика распространения обновлений MIUI 12 уже запущен. Redmi Note 9 также был во второй группе устройств, и несколько его вариантов получили новейший пользовательский скин. Это глобальный, европейский и индийский варианты Redmi Note 9. Ранее сообщалось, что Redm...

Чем порадует OnePlus в 2020 году? OnePlus — что ждет компанию в 2020 году? В 2014 году OnePlus начала своё существование, она является дочерней компанией Oppo. Последняя, в свою очередь, принадлежит BBK. Так устроен рынок крупных компаний. Oppo нужен был бренд OnePlus для популяризации своих смартфонов...

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

Старая уязвимость в UPnP на новый манер Всё новое — это хорошо забытое старое (а лучше очень хорошо забытое старое). Следить за новыми уязвимостями, конечно же, правильно, но и о старых забывать не стоит. Тем более, когда о них позволяет себе «забыть» производитель. Кто-то должен помнить. Иначе мы снова и снова бу...

Потребность в ИКТ-кадрах вырастет на четверть Согласно проведенному АПКИТ исследованию, в российской цифровой экономике работает 1,45 млн ИТ-специалистов. Еще около 350 тыс. человек (без учета работников почтовых служб) заняты в области телекоммуникаций и связи. Об этом свидетельствуют подсчеты Минтруда. Таким образом, ...

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

Прощание с десятилетием: почему «Windows как сервис» стала такой важной концепцией «Windows как Service» является одним из наиболее значительных изменений, которые Microsoft внесла в свою операционную систему за долгое время. Многие посчитают, что это не слишком важно, но на самом деле концепция «Windows как сервис» значительно повлияла на мир персональных...

[Перевод] Визуализация генеративных алгоритмов: гифа, деревья, повторяющиеся и дифференциальные линии (на Python) ВВЕДЕНИЕ Паттерны всегда меня очаровывали. Даже не важно какие. Я экспериментировал со многими: сети, листья и их переплетения, ветви, молнии, флокирование, очертания фигур, реки, скальный осадок, пейзажи, слизистая плесень, лишайники, взаимодействие и расплавление, клеточ...

Особенности data-driven в нефтехимии При создании любого бизнеса каждое из его подразделений автоматизирует само себя. Как правило сквозные потоки данных между ними единичны. Это приводит к тому, что данные нельзя сопоставить друг с другом, ведь каждый отдел считает их по-своему. Никаких проблем, если собирать ...

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

[Перевод] Трансформеры как графовые нейронные сети TL;DR: перевод поста Chaitanya Joshi "Transformers are Graph Neural Networks": схемы, формулы, идеи, важные ссылки. Публикуется с любезного разрешения автора.Друзья-датасаентисты часто задают один и тот же вопрос: графовые нейронные сети (Graph Neural Networks) — п...

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

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

VR технологии в строительстве Агентство «Городской Центр Недвижимости», компанияMitsan Consulting и Объединение строителей Санкт-Петербурга, при поддержке информационного портала"Строительный ежедневник«,продолжают совместную серию он-лайн встреч (вебинаров), посвященных недвижимости. Постоянно, дос...

Пишем юнит тесты на TypeScript'е (на примере котиков) Как писать модульные тесты в проекте с TypeScript'ом? В этой статье я постараюсь ответить на этот вопрос а также покажу как создать среду модульного тестирования под проекты использующие TypeScript. Читать далее

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

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

Как мы делали очередной конструктор чат-ботов. Часть 1 Привет, Хабромир! Последний год мы с командой провели, создавая свой стартап «Конструктор чат-ботов для бизнеса Botlify», и я хотел бы поделиться с аудиторией небольшой историей проекта и о принятых технических решениях. В этом посте я постараюсь максимально сконцентрирова...

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

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

[Перевод] 10 полезных приёмов для JavaScript-программистов Как всем известно, JavaScript — это язык, который очень быстро развивается. В стандарте ES2020 имеется немало новых возможностей, с которыми вам, вероятно, захочется познакомиться поближе. Честно говоря, писать JS-код можно по-разному. Различные варианты кода, направленные н...

[Из песочницы] MVP для Android — преимущества использования Moxy в качестве вспомогательной библиотеки В данной статье описываются преимущества использования Moxy в качестве вспомогательной библиотеки при использовании MVP для Android-приложения. Важно: здесь не сравнивается MVP с другими архитектурными подходами типа MVVM, MVI и т.п. В статье описывается почему, если в качес...

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

Я победил ступеньки при печати. Малоизвестный способ. Уже год бился над проблемой сдвига по оси X (дрыг стола).Все известные советы перепробовал (а они в разных местах одни и те же), кроме замены двигателя и драйвера более мощным (хотел, но дважды с али не пришли драйверы, срок окончания защиты проморгал - даже денег не вернул)...

Решение проблемы недоэкструзии на стыках слоев или дефект внешний стенки CURA Всем дорсти. Делюсь решением оной из данных проблем. Далее без воды, кому интересно сам процесс будет описан ниже после решения ошибки.  Ниже приведены примеры того что было. Речь идет о версии cura 4.7 и 4.10 вроде как есть еще версии где есть этот дефект. Решаем проблему:1...

Новая архитектура AMD RNDA 2: преимущества видеокарт Radeon RX 6800 по сравнению с конкурентами и предшественницами На осенней презентации AMD представила новое поколение видеокарт семейства Radeon RX 6000 серии, построенных на архитектуре RDNA 2. Та же архитектура используется и в консолях следующего поколения Xbox Series X и S и PlayStation 5. На презентации сотрудники компании сравн...

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

Курсы специалистов по управлению проектами от академии BELHARD в Минске Курсы Project Management — это реальная возможность освоить непростую специализацию руководителя IT-проектов, а также существенно улучшить свою квалификацию тем, кто уже работает в подобных направлениях. Академия BELHARD предлагает в...

Intel представит архитектуру Xe GPU на GDC 2020 Intel планирует подробнее рассказать о своей новой архитектуре Xe Gpu на конференции разработчиков игр GDC 2020, которая пройдет с 16 по 20 марта в Сан-Франциско. Новая архитектура графического процессора Xe обеспечивает значительное улучшение вычислений, геометрии и п...

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

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

Шардинг, от которого невозможно отказаться А не пора ли нам шардить коллекции? Не-е-е: у нас нет времени, мы пилим фичи! CPU занят всего на 80% на 64 ядерной виртуалке! данных всего 2Tb! наш ежедневный бекап идет как раз 24 часа! В принципе, для большинства проектов вcё оправдано. Это может быть еще прототип или к...

Благодаря одному идеальному прыжку установлен новый рекорд по скоростному прохождению Super Mario Bros. Super Mario Bros. 1983 года выпуска невероятно популярна в сообществе спидраннеров. Они уже давно изучили игру до мельчайших деталей и выяснили, как совершать в ней забеги, близкие к идеальным. Именно поэтому установление нового мирового рекорда по быстрому прохождению проек...

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

Master of Art Business — это программа для менеджеров, которые хотят стать успешными в арт-индустрии Предлагаю всем, кто посвятил свою жизнь искусству, пройти обучение от Art Business Academy. Master of Art Business — это программа для менеджеров, которые хотят стать успешными в арт-индустрии. «Master of Art Business» 25 учебных занят...

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

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

[Перевод] REST API на Java без фреймворков Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В экосистеме Java есть много фреймворков и библиотек. Хотя и не так много, как в JavaScript, но они и не устаревают так быстро. Тем не менее, это заставило меня задуматься о том, что мы уже забы...

Прокачай свой CLI Сейчас многие фреймворки имеют в своем арсенале CLI (Command Line Interface) и ангуляр – не исключение. Впервые с CLI-утилитами я столкнулся, когда пробовал EmberJS и тогда мне это показалось очень удобным инструментом, который довольно сильно экономил мое время. Но, к сожал...

Как я Лигу Легенд парсил Привет, Хабр!Осмелюсь сегодня рассказать, как мне довелось извлекать данные прямо из видеозаписей турнирных игр по игре League of Legends с помощью глубоких нейронных сетей: зачем это нужно, какие архитектуры и приёмы использовались, и с какими сложностями я столкнулся. Чита...

Почему меня забанили? Всё про модерацию и блокировки при запуске рекламы в соцсетях Вебинар подойдет тем, кто уже попробовал свои силы в рекламе и столкнулся с непреодолимой проблемой в виде банов и блокировок. Ксения объяснит, как работает модерация в каждой соцсети с акцентом на Facebook и Instagram, как наибол...

[Перевод] Как сделать ваш код на Python быстрым и асинхронным с Sanic Всем привет, в этой статье я расскажу о создании простых асинхронных проектов на фреймворке Sanic. Читать далее

[Из песочницы] Наука о пользовательском опыте. Использование когнитивных искажений в разработке качественных продуктов Содержание Введение. О чем эта статья Цели и дисклеймеры Часть 1. Хороший продукт Часть 2. Пользовательский опыт (UX). Что это? Часть 3. Архитектура выбора Часть 4. Архитектор выбора Часть 5. Когнитивные искажения и Пользовательский опыт Ссылка на полную версию UX CORE (105...

Новые видеокарты AMD Radeon будут основаны на лучшей версии архитектуры RDNA2, чем та, которая используется в PlayStation 5 и Xbox Series X Когда Microsoft и Sony рассказывали о своих грядущих игровых приставках, обе компании говорили, что графические процессоры их консолей будут основаны на архитектуре AMD RDNA2. При этом обе компании упоминали, что это будет «кастомная» версия RDNA2, то есть и...

Spring-анимации во Vue Привет, Хабр! Мне давно хотелось добавлять в любые проекты Spring-анимации. Но делал я это только для React-проектов с помощью react-spring, так как не знал ничего другого. Но наконец я решил разобраться, как оно все устроено и написать свою реализацию! Если вы тоже хоти...

[recovery mode] Личный бренд в IT в 2021 году: пыль в глаза или необходимость? Привет! Сегодня разбираемся с темой личного бренда в IT. Вроде, всё просто: нужно побольше о себе говорить на каждом «инфоуглу», и жизнь наладится. Проекты, заказчики, деньги потекут рекой, да и просто люди потянутся. Вот только какой от этого толк в отрасли, где спрос на со...

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

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

Нормально же сидели. Зачем Xiaomi полезла в складные гаджеты? Помните свои ощущения, когда Samsung показал первый складной смартфон в мире? Что вы тогда испытали? Чувство гордости от того, что живете в это чудесное время? Может быть, острое желание разбить копилку и купить этот гаджет? Хотя, мне кажется, это было что-то типа недоумени...

Челюсти из Harz labs model black на Hardlight Sirius Приветствую всех!Дошли руки наконец-то обкатать сторонние полимеры на Сириусе. Для начала взял один из моих любимых фотополимеров Harz labs model black, которым я уже успел отпечатать не одну сотню челюстей на других принтерах.Результат получился отличный. Экспозицию подбира...

[Перевод] Доклад Sysdig об использовании контейнеров за 2019: новые сведения о Kubernetes и безопасности Сегодня мы с огромной радостью представляем доклад Sysdig об использовании контейнеров за 2019 год (Sysdig 2019 Container Usage Report). Kubernetes продолжает набирать обороты, активнее осваиваются облачные архитектуры, и все это меняет не просто паттерны использования, но ...

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

Как скачать на телефон фотографии из Instagram Instagram по праву стал настоящим символом нашего время. Несмотря на большую популярность TikTok, которая, судя по всему, скоро перестанет расти из-за вводимых по всему миру запретов, именно Instagram по-настоящему рулит. Он есть почти у всех публичных и не очень персон. В ...

Бесплатный вебинар «Брендинг для малого бизнеса» Первая бизнес-школа клубного типа «БИЗНЕС ИНСАЙТ» приглашает Вас принять участие в бесплатном вебинаре на тему «Брендинг для малого бизнеса. Пошаговое руководство по строительству сильного мини-бренда». В интернете и на книжных полках множество ...

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

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

[Перевод] Как бороться с привычками запрограммированным людям Перевод статьи из микроблога биохакера Сержа Фаге. В человеке есть запрограммированные паттерны поведения, которые всегда запускаются одним и тем же механическим, линейным способом. Так называемые «страстные желания» (англ. – cravings) – вещи и занятия, которые очень хочетс...

MLOps — Cook book, chapter 1 Всем привет! Я CV-разработчик в КРОК. Уже 3 года мы реализуем проекты в области CV. За это время чего мы только не делали, например: мониторили водителей, чтобы во время движения они не пили, не курили, по телефону не разговаривали, смотрели на дорогу, а не сны или в облака...

Демистификация JWT Вокруг JWT сложилась много распространенных заблуждений. Одно из них, например, что JWT зашифровано (на самом деле только подписано и закодировано base64url). На практике, я часто встречаюсь с довольно странными решениями, когда в JWT хранится только один идентификатор сесси...

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

Фильтрация воздуха из термокамеры Недавно приобрел принтер king roon kp3   попробовал печатать свои проекты и это меня затянуло с головой .С 3 д печатью границы в творчестве заметно раздвинулись)),но вопрос  каким пластиком печатать и что бы не  очень дорого поставил меня немного в ступор.Цены на пластики в ...

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

Мечтатели 1 августа. LIVE трансляция. Участие бесплатно. Кризис — не повод отказаться от мечты. Это лучшее время, чтобы действовать! В мире происходит тотальная смена основных парадигм: бизнеса, общества, спроса, предложения. На одной площадке со...

Анатомия юнит-теста Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). З...

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

Зачем нам 170 разработчиков Привет, Хабр! Меня зовут Андрей Евсюков, я заместитель CTO в Delivery Club. Наша компания устроена сложнее, чем может показаться, когда представляешь себе сервис по доставке еды. Даже когда примерно знаешь, что там может быть под капотом. В этой серии статей я расскажу о ...

[Перевод] Как в Python реализованы очень длинные числа типа integer? Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Когда вы пишете на низкоуровневом языке, таком как С, вы беспокоитесь о выборе правильного типа данных и спецификаторах для ваших целых чисел, на каждом шаге анализируете достаточно ли будет ис...

Подробности о процессоре VIA CenTaur, грядущем конкуренте Intel Xeon и AMD EPYC В конце ноября VIA неожиданно для всех сообщила, что её «дочка» CenTaur работает над совершенно новым x86-процессором, который, как утверждает компания, является первым CPU со встроенным ИИ-блоком. Сегодня же VIA поделилась подробностями внутренней архитектуре процессора. То...

Алексей Берзин поможет ТТК Алексей Берзин занял должность руководителя Департамента информационных технологий ТТК. "На новом посту он будет контролировать и координировать развитие информационных технологий и информационной безопасности Группы компаний ТТК на уровне корпоративного центра, макрорегиона...

Huawei помогла «Миррико» модернизировать ИТ-инфраструктуру Huawei и российская группа производственно-сервисных компаний «Миррико» объявили об успешном завершении очередного этапа модернизации ИТ-инфраструктуры. В ходе комплексного проекта была создана масштабируемая и отказоустойчивая гетерогенная сеть ...

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

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

[Перевод] Worker Service в .NET Core 3: что такое и зачем нужно В .NET Core 3 появился новый шаблон проекта под названием Worker Service. Этот шаблон разработан, чтобы дать вам отправную точку для создания кроссплатформенных сервисов. В качестве альтернативного варианта использования: он дает очень хорошую среду для создания консольных п...

CreateRemoteThread для Linux В WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить ...

В духе времени Нефтяные компании проходят путь цифровой трансформации, причем российские проявляют в данном процессе высокую активность. О том, что дает внедрение цифровых технологий участникам нефтегазовой отрасли, обозревателю "Стандарта" Якову Шпунту в ходе V Федерального ИТ-форума нефт...

Асинхронное взаимодействие. Брокеры сообщений. Apache Kafka Данная публикация предназначена для тех, кто интересуется устройством распределенных систем, брокерами сообщений и Apache Kafka. Здесь вы не найдете эксклюзивного материала или лайфхаков, задача этой статьи – заложить фундамент и рассказать о внутреннем устройстве упомянутог...

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

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

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

[Из песочницы] A* pathfinding на C#: двоичные кучи и борьба с аллокациями Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат. Сначала кратко ознакомимся с методами обхода графов, напишем собственно поиск пути, а затем перейдём к самому вкусному: оптимизации быстродействия...

Планирование непрерывности Service Desk Что нужно сделать, чтобы убедиться, что ваш сервисный центр сможет работать в чрезвычайной ситуации? Ответ на этот вопрос предлагает известный эксперт в области ITSM Стюарт Рэнс (Stuart Rance). Около 30 лет назад, когда я работал в международной IT-компании, одно из наших з...

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

[Перевод] Чеклист для проекта по машинному обучению В этом посте я собрал чеклист, на который я постоянно ссылаюсь, работая над комплексным проектом по машинному обучению. Зачем мне вообще нужен чеклист? Поскольку вам необходимо иметь дело с многочисленными элементами проекта (подготовка, вопросы, модели, подстройка и т. ...

Особенности строительства национальных дата-центров, Михалыч Проводим измерения для прохождения сертификации по Tier 3 в дата-центре в Стамбуле. И нет, на фото не я. Я руковожу проектами создания ЦОДов в России и за рубежом. И хочу рассказать о том, как в последние годы российские ЦОДы приобретают свой особый стиль проектирования. ...

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

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

Go vs Python. Виталий Левченко Предлагаю ознакомиться с расшифровкой доклада Виталия Левченко Go vs Python Go — волшебное слово, решение всех проблем продакшна разом и одновременно негодная технология без эксепшнов. Истина посередине, поэтому поговорим о конкретных примерах: asyncio vs горутины; производ...

Почему игровые мониторы имеют частоту обновления 144 Гц? Почему в мониторах используется частота 144 герц? В последнее время всё чаще можно встретить на прилавках магазинов мониторы с частотой обновления картинки 144 герц. Что же такое «частота обновления»? Это то, сколько раз дисплей обновляет картинку за одну секунду. ...

Процессоры Loongson 3A4000 сравнимы с 28-нм CPU AMD на архитектуре Excavator После торжественного представления ранее на этой неделе нового поколения процессоров китайской компании Loongson новинки прописались на сайте разработчика, что дало нам возможность узнать о них чуть больше из первых рук. Но начнём мы с того, что Loongson заявила о достижении...

Появились новые детали о настольной игре Tellstones: King’s Gambit от Riot Games Если некоторые компании, например, Netflix, стараются расширять свои франшизы в формате видеоигр, добавляя туда экшена и сюжета, то Riot Games считает, что настало время выпустить ещё одну настольную игру. Она называется Tellstones: King’s Gambit. Компания даже сделала аним...

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

[Перевод] Реализация SOLID и слоистой архитектуры в Node.js с TypeScript и InversifyJS Привет, Хабр! Предлагаю вашему вниманию перевод статьи Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS автора Remo H. Jansen В этой статье мы рассмотрим архитектуру, известную как слоистая (onion). Слоистая архитектура — подход к пост...

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

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

И целого байта мало… (Часть #1) Дамы, господа, сегодня отличный день! Скорее всего вы помните, что существует такая форма компьютерного искусства как «демосцена», но если слышите это слово впервые — просто прочитайте тематический хаб и теги на Хабре, а так же пару популярных статей по этому вопросу. Од...

Безопасность 5G Одна из самых популярных тем в последнее время: безопасен ли 5G для здоровья людей. Однако, в этой статье речь пойдет совсем не об этом, а об архитектуре безопасности этой сети. Насколько надежные технологии скрываются внутри? Читать далее

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

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

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

Управление услугами в 2020 и далее... Многие организации усердно работают над улучшением у себя управления ИТ-услугами. Зачастую они сосредотачиваются на изменениях способов управления своими внутренними процессами, средств автоматизации и технологий, которые они используют. У такого подхода есть свой предел. По...

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

[Из песочницы] Быстрое ознакомление с SwiftUI SwiftUI — это новый удобный способ для создания пользовательских интерфейсов на Xcode. Если хотите быстрое ознакомление с SwiftUI, тогда этот блог пост для вас. Для начала давайте создадим проект с поддержкой SwiftUI. Минимально необходимые для этого требования системы — эт...

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

Самые мощные лазерные проекторы Panasonic в медиархитектуре Panasonic не просто выбирает что показывать на выставках и кого спонсировать, все акценты делаются так, чтобы помочь партнерам-интеграторам увидеть наиболее перспективные направления, очередным стала медиаархитектура У Panasonic всегда есть чем поразить с точки зрения техни...

Make Ops Dev again! Одной из задач, которую приходится решать в рамках помощи команде организоваться — приблизить ее к пониманию ответов на один из часто возникающих вопросов: Как привлекать специлистов, которые не работают над развитием продукта fulltime: Compliance, UX, CI/CD? Вход...

[Перевод] 6 хитростей Python, о которых никто не рассказывает новичкам В наши дни Python — это самый популярный в мире язык программирования. Одна из причин этого кроется в том, что разработчики с удовольствием пишут на Python. Это выгодно отличает Python от других языков. Python завоёвывает сердца новичков и опытных программистов простотой си...

Издатель Crescent Moon Games анонсировал 8 игр на этот год Популярный мобильный издатель Crescent Moon Games анонсировал сразу 8 грядущих проектов для iOS и Android на этот год от сторонних разработчиков. Beyond This Side Это эпизодическое приключение с главным героем по имени Сэм. Его жена пропадает, и рука — все, что от нее ос...

Kubernetes tips & tricks: особенности выполнения graceful shutdown в NGINX и PHP-FPM Типовое условие при реализации CI/CD в Kubernetes: приложение должно уметь перед полной остановкой не принимать новые клиентские запросы, а самое главное — успешно завершать уже существующие. Соблюдение такого условия позволяет достичь нулевого простоя во время деплоя. Од...

«Системный софт» предложит клиентам решения Renga Software «Системный софт» начал продажи продуктов российской компании Renga Software, разработчика программного обеспечения для архитектурного проектирования. «С 1 марта 2018 года в России в силу вступили новые своды правил ...

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

Техника Apple для создания саундтреков 28 февраля в Академии re:Store выступит Дмитрий Селипанов (@dmitryselipanov) — композитор, автор музыки более чем к двадцати художественным и документальным фильмам, мультипликационному кино, видеоиграм, музыкальному спектаклю и множеству других...

De-RISC создаст европейские процессоры RISC-V для космоса Космическая вычислительная техника сильно отличается от обычной: в таких аппаратах применяют микросхемы, хорошо защищённые от всевозможных излучений. По сложившейся традиции, в аэрокосмической сфере применяют, в основном, архитектуры PowerPC или SPARC. Но компании Cobham Gai...

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms...

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

Python &amp;amp; EEL. Делаем просто на Python’е и красиво на JS Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие со...

Чужой код — потемки: чем опасно скачивание «безобидного» софта с GitHub Наверное, каждый из тех, кто читает эту статью, хорошо знаком с GitHub — крупнейшим веб-сервисом для хостинга IT-проектов и их совместной разработки. Здесь можно найти почти любой open source-проект. Для компиляции проекта может быть нужен какой-то специфический софт, кото...

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

Деревья выражений в C# на примере нахождения производной (Expression Tree Visitor vs Pattern matching) Доброго времени суток. Деревья выражений, особенно в сочетании с паттерном Visitor, всегда являлись довольно запутанной темой. Поэтому чем больше разнообразной информации по этой теме, чем больше примеров, тем легче интересующимся будет найти что-то, что им понятно и полезно...

Microsoft полностью перепишет часть Windows на своем новом языке программирования Как пишет CNews со ссылкой на Zdnet, новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается ...

Управлять правами на уровне объектов Рано или поздно, разработчик на Django встречается с проблемой: как сделать так, чтобы пользователи не могли изменять или удалять, а то и вовсе не видели разных объектов одного и того же типа. Допустим, ваш проект касается хранения информации о проектах. Разные пользователи ...

[Из песочницы] Riak Cloud Storage. Часть 1. Настройка Riak KV Riak CS (Cloud Storage) – лёгкое в использовании программное обеспечение для организации хранилища объектов, работающее поверх Riak KV. Riak (KV) это распределённая NoSQL база данных типа «ключ-значение(key-value)». Riak CS спроектирована так, чтобы обеспечить простоту, дост...

Что такое Android? Когда речь заходит об Android, многие не совсем понимают, что имеет ввиду человек. Android — это смартфон или операционная система? Что вообще такое «операционная система»? Многим может показаться этот вопрос слишком простым, но не все до конца понимают это....

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

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

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

Как сделать активистский мерч: разбираем на примере DOXA, «Арестантов дела 212» и проекта «Мерчизм» Как запустить онлайн-магазин с активистским мерчем? Как собрать деньги на оплату адвокату с помощью стикерпаков и худи? Об этом мы поговорили на митапе Теплицы социальных технологий «Как делать активистский мерч привлекательным и идейным». На встрече выступили основ...

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

[Перевод] Микросервисы со Spring Boot. Часть 4. Использование Ribbon для балансировки нагрузки Это часть 4 серии о микросервисных архитектурах, в которой мы сосредоточимся на использовании Ribbon для балансировки нагрузки. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов Часть 2. Создание микросерви...

(Не)стоп-кадр: как создавать видеоконтент удаленно Самоизоляция не означает, что вы не можете создавать видеоконтент для вашей организации. Снимать, монтировать и выкладывать видео можно и удаленно. Главное, найти идеи для роликов и подходящие программы для монтажа. Журналист Теплицы Екатерина Ульянова собрала рекомендации,...

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

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

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

Внедрение зависимостей (Dependency Injection) с GetIt во Flutter Внедрение зависимостей - DI - Dependency injection - термин часто встречающийся на собеседованиях. Сам по себе концепт опирается на более объемный принцип инверсии зависимостей (буква D в SOLID), но намного проще и ближе к практике. Кратко можно сказать, что при внедрении за...

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

Envoy для самых маленьких Всем привет! Я работаю бэкенд-разработчиком в компании Tinkoff, где участвую в разработке платформы CRM-системы для обслуживания физических и юридических лиц. Использование edge proxy и балансировщика в частности — это почти мастхэв при построении современных систем. Сегодн...

Зонтичная Grafana — скрещиваем Zabbix и Microsoft SCOM Если у вас есть Grafana и несколько систем мониторинга, то почему бы не визуализировать все имеющиеся данные и статусы в едином интерфейсе? Покажем на примере нашего тестового стенда как скрестить Zabbix и SCOM в единой Grafana и сделать сервисный мониторинг (с точки зрен...

[Из песочницы] Познаем промисы на основе Ecmascript спецификации. Знакомство Здравствуйте. Изучая JavaScript (да и в принципе любую другую технологию), всегда возникают разнообразные вопросы, главный из которых: «А почему это работает таким образом и не иначе?» И очень важно в этот момент не просто найти...

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

Восемь «больших» и восемь «маленьких» ядер в CPU Intel. Настольные процессоры Alder Lake будут очень необычными Как известно, у Intel нет 10-нанометровых настольных процессоров и не будет в ближайшее время. Грядущие новинки — CPU линейки Comet Lake — не принесут никаких кардинальных изменений, если не считать нового сокета и появления 10-ядерных моделей. Следующие за ...

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

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

[Перевод] Введение в ELF-файлы в Linux: понимание и анализ Есть в мире вещи, которые мы принимаем как нечто само собой разумеющееся, хотя они являются истинными шедеврами. Одними из таких вещей являются утилиты Linux, такие, как ls и ps. Хотя они обычно воспринимаются как простые, это оказывается далеко не так, если мы заглянем внут...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

[Перевод] BFcache BFcache – технология оптимизации работы браузера, обеспечивающая мгновенную отдачу ранее просмотренной страницы при помощи кнопок «Вперед» и «Назад». Этот паттерн значительно улучшает пользовательский опыт, особенно у пользователей, обладающих слабенькими устройствами или пр...

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

[Из песочницы] Хакинг классического Sonic the Hedgehog для Sega В этой статье я хочу разобрать внутреннее устройство легендарной игры Sonic the Hedgehog для приставки Sega Mega Drive, а также способы ее модификации или, как еще говорят, хакинга. Эта игра насчитывает порядка сотни хаков, включающих как действительно достойные работы (таки...

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

Минцифры объявило конкурс IT-проектов #HackCorona in Ukraine с призовым фондом 4 млн грн Министерство цифровой трансформации Украины официально объявило конкурс #HackCorona in Ukraine. О планах его запуска сообщалось на прошлой неделе. Как отмечает Минцифры, #HackCorona in Ukraine – это национальный конкурс IT-проектов и идей, которые облегчают жизнь граждан и б...

[Перевод] Создание бесшовных карт шума Создать бесшовное изображение в Photoshop легко: обрезать изображение, взять обрезанную правую и нижнюю части, а потом приклеить их слева и сверху при помощи инструмента «Ослабить» (Fade). Но для правильной реализации бесшовных карт шума придётся хорошенько подумать. Если ...

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

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

Opium.Fill — цветовая схема глазами программиста Привет. Сегодня покажу вам цветовую схему, которой пользуюсь последние 2 года. Она была придумана, чтобы на проблемном проекте избавиться от огромного количества переменных в CSS. А потом оказалось, что эти принципы можно применить почти к любому проекту. В общем, попробу...

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

[Перевод] Создание панорамных видео в Unity Зачем нужны панорамные видео? Большинство статей моего блога рассчитано на разработчиков игр. Если вы один из них, то можете задаться вопросом, чем вас может заинтересовать создание панорамных видео (360° videos). Виртуальная реальность — очень успешная отрасль, на различны...

Oracle Cloud: бесплатный VPS 4 ядра ARM/24ГБ памяти: решаем проблему большого спроса (OCI CLI) Очень заманчивая конфигурация была недавно анонсирована в рамках доступа "Всегда бесплатно". К сожалению, "очень быстро разбирают", а именно - сложно запустить экземпляр, постоянно вылазит ошибка “Out of Capacity”. Здесь мы решаем эту проблему, так как Oracle время от време...

Украина запустила собственную поисковую систему Помимо поисковика с украинской выдачей и сервисом контекстной рекламы, разработчики проекта намерены запустить ряд других продуктов:платформу Global Hub Bill-Mill, предназначенную для поддержки, продвижения, реализации проектов и стартапов. Это бизнес-инкубатор полного цикла...

"Умным городам" нужна синергия бизнеса и власти Представитель "Ланит-Интеграция" Андрей Могилев считает, что прежде чем стандартизировать "умные города" необходимо регионам необходимо наладить диалог между бизнес- и политическими элитами. "Надо сначала понять, что мы хотим делать. Мы должны решить, кто с кем должен взаимо...

Sony создаёт для PS5 10 или более полностью новых игр, а Microsoft работает над одной Вчера мы узнали о том, что в недрах Sony ведётся разработка более чем 25 игр для PlayStation 5, почти половина из которых будут совершенно новыми проектами в новых вселенных. То есть можно говорить о 10 или более полностью новых игр.  А что же готовит Microsoft? Г...

20 систем управления проектами, обзор 100 фишек – Рынок систем управления давно насыщен! Это была хорошая идея 30 лет назад. – Ха-ха еще одна система управления проектами. Их же уже сотни? – Команда вроде опытная, а занялись давно просроченной идеей. Вам бы что-то на Блокчейн сделать… Примерно так говорят 9 из 10 инвест...

Дайте все №7: новые возможности для НКО и активистов Подборка образовательных и других возможностей от редакции Теплицы.  Арт-резиденция для НКО и дизайнеров Команда Револьт-центра запустила онлайн арт-резиденцию для художников, дизайнеров и НКО. Так они решили поддержать две группы, которые нуждаются в новых решен...

CMDB мертв — да здравствует CMDB У многих крупных ИТ-компаний есть базы данных управления конфигурациями, проще говоря, CMDB. Они важны для управления конфигурацией в целом, руководства и координации DevOps. Тем не менее, эти устаревшие системы хранения данных часто не могут оправдать наших ожиданий в усло...

О наставничестве в целом и в частности «Кадры решают все!»  Никогда такого не было, и вот опять... Уволился довольно квалифицированный сотрудник, при том что объем работ пропорционально не уменьшился. Первая коллективная мысль, с которой согласились все оставшиеся «полтора ...

Укрощая зверя: legacy-код, тесты и вы Legacy-код — это «старый» код, возраст которого может быть как 2 месяца, так и 10 лет. Часто его писали разработчики, о которых в компании смутно помнят. Возможно, их вообще не было, а legacy-код родился вместе со Вселенной во время Большого Взрыва. С тех пор требования к не...

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

[Перевод] Keras Functional API в TensorFlow В Keras есть два API для быстрого построения архитектур нейронных сетей Sequential и Functional. Если первый позволяет строить только последовательные архитектуры нейронных сетей, то с помощью Functional API можно задать нейронную сеть в виде произвольного направленного ац...

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

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

[Из песочницы] Погружение в Delta Lake: принудительное применение и эволюция схемы Привет, Хабр! Представляю вашему вниманию перевод статьи «Diving Into Delta Lake: Schema Enforcement & Evolution» авторов Burak Yavuz, Brenner Heintz and Denny Lee. Данные, как и наш опыт, постоянно накапливаются и развиваются. Чтобы не отставать, наши ментальные модели ми...

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

Гудит (шумит) кулер - устраняем. Дорогие друзья приветствую вас!Постараюсь рассказать максимально коротко причины гудения и как это устранить. А кто не может по каким либо причинам прочитать пост полностью, есть видео:Итак, на большинстве дешёвых кулеров стоят радиальные подшипники скольжения, т.к. это самы...

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

[Перевод] Правила компоновки во Flutter, которые должен знать каждый Когда новичок во Flutter спрашивает, почему какой-то виджет с width: 100 не ширины 100 пикселей, обычно ему отвечают, что надо обернуть этот виджет в Center, верно? Не надо так делать Если так отвечать, то к вам будут возвращаться снова и снова, спрашивая, почему какой-то F...

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

32 отличия дизайна мобильного приложения под iOS и Android Железный дизайнер из Redmadrobot Design Lab Артур Абраров делится наблюдениями. Адаптировать дизайн под другую платформу — неотъемлемая часть работы дизайнера мобильных приложений. Цель этой работы — органично вписать дизайн в паттерны взаимодействия пользователя. К тому ...

Обзор LifeAfter: Night falls. Выживание во всей красе Далеко не всем разработчикам мобильных игр удается привлечь внимание пользователей своими продуктами по одной простой причине — некоторые проекты просто не выдерживают критики. Однако если вы действительно хотите поиграть в нечто крутое и необычное, то у нас для вас отличные...

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

Горшочки для кактусов от BF Gold. Купил как-то пластик PLA от BF Gold, хотелось именно золотой цвет для печати модели. Как обычно бывает, по картинке/фото было одно, реально немного другое. Просто не уточнил при покупке а он не с красителем а с наполнителем, не подошел к задуманному. Так он у меня без движен...

Flutter, Dart — локальная база в сотни раз более быстрая чем SQLite или Shared Preferencies Примерно месяц назад общаясь с одним разработчиком приложения на Flutter встала проблема торможения обработки маленьких (в десятках тысяч) массивов данных на телефоне юзера. Многие приложения предполагают обработку данных на телефоне и, далее, их синхронизацию с бэкендом. На...

Практическое занятие «Поиск вредоносного ПО в IoT» Продолжаем серию занятий по разбору CTF-задач для тех, кто начинает карьеру в ИТ и ИБ. Ближайший вебинар стартует в четверг 23 апреля в 18:00 и будет посвящен поиску вредоносного ПО в IoT. Будем разбирать протокол общения вредоносного ПО с C&C-серверами на примере ботне...

Прибыль, люди, планета: как оценить работу социального проекта Помощь людям или прибыль – какой из этих показателей наиболее важен в работе социального проекта? Оценивать результаты только по одному критерию некорректно. Финансовые показатели будут говорить только о выручке, которую получил проект. Оценка же одного социального эффекта ...

Как заменить target-action и delegate замыканиями Apple предоставляет различные варианты обработки данных и событий в iOS приложениях. Обработка событий UIControl происходит через паттерн target-action. В документации к UIControl написано следующее: The target-action mechanism simplifies the code that you write to use contr...

Современный веб не готов к складным смартфонам Не так давно компания Samsung продемонстрировала нам, на что способны её работники в вопросе разработке в какой-то степени революционных продуктов. Galaxy Fold стал первым в мире складным телефоном с гибким экраном. С тех пор были выпущены Huawei Mate X, Galaxy Z Flip, Moto...

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

Первая PR-премия для малого и среднего бизнеса «Громче!» Приглашаем принять участие в первой PR-премии для малого и среднего бизнеса «Громче!». Почему «Громче!»? Это первая в своём роде премия, которая даёт возможность представить свои работы представителям МСБ. Участники премии получают: Признание. Очень важно знать и чу...

Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использовать. Алексей Зателепин (2018г) ClickHouse — высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как C...

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

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

YouTube приглашает россиян поучаствовать в историческом проекте Команда популярного видеосервиса YouTube рассылает приглашения для участия в историческом проекте — документальном фильме об одном дне жизни на Земле. Такие приглашения начали поступать и российским пользователям.  Документальный фильм создаётся рамка...

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

[Перевод] Машинное обучение столкнулось с нерешенной математической проблемой Салют, хабровчане! В преддверии запуска новых потоков по продвинутому и базовому курсам «Математика для Data Science» хотим поделиться с вами достаточно интересным переводом. В этой статье не будет практики, но материал интересен для общего развития и обсуждения. Группа ис...

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

[инструкция] Создание аккаунта и сайта на платформе Google Site Спасибо пользователю Exosphere за помощь и конструктивную критику Часто возникает необходимость структурировать информацию, создать какой то банк данных, который будет доступен по сети интернет. Однако при этом нет необходимости создавать полноценный сайт или изменять теку...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

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

Никто (почти) не знает, что такое авторизация За время работы архитектором в проектах внедрения IdM я проанализировал десятки реализаций механизмов авторизации как во внутренних решениях компаний, так и в коммерческих продуктах, и могу утверждать, что практически везде при наличии относительно сложных требований они с...

[Перевод] Вероятно, хватит рекомендовать «Чистый код» Возможно, мы никогда не сможем прийти к эмпирическому определению «хорошего кода» или «чистого кода». Это означает, что мнение одного человека о мнении другого человека о «чистом коде» обязательно очень субъективно. Я не могу рассматривать книгу Роберта Мартина «Чистый код» ...

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

Nuxt as fullstack server: frontend + backend API Server (Часть 1) Часть 1: Nuxt as fullstack server: frontend + backend API Server Часть 2: Additional SSR performance with Nuxt fullstack server Разработчики Nuxt предлагают 3 метода доступа к API: Встроенный в Nuxt сервер Connect и использование serverMiddleware Интегрированные фреймво...

Apple удалила учётную запись Epic Games из магазина App Store В середине августа Apple заявила о намерении удалить из App Store учётную запись Epic Games, если разработчики продолжат нарушать правила платформы, осуществляя поддержку собственного платёжного механизма в популярной игре Fortnite. Теперь Apple перешла от угроз к действиям ...

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

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

Пишем расширение для Burp Suite с помощью Python Привет, Хабр!Думаю многие знают о таком инструменте, как Burp Suite от PortSwigger. Burp Suite – популярная платформа для проведения аудита безопасности веб-приложений. Помимо того, что Burp и так содержит тонну полезных функций, он еще и дает возможность пользователям созда...

[Перевод] Преобразование графов для процедурной генерации уровней Я много занимался деконструкцией инди-игры 2017 года Unexplored Джориса Дорманса. Она идеально воплощает идею процедурно генерируемых подземелий в стиле Zelda, и я обязан был выяснить, как происходит эта магия. К счастью, основная часть логики генерации написана на специали...

[Перевод] Ассемблер RISC-V для начинающих Если вы не знаете ни одного ассемблера, или, возможно, не имеете большого опыта кодинга как такового, то ассемблер RISC-V может быть одним из лучших вариантов для того, чтобы погрузиться в эту тему. Конечно, материалов по ассемблеру x86 гораздо больше. Больше людей, которые ...

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

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