Социальные сети Рунета
Вторник, 16 апреля 2024

[Перевод] 10 тенденций тестирования программного обеспечения, на которые стоит обратить внимание в 2019 году Всем привет! В преддверии запуска курса «QA-специалист», который стартует уже через 10 дней, хотим поделиться материалом, который расскажет о новых подходах в тестировании и будет полезен всем, кто следит за новыми тенденциями и остается в тонусе. С появлением технологий A...

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

1000 и 1 фидбэк Привет! Меня зовут Евгения Голева, я выступила на TeamLeadConf с докладом про обратную связь и хочу поделиться с вами его вольной расшифровкой. Мне удалось под соусом совсем другого проекта научить инженеров давать обратную связь гораздо лучше, чем они делали это раньше. Для...

[Перевод] Пишем свой сетевой слой на Swift: протокол-ориентированный подход Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого с...

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

Конференция для фанатов DevOps-подхода Речь, конечно, о DevOpsConf. Если не вдаваться в детали, то 30 сентября и 1 октября мы проведем конференцию об объединении процессов разработки, тестирования и эксплуатации, а если вдаваться — прошу под кат. В рамках DevOps-подхода все части технологического развития проект...

ok.tech: frontend meetup 4 июня в петербургском офисе Одноклассников пройдет ok.tech: frontend meetup. Вместе с коллегами из OK.ru, Яндекса и mail.ru поговорим про тестирование на основе свойств, эволюцию подходов работы с текстами, познакомимся с новой библиотекой от создателя Emmet Сергея Чикуён...

Что я узнал, протестировав 200 000 строк инфраструктурного кода Подход IaC (Infrastructure as Code) состоит не только из кода, который хранится в репозитории, но еще людей и процессов, которые этот код окружают. Можно ли переиспользовать подходы из разработки ПО в управление и описание инфраструктуры? Будет не лишним держать в голове эт...

Yoast: Google не должен был единолично менять подход к обработке rel=nofollow Основатель и директор по продукту Yoast Джуст де Волк (Joost de Valk) раскритиковал Google за изменение подхода к обработке ссылочного атрибута rel=“nofollow”, который теперь будет расцениваться поисковой системой как подсказка, а не директива. Своими мыслями он поделился в ...

Clean Decomposition Об использовании чистой архитектуры в Android сказано предостаточно. На GitHub можно найти десятки шаблонов на разные вкусы: на Java или Kotlin, с Dagger2 или Koin, с Rx или с Coroutines. Но никто не говорит о том, как разбить определенный функционал при использовании «чисто...

Как не утонуть в рутине, или Наш опыт сравнения AWR-дампов при проведении нагрузочного тестирования Всем привет! Меня зовут Людмила, я занимаюсь нагрузочным тестированием, хочу поделиться тем, как мы выполнили автоматизацию сравнительного анализа регрессионного профиля нагрузочного тестирования системы с БД под СУБД Oracle вместе с одним из наших заказчиков. Целью статьи ...

Оптимизация производительности .NET (C#) приложений Статей с подобным заголовком достаточно много, поэтому постараюсь избежать банальных тем. Надеюсь, что даже очень опытные разработчики найдут здесь что-то новое для себя. В данной статье будут рассмотрены только простые механизмы и подходы к оптимизации, которые позволят п...

HTTP Request smuggling — новые подходы 7 октября 2019 года директор отдела исследований PortSwigger (производителя BurpSuite) опубликовал исследование о новых подходах к HTTP Request smuggling. С их помощью он заработал на bugbounty около $70000. В этой заметке мы коротко выясним суть атаки, инструментарий, а так...

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

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

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

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

[Перевод] История четырёхкратного ускорения React-приложения Почти 60% посетителей сайта покидают его в том случае, если его загрузка занимает более 3 секунд. 80% таких посетителей на сайт уже не возвращается. Это говорит о том, что успех веб-проекта не в последнюю очередь зависит от его скорости. Автор материала, перевод которого мы ...

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

DevOops 2019 глазами разработчика 29-30 октября в Санкт-Петербурге прошла конференция DevOops. В этой статье я поделюсь впечатлениями и инсайтами, а также краткими заметками о прослушанных докладах. Небольшой disclaimer: поскольку я разработчик, то некоторые мысли и комментарии могут быть с уклоном в Dev, ...

Повышающий продажи маркетинговый абсурд: проверенные кейсы Исполнительный директор самого популярного в мире сервиса для музыкантов Ultimate Guitar, Михаил Трутнев, рассказал на Epic Growth Conference про подход, который поможет увеличить количество густых идей и, следовательно, привести к росту продукта. Этот подход называется «ирр...

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

RDMA внутри ЦОД в реализации от Huawei Под катом о том, какой подход предлагает Huawei при организации удаленного прямого доступа к памяти с использованием технологии AI Fabric и чем он отличается от InfiniBand и «чистого» RDMA на базе Ethernet. Читать дальше →

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

[Из песочницы] Schemathesis: property-based тестирование для API схем Фото Chris Keats на Unsplash Многие компании, и мы в том числе, перешли от монолитов к микросервисам ради лучшей масштабируемости и ускорения циклов разработки. У нас всё еще есть монолитные проекты, но они постепенно заменяются набором небольших и аккуратных микросервисов....

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

Behaviors — конечный автомат без головной боли Стандартный подход к описанию последовательности вводов пользователя и реакции на них (например при управлении персонажем в игре) — это конечный автомат (state machine). Он, однако, часто приводит к громоздким программам, понимание которых требует немалых усилий или даже зар...

Как заопенсорсить npm-пакет с нормальным деплоем, CI и демо (без потери радости к жизни) Вот вы сделали что-то новое и крутое, приходит мысль — выложить в опенсорс и опубликовать в npm. Просто запушить код в публичный репозиторий недостаточно. Это обречет проект на отсутствие развития и провал. А с другой стороны вспоминается целый ряд скучных процессов: версио...

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

Книга «Agile для всех» Agile дает реальные и действенные ответы на вопрос, который не дает спокойно спать руководителям: «Как оставаться успешным в быстро меняющемся и непредсказуемом мире?» Эта методология уже завоевала рынок, доказав, что является одним из лучших подходов для создания и доставк...

Онбординг как продажа веры в продукт и взлом роста конверсии — опыт Revolut и Wrike Product owner в Revolut Михаил Цвик поделился на конференции по продуктовому маркетингу Epic Growth Conference концепцией и практическим опытом взлома конверсии с помощью онбординга. Ниже опубликована расшифровка его выступления. Большинство кейсов представлены из компании...

[Из песочницы] Типизация REST API для фронтенд разработчика Сегодня широкое распространение имеют следующие подходы для описания взаимодействия браузера и сервера, такие как OpenApi & GraphQL. В этой статье я расскажу о нашей попытке сделать статически типизированное REST API и избавить фронтенд команду от написания кода по нап...

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

Заметка о интеграционном тестировании используя Jenkins на Kubernetes Добрый день. Практически сразу после установки и конфигурации CI/CD по инструкции из предыдущего поста у команды возник вопрос как правильно осуществлять интеграционное тестирование. У нас уже был опыт запуска тестовых зависимостей в docker контейнерах, но это стало проблема...

[Перевод] Использование Fastify и Preact для быстрого прототипирования веб-приложений Автор материала, перевод которого мы сегодня публикуем, хочет поделиться рассказом о том, какими технологиями он пользуется для быстрой разработки прототипов веб-приложений. В число этих технологий входят библиотеки Fastify и Preact. Он, кроме того, пользуется библиотекой ht...

Kafka и микросервисы: обзор Всем привет. В этой статье я расскажу, почему мы в Авито девять месяцев назад выбрали Kafka, и что она из себя представляет. Поделюсь одним из кейсов использования — брокер сообщений. И напоследок поговорим о том, какие плюсы мы получили от применения подхода Kafka as a Ser...

[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 2 Всем привет. Сегодня делимся с вами заключительной частью статьи «Тестирование инфраструктуры как код с помощью Pulumi», перевод которой подготовлен специально для студентов курса «DevOps практики и инструменты». Тестирование развертывания Рассмотренный стиль тестирования —...

ok.tech: Data Толк 13 июня приглашаем всех, кто работает с данными, в московский офис Одноклассников, на ok.tech: Data Толк. Вместе с коллегами из OK.ru, Mail.ru Group, ivi.ru, Яндекса и других технологических компаний обсудим вопросы эволюцию хранилищ и баз данных, поговорим о достоинтвах и...

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

Инженерные подходы и чеклисты: как не сойти с ума в хаосе задач Привет! Меня зовут Олег, и я frontend-разработчик в Альфа-Банке. Я хочу рассказать вам немного философскую историю — про инженерный подход к разработке, про мою первую работу и грабли, которые я там собрал, про то, почему чеклисты очень важны (и спасают жизни). А еще про ...

[Из песочницы] Современные тренды и рекомендации по аджайлизации крупных финансовых институтов 12-15 Мая 2019 в Дублине состоялся PMI EMEA Congress 2019, который был организован одним из лидеров отрасли в области разработки методологии управления проектами – Project Management Institute (PMI). Конгресс собрал более 700 делегатов из 70 стран и 450 организаций и стал ми...

[Из песочницы] Как я сделал удобной разработку на Vue.js с server-side рендерингом Всем привет! Начну с небольшой предыстории. Свой новый проект я решил попробовать сделать на Vue.js. Мне нужен был серверный рендеринг (SSR), CSS модули, code-splitting и прочие прелести. Разумеется, для повышения производительности разработки нужна была горячая перезагр...

Трактат о Pinе. Мысли о настройке и работе с пинами на С++ для микроконтроллеров (на примере CortexM) Последнее время я сильно увлекся вопросом надежности софта для микроконтроллеров, 0xd34df00d посоветовал мне сильнодействующие препараты, но к сожалению руки пока не дошли до изучения Haskell и Ivory для микроконтроллеров, да и вообще до совершенно новых подходов к разработк...

Digital-мероприятия в Москве c 11 по 16 июня Подборка мероприятий на неделю Встреча с пользователями TheQuestion и Знатоков 11 июня (вторник) Толстого 16 бесплатно Приглашаем пользователей TheQuestion и Яндекс.Знатоков на встречу, посвящённую интеграции сервисов. Мы расскажем, как построена наша работа, и поделимся п...

End2End-подход к пониманию разговорной речи Существует несколько подходов к понимаю машиной разговорной речи: классический трехкомпонентный подход (включает компонент распознавания речи, компонент понимания естественного языка и компонент, отвечающий за некую бизнес-логику) и End2End-подход, который предполагает четыр...

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

Использование werf для выката комплексных Helm-чартов Статья посвящена разработке Helm-чартов для Kubernetes с использованием готовых решений из репозиториев чартов. При таком подходе пользователь применяет рецепты сообщества или свои собственные, обеспечивая своевременное обновление типовых компонентов всех своих проектов и ...

Проект по метформину ТАМЕ: мнения разделились Проект по метформину ТАМЕ собрал необходимые 75 млн долларов. А началось все ещё три года назад. В 2016 году вышла статья Nir Barzilai и соавт «Метформин как целевое средство против старения», в которой они рассказали о проекте TAME. «При поддержке гранта R24 от NIA (J. ...

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описа...

Фотография чёрной дыры — будет ли от неё польза? Обсуждая появившуюся на этой неделе фотографию черной дыры, кто-то из моих знакомых задал вопрос: какое значение имеет эта фотография в практическом смысле? Человек явно осознавал, что пытается троллить, но больше всего меня удивил ответ неглупой дамы из той же компании: «Н...

Создание React-ивного хука usePosition() для получения и отслеживания координат браузера Если вкратце В этой статье мы создадим React-ивный хук usePosition() для отслеживания геолокации браузера. Под капотом этот хук будет использовать методы getCurrentPosition() и watchPosition() нативного браузерного объекта navigator.geolocation. Финальную версию хука я опуб...

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

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

Бизнес-процессы в enterprise компаниях: домыслы и реальность. Проливаем свет с помощью R Краткая заметка по теме business process mining в контексте роста интереса к концепции "digital twin". В силу периодического выплывания этой темы считаю целесообразным поделиться подходами к решению. Постановка задачи Ситуация предельно проста. Есть компания X (Y, Z, ...)....

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

DLP RU vs DLP EU В продолжение прошлой заметки "Европейские ценности: Privacy in Working Life" сделал небольшую таблицу-сравнение подходов к использованию DLP в России и странах ЕС.

SAFe — это троянский конь? Крис Матц (Chris Matts) на днях опубликовал в своём блоге заметку с забавными, витиеватыми рассуждениями о том, является ли SAFe троянским конём («SAFe is the Trojan Horse»). SAFe, Scaled Agile Framework – методология масштабирования Agile (речь идёт о попытке масштабир...

Что не так с обучением с подкреплением (Reinforcement Learning)? Еще в начале 2018 года вышла статья Deep Reinforcement Learning Doesn't Work Yet ("Обучение с подкреплением пока не работает"). Основная претензия которой сводилась к тому, что современные алгоритмы обучения с подкреплением требуют для решения задачи примерно столько же вре...

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

[Перевод] Революция или эволюция Page Object Model? Всем привет! Меня зовут Артём Соковец. Хочу поделиться переводом своей статьи об Atlas: реинкарнации фреймворка HTML Elements, где представлен совершенно иной подход работы с Page Object. Перед тем, как перейти к деталям, хочу спросить: сколько обёрток для Page Object вы зн...

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

[Перевод] От Witcher 3 до Cyberpunk: эволюция дизайна квестов CD Projekt The Witcher 3 известен своим превосходным дизайном квестов, но разработчик игры CD Projekt Red обещает в своём новом проекте Cyberpunk 2077 развить и улучшить проверенный подход. На E3 2019 директор отдела квестов Матеуш Томашкевич рассказал нам, чему он научился, управляя...

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

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

[Из песочницы] OpenAI Gym+ROS+Gazebo: обучение автономного робота в домашних условиях. Часть 1 За последние несколько лет мы стали свидетелями внедрения технологий искусственного интеллекта в нашу повседневной жизни — от роботов-пылесосов до беспилотных дронов. Все они, управляемые искусственным интеллектом, уже являются для нас обыденностью. Но несмотря на это, проце...

Что разработчикам надо знать про бизнес Даже в очень крупных компаниях часто отношение к разработчикам, как к грибам: держат в темноте и кормят навозом. Пишите код, родные, и не высовывайтесь. Этот подход может быть удобен для многих (в том числе иногда — для самих разработчиков в случае не очень адекватного менед...

Словарь модели данных Михаил Коновалов, руководитель направления отдела сопровождения интеграционных проектов ИТ-дирекции МКБ День добрый, хабровчане! Цель Систематизированный подход к управлению загрузками. Мы хотим рассказать, как упорядочить и автоматизировать наполнение хранилища информацие...

Методика D.I.Y. проекта. Часть вводная Данная статья написана радиолюбителем, имеющим опыт руководства проектами по разработке и постановке на производство сложной радиоэлектронной аппаратуры. Цель данной статьи: помочь энтузиастам в организации их проектной деятельности, а также обозначить различия в подходах ...

Как решать NP-трудные задачи с помощью параметризованных алгоритмов Научно-исследовательская работа, пожалуй, самая интересная часть нашего обучения. Идея в том, чтобы ещё в университете попробовать себя в выбранном направлении. Например, студенты с направлений Software Engineering и Machine Learning часто идут делать НИРы в компании (в осно...

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

Unit тестирование в Laravel Я часто слышу среди обсуждений в сообществе мнение, что unit тестирование в Laravel неправильное, сложное, а сами тесты долгие и не дающие никакой пользы. Из-за этого эти тесты мало кто пишет, ограничиваясь лишь feature тестами, а польза unit тестов стремится к 0. Я тоже так...

Fake Door как часть Customer Development У меня есть нож, есть арбалет, Они служат мне уже тысячу лет. (с) КиШ Предположим, вам надо проверить насколько новая фича будет востребована клиентами. Зачастую, это решается с помощью интервьюирования, опросов, и т.д. У этих замечательных подходов есть свои плюсы/минусы...

Система управления проектами Agilean Система управления проектами Agilean Применение: Данная система отлично подходит для любых проектов по внедрению новых подходов и методологий, R&D проектов, проектов Lean-трансформации, культурной трансформации и в общем любых проектов, связанных с изменениями в орган...

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

[Из песочницы] Пишем «Hello, world!» приложение для web на Haskell (Spock) Мне стало скучно писать на Python, захотелось чего-нибудь необычного. Решил попробовать Haskell. Языка я не знаю, однако просто писать консольные учебные программы, типа вычисления факториала, не хотелось. После изучения довольно большого числа постов про Haskell и его приме...

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

Uibook — инструмент для визуального тестирования React-компонентов с медиа-запросами Всем привет! Меня зовут Виталий Ризо, я фронтенд-разработчик в «Амплифере». Мы сделали Uibook — простой инструмент для визуального тестирования React-компонентов с реальными медиа-запросами. Расскажу, как он работает и чем может быть полезен вам. Читать дальше →

Стратегия продукта и стратегия организации — как они связаны между собой Иван Подобед, Director of Game Platform в Awem, рассказал о стратегии с точки зрения системной инженерии. Будет полезно всем, кто хочет разобраться в базовых понятиях построения стратегии продукта и организации. Я часто сталкивался с понятием «стратегия» во время карьеры ар...

[Из песочницы] Бюджетная водянка для GPU. Знакомство и первый опыт Хочу поделиться с Вами, как Я собирал свою первую «бюджетную», местами самодельную, систему водяного охлаждения. Где-то на пути создания встречались неудобства, а где-то удача улыбалась. Я не ожидаю от СВО каких-то чудес и рекордов, а всего лишь хочу немного снизить температ...

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

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

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

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

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

[Из песочницы] OpenVPN и Active Directory (Kerberos без пользовательских сертификатов) Про OpenVPN написано много гайдов, в том числе и про авторизацию через Active Directory. Большинство из них сводится к использованию LDAP, подхода с использованием Kerberos, оформленного в полноценную статью, я не нашел. Впрочем, чего-то нового тут изобретено не будет, я лиш...

[Из песочницы] OS1: примитивное ядро на Rust для x86 Я решил написать статью, а если получится — то и серию статей, чтобы поделиться своим опытом самостоятельного исследования как устройства Bare Bone x86, так и организации операционных систем. На данный момент мою поделку нельзя назвать даже операционной системой — это неболь...

Как адаптировать UX/UI под permissions Во многих проектах существует процессы аутентификации (в той или иной степени). Написано много “бест практис” во всех известных технологиях и т.д. и т.п. Но вот пользователь сделал логин и? Ведь он далеко не всё может сделать. Как определить что он может видеть, а что нет. ...

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

Отчёты по состоянию СХД с помощью R. Параллельные вычисления, графики, xlsx, email и всё вот это В статье приведён код по формированию регулярных отчётов по состоянию дисков СХД EMC VNX с альтернативными подходами и историей создания. Старался писать код с максимально подробными комментариями и одним файлом. Только пароли свои подставить. Формат исходных данных также ук...

[Из песочницы] Обход ReCaptcha в Selenium тестах ReCaptcha (она же всенародно любимая «капча») — одна из самых болезненных вещей, с которой может столкнуться автоматизатор тестирования на своём пути. В Сети гуляют тысячи разнообразных видео, записанных выходцами из солнечной Индии, касательно того, какими танцами с бубном ...

[Из песочницы] Скрипт настройки Windows 10 Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 18362), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части. Конечно, будет проблематично описать все пункты настройки, но по...

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

[Перевод] Портфолио UX-дизайнеров: лучшие практики Сегодня мы хотим поделиться мыслями о том, что необходимо для создания хорошего портфолио UX-дизайнера. Представим, что Вам необходимо портфолио, чтобы получить заказ на UI/UX работу. Если Вы лишь начинаете работать в этой сфере или взяли достаточно большой перерыв в своей ...

Thymeleaf: диалект Layout + Spring Boot 2 Диалект Layout — это диалект Thymeleaf, который позволяет пользователям создавать макеты и шаблоны для повторного использования HTML кода. Он имеет иерархический подход и использует шаблон декоратора для «декорирования» файлов макета. Layout Dialect является отдельным проект...

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

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 1 Это цикл переводных заметок автора Priti Desai. Поскольку сами заметки довольно короткие, то в одной публикации будет собрано сразу несколько. Будут рассмотрены детали развертывания приложений для OpenWhisk с примерами, а в конце цикла — приведена архитектура и код приложен...

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

[Перевод] Представляем .NET Core 3.1 Preview 2 Представляем .NET Core 3.1 Preview 2. .NET Core 3.1 будет небольшим выпуском, сфокусированным на ключевых улучшениях в Blazor и Windows desktop, двух больших новинках .NET Core 3.0. Это будет выпуск с долгосрочной поддержкой (LTS) с ожидаемой финальной датой выкатки в декабр...

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

ML.NET: впечатления от Model Builder и не только Доброго времени суток и мое почтение, читатели Хабра! Предыстория У нас на работе принято обмениваться интересными находками в командах разработки. На очередной встрече, обсуждая будущее .NET и .NET 5 в частности, мы с коллегами заострили внимание на видении унифицированный ...

Опыт создания первого робота на Ардуино (робот-«охотник») Здравствуйте. В данной статье я хочу описать процесс сборки своего первого робота на ардуино. Материал будет полезен другим таким же новичкам, как и я, которые захотят изготовить какую-нибудь «самобеглую тележку». Статья представляет собой описание этапов работы с моими доп...

WG Contract API: zoo of services С ростом количества компонентов в программной системе, обычно растёт и количество людей принимающих участие в её разработке. Как следствие, для сохранения темпов разработки и простоты сопровождения, подходы к организации API должны стать предметом особого внимания. Если х...

[Из песочницы] Хороший, плохой, злой — тестирование в проекте новичков Предисловие: в университете было получено задание — собрать scrum команду, выбрать проект и работать над ним в течении семестра. Наша команда выбрала разработку веб-приложения (react + flask). В этой статье я постараюсь рассказать, какими тесты должны были быть, и проанализи...

[Перевод] Итак, вы хотите стать аналитиком в области сетевой безопасности… Перевод статьи подготовлен специально для студентов курса «Пентест. Практика тестирования на проникновение». Вы интересуетесь развитием методов взлома и хотите поделиться своими открытиями с сообществом информационной безопасности? В этой статье я дам некоторые рекомендац...

Build2019, осмысляем увиденное Буквально на прошлой неделе прошла самая большая конференция Microsoft для разработчиков Build2019. Поехав туда, я преследовал 2 цели. Первая цель — понять, куда идет Microsoft с точки зрения разработки и какие технологии и подходы продвигает. Вторая цель — понять состоян...

[recovery mode] ReactJS + MobX — опыт использования DI Мне кажется, настало время поделится подходом для написания ReactJS App, я не претендую на уникальность. Первый абзац можно пропустить. Я занимаюсь web разработкой уже давно, но последние четыре года я плотно сижу на ReactJS и меня все устраивает, в моей жизни был redux, но...

Мониторинг сообщений в RabbitMQ Рассмотрим классическую схему построения конвейера сообщений в RabbitMQ состоящую из элементов Producer, Exchange, Queue и Consumer. Задача состоит в том, что бы организовать мониторинг происходящего в очереди и не затронуть основное программное обеспечение (ПО), добавить...

Как сократить time-to-market: история про автоматизацию тестирования в «М.Видео» Быстрая и эффективная разработка ПО сегодня немыслима без отточенных рабочих процессов: каждый компонент передается на сборку к моменту установки, изделие не простаивает в ожидании. Еще два года назад мы совместно с «М.Видео» начали внедрять такой подход в процесс разработ...

[Из песочницы] Ещё одна библиотека для создания mock'ов Добрый день. Я занимаюсь автоматизацией тестирования. Как и у всех автоматизаторов, у меня есть набор библиотек и инструментов, которые я обычно выбираю для написания тестов. Но периодически возникают ситуации, когда ни одна из знакомых библиотек может решить задачу с риском...

[Перевод] Тестирование фронтенда Эффективная стратегия автоматизированного тестирования кода чрезвычайно важна для обеспечения быстрой и качественной работы команд программистов, занимающихся поддержкой и развитием веб-проектов. Автор статьи говорит, что в компании StackPath, в которой он работает, с тестир...

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

Инженерный подход к разработке ПО. От теории к практике Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Что делать, когда возможностей тестов недостаточно? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндекс.П...

[Из песочницы] Заметки верстальщика: Полезные расширения Google Chrome в 2019 году В моем браузере установлено около 30 расширений, которые упрощают жизнь и работу в интернете. В этой статье я хочу поделиться 10 актуальными расширениями Google Chrome для верстальщика, которые постоянно использую при разработке сайтов. Читать дальше →

[Перевод] Множественные запросы к API с помощью mergeMap и forkJoin вместо subscribe Руководство по использованию mergeMap и forkJoin вместо простых подписок для множественных запросов к API. В этой статье я покажу два подхода к обработке множественных запросов в Angular с использованием mergeMap и forkJoin. Читать дальше →

Как быстро попробовать CQRS/ES в Laravel или пишем банк на PHP Недавно в подкасте "Цинковый прод" мы с товарищами обсуждали паттерн CQRS/ES и некоторые особенности её реализации в Elixir. Т.к. я в работе использую Laravel, грех было не покопаться в интернетах и не найти как же можно потягать этот подход в экосистеме данного фреймворка....

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

Интерфейсы для мониторинга производительности популярных БД в Foglight for Databases В прошлых статьях мы рассказывали о мониторинге различных БД в Quest Foglight for Databases и о подходе к быстрой локализации проблем производительности SQL Server. В этой мы покажем какие ещё дашборды можно использовать на основе собираемых метрик. А метрик этих достаточн...

Huawei поделился своим подходом к построению «умных городов» Директор по развитию Huawei Enterprise в регионе Евразия, Денис Сереченко рассказал о проблемах и технологических возможностях в этой области, и поделился опытом реализации проектов в различных регионах мира.

Повышение эффективности ручного тестирования на VueJS Сегодня я предлагаю затронуть вопрос ручного тестирования проектов на VueJS. Независимо от уровня автоматизации процессов тестирования, практически всегда остается “живое общение” тестировщика с будущим релизом. Естественно, что оно должно быть комфортным и эффективным. ...

Если проект «Театр» используй акторов… В этой статье будет рассказ об опыте использования акторного подхода в одном интересном проекте автоматизированной системы управления для театра. Это именно впечатление от использования, не более того. Заглянуть за кулисы...

Как тестируют в Автотеке: MindMap’s, статический анализ кода и MockServer Привет! Хочу рассказать вам, как устроено тестирование в проекте Автотека, сервисе проверки автомобилей по VIN. Под катом — о том, какие инструменты мы используем для тестирования требований, планирования спринта, как устроен процесс тестирования в нашем проекте. Читать д...

Термометр & гигрометр на ATMEGA 328P-MU — Поднимаем уровень ардуино разработок Сегодня хочу поделиться одним из своих Ардуино проектов. Когда-то, не очень что бы давно я где-то на просторах интернета узнал об Ардуино. Влился я в это дело довольно быстро, уровень вхождения там не высокий. Через некоторое время уже собрав кучу датчиков, сенсоров для умно...

Опыт использования генератора статических сайтов Hugo Делюсь 2-х летним опытом использования генератора статических сайтов Hugo. Заметка ориентирована на начинающих, но в этой заметке не будет инструкций "как установить Hugo" или "как создать первый пост". Эта заметка будет полезна тем, кто выбирает и сравнивает альтернативы дл...

Облако для благотворительных фондов: руководство по миграции Не так давно Mail.Ru Cloud Solutions (MCS) и cервис Добро Mail.Ru запустили проект «Облако для благотворительных фондов», благодаря которому некоммерческие организации могут бесплатно получить ресурсы облачной платформы MCS. Благотворительный фонд «Арифметика добра» принял...

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

Резервное копирование, часть 3: Обзор и тестирование duplicity, duplicaty, deja dup В данной заметке рассмотрены средства резервного копирования, которые выполняют резервное копирование путем создания архивов на резервном сервере. Из тех, которые удовлетворяют требованиям — duplicity (к которому есть приятный интерфейс в виде deja dup) и duplicati. Еще одн...

End2End-подход в задачах Automatic Speech Recognition Что такое End2End-распознавание речи, и зачем же оно нужно? В чем его отличие от классического подхода? И почему для обучения хорошей модели на основе End2End нам потребуется огромное количество данных — в нашем сегодняшнем посте. Классический подход к распознаванию речи Пр...

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

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

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

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть ин...

[Перевод] Новый подход к пониманию мышления машин Нейросети известны своей непостижимостью – компьютер может выдать хороший ответ, но не сможет объяснить, что привело его к такому заключению. Бин Ким разрабатывает «переводчик на человеческий», чтобы, если искусственный интеллект сломается, мы смогли это понять. Бин Ким, ис...

Russian AI Cup 2018, история 9 места Итак Меня, как и в прошлом году, зовут Андрей Рыбалка, только в этот раз мне 33. И, раз уж я оказался в десятке лучших, я решил снова поделиться своим подходом к написанию игрового бота для Russian AI Cup 2018. В этот раз заданием был футбол. Сама задача несколько напоминала...

Какой язык программирования выбрать После того, как я написал статью «Почему не нужно учить Python первым языком», я на регулярной основе получаю много вопросов в личку, что лучше выбрать, как быть и так далее. Поэтому в этой статье я расскажу вам свои мысли на этот счет. И самое главное отвечу на «Священный Г...

Как я сделал (почти) бесполезный стриминг вебкамеры на Javascript В статье я хочу поделиться своими попытками сделать стримминг видео через websockets без использования сторонних плагинов браузера типа Adobe Flash Player. Что из этого получилось читайте далее. Читать дальше →

Infrastructure as code: первое знакомство У нас в компании идёт процесс онбординга SRE-команды. Я зашёл во всю эту историю со стороны разработки. В процессе у меня появились мысли и инсайты, которыми я хочу поделиться с другими разработчиками. В этой статье-размышлении я говорю о том, что происходит, как происходит,...

Боль и слёзы в Svelte 3 Вместо предисловия Статья будет полезна тем, кто так-же как и Мы решил попробовать Svelte в живом проекте. В нашу небольшую компанию пришёл заказ на разработку веб-админки для сервиса с бекэндом на Mongodb Stitch. В последние пару лет frontend Мы пишем на React или Vue (в за...

Встраиваем Lua интерпретатор в проект для микроконтроллера (stm32) В достаточно крупных приложениях немалую часть проекта составляет бизнес-логика. Эту часть программы удобно отлаживать на компьютере, после чего встраивать в состав проекта для микроконтроллера, ожидая, что эта часть будет выполняться в точности так, как было задумано без ...

Gestalt-тестирование: новый подход к оптимизации почтовых рассылок на основе байесовской теории и машинного обучения Мультивариантное (A/B/N, или сплит) тестирование – самый популярный способ тестирования почтовых рассылок. Этот инструмент доказал свою эффективность, но у него есть недостатки, связанные в первую очередь с тем, что тестирование и основная отправка разнесены во времени. ...

[recovery mode] «Так я понял, что теперь я дата инженер, и по-другому можно себя спозиционировать на рынке» Хабр, привет! Еще одно интервью с нашим выпускником – Николай Рекубратский, тимлид команды разработчиков в компании XING. Николай рассказал о жизни в Германии, о ресурсе, на котором он нашел работу, чем европейские специалисты отличаются от российских в подходе к работе, о в...

[Перевод] 7 полезных советов для тех, кто использует Room Room — это уровень абстракции поверх SQLite, который упрощает организацию хранения данных. Если вы ещё мало знакомы с Room, то посмотрите эту вводную статью: 7 шагов к использованию Room. Пошаговое руководство по миграции приложения на RoomА в этой статье я хотел бы поделит...

Длинная история путеводителя — как я 5 лет писал сервис для умных пешеходных маршрутов У многих есть один или несколько своих домашних проектов. Это бывают небольшие утилиты, экспериментальные штуки, пробы новых технологий, “убийцы” фейсбуков и много что ещё. Заметно реже такими проектами занимаются долгое время. В статье я поделюсь своим опытом и расскажу ка...

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...

Вариант клонирования БД для разработки/тестирования Вкратце опишу как организовал клонирование БД (создание нескольких экземпляров БД из одного бэкапа) на текущем проекте. Способ позволяет сэкономить время и место на жестком диске. Ситуация: есть толстая БД (скажем, сотня Гб). Хочется иметь эту базу со всеми данными отдельно...

Параметризация нейросетью физической модели для решения задачи топологической оптимизации Недавно на arXiv.org была загружена статья с не очень интригующим названием "Neural reparameterization improves structural optimization" [arXiv:1909.04240]. Однако оказалось, что авторы, по сути, придумали и описали весьма нетривиальный метод использования нейросети для полу...

Intel One API Project: архитектур много, API один На проходившем в июне Intel Software Technology Day ведущие инженеры компании рассказали о софтверном проекте под названием «Intel One API» — унифицированной модели программирования для облегчения разработки ПО под разнообразные вычислительные архитектуры, включающей в себ...

Квест с iobroker для игр “Квесты в реальности” Всем привет, на хабре уже есть несколько статей про автоматизацию игр типа «квесты в реальности» (раз, два, три, четыре, пять...), я хотел бы тоже поделиться своим опытом участия в подобном проекте. В далеком 2015 году мои друзья решили организовать квест типа escape-room ...

[Перевод] Бессерверная архитектура и микросервисы: идеальная пара? Перевод статьи подготовлен для студентов курса «DevOps практики и инструменты» в образовательном проекте OTUS. Когда в 2015 году начали появляться первые туториалы с использованием AWS Lambda и API Gateway, было неудивительно, что они в основном были сосредоточены на копир...

[Перевод] Angular без zone.js: максимум производительности Angular-разработчики в большом долгу перед библиотекой zone.js. Она, например, помогает достичь в работе с Angular почти волшебной лёгкости. На самом деле, практически всегда, когда нужно просто поменять какое-нибудь свойство, и мы меняем его, ни о чём не задумываясь, Angula...

[Из песочницы] Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA. Создаем пустой Gradle проект Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки би...

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

Как управлять React Data Grid через Redux Это продолжение предыдущей статьи: Зачем писать свой React Data Grid в 2019 Для чего нужен Redux? Ответов много. Например, чтобы работать с общими данными в разных React-компонентах. Но можно воспринимать Redux еще как способ манипулирования компонентой. Сам взгляд интересны...

With love from Stepik: образовательная платформа Hyperskill Я хочу поговорить с вами о том, почему мы чаще чиним сантехнику, чем пишем про неё диссертации, о разных подходах к обучению программированию и о том, как мы пробуем применить один из них в нашем новом продукте Hyperskill. Если вам не по душе длинные вступления, то переходи...

«Мамкины хакеры» на официальной работе: чем занимаются пентестеры «Пентестер» — слово вообще-то не русское, заимствованное. Что приходит на ум людям не из ИТ, боюсь представить. Поэтому мы себя «на Руси» гордо зовём «специалисты по тестированию на проникновение». Что ещё за «проникновение» и зачем его нужно тестировать? В этой статье я п...

ITIL и ITSM — история обмана. Нужно ли «внедрять» ITIL, какие есть альтернативы и как не попасть в ловушку «экспертов»? ITSM — известный и подтвердивший свою эффективность годами подход к организации процессов управления ИТ. ITIL — источник лучших практик ITSM. Огромное количество статей на Хабре по теме ITIL/ITSM лишь подтверждает широкий интерес к теме. В прошлом году вышла очередная верс...

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

NURBS моделирование в Rhino 3D и T-Spline Существует, как минимум, два подхода к созданию 3D моделей. В одном из них, наиболее популярном, объекты состоят из множества полигонов. В другом (freeform surface modelling) — из NURBS поверхностей, которые задаются кривыми (сплайнами). Каждый из подходов имеет свои преиму...

Хочешь <s>похудеть</s> учиться ИТ самостоятельно? Спроси меня как Есть мнение, с которым я часто сталкиваюсь, — учиться самостоятельно невозможно, нужны профессионалы, которые будут вас вести по этому тернистому пути — объяснять, проверять, контролировать. Попробую опровергнуть это утверждение, а для этого, как известно, достаточно привест...

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

[Из песочницы] Тестирование смарт-контрактов Ethereum на Go: прощай, JavaScript Я хочу поблагодарить коллег: Сергея Немеша, Михаила Попсуева, Евгения Бабича и Игоря Титаренко за консультации, отзывы и тестирование. Я также хочу сказать спасибо команде PolySwarm за разработку оригинальной версии Perigord. Это перевод моей статьи, опубликованной впервые...

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

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

Вся Россия орёт с UFC — проект Ростелекома и Out Of The Box Нестандартный подход к использованию голоса в чатботе.

[Из песочницы] Машинное обучение в IT-мониторинге Введение Netcracker – это международная компания, разработчик комплексных IT-решений, включающих услуги по размещению и поддержке клиентского оборудования, а также хостингу созданной IT-системы для телеком-операторов. В основном это решения, связанные с организацией операц...

Борьба за качество решений на Erlang/Elixir @jcutrer Сегодня мы будем говорить про журналы событий, количественные метрики и наблюдение за всем этим с целью увеличения скорости реакции команды на инциденты и уменьшения времени простоя целевой системы. Erlang/OTP как фреймворк и идеология построения распределенных сис...

[Перевод] Использование strict-модулей в крупномасштабных Python-проектах: опыт Instagram. Часть 2 Представляем вашему вниманию вторую часть перевода материала, посвящённого особенностям работы с модулями в Python-проектах Instagram. В первой части перевода был дан обзор ситуации и показаны две проблемы. Одна из них касается медленного запуска сервера, вторая — побочных э...

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

[Перевод] Использование Immer для управления состоянием React-приложений Состояние используется для организации наблюдения за данными React-приложений. Состояния меняются по мере того, как пользователи взаимодействуют с приложениями. Когда пользователь выполняет некое действие — нам нужно обновить состояние, представляющее собой набор данных, на ...

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

Как за 28 часов создать прототип сервиса сравнения документов и выиграть хакатон Привет! После долгого перерыва мы решили вернуться на Хабр и хотим поделиться опытом участия в хакатоне. В сентябре в Москве прошел Diversity.Hack, партнерами которого стали Dostavista, Waves и мы — «Новые Облачные Технологии». Участие в хакатоне, организованном Phystech.Gen...

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки. TDD — ну, это все знают, сначала пишем тесты, а потом остальной код. BDD — что-то знакомое, вроде как, тоже тесты, но особенные. TDD — снов...

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

Kotlin / Everywhere — Showcase practice: 31 июля Приглашаем 31 июля в московский офис Mail.ru Group на Kotlin / Everywhere митап. В программе мероприятия доклады про опыт использования Coroutines, DSL в Kotlin и тестирование. Описание докладов, ссылка на регистрацию и детали по митап под катом. Регистрируйтесь сами и при...

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

Запускаем инструментальные тесты в Firebase Test Lab. Часть 1: iOS проект Меня зовут Дмитрий, я работаю тестировщиком в компании MEL Science. Совсем недавно я закончил разбираться со сравнительно свежей фичей от Firebase Test Lab — а именно, с инструментальным тестированием iOS приложений с использованием нативного фреймворка тестирования XCUITe...

[Перевод] Пишем API на Python (с Flask и RapidAPI) Если вы читаете эту статью, вероятно, вы уже знакомы с возможностями, которые открываются при использовании API (Application Programming Interface). Добавив в свое приложение один из многих открытых API, вы можете расширить функциональность этого приложения либо же допол...

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

[Из песочницы] Переменные окружения для Python проектов Переменные окружения для Python проектов При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной с...

Реализация паттерна Page Object на Python + pytest Когда я начинал изучать автоматизацию тестирования, не мог понять — “что такое Page Object и как его реализовать на Python + pytest?”. Штудируя интернет, нашел реализацию на других языках и фреймворках: обучающие статьи, которые были непонятны для меня. Поэтому решил написат...

[Из песочницы] Мой подход к реализации делегатов в C++: вызов функции с неизвестными параметрами во время выполнения Предыстория Мне нравится язык C++. Я бы даже сказал, что это мой любимый язык. Кроме того, для своих разработок я использую технологии .NET, и многие идеи в нём, по моему мнению, просто восхитительны. Однажды мне пришла в голову идея – как реализовать некоторые средства рефл...

[Из песочницы] QlikView. Условное форматирование «Как в Эксель» Пришла задача от заказчика – сделать условное форматирование таблицы «как в эксель». QlikView вполне себе справляется со стандартными задачами раскраски по условию, но вот с выбором параметров динамически, да еще и как в эксель – возник вопрос «это как вообще..?». Итог: был...

[Перевод] Консенсус на репутации ноды. Нужен ли? Знаю-знаю. Криптопроектов тьма, есть куча консенсусов: на основе труда и владения, золота, нефти, выпеченных пирожков (есть и такой, да-да). Что нам ещё от одного? Это и предлагаю обсудить после прочтения перевода "облегченной" технической документации проекта *Созвездие (Co...

Язык программирования Zig Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на шину C++, D и Rust. Посмотрел — язык показался симп...

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

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

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

Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть первая Привет, Хабр! Меня зовут Максим Пономаренко и я — разработчик в Спортмастере. Имею 10-летний опыт работы в IT-сфере. Начинал карьеру в в области ручного тестирования, затем переключился на разработку баз данных. Последние 4 года, аккумулируя знания, полученные в тестировани...

Как я создавал Recycle! VR В предыдущей статье мы попробовали создать базовую сцену в A-Frame, чтобы опробовать основные концепции фреймворка на практике. В этой статье я хотел бы поделится своим опытом создания игры на A-Frame — Recycle! VR. Репозиторий проекта доступен по следующей ссылке. Перера...

Анализ Agile. Мифы и действительность I Вступление Будку надо переносить! Сезона не бывает, чтоб пару-тройку не шандарахнуло. То с туалетом путают, то с пляжной кабинкой… (х/ф Особенности национальной рыбалки) Конец года, подведение итогов, заполнение анкет и прочая предпраздничная мишура ИТ функционеров. Мне у...

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

Google изменил подход к обработке nofollow и представил 2 новых атрибута для ссылок Google объявил об изменении своего подхода к обработке атрибута “nofollow” и представил ещё два атрибута, призванных помочь ему более точно определять природу ссылок. Так, теперь в ранжировании Google будет расценивать “nofollow” как подсказку, а не директиву. В компании объ...

«Умный дом» — переосмысление На Хабре уже было несколько публикаций о том, как айтишники строят себе дома и что из этого получается. Хочу поделиться своим опытом («тестовый проект»). Постройка собственного дома (особенно, если еще и своими силами) — крайне объемный кусок информации, поэтому я свое по...

[Из песочницы] Подписываемся на Kafka по HTTP или как упростить себе Веб-хуки Существует множество способов обработки сообщений из Pub-Sub систем: использование отдельного сервиса, выделение изолированного процесса, оркестрация пулом процессов/потоков, сложные IPC, Poll-over-Http и многие другие. Сегодня я хочу рассказать о том, как использовать Pub-S...

[Перевод] Цепи Маркова для процедурной генерации зданий Примечание: полный исходный код этого проекта можно найти [здесь]. Так как он является частью более масштабного проекта, я рекомендую смотреть коммит на момент выпуска этой статьи, или файл /source/helpers/arraymath.h, а также /source/world/blueprint.cpp. В этой статье я х...

Окей, Google: как пройти капчу? Здравствуйте. Меня зовут Ибадов Илькин, я студент Уральского федерального университета. В данной статье я хочу рассказать о своем опыте автоматизированного решения капчи компании «Google» — «reCAPTCHA». Хотелось бы заранее предупредить читателя о том, что на момент написани...

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

CES 2019: интерьерные решения для робомобилей будущего в представлении Toyota Производитель автомобильных компонентов Toyota Boshoku, входящий в группу Toyota, впервые примет участие в предстоящей выставке электроники CES 2019 (8–11 января, Лас-Вегас, Невада, США). Компания поделится своим видением того, каким может быть интерьер самоуп...

[Из песочницы] Советы начинающим разработчикам Я работаю iOS разработчиком более шести лет. Мне довелось работать в нескольких различных компаниях и командах. Я работал как в outsource так и в outstaff, довелось даже поучаствовать в startup. И вот спустя несколько лет коммерческой разработки, а также пару-тройку лет прог...

[Перевод] Разработка микросервисов с помощью BDD и IOD BDD — разработка через поведение. BDD для микросервисов — это сотрудничество клиента, разработчиков и тестировщиков. BDD — это разработка, которая учитывает и технические интересы и бизнес-требования. Этот подход обычно применяется для описания интерфейсов приложений, а так ...

[Из песочницы] Использование let объявлений переменных и особенности образуемых при этом замыканий в JavaScript Написать данную заметку меня сподвигло прочтение статьи на Хабре «Var, let или const? Проблемы областей видимости переменных и ES6» и комментариев к ней, а также соответствующей части книги Закаса Н. «Understanding of ECMAScript 6». Исходя из прочитанного я вынес, что не всё...

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

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

Для тех, кто хочет поиграть в детектива: найди ошибку в функции из Midnight Commander Приглашаем попробовать найти ошибку в очень простой функции из проекта GNU Midnight Commander. Зачем? Просто так. Это забавно и интересно. Хотя нет, мы соврали. Мы в очередной раз хотим продемонстрировать ошибку, которую с трудом находит человек в процессе code review, но л...

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

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

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

Prisma-CMS как движок для быстрого создания MVP Наверняка многие слышали понятие MVP (Минимально жизнеспособный продукт вики). На хабре тоже много статей про MVP, но в основном это или просто описание что такое MVP и для чего оно, или различные success и не очень story. Но я не нашел ни одной статьи, где бы описывалось на...

[Из песочницы] Stadia — революция в игровой индустрии? Для тех, кто в танке: 19-го марта 2019 года, Google анонсировала стриминговый сервис Stadia. Сервис, который позволит играть во все игры, по сути, прямо в браузере. С любого устройства, будь то планшет, смартфон, TV-приставка, ПК, тостер, калькулятор, холодильник. В этой ...

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

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

[Из песочницы] Amazon EKS Windows в GA с багами, но зато быстрее всех Добрый день, хочу поделиться с вами своим опытом по настройке и использованию сервиса AWS EKS (Elastic Kubernetes Service) для Windows контейнеров, а точнее о невозможности его использования, и найденном баге в системном контейнере AWS, тем кому интересен этот сервис для W...

Имитация целевых атак как оценка безопасности. Киберучения в формате Red Teaming Когда дело доходит до кибербезопасности, то, как правило, ни одна организация не является на 100% защищенной. Даже в организациях с передовыми технологиями защиты могут быть проблемные моменты в ключевых элементах — таких как люди, бизнес-процессы, технологии и связанные ...

[recovery mode] Успехи и неудачи при создании своего проекта (стартапа) Привет, друзья. Решил сегодня написать не о конкретном техническом решении, а о том, зачем эти технические решения вообще нужны. Слово «Стартап» уже порядком набило оскомину, поэтому буду употреблять «Свой проект». В статье будет много философии и аналитики. Так как без этог...

Предсказания от математиков. Разбираем основные методы обнаружения аномалий За рубежом все большую популярность набирает использование искусственного интеллекта в промышленности для предиктивного обслуживания (predictive maintenance) различных систем. Цель этой методики — определение неполадок в работе системы на этапе эксплуатации до выхода её из с...

Заметка: Онлайн-чат средствами SSH Привет, Сообщество! Не так давно пользователь с ником maximmasterr рассказал про свою реализацию системы онлайн-чата посредством использования технологии SSH. В этой заметке мне бы хотелось поделиться с вами ещё одной реализацией SSH-чата, которую разработал Андрей Петров....

Фантастические плагины, vol. 1. Теория Жизнь с многомодульным проектом не так уж проста. Чтобы избежать рутины создания нового модуля мы создали собственный плагин для Android Studio. В процессе реализации мы столкнулись с отсутствием практической документации, перепробовали несколько подходов и откопали множеств...

Введение в контекстно-ориентированное программирование на Kotlin Это перевод статьи An introduction to context-oriented programming in Kotlin В этой статье я постараюсь описать новое явление, которое возникло как побочный результат стремительного развития языка Kotlin. Речь идет о новом подходе к проектированию архитектуры приложений и б...

3. Дизайн сети предприятия на коммутаторах Extreme Добрый день, друзья! Сегодня я продолжу цикл, посвященный коммутаторам Extreme статьей по проектированию сети Enterprise. В статье я постараюсь по возможности кратко: описать модульный подход к проектированию сети Etnterprise рассмотреть виды построения одного из важне...

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

Как интеллект-карты помогают вести IT-проекты В продолжение статьи о тайм-менеджменте, опубликованной ранее в блоге ЛАНИТ, предлагаю вашему вниманию историю о своем опыте использования инструмента по работе с интеллект-картами. Последние десять лет я занимаюсь управлением проектами в ИТ и телекоме, и всё это время я исп...

Как я наводил порядок в проекте, где лес прямых рук (настройки tslint, prettier, etc) И снова здравствуйте. На связи Омельницкий Сергей. Сегодня я поделюсь с Вами одной из своих головных болей, а именно — что делать, когда проект пишут много разноуровневых программистов на примере angular приложения. Так повелось, что я долгое время работал только со своей к...

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

Всё, что вы хотели знать о децентрализованном интернет-провайдере «Medium», но боялись спросить Добрый день, Сообщество! Меня зовут Янислав Басюк. Я являюсь координатором общественной организации «Medium». В этой статье я постарался собрать наиболее исчерпывающую информацию о том, что являет собой этот действующий на территории Российской Федерации децентрализованный...

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

Заметки product manager’a: поведение пользователей на страницах игр в app store. Сколько надо времени чтобы скачать игру В интернете большое количество информации о том, как правильно паблишить мобильные игры, как делать для них маркетинг, что размещать на страницах магазинов, однако большое количество нюансов незаметны сразу. В данной статье я поделюсь своими заметками и инсайтами, которые бы...

[Перевод] Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 1 Всем привет! Начал перевод небольшой книги: "Understanding Message Brokers", автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296. Из введения к книге: "… Эта книга научит вас рассуждать о системах обмена сообщениями на броке...

[Перевод] Часто задаваемые вопросы по SELinux (FAQ) Всем привет! Специально для студентов курса "Безопасность Linux" мы подготовили перевод официального FAQ проекта SELinux. Нам кажется, что данный перевод может быть полезен не только студентам, поэтому делимся им с вами. Мы попытались ответить на некоторые наиболее часто за...

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

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

In Win Yong — необычный корпус из пластика за $4000 Компания In Win никогда не боялась творческого подхода в создании своих компьютерных корпусов, некоторые модели из которых просто поражают воображение. На выставке Computex 2019 было продемонстрировано девятое поколение шасси Signature (или просто Yong)....

Каждому яду — свой антидот. Как спастись или хотя бы попытаться… Всем бойцам РХБЗ (радиохимической и биологической защиты) не посрамившим честь своего ОЗК посвящается... С интересом читая статьи коллеги gjf про самые интересные, самые страшные и самые нестрашные яды испытываю ностальгию :). Потому что любой правильный химик, начиная свой...

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

Без чего невозможно описать услугу? О том, что деятельность является неотъемлемой частью описания услуги, вроде бы давно договорились. Невозможно предметно говорить об услуге, не рассматривая то, как она потребляется. То есть то, из каких операций (деятельности) состоит потребление (и предоставление) услуги. М...

[Из песочницы] Redux-symbiote — пишем действия и редьюсеры почти без боли React-redux замечательная штука. При правильном использовании архитектура приложения эффективна, а структура проекта и легко читаемая. Но как и в любом решении есть свои особенности. Описание действий и редьюсеров одна из таких особенностей. Классическая реализация двух эти...

Автоматизируем тестирование redux селекторов в приложении В этой статье я хотел бы поделиться своими идеями того, как можно автоматизировать написание unit-тестов в react/redux приложениях. Идеи эти родились в одной из дискуссий с коллегами, в процессе написания тестов, и, как мне кажется, предложенное решение имеет право на жизнь....

C++, FIX, Oracle и PL/SQL: что нужно знать IT-специалисту для получения работы в сфере финансов + реальные вакансии В наши дни, большинство бирж уже давно работают в электронном формате, а сделки совершаются не с помощью выкриков трейдеров из специальной ямы, а в пару кликов через интернет. Для организации торгов и участия в них используется передовой софт, железо, разрабатываются сложн...

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

Исследование быстродействия СУБД MS SQL Server Developer 2016 и PostgreSQL 10.5 для 1С Цели и требования к тестированию «1С Бухгалтерии» Основной целью проводимого тестирования является сравнение поведения системы 1С на двух разных СУБД при прочих одинаковых условиях. Т.е. конфигурация баз данных 1С и первоначальная заполненность данными должны быть одинаковым...

2. Типовые сценарии использования Check Point Maestro Совсем недавно компания Check Point презентовала новую масштабируемую платформу Maestro. Мы уже публиковали целую статью о том, что это такое и как оно работает. Если коротко — позволяет почти линейно увеличивать производительность шлюза безопасности путем объединения неск...

Facebook поделилась успехами в работе над устройством, читающим мысли Facebook Reality Labs совместно с учёными из Калифорнийского университета в Сан-Франциско опубликовали результаты эксперимента по чтению мыслей с использованием имплантированных электродов. Их исследование демонстрирует метод быстрого «чтения» слов и фраз из мозга, что делае...

ок.tech Data Толк #3: мини-интервью спикеров Проект ок.tech Data Толк родился как дискуссионная площадка для специалистов, занимающихся обработкой и аналитикой больших данных. Каждый раз мы подчеркиваем, что основная задача наших митапов – это не доклады, хотя они тоже очень важны, а открытая дискуссия аудитории со с...

auto git bisect на примере ядра Linux Данная заметка имеет собой цель продемонстрировать автоматический git bisect на примере ядра Linux. С последующим поиском официальной версии начиная с которой всё поломалось и последней хорошей версии. Читать дальше →

ITIL 4: подход к измерению практик Если вы прошли какой-либо из наших курсов по библиотеке ITILV3, вы наверняка помните одну из важных концепций, которую мы разбираем и применяем — концепцию, в соответствии с которой ключевые показатели эффективности (key performance indicators, KPI) процессов фор...

Mobile People Talks #8: Декларативный UI – SwiftUI В этом году были представлены фреймворки с новым подходом к построению UI - SwiftUI для платформ Apple и Jetpack Compose для Android. Но ведь подход не нов, если посмотреть на него внимательно, то сразу видны уши таких кросс-платформенных фреймворков, как Flutter и React Nat...

Усложнение C++ неизбежно. И не только C++ Давно хотел написать подобный текст, но все никак не доходили руки. А вот после завершившегося летнего заседания комитета по стандартизации C++ и поднявшегося воя о том, что сложность языка еще больше увеличилась, пришлось таки изыскать время и зафиксировать собственные мысл...

Презентация bpm’online studio free. Интернет Новый продукт изменит подход к построению и описанию бизнес-процессов организации.

[Перевод] 8 лучших трендов International Conference on Learning Representations (ICLR) 2019 Тема анализа данных и Data Science в наши дни развивается с поразительной скоростью. Для того, чтобы понимать актуальность своих методов и подходов, необходимо быть в курсе работ коллег, и именно на конференциях удается получить информацию о трендах современности. К сожалени...

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

[Перевод] Дизайн уровней и геймплея roguelike на примере Cogmind Многие годы я использовал довольно стандартизированный подход к дизайну каждой новой карты Cogmind, и хотя сейчас их счёт уже идёт на десятки, в своём блоге я его никогда не рассматривал. В основном это вызвано тем, что подробный анализ всего процесса потребует раскрытия ку...

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

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

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

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

Еще один способ оптимизации docker-образов для Java приложений История по оптимизации образов для java приложений началась с выхода статьи в блоге спринга — Spring Boot in a Container. В ней обсуждались различные аспекты по созданию docker образов для spring boot приложений, в том числе и такой интересный вопрос, как уменьшение размеров...

Новый фонд для DevOps-проектов от Linux Foundation начался с Jenkins и Spinnaker На прошлой неделе организация The Linux Foundation во время своего мероприятия Open Source Leadership Summit объявила о создании нового фонда для Open Source-проектов. Очередной независимый институт по развитию открытых [и востребованных в индустрии] технологий призван объ...

[Перевод] 3 популярных инструмента для организации непрерывного развертывания (Continuous Deployment) Continuous Deployment (непрерывное развертывание) — особый подход в разработке программного обеспечения, который применяется для быстрого, безопасного и эффективного внедрения различных функций в ПО. Основная идея — создание надежного автоматизированного процесса, позво...

Итоговая программа DUMP-2019 готова. Встречаемся 19 апреля в Екатеринбурге Привет! 19 апреля в Екатеринбурге в девятый раз пройдёт конференция DUMP. Доклады будут идти в 8 секциях: Backend, Frontend, Mobile, Тестирование и QA, Devops, Design, Science и Management. Итоговая программа конференции с расписанием готова. В этом году выступят: Николай...

[Перевод] Профилирование кода Go-проекта и решение проблемы с выделением памяти Пожалуй, каждому программисту известны слова Кента Бека: «Make it work, make it right, make it fast». Сначала надо сделать так, чтобы программа работала, дальше — надо заставить её работать правильно, а уже потом можно переходить к оптимизации.  Автор статьи, перевод кото...

DARPA разрабатывает технологию управления военными дронами силой мысли Управление перспективных исследовательских проектов Министерства обороны США (DARPA) объявило о начале программы Next-Generation Nonsurgical Neurotechnology (N3), чьей задачей является разработка неинвазивных методов управления различными системами силой мысли. В ее рамках ...

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

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

Test Maturity Model: как тестировщику оценить проект и спланировать процессы Привет! Меня зовут Миша, и я Senior QА с коммерческим опытом более 6 лет. Сейчас я работаю в Provectus, но начинал я свой путь тестировщика еще в студенческие годы с участия в альфа- и бета-тестах различных игр. В какой-то момент подумал: «Почему бы не начать заниматься этим...

Встреча Общества Анонимных Тестировщиков: TMS, мониторинг мониторинга, оценка качества поиска и нативные iOS-тесты Привет, меня зовут Зоя и я тестировщик. Наша Седьмая Встреча Общества Анонимных Тестировщиков в этот раз пройдет в офисе Авито (и да, я тут работаю, поэтому шансов не провести митап в Авито практически не было!). Встреча будет 1 августа в 19:00 (регистрация — с 18:30) в мос...

Полный цикл тестирования React-приложений. Доклад Авто.ру Стремление уйти от ручного регрессионого тестирования — хороший повод внедрить автотесты. Вопрос, какие именно? Разработчики интерфейсов Наталья Стусь и Алексей Андросов вспомнили, как их команда прошла несколько итераций и построила тестирование фронтенда в Авто.ру на базе ...

[Перевод] Машинно-синестетический подход к обнаружению сетевых DDoS-атак. Часть 2 И снова здравствуйте. Сегодня мы продолжаем делиться материалом, приуроченным к запуску курса «Сетевой инженер», который стартует уже в начале марта. Мы видим, что многих заинтересовала первая часть статьи «Машинно-синестетический подход к обнаружению сетевых DDoS-атак» и се...

Книга «Swift. Основы разработки приложений под iOS, iPadOS и macOS. 5-е изд. дополненное и переработанное» Привет, Хаброжители! Язык Swift молод, он растет, развивается и изменяется, хотя основные подходы к программированию и разработке уже сформировались. В новом, пятом издании книги была полностью переработана первая часть книги, что делает знакомство с языком Swift более комф...

[Из песочницы] Как Telegram-бот поборол дизайнерскую прокрастинацию и помог увеличить доход digital-агентства­ Основатель digital-агентства Роман Квартальнов делится простым решением, которое помогло сделать производственные процессы прозрачными, дало возможность в любой момент времени оценить себестоимость проекта и компании целиком, а также экономить около 1 000 000 рублей на сбор...

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

[Из песочницы] Разработка с Docker на Windows Subsystem for Linux (WSL) Для полноценной работы с проектом на docker'е в WSL необходима установка WSL 2. На момент написания заметки ее использование возможно только в рамках участия в программе предварительной оценки Windows (WSL 2 доступна в сборках 18932 и выше). Так же отдельно стоит упомянут...

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

[Перевод] GitOps: сравнение методов Pull и Push Прим. перев.: В сообществе Kubernetes явную популярность набирает тренд под названием GitOps, в чём мы лично убедились, посетив KubeCon Europe 2019. Этот термин был относительно недавно придуман главой компании Weaveworks — Alexis Richardson — и означает применение привычных...

[Перевод] Chaos Engineering: искусство умышленного разрушения Прим. перев.: Рады поделиться переводом замечательного материала от старшего технологического евангелиста из AWS — Adrian Hornsby. В простых словах он объясняет важность экспериментов, призванных смягчить последствия сбоев в ИТ-системах. Вы, наверное, уже слышали про Chaos M...

[Из песочницы] Тестирование методом черного ящика Книга "A Practitioner's Guide to Software Test Design" Lee Copeland была опубликована в 2003 году. С тех пор она надежно закрепилась в списке книг, которые обязательно должен прочитать любой тестировщик. Её стоит прочитать в оригинале. Читается очень приятно: язык ...

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

Project xCloud будет поддерживать все цифровые игры Xbox One В октябре прошлого года Microsoft представила сервис потоковой передачи игр Project xCloud. На текущий момент информации о проекте не очень много, но компания намерена поделиться некоторыми подробностями в рамках конференции Game Developers Conference (GDC), которая пройдёт...

[Из песочницы] Зарабатываем на солнечной энергии или пассивный доход в 25% годовых, практический опыт КДВП © Diana, made by Siuzanna Постараюсь поделиться полученным опытом (почти) самостоятельной постройки и эксплуатации ряда своих домашних солнечных станций (дСЭС) под Зеленый тариф (ЗТ) в Украине и что из этого вышло. Написание статьи планировалось весной 2019, но ...

[Перевод] Обмен данными между React-компонентами с использованием библиотеки RxJS Перед вами перевод статьи Chidume Nnamdi, опубликованной на blog.bitsrc.io. Перевод публикуется с разрешения автора. Появление библиотеки RxJS открыло массу новых возможностей в мире JS. Цель RxJS — достигать многого, используя небольшое количество кода. Прочитав эту стат...

Как Иван метрики DevOps делал. Объект влияния Прошла неделя с тех пор как Иван в первый раз задумался над метриками DevOps и понял, что управлять с их помощью надо временем поставки продукта (Time-To-Market). Даже на выходных он думал про метрики: «Ну и что, что я измерю время? Что оно мне даст?» Действительно, что да...

Что ты такое? Как мы spoof от human отличали — да еще и победили Недавно прошел ID R&D Voice Antispoofing Challenge, главной задачей которого было создать алгоритм, способный отличить человеческий голос (human) от синтезированной записи (spoof). Я — ML Researcher в Dasha AI и много работаю над распознаванием речи, поэтому и решил поуч...

[recovery mode] «Быть Insight-Driven»: продвинутая аналитика и управление жизненным циклом моделей машинного обучения Сегодня мы хотим поговорить о концепции Insight-Driven и о том, как ее реализовать на практике c помощью DataOps и ModelOps. Insight-Driven подход — это комплексная тема, про которую мы подробно рассказываем в нашей недавно созданной библиотеке полезных материалов про управл...

Как написать вредное API Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. Всем привет! Я работаю тимлидом команды Integration Development в сервисе онлайн-бронирования отелей Ostrovok.ru и сегодня хотел бы поделиться своим опытом работы с ра...

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 2 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня будут рассмотрены примеры развертывания GitHub webhook, периодических сигналов, а также приведено простейшее приложение для отправки сообщений в Slack. Читать дальше →

Логирование HTTP запросов в Spring Boot с использованием Бобины Приветствую, дорогие друзья! Сегодня я хочу продемонстрировать потрясающий пример того, как Бобина может помочь в очень распространённой ситуации — логирование HTTP запросов и ответов в Spring Boot. Даже больше! Мы будем логировать только сообщения HTTP в отдельные файлы. Чи...

Инструменты для автотестов, интеграция Yandex Mapkit 3, крутой дизайн и подход Server Driven UI — анонс Android-митапа Привет! Меня зовут Андрей Данилов, я андроид-разработчик в Авито. Хочу пригласить вас на Android-митап, который пройдёт в нашем офисе 28 сентября. Обсудим опыт интеграции Yandex Mapkit 3 в приложение, инструменты для автотестов, поговорим, как сделать по-настоящему запоминаю...

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

Что я понял за год использования электросамоката (максимально коротко) Привет. В ноябре 2017 я впервые покатался на электросамокате, понял насколько это удобно и быстро. Зрел до лета 2018 года и в июле купил себе неплохой самокат за 25к. Проездил на нём один сезон (месяц в 2017 и два в 2018) и хочу поделиться своими инсайтами и лайфхаками. Ни...

Парадокс Питона (The Python Paradox) В последнем выпуске подкаста "Цинковый прод" помимо всего прочего обсуждался так называемый парадокс Питона (The Python Paradox). Как ни странно, на Хабре нет практически ни одного упоминания об этом парадоксе. При том, что, несмотря на свою простоту, мысль очень интересная...

Что курил автор: добавим олдскула в этот безумный мир игр Привет, Хабр. Не буду повторять тысячный раз о том, что как любой из нас всегда мечтал написать игру. Мне 37. Я разработчик. Как раз самое время задуматься. Аркады, симуляторы, RPG, шутеры, веб, десктоп, мобильная. Было непросто. В какой-то момент я понял, что хочу возродить...

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

[Из песочницы] Быстрый кэш на C/C++, потокобезопасность Сравнительное тестирование многопоточных кэшей реализованных на C/C++ и описание как устроен LRU/MRU кэш серии O(n)Cache**RU Читать дальше →

Управление ожиданиями или Как говорить «нет» Преподаватель Финансового университета Тигран Басеян рассказал Нетологии о своем опыте работы в корпоративном стартапе Боржоми и управлении ожиданиями. Сколько раз после неудачного проекта я думал: «Теперь все пойдет иначе, я набрался опыта. Такие вещи я больше не буду дела...

Интернет вещей по-русски. Майнинг радио-эфира, подход Helium После прочтения моей последней статьи, где была фраза про майнинг радио-эфира, народ забросал меня вопросами. Причем тут майнинг? И где тут деньги? Намекали, что меня надо в дурдом. Это может быть и так, но вот есть парни — helium.com, над которыми мало кто осмелится смеятьс...

Террасофт приглашает на онлайн-презентацию нового бесплатного продукта в линейке bpm’online Он изменит подход к построению и описанию бизнес-процессов организации.

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

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

Представляем Vepp — новую панель управления сервером и сайтом от ISPsystem Vepp — это наша новая панель для управления сервером и сайтом. Сначала мы хотели просто обновить интерфейс ISPmanager 5, но на этапе проектирования поняли: интерфейсом не обойтись, нужно менять подход к задачам пользователя. Фактически это означало, что надо делать новый пр...

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

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

Как я начал уметь в маркетинг Всем привет! Я хотел бы рассказать о своем прошлом – замечательном проекте Withme, но «без купюр». В публикациях здесь я уже пытался рассказать о всех событиях в хронологическом порядке, однако многие факты были “немного” спрятаны под смешными «факапами», безудержным весел...

Digital-мероприятия в Москве c 14 по 20 октября Подборка мероприятий на неделю Epic Growth 14 октября (понедельник) — 15 октября (вторник) 2-й Кожуховский пр 29корп6 от 13 900 р. Конференция по продуктовому маркетингу о стратегиях и тактиках роста продуктов Закрытая встреча с ex' Главой Avito General 15 октября (вторн...

[Из песочницы] Альтернативный подход к подписке на события, или а так ли нужен EventObject Резюме Целью этой статьи является попытка посмотреть, с иной точки зрения, на описание систем распространения событий.   На момент написания этой статьи большинство ведущих фреймворков на php реализуют систему событий, в основе которой лежит описание объекта события EventObj...

6 советов для тех, кто хочет выполнить свои новогодние обещания Если ваши попытки изменить жизнь с 1 января всё время проваливались, попробуйте изменить подход в 2019-м.

[Перевод] Каскадная инвалидация кэша. Часть 1 Вот уже несколько лет, как почти каждая статья о передовых подходах к кэшированию рекомендует пользоваться в продакшне следующими методиками: Добавление в имена файлов информации о версии содержащихся в них данных (обычно — в виде хэша данных, находящихся в файлах). Устано...

Тред Ариадны: как перестать бояться и полюбить JSR-133. Доклад Яндекса Многоядерные процессоры — обыденность. Рано или поздно любому программисту-практику придется зайти в лабиринт многопоточного программирования и встретиться с населяющими его «чудовищами». Поговорим о том, с чего начать этот путь и какие инструменты и подходы помогут выйти по...

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

[Из песочницы] Свой mapper или немного про ExpressionTrees Сегодня мы поговорим про то, как написать свой AutoMapper. Да, мне бы очень хотелось рассказать вам об этом, но я не смогу. Дело в том, что подобные решения очень большие, имеют историю проб и ошибок, а также прошли долгий путь применения. Я лишь могу дать понимание того, ...

Не обзор ASUS ZenBook Pro 15 UX580GE — почти год с почти топом Восемь месяцев как я владею ультрабуком от Asus с двумя экранами. Играю, люблю, работаю и страдаю. Кажется, что пришло время поделиться своими мыслями об этом устройстве и попросить совета у сообщества на тему будущего… Да и давно не писал я что-то. Слишком длинный для ЯМ о...

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

Подключиться мобильным устройством к базе данных без написания серверного кода Привет, Хабр! Хочу поделиться своим опытом использования Форсайт мобильной платформы. Если у вас встанет задача удалённого хранения данных и при этом не писать собственный сервер, то первое, что придёт на ум это инструмент Firebase Realtime Database. Большинство читающих зн...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 4 ← Часть 3. Косвенная адресация и управление потоком исполнения Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 4. Программирование периферийных устройств и обработка прерываний В этой части поста мы, как и обещали, займемся одним из самых востребован...

N+7 полезных книг Привет! Это очередной традиционый список книг, оказавшихся полезными за год. Сугубо субъективный, конечно. Но я серьёзно рассчитываю, что вы подскажете ещё классных штук почитать. Думай медленно, решай быстро — Даниэль Канеман Это самое волшебное, что случалось за послед...

Тест: подходит ли тебе удаленка (не фриланс!)? Эта статья для тех, кто задумывается, стоит ли пробовать удаленную работу, и взвешивает риски: стиль жизни существенно поменяется, мало ли, что пойдет не так, а вернуться обратно будет непросто. Я не буду преподносить удаленку как райское наслаждение на пляжике под пальмочко...

Мелкая питонячая радость #2: Starlette Тунельное зрение Так уж сложилось, что на Python пишут много веб-приложений. Эту нишу Python разработки почти полностью поделили между собой два здоровых игрока — Django и Flask. Поэтому большой процент программистов, пишущих на Python, заточен на работу с этими двумя фрейм...

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

Эксперимент — от парного программирования к программированию всей командой Очень хочу поделиться с вами переводом статьи про эксперимент с моб-программированием от одного из его создателей, Вуди Зила. Это когда вся команда сразу работает за одним компьютером. Как парное программирование, только групповое. Я бывший Java-разработчик и тимлид с 11-лет...

Ардуино термометр & гигрометр с E-PAPER на nRF52832 — или то что забыли выпустить производители Приветствую всех читателей Habr!!! В своей очередной статье речь снова пойдет о ARDUINO. Хочу поделится с Вами очередным своим проектом реализованном на микроконтролере nRF52832. Это датчик температу и влажности на sht20 c монохромным дисплеем на электронных чернилах(E-INK|E...

[Из песочницы] Molecule — тестируем роли Ansible Доброго времени суток. На Хабре не раз упоминался ansible, но статей о тестировании его ролей при помощи molecule мной обнаружено не было, однако Я нахожу данный фреймворк крайне удобным и хотел бы поделиться этим с аудиторией Хабра. Но для начала немного о том, чем я пользо...

[Перевод] 5 отличных способов анимировать React-приложения в 2019 году Анимация в приложениях React — популярная и обсуждаемая тема. Дело в том, что способов ее создания очень много. Некоторые разработчики используют CSS, добавляя теги в HTML-классы. Отличный способ, его стоит применять. Но, если вы хотите работать со сложными видами анимаци...

[Из песочницы] Принципы проектирования справочников номенклатуры в 1С Управление Предприятием 2 (ERP 2.4.6) ОглавлениеОсновные принципы работы Справочники и связанные с ними объекты Перечисление «Типы номенклатуры» Справочник «Виды номенклатуры» Справочник «Товарные категории» Справочник «Товарные характеристики» Дополнительные реквизиты и сведения Функционал «Номенклатура, ...

Голосование за доклады на летний DIY-митап в Mail.ru Group 16 июня Всем привет! Напоминаем, что 16 июня пройдет летний DIY-митап, и у нас хорошие новости! К нам поступило 10 заявок, мы не ограничивали никого в теме и подходах к выступлениям. Список заявок и ссылка на голосование под катом. Читать дальше →

Кейсы удачных (и не очень) экспериментов «Яндекс.Навигатора» Продуктовая команда «Яндекс.Навигатора» поделилась, какие проводит эксперименты, как организована работа внутри, как монетизирует продукт и какие подходы использует в предиктивной аналитике. Читать дальше →

[recovery mode] KISS Architecture. От микросервиса до монолита Андрей Копылов, наш технический директор, рассказывает, какой подход к проектированию архитектуры приложений использует команда веб-разработчиков AREALIDEA, и, чем KISS Architecture, его собственная разработка, так хороша. Читать дальше →

Какие заголовки привлекают внимание чаще всего или анализ HabraHabr Здравствуйте, и снова появилось желание поделиться чем-то полезным! Статья о пользе домохозяйки не зашла на Хабр, по этому я выудил статью 4 летней давности написанную специально для habrhabr.ru для рекламы digital агентства, которое я уже закрыл. Надеюсь этот раз плюсов буд...

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

«5 копеек» к разговору о Cортировках В продолжение темы хочу поделиться своим кодом обгоняющим std::sort() из актуальных версий GNU C++ Library. Читать дальше →

[Из песочницы] Изменяем содержимое нотификации приложения iOS Привет! В этой статье я хочу поделиться своим опытом использования одного не очевидного (по крайней мере для меня) варианта изменения текста уведомления приложения, отправкой дополнительных данных через UNUserNotificationCenter. Я надеюсь эта статья будет полезна для нович...

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

[Из песочницы] Основные заблуждения о SCRUM SCRUM? Какой SCRUM? Впервые подход SCRUM (англ. scrum «схватка вокруг мяча») описали Хиротака Такэути и Икудзиро Нонака, которые заметили, что небольшие команды (5 — 9 человек), укомплектованные разнопрофильными специалистами, дают лучшие результаты. Наиболее полное описание...

Мнение: подход SEC к криптовалютам ущемляет интересы инвесторов из среднего класса Известный американский экономист Джон Берлау раскритиковал позицию, которую заняла Комиссия по ценным бумагам и биржам США (SEC) в отношении криптовалют и цифровых токенов, заявив, что ее подход к этой индустрии оставляет не удел многих инвесторов из среднего класса. Свои мы...

Asterisk. Dialplan Askozia 6. Исходящие звонки В статье пойдет речь о бесплатной АТС Askozia версии 6. При разработке телефонной станции одной из первых задач была организация исходящих звонков. Как это было В старой версии Askozia использовались стандартные “шаблоны” dialplan. X! — все номера телефонов XXX — трехзна...

YIMP — Панель управления для Yii 2 на Bootstrap 4 Уверен, что у многих разработчиков, предпочитающих фреймворки готовым CMS, есть в запасе решение на Bootstrap или его аналогах, которое используется в для создания интерфейсов админок и прочих бэк-офисов. И у меня такое есть. Успешно работает много лет, но безнадежно устарел...

Service Desk в Хоум Кредит. А что внутри?… В каждой компании, где присутствует подразделение ИТ, есть ServiceDesk, но у всех он разный. Где-то это простой helpdesk для приема обращений, где-то anykey, у нас в Хоум Кредите первая линия поддержки — ступень к многоуровневому процессу эксплуатации, а для многих сотрудник...

[Из песочницы] Обучение разработчиков 1С-Битрикс: делимся нашим подходом к «выращиванию» кадров Когда кадровый голод становится невыносимым, digital-компании идут разными путями: кто-то под прикрытием «курсов» открывает собственную кузницу кадров, кто-то придумывает заманчивые условия и хантит специалистов у своих конкурентов. А что делать, если ни первое ни второе н...

Внедряя ERP на промышленных предприятиях: Алевтина Светозаровна и Excel против суровых архитекторов и английского завода Внедрение ERP-системы – это больно. Это мат, слезы, крики, иногда угрозы физической расправы (встречалось, к сожалению, и такое в нашей практике). Но, это и нормально – серьезные изменения вызывают много эмоций и влияют на карьеру людей, а внедрять ERP на российских предприя...

«Killer apps» для ПК из 80-х: VisiCalc и WordStar Как в 80-х предки Microsoft Office и Google Docs обеспечили популярность ПК, привели к массовым сокращениям штата бухгалтеров и на долгие годы завоевали сердца некоторых писателей. Читать дальше →

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

Vivado: Picasso mode Аннотация Безумию все возрасты покорны При проектировании каких-либо модулей на ПЛИС невольно иногда приходит в голову мысль о не совсем стандартном использовании самой среды проектирования и инструментов, которые она предоставляет для проектирования. В этой небольшой заметк...

[Перевод] Пишем операционную систему на Rust. Реализация страничной памяти (новый вариант) В этой статье разберёмся, как реализовать поддержку страничной памяти в нашем ядре. Сначала изучим различные методы, чтобы фреймы физической таблицы страниц стали доступны ядру, и обсудим их преимущества и недостатки. Затем реализуем функцию преобразования адресов и функцию ...

По следам Highload++ Siberia 2019 — 8 задач по Oracle Привет! 24-25 июня в Новосибирске прошла конференция Highload++ Siberia 2019. Наши ребята тоже там были докладом «Контейнерные базы Oracle (CDB/PDB) и их практическое использование для разработки ПО», мы выложим текстовую версию немного позже. Было круто, спасибо olegbunin ...

Вия, Уая, Вая, Вайя – “трудности перевода”, или что скрывается за новой платформой SAS Viya (Вайя)    В сети можно найти огромное количество разнообразных статей о методах использования алгоритмов математической статистики, о нейронных сетях и в целом о пользе машинного обучения. Данные направления способствуют существенному улучшению жизни человека и светлому будущем...

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

[Перевод] Тестирование PostgreSQL с HugePages в Linux Ядро Linux предоставляет широкий спектр параметров конфигурации, которые могут повлиять на производительность. Главное — выбрать правильную конфигурацию для вашего приложения и рабочей нагрузки. Как и любой другой базе данных, PostgreSQL необходима оптимальная настройка ядра...

Интернет для всех, даром, и пусть никто не уйдёт обиженный Добрый день, Сообщество! Меня зовут Михаил Подивилов. Я являюсь основателем общественной организации «Medium». Меня неоднократно просили написать краткое, но исчерпывающее руководство о том, каким образом можно подключиться к сети децентрализованного интернет-провайдера «M...

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

[Из песочницы] Как я занимался созданием шкатулки LED HEART Приветствую, Habr! Хочу поведать историю о создании музыкальной шкатулки с элементами световой иллюминации – красивого подарка с возможностью индивидуального подбора световых эффектов и музыкального сопровождения. Шкатулку обозвал незамысловато — LED HEART. Какая-никакая ра...

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

Дилетант в opensource — lessons learned за 3 года Давно, в 2014 году я сделал для себя небольшую утилитку, чтобы перегонять C#-вьюмодели в TypeScript-код. Она сэкономила мне немало времени и нервов. И вот, в сентябре 2015 я решил оформить свои "эксперименты на коленке" в некую удобоваримую форму и вылить их на GitHub. Так н...

Добавляем ZigBee устройства в Homebridge используя CC2531 На Хабре уже встречались статьи о том, как подружить ZigBee устройства различных производителей с системами управления умным домом, без использования фирменных хабов, вроде Xiaomi Gateway. Однако, инструкции для homebridge, я не нашел не только на Хабре, но и на других прост...

Как проектировать продукт, если вы решили выйти на зарубежный рынок Привет! Меня зовут Наташа, я UX-исследователь в компании, которая занимается проектированием, дизайном и исследованиями. Кроме участия в русскоязычных проектах (Рокетбанк, Точка и многое другое), мы пытаемся выходить и на зарубежный рынок. В этой статье я расскажу, на что с...

[Из песочницы] Как в Microsoft SQL Server получать данные из Google Analytics при помощи R В этом материале я хочу подробно показать, как можно при помощи R в Microsoft SQL Server реализовать получение данных из Google Analytics (и вообще из любого API). Благодарности: Поскольку я ни разу не маркетолог мне требовалась помощь специалиста. Тестовый кабинет и доступ ...

Опыт использования flatten-maven-plugin для упрощения версионирования в maven-проектах О нас В 1С мы разрабатываем не только платформу 1С: Предприятие на С++ и JavaScript, но и приложения на Java – в частности новую среду разработки Enterprise Development Tools на базе Eclipse и сервер глубоко интегрированного с платформой мессенджера – Системы Взаимодействия....

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

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

[Из песочницы] Построение сервис-ориентированной архитектуры на Rails + Kafka Привет, Хабр! Представляю вашему вниманию пост, который является текстовой адаптацией выступления Stella Cotton на RailsConf 2018 и переводом статьи «Building a Service-oriented Architecture with Rails and Kafka» автора Stella Cotton. В последнее время отчетливо виден перех...

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

[Из песочницы] Смок-тестирование релиз-кандидата автотестами за 15 минут Меня зовут Лилия, я QA Lead в одном из проектов финансовой группы БКС (сервис по подбору выгодных для клиента предложений из ряда кредитных продуктов), и сегодня я расскажу, как мы автоматизировали смок-тестирование, с какими проблемами столкнулись и какой стек технологий ис...

[Перевод] Пишем Android-приложение на ассемблере Эта рассказ о нестандартном подходе к разработке Android-приложений. Одно дело — установка Android Studio и написание «Hello, World» на Java или Kotlin. Но я покажу, как эту же задачу можно выполнить иначе. Читать дальше →

Как поделиться папкой заметок на iPhone или Mac Больше не нужно отправлять каждую заметку отдельно.

Встраиваем интерпретатор Python в java-приложение с помощью проекта Panama Пару дней назад увидел твит Брайана Гетца, но только сегодня дошли руки поиграться с примерами. Про это и хочу кратко рассказать. О проекте Panama на Хабре уже писали, поэтому просто покажу пару простых примеров того, как можно применить native binder. Читать дальше →

Установка и настройка Nexus Sonatype используя подход infrastructure as code Sonatype Nexus – интегрированная платформа, с помощью которой разработчики могут проксировать, хранить и управлять зависимостями Java (Maven), образами Docker, Python, Ruby, NPM, Bower, RPM-пакетами, gitlfs, Apt, Go, Nuget, а также распространять свое программное обеспечение...

[Из песочницы] Система управления движением корабля «Союз-ТМ» В своих хабах я хочу рассказывать вам о управлении пилотируемыми космическими кораблями. В основном о корабле «Союз» и «Space Shuttle». За 15 лет изучения этих кораблей у меня собралось достаточное количество информации о них, а так же знаний которыми я хочу поделится с вами...

Работа 2.0: Ренессанс Многие сейчас чувствуют и осознают, насколько масштабные изменения происходят в нашем понимании подходов к работе и управлению. Agile перерос ИТ и выплеснулся на предприятия. Теория сложных систем оказывает влияние на наше мышление. Культура безопасности раскрывает ценность ...

Комплексный маркетинг на реальных проектах с рекламными бюджетами Учим комплексному маркетингу на реальных проектах с рекламными бюджетами. Что даст обучение? Получите системные знания, освоите инструменты digital-маркетинга, научитесь создавать стратегию продвижения проекта. Для этого мы выделяем 25 часов теории и 55 часов практ...

Зрелая исполняемая среда для контейнеров: containerd стал «выпускником» CNCF За проектом containerd мы следим с самого его начала. Посему не можем обойти вниманием значимое событие: минувшей ночью организация CNCF, стоящая за Kubernetes и другими выдающимися Open Source-решениями для мира cloud native, объявила containerd своим «выпускником». Этот пр...

RAID0 из пары SATA SSD или... Intel Optane 800p: продолжаем поиски смысла старых подходов в современных условиях Недавно мы попробовали «поиграть» с массивами RAID0 из пары NVMe-накопителей и пришли к выводу, что это лишено практического смысла. Даже если окажется, что старого маленького медленного SSD уже не хватает, его проще заменить на новый большой и быстрый, а не пытаться докупит...

Непробиваемая карта памяти – топим, морозим и поджигаем Kingston microSD High Endurance Большинство пользователей подходят к выбору карты памяти для любого гаджета легко и просто – находят что-то лежащее без дела или с мыслями «а зачем платить больше?» берут что-то недорогое в ближайшем магазине. Осознать ошибочность такого подхода можно только на горьком опыте...

Поток как инструмент управления Вернемся к идее использования потоков создания ценности в роли архитектурных элементов системы управления. Вопрос о том, как сделать это целостно, беспокоит меня уже какое-то время. Первые размышления по этому вопросу удалось выразить в заметке «Value stream, user'...

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

Разрушение Silo через адаптацию VeriSM™ подхода Силосная культура – бич современного бизнеса любого уровня. Главный признак ее возникновения – замкнутость подразделений внутри своих бизнес-процессов, что непременно ведет к смещению фокуса с глобальных задач компании на удовлетворение собственных. Силос по своей сути это б...

Заметки с конференции ACL 2019 Annual Meeting of the Association for Computational Linguistics (ACL) — это главная конференция в области обработки естественного языка. Она организуется с 1962 года. После Канады и Австралии она вернулась в Европу и проходила во Флоренции. Таким образом, в этом году у евр...

[Перевод] Введение в Kubernetes для пользователей VMware. Часть 1. Теория Это вторая часть из моей серии постов “Kubernetes in the Enterprise”. Как я упоминал в моем последнем посте, очень важно при переходе к “Design and Implementation Guides” всем быть на одном уровне понимания Kubernetes (K8s). Я не хочу здесь применять традиционный подход дл...

Как вывести Заметку из macOS в отдельное окно и закрепить её поверх всех окон Мало кто знает, что системное приложение macOS под названием Заметки умеет выводить любую запись в отдельное окно для большего удобства пользователя — и даже «прилепить» её так, чтобы она всегда была видна! В этой статье мы расскажем, как это сделать. Этот навык особенно при...

Опыт использования BDD в тестировании CUBA Platform Около семи лет назад Dan North в своей статье описал практическое применение BDD подхода, который позволяет сделать процесс разработки более понятным и управляемым путем налаживания внутренних коммуникаций. Индустрия с каждым днем проявляет всё больший интерес к этой методол...

[Из песочницы] Пишем первый микросервис на Node.js с общением через RabbitMQ Со временем, каждый проект растет и реализовывать новый функционал в существующий монолит становится все сложнее, дольше и дороже для бизнеса. Один из вариантов решения данной проблемы — использование микросервисной архитектуры. Для новичков или для тех, кто впервые сталкива...

[Перевод] Четыре оси дизайна RPG Эта статья началась с ответа на многогранный, но в то же время довольно прямолинейный вопрос: из чего же состоит хорошая ролевая игра? На протяжении своей карьеры я поработал над несколькими RPG, и даже читал презентацию по этой теме, но никогда не рассматривал её целостно. ...

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

Игровой чат-бот Угадай Слово — немного наблюдений и вопросов о развитии Привет. Когда в сентябре прошлого года писался игровой чат бот, я поставил планку — если он наберёт 500 пользователей за пол года (то есть до марта 2019), то я напишу об этом боте на Хабре и поделюсь своими мыслями и вопросами по игровым чат-ботам. Читать дальше →

[Из песочницы] Consumer Driven Contracts или Gitlab CI глазами QA test automation Цели данной публикации: Краткое введение в Consumer Driven Contracts (CDC) Настройка CI pipeline на основе CDC Consumer Driven Contracts В этой части мы пройдемся по основным моментам CDC. Данная статья не является исчерпывающей на тему контрактного тестирования. Существуе...

[Перевод] Создание динамических PDF-файлов с использованием React и Node.js Материал, перевод которого мы сегодня публикуем, посвящён созданию динамических PDF-файлов с использованием HTML-кода в качестве шаблона. А именно, речь пойдёт о том, как сформировать простой счёт на оплату неких товаров или услуг, динамические данные, включённые в который, ...

Элементы, основа для разработки Работа и разработка идут хорошо когда есть: От чего отталкиваться(основа). К чему стремиться(идея, проект и т.д.) Одной из основ я хочу поделиться с Вами в данной публикации. Читать дальше →

[Перевод] Десять лет программирования на Erlang Я присоединился к сообществу Erlang около 10 лет назад, посреди первой фазы хайпа. Нам говорили, что Erlang — это будущее конкурентности и параллелизма. Реализовать их на этом языке проще и быстрее всего, и вы ещё получите бесплатную распределённость. В то время будущее каз...

Как я провел лето с C# 8 В недавнем выпуске подкаста DotNet & More Blazor, NetCore 3.0 Preview, C#8 и не только мы лишь вскользь упомянули такую животрепещущую тему, как C#8. Рассказ об опыте работы с C# 8 был недостаточно большим, что-бы посвящать ему отдельный выпуск, так что было решено подел...

Puma проводит набор бета-тестеров для тестирования Puma Fi Компания Puma предложила грядущую бета-программу для тех, кто хочет испытать новые умные кроссовки Puma Fi. С настоящего момента до 28 апреля вы можете подать заявку на участие в программе бета-тестирования Puma Fi через приложение PUMATRAC которое доступно на iOS и Andr...

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

ок.tech: QATOK 11 декабря в петербургском офисе Одноклассников состоится ок.tech: QATOK – мероприятие, посвященное обеспечение качества в ИТ проектах и всему, что с этим связанно. Вместе с коллегами из OK, Mail.ru и Qameta Software поговорим про замеры производительности в Android-прилож...

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

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

Инструменты Метода управления проектной организацией (часть 2) Продолжаю серию публикаций об управлении проектной организацией в условиях когда много нужно выполнять все обязательства в срок и в полном объеме и есть ограничение по ресурсам. В прошлый раз я рассказал о концепции Pulse Management (Метода Пульса, далее «Метод»), а сейчас з...

Microsoft готовит опцию по раскрытию пароля в Edge на Chromium Microsoft недавно начала работу над новой функцией для проекта Chromium с открытым исходным кодом, которая будет полезна для различных браузеров, включая новые – Edge и Google Chrome. В соответствии с новым коммитом Microsoft хочет добавить в Chromium новую функцию, которая ...

Еще две кнопочные Nokia на подходе На сайте Slashleaks опубликовали сведения о двух новых устройствах Nokia, который были замечены в базе данных организации Bluetooth SIG (Special Interest Group). Данные о телефонах, которые проходит под модельными номерами Nokia TA-1155 и Nokia TA-1171, были добавлены в...

Пример разбора C++ кода с помощью libclang на Python На одном личном проекте на C++ мне потребовалось получать информацию о типах объектов во время выполнения приложения. В C++ есть встроенный механизм Run-Time Type Information (RTTI), и конечно же первая мысль была использовать именно его, но я решил написать свою реализацию,...

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

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

Заметки на Mac, iPhone и iPad: 7 способов работать продуктивнее с Заметками от Apple Apple Заметки – не просто «еще одно» приложение для того, чтобы записывать свои мысли. Их возможностей более чем достаточно для того, чтобы переехать даже из такого серьезного менеджера заметок как Evernote. Главное – знать, как правильно всё «готовить».   1. Организуйт...

Проверка проекта CDK с помощью статического анализатора IntelliJ IDEA Я решил потестировать статический анализатор Java-кода IntelliJ IDEA и с его помощью проверил проект The Chemistry Development Kit. Здесь я приведу некоторые ошибки, которые я нашёл. Думаю, что часть из них характерна для Java-программ в целом, поэтому могут быть интересны. ...

ObjectRepository — .NET in-memory repository pattern для ваших домашних проектов Зачем хранить все данные в памяти? Для хранения данных сайта или бекэнда первым желанием большинства здравомыслящих людей выберет SQL базу данных.  Но иногда в голову приходит мысль что модель данных не подходит для SQL: например, при построении поиска или социального графа ...

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

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

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

[Перевод] Postgres в ретроспективе Предлагаем вашему вниманию перевод статьи Джозефа Хеллерштейна «Looking Back at Postgres», опубликованной в соответствии с международной лицензией Creative Commons «С указанием авторства» версии 4.0 (CC-BY 4.0). Авторы оставляют за собой право распространять эту работу на ли...

Страх и ненависть DevSecOps У нас было 2 анализатора кода, 4 инструмента для динамического тестирования, свои поделки и 250 скриптов. Не то, чтобы это всё было нужно в текущем процессе, но раз начал внедрять DevSecOps, то надо иди до конца. Источник. Авторы персонажей: Джастин Ройланд и Дэн Хармон. ...

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

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

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

Шестерни в Box2D Добрый день, дорогой читатель! Это уже четвертая статья по Box2D. И здесь я предложу готовое решение для программистов. Мне самому нужны были шестерни для моего проекта, и я сделал 4-х, 6-и, 12-и и 24-х зубчатые колеса. Код занял 2115 строк, 4 дня работы. И я хочу поделиться...

[Из песочницы] Физика и экономика. Гносеологическая разница и ее проявление в IT В мир IT я пришел из теоретической физики. Занимался, в основном, экономическими задачами. Занимался – это: анализ, ТЗ, постановка, проектирование, программирование. Естественно, я все время сопоставлял физический и экономический подходы к познанию законов природы и экономик...

Резервное копирование, часть 7: Выводы Данная заметка завершает цикл о резервном копировании. В ней пойдет речь о логической организации выделенного сервера (или VPS), удобной для резервного копирования, а также будет предложен вариант быстрого восстановления сервера из резервной копии без особых простоев в случ...

Несколько соображений по поводу параллельных вычислений в R применительно к «enterprise» задачам Параллельные или распределенные вычисления — вещь сама по себе весьма нетривиальная. И среда разработки должна поддерживать, и DS специалист должен обладать навыками проведения параллельных вычислений, да и задача должна быть приведена к разделяемому на части виду, если тако...

[Перевод] Жизнь действия GitHub Action Мне показалось, будет прикольно запилить пост под названием «Жизнь действия GitHub Action». На вводном обучении в Google тебя проводят через «Жизнь запроса», и у меня это был один из самых любимых элементов. Поэтому я использую аналогичный подход для GitHub Action. Для тех, ...

Сертификация ISTQB. Часть 2: Как готовиться к сертификации ISTQB? Истории из практики В Первой части нашей статьи по сертификации ISTQB мы постарались ответить на вопросы: Кому? и Зачем? нужен данный сертификат. Меленький спойлер: сотрудничество с ISTQB открывает больше дверей скорее перед компанией-работодателем, чем перед новоявленным владельцем сертификат...

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

[Из песочницы] Опыт автоматизации регрессионного визуального тестирования на Java + Selenium Webdriver + aShot Здравствуйте. В этой статье я бы хотел рассказать о своем опыте автоматизации визуального регрессионного тестирования. Читать дальше →

Как написать сапера на Phaser и выполнить тестовое задание HTML5 разработчика Добрый день, уважаемые коллеги! Меня зовут Александр, я разработчик HTML5 игр. В одной из компаний, куда я отправлял свое резюме, мне предложили выполнить тестовое задание. Я согласился и, спустя 1 день, отправил в качестве результата разработанную по ТЗ HTML5 игру. Поск...

[recovery mode] Скрытая комиссия Яндекс.Денег в Samsung Pay Доброго времени суток. В этой небольшой заметке хочу рассказать как я попался на удочку скрытых комиссий. Читать дальше →

4. Нагрузочное тестирование Check Point Maestro Продолжаем цикл статей по решению Check Point Maestro. Мы уже опубликовали три вводных статьи: Check Point Maestro Hyperscale Network Security Типовые сценарии использования Check Point Maestro Типовой сценарий внедрения Check Point Maestro Теперь самое время перейти к ...

Анализ подходов к связыванию модулей в Node.js Многие разработчики Node.js для связывания модулей используют исключительно создание жёсткой зависимости с помощью require(), однако существуют и другие подходы, со своими плюсами и минусами. О них я в этой статье и расскажу. Будут рассмотрены четыре подхода: Жёсткие завис...

Методология как конструктор: инструкция по сборке Из современного конструктора LEGO можно собрать только одну модель игрушки, например, самолет. Кастомизировать? Можете поменять местами кресла пилотов — вот и вся кастомизация. Лет 30 назад из конструктора можно было собрать примерно все, от самолета до грузовика, при том же...

MOSDROID Meetup: подключайтесь к трансляции Уже завтра, 16 ноября, митап MOSDROID в офисе Райффайзенбанка: узнаём все тонкости кроссплатформенной разработки с использованием Flutter и GoMobile, поделимся друг с другом опытом модульной архитектуры проекта и ещё много интересных тем. Смотрите программу и подключайтесь ...

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

Открытое тестирование Trials Rising пройдёт с 21 по 25 февраля Компания Ubisoft объявила даты проведения открытого бета-тестирования гоночной аркады Trials Rising. Как утверждает Ubisoft, Trials Rising является самой масштабной и многообещающей частью серии. Игра демонстрирует новый подход к геймплею, усиленный соревновательный...

[Перевод] Y Combinator: Как закрыть компанию Вполне обосновано то, что основатели и инвесторы тратят так много времени на разговоры о вещах, которые идут хорошо. Если бы мы тратили всё свое время, вникая в суть компаний, которые потерпели неудачу, у нас бы не хватало его на многое другое. Когда люди говорят о провал...

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

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

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

Новые ключевые слова в Java В ближайшем будущем в языке Java появятся новые фичи, над которыми сейчас идет работа в рамках проектов Valhalla, Panama и Loom. Расширение языка — дело непростое, тем более — языка, в котором акцент делается на обратную совместимость; поэтому для того, чтобы их интеграция в...

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

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

[Перевод] Пять главных итогов Helm Summit 2019 в Амстердаме Прим. перев.: Повышенный интерес к «пакетному менеджеру Kubernetes» — Helm, — что наблюдается в последнее время, легко объяснить. В активной стадии — причём уже не только разработки, но и релизов — находится долгожданное крупное обновление Helm v3, о котором мы уже писали. Е...

[Перевод] Гид по параллельному масштабированию Amazon Redshift и результаты тестирования Мы в Skyeng пользуемся Amazon Redshift, в том числе параллельным масштабированием, поэтому статья Стефана Громолла, основателя dotgo.com, для intermix.io, показалась нам интересной. После перевода — немного нашего опыта от инженера по данным Данияра Белходжаева. Архитекту...

[Перевод] Конференция DEFCON 19. Anonymous и мы. Часть 2 Конференция DEFCON 19. Anonymous и мы. Часть 1 Джошуа Корман: вы знаете, я не сторонник самосуда, но я не думаю, что подобный подход должен исчезнуть. Это важный вопрос. Если мы думаем, что наша отрасль дисфункциональна и не уверены, что будем услышаны, тогда давайте примен...

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего. В этой статье я хотел бы подели...

Заметки фитохимика. Радио-банан Каждое чудо должно найти свое объяснение, иначе оно просто невыносимо… К.Чапек Я практически не касаюсь в своих статьях вещей, которые повсеместно описаны и легко доступны, к примеру макро- и микроэлементного состава фруктов/овощей. Но вот для банана решил сделать исключени...

Инфраструктура сборки проекта с docker На Хабре уже есть материалы про то, как настроить docker-контейнер для компиляции проекта. Например, Использование Docker для сборки и запуска проекта на C++. В этой статье, как и в предыдущей будет рассмотрен вопрос сборки проекта, но здесь я бы хотел выйти за рамки туториа...

ПАО «ИЛ» пересматривает подходы к использованию цифровых технологий для проектирования авиационной техники с помощью ЛАНИТ ПАО «ИЛ» провело исследование по выявлению узких мест и проблем в ходе внедрения и использования цифровых технологий как на предприятии, так и на …

BLE под микроскопом 4 BLE под микроскопом. Часть 4 Несколько слов о whitelist-е. Так сложилось, что я на долгое время отошел от темы BLE. Но вот вернулся:-) Сегодня я хочу затронуть тему whitelist. Для чего это нужно? Если мы хотим что бы с нашим гаджетом работали только определенные телефоны,...

«Открытая организация»: Как не потеряться в хаосе и сплотить миллионы Настал важный день для Red Hat, российского сообщества open source и всех причастных – на русском языке вышла книга Джима Уайтхерста «Открытая организация: Страсть, приносящая плоды». Она подробно и живо рассказывает, как мы в Red Hat даем лучшим идеям и самым талантливым лю...

Нагрузочное тестирование с locust. Часть 3 Финальная статья об инструменте для нагрузочного тестирования Locust. Сегодня поделюсь наблюдениями, которые накопил в процессе работы. Как всегда, видео прилагается. Часть 1 — тестирование с Locust Часть 2 — продвинутые сценарии Читать дальше →

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

Как мы делали SCRUM Страшный сон команды разработчиков — это когда до начала разработки надо «нырнуть» в неизвестную предметную область и «проэстимейтить» half-baked idea. При этом нужно буквально «подписаться кровью» за результат в назначенный срок за фиксированные деньги. На деле дать точную...

Data Science и конференция в тропиках Статьи про компьютерное зрение, интерпретируемость, NLP – мы побывали на конференции AISTATS в Японии и хотим поделиться обзором статей. Это крупная конференция по статистике и машинному обучению, и в этом году она проходит на Окинаве – острове недалеко от Тайваня. В этом по...

AIOps на практике — что может Huawei FabricInsight В ответ на рост количества работающих приложений и числа сетевых устройств повышается пропускная способность сетей и ужесточаются требования к доставке пакетов. В масштабах критически важных для бизнеса облачных ЦОД традиционный подход к обслуживанию инфраструктуры уже не по...

[Из песочницы] Вступление в архитектуру React Fiber Привет, Хабр! Предлагаю вашему вниманию перевод статьи "React Fiber Architecture" автора Andrew Clark. Вступление React Fiber — прогрессивная реализация ключевого алгоритма React. Это кульминационное достижение двухгодичных исследований команды разработчиков React. Цель Fibe...

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

Портирование Qt на STM32 Добрый день! Мы в проекте Embox запустили Qt на STM32F7-Discovery и хотели бы об этом рассказать. Ранее, мы уже рассказывали как нам удалось запустить OpenCV. Qt — это кроссплатформенный фреймворк, который включает в себя не только графические компоненты, но и такие вещи ка...

Tick Tock: A Tale for Two – игра для iPhone и iPad, которую можно пройти только вдвоем Не секрет, что играть веселее вместе. Можно делать это по-разному. Игроки могут сменять друг друга или просто наблюдать, подсказывать. Но куда интереснее действовать совместно, решая совместно одну и ту же задачу. Это может быть убийство врагов, обезвреживание бомбы, гонки н...

[Перевод - recovery mode ] Руководство по SQL: Как лучше писать запросы (Часть 2) Продолжение статьи Руководство по SQL: Как лучше писать запросы (Часть 1) От запроса к планам выполнения Зная, что антипаттерны не статичны и эволюционируют по мере того, как вы растете как разработчик SQL, и тот факт, что есть много, что нужно учитывать, когда вы задумыва...

АйтиХайп: Константин Осипов – Tarantool, Mail.Ru и B2B Константин Осипов рассказал про свой карьерный путь в MySQL и Mail.Ru, рождение и развитие Tarantool, свой подход к собеседованиям и работе с командой и про сложности в построении бизнеса вокруг базы данных.

[Из песочницы] Опыт разработки ассета Unity для поиска пути в 3D пространстве Вас приветствует команда «Graceful Algorithms»! В качестве эксперимента нами было принято решение вести «дневники» разработчиков, в которых мы будем делиться опытом и освещать некоторые интересные результаты проводимых нами экспериментов. Это наша дебютная статья по проект...

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

Машинное обучение vs. аналитический подход Какое-то время назад мы нашли свои старые материалы, по которым обучали первые потоки на наших курсах машинного обучения в Школе Данных и сравнили их с теперешними. Мы удивились, сколько всего мы добавили и поменяли за 5 лет обучения. Осознав, почему мы это сделали и как, ...

Почему так сложно выбрать, какое кино посмотреть (и что можно было бы сделать) Это — ответ на пост на животрепещущую тему «что посмотреть». Автор сам напросился поднял правильный вопрос, но почему-то свел все к странной психологической аналогии «заедания стресса», заявив: «Пока вы сами не знаете, что хотите посмотреть — никто вам не поможет. Будете туп...

Entity Framework 6 with Full-Text Search via LINQ Хочу поделиться своим костылем в решении довольно банальной проблемы: как подружить полнотекстовый поиск MSSQL c Entity Framework. Тема очень узкоспециальная, но как мне кажется, актуальна на сегодняшний день. Интересующихся прошу под кат. Читать дальше →

Заметки фитохимика. Картофель. Часть вторая. Рассказы про белки/жиры или «День сыроеда» Я думаю постоянные читатели моих заметок уже заметили достаточно скептическое мое отношение ко всевозможным, с позволения сказать, пищевым и диетологическим девиациям вроде сыроедения, моноедения, праноедения («тысячи их»). Но сегодня я хочу поговорить о таких «нутриентах» к...

Террасофт приглашает на премьеру нового бесплатного продукта Компания Террасофт, лидер на отечественном рынке BPM и CRM, приглашает на самое ожидаемое онлайн-событие года — презентацию абсолютно нового бесплатного продукта bpm’online studio free, который изменит подход к построению и описанию бизнес-процессов организации.

Enterprise Agile Russia в Райффайзенбанке 26/11 Приглашаем 26 ноября на встречу сообщества практиков Agile в крупных организациях — Enterprise Agile Russia. Спикеры Технологического Центра Дойче Банка, Райффайзенбанка и компании Ингосстрах поделятся своим опытом Agile-процессов. Ждём вас в офисе Райффайзенбанка в Нагати...

«Лаборатория Касперского» представила новую онлайн-платформу для освоения навыков кибербезопасности «Лаборатория Касперского» представила Kaspersky Automated Security Awareness Platform (ASAP). Kaspersky ASAP представляет собой автоматизированную платформу, которая обеспечивает новый подход к организации тренингов по защите от киберугроз, а также позволяет сформировать и з...

[Из песочницы] Подводные камни разработки Google Play Instant Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь Android-разработкой в PROFI.RU. Недавно я написал приложение с мгновенным запуском для наших клиентов. Если вы ещё не знакомы с технологией, приглашаю вас сначала посетить Android Developers. С презентации Instant Apps (G...

[Перевод] Quality pipelines в мобильной разработке, часть 1: Android фото с Unsplash по запросу "pipeline" Общий подход Привет! Я начинаю серию постов о пайплайнах в разработке и не только, которые помогают удостовериться в качестве разрабатываемых мобильных приложений. Главная идея в том, чтобы осветить все подходы к мобильной разработке, а...

[Из песочницы] От поиска идеи, до готового приложения Наверно многие задумывались над тем, как можно реализовать свои знания в готовом продукте. Кто-то больше, кто то меньше потратил на это времени. Хочу поделиться с сообществом своим опытом и видением, как это надо делать правильно, но не всегда получается. Читать дальше &rar...

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

[Из песочницы] Как казаки GICSP сертификат получали Всем привет! На всеми любимом портале было много разных статей по сертификации в области ИБ, поэтому претендовать на оригинальность и неповторимость контента не собираюсь, но все же очень хотел бы поделиться своим опытом получения GIAC (Global Information Assurance Company) ...

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

Apache Ignite Zero Deployment: точно Zero? Мы — отдел развития технологий розничной сети. Однажды руководство поставило задачу ускорить объемные вычисления за счет использования Apache Ignite в связке с MSSQL, показало сайт с прекрасными иллюстрациями и примерами Java-кода. На сайте сразу понравился Zero Deployment,...

Заменит ли автоматизация ручное тестирование? Привет, Хабр! Решил написать свое мнение касательно того, заменит ли автоматизация тестирования, собственно, тестировщиков. Прежде всего потому, что довольно слышу подобное мнение среди Junior QA, кто только делает свои первые шаги в тестировании и уже боится, что чего-то н...

Как я писал бота с ДЗ и менял базу данных Здравствуйте, Хабровчане! Сегодня я постараюсь поведать вам как школьник может наговнокодить написать бота для хранения домашки для VK. ОсторожноСразу обращу внимание, что для серьёзных проектов так строить инфраструктуру нельзя, весь этот проект создавался только для развл...

Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux. Установка Установить PVS-Studio под Linux можно разными...

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

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

PHP: изменение стуктуры БД в командной разработке В мире PHP хорошо известны инструменты миграций структуры БД — Doctrine, Phinx от CakePHP, от Laravel, от Yii — это то первое, что пришло в голову. Наверняка, есть еще с десяток. И большинство из них работают с миграциями — командами для внесения инкрементных изменений в с...

[Из песочницы] На одной асимптотике далеко не уедешь… Любители посоревноваться в алгоритмах часто говорят об асимптотике того или иного решения задачи. При этом нередко можно встретить высказывания, что, мол, «вот этот» алгоритм работает за O(n), а «вон тот»  – за O(n·log(n)), значит первый однозначно быстрее и, следовательно,...

End-to-end тестирование микросервисов c Catcher Добрый день, Я хотел бы представить новый инструмент для end-to-end тестирования микросервисов – Catcher Зачем тестировать? Зачем нужно e2e тестирование? Мартин Фаулер рекомендует избегать его в пользу более простых тестов. Читать дальше →

[Из песочницы] Как сделать поддержку PCRE2 для Apache 2.4 Хочу поделится своим опытом перевода Apache 2.4 на PCRE2, так как даже PHP 7 уже давно поддерживает библиотеку PCRE2, а open source Apache Software Foundation все еще нет. Конечно я сейчас наверно опережаю релиз Apache с поддержкой PCRE2, так как я использую исходники с гита...

Первое знакомство с Home Assistant Home Assistant – популярное приложение с открытым исходным кодом для организации умного дома. Первый опыт автора в работе с Home Assistant основывается на попытке интеграции в него ‘умной рисоварки‘. Автор постарается описать основные компоненты и возможности данного прило...

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

[Из песочницы] Что такое быть Team Leader Всем привет! Меня зовут Артур Дементьев, я бы хотел поделиться личным опытом и написать несколько статей о том, что из себя представляет менеджмент в IT. А также рассказать о том, на какие грабли наступал и каких ошибок можно было избежать. Все статьи я буду писать, основыва...

Настройка Unit-тестов в смешанных проектах Swift + ObjectiveC Данная статья будет маленькой, расскажу, какие проблемы возникли при создании таргета для тестирования в смешанном и достаточно старом проекте ObjectiveC + Swift, и как удалось их решить. Читать дальше →

Планирование проектов в организации (часть 4) Я продолжаю цикл публикаций о Pulse Management — Управление проектной организацией (Метод Пульса). В этой статье я расскажу о самой «вкусной» части: Планирование проектов. Планирование — это самая простая и самая сложная часть любого проекта основанного целью которого являет...

«Нет, я не хочу подписываться на ваши уведомления»: Mozilla меняет подход к пушам Изменения вступят в силу с января 2020 года

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

Astra Linux 1.6 (Смоленск). Готова ли система к работе с простыми пользователями? Примеры костылей Нейтрализация пользователя и процесс установки новой ОС Привет, Хабр. Сегодня хотим поделиться опытом миграции одной организации (далее – Заказчик) на отечественную ОС в рамках выполнения требований по импортозамещению. Сразу нужно обозначить, что Заказчик выбрал и закупил...

[Из песочницы] Разработка приложения для старого КПК (Cybiko Xtreme) в 2019 году Введение Привет Хабр! Я хотел бы поделиться своим опытом написания приложения для очень старого карманного компьютера, который серьезно опередил свое время, а именно Cybiko Xtreme 2001 года выпуска. Тем, кому интересно как жилось мобильному разработчику в начале 2000-х, до...

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

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

Путь историка из HR в Java программисты: немного везения и упорства Наверняка вам известны истории, когда кто-то целенаправленно начал изучать, скажем, Java, еще в школе, потом пошел в институт, на работу – и вот он уже программер в Силиконовой долине с внушительным окладом. Я хочу вам рассказать о совсем необычном пути в кодеры. Из историко...

[Из песочницы] Обзор и тестирование 3D-сканера HP 3D Structured Light Scanner Pro S3 Приветствую вас. Недавно мне на работе довелось протестировать 3д-сканер от компании Hewlett Packard – HP 3D Structured Light Scanner Pro S3. Поэтому я решил поделиться с вами своим опытом его использования. Данный сканер работает по технологии структурированного света SLS....

Универсальный перехват. Как обойти SSLPinning раз и навсегда и читать трафик любого приложения Для подписчиковОчень часто исследование внутренней работы прикладных программ можно свести к исследованию их трафика, и чаще всего передается он по протоколам семейства HTTP. Но каждое приложение может по-своему защищаться от «прослушки». Сегодня мы постараемся выяснить, что...

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

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

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

Долгий путь от RFC 4357 к RFC 8645 или как управлять ключами шифрования Как известно, управление ключами является одной из самых сложных задач в криптографии. Буквально на днях в качестве RFC 8645 опубликован документ “Re-keying Mechanisms for Symmetric Keys” («Механизмы смены симметричных ключей»). Он является результатом двух с половиной лет ...

Микросервисы на php и swoole для конвертации телеграм каналов в RSS В предыдущем посте я рассказал про то, как настроить и использовать php телеграм клиент madelineProto для парсинга постов. Но при использовании библиотеки я столкнулся с несколькими недостатками: Долгая обработка запросов из-за авторизации телеграм клиента; Неудобная нас...

Пара слов про FastPath и FastTrack в MikroTik Ни для кого не секрет, что MikroTik производит Software Baser роутеры и большую часть по обработке трафика берет на себя CPU. У данного подхода есть приимущество, т.к. можно напрограмировать практически любой функционал и поддерживать относительно единую систему для всех уст...

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

Будущие модули Nvidia G-Sync будут поддерживать Adaptive-Sync и HDMI-VRR С начала 2019 года Nvidia применила к дисплеям подход с переменной частотой обновления (VRR), обеспечив поддержку HDMI VRR и VESA Adaptive-Sync для своих видеокарт GeForce. Компания продолжила работать в этом направлении и теперь, как и Geforce, модули G-Sync получат поддерж...

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

Java, Spring, Kurento и медиасервисы Существует уже немало медиа сервисов, но люди продолжают их создавать. Решил и я заняться изобретением своего велосипеда. Натолкнувшись на проект Kurento, понял что это то, что мне надо. Данная статья является частично переводом Kurento Documentatin, частично это заметки...

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

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

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

React + Mobx: в чём смысл? Сегодня я хочу рассказать вам о том, как на нашем проекте состоялся переход на Mobx, какие преимущества это даёт. Также будет показан типовой проект и даны пояснения по основным вопросам. Но сначала вводные. Читать дальше →

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