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

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

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

Будни Scrum-Мастера: трансформация команды и себя Бывало ли с вами такое, что вовремя общения, чтения или изучения чего-то будто осеняет, какая-то из старых или нынешних ситуаций в буквальном смысле предстаёт в новом свете? Со мной это постоянно случается, в этот раз при чтении книги “Азбука системного мышления” Донеллы Мед...

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

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

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

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

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

[Из песочницы] Самописный таймер в виде функции для промышленного контроллера Simatic S7-1200 Еще для серии S7-300 и S7-400 под Step 7 классических версий предлагаемых разработчику таймеров вполне хватало — это и стандартные таймеры IEC, реализованные в виде функциональных блоков, и таймеры S5 (которые, к слову, до сих пор существуют для серии S7-1500). Однако в ряде...

[Из песочницы] OSCP — мой опыт Что это за четыре буквы и кому это вообще надо? Я не буду описывать курс PWK и OSCP экзамен, простой запрос «OSCP review» выдаст вам кучу обзоров, описание формата, рекомендации и структуру курса. Просто поделюсь своим собственным опытом, как я сделал это и какие решения при...

Умный дом: Строим графики потребления воды и электричества в Home Assistant Каждый раз получая платежку за электричество и воду я удивляюсь — неужели моя семья стооооолько потребляет? Ну да, в ванной установлен теплый пол и бойлер, но ведь они же не кочегарят постоянно. Воду тоже вроде экономим (хотя поплескаться в ванной тоже любим). Несколько ле...

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

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

Медленное движение «влево» в автоматизации тестирования Похоже, что стремление «сдвинуть» тестирование влево, к началу конвейера, в сторону разработчиков для ускорения разработки приложений и их развертывания зашло в определённый тупик. Недавний опрос, проведённый компанией Perforce (специализируется на разработке сре...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

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

Что можно узнать на курсе ITIL®4 CDS Как вы знаете, курс ITIL®4 Create, deliver and support появился прошлой осенью. Разработан он на основе одноимённой книги и отдельных публикаций, в которых описаны практики, упоминающиеся в этой книге. Практики, вообще говоря, в книге упоминаются практически все, но для...

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

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

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

«Нюансы» использования TeamCity Всем привет. Статья написана в простом стиле "DevOps для домохозяек" от таких же домохозяек. В ней будет описано с какими неожиданностями можно столкнуться при настройке проекта в TeamCity. Также приведу рекомендации как эти проблемы можно обойти. Нижеописанное ос...

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

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

[Перевод] Kotlin vs Java И снова здравствуйте. В преддверии старта нового курса «Backend-разработка на Kotlin», мы подготовили для вас перевод статьи, в которой рассказывается о том, чем же Kotlin отличается от Java. «Kotlin – новый язык программирования, который заставит вас отказаться от Java»...

Разработка «простого генератора напряжения» в соответствии с ГОСТ Р МЭК 61508 (IEC 61508) В данной статье будут рассмотрены необходимые шаги для создания устройства, отвечающего общим требованиям функциональной безопасности (ФБ). А также будет предложена архитектура простейшего «безопасного» (safety) генератора напряжения. Так как управляя напряжением, можно уп...

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

Let vs where в Ocaml/Haskell Языки Ocaml и Haskell ведут родословную из языка ISWIM, описанного в знаменитой статье Питера Лендина "The next 700 programming languages". В ней автор, отталкиваясь от языка LISP, создаёт новый язык программирования и, в частности, вводит ключевые слова let, and и where, ко...

Как начать создавать карту в UE4 Всем доброго дня Как работают другие — одно из немногого, на что можно смотреть вечно. Но рано или поздно пора начинать что-то делать самому. Меня неожиданно сильно зацепил MudRunner своей атмосферностью, но мне не хватает в нём зимы (погоды, снега) и какой-то осмысленностив...

Быстрое чтение CSV в C# (fast read CSV) Уже не первый год пользуюсь своим универсальным конвертером CSV файлов в БД SQL Server - ImportExportDataSql, который имеет ряд полезных функций, необходимых любому разработчику БД MSSQL, например: перенос данных с одной БД в другую через SQL скрипт, выгрузка структуры БД...

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

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

Книга «Мифический человеко-месяц, или Как создаются программные системы » Привет, Хаброжители! Немногие книги по управлению проектами можно назвать столь же значимыми как «Мифический человеко-месяц». Смешение примеров из реальной разработки ПО, мнений и размышлений создает яркую картину управления сложными проектами. Эти эссе основаны на пятидесят...

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

[Из песочницы] Автономизация Unit-тестов в PHPUnit Всем привет! Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функц...

[Перевод] Почему стоит начать использовать FastAPI прямо сейчас Привет, Хабровчане! В преддверии старта занятий в группах базового и продвинутого курсов «Разработчик Python», мы подготовили для вас еще один полезный перевод. Python всегда был популярен для разработки легковесных веб-приложений благодаря потрясающим фреймворкам, таким к...

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

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

[Из песочницы] 5 фич JavaScript, без которых я не мог бы писать код (перевод) Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Kent Dodds «5 JavaScript Features I Couldn't Code Without». Это мой первый перевод, так что буду рад любым замечаниям. 5 фич JavaScript, без которых я не мог бы писать код Прежде чем мы начнем, по...

3D-аркада в браузере: как мы сделали игру на React + Redux Привет, Хабр! В не такие уж далёкие годы, на первом курсе «программистского» факультета, мне нравилось задавать товарищам по учёбе вопрос: «Зачем вы вообще пошли сюда учиться?» Точной статистики ответов я, конечно, не вёл, но доподлинно помню: больше половины хотели делать и...

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

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

Книга «Совершенный софт» Привет, Хаброжители! «Совершенный софт» — это проверенный, структурированный и высокотехнологичный подход к разработке программного обеспечения. Множество компаний уже используют идеи Лёве в сотнях систем, но раньше эти мысли нигде не публиковались. Методология Лёве объеди...

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

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

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

Книга «Roblox: играй, программируй и создавай свои миры» Привет, Хаброжители! Мы издали книгу для мальчиков и девочек. Что такое Roblox? Это красочная компьютерная платформа для создания и публикации своих игр. Мир Roblox изо дня в день становится все популярней, и ты можешь стать его частью! Если ты мечтаешь стать геймдизайнеро...

Процедура обновления Check Point с R80.20/R80.30 до R80.40 Более двух лет назад мы писали о том, что перед каждым администратором Check Point рано или поздно встает вопрос обновления на новую версию. В данной статье было описано обновление с версии R77.30 до R80.10. К слову, в январе 2020-го стала сертифицированной версией ФСТЭК. а ...

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

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

[Перевод] 7 способов повысить эффективность автоматизации тестирования в Agile разработке Перевод статьи подготовлен в преддверии старта курса «Java QA Engineer». Разработка программного обеспечения — процесс сложный. Еще на заре разработки программного обеспечения как дисциплины архитекторы поняли, что без структуры управления этот процесс превращается в хао...

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

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

TailwindCSS – очередной фреймворк или новый шаг эволюции? Очевидно, я бы не стал писать эту статью, если бы считал, что TailwindCSS – просто очередной фреймворк. Я считаю, что он кардинально отличается от всех других фреймворков и создает отдельную парадигму web-стилизации. И при этом выполняет все поставленные перед ним задачи, д...

Фреймворконезависимый фронтенд GoF, Чистая архитектура, Совершенный код — настольные книги «true программиста». Но в мире фронтенда многие идеи из этих книг недоступны. По крайней мере сходство с реальным миром найти очень сложно. Может быть современный фронтенд опережает время? Может быть «функциональное...

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

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

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

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

(S)SDLC, или Как сделать разработку безопаснее. Часть 1 С каждым годом культура разработки растет, появляются новые инструменты для обеспечения качества кода и новые идеи, как эти инструменты использовать. Мы уже писали про устройство статического анализа, про то, на какие аспекты анализаторов нужно обращать внимание, и, наконе...

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

Джентльменский набор программиста UE4, ч. 3 Данный вопросник является дополнением и логическим завершением темы "джентльменского набора", поднятой ранее. Разработка игр — весьма комплексная индустрия, с очень широкими набором технологий и подходов, при этом базис у всех этих вещей на самом деле общий. Этот список созд...

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

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

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

Можно ли программировать на iPad Pro? При желании iPad Pro можно приспособить к программированию Вы заметили, что на большинстве фото и во многих офисах программисты в основном используют MacBook? Причин этого выбора множество, но одна из главных — ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом пред...

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

Property-based тестирование для JavaScript и UI: необычный подход к автоматизированным тестам Falcon Heavy Demo Mission Писать тесты скучно. А то, что скучно делать, постоянно откладывается. Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions, и в этой статье покажу вам другой, немного странный подход к автоматизированному тестированию. Чи...

[Перевод] Вызов принят: OpenBSD на ноутбуке Хотелось бы поделиться, может быть и не самым новым, но отчасти познавательным и местами увлекательным, опытом установки на ноутбук операционной системы не из мейнстрима (т.е. не Windows или Linux) для хоть сколько-нибудь полноценной работы в наше (развращённое) время. Начал...

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

Антон Молев рассказал об онлайн-курсах для педагогов по дистанционному обучению Заместитель руководителя Департамента образования и науки города Москвы Антон Молев сообщил, что на данный момент для педагогов разработано более 190 онлайн-курсов повышения квалификации учителей. Они разработаны 16-ю организациями, самый большой пакет из 76 курсов представл...

Язык программирования karasic Привет, друг. Как известно, каждый уважаемый кодер рано или поздно пишет свой логер, парсер json и язык программирования. Поскольку первое и второе мы уже написали, то нам ничего не остаётся, как представить наши наработки по новому инновационному языку программирования kara...

[Перевод] Как добавить уведомления в реальном времени в Laravel с помощью Pusher Перевод статьи подготовлен специально для студентов курса «Framework Laravel». Современный веб-пользователь ожидает быть информированным обо всем, что происходит в приложении. Вы бы не хотели быть тем веб-сайтом, у которого нет хотя бы раскрывающегося списка уведомлений, к...

Entity Framework Core Привет, друзья. В этот чудесный майский день мы продолжаем трудиться и сегодня хотим рассказать о том, что в мае OTUS запускает полюбившийся всем курс «Разработчик С#», а также отдельный курс по С# ASP. NET Core. Традиционно, в преддверии старта курсов начинаем публиковать п...

Изучение слов сгруппированных тематически Есть разные подходы к пополнению словарного запаса, какие-то более эффективны для одних людей, какие-то для других. Лично мне нравится изучать слова сгруппированные тематически тем или другим образом, что позволяет учить слова не сами по себе, а в тематическом контексте, по...

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

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

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

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

Robot Framework для автоматизации тестирования: ограничения и плюшки В автоматизации тестирования я уже более 11 лет. Скажу сразу, что являюсь поклонником старомодного тестирования на Java и очень настороженно отношусь к различным готовым фреймворкам. Если вы придерживаетесь такого же мнения или только задумываетесь об использовании Robot Fra...

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

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

ITIL 4: Текущее состояние дел Практики (ITIL 4 practice guides) Книги (ITIL 4 guides) Экзамены Тренинги 14 ноября опубликованы описания практик (ITIL 4 management practices). Пока пятнадцать из тридцати четырёх. Всего шестнадцать документов, включая «инструкцию по чтению» (Reader’s Manual). Документы д...

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

Правила локализации для разработчиков Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры. Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как...

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Нов...

«Объясняю каждую строчку» — разработка видеоигры в прямом эфире Э-ге-гей! Кто хочет узнать, как делаются видеоигры? Ладно, я угораю. Уж где-где, а тут публика должна быть в курсе. Тем не менее, как насчёт увидеть процесс создания игры? Полностью. С первой до последней строчки. ВСЁ. Вообще ВСЁ. Не просто увидеть, даже поучаствовать, если...

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

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

Курс «Инструменты исследования пользователей» Дистанционный курс для руководителей и предпринимателей На этом курсе вы систематизируете весь ваш опыт и научитесь стабильно развивать продукт и увеличивать бизнес-показатели с помощью Customer Development, CJM и коридорных тестов. Ос...

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

Давайте посмотрим, как менялся Google Play Каким был Google Play и насколько он хорош сегодня? Ранее я уже опубликовал статью, где подробно рассмотрел, каким был Google Play и как менялся. В этом материале я попытаюсь поделиться, скорее, своими ощущениями от магазина и тем, как они менялись с обновлениями. Я всегда х...

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

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

«Типичная ошибка — бездумно бенчмаркать всё подряд»: интервью с Андреем Акиньшиным о бенчмаркинге В прошлом году у Андрея Акиньшина (DreamWalker) вышла книга «Pro .NET Benchmarking»: подробнейший труд о бенчмаркинге, полезный как .NET-разработчикам, так и айтишникам других направлений. Когда до её выхода оставалась пара месяцев, мы проводили конференцию DotNext 2019 ...

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

Интересные материалы: 16.04 Заканчиваем неделю оптимизацией мобильных 3D-проектов, курсами и книгами по iOS-разработке и причинами написания неаккуратного кода.

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

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

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

Как построить ракетный ускоритель для скриптов PowerCLI  Рано или поздно любой системный администратор VMware доходит до автоматизации рутинных задач. Начинается все с командной строки, потом идет PowerShell или VMware PowerCLI. Допустим, вы освоили PowerShell чуть дальше запуска ISE и использования стандартных командлетов из мод...

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

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

[Из песочницы] PRESENT — ультралегкое блочное шифрование (перевод оригинальной статьи PRESENT: An Ultra-Lightweight Block Cipher) Привет, Хабр! Привожу тут перевод оригинальной статьи «PRESENT: An Ultra-Lightweight Block Cipher» за авторством Robert B. Weide Богданова, Лендера, Паара, Пошмана, Робшава, Сеурина и Виккелсоя. Аннотация После внедрения AES потребность в новых алгоритмах блочного шифрова...

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

Что такое «чистый код» в 2020-м? «Чистый код» и чистый кот Разработчиков хлебом не корми, дай поспорить о чистоте кода: например, недавно шумиху навёл пост Дэна Абрамова «Goodbye, Clean Code». Но при этом у самого понятия «чистый код» нет чёткого определения. Главная книга по этому вопросу — «Clean Code»...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

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

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

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

MMORPG больше не в Telegram — Swift и Kotlin — Первый большой проект — Часть 1 Прошло полгода с выпуска пробной статьи про создание MMORPG в телеграме. Изменился мир, изменились и планы по игре.Почему больше не в TelegramПосле выпуска первой статьи, энтузиазма писать игру хватило еще на неделю. Прилетели проблемы по работе, поиски новой, да и вообще ле...

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

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

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

Kotlin: язык программирования как продукт Язык программирования — это тоже продукт. Он помогает разработчикам выражать свои идеи так, чтобы их мог интерпретировать компьютер. Может показаться, что развивать язык — это брать последние достижения теории языков программирования, реализовывать их и из года в год выкатыв...

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

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

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

[Перевод] Проверка образов с помощью Gitlab CI/CD Всем привет, в преддверии старта курса «CI/CD на AWS, Azure и Gitlab» подготовили перевод интересного материала. В этой статье мы поговорим о том, как проверять образы контейнеров на платформе Gitlab CI/CD с помощью Sysdig Secure. Образы контейнеров, которые не соответст...

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

Обучение программированию 2019, или в поисках идеальной программы: Последовательность Здравствуйте, меня зовут Михаил Капелько. Занимаюсь профессиональной разработкой ПО. Увлекаюсь разработкой игр и обучением программированию. Предисловие Осенью 2019-го я в третий раз участвовал в курсе обучения ребят 10-15 лет программированию в качестве одного из преподава...

Как энергетик изучал нейросети и обзор на бесплатный курс «Udacity: Intro to TensorFlow for Deep Learning» Всю свою сознательную жизнь, я был энергетиком (нет, сейчас речь не идет о напитке с сомнительными свойствами). Я никогда особо не интересовался миром информационных технологий, да и даже матрицы я вряд ли на листочке смогу перемножить. Да и не нужно мне это было никогда, ...

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

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

OpenSAP или чему можно учиться бесплатно в мире SAP В мире SAP эта платформа MOOC хорошо известна, такой узкопрофильный аналог Coursera. Как они сейчас пишут на своём баннере: "5 millions course enrollments". Это если сложить все курсы, можно проверить, но это тема другого разговора. Например: из недавнего был очень хороший ...

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

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

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

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

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

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

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations. Я расскажу про подходы, которые мы использовали, про ошибки,...

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

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

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

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

[Перевод] Четыре приема быстрой разработки на Unity3D Уже долгое время Unity3D — мой любимый инструмент разработки игр, которым я пользуюсь уже более 8 лет — и для профессиональных продуктов, и для личных проектов, и при обучении программированию и гейм-дизайну. Более того, я писал на Unity почти на всех гейм-дже...

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

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

А вы знаете, как правильно удалить приложение на Android Пользователи смартфонов ставят на свои гаджеты какое-то безумное количество приложений. Все из-за того, что сейчас это сделать очень просто. Открываешь магазин приложений, устанавливаешь, пробуешь — забываешь. Так выглядит судьба огромного количества приложений, а бол...

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

[Перевод] Тестирование в Puppeteer vs Selenium vs Playwright: сравнение производительности Ранее мы уже писали о том, когда бывает нужна автоматизация тестирования и какие проверки при этом используют. Сегодня предлагаем обсудить использование инструментов на практике и оценить их производительность. С разрешения Giovanni Rago – автора серии полезных материалов о ...

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

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

[Перевод] WebRTC для любопытных (часть 1) Данный материал - это вольный перевод онлайн-книги webrtcforthecurious.com. Вся книга будет разбита на отдельные статьи, которые будут выходить в разное время. В основном я это сделал для себя в будущем, так как в свободное от работы время почти целиком и полностью занимаюсь...

14 самых популярных Node.js-библиотек в 2020 году Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «14 Most Useful NodeJS Libraries in 2020». В данной статье автор делится своими находками среди многочисленных пакетов Nodejs. Express Быстрый, гибкий, минималистичный, легкий в изучении фреймворк...

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

DevOps для разработчиков (или против них?!) Подход DevOps качественно изменил процесс разработки. Если раньше программисты только писали код и прогоняли тесты, то теперь они участвуют и в развертывании проектов на продакшен. Звучит так, будто сисадмины решили переложить свои заботы на плечи разработчиков, не так ли?...

[Перевод] Как создавать предметы генеративного искусства с помощью L-систем на языке Python Мы уже писали о поле течений, при помощи которого можно генеративно рисовать невероятно красивые, завораживающие линии. Сегодня, к старту курса о Fullstack-разработке на Python, мы решили продолжить тему. Представляем перевод статьи, автор которой рассказывает, как генериров...

Как собрать образ Oracle DB для Testcontainers Код должен тестироваться на той СУБД, с которой он будет работать. Testcontainers — это такая библиотека, которая позволяет использовать в юнит тестах практически любую СУБД с той же лёгкостью, что embedded базы данных типа HSQLDB или H2. Был бы только Docker образ Именно с...

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

Самая сложная задача в Computer Vision Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить. У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинг...

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

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

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

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

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

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

3 ловушки, в которые попадают начинающие Data Scientist Вот что может случиться, если плохо знаешь математику. Привет! Это Петр Лукьянченко, автор и руководитель онлайн-курсов «Математика для Data Science» в OTUS. Мы на занятиях любим все иллюстрировать кейсами, поэтому здесь тоже каждую проблему, с которой сталкиваются нович...

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

«Новые Былины». Для dev, ops и любознательных людей В этой статье я буду настраивать рабочее окружение для разработки игры "Былины", а также выполню разбиение самой игры на части, пригодные для использования в OpenFaaS. Все манипуляции буду делать на Linux, Kubernetes буду разворачивать в minikube с использованием VirtualBox...

Kubernetes в Hetzner при помощи Rancher (с картинками) Доброго времени суток. Последние несколько месяцев я пытался запустить кластер kubernetes для взаимных пыток и изучения. За это время я прочитал большое количество разных статей, многие из которых были хорошими, но совершенно не подходящими для человека, не сталкивавшегося с...

Мир без корутин. Костыли для программиста — asyncio 1. Введение Тот, кто научился летать, ползать уже не будет. Но не должно быть и высокомерия к тому, кто «летать не может» в принципе. И то и другое вполне норма. И то и другое уважаемо и почетно. Для человека — это, как выбор профессии: вы, условно, либо летчик, либо шофер. ...

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

[Из песочницы] Есть ли жизнь после Windows или куда развиваться виндовому системному администратору/инженеру в 2020 году? Вступление 2019 год медленно, но верно подходит к своему логическому завершению. IT-отрасль продолжает активно развиваться радуя нас большим количеством новых технологий и попутно пополняя наш словарный запас новыми определениями: Big Data, AI, Machine Learning (ML), IoT, 5...

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

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

Сказ о том, как сделать машину времени для базы данных и случайно написать эксплойт Доброго времени суток, Хабр. Приходилось ли вам задумываться как поменять время внутри базы данных? Легко? Ну в некоторых случаях да, несложно — linux команда date и дело в шляпе. А если нужно поменять время только внутри одного экземпляра бд если их на сервере несколько? А...

«Lean Impact. Инновации для масштабных социальных перемен»: новая книга фонда «Нужна помощь» Команда благотворительного фонда «Нужна помощь» издала книгу «Lean Impact. Инновации для масштабных социальных перемен». Ее написала Энн Мей Чанг, ведущий эксперт по социальным инновациям. Она работала в Google, Apple, в Госдепартаменте США, запустила несколько стартапов в...

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

Лучше своими руками: как мы сделали мобильное приложение Perekrestok.ru inhouse Привет! Меня зовут Мария Тимофеева, я директор по продукту онлайн-супермаркета Perekrestok.ru. К выходу нашего нового мобильного приложения мы решили рассказать, как делали текущую версию, сколько багов собрали и как пришли к выводу, что в нашем случае inhouse-разработка ока...

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

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

[Из песочницы] vuex + typescript = vuexok. Велосипед, который поехал и обогнал всех Доброго времени суток. Как и многие разработчики, я в свободное от работы время пишу свой относительно небольшой проект. Раньше писал на react, а на работе используется vue. Ну и что бы прокачаться во vue начал пилить свой проект на нем. Сначала всё было хорошо, прямо-таки ...

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

IT-словарик для не-айтишников Приходилось ли вам объяснять IT-понятия людям из других сфер? Это хитрая задача: при объяснении одного IT-термина нельзя пользоваться другими, потому что они тоже будут непонятными. Представим, что ваш знакомый захотел «войти в айти», впервые открыл Хабр и офигел — как объяс...

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

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

Skillbox и WildBerries обучат разработке на Golang Студенты курса смогут освоить профессию «Go-разработчик» за год.  Онлайн-университет Skillbox и онлайн-ритейлер Wildberries запускают совместный образовательный курс по подготовке back-end специалистов с профилем на Golang — языком, используемым для разработки самых популярн...

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

Иван Ященко: системный подход поспособствует повышению математической грамотности школьников В международном исследовании PISA* по итогам 2018 года было отмечено небольшое падение математической грамотности у российских школьников — балл по стране снизился с 494 до 488. При этом свои результаты удалось улучшить Москве, которая принимала участие в отчетном исследован...

DICE проведёт небольшой тест Battlefield 2042, раскрыты требования для PC Согласно некоторым зарубежным изданиям Electronic Arts и DICE собираются провести техническое тестирование Battlefield 2042. Изначально это планировалось сделать в июле, но дату перенесли на август из-за внутреннего теста кросс-плея. В тех. тестировании смогут принять участи...

ESP32 development board с кастомным дизайном Наконец то у меня добрались руки до сборки минимального аналога Espressif Systems плат на ESP32 микроконтроллере. На плате расположен микрофон, усилитель для этого микрофона на одном транзисторе. Усилитель для динамика на трех транзисторах с выходным каскадом работающим в р...

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

Стив пишет заклинания на Python. Обучение детей программированию в Minecraft Хочу поделиться наработками домашнего обучения детей программированию. Даже не столько обучению, сколько привлечения детского внимания и интереса. Ведь согласно Сократу, человек - не сосуд для наполнения, а факел, который нужно зажечь. Изначально были попытки начать со Scrat...

Книги Develop in Swift Fundamentals и Develop in Swift Explorations от Apple У Apple обновились две книги — Develop in Swift Fundamentals и Develop in Swift Explorations. Обе теперь ориентированы на Xcode 11, обе посвящены разработке на языке Swift, обе бесплатны. Первая больше погружена в разработку приложений, вторая больше просто о влиянии п...

[Перевод] “Чистый код”: пять ключевых моментов из обязательной к прочтению книги для программистов Недавно я написал о «Пять книг, которые изменили то как я кодирую». В комментариях несколько читателей рекомендовали «Чистый код» Роберта С. Мартина. В результате я прочитал книгу и нашел ее достойной углубленного обзора. Читать дальше →

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

[Перевод] Flutter. Упрощаем компоновку виджетов с помощью Dart расширений В версии Dart 2.7 нам представили расширения, позволяющие разработчикам добавлять новые функциональные возможности в уже существующие типы. Расширения могут быть отличным помощником не только, когда мы пишем бизнес-логику, но и когда у нас есть другие задачи! Примером такой...

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

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

iOS MEETUP #2 от FUNCORP и Как разработчику оставаться актуальным 15 февраля компания FunCorp организовала свой второй митап, посвящённый разработке под iOS. Мне довелось быть участником этого мероприятия, поэтому постараюсь изложить своё мнение о качестве докладов, уровне организации и атмосфере мероприятия. Читать дальше →

CI/CD на AWS, Azure и Gitlab. Новый курс от OTUS Внимание! Данная статья не является инженерной и предназначается читателям, которые интересуются образованием в области CI/CD. Вероятнее всего, если Вы не заинтересованы в обучении, данный материал не будет Вам интересен. Если вы разработчик или администратор, отвечающий ...

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

Миграция IBM Lotus Notes/Domino в Microsoft Exchange без шума и пыли Может быть пора? Такой вопрос рано или поздно появляются у коллег, которые используют Lotus в качестве почтового клиента или системы документооборота. Запрос на миграцию (по нашему опыту) может возникнуть на совсем разных уровнях организации: от топ-менеджмента до пользоват...

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

Разработка своей Just Shapes & Beats и как всё началось Здравствуйте, мне 16 лет и я люблю играть в Just Shapes & Beats (JSAB). Одним прекрасным днём я узнал о такой игре, как JSAB. Я был очень поглощён геймплейной частью, разработчики создали больше 30 уровней из простых геометрических фигур - это же гениально! Но просто так...

[Перевод] Почему в Docker не работает Strace Когда я редактировала страницу о возможностях контейнеров для журнала «How Containers Work», мне потребовалось объяснить, почему в Docker не работает strace. Вот что случалось при запуске strace в Docker-контейнере на моем ноутбуке: $ docker run -it ubuntu:18.04 /bin/bash ...

Онлайн-курс Теплицы: «Градозащита для начинающих № 2: что делать с проблемной застройкой в городе» Команда Теплицы социальных технологий приглашает активистов принять участие в онлайн-курсе «Градозащита для начинающих № 2: что делать с проблемной застройкой в городе». Онлайн-курс пройдет 25-28 мая 2021 года. Участники курса узнают основные подходы и инструменты, которые ...

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

GoLang и OpenCV (OpenVino && Cuda) Всем доброго времени суток. На хабре (да и вообще в интернете) уже не мало статей о работе с OpenCV на Go. Готовый код — это конечно интересно, а более подробную информацию об установке драйверов приходится собирать по кусочкам — постараюсь объединить все нужные телодвижени...

Go-swagger как основа взаимодействия микросервисов Здравствуй, NickName! Если ты программист и работаешь с микросервисной архитектурой, то представь, что тебе нужно настроить взаимодействие твоего сервиса А с каким-то новым и ещё неизвестным тебе сервисом Б. Что ты будешь делать в первую очередь? Если задать такой вопрос ...

[Перевод] Баги, которые разрушили ваш замок Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

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

[Из песочницы] List Comprehension vs Map Привет, Хабр. Часто при работе с последовательностями встает вопрос об их создании. Вроде бы привык использовать списковые включения (List Comprehension), а в книжках кричат об обязательном использовании встроенной функции map. В этой статье мы рассмотрим эти подходы к раб...

«Образование для образованных». Проработка книги На неделе прочитал книгу "Образование для образованных 2020", написанную Левенчуком А.И. Впечатление о ней у меня сложилось двоякое. Статья будет полезна людям, желающим её прочитать. Дальше я расскажу, чего ожидать от прочтения, а чего не стоит. Читать далее

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

Предстоящие функции Windows 10 могут не иметь даты выпуска Microsoft работает над более простым подходом к предстоящим обновлениям функций Windows 10. В рамках нового подхода Microsoft вносит значительные изменения в канал Fast Ring программы Windows Insider. В дальнейшем Fast Ring получит новые сборки из ветки RS_PRERELEASE, а изме...

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

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

[Перевод] Разработка REST API — что такое Code First подход? В этой статье мы продолжим знакомство с разработкой REST API и рассмотрим подход Code-First. Разработка хорошего REST API важна для того, чтобы иметь хорошие микросервисы. Подход Code-First фокусируется на генерации контракта из кода. Это наилучший из возможных подходов? Чи...

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

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

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

Как я устал от JavaScript и создал свой собственный язык программирования За свою карьеру я успел поработать со множеством языков программирования. Писал flash-игры на ActionScript 3 и Android-игры на Java, сервера на Java, Scala и NodeJS (JavaScript), скрипты на Python, веб и мобильные приложения на React (JavaScript). И на каком бы языке я не пи...

Выбор хорошего инструмента для хранения тест документации и сравнительный анализ 3 выбранных инструментов Ведение документации для тестирования в Google-доках и Google-таблицах — не лучший способ работы с тестовой документацией. Такой подход имеет свои недостатки. В этой статье я расскажу, как мы перешли от хранения тестовой документации с Google docs к специализированным SaaS-р...

Почему я всегда оставляю комментарии в Google Play и вам советую Мало кто будет спорить с тем, что Google Play существенно уступает по качеству проверки и общему уровню AppStore. В магазине Apple все сделано более качественно. Возможно, из-за подхода компании, а может быть и из-за того, что приложения для Android просто пишутся совершенн...

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

Записи вебинаров 17 сезона CleverTALK На прошлой неделе завершился семнадцатый сезон вебинаров CleverTALK. Этот сезон стал рекордным, как по количеству регистраций (3000+), так и по числу новых участников (800 человек). Благодарим вас за интерес к нашим вебинарам и за то, что делитесь информацией о них! Ниже вы ...

Node.js в 2020: Выйди и зайди нормально За последние 5 лет Node.js очень изменился, но знания о платформе у сообщества остались на уровне 2013-2015 годов, все те же подходы, все те же проблемы. Сообщество плохо следит за новыми возможности, а если и узнает про них, то это не влияет на написание ежедневного кода. ...

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

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

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

[Перевод] Если вы используете моки, то вы хоть что-то тестируете? Было ли у вас ощущение, что ради тестирования вы делаете код труднее для чтения? Допустим, у вас есть код, который ещё не тестировался. У него есть ряд побочных эффектов, и вас просят сначала прогнать тесты. Вы начинаете следовать советам вроде передачи глобальных переменны...

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

Семь руководящих принципов ITIL 4 Год назад компания Axelos представила четвёртую версию ITIL, библиотеки лучших практик управления ИТ-услугами. Один из ключевых её разделов посвящён руководящим принципам ITIL 4 (The ITIL guiding principles). Вместе с потоками создания ценностей и практиками, которые приш...

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

IoT там, где вы не ждали. Разработка и тестирование (часть 1) Применением IoT в фитнес-трекерах, колонках, пылесосах уже никого не удивишь. Думали ли вы, что различные датчики можно установить в мусорные контейнеры и мусоровозы для контроля вывоза мусора? Звучит странно и вызывает вопрос: «А зачем?». Анатолию Коровину случилось порабо...

Как я использую Google Assistant Из-за того что долгое время моим основным смартфоном был iPhone, я не знал других голосовых ассистентов, кроме Siri. Привыкший к эталонности фирменной продукции Apple, я с трудом мог поверить в то, что кто-то мог сделать что-то лучше. Однако Google смогла и опередила Apple ...

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

[Перевод] Запускаем Golang на Jupyter Notebook Если вы знакомы с Python, то уже сталкивались с Jupyter Notebook или работали в нём по крайней мере один раз. Jupyter Notebook — это удобный инструмент, позволяющий писать мини-код и отслеживать его выполнение. Он также помогает в документировании, ведении журнала и в том, ч...

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

Обзор Little Dungeon Stories. Если не во что играть Обычно я пишу обзоры на игры, в которые либо сам играл бы, либо мог бы посоветовать их другим геймерам. Однако в данной ситуации мы проварим о проекте, который понравится исключительно небольшому отряду геймеров, которые хотят насладиться опытом настольной игры на своем комп...

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

Внедрение CI/CD: в чем основная задача пайплайна и как сделать лучше жизнь разработчиков О своём опыте построения пайплайнов, правильных и неправильных подходах к CI/CD, здоровых профессиональных конфликтах и реализации GitOps в неидеальном мире рассказывают спикеры курса Слёрма по CI/CD Тимофей Ларкин и Александр Швалов. Читать дальше →

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

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

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

Разница между ОМС, ДМС и наличными в стоматологии Из каждой своей зарплаты вы отчисляете 5,1% на ОМС. Это довольно много. Если у вас зарплата в 100 000 рублей, то каждый год вы отчисляете 61 200 рублей. На этом моменте все начинают нервничать, понимая, что полис ДМС с куда более качественным лечением обойдётся как...

Как сделать иконки на Android квадратными Квадратные иконки выглядят очень необычно Если раньше еще можно было спорить о том, что круче в плане внешнего вида операционной системы — Android или iOS, то сейчас обе «оси» выглядят одинаково хорошо, имея свои достоинства и недостатки. Однако Зеленый Робот...

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

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

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

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

Подготовка к PMP по шагам Всем привет!Это вторая статья по подготовке к сдаче экзамена на сертификат Project Management Professional (PMP). Первая статья была посвящена тому, зачем сдавать РМР. Сегодня я хочу поговорить о том, как можно подготовиться к сдаче.  Итак, вы решили сдавать PMP. Н...

Профессия: фронтенд-разработчик ххх: на чём пишешь фронтенд? yyy: на костылях и велосипедах ххх: ммм, хороший фреймворк! Bash.im Когда приходит мысль стать программистом, ты вдохновенно открываешь справочник Шилдта по С, заказываешь толстую книгу Страуструпа по С++ и учишься шутить про указатель на указат...

SOLID == ООП? Наверное я не ошибусь, если скажу, что чаще всего на собеседованиях спрашивают о SOLID принципах. Технологии, языки и фреймворки разные, но принципы написания кода в целом похожи: SOLID, KISS, DRY, YAGNI, GRASP и подобные стоит знать всем. В современной индустрии уже много д...

Что делать, если поймал HardFault? Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться. Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он...

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

Тысяча и один UI-баг, или Как помочь разработчику избегать типовых ошибок в UI Тестирование новых фич, казалось бы, очень творческий и интересный процесс. Но что делать, если ошибки в интерфейсах повторяются из фичи в фичу, а большая часть времени тратится на отлавливание мелких интерфейсных проблем?  За четыре года работы в Badoo из более чем тысяч...

[Из песочницы] E-learning на костылях. Исправляем курсы из Articulate Rise Рынок насыщен разными программами для разработки электронных курсов — авторскими средствами (authoring tools). Есть продукты на любой вкус: хочешь прогу, чтобы просто конвертировать электронные презентации в HTML5? Да пожалуйста! Хочешь делать одностраничники в редакторе вро...

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

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

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

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

Конец эпохи ITIL v3! Таймер запущен... Что дальше? Запуск публикации ITIL 4 Foundation состоялся в 2019 году, а спустя 2 года, AXELOS объявила график прекращения поддержки ITIL v3. Свершилось! Таймер запущен. Для всех работающих в сфере ИТ наступил конец эпохи. Многие годы ITIL v3 был ориентиром в управлении ИТ-услугами (ITS...

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

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

Глаза, мозг, качество видео: размышления о 120fps, 8K, HDR, палочках, колбочках и «эффекте мыльной оперы» Я много писал в этом блоге о верности воспроизведения звука, а видео несправедливо обходил стороной и касался лишь косвенно. Решил исправить ситуацию — статья целиком и полностью посвящена проблемам качества изображения, высокой верности воспроизведения видео, а также их свя...

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

Делаем маршрутизацию (роутинг) на OpenStreetMap. Введение Хотелось бы поделиться опытом создания систем маршрутизации PostgreSQL/PgRouting на карте OpenStreetMap. Речь пойдет о разработке [коммерческих] решений со сложными требованиями, для более простых проектов, вероятно, достаточно обратиться к документации. Насколько мне извест...

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

Книга «Android. Программирование для профессионалов. 4-е издание» Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах. Эта книга посвящена прикладным методам разработки ...

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

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

Как заставить себя читать книги на iPhone и iPad каждый день   В iOS 13 приложение Apple Books позволяет настроить лимит времени для чтения в сутки. Одни пользователи так смогут вовремя откладывать чтение, чтобы осталось время на другие дела, а другие достигать желаемых целей и регулярно читать любимые книги. Фишка настраив...

Мобильная разработка: индивидуально или в команде? Привет! Как многим известно, Mail.ru Group ведет образовательные проекты для студентов в 9 вузах: МГТУ им. Баумана, МГУ, МИФИ, МФТИ, СпбПУ, Мосполитех, МАИ, ВГУ и ПГУ. Среди 70 дисциплин есть курсы по мобильной разработке под платформы Android и iOS. С точки зрения методо...

[Перевод] Как корпоративные команды разработчиков используют GitLab и Mattermost ChatOps для ускорения разработки И снова здравствуйте! В феврале OTUS запускает новый курс «CI/CD на AWS, Azure и Gitlab». В преддверии старта курса подготовили перевод полезного материала. Полноценный набор DevOps инструментов, мессенджер с открытым исходным кодом и ChatOps – как тут не влюбиться? Нико...

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

[Перевод] «Культурный код: секреты чрезвычайно успешных групп и организаций» — заметки из книги Я прослушал книгу "Культурный код" Даниела Койла ("The Culture Code: The Secrets of Highly Successful Groups" by Daniel Coyle) после прочтения отрывка, который оставил впечатление «вот оно!» Вся книга оказалась на том же уровне, что и вступление. Она пол...

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

Настройка окружения в CLI. WSL / Windows Terminal Есть люди, которые большинство рабочего времени проводят в консоли, есть те, кто пользуются терминалом при необходимости, запуская что-то по инструкциям. Но я думаю, что каждый айтишник, будь он разработчиком, сисадмином, сетевым инженером, или даже senior yaml developer`ом,...

[Перевод] Что происходит, когда вы выполняете manage.py test? Перевод статьи подготовлен специально для студентов курса «Python Web-Developer».Вы запускаете тесты командой manage.py test, но знаете ли вы, что происходит под капотом при этом? Как работает исполнитель тестов (test runner) и как он расставляет точки, E и F на экране? К...

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

[Перевод] Учимся читать научные статьи у Эндрю Ына из Стэнфорда Мудрость является не продуктом обучения, а пожизненной попыткой ее приобрести.Альберт Эйнштейн Каждому, кто серьёзно занимается машинным обучением, необходимо научиться понимать то, что публикуется в научных статьях. Подобные публикации делают учёные, находящиеся на передне...

[Перевод] Введение в REST API — RESTful веб-сервисы Эта статья представляет собой введение в RESTful веб-сервисы и краткий обзор REST и HTTP. Она начинает серию постов о разработке REST API: Введение в REST API — RESTful веб-сервисы Различия REST и SOAP Разработка REST API — что такое Contract First (контракт в первую очер...

Превью Shadowgun War Games: мобильная Overwatch (на самом деле нет) Shadowgun Legends не была идеальной. Все-таки полноценная игра-сервис в жанре шутера на мобильных — это больше похоже на чью-то мечту, чем на описание реального проекта, но именно к нему, своему magnum opus, MADFINGER GAMES стремилась. С этой точки зрения Shadowgun War Game...

Этот браслет вибрирует каждый раз, когда вы касаетесь лица. Почему это важно именно сегодня? Если вы не хотите заразиться коронавирусом, вам следует реже выходить на улицу, регулярно мыть руки и не прикасаться к своему лицу. А все дело в том, что на улице можно столкнуться с зараженным человеком или объектом, а потом коснуться глаз, носа или рта и моментально впуст...

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

Почему настоящий MacBook Pro 16 выйдет осенью 2020 года Таким может стать «настоящий» MacBook Pro 16 (и, скорее всего, станет) Похоже, предсказывая выход MacBook Pro c 16-дюймовым экраном во второй половине 2020 года аналитик и предсказатель Мин Чи-Куо не ошибался. То что случилось в ноябре этого года было вынужденной м...

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

Oracle: разница между deterministic и result_cache От переводчика: свой путь на habr я решил начать не с попытки написать какой-то уникальный текст с нуля, а с перевода относительно свежей (от 17.08.2020) статьи классика PL/SQL-разработки Стивена Фойерштайна, в которой он достаточно подробно рассматривает разницу между двумя...

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

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

Что такое Deno и заменит ли он Node.js? Доброго времени суток. Представляю вашему вниманию перевод статьи «Deno vs. Node.js — Here are the most Important Differences» автора Louis Petrik. Является ли Deno новым Node.js? Или всего лишь хорошей альтернативой? В этой статье я постараюсь ответить на данные вопросы...

[Перевод] Пришло ли время забыть о React и перейти на Svelte? Каждый год выходит исследование State of JavaScript, которое обобщает результаты опроса, изучающего текущее состояние экосистемы JavaScript. Это исследование затрагивает фронтенд-фреймворки, серверную и мобильную разработку, тестирование, популярные ресурсы для разработчиков...

Первый воркшоп Corporate Rebels в России, 8 апреля В прошлом году мы побывали на воркшопе Corporate Rebels в Амстердаме и подумали, что было бы здорово привезти их в Россию. Основатели компании в свое время уволились из корпораций, устав от бюрократии, и начали изучать опыт успешных, прогрессивных организаций, которых объеди...

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

DAG’и без напрягов: наш опыт использования метаданных при работе с Apache Airflow Apache Airflow – простой и удобный batch-ориентированный инструмент для построения, планирования и мониторинга дата-пайплайнов. Ключевой его особенностью является то, что, используя Python-код и встроенные функциональные блоки, можно соединить множество различных технологий,...

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

[Из песочницы] Разбор настройки ELK 7.5 для анализа логов Mikrotik Давно была мысль посмотреть, что можно делать с ELK и подручными источниками логов и статистики. На страницах хабра планирую показать практический пример, как с помощью домашнего мини-сервера можно сделать, например, honeypot с системой анализа логов на основе ELK стека. В э...

[Перевод] 6 рекомендаций по разработке безопасных Go-приложений В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопаснос...

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

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

Apple Music стал похож на Spotify в iOS 14. Какой сервис выбрать? Я плачу за Apple Music с момента запуска сервиса в России в 2015 году. Причем вскоре Apple Music пришелся по вкусу многим в нашей семье, и пришлось оформлять семейную подписку. Несмотря на то, что я давно пользовался музыкальным сервисом Apple и сформировал там собственную ...

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

Книга «C++ для профи» Привет, Хаброжители! С++ — популярный язык для создания ПО. В руках увлеченного программиста С++ становится прекрасным инструментом для создания лаконичного, эффективного и читаемого кода, которым можно гордиться. «C++ для профи» адресован программистам среднего и продвину...

Летняя распродажа моих книг SEO Винчестер и SEO Коллайдер Дорогие друзья, я решил провести летнюю распродажу своих книг по продвижению сайтов и сделать хорошую скидку для своих читателей. Только три дня, 10, 11 и 12 июня 2019 года, мою книгу SEO Винчестер можно купить со скидкой 50%, то есть не за 1830, а всего за 915 рублей. При ...

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

NetEase Games выпустит AstraCraft про создание своего идеального робота-меха 14 января 2021 NetEase Games планирует выпустить свою песочницу AstraCraft, где игрокам предстоит строить своего идеального робота и потом проверять его на прочность в различных режимах, уже в начале следующего года. Информация об этом появилась в этом посте на официальной странице игры в ...

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

[Перевод] Юбилейная лекция Дональда Кнута «У рождественской ёлки» В течение четверти века великий стэнфордский почётный профессор проводит в декабре особую лекцию «У рождественской ёлки». Приближающийся к своим 82 годам Дональд Кнут снова провёл юбилейную 25-ю лекцию 5 декабря. Он напомнил аудитории, что по-прежнему усердно продолжает раб...

[Перевод] Прости, React, но я так больше не могу Недавно мне попалась фраза «усталость от JavaScript», «JavaScript fatigue», и я мгновенно понял, что это — про меня. Последние несколько лет я делал всё возможное для того чтобы поспевать за новшествами экосистемы React, и, если брать выше, за новшествами JavaScript, где из...

Как мы обошли bytenode и декомпилировали байткод Node.js (V8) в Ghidra «Да я роботов по приколу изобретаю!» Рик СанчесМногим известно, что в 2019 году АНБ решило предоставить открытый доступ к своей утилите для дизассемблирования (реверс-инжиниринга) под названием Ghidra. Эта утилита стала популярной в среде исследователей благодаря высокой «вс...

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

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

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

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

Бесшовные A/B-обновления в Android: как они устроены Всем привет. В SberDevices наша команда занимается разработкой различных железок прошивок и для них на базе AOSP. Начиная с Android 8 (у некоторых вендоров с 7.1) в системе появился новый механизм накатки OTA-обновлений, т. н. Seamless A/B OTA Updates — бесшовные обновле...

[Перевод] Разработка REST API — что такое Contract First? В этой статье мы рассмотрим подход к разработке REST API на основе контракта. При разработке хорошего API REST важно иметь отличные микросервисы. Подход Contract First поможет вам разработать хороший контракт до его реализации. Однако это не так просто! Читать дальше →

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

Ютуб канал по сказкам Сегодня я расскажу как сделать Ютуб канал по сказкам. Смысл прост — Берёте любую книгу по сказкам различных стран и делаете по ней аудио ролики. Какие сказки бывают: Русские сказки Украинские сказки Африканские сказки Индийские сказки Волшебные сказки … Записыва...

[Из песочницы] Как и к чему готовиться на собеседование начинающему iOS-разработчику и не только Эй, Хаброжитель, приветствую тебя! Буду признателен ко всем твоим фидбэкам. Небольшая предыстория В 2019 году увлёкся iOS-разработкой и решил попробовать попасть на курс от Mail.ru в их Технопроект с нашим ВУЗом. Закончил данный курс с отличием. Огромное спасибо Диме и Г...

Как создать стабильный входящий поток запросов при помощи контент-маркетинга (4-дневный онлайн-интенсив) Чему вы научитесь 1. Избегать ошибок, из-за которых у 90% коллег по рынку контент-маркетинг «не работает». 2. Удерживать и мягко подводить к сделке тех, кто не готов заказать услуги — по статистике это 97% от общего...

Внедрение зависимостей – проще, чем кажется? Привет, Хабр! У нас готовится к выходу второе издание легендарной книги Марка Симана, «Внедрение зависимостей в .NET» Поэтому сегодня мы решили кратко освежить тему внедрения зависимостей для специалистов по .NET и C# и предлагаем перевод статьи Грэма Даунса, где эта пар...

Побеждая C двадцатью строками Haskell: пишем свой wc Привет, Хабр. На днях Siemargl предложил мне перевести любопытную статью о победе над юниксовым wc при помощи хаскеля. Переводить её я, конечно же, не буду, и по нескольким причинам: автор выжал из однопоточной версии далеко не всё, и однопоточная версия была существенно ме...

[Перевод] Почему интернационализация и локализация имеют значение Хабр, отличного всем времени суток! Скоро в OTUS стартует курс «Python Web-Developer»: мы приглашаем на бесплатный Demo-урок «Паттерны Page Controller и Front Controller: реализация в Django» и публикуем перевод статьи Nicolle Cysneiros — Full Stack Developer (Labcodes). Сог...

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

[Перевод] Резервирование констант и Git hooks на C# Позвольте мне рассказать вам историю. Жили-были два разработчика: Сэм и Боб. Они вместе работали над проектом, в котором была база данных. Когда разработчик хотел внести в неё изменения, он обязан был создать файл stepNNN.sql, где NNN — некоторое число. Чтобы избежать конфли...

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 4 — Чтение архива Продолжение цикла о Zip-архивах и PHP. Предыдущие статьи: Часть 1, Часть 2, Часть 3 Доброго времени суток, дорогие читатели. На этот раз я хотел бы представить, наверное, заключительную часть цикла о Zip-архивах и PHP. В этой статье я покажу как прочесть уже существующий ...

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

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

Бэкдор в Win 10 Tweaker, или современные методы борьбы с пиратством Для неподготовленных юзеров, которые сталкиваются с Windows, настройки ОС иногда становятся настоящим темным лесом. Эту достаточно широкую нишу охватывают разработчики всевозможных твикеров, один из который в своих подходах к защите своей программы пошел самым радикальным сп...

Почему успехи ИИ DeepMind в Atari вызывают у меня разочарование Картинка, которую вы видите, позаимствована с сайта DeepMind, и демонстрирует 57 игр, в которых их новейшая разработка Agent57 (обзор статьи на Хабре) достигла успеха. Само число 57 взято не с потолка, — именно столько игр было выбрано еще в 2012 году, чтобы стать своеобра...

Где логика?! История тестирования одного микросервиса Эта статья — расшифровка доклада Дениса Кудряшова, QA-инженера Leroy Merlin, с конференции QA Meeting Point 2020. Денис рассказал, как столкнулся со сложной логикой, реализованной в сервисе, применил подход Control Flow Testing, и что из этого вышло. Из текста вы узнаете, мо...

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

[Перевод] Топ-10 книг для разработчика Совершенствоваться в сфере разработки — это не только писать хороший код, но и читать о том, как его писать. Привет, хабр! Продолжаю делиться полезными подборками. Совсем недавно я опубликовал 2 поста с перечнем Github репозиториев: Часть1 и Часть2. На этот раз предлагаю в...

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

[Перевод] Рекомендации по REST API — примеры проектирования веб-сервисов на Java и Spring В последней статье этой серии вы познакомитесь с рекомендациями по REST API и с примерами разработки из Java и Spring Web Services. При разработке хорошего REST API важно иметь хорошие микросервисы. Как вы разрабатываете свой REST API? Каковы лучшие практики? Читать дальше...

Книга «Эффективный Java. Тюнинг кода на Java 8, 11 и дальше. 2-е межд. издание » Привет, Хаброжители! Программирование и тестирование обычно принято относить к разным профессиональным сферам. Скотт Оукс — признанный эксперт по языку Java — уверен, что если вы хотите работать с этим языком, то обязаны понимать, как выполняется код в виртуальной машине Ja...

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

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

[Перевод] Чистые тесты на PHP и PHPUnit В экосистеме PHP существует много инструментов, обеспечивающих удобное тестирование на PHP. Одним из самых известных является PHPUnit, это почти синоним тестирования на этом языке. Однако о хороших методиках тестирования пишут не так много. Есть много вариантов, для чего и ...

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

Google тестирует «идеальный» тёмный режим Chrome для смартфонов Android Тёмная тема для смартфонов успела завоевать множество поклонников. С запуском Android 10 она стала доступна на системном уровне. Множество приложений сейчас уже имеют встроенные тёмные темы и многие способны синхронизировать этот параметр с Android 10.  На данный ...

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

Беличий мост Всем доброго времени суток. В этой статье я расскажу, как вам потратить wood пластик, если у вас есть грызуны)Дома у меня живут две чилийские белки, иное название дегу. Это великолепные создания, разумные и забавные, но редкостные разрушители. Все, что попадается им на пути ...

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

[Перевод] Python. Язык, на котором просто мыслить Привет, Хабр! У нас возможен предзаказ долгожданного второго издания книги "Простой Python". Перевод первого издания вышел в 2016 году и по сей день остается в числе бестселлеров. Поскольку мы убеждены, что Python — лучший язык программирования для начинающих, ...

Google случайно проговорилась, когда официально выпустит Android 11 В этом году Android 11 пришлось столкнуться сразу с несколькими трудностями. Сначала Google была вынуждена на целый месяц перенести запуск тестовой версии из-за того, что завершающий этап разработки вёлся на удалёнке, а потом отложить его снова, но уже из-за протестов в США...

[Из песочницы] Реактивная разработка Telegram бота Доброго времени суток, Habr'овчане. В поисках различной информации по разработке бота для чата Telegram в сети Интернет обнаружил, что все tutorial'ы хоть и достаточно полны различными механиками взаимодействия с библиотекой «telegram-bot-api», никто не пришёл к умозаключен...

[recovery mode] PM2: подходим к вопросу процесс-менеджмента с умом Буквально пару часов назад у меня завязался спор на тему того, что Node.JS слишком медленная для крупных проектов и ей стоит предпочесть Golang, Rust, PHP, etc. Основным аргументом противоположной стороны в этом споре был факт однопоточности JavaScript. Якобы при разработке ...

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

Как добавить виджеты из iOS 14 на любой Android Думаю, никто не возьмётся спорить с тем, что подход Apple к развитию iOS лучше подхода Google. Бесспорно, меня тоже раздражают ограничения, которые в Купертино навязывают пользователям своей операционки, но, если взять только качество реализации обновлений, новых функций и ...

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

Что стоит сделать Google с Android в 2020 году Android может быть лучше Давайте немного поразмышляем над тем, как Google может изменить политику распространения версий Android. Уже сейчас в Сети появляется информация о том, что нового появится в Android 11. И новые функции — это всегда хорошо, но один из пользовате...

[Перевод] 21 извлеченный урок за 21 год программирования Доброго времени суток, друзья! 7 апреля 2020 года. Сегодня для меня очень важный день. Сегодня исполняется ровно 21 год с того момента, как я начал писать код (делать это профессионально, зарабатывать этим себе на хлеб). Кажется, что это было только вчера… сегодня я — че...

Как я за 4 часа решатель японских кроссвордов написал Лениво просматриваю выложенный недавно коллегами из «Сириуса» список курсов, проведенных у школьников… Так, а это что такое? «Поиск комбинаторных объектов с помощью SAT-солверов»? «Мы сделали решатель судоку, японских кроссвордов и прочего»? В памяти всплывает мысль о том, ...

[Перевод] Опциональная цепочка, объединение с null, и как они меняют наш подход к написанию кода Автор фото — Miguel Á. Padriñán. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Sam Sedighian «Optional Chaining, Null Coalescing and How They Will Change the Way You Write Code». Опциональная цепочка, объединение с null, и как они меняют подхо...

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

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

Что такое «минимальная жизнеспособная практика (MVP)»? В новой книге ITIL ® 4 Create, deliver and support, которая, правда, пока что доступна только по подписке, описан довольно «простой» подход к определению охвата любой практики. Он называется «минимальная жизнеспособная практика» (minimum viable p...

Как будет выглядеть iOS 14? В октябре 2012 года один из создателей операционной системы iPhone и основной кандидат на пост главы компании Скотт Форстол ушел в отставку. Разработчиков дизайна iOS и macOS включили в группу промышленного дизайна компании, которую возглавлял Джонатан Айв, и в 2013 году вн...

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

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

Не боги горшки обжигают Дима: Читал эту статью? habr.com/ru/post/483592 (Разработчики — никакая не элита, а голые короли индустрии). Что скажешь? Я: Прочитал эту статью вчера Я: В двух словах моё мнение целиком не выразить Я: Это, скорее, тянет на получасовой разговор. Минимум Дисклеймер Несмотря ...

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

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

Первые шаги с aiohttp: часть 2. Подключаем базу данных к приложению Привет!В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.В этой статье мы продолжим изучение и подключим к нашему приложению базу данных PostgreSQL, используя для этого Gino, SQLAlchemy и Aiopg, а также автоматически с...

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

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

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

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

Приглашаем на вебинар про FPGA для начинающих Приветствую! Хочу сообщить, что скоро мы начинаем бесплатный online курс по FPGA! Первая лекция курса пройдёт 11 мая, начало в 18:00 на канале Twitch MaksimTolkachev Всю информацию о курсе Вы можете узнать на нашем сайте: НТЦ Метротек. Вебинары про FPGA. А в этой заметке мы ...

Тест дисплея смартфона с частотой 90 герц: могут ли пользователи почувствовать разницу? Нужны ли 90 герц на экране смартфона? Дисплеи с частотой обновления экрана в 90 герц в смартфонах стали чрезвычайно популярны во второй половине 2019 года. В теории такие дисплеи действительно могут позволить получить новый опыт от использования устройства, предложив более п...

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

[Перевод] Как сократить время сборки образов Docker в GitLab CI Современный цикл разработки программного обеспечения зачастую подразумевает, что ваши приложения регулярно упаковываются в контейнеры. Эта задача может занимать много времени, чем может значительно замедлять ваше тестирование или развертывание. Проблема становится особенно о...

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

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

О конкурентном корутинизме (на примере реактивного программирования) 1. Введение Конкурентная борьба за умы, настроения и чаяния программистов является, как мне представляется, современным трендом развития программирования. Когда почти не предлагается ничего нового, хотя и под лозунгом борьбы за него. Распознать в толчее программных парадигм ...

Apple сделала покупки в App Store и Mac App Store общими Несмотря на то что каталоги App Store и Mac App Store всегда существовали независимо друг от друга из-за большой разницы в создании мобильных и десктопных приложений, Apple решила позволить разработчикам продавать свой софт для всех своих платформ сразу, говорится на официа...

Карантин с пользой: полный комплект книг Cleverics по специальной цене До конца нерабочего месяца вы можете купить полный комплект электронных книг Cleverics со скидкой 40%, по цене  5100 рублей. В комплект входят 13 книг, включая бестселлер 2020 года — «Управление услугами на основе измерений» Павла Дёмина и Дмитрия Исай...

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

Как создать мини-приложение: база знаний VK Mini Apps Полезные материалы на каждый этап жизненного цикла Мы много рассказываем о том, как создавать мини-приложения и запускать их на платформе VK Mini Apps. И видим, сколько классных идей у разработчиков — и опытных, и начинающих. Хочется, чтобы каждый мог воплотить свою задумку ...

Как не править Python тесты И вынести тестируемые результаты вне кода. Это статья об автоматизации и увеличения удобства тестирования на Python. Вводная У меня был проект, который разрабатывался уже несколько лет. В проекте отсутствовали тесты. А также у него были активные зависимости от других команд...

Тонкости настройки CI/CD: как работает GitLab runner, когда использовать Docker-in-Docker и где пригодится Argo CD В конце прошлого года в «Слёрме» вышел видеокурс по CI/CD. Авторы курса инженер Southbridge Александр Швалов и старший системный инженер Tinkoff Тимофей Ларкин ответили на вопросы первых студентов. В частности, обсудили: Как работает GitLab runner: сколько задач берёт и ск...

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

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

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

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

Как работать с комментариями на Ютуб-канале Когда вы создали Ютуб-канал, то на ваш ролики будут писать комментарии. Если комментарии одобрительные к видео, то вы разумеется их оставляете. Но, что делать если комментарии негативные?! Что с ними делать?! Я расскажу про себя  про то что я делаю на своих каналах, в социал...

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

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

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

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

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

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

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

[Перевод] Влияние Ethernet на сетевые технологии в 2020 году Перевод статьи подготовлен специально для студентов курса «Сетевой инженер». Набор на курс уже открыт. НАЗАД В БУДУЩЕЕ С ОДНОПАРНЫМ ETHERNET 10 МБ/С — ПИТЕР ДЖОНС, ETHERNET ALLIANCE И CISCO В это трудно поверить, но Ethernet 10 Мбит/с снова становится очень популярной темой...

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

[recovery mode] О стартапах и стартаперах Сейчас очень модно говорить о стартапах и молодых стартаперах, бизнесменах до 30 лет, попавших в поле зрения Форбс. Об инновационных проектах, нацеленных перевернуть мир. Видимо, пришло время и для меня осознать, что такое стартап, что такое собственный проект, и каким мо...

Как мы решали проблему трех монолитов В стратегиях большинства компаний все чаще упоминается цифровизация: одни компании пытаются внедрять современные технологии (например, Big Data, IoT, AI, blockchain), другие — повсеместно автоматизируют свои внутренние процессы. Несмотря на растущие усилия и инвестиции во вн...

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

Книга «Совершенный алгоритм. Жадные алгоритмы и динамическое программирование» Привет, Хаброжители! В новой книге Тим Рафгарден рассказывает о жадных алгоритмах (задача планирования, минимальные остовные деревья, кластеризация, коды Хаффмана) и динамическом программировании (задача о рюкзаке, выравнивание последовательностей, кратчайшие пути, оптималь...

Почему 97% программистов 1С мало платят и так будет всегда Внимание: статья — про программистов 1С, соответственно — не про вас. Считайте, что про вомбатов, и для вомбатов (погуглите, это интересные животные). У них есть проблемы, схожие с вашими. Вопрос зарплаты и её повышения волнует большинство работающих людей, которых я встреч...

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

Как оценить уровень владения Английским языком На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оцени...

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

Про перевод «теории» и производных от неё Теория (+её производные) — ещё одно слово, на котором у меня включается творческий тупик: в голову ничего кроме theory/theoretical/theoretically не лезет. Поэтому его мы тоже с коллегами решили покрутить и так, и этак — посмотреть, как обыгрывают эту концепцию носители. Сре...

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

Как научиться программированию на Python? За последние несколько недель популярность онлайн-курсов и сектора онлайн-обучения в целом выросла почти в 4 раза. Почему? Во-первых, сейчас многие находятся на самоизоляции, и чтобы окончательно не потерять голову от безделья, пытаются занять себя чем-то полезным (и правил...

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

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

[Из песочницы] Запускаем браузерные тесты с Cucumber и Selenoid в Gitlab CI c Allure отчетом Cucumber – это инфраструктура тестирования, позволяющая преодолеть разрыв между разработчиками ПО и бизнес-менеджерами. Тесты пишутся на простом языке управляемой поведением разработки (BDD) в стиле Given, When, Then (условия, операция, результат), которой понятен любому пол...

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

Tarantool: взгляд аналитика Всем привет! Меня зовут Андрей Капустин. Я работаю системным аналитиком в Mail.ru Group. Наши продукты формируют единую экосистему для пользователя, в которой данные генерируют множество независимых инфраструктур: службы заказов такси и еды, почтовые сервисы, соцсети. Сегодн...

В России издана уникальная книга — она полностью переведена «Яндекс.Переводчиком» Перевод 350-страничной книги с английского языка на русский занял всего 40 секунд.

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

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

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

[recovery mode] Хочешь заработать миллион? Всем известна фраза Рона Хаббарда «…хочешь заработать миллион — создай свою религию», которую он выдал в 1950 году. Тогда он создал ещё одну деструктивную секту, можно это было в 60-х в США — которая до сих пор пытается утвердиться в мире, как религия. Хотя, сорри, друзья. ...

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

iPhone скоро сможет заменить Mac, но не всем Вскоре во всех Mac будут использоваться Apple Silicon — процессоры, разработанные самой Apple. За исключением некоторых буквенных отличий, это те же самые чипы, которые корпорация устанавливает в iPhone. А в первом Mac с процессорами Apple — Mac mini DTK, вовсе исполь...

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

[Перевод] «Ленивая» загрузка с помощью Intersection Observer API Доброго времени суток, друзья! В данной статье мы познакомимся с Intersection Observer API, новым мощным инструментом для «ленивой» загрузки изображений и других элементов на странице, поддерживаемым всеми современными браузерами. Мы можем использовать этот инструмент для...

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

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

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

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

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

Из первых уст. Про впечатления от курса  Яндекс Практикума “Разработчик С++” Приветствую уважаемое сообщество.В последнее время стало появляться множество курсов, связанных с IT. Вполне логично, что народ стал делиться своими наблюдениями от их прохождения. Так на Хабре можно найти отзывы об обучении на некоторых факультетах (курсах) от Яндекс Практи...

Подробная инструкция по изготовлению сплит клавиатуры на основе ATmega32U4. Аналог Iris / Jiran своими руками Моя самоделка Перед изготовленияем своей клавиатуры я наметил следующие цели: 1. Максимально возможный тактильный комфорт. 2. Добиться того, чтобы совершенно не было необходимости смотреть на клавиатуру при работе, чтобы она никоим образом не отвлекала внимание на себя, что...

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

Proxmox Backup Server: интеграция с Proxmox VE и базовые операции В середине июле этого года мы рассказывали о том, что была представлена бета-версия Proxmox Backup Server (PBS). В день холостяков, 11.11.2020 в 11:11, Proxmox Server Solutions GmbH опубликовали релиз версии 1.0.1, что не прошло незамеченным. Взглянем детально, как использо...

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

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

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

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

Как Moto RAZR проходит краш-тесты? Напоминаем, что 6 февраля в продаже появились новые смартфоны-раскладушки, реинкарнация легендарного телефона смартфон Motorola RAZR. Будем честны, после выхода о смартфоне почти ничего не было слышно. Видимо дело в том, что первые покупатели начали спокойно пользоваться уст...

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

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

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

[Из песочницы] С++, метапрограммирование и регистры микроконтроллера Привет, Хабр! Вот уже несколько лет все свои проекты для линейки микроконтроллеров stm32 я делаю на C++. За это время у меня накопилось некоторое количество материала, который может быть интересен другим разработчикам. Во избежание лишних вопросов: я использую связку QtCre...

Искусственный интеллект открыл 11 потенциально опасных для Земли астероидов Солнечная система, как и ее ближайшие соседи, буквально наполнена астероидами. Большинство из этих объектов никогда не пересекуться с нами, но некоторые из них действительно представляют или будут представлять угрозу для нашей планеты в будущем. Так, 65 миллионов лет назад ...

О системных расширениях Parallels Desktop в macOS Если вы являетесь пользователем Parallels Desktop (или используете другое приложение, требующее сторонних системных расширений), то вы наверняка видели сообщения от macOS и Parallels Desktop с надписью «Системное расширение заблокировано». Так что же это такое — системно...

16 советов по разработке для андроид на языке Kotlin. Часть 3 И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin». Читать первую часть Читать вторую часть LATEINIT Одной из ведущих особенностей Kotlin является е...

Fluentd: почему важно настроить выходной буфер В наше время невозможно представить проект на базе Kubernetes без стека ELK, с помощью которого сохраняются логи как приложений, так и системных компонентов кластера. В своей практике мы используем стек EFK с Fluentd вместо Logstash. Fluentd — это современный универсальный ...

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

Флагман Samsung из-за бага начал фотографировать хуже Xiaomi Флагманы Samsung имеют неприятный баг, связанный с качеством снимков, полученных на фронтальную камеру. Проблему удалось раскрыть нашим коллегам из Phonearena.com, которые пользовались Galaxy S20 Ultra, Galaxy S20+ и Galaxy S20 на протяжении двух недель и успели найти все м...

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

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

Как на iPhone или iPad добавить или сменить картинку профиля Apple ID При создании учетной записи Apple ID пользователям предлагается выбрать один из стандартных вариантов значка для своего профиля. Но со временем хочется сделать его более персонализированным и присвоить учетной записи новое изображение. Вероятно, вы просто захотите рано или п...

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

Гайд по UI анимации. Как начать анимировать интерфейсы Привет! Меня зовут Айгуль, я продуктовый дизайнер в Райффайзенбанке, а до этого работала в Mail.ru Group, OneTwoTrip и приложила руку к нескольким стартапам. Как-то я взяла на себя задачу продумать систему UI-анимаций для дизайн-системы. Но когда я начала над ней работу...

Как мы подружили Flutter с CallKit Call Directory Привет! В этом лонгриде я расскажу о том, как мы в Voximplant пришли к реализации собственного Flutter плагина для использования CallKit во Flutter приложении, и в итоге оказались первыми, кто сделал поддержку блокировки/определения номеров через Call Directory для Flutter....

Выбираем патентного поверенного У каждой инновационной компании рано или поздно возникает вопрос по выбору юридической фирмы для защиты своих прав на изобретения. В Parallels эта тема возникла в момент объединения портфелей патентов с Corel. И у Parallels, и у Corel были свои патентные поверенные. Был ва...

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

Каким может стать Google Pixel 4a Google Pixel 4a может ва удивить Google удивил всех в 2019 году, выпустив Pixel 3a и Pixel 3a XL. Если помните, то это были доступные версии Pixel 3 и 3 XL, соответственно, которые имели некоторые аппаратные и программные средства премиальных устройств, но предложили их по б...

[Перевод] Интервью авторов «Искусства схемотехники» сообществу «element14» (05.06.2015) После своей первоначальной публикации в 1980 году, книга «Искусство схемотехники» считается «Библией электронной техники». Инженеры отзываются о ней как о важной, основополагающей книге, которая сформировала их профессиональное мировоззрение и привила любовь к схемотехнике. ...

Весна, маньяков пропёрло... Robox можно сказать помер, ну или находиться в коматозном состоянии... Запчасть в виде "ГОЛОВЫ", вроде, что с Британии, что с Китая, ждать особенно не приходиться...  На распродаже прикупил ещё одного Wanhao D-7, который "красый"… Старого из за воблинга решил не реанимироват...

Магия виртуализации: вводный курс в Proxmox VE Сегодня речь пойдет о том, как быстро и достаточно просто на одном физическом сервере развернуть несколько виртуальных серверов с разными операционными системами. Любому системному администратору это позволит централизованно управлять всей IT-инфраструктурой компании и экон...

[Перевод] Как Crash Bandicoot взламывал Playstation Энди Гэвин из Naughty Dog рассказывает об управлении памятью и 3D-анимациях 90-х. «Памяти в Crash Bandicoot настолько не хватало, что мне приходилось красть небольшие кусочки лишней памяти из библиотек Sony. Я просто пробовал удалять те части, которые, как мне казалось, я ...

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

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

РИТ, Максим Лапшин (Erlyvideo): как программисту вырастить компанию РИТ++ 2017, Whale Rider. Зал «Конгресс-холл. 6 июня, 13:00. Тезисы. В докладе я хочу рассказать о собственном опыте органического развития компании, продающей b2b серверный софт без инвестиций. Я начинал с ковыряния just for fun в том, что мне было интересно, потом был го...

[Перевод] Сжатие ответов в GRPC для ASP.NET CORE 3.0 Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». В этом эпизоде моей серии статей о gRPC и ASP.NET Core мы рассмотрим подключение функции сжатия ответов (response compression) служб gRPC. ПРИМЕЧАНИЕ: В этой статье я рассказываю о некото...

Обзор SnowRunner – Самый медленный автосимулятор Когда я думаю про гоночные игры, я думаю про безумные скорости, дорогостоящие суперкары и эпичные аварии. Это – не про SnowRunner. Здесь каждый неверный поворот грозит провалом, и каждая неглубокая лужа способна отменить всё, над чем вы работали. Эта игра Saber Interactive с...

[Перевод] Масштабирование Redux-приложения с помощью ducks В преддверии старта курса «React.js разработчик» подготовили перевод полезного материала. Как масштабируется front-end вашего приложения? Как сделать так, чтобы ваш код можно было поддерживать полгода спустя? В 2015 году Redux штурмом взял мир front-end разработки и заре...

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

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

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

[Перевод] SRE: Анализ производительности. Способ настройки с использованием простого вебсервера на Go Анализ производительности и настройка — мощный инструмент проверки соответствия производительности для клиентов. Анализ производительности можно применять для проверки узких мест в программе, применяя научный подход при проверке экспериментов по настройке. Эта статья опреде...

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

Почему канадский английский считают «грязным» и при чем тут Киану Ривз Сегодня мы расскажем о диалекте английского языка, на котором говорит свыше 17 миллионов людей. Историческое становление английского языка в Канаде, соседство с США и французский в качестве второго государственного создали диалект со своими особенностями и интересными фишка...

Huawei представила в России решение AirEngine Wi-Fi 6 На специальном мероприятии в Москве компания Huawei рассказала журналистам о коммерческом внедрении AirEngine (это произойдет в марте 2020 года) и провела своеобразный ликбез на тему Wi-Fi 6. Новый стандарт (802.11ax) в четыре раза превосходит Wi-Fi 5 (802.11aс) по пропускн...

[Перевод] useSWR – моя новая любимая библиотека React Перевод статьи подготовлен в преддверии старта курса «React.js разработчик». Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управлени...

Часть 2. Идентификация событий происходящих в Oracle PL/SQL На картинке представлен пример обработки одной и той же ошибки. В первом случае ("красный" квадрат) представлен результат стандартной обработки ошибки. Во втором случае ("зеленый" квадрат) представлен результат кодирования ошибок в событийной модели логирования. Помимо инфор...

[Из песочницы] Опыт поступления в магистратуру в Германии (детальный разбор) Я программист из Минска, и в этом году я успешно поступил в магистратуру в Германии. В данной статье я бы хотел поделиться своим опытом поступления, включая выбор подходящей программы, сдачу всех тестов, подачу заявок, коммуникацию с германскими вузами, получение студенческо...

Курсы бизнес-анализа в IT от академии Белхард в Минске Курсы по бизнес анализу в сфере разработки программного обеспечения — это отличная возможность получить объём знаний и навыков, необходимый для работы над устранением проблем различных проектов. Академия BELHARD объявляет открытие курсов в таком направлении, о...

[Перевод] Как выполняются арт-тесты для игр Введение Меня зовут Джонджо Хемменс, я художник по окружениям (Environment Artist) и только начинаю свой путь в индустрии видеоигр. В этой статье я объясню, что такое арт-тесты, покажу примеры успешных тестов с ArtStation, расскажу о правилах и этикете, а также процитирую с...

STL, allocator, его разделяемая память и её особенности Разделяемая память — самый быстрый способ обмена данными между процессами. Но в отличие от потоковых механизмов (трубы, сокеты всех мастей, файловые очереди ...), здесь у программиста полная свобода действий, в результате пишут кто во что горазд. Так и автор однажды задал...

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

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

Fortinet Security Fabric на практике. Часть 2. FortiSwitch Приветствуем! В нашей прошлой статье мы описали общую концепцию построения сети на продуктах компании Fortinet - Fortinet Security Fabric. Практически все продукты из этой концепции мы уже описывали. Неосвещенными остались только FortiSwitch и FortiAP. Сегодня мы хотим расск...

Вот это поворот: в Google Pixel 5 может быть процессор Samsung Многие жалуются на процессоры Exynos от Samsung. В некотором роде я разделяю эти возмущения, но только с точки зрения того, что людям продают смартфон с более слабым процессором по цене более мощного. В остальном всю шумиху я считаю немного преувеличенной. Хотя все равно не...

iOS 13.3.1 позволяет полностью отключить геолокацию на новых iPhone Технология Ultra Wideband могла сама активировать службы геолокации, но пользователям это не понравилось Apple всегда выступала решительно против слежки за пользователями и не только старалась всячески избегать этого сама, но и критиковала тех, кто позволял себе нечто подобн...

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

Бесплатные образовательные курсы: фронтенд-разработка Порядочный фронтендер знает HTML и CSS, разбирается во фреймворках и библиотеках, понимает, что находится «под капотом» на серверной стороне. Плюс, обязательно умеет работать с контролем версий, использовать графические редакторы, разбираться в шаблонах разных CMS. Сегодн...

Кто будет первым смартфоном на Snapdragon 865 Plus. Galaxy Note 20? Компания Qualcomm уже приучила нас к тому, что выпускает ”плюсовую” версию своего процессора ближе к выходу нового чипа. Пусть подряд такое встречается только второй раз, но к хорошему привыкают быстро. Такая практика помогает компаниям выпускать устройства на актуальных пр...

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

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

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

Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса Перед вами доклад Марии Зеленовой zelma — разработчика в Едадиле. За час Маша рассказала, в чём состоит тестирование программ, какие тесты бывают, зачем их писать. На простых примерах можно узнать про библиотеки для тестирования Python-кода (unittest, pytest, mock), принципы...

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

Годы идут, долги растут: Как законно не платить по кредиту в кризис? Юристы обнаружили законный способ не платить по кредитам и речь идёт не о банкротстве. Как ни странно, но благодаря сложной экономической ситуации в стране у россиян появилась возможность на законных основаниях не платить по своим кредитам и займам. «Годы идут, долги растут...

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

[Перевод] Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 42 и 43 предыдущие главы 42. Еще про несоответствие данных Предположим, вы разработали систему распознавания речи, которая очень хорошо работает на обучающей выборке и на «выборке для валидации обучающей». Однако у нее низкое качество на валидационной выборке: очевидно, вы имеете де...

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

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

Про перевод «сфер» Про «сферы» Не знаю, как вас, а меня корёжит, когда «в сфере» переводят на английский in the sphere. В этой статье я как раз поговорю об этих всяких сферах и сразу дам спойлер — слова sphere вы нигде в примерах не увидите. Примерно в половине случаев эта фраза вообще не пере...

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

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

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

Инфографика средствами Excel и PowerPoint «Какой толк в книге, — подумала Алиса, — если в ней нет ни картинок, ни разговоров?» Льюис Кэрролл, «Алиса в Стране чудес» Всем привет! Мы уже привыкли к тому, что все чаще информацию нам стараются подать с элементами инфографики. Визуальные материалы воспринимаются и запом...

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

Как отпраздновать Новый год: тест для тех, кто не определился Тест: как отметить Новый год Вопрос 1 из 6 Как вы отмечали Новый год в последний раз? Был (а) в кругу семьи Оказался (лась) в шумной компании друзей Вдвоем со второй половинкой В одиночестве ...

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

Анимодзи и мемодзи – инновация или бред? А вы пользуетесь этими штуками? В истории анимодзи было несколько захватывающе ярких моментов. Некоторые авторы даже сравнили “изобретение Apple” мемодзи и анимодзи с созданием iPhone. Про это изобретение много пишут в сети, в основном объясняя как от них избавиться. Расска...

Бесплатный практический онлайн-курс «InstaСтратегия. Шаг первый» Хотите научиться не просто красиво «вести страничку» в Instagram, а выстроить стратегию продаж в этой соцсети и научиться создавать эффективный контент-план для Инстаграм? Тогда регистрируйтесь на практический онлайн-курс от Татьяны Кид...

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