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

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

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

[Перевод] Мониторинг распределённых систем — опыт Google (перевод главы книги Google SRE) SRE (Site Reliability Engineering) — подход к обеспечению доступности веб-проектов. Считается фреймворком для DevOps и говорит как добиться успеха в применение DevOps-практик. В этой статье перевод Главы 6 Monitoring Distributed Systems книги Site Reliability Engineering о...

Перевод на английский язык в сфере IT на примере PVS-Studio Наша компания PVS-Studio активно публикует статьи на тему разработки, поиска ошибок в коде, техниках по улучшению его качества. Этот пост отличается по тематике – в этот раз рассмотрим вопрос перевода на английский язык русскоязычного контента на тему разработки. В этой ста...

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

Истории о моей работе в Нидерландах Давно не писал на хабр, и вот приспичило. Истории со временем забываются, стираются из памяти, хочу записать в том виде, в каком сейчас помню. Я живу в Нидерландах уже почти 5 лет, и мне здесь очень нравится. Здесь у нас родился сын, мы купили дом и посадили рядом с ним дере...

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

DevOps vs DevSecOps: как это выглядело в одном банке Банк аутсорсит свои проекты многим подрядчикам. «Внешники» пишут код, потом передают результаты в не совсем удобном виде. Конкретно процесс выглядел так: они передавали проект, который прошёл функциональные тесты у них, а затем тестировался уже внутри банковского периметра...

Блокируем заливку приватных ключей, архивов, больших файлов и не только в Gitlab CE Git hooks – инструмент, помогающий держать в порядке ваш репозиторий. Можно настроить автоматические правила оформления ваших коммитов. Все вы наверное знаете про pre-commit — проверку вашего кода перед коммитом. Но ведь не все можно проверить перед коммитом. Некоторые огра...

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

Из разнорабочих — в php-программисты. Необычная карьера разработчика Сегодня публикуем историю студента GeekBrains Леонида Ходырева (leonidhodirev), ему 24 года. Его путь в IT отличается от ранее опубликованных историй тем, что Леонид сразу после армии стал изучать PHP, что, в конечном итоге, помогло ему найти хорошую работу. Читать дальше ...

[Перевод] Нововведения JavaScript ES2020 с простыми примерами Представляем вам перевод статьи из блога Carlos Caballero на сайте Medium.com. Ранее мы публиковали материал этого автора о функциях ES10, появившихся в 2019 году. Читать дальше →

[Перевод] Как думают программисты-сеньоры? Автор материала, перевод которого мы публикуем сегодня, поддерживает идею Ральфа Уолдо Эмерсона о том, что мы становимся тем, о чём думаем. Здесь пойдёт речь об образе мыслей программистов-сеньоров. Читать дальше →

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

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

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

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

Отпариватель Kitfort KT-929-2: компактный и удобный в эксплуатации прибор, работающий как утюг и отпариватель Этот прибор компактного размера и качественного изготовления отличается большой мощностью, он готов к работе за 40 секунд. Интенсивность паровой струи позволяет привести в порядок долго провисевшие в шкафу или пролежавшие на полке вещи. Прибором удобно пользоваться и в качес...

[Перевод] 5 расширений и тем для VS Code, которые способны изменить жизнь разработчика Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о нескольких расширениях и темах для популярного редактора VS Code, которые способны улучшить жизнь разработчика. Читать дальше →

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

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

[Из песочницы] Пишем простое веб-приложение используя Spring MVC, Spring Data JPA и Hibernate Привет, Хабр! Представляю Вашему вниманию перевод руководства «Spring MVC + Spring Data JPA + Hibernate — CRUD Example» автора Nam Ha Minh. В этом руководстве по Java Spring вы узнаете, как настроить Spring MVC приложение для работы с Spring Data JPA, разработав простое веб...

[Перевод] 7 рекомендаций по повышению надёжности JavaScript-кода Автор статьи, перевод которой мы сегодня публикуем, решил поделиться с читателями семью рекомендациями по JavaScript. Эти рекомендации, как хочется надеяться автору, помогут писать более надёжные программы. Читать дальше →

[Перевод] Разбор худшего в мире куска кода Есть одна итальянская страница на Facebook. Называется она «Il Programmatore di Merda», что в переводе означает «Дерьмовый программист». Мне нравится эта страница. Там часто публикуют куски отвратительного кода и мемы о программировании. Но однажды я увидел там кое-что сове...

[Из песочницы] Redis Best Practices, часть 1 В серии из нескольких статей я приведу свой адаптированный перевод раздела Redis Best Practices с официального сайта Redis Labs. Читать дальше →

Руководство по Node.js для начинающих. Часть 2 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Движок JavaScript V8 V8 — название движка JavaScript, поддерживаемого Google Chrome. Эта та штука, которая берет ваш JavaScript-код и выполня...

[Перевод] Учимся писать информативные комментарии к GIT-коммитам используя общепринятую семантику Когда я только знакомился с системами контроля версий (особенно с git), я рассматривал их только как приложения, которые помогают мне хранить историю изменений моего кода. Т.е. когда случается что-то нехорошее, я могу просмотреть историю коммитов и вернуться к последнему «хо...

[Перевод] Реализация epoll, часть 1 Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux...

PyCharm исполнилось 10 лет У PyCharm юбилей. На протяжении десяти лет наша IDE развивалась вместе с Python, отражая изменения в языке и отвечая на запросы Python-разработчиков. Все это время мы стремились сделать PyCharm максимально удобной и эффективной IDE. PyCharm — не просто коммерческий продукт...

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

[Перевод] Докеризация приложения, построенного на базе React, Express и MongoDB Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как упаковывать в контейнеры Docker веб-приложения, основанные на React, Express и MongoDB. Здесь будут рассмотрены особенности формирования структуры файлов и папок таких проектов, создание файлов D...

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

Подборка 143 переводов эссе Пола Грэма (из 184) Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий спек...

[Перевод] Полезные советы по Python, которых вы ещё не встречали. Часть 2 Недавно мы опубликовали перевод материала, в котором были приведены полезные советы для Python-программистов. У того материала есть продолжение, которое мы представляем вашему вниманию сегодня. Читать дальше →

[Из песочницы] Ваш C# уже «функциональный», просто позвольте ему это Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik. Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8....

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

[Перевод] Сторителлинг в играх — работа не только для сценариста Работая сценаристом игр, вы будете писать сценарии, диалоги, внутриигровой текст и, возможно даже, трейлер. Будет место за столом во время препродакшна, и много коммуникаций с геймдизайнерами. Главное — вы не будете рассказывать историю в одиночку. Читать дальше →

«Правила роста: от джуниора до CTO», конспект вебинара Фёдора Борщёва Фёдор Борщёв — CTO в маркетплейсе стройматериалов «ГдеМатериал», сооснователь rumetr.com и популяризатор чистоты кода. Пишет в блог, телеграм-канал @pmdaily и в советы о разработке в Бюро Гобрунова. Я сейчас меняю работу — со средней позиции менеджера по логистике на позицию...

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

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

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

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

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

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

Clickhouse — оконные функции, которых нет… Работу с колоночными базами данных я начал с BigQuery. Когда пришлось “переехать” на Clickhouse я был неприятно удивлен фактом отсутствия полноценных оконных функций. Есть, конечно, множество функций по работе с массивами, функций высшего порядка и прочие функции (одна функц...

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

[Перевод] Объединяем функции логическими операторами в C++ В преддверии старта занятий в новом потоке группы «Разработчик С++» подготовили перевод интересного материала. Большинство алгоритмов STL в C++ используют всего лишь одну функцию для выполнения некоторой работы над коллекцией. Например, чтобы извлечь все четные числа из ко...

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

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

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

[Перевод] Multi-Target в Albumentations Этот текст — это перевод блог поста Multi-Target in Albumentations от 27 июля 2020. Автор есть на Хабре, но переводить текст на русский поленился. И этот перевод сделан по его просьбе. Я перевела на русский все, что можно, но какие-то технические термины на английском зву...

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

Телеграм.пёс, или как не нужно делать зеркала Под катом — история о том, как официальное зеркало Telegram может привести вашего друга на верифицированный канал, который принадлежит мошенникам. Читать дальше →

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

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы. В качестве линтера я решил использов...

[Перевод] Docker передает cnab-to-oci в проект CNAB… и что вообще такое CNAB? Прим. перев.: Эта статья — перевод недавнего анонса из мира контейнеров. В прошлом месяце компания Docker объявила о передаче своей очередной разработки в руки более широкого Open Source-сообщества. Речь шла об инструменте конвертации метаданных CNAB-пакета в формат стандарт...

[Перевод] Forge of Empires из AS3 в Haxe. Постмортем В комментариях к переводу доклада с HaxeUp Sessions 2020 Hamburg — Зимний отчет о состоянии Haxe — был задан вопрос о том, зачем нужен Haxe. На него, конечно же, ответили там же, в комментариях. Предлагаемый вашему вниманию перевод еще одного доклада с прошедшего HaxeUp долж...

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

Цена и дата выхода Sony PlayStation 5 — это фейк Известный инсайдер и дизайнер Бен Гескин (Ben Geskin) опубликовал разоблачение истории с ценой и датой выхода игровой консоли следующего поколения Sony PlayStation 5. Ранее в Сети появился скриншот, который якобы был сделан на сайте известного онлайнового магазина Amaz...

Data Engineer or die: история одного разработчика В начале декабря я совершил роковую ошибку принял поворотное решение в своей жизни разработчика и перешёл в команду Data Engineering (DE) внутри компании. В статье я поделюсь некоторыми наблюдениями, которые я сделал за два месяца работы в команде DE. Читать дальше →

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

[Перевод] Разработка веб-приложения для транскрибирования аудиозаписей с использованием Python, Streamlit и AssemblyAI Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как, пользуясь Streamlit, создать веб-приложение, которое позволяет пользователям транскрибировать аудиозаписи, выгружая их на специальный сервер. В проекте будет использован API AssemblyAI, позволяю...

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

Как писать лёгкие тексты Я пишу много текстов, в основном всякую чушь, но, обычно, даже хейтеры говорят, что текст читается легко. Если хотите сделать свои тексты (письма, например) легче, бегом сюда. Тут я ничего не придумывал, всё из книжки «Слово живое и мёртвое» Норы Галь, советского переводчик...

Intel не справляется со спросом на процессоры. В результате страдает бизнес HP и Dell Как пишет издание Marketwatch, крупнейшие производители компьютеров недовольны работой Intel, которая не справляется с ростом объемов заказов. HP и Dell опубликовали отчеты, в которых отмечается вероятное ухудшение результатов из-за недостатка чипов Intel. Ситуация с проц...

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

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

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

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

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

История нашего open source: как мы сделали сервис аналитики на Go и выложили его в открытый доступ В настоящее время практически каждая компания в мире собирает статистику о действиях пользователя на web ресурсе. Мотивация понятна — компании хотят знать как используется их продукт/веб сайт и лучше понимать своих пользователей. Конечно на рынке существует большое количеств...

[Из песочницы] Doctrine ResultSetMapping на примерах Doctrine ORM предоставляет разработчику удобные средства выборки данных. Это и мощный DQL для работы в объектно-ориентированном ключе, и удобный Query Builder, простой и понятный в использовании. Они покрывают большую часть потребностей, но иногда возникает необходимость исп...

[Из песочницы] Риски IT-проектов и IT-команд Нехорошая ситуация с Nginx — даёт повод вспомнить другие кейсы про неприятности при работы с командами проектов, тем более что исправлять ошибки в оформлении команд — намного сложнее чем ошибки в коде. (кейсы идут — не по «важности» а в порядке вспоминания) Читать дальше &r...

[Перевод] Что такое Emergent Communication и почему это нужно знать TL;DR: перевод поста Михаила Нуховича What is Emergent Communication and Why You Should Care: что это такое, зачем это нужно, какие есть точки зрения на задачу и перспективные направления исследований. Обучение с подкреплением, обработка естественного языка, теория игр и фил...

Обзор k9s — продвинутого терминального интерфейса для Kubernetes K9s предоставляет пользовательский интерфейс терминала для взаимодействия с кластерами Kubernetes. Цель этого Open Source-проекта — облегчить удобную навигацию по приложениям в K8s, наблюдение за ними и управление ими. K9s постоянно следит за изменениями в Kubernetes и пре...

Как мы Elasticsearch в порядок приводили: разделение данных, очистка, бэкапы Эта статья — практическая история о том, как мы столкнулись с проблемой разделения логов, хранимых в Elasticsearch, из-за которой пришлось поменять подход к бэкапам и управлению индексами. Всё началось вскоре после того, как было поднято production-окружение. У нас был «б...

VoiceOver на iOS: каждый контрол ведёт себя по-разному Привет, Хабр! Недавно я говорил про адаптацию приложений для незрячих и неподвижных людей. И не договорил! Сегодня расскажу, как изменить поведение контролов с помощью accessibilityTraits и сделать жизнь незрячих чуть удобней. Знать работу этих трейтов (traits) важно, чтоб...

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

Xdebug через Windows Subsystem For Linux 2 (WSL2) Под катом небольшая заметка про то как можно настроить удобное окружение для работы с PHP, xdebug через Windows Subsystem For Linux 2 (WSL 2). Читать дальше →

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

Как писать в блог, чтобы привлекать больше читателей: 9 простых советов Как придумывать заголовки и в какое время публиковать посты? Делимся отрывком из книги «Пишут все! Как создавать контент, который работает», которая учит писать увлекательные тексты для развития бизнеса или личного бренда.

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

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

[Перевод] Компьютерная история: Xerox Alto — персональный компьютер Сегодня мы публикуем перевод статьи из журнала Byte от 1981. Она посвящена культовому компьютеру Xerox Alto. Шел 1973 год. Компьютеры были громоздкими, маломощными и неповоротливыми. До изобретения ZX Spectrum оставалось 9 лет. Commodore Amiga 1000 появился в 1985-м. Всег...

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

[Перевод] CIMON-2: (не)судный день, или как IBM Watson забрался выше облаков CIMON – Crew Interactive Mobile CompanioN (далее «Саймон») – научная разработка аэрокосмического агентства Airbus и IBM, спонсированная германским центром авиации и космонавтики DLR. В прошлом году его впервые испытали «в бою» на МКС, а в этом месяце начали испытание второй...

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

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

Как мы улучшили интерфейс VSO-движка Playrix и приблизили его по удобству к Unity Ранее на Хабре мы уже писали о том, как сделали собственный игровой движок VSO, а сегодня расскажем, как мы улучшали его интерфейс и удобство работы с ним. Статья будет полезна всем, кто только начинает разбираться с UX/UI и хочет узнать, как с помощью базовых прин...

Пишем веб сервис на Python с помощью FastAPI Знаю, знаю, наверное вы сейчас думаете «что опять?!». Да, на хабре уже неоднократно писали о фреймворке FastAPI. Но я предлагаю рассмотреть этот инструмент немного подробнее и написать API своего собственного мини Хабра без кармы и рейтингов, зато с блэкджеком и с тестами,...

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

Микроша. Глава первая. Контроллер SD карты Многие помнят эту замечательную ПЭВМ. У меня такая появилась, когда мне было 11. Прошло 28 лет и сейчас я решил в порядке хобби сделать устройства расширения, которых мне так не хватало тогда. Читать дальше →

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

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

[Перевод] Руководство Google по стилю в C++. Часть 1 Часть 1. Вступление … Часть 8. Именование Часть 9. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на...

[Из песочницы] Пять причин почему ИИ не сможет заменить людей, а сделает нас только лучше Привет, Хабр! Представляю вашему вниманию перевод статьи «f5 Reasons AI Won’t Replace Humans… It Will Make Us Superhuman». Многие говорят, что ИИ с немыслимой скоростью забирает у нас работу. Заменит ли искусственный интеллект людей и создаст ли он неизбежный мировой кризис...

[Перевод] Как питомцы могут сделать из вас хорошего программиста (да, они действительно это могут!) Перед вами перевод статьи, опубликованной на сайте medium.com. Автор, Mahdhi Rezvi, рассказывает, как развивать свои технические и нетехнические скиллы с помощью пушистого друга. Читать дальше →

[Из песочницы] [В закладки] Перевод Google JavaScript Style Guide Добрый день, товарищи разработчики! Пару месяцев назад начал осваивать специализацию Fullstack-разработчика и, спустя какое-то время, как любой приличный разработчик, стал искать руководства по стилю для JavaScript. В результате, это привело… к переводу одного из них, о чем...

[Перевод] Алан Кей: История SmallTalk (Аннотация и Введение) У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять буду...

[Из песочницы] Новая архитектура нейросети — EfficientDet Привет, Хабр! представляю вашему вниманию перевод статьи «EfficientDet: Scalable and Efficient Object Detection» автора Mingxing Tan, Ruoming Pang, Quoc V. Le. В последние годы был достигнут огромный прогресс в направлении более точного обнаружения объектов, в то же время с...

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

Руководство по Node.js для начинающих. Часть 4 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Часть 4 Файл package-lock.json В пятой версии Node.js был представлен файл package-lock.json. Что это такое? Для чего он нужен, если есть ...

Локализация приложений: как мы подружили перевод и разработку Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений и...

Dagaz: Сумма технологий           Итак, технологии интересуют меня, так сказать, по необходимости: потому что всякая цивилизация включает и то, к чему общество стремилось, и то, чего никто не замышлял.        &nb...

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

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

[Из песочницы] Автоматическая публикация записей из сообщества ВКонтакте в Discord Предыстория Я являюсь создателем, среднего по количеству участников, Discord сервера ~2000 участников. В один день мне понадобилось публиковать записи из группы ВКонтакте с последними новостями игры, ВКонтакте не умеет работать с WebHooks, поэтому пришлось идти в Google и и...

Создаем готовый для опенсорса проект на Angular в пару кликов Недавно я публиковал статью о том, как быстро настраивать npm-пакеты перед публикацией в opensource. В ней я разобрал настройку версионирования, CI, построение воркфлоу и удобный деплой на страничку с демо. Все советы той статьи распространяются и на библиотеки Angular. Но в...

10 самых популярных видеокарт по версии бенчмарков Периодически такой статистикой делится Steam, рассказывая о железе игроков. Но в это раз публикуем данные, полученные от бенчмарка Master Lu. Данные приведены за конец 2019 года. В итоге получился список из 10 самых популярных моделей карточек. Читать полную статью

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

VK Tech: год разработки в числах Git Мы ушли на код-фриз и готовы подвести итоги — это был отличный год! 2019-й для Команды ВКонтакте — это 180 разработчиков мобильной и веб-версии, 71 398 коммитов в мастер и 4 459 обновлений продакшена. Мы собрали все числа в одно наглядное видео, чтобы зафиксировать статистик...

Atlas Shrugged или поворот не туда Самое дорогое, что есть у каждого человека — его жизнь и время, отпущенное ему. Каждый распоряжается этими ресурсами по-своему. Нет второго шанса, нельзя родиться заново, часы не отмотать назад. Игорь Сысоев день за днем почти 20 лет своей жизни посвящал кропотливой работе...

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

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

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

[Из песочницы] Четыре принципа перевода, или в чем же человек не уступит машинному переводчику? Уже давно в воздухе витают слухи, что машинный перевод будет способен заменить переводчика-человека, а иной раз слышатся заявления, вроде того, что «Переводы, выполненные человеком и Google Neural Machine, почти неразличимы», когда Google объявила о запуске системы нейронног...

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

[Перевод] Обзор Keras для TensorFlow Перевод обзорного руководства с сайта Tensorflow.org. Это руководство даст вам основы для начала работы с Keras. Чтение займет 10 минут. Читать дальше →

История одного pet-проекта Если помните, в детстве были такие книжки, где ты читаешь, а в конце есть вариант развилки — пойти направо или налево, убить кого-то или помиловать. В зависимости от вашего выбора в книжке было написано: «Перейдите на такую-то страницу и на такую-то строчку». У Александра Зи...

Быстрый расчет формул из Excel на C# Как часто вы слышите от заказчиков, что они пришлют данные в Excel или просят вас сделать импорт или выгрузку в Excel-совместимом формате? Я уверен, что в большинстве сфер Excel — один из самых популярных, мощных и в то же время простых и удобных инструментов. Но самым пробл...

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

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

История IT. ООП Мою предыдущую статью «История IT. Когда компьютеры были большими…» мы завершили концом 80-х, когда произошло два знаменательных события. Во-первых, появился ООП и объектный язык C++. А во-вторых, появились персоналки, и это принципиально изменило задачи, стоящие перед IT-ра...

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

Видеоурок Теплицы: плагин Mate Translate как альтернатива переводчику от Google Все мы знаем Google Translate. Это действительно очень удобный инструмент, но у Вовы Ломова возник вопрос: а есть ли какая-то альтернатива этому переводчику? Естественно круг поиска был ограничен рядом важных критериев: бесплатно, просто, онлайн, работает в браузере. И Вова ...

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

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

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

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

[Перевод] Информация с нулевым доверием Недавно Google перевела всех своих сотрудников в Северной Америке на удалённую работу. Это было одной из мер по ограничению распространения SARS-CoV-2, вируса, который вызывает заболевание COVID-19. Это подходящее решение для любой компании, которая может на это пойти. Более...

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

Пишем Ретровейв на Angular Web Audio API существует уже давно, и про него есть немало статей. Поэтому про сам API много говорить не будем. Расскажем, что Web Audio и Angular могут стать лучшими друзьями, если их правильно познакомить. Давайте сделаем это! Читать дальше →

Книга «Управление памятью в .NET для профессионалов» в правильном переводе команды DotNetRu Совсем недавно в издательстве ДМК-пресс на русском языке вышла замечательная книга Конрада Кокосы «Управление памятью в .NET для профессионалов». Это издание примечательно тем, что в переводе участвовали не только люди со стороны издательства, но и члены сообщества DotNet.R...

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

Руководство по Node.js для начинающих. Часть 3 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Получение данных, введенных пользователем, в Node.js Как сделать Node.js-программу интерактивной? Для этого в 7 версии Node.js представлен м...

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

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

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

10 популярных смартфонов 18 недели Каким вы сегодня пользуетесь смартфоном? А есть аппарат из новых, которые недавно вышли или только должны быть анонсированы, который вас привлекает? Этими вопросами регулярно задаются парни с портала GSMArena.com, публикуя свои рейтинги устройств, которые собирали максимал...

[Перевод] Опенсорс-хелпдеск как альтернатива Zendesk и Help Scout. Архитектура, дизайн и юзабилити Это перевод ряда статей из блога одного опенсорсного хелпдеска (и общего почтового ящика) на Laravel. История данного проекта — хороший пример того, как опенсорс-сообщество может не просто повторить, но и местами улучшить дизайн и функционал уже готового распиаренного комм...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

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

Kubernetes в переводе на детский CNCF — созданная при фонде The Linux Foundation международная организация, занимающаяся развитием и продвижением Open Source технологий, которые используются для построения и функционирования инфраструктур, предназначенных для запуска облачных приложений. Но это вы, наверн...

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

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

[Перевод] Ошибки при работе с датой и временем в SQL Server Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик". Содержание Ошибка #1: Предполагать, что значения даты и времени хранятся в виде форматированных строк Ошибка #2: Забыть о людях, которые живут в других частях света Ошибка #3: ...

[Перевод] Vulkan. Руководство разработчика. Настройка окружения Я переводчик ижевской компании CG Tribe и здесь я буду публиковать перевод руководства к Vulkan API. Ссылка на источник — vulkan-tutorial.com. Это моя вторая публикация, которая посвящена переводу раздела Development Environment. Содержание ...

[Перевод] Самодельный ноутбук ZedRipper на 16-и Z80 Статья с сайта безумного инженера-самодельщика Криса Фентона Встречайте ZedRipper – 16-ядерный зверюга, работающий на частоте 83 МГц на базе процессоров Z80 – настолько же портативный, насколько непрактичный. Это моя самая свежая на сегодня попытка собрать компьютер ради ...

[Перевод] Y Combinator: Как распределять доли между основателями стартапа (Майкл Сибель) 9 ноября 2020 стартовала Школа стартапов для будущих основателей (Startup School for Future Founders от Y Combinator) и мы будем публиковать полезные переводы для тех, кто планирует стать основателем стартапа международного уровня. Следите за новостями в телеграм-канале YC l...

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

Бесполезный REPL. Доклад Яндекса REPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также т...

[Из песочницы] Пять интересных способов использования Array.reduce() (и один скучный путь) Привет, Хабр! Представляю вашему вниманию перевод статьи "Five Interesting Ways to Use Array.reduce() (And One Boring Way)" автора Chris Ferdinandi. Из всех современных методов работы с массивами самым сложным из всех, что мне пришлось использовать, был Array.reduce(). На пе...

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

PROMT обновил интерфейс онлайн-переводчика PROMT.One Сервис бесплатного онлайн-перевода компании PROMT получил новый интерфейс веб-версии для более комфортной работы пользователей. Интерфейс переводчика стал более лаконичным и удобным: поля оригинал и перевод объединены ...

[Перевод] Лучшие инструменты с открытым исходным кодом и библиотеки для Deep Learning — ICLR 2020 Experiencebi Сложно найти на Хабре человека, который не слышал бы про нейронные сети. Регулярные новости о свежих достижениях нейронных сетей заставляют удивляться широкую публику, а также привлекают новых энтузиастов и исследователей. Привлеченный поток специалистов способствует не толь...

Удалённое включение скриптов Mikrotik из Telegram v 2.0 Всех с прошедшим праздником. Данная тема является более лучшей версией того, что я писал в далеком 2016 тут. В целом принцип работы не изменился, с той лишь разницей, что теперь он отрабатывает мгновенно без задержек. Закидываем скрипт в Mikrotik, меняем BotID и ChatID на ...

[Перевод] Deep Q Trading: объектно-ориентированный код на R Привет! Это перевод еще одной моей статьи, посвященной обучению с подкреплением (reinforcement learning). Эту итерацию даже предложили запостить в блоге Веды аналитики. :) В двух прошлых статьях на эту тему: 1 и 2 я пробовал создать и запустить обучение с подкреплением д...

Как я делал коронаигру на Corona SDK $google = "We don't allow apps that lack reasonable sensitivity towards or capitalize on a natural disaster, atrocity, conflict, death, or other tragic event"; mysql_query("UPDATE cvirus_users SET winners = winners+19, message='$google' WHERE imea='$imea' &q...

[Перевод] Go глазами Rust-программиста: первые впечатления В преддверии старта курса «Разработчик Golang» подготовили перевод интересного материала. А каким было ваше первое впечатление от Go? На протяжении последних нескольких недель мне довелось использовать Go в работе. Я впервые использовал Go на более-менее крупном и серьезно...

[Из песочницы] DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля Часть 1: Web / Android Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинал...

[Перевод] Preload в php 7.4: Composer и выбор файлов для предзагрузки Мы в Badoo активно занимаемся переходом на PHP 7.4 и с большим энтузиазмом ждём возможности использовать новую функцию preload. Не так давно мы рассказывали о наших экспериментах с ней. Судя по всему, сообщество взбудоражено не меньше, чем мы. Разработчики фреймворков актив...

[Перевод] Букварь по дизайну систем (Часть 1 с дополнениями по микросервисам) Несколько лет назад, для закрытия одного их предметов мне довелось перевести данный букварь. Де-факто этот вариант стал официальным переводом. Но развитию этого перевода мешает, тот факт, что он был написан в Google Drive и закрыт на редактирования. Сегодня я уделил время н...

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

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

[recovery mode] Почему ICQ потерял древнего пользователя после покупки Mail.Ru История о том как я внезапно потерял свой элитный 5* ICQ просто потому-что Mail.Ru выкатили обновление! Пишу сюда по скольку тут сидят представители Mail.Ru Group и возможно они что-то с этой несуразной чепухой в логике работы их клиента ICQ да сделают. Ведь то что попрост...

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

[Из песочницы] Как писать хорошие комментарии к коду: «зачем», а не «как» Привет, Хабр! Представляю вашему вниманию перевод статьи «Writing good comments: the why, not the how» автора Jack Franklin. Комментирование кода в программистской среде нередко считается пустой тратой времени или неким сигналом о том, что код можно и улучшить. Вот цитата...

Бесплатная электронная книга на русском: Blazor для разработчиков ASP.NET Web Forms Привет, Хабр! Как многие знают, мы очень активно развиваем платформу Blazor, клиентскую платформу веб-интерфейса, основанную на C#, а не на JavaScript. С помощью Blazor вы можете писать собственную клиентскую логику и компоненты пользовательского интерфейса на C#, компилиров...

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

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

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

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

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

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

Чеклисты заменяют регламенты? На работе мне приходилось внедрять проектное управление в одной большой и мягкой, в плане управления, компании. Я «ломал» старые и пытался запустить новые бизнес-процессы. Я писал регламенты, заводил людям оценки в мотивационные матрицы. Генеральный директор подписывал пр...

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

[Перевод] Видеозвонки с виртуальным фоном и опенсорсные инструменты Сейчас, когда многие из нас находятся на карантине из-за COVID-19, видеозвонки стали куда более частым явлением, чем раньше. В частности, сервис ZOOM неожиданно стал очень популярным. Вероятно, самой интересной возможностью Zoom является поддержка виртуального фона (Virtual ...

Полку сервисов облачных игр прибыло: оцениваем My.Games Cloud и SberPlay О том, что такое сервисы облачного гейминга, вряд ли стоит рассказывать — на Хабре о них писали много раз, включая меня. С каждым месяцем эти сервисы становятся все популярнее — частично из-за пандемии и режима самоизоляции, частично — потому, что сама концепция удобна и п...

[recovery mode] Украденное резюме, человек, который ушел в Кемерово, призыв кандидата и другие «увлекательные» истории трэш-собеседовани За время работы в IT-рекрутинге у нас накопилось много историй о смешных, нелепых и странных собеседованиях как от разработчиков, так и от HR. Поэтому решили запустить рубрику «Трэш-собеседования», где будем делиться подобным контентом. В этой статье собрали 13 историй: стра...

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

Пишем в PostgreSQL на субсветовой: 1 host, 1 day, 1TB Недавно я рассказал, как с помощью типовых рецептов увеличить производительность SQL-запросов «на чтение» из PostgreSQL-базы. Сегодня же речь пойдет о том, как можно сделать более эффективной запись в БД без использования каких-либо «крутилок» в конфиге — просто правильно ор...

[Перевод] 6 уроков, извлечённых из опыта оптимизации производительности Node.js-сервиса В компании Klarna прилагают большие усилия к тому, чтобы помочь разработчикам в создании высококачественных и безопасных сервисов. Один из инструментов, который предназначен для разработчиков, представляет собой платформу для выполнения A/B-тестов. Важнейшим компонентом этой...

Российская СХД на отечественных процессорах «Эльбрус»: все, что вы хотели, но боялись спросить BITBLAZE Sirius 8022LH Не так давно мы публиковали новость о том, что отечественная компания разработала систему хранения данных на «Эльбрусах» с уровнем локализации >90%. Речь идет об омской компании «Промобит», которой удалось добиться включения своей СХД Bitblaze Siriu...

8 типов людей, которые никогда не приведут своё тело в порядок Найдите себя и перестаньте так делать.

[Перевод] Билл Гейтс: Что вам нужно знать о вакцине от COVID-19 Инженер, бизнесмен и филантроп Билл Гейтс стал объектом атаки сторонников абсурдных теорий заговора, утверждающих, будто он причастен к созданию коронавируса. В своём блоге создатель крупнейшего в мире частного благотворительного фонда размещает аналитические обзоры, делится...

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

Назад в будущее мобильных телефонов II «Единственный шанс исправить настоящее — только в прошлом.» Док Эммет Браун Продолжаю серию путешествий в историю мобильных телефонов. Приятного чтения. Сразу уточню, что выборка основана на тех телефонах, которые у меня есть. Пишите о ваших любимых культовых моделях и я п...

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

[Перевод] История микропроцессора и персонального компьютера: 1947-1974 годы Индустрия персональных компьютеров, какой мы её знаем, обязана своим появлением и развитием среде энтузиастов и предпринимателей, а также счастливому стечению обстоятельств. До возникновения PC бизнес-модель мейнфреймов и миникомпьютеров формировалась вокруг одной компании,...

УдАленка: как в Х5 планировали перейти на дистанционный формат работы А потом действительно перешли Х5 не сегодня задумалась о переводе сотрудников на удаленный формат работы – еще в 2019 году мы проводили пилот, который показал отличные результаты и планировался в «роллаут», ведь удаленка — одна из важных опций и возможностей работы в цифрово...

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

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

[Из песочницы] Вторая часть перевода книги Дэвида Кушнера «Masters of Doom». Главы 6-12 Закончен и выложен на Ваш суд перевод книги Дэвида Кушнера «Masters of DOOM». Как полностью подготовленный для печати вариант, так и исходный код, в случае, если кто-то решит внести свои изменения. Когда брался за перевод — было интересно узнать подлинную историю одной и...

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

Про перевод пары интерес/interest То, что я вляпался в болото, стало понятно часа через 4 после начала раскопок этой пары терминов (и это я еще финансовый смысл не рыл — interest rate) — примеров получилось неожиданно больше, так что извините, будет «много букв». На первый взгляд интерес = interest — полные...

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

[Из песочницы] Пишем на языке С/C++ в Linux под KolibriOS Вступление KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на ассемблере. Это, конечно же, не значит, что на других языках программирования писать для KolibriOS нельзя. Данная статья — инструкция по настройке toolchain'а для Linux. ...

Шпаргалка по JS-методам для работы с DOM Основные источники DOM Living Standart HTML Living Standart Document Object Model (DOM) Level 3 Core Specification DOM Parsing and Serialization Введение JavaScript предоставляет множество методов для работы с Document Object Model или сокращенно DOM (объектной моделью до...

Рецепты PostgreSQL: шаблонизатор mustach Для приготовления шаблонизатора mustach нам понадобится postgres и mustach. Можно также воспользоваться готовым образом. Зачем нужен шаблонизатор в базе? Ну, во-первых, если шаблонизатор в базе, то и сами шаблоны тоже должны быть в базе. А зачем нужно хранить шаблоны в базе...

Задача Танежи или проблема числа 10958… В работе Индера Танежа (Inder J. Taneja) (бразильского математика-популяризатора математики) от 2014 года: Crazy Sequential Representation: Numbers from 0 to 11111 in terms of Increasing and Decreasing Orders of 1 to 9 (Сумасшедшее последовательное представление: числа от 0 ...

[Перевод] Лёгкий способ сделать крохотный USB-хаб для Raspberry Pi Перевод статьи с сайта самодельщика Retrocution Бывало у вас такое, что вам не хватает USB-портов при создании проекта на Raspberry Pi Zero? Притом внешние USB-хабы или HATS не подходили из-за ограничений по размеру? Если да, или если вы просто ищете себе интересный проек...

Async programming in .NET: Best practices Появление async/await в C# привело к пересмотру того, как писать простой и корректный параллельный код. Зачастую, используя асинхронное программирование, программисты не только не решают проблемы, которые были с потоками, но и привносят новые. Дедлоки и рейсы никуда не пропа...

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

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

[Перевод] Интервью с Уиллом Куртом о его новой книге «Байесовская статистика – это здорово» Привет, Хабр! В самом конце года успеваем поделиться с вами новостью о том, что приступаем к работе «Bayesian Statistics the Fun Way» от издательства No Starch Press. Предлагаем перевод развернутого интервью с автором книги; текст касается как самой книги, так и смежных с н...

Какой язык выбрать для работы с данными R или Python? Оба! Мигрируем с pandas на tidyverse и data.table и обратно По запросу R или Python в интернете вы найдёте миллионы статей и километровых обсуждений по теме какой из них лучше, быстрее и удобнее для работы с данными. Но к сожалению особой пользы все эти статьи и споры не несут. Цель этой статьи — сравнить основные приёмы обработки д...

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

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

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

[Из песочницы] Scorched Earth — мама всех игр. Интервью с создателем Привет, Хабр! Представляю вашему вниманию перевод статьи "An interview with the creator of Scorched Earth" автора Wendell T. Hicken. Начальный экран «мамы всех игр». Пустынный пейзаж наводит на мысли о будущих войнах в Заполярье. Привет, читатели Хабра! Меня зовут...

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

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

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

ArangoDB в реальном проекте ArangoDB гибридная (документная и графовая) база данных. К ее положительным сторонам относятся: мощный и удобный язык запросов AQL JOIN (даже более мощный чем в реляционных базах данных) репликация и шардинг ACID (в кластере работает только в платной версии) Из менее сущес...

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

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

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

[Перевод] Неожиданные HTTP-заголовки Пару дней назад я ковырялся в блоге Creditkarma и заметил такой HTTP-заголовок: X-hacker: If you're reading this, you should visit wpvip.com/careers and apply to join the fun, mention this header. (X-hacker: если вы это читаете, то вам следует зайти на wpvip.com/careers и ...

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

[Перевод] Как разобрать URL в JavaScript? Доброго времени суток, друзья! Представляю Вашему вниманию перевод заметки «How to Parse URL in JavaScript: hostname, pathname, query, hash» автора Dmitri Pavlutin. Унифицированный указатель ресурса или, сокращенно, URL — это ссылка на веб-ресурс (веб-страницу, изображ...

gRPC в качестве протокола межсервисного взаимодействия. Доклад Яндекса gRPC — опенсорсный фреймворк для удаленного вызова процедур. В Яндекс.Маркете gRPC используется как более удобная альтернатива REST. Сергей Федосеенков, который руководит службой разработки инструментов для партнеров Маркета, поделился опытом использования gRPC в качестве пр...

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

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

[Перевод] Как прошел 2019 год в области математики и Computer Science Перевод статьи подготовлен специально для студентов базового и продвинутого курсов «Математика для Data Science». Математики и информатики за прошедший год добились больших успехов в теории чисел, теории графов, машинном обучении и квантовых вычислениях, даже пересмотрел...

В VK добавили Callback кнопки для ботов . Доброго времени суток, уважаемые жителя Хабра) Мой первый пост. Будет кратко, емко и надеюсь актуально. 9го июля ВК выкатил callback кнопки для чат-ботов. Телеграм напрягся сделал это в 199... давно. Самая популярная библиотека для разработки чат-ботов под ВК на Python — v...

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

[Перевод] Sherbet: эргономичная игровая клавиатура Перевод статьи из блога самодельщика Billiam Через некоторое время после того, как мою Logitech G13 перестали выпускать, она у меня сломалась, и я решил разработать для неё замену, которую назвал Sherbet. Сначала – что получилось: Клавиатура с джойстиком Файлы для печат...

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

Гарри Поттер и Сливочное пиво, или Как переводить авторские неологизмы с английского на маггловский 20 лет назад впервые вышла на русском языке легендарная книга «Гарри Поттер и философский камень». На полки книжных магазинов попала малоизвестная на русскоговорящем рынке история про «мальчика-который-выжил». Джоан Роулинг придумала в своих книгах огромное количество ав...

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

Пишем блог на микросервисах – часть 3 «User» Во второй части нашего цикла статей «Пишем блог на микросервисах» мы описали «API Gateway». Здесь мы опишем реализацию микросервиса User. Читать дальше →

Личный опыт: как я слез с антидепрессантов Медиаэксперт Александр Амзин поделился на Medium своей историей борьбы с биполярным расстройством. Лайфхакер публикует материал с разрешения автора.

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

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

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

Приключения немецкого обедненного гексафторида урана в России. Часть 1. История и технологии обогащения Уже почти два месяца Гринпис и экологи-активисты ведут кампанию по запрету ввоза в Россию обедненного гексафторида урана (ОГФУ) из Германии. Я уже высказывался об этой истории в самом ее начале: В Россию начали завозить радиоактивные отходы из Европы? Разбираемся. За прошедш...

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

Тёмная сторона дизайн-системы и что с ней делать Привет! Меня зовут Леша Свиридо, я ведущий дизайнер продукта в Альфа-Банке (это мы делаем интернет-банк для бизнеса). В этом посте я поведаю про дизайн-системы. Да, про них пишут так же часто, как про профессиональное выгорание или удаленную работу. Штука, прямо скажем, да...

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

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

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

Бесплатные вебинары Skillbox: пишем игры на PHP, Unity и Unreal Engine Делимся с вами подборкой вебинаров на тему разработки игр. Вы узнаете, как сделать простую консольную игру на PHP, 3D-арканоид на движке Unreal Engine 4, космическую аркаду и AR-приложение на Unity. Заходите под кат – будет интересно. Читать дальше →

Состоялся релиз MMORPG Bless Mobile на iOS и Android Издатель JOYCITY объявил о запуске мобильной MMORPG Bless Mobile в Южной Корее. Отзывы первых игроков достаточно положительные, что редко встречается в случае с играми, которые похожи друг на друга как две капли воды. Bless Mobile — это фэнтезийная MMORPG, основанная на ком...

История системы доменных имен: первые DNS-серверы В прошлый раз мы начали рассказывать историю DNS — вспомнили, с чего стартовал проект, и какие проблемы был призван решить в сети ARPANET. Сегодня поговорим о первом DNS-сервере BIND. Читать дальше →

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

Говорим про тестовые задания: несколько историй и опрос Часть коллег топили: «Да он сеньёр, точно надо брать, вон сколько опыта». Руководство говорило, что он супер мотивирован. А я говорил: «Он крутой актер, который красиво говорит про опыт. А мотивация стухнет, когда не сможет показать результат». И слава богу чудо-сеньор сдела...

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

Зоны в Dart: большой брат следит за тобой Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставля...

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

[Перевод] Изучаем Metaflow за 10 минут Metaflow — это Python-фреймворк, созданный в Netflix и ориентированный на сферу Data Science. А именно, он предназначен для создания проектов, направленных на работу с данными, и для управления такими проектами. Недавно компания перевела его в разряд опенсорсных. Фреймворк M...

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

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

[Перевод] Как Django может обрабатывать 100 миллионов запросов в день Сегодня я буду писать о Django — фреймворке, который верно служит мне на протяжении последних пяти лет. Он помог мне преуспеть в разработке высоконагруженных решений, используемых сегодня миллионами пользователей. Действительно, Python не очень «быстрый» язык программировани...

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

Mos.ru публикует редкие кадры со съемок фильмов Эльдара Рязанова Городской портал mos.ru собрал коллекцию редких фотографий, сделанных во время съемок фильмов Эльдара Рязанова. Архивные кадры рассказывают о режиссере и его любимых актерах, об истории кинематографа и временах советского союза. На фотографиях, снятых во время полнометражног...

[Перевод] Vulkan-tutorial. Урок 1.1 — Вступление В связи с тем, что у меня не так много времени для ресерча каких-то новых штук и написания статей о них, я решил перевести серию уроков по Vulkan. Надеюсь, что мои переводы будут кому-то полезны и не очень плохого качества. Для начала обучения — прошу под кат. Автор ориги...

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

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

Author.today — пираты под флагом копирайта? Так получилось, что у меня хобби - перевод текстов. И когда-то давным-давно я попал в команду перевода “Червя” - веб-сериала о мире, где люди обрели суперсилы, но остались людьми. Подробнее об этой работе вы можете узнать в этой  статье на хабре. У нас сформировалась ко...

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

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

[Перевод] Эмуляция компьютера: интерпретатор CHIP-8 и формирование изображений Недавно мы опубликовали перевод первого материала из серии статей, посвящённой эмуляции компьютера. Автор этих статей подробно рассказывает о написании интерпретатора CHIP-8 на C++. В той публикации мы устроили опрос о целесообразности перевода продолжения цикла. Почти 94% т...

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

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

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

Zephyr в embedded: опыт использования на STM32F7-Discovery История о моем опыте использования операционной системы реального времени (ОСРВ) Zephyr для устройства на базе микроконтроллера STM32F7-Discovery. В статье: Что такое Zephyr и при чем тут Linux? Запуск проекта на STM32. Интересные моменты по работе с драйверами. Фишки этой...

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

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

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

Закладки — есть ли предел? Всем привет! Не секрет, что скорость работы браузера очень часто является критическим параметром при выборе пользователей. При этом скорость эта напрямую зависит от объёма данных, обрабатываемых браузером. В частности — сейчас речь идёт о закладках. Это удобный инструмент...

Сколько нужно публиковать роликов на свой Ютуб-канал На самом не так много. Оптимальное количество ролико — один в сутки, но если вы публикуете 2 ролика в сутки, это очень хорошо. Больше двух?! НЕЛЬЗЯ. Просто потому что тогда первые 2 ролика не будут вами восприниматься серьёзно.  Это как выпуск нового кассового фильма в...

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

[Перевод] Представляем PyCaret: открытую low-code библиотеку машинного обучения на Python Всем привет. В преддверии старта курса «Нейронные сети на Python» подготовили для вас перевод еще одного интересного материала. Рады представить вам PyCaret – библиотеку машинного обучения с открытым исходным кодом на Python для обучения и развертывания моделей с учителем...

В ядро Linux 5.6 включили VPN WireGuard Сегодня Линус перенёс к себе ветку net-next с VPN-интерфейсами WireGuard. Об этом событии сообщили в списке рассылки WireGuard. В данный момент продолжается сбор кода для нового ядра Linux 5.6. WireGuard — быстрый VPN нового поколения, в котором реализована современная кр...

Гипервизор на стероидах: FreeBSD + ZFS + cbsd В этой инструкции я хочу пролить свет на то, насколько просто и элегантно возможно устанавливать FreeBSD в серверном окружении — на арендованном железе или в собственном датацентре, вручную или средствами оркестрации вроде Ansible. Шифрование дисков, удобное управление прост...

СМИ: французский банк заблокировал денежные переводы на Coinbase Французская международная банковская группа BNP Paribas не позволяет клиентам отправлять средства на биржу Coinbase. Об этом пишет Cointelegraph. Блокировка транзакций началась на этой неделе, сообщает анонимный источник со ссылкой на отдел обслуживания клиентов банка. При э...

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

Отсутствие конкуренции на аукционах MakerDAO привело к образованию долга в $4 млн MakerDAO, ведущая платформа в растущем секторе децентрализованных финансов (DeFI), призвала сообщество к голосованию перед первым в истории аукционом долгов проекта. Голосование должно привести к внедрению модификаций, ставших необходимыми после падения криптовалютного рынка...

Kinda Heroes — devstory милой RPG с чибиками Привет! Имея за плечами довольно серьезный опыт разработки игр и приложений, я долгое время боялся браться за RPG. Я имею ввиду полноценную ролевую игру, а не казуальный кликер или айдлер (idle). Итак, я поделюсь с вами историей о том, как по-быстрому за 1 месяц сделать свою...

[recovery mode] $mol_func_sandbox: взломай меня, если сможешь!. Здравствуйте, меня зовут Дмитрий Карловский и я… хочу сыграть с вами в игру. Правила её очень просты, но их нарушение… приведёт вас к победе. Почувствуйте себя в роли хакера выбирающегося из JavaScript песочницы с целью прочитать куки, намайнить биткоины, сделать дефейс или ...

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

[Перевод] 5 инструментов геймдизайнера, которые помогут вашей игре Видеоигры существуют более 50 лет. За это время технологии скакнули от текстовой The Oregon Trail до фотореалистичной Red Dead Redemption 2. Не говоря уже о VR-тайтлах вроде Half-Life: Alyx, которая выходит в конце марта. И все же, игровая индустрии еще очень молодая. Пос...

Redis Best Practices, часть 2 Вторая часть цикла переводов «Redis Best Practices» от Redis Labs, и в ней рассмотрены паттерны взаимодействия и паттерны хранения данных. Читать дальше →

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

Пишем бизнес-процесс в Битрикс24 с задатком на будущее На работе я занимаюсь поддержкой пользователей и обслуживанием коробочной версии CRM Битрикс24, в том числе и написанием бизнес-процессов. Нужно отметить, что на самом деле я не «чисто» специалист по Битриксу, а это одна из моих обязанностей. На самом деле обязанностей у мен...

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

Масштабирование андроид-тестирования в Одноклассниках Привет! Меня зовут Роман Иваницкий, я работаю в команде автоматизации тестирования Одноклассников. OK — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. П...

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

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

В 2D-материале нашли симметрию сверхпроводимости второго порядка Физики провели анализ свойств двумерного диселенида ниобия и выяснили, что симметрия его сверхпроводимости в таком состоянии имеет второй порядок, хотя у объемного материала наблюдается третий порядок. Источник

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

Код игры Command & Conquer: баги из 90-х. Том первый Американская компания Electronic Arts Inc (EA) выложила в открытый доступ исходный код игр Command & Conquer: Tiberian Dawn и Command & Conquer: Red Alert. Этот код должен помочь игровым сообществам разрабатывать моды и карты, создавать пользовательские юниты и наст...

Как принять участие в бета-тестировании EMUI 10.1 Huawei набирает бета-тестеров для обкатки прошивок на базе EMUI 10.1 для своих устройств. Рассказываем, как вступить в рядя тестировщиков, если хочется попробовать новую оболочку раньше остальных. Список устройств, которые должны подучить EMUI 10.1 Мы публиковали ранее зде...

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

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

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

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

Как мы делали мобильный банк для «Авроры»: особенности разработки для отечественной мобильной ОС Недавно мы закончили разработку приложения для мобильного интернет-банкинга под ОС «Аврора» — единственную российскую мобильную операционную систему. Всего за пару месяцев мы создали приложение, которое дает доступ ко всем основным услугам банка ВТБ. Через приложение можно о...

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

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

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

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

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

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

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

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

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

PostgreSQL Antipatterns: вычисление условий в SQL SQL — это не C++, и не JavaScript. Поэтому вычисление логических выражений происходит иначе, и вот это — совсем не одно и то же: WHERE fncondX() AND fncondY()= fncondX() && fncondY() В процессе оптимизации плана исполнения запроса PostgreSQL может произвольным образо...

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

Когда и как автомобили становились безопаснее День автомобилиста только через пару месяцев, но я все же рискну. Нашла на YouTube ролик с громким обещанием «75 минут — и ты будешь пристегиваться». Пристегивалась я и так, а ролик оказался интересным, про историю инженерной мысли, но на целый 1 час 15 минут. Времени у ...

Создать мощный курс Machine Learning: миссия выполнена У нас было 2 неудачных запуска, 169 студентов, 8 сердитых отзывов, 3 смены названий, слишком много теории и мало реальной практики. Не то чтобы это было полным провалом, но если начал обучать Data Science, надо сделать это идеально. Сегодня вы услышите историю о том, как м...

2 года в IT, что происходит со джуном веб-разработчиком Зачастую статьи личного опыта имеют три категории от двух типов людей: история успеха / провала от новичков; крутые статьи про сложные штуки от крутых ребят; истории про разочарование от тех же крутых ребят (но это не точно *). Гораздо реже можно встретить истории разрабо...

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

[Из песочницы] Цикл уроков по SDL 2.0: урок 5 — нарезка листа спрайтов От переводчика: Это продолжение серии переводов туториалов от Twinklebear, в оригинале доступных тут. Перевод отчасти вольный и может содержать незначительные поправки или дополнения от переводчика. Перевод первых двух уроков — за авторством InvalidPointer, а третьего и чет...

Как защитить удаленных сотрудников, или Безопасность в режиме home office Эпидемия коронавируса заставляет компании и органы госвласти массово поступаться своими принципами безопасности, выходить из защищенных периметров и переводить пользователей на удаленный режим работы. Уже много статей написано на тему того, как сделать доступ защищенным и ...

[Перевод] История интернета: Эра фрагментации; часть 2: засев пустоши Другие статьи цикла: История реле Метод «быстрой передачи сведений», или Зарождение реле Дальнописец Гальванизм Предприниматели А вот, наконец, и реле Говорящий телеграф Просто соединить Забытое поколение релейных компьют...

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

[Из песочницы] Поиск работы в Германии продакт менеджером и не только. Часть 1/5. Почему Германия? Виза для поиска работы Всем привет, меня зовут Тимофей. Мне 43 года, последние 20 из которых я провел в IT — сначала разработчиком, а затем менеджером проектов и бизнес девелопером. Всю жизнь прожил в Новосибирске, но в прошлом году решился на эмиграцию, в качестве страны назначения выбрав Германи...

[Перевод] Redis Best Practices, часть 3 Заключительный перевод разделов Redis Best Practices с официального сайта «Redis Labs». Самое необычное и интересное сегодня под катом! Читать дальше →

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

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

Мы работаем во тьме: кодинг «глазами» незрячих программистов We work in the dark — we do what we can — we give what we have. Our doubt is our passion and our passion is our task. The rest is the madness of art. Henry James, «The Middle Years» Согласно статистическим данным ВОЗ, в той или иной степени нарушениями ближнего или дальне...

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

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

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

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

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

Особо точная калибровка экструдера Последовательность действий калибровки экструдера описана уже много раз, правильные и нет.Я лишь приведу моё видение правильной калибровки, но в виде адаптированного перевода с английского, странички Триффида Хантера - руководство по калибровке.Этап 1, грубая калибровка1. Чт...

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

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

Веб тренды 2020 которые стоит попробовать Последние несколько лет мы наблюдаем множество изменений в мире веб технологий. В 2020 году, я хочу обратить ваше внимание на два основных тренда/цели которые есть у веб комьюнити: расширяемость и совместимость. Расширяемость (Extensibility) Расширяемость это когда вы может...

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

[Из песочницы] Что такое NFC и как он работает. Освежим основы? Здравствуйте, пользователи Хабра! Я представляю вашему вниманию перевод статьи «What is NFC and how does it work» под авторством Robert Triggs. Вроде, казалось бы, зачем автору оригинала писать на эту тему в 2019-м, а мне переводить на пороге 2020? Сегодня NFC обрело свою ре...

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

Google возобновил работу функции записей в My Business В последние две недели специалисты по локальному SEO наблюдали проблемы в работе функции Google Posts, которая позволяет публиковать записи в профиле компании в поиске. 31 марта работа этой функции была возобновлена. В связи с чем Google Posts были временно отключены, в комп...

Что на самом деле значит наезд Rambler Group на Nginx и к чему готовиться онлайн-индустрии В посте «Что значит наезд Rambler Group на Nginx и основателей и как это отразится на онлайн-индустрии» deniskin привёл четыре возможных последствия этой истории для российской интернет-индустрии: Ухудшение инвестиционной привлекательности стартапов из России. Стартапы бу...

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

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

Цифровизация нужна для работы с клиентами – «Деловые Линии» Об этом заявил гендиректор «Деловых Линий» Фарид Мадани, пишет ТАСС. Топ-менеджер группы компаний убежден, что цифровизация процессов дает «возможность предоставлять услугу высокого качества по привлекательной цене и делать выверенные персонализированные предложения». О...

[Из песочницы] Кластер из двух узлов – дьявол в деталях Привет, Хабр! Представляю вашему вниманию перевод статьи «Two Nodes — The Devil is in the Details» автора Andrew Beekhof. Многие люди предпочитают кластеры состоящие из двух узлов, потому что они кажутся концептуально более простыми, кроме того еще и на 33% более дешевыми ч...

[Перевод] Цикл уроков по SDL 2.0: урок 6 — Загружаем шрифты с помощью SDL_ttf От переводчика: Это продолжение серии переводов туториалов от Twinklebear, в оригинале доступных тут. Перевод отчасти вольный и может содержать незначительные поправки или дополнения от переводчика. Перевод первых двух уроков — за авторством InvalidPointer, а третьего и че...

Сериал «For All Mankind»: от альтернативной истории к трешу Серьезная альтернативная история (а не «спецназовец Вася попал в палеолит и построил светлое будущее») хороша тем, что дает более широкую картину и позволяет понять, почему произошло именно то, что было в реальности, какие события были закономерны, а какие обязаны удаче или ...

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

Apple продлила сроки адаптации приложений под iOS 13 Разработчики смогут привести в порядок свои приложения до 30 июня

[Перевод] Моржовый оператор в Python Моржовый (walrus) оператор, появившийся в Python 3.8, дает возможность решить сразу две задачи: присвоить значение переменной и вернуть это значение, поэтому порой можно написать код короче и сделать его более читаемым, и он может быть даже более эффективным с точки зрения в...

Как я не стал продакт-менеджером после обучения в Product Univercity Морейниса и Черника Всем привет. Решил написать свою первую статью на VC, но главреда меня забанил, потому что я попросил поставить плюсики друзей, а перед этим три раза дешёвая рабочая сила снимала мою публикацию по каким-то неведомым причинам, и описать свой опыт поиска работы продакт-менедж...

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

Введение в IDAPython На русском языке (и на Хабре, в частности) не так много статей по работе с IDAPython, попытаемся восполнить этот пробел. Для кого. Для тех, кто уже умеет работать в IDA Pro, но ни разу не писал скрипты на IDAPython. Если вы уже имеете опыт написания скриптов под IDAPython, ...

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

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

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

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

История о птице Додо из рода Фениксов. Великое падение Dodo IS Каждый год 21 апреля мы вспоминаем историю Великого падения Dodo IS в 2018 году. Прошлое – жестокий, но справедливый учитель. Стоит помнить о нём, повторять уроки, передавать новым поколениям накопленные знания и с благодарностью относиться к тому, кем мы стали. Под катом мы...

Представляем Kubernetes CCM (Cloud Controller Manager) для Яндекс.Облака В продолжение к недавнему релизу CSI-драйвера для Яндекс.Облака мы публикуем ещё один Open Source-проект для этого облака — Cloud Controller Manager. CCM необходим не только для кластера в целом, но и собственно CSI-драйвера. Подробности о его предназначении и некоторые ос...

[Из песочницы] Странный космический объект Оумуамуа может быть осколком мёртвой планеты Вольный перевод (с небольшими добавлениями) очень хорошей статьи статьи за авторством Nadia Drake. Возможно, вы уже слышали про астероид Оумуамуа (1I/2017 U1), который называли то инопланетным кораблём, то космической «щепкой». С того момента, как только он впервые показа...

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

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

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

Делимся самым большим в РФ пластом данных по онлайн-обучению с проектами по лингвистике, персонализации, педдизайну, ML Перед Новым годом команда Михаила Sverdlove Свердлова объявила, что готова делиться обезличенными данными уроков Skyeng с внешними исследователями и стартапами. Вскоре после праздников мы поговорили с Мишей, о каких именно данных идет речь, что уже с ними делают и почему пол...

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

Скоро PGConf.Russia 2020 PGConf.Russia 2020 в этом году, как и в прошлом, пройдет в начале февраля, а именно – 3 февраля – мастер-классы, 4го и 5го – доклады. Это первый раз, когда нам не пришлось отодвигать дедлайн по приему заявок на доклады — то ли люди стали более самоорганизованными, то ли появ...

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

Подборка ближайших бесплатных мероприятий для разработчиков в Москве #3 (16-24 декабря) Публикую еженедельный дайджест по бесплатным мероприятиям для разработчиков в Москве. Видеоматериалы по всем прошедшим декабрьским встречам здесь. Читать дальше →

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

Управление ценовыми скидками: модели для количественного измерения эффекта на примере АЗС Мы продолжаем публиковать доклады, прозвучавшие на RAIF 2019 (Russian Artificial Intelligence Forum). На этот раз своим опытом делится Вадим Аббакумов, кандидат физико-математических наук, главный эксперт-аналитик «Газпромнефть-Альтернативное топливо». Передаем ему слово: ...

Всем миром против коронавируса. Истории Intel Работа над вакцинами и лекарствами против коронавируса идет полным ходом, однако ученым приходится решать множество проблем. По данным CNN, на этапе разработки находится более 20 лекарственных средств, однако нужно еще не менее года, чтобы доказать их эффективность и получит...

[Перевод - recovery mode ] Убрать лишнее [очищаем график от ненужного] Искусство сокращения для аналитика данных. В этой статье минимум слов, ведь важно попрактиковаться в искусстве упрощения. Удаление ненужного — критически важно для эффективной работы с данными. Как сказал Антуан де Сент-Экзюпери: «Ты осознаешь, что достиг совершенства не т...

[Перевод] Введение в графовые базы данных SQL Server 2017 В преддверии старта курса «MS SQL Server Developer» подготовили для вас еще один полезный перевод. Графовые базы данных — это важная технология для специалистов по базам данных. Я стараюсь следить за инновациями и новыми технологиями в этой области и, после работы с реляци...

ReactJS, Server Side rendering и некоторые тонкости обработки метатегов страницы Одной из проблем, которую придется решать при написании Server Side rendering приложения — это работа с метатегами, которые должны быть у каждой страницы, которые помогают при индексации их поисковыми системами. Начиная гуглить, первое решение, к которому приведут скорее вс...

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

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

Скрытая активация камеры браузерами: Большой Брат или технологический просчёт? Всем привет! Меня зовут Вадим, и я один из технических консультантов и, по совместительству, системный администратор "РосКомСвободы". Но данный пост будет не обо мне. Он будет историей о подозрительной (с точки зрения приватности в контексте мобильных телефонов) ситуации, с...

Ортолинейная сплит клавиатура — это что такое? Обзор Iris Keyboard За сто с лишним лет клавиатуры сильно изменились внешне: стали лёгкими, тонкими, есть даже проекционные со сканером. Но рынок ничего не меняет в их раскладке («QWERTY» появилась в 1890 году), клавиатуры не стали удобней для пальцев, не адаптированы для положения кистей и пре...

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

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

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

[Из песочницы] Большой туториал по обработке спортивных данных на python Последние пару лет в свободное время занимаюсь триатлоном. Этот вид спорта очень популярен во многих странах мира, в особенности в США, Австралии и Европе. В настоящее время набирает стремительную популярность в России и странах СНГ. Речь идет о вовлечении любителей, не пр...

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

Задача №2. Определение популяционной структуры Мы продолжаем цикл задач, где рассказыаем, как работать с генетическими данными. Первую задачу «Узнайте пол и степень родства» уже можно решить и прислать нам ответы. Сегодня публикуем вторую. Главный приз — Полный геном. Читать дальше →

Хабр Викли #37 / Можно ли писать музыку «на коленке», каков идеальный начальник, коронавирус vs ИИ, тяга к звездам Поговорили о низком пороге входа в творческие профессии и Билли Айлиш, о том как должен строить работу начальник, чтобы от него не уходили. И про коронавирус тоже (простите!). А под конец — о том, как Макука Нколосо мечтал о космосе. Если вам есть, что добавить, или хотите ...

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

155 вопросов по JavaScript Доброго времени суток, друзья! Продолжаю работать над вопросами по JavaScript в форме викторины, о чем ранее писал здесь. Адаптировал приложение под мобильники, поправил стили, добавил сервис-воркер, мета-теги, линки и манифест, также немного поколдовал с серверной частью...

[Перевод] Браузеру Firefox – 15 лет: взлёт, падение и ренессанс с упором на конфиденциальность Браузер от Mozilla дебютировал 9 ноября 2004 года, и стал феноменом перед тем, как уступить Chrome. Теперь он упирает на конфиденциальность пользователей и автономность. Велика вероятность того, что вы читаете эту статью в браузере Chrome от Google, занимающем 65% мирового...

Microsoft Edge теперь поддерживает перевод на другие языки в иммерсивном средстве чтения На прошлой неделе Microsoft объявила о добавлении поддержки перевода текста на другие языки в иммерсивном средстве чтения в Microsoft Edge на каналах Canary и Dev, и с сегодняшнего дня эта функция доступна для всех пользователей браузера. Иммерсивное средство чтения позволя...

Windows Native Applications и сервис Acronis Active Restore Сегодня продолжаем рассказ о том, как мы вместе с ребятами из Университета Иннополис разрабатываем технологию Active Restore, чтобы позволить пользователю как можно раньше начать работу на своей машине после сбоя. Речь пойдет о нативных приложениях Windows, включая особеннос...

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

[Перевод] Пол Грэм: Как писать полезное (на Хабр) (часть 1) Каким должно быть эссе? Многие сказали бы — убедительным. Так нас учили… Но я думаю, что мы можем стремиться к чему-то более амбициозному: эссе должно быть полезным. Прежде всего эссе должно быть корректным. Но недостаточно просто быть корректным. Легко сделать...

Игра слов не для ослов: как переводить и понимать каламбуры на английском Перевод каламбуров — личный ад для каждого переводчика. Сложнее переводить только стихи. Вот только огромная часть английского юмора строится именно на каламбурах. Если просто убрать их — сериалы и фильмы станут скучными и неинтересными. К примеру, мультсериал «Гриффин...

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

Дорогой дневник. Запись 2. Доброго времени суток. Таки опять не спится. Посему запишем  в дневник несколько строк.1) Прочность крепления выступающих частей, подвергающихся нагрузке. Назовем это так. По факту это детская закрывашка на дверь шкафа. Заводской вариант не выдержал карантинных нагрузок =)  ...

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

Артемий Рябинков (Avito): Graceful Shutdown в Go-сервисах и как подружить его с Kubernetes Выступление на Go 1.10 Release Party @ Badoo Артемий рассказал про подходы к безопасному завершению работы многопоточных программ на Go, в частности о том, как контролировать горутины и управлять ими. Объяснил, почему во время выкатки сервисов в Kubernetes пользователям м...

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

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

[Перевод] Какую кибердеку я бы хотел сделать для себя Перевод статьи из блога AbcLinuxu В 2016 году я создал сабреддит /r/cyberDeck. Отчасти потому, что меня вдохновила статья о создании кибердеки, а отчасти из-за нескольких обсуждений в IRC, в которых я принимал участие, и поскольку мне кажется, что эта идея – нечто большее, ...

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

#08 — И целого байта мало… | Голосуем на Revision Мероприятие закончилось! Все работы на Revision Online 2020 показаны. Идет голосование. Вы вполне можете принять участие в выборе лучших работ Revision если у вас есть свободные 20 EUR на аккаунте PayPal. Инструкция по регистрации есть в нашем прошлом посте. Голосование оче...

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

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

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

MikroTik: L2VPN = EoIP + WireGuard (часть 1) Как позиционируют WireGuard это быстрый VPN нового поколения, в котором реализована современная криптография. Он изначально разрабатывался как более простая и удобная альтернатива существующим VPN. Ну что, давайте протестируем данный протокол на примере Mikrotik. Возьмем вер...

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

Анонс. Как научиться проходить собеседование в Google Завтра, в 20:00 на нашем ютуб-канале выступает Ава Катушка, ментор в Verbetcetera. Verbetcetera — буткамп для тех, кто хочет подготовиться к интервью в Большой пятерке — Google, Amazon, Facebook, Apple и Microsoft. Менторы Verbetcetera распределены по 5 странам, уже работа...

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

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

Тест и обзор 4К-телевизора Toshiba 50U5069: топ-оснащение в тонкой рамке Новинка от Toshiba продемонстрировала отличное качество изображения при очень невысокой цене. Чем интересна эта модель в плане начинки и насколько она удобна в использовании? Обо всем по порядку — в нашем обзоре.

Перевод ключевых слов на сайте: что может пойти не так Трудности SEO-перевода в колонке Юлии Венцковской из бюро переводов MK:translations.

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

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

Учим AI Dungeon говорить по-русски Недавно ребята из сбер(-банка) анонсировали и выложили в свободный доступ свою модель gpt-3 и я понял, что можно наконец то реализовать свою давнюю мечту - сделать AI dungeon для русского языка. Данная игра сильно выстрелила в прошлом году, про нее было написано множество ст...

AdSense анонсировал важные изменения в работе Панели издателя Google AdSense анонсировал важные изменения в работе Chrome-расширения Панель издателя. В 2020 году Google планирует сделать работу с AdSense удобнее и предоставить владельцам сайтов улучшенные и простые в использовании инструменты. В связи с этим начиная с мая 2020 года рас...

Более мощный конкурент Raspberry Pi 3 стоит всего $10 Одноплатных компьютеров, хороших и разных, становится все больше. Недавно мы писали о сетевой альтернативе Raspberry Pi, а сейчас появился еще более интересный вариант. Речь пойдет об Iconikal Rockchip 3328. Он более современный, чем Raspberry Pi 3, с ним поставляется сра...

[Перевод] 3 полезных Python-инструмента для упрощения работы с кодом Любой разработчик использует те или иные вспомогательные инструменты. Какие-то из них позволяют ускорить процесс, какие-то — избавиться от ошибок, сделать код более понятным. Такие инструменты есть практически в любой сфере разработки. Престон Бадир (Preston Badeer), Pyth...

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

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

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптими...

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

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

Российский планшет MIG T10 за 107 тысяч рублей нашли на Aliexpress за 44 тысячи – новые подробности и интервью производителя Разбираемся в запутанной истории с отечественным планшетом

Насколько важен порядок свойств в объектах JavaScript? В случае JavaScript-движка V8 — очень даже. В этой статье я привожу результаты своего маленького исследования эффективности одной из внутренних оптимизаций V8. Читать дальше →

Записи докладов ок.tech: Frontend Meetup #2 26 ноября в петербургском офисе Одноклассников состоялся ок.tech: Frontend Meetup #2. Вместе с коллегами из Одноклассников, ВКонтакте и Hazelcast поговорили про новый фронтенд OK.RU, сделанный на связке React + Graal, обсудили может ли “Lifting State Up” – один из двенадца...

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

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

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

Программа Файлы на Phone и iPad. Инструкция часть 1 Стандартное приложение «Файлы» уже давно появилось на iPhone и iPad, но долгое время было мало понятным и бесполезным. В iOS 13 и iPadOS 13 его кардинально обновили, улучшили и сделали удобным в использовании. Теперь программа Файлы — удобное место для просмо...

Интервью из мира хостинга: Boodet.online Меня зовут Леонид, я — разработчик сайта Поиск VPS, поэтому в силу своей деятельности интересуюсь историями становления и развития различных компаний из сферы хостинговых услуг. Сегодня хочу представить интервью с Данилом и Дмитрием — создателями хостинга Boodet.online. Они ...

[Перевод] 32 совета веб-разработчику, который хочет вырасти над собой в 2020 году Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular...

В НБУ заявили, что для перевода средств ФОП на личный счет все же необходимы документы об уплате налога/отсутствии задолженности или формальный реквизит в назначении платежа За последнюю неделю мы трижды писали о запрете НБУ тратить деньги с текущих ФОП-счетов на личные потребности. Однако даже после разъяснений НБУ данной процедуры и последующего опровержения банками необходимости предоставления дополнительных документов, у предпрнимателей оста...

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

[Из песочницы] ConfigureAwait: часто задаваемые вопросы Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб. Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках...

[Перевод] Советы и хитрости IntelliJ IDEA: 4. Синхронизация и обмен настройками Знаете ли вы, что IDEA предлагает два способа синхронизации ваших настроек между несколькими экземплярами вашей IDE? Вы можете использовать его при работе на нескольких компьютерах или для совместного использования унифицированных настроек в вашей команде. Этот перевод прод...

[Перевод] Создание микросервиса на Quarkus, Kotlin и Gradle Введение В предыдущей статье было приведено краткое описание процесса создания микросервиса на современных JVM фреймворках, а также их сравнение. В этой статье будет более детально рассмотрен недавно вышедший Quarkus на примере создания микросервиса с использованием упомяну...

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

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

Google Play Store версии 18.6.33 уже доступен для загрузки. Что там нового? Google Play Store в очередной раз обновился. Сегодня доступна для скачивания версия 18.6.33 от 31 января 2020 года. Для этого билда разработчики с XDA нашли интересные изменения, которые перестроят логику работы с играми и приложениями, которые требовали предварительной ре...

[Перевод] Как Java 8 поддерживается в Android Привет, Хабр! Предлагаю вашему вниманию перевод замечательной статьи из цикла статей небезызвестного Джейка Вортона о том, как происходит поддержка Андроидом Java 8. Оригинал статьи лежит тут Читать дальше →

[Перевод] Взлом Wi-Fi-сетей, защищённых WPA и WPA2 Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2. Статья написана исключительно в ознакомительных целях Читать дальше →

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

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

Итоги: 9 главных технологических прорывов 2019 года На связи Александр Чистяков, я евангелист vdsina.ru и расскажу про 9 лучших технологических событий 2019 года. В оценке я больше полагался на свой вкус, чем на мнение экспертов. Поэтому в этот список, например, не вошли беспилотные автомобили, потому что ничего принципиальн...

Роскосмосу пригодился бы аналог программы Spinoff Один из ответов на вопрос «зачем нам космонавтика» заключается в том, что технологии, разрабатываемые для космической отрасли, находят применение на земле. CMOS-сенсоры, более долговечные автомобильные шины или одеяла для МЧС используют технологии, изначально созданные для к...

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

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

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

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

[Перевод] Алгоритм AdaBoost Перевод статьи подготовлен в преддверии старта продвинутого курса «Математика для Data Scienсe». Введение Алгоритм AdaBoost можно использовать для повышения производительности любого алгоритма машинного обучения. Машинное обучение стало мощным инструментом, позволяющим д...

BIA Technologies запустила пакет «BIA: карантин» для удаленных сотрудников BIA Technologies разработала пакет услуг по переводу на удаленную работу большого количества сотрудников — «BIA: карантин». В основу пакета услуг лег опыт компании по организации экстренного перевода 15 тысяч офисных сотрудников Заказчиков на удаленный режим работы.

[Перевод] Установка и настройка AlienVault SIEM (OSSIM) Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». OSSIM (Open Source Security Information Management) — это проект с открытым исходным кодом от Alienvault, который обеспечивает функционал SIEM (Security information and event management). Он обе...

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

Обзор докладов C++ Russia Piter 2019 В совместной магистратуре ИТМО и JetBrains мы просим студентов, которые отправляются на конференцию, написать отчёт с обзором докладов. Публикуем один из таких отчётов о конференции C++ Russia Piter 2019. Автор — студент 2 курса магистратуры Артём Хорошев. Читать дальше →

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

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

Оцениваем опционы на Clojure методом Монте-Карло Привет! Меня зовут Рома, я работаю iOS-разработчиком в Exness. А кроме того, пишу на Clojure и инвестирую. Сегодня я расскажу о том, как оценивать опционы. Это вводная статья и заработать миллион, используя предложенный способ, вряд ли получится. Тем не менее, это хорошая ос...

Мониторинг в ЦОДе: как мы меняли старую BMS на новую. Часть 3 Мы продолжаем наш рассказ о том, как мы меняли BMS-систему в наших ЦОДах (часть 1, часть 2).  При этом мы не просто поменяли решение одного вендора на другого, а разработали систему с нуля под свои требования. В заключение нашей истории делимся итогами проделанной работы и и...

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

[Перевод] Как я модернизировал свою Flash-игру В этом посте я расскажу о том, как перенёс свою Flash-игру Frog Fractions на современную платформу. В результате я создал частично автоматизированный порт на Unity при помощи Haxe. Пост будет интересен всем, кто пытается модернизировать свою кодовую базу на Flash. В посте б...

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

WhatsApp перестанет работать на этих устройствах 1 февраля После недавнего прощания с Windows Phone мессенджер WhatsApp также прекратит поддержку мобильных устройств, которые работают под управлением iOS 7 и Android 2.3.7, а также более старых версий этих ОС. Изменения вступят в силу 1 февраля 2020. Как было в случае с Windows ...

Список смартфонов, которые получат MIUI 12 в первой волне. 23 модели MIUI 12 для смартфонов Xiaomi обещает быть куда более интересной, да и полезной, чем спорная MIUI 11, которую многие сочли даже слегка диверсионной, потому что отметили, что обновление сократило время автономной работы ряда устройств. о том, что разработчики планируют внед...

[Перевод] Как работает гистограмма Prometheus? Перевод статьи подготовлен в преддверии старта курса «Мониторинг и логирование: Zabbix, Prometheus, ELK». Ранее мы рассматривали счетчик (counter), измеритель (gauge) и сводку (summary). Теперь же давайте поговорим о том, как работает гистограмма (histogram) в Prometheus....

[Перевод] Полигоны Another World: Sega Genesis Перевод пятой статьи из серии от Fabien Sanglard, в этот раз про порт Another World на Sega Genesis. Разработка MegaDrive/Genesis началась сразу после того, как Sega выпустила свою Master System ​​в 1987 году. В то время целью Sega было создание чего-то, что превосходит PC E...

IKEA запустила фотосериал о жизни плюшевой акулы «Блохэй» Компания публикует в своём аккаунте в Instagram фотографии, сделанные покупателями.

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

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

Новый сверхлёгкий и гибкий солнечный элемент сможет поддерживать питание носимой электроники Умные наручные часы, питаемые энергией Солнца, могут стать более практичными в ближайшие годы. Исследователи из университета Монаша разработали гибкий солнечный элемент, который может идеально подходить для будущих носимых устройств. Он в 10 раз тоньше (0,3 микрометра) челов...

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

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

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

[Перевод] Учёный Хэ Цзянькуй – герой, а не преступник Когда я увидел новость о том, что Хэ Цзянькуй и его коллеги были приговорены к трём годам тюремного заключения за первые эксперименты по изменению генов и имплантации человеческого эмбриона, всё, что я мог подумать, было: «Как мы оглянемся на его поступок через 100 лет?» ...

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

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

[Из песочницы] Внесите эти изменения, чтобы соответствовать стандартам доступности веб-дизайна Привет, Хабр! Предлагаю Вашему вниманию перевод статьи «Make These Changes to Meet Web Design Accessibility Standards» автора Richard Pilton Что такое доступность? Доступность (всё чаще мы её так и называем Accessibility) — это дизайн продуктов, устройств или услуг, которые...

Тестирование виртуальных серверов от DigitalOcean, Vultr, Linode и Hetzner. Человеческие жертвы: 0.0 В одной из предыдущих статей я привел результаты тестирования дешевых виртуальных серверов от различных хостеров рунета. Спасибо всем комментаторам и людям, писавшим в личные сообщения, за обратную связь. В этот раз я хочу представить результаты тестирования виртуальных сер...

[Перевод] Стилизация старого доброго элемента button Кнопка — это один из тех элементов, которые чаще всего используются на веб-страницах. Тег <button></button> может быть применён для запуска некоего процесса вроде вывода данных, открытия модального окна, отправки формы и так далее. В материале, перевод которого м...

Решил 50 задач и ответил на вопрос — Python или JavaScript? Привет, друзья! Я — JavaScript-разработчик. Код пишу в основном на React (иногда на Vue), немного на TypeScript, немного на Node, немного знаю SQL, но... со мной работает много людей, которые пишут код на Python вокруг много разговоров про Python повсюду преподают Python ...

[Перевод] В поисках единорогов: классическая воронка стартапов сломалась Перевод статьи подготовлен в преддверии старта курса «Product Manager IT-проектов». Согласно отчету Global Entrepreneur Monitor (GEM) за 2019 год, ежегодно во всем мире запускается более 100 миллионов стартапов. То есть это примерно 3 стартапа в секунду. Предприниматели по...

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

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

Чистим Dock и делаем приложение без xCode Мы сделаем программу для запуска приложений из панели статуса. Вам понадобится terminal, Swift версии 3.1 или выше и любой текстовый редактор. Я проверял работу на macOS Sierra 10.12.6 и macOS Catalina 10.15. Читать дальше →

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

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

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

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

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

Непостижимая гиперпродуктивность учёных Иллюстрация David Parkins из статьи Nature 561, 167-169 (2018). Научный прогресс двигается быстрее и быстрее. Новости полны пресс-релизами о перспективных разработках и об очередных взятых вершинах. Кто же они, герои эпохального подъёма? Новые гении, как Тесла, Эйнштейн...

[Перевод] wc на D: 712 символов без единого ветвления После прочтения "Побиваем С программой в 80 строк на Хаскеле", которую я нашел на ХакерНьюс, я решил, что D может и лучше. И я написал wc на D. Прим.пер. Я предложил вышеупомянутую статью перевести 0xd34df00d, но он предпочел сделать по мотивам свою «Побеждая C дв...

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

System.Threading.Channels — высокопроизводительный производитель-потребитель и асинхронность без алокаций и стэк дайва И снова здравствуй. Какое-то время назад я писал о другом малоизвестном инструменте для любителей высокой производительности — System.IO.Pipelines. По своей сути, рассматриваемый System.Threading.Channels (в дальнейшем «каналы») построен по похожим принципам, что и Пайплайны...

Android изнутри: сравнение Dalvik и ART Привет, Хабр! Около полугода назад я публиковал подробный «гайд» по JVM. Пост, в целом, зашел, а в комментариях спросили, не планируется ли “чего-то по андроиду”. Наконец, у меня дошли руки. В этом посте поговорим о среде выполнения в Android. В частности, я постараюсь кр...

[Перевод] Шарманка на Ардуино Эта публикация является переводом моей инструкции размещенной на сайте instructables.com. Проект занял первое место в DIY Arduino contest 2020 от Instructables Привет! Это статья о том, как я делал шарманку на Arduino. Читать дальше →

Геймдев, киберпанк и вечная философия: 3 мини-сериала на майские Впереди много, очень много выходных… И если вы еще думаете чем заняться, то вот еще одна идея — посмотреть классный сериал. Сегодня публикуем мини-подборку 2020 года, которая погрузит вас в технологичный «О дивный новый мир» (ну почти). Все сериалы так или иначе связаны с IT...

[Перевод] Вышел релиз GitLab 13.11 с агентом для Kubernetes и настройкой конвейера для проверки соответствия требованиям В прошедший День Земли мы думали о росте. Наши клиенты масштабируют свои DevOps-процессы, и с их ростом возрастает потребность в ещё большей эффективности и автоматизации контроля. GitLab Kubernetes Agent теперь доступен на GitLab.com, что позволит вам воспользоваться преим...

Открыто необычное кафе с сотрудниками-роботами Япония не перестаёт экспериментировать с роботами: четыре года назад в стране открылась гостиница с автоматизированным персоналом, а теперь — такое же кафе. История с отелем закончилась не очень хорошо (в роботах нашли уязвимость для слежки за постояльцами). А вот, что будет...

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

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

[Из песочницы] Искусственный интеллект и сложность человеческого мозга Доброго времени суток, Хабр. Представляю Вашему вниманию перевод статьи:«Artificial intelligence X human brain complexity» автора Andre Lisboa. Будут ли технологические достижения в области машинного обучения и искусственного интеллекта представлять серьезную угрозу для ра...

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

[Из песочницы] Функциональные опции на стероидах Привет, Хабр! Представляю вашему вниманию перевод статьи Functional options on steroids от автора Márk Sági-Kazár. Функциональные опции — это парадигма в Go для чистых и расширяемых API. Она популяризирована Дейвом Чейни и Робом Пайком. Этот пост о практиках, которые появ...

Карьера в 2021 году: 4 плюса работы в стартапе + вакансии для разработчиков и маркетологов Всем привет! Я много пишу на Хабре о развитии своих проектов. Один из них – стартап Linguix.com, это AI-based writing assistant, то есть продукт, который помогает не-носителям английского языка писать без ошибок (вот как это работает). Мы развиваем проект уже два года, и за ...

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

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