Социальные сети Рунета
Четверг, 25 апреля 2024

FFI: пишем на Rust в PHP-программе В PHP 7.4 появится FFI, т.е. можно подключать библиотеки на языке C (или, например, Rust) напрямую, без необходимости писать целый extension и разбираться в его многочисленных нюансах. Давайте попробуем написать код на Rust, и используем его PHP-программе Читать дальше →

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

[Перевод] Нативное редактирование Jupyter Notebooks в VS Code С осктябрьским релелизом расширения Python, мы рады объявить о поддержке нативного редактирования Jupyter Notebooks в Visual Studio Code! Теперь вы можете напрямую редактировать файлы .ipynb и получать интерактивность Jupyter Notebooks с полной мощью VS Code. Вы можете упра...

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

Что не так с экспериментом Microsoft про 4-х дневную неделю или не теряем голову при виде 40% эффективности Последние дней 10 по миру регулярно пишут про эксперимент по переходу на 4-х дневную рабочую неделю и эффектов в 40% от такого решения. Хабр не исключение, и аналогичный пост набрал 93 плюса и 71,4 тысячи просмотров и 338 комментариев. Т.е. результат более чем приличный. Ме...

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

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

[Перевод] Хранилища в Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor Обновление!. В комментах один из читателей предложил попробовать Linstor (возможно, он сам над ним работает), так что я добавил раздел об этом решении. Еще я написал пост о том, как его установить, потому что процесс сильно отличается от остальных. Если честно, я сдался и о...

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

[Из песочницы] Функциональные компоненты с React Hooks. Чем они лучше? Относительно недавно вышла версия React.js 16.8, с которой нам стали доступны хуки. Концепция хуков позволяет писать полноценные функциональные компоненты, используя все возможности React, и позволяет делать это во многом более удобно, чем мы это делали с помощью классов. М...

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

Must-have плагины и несколько полезностей для С\С++ разработки в VS Code Удивительно, но до сих пор на Хабре нет хорошей подборки плагинов для Visual Studio Code для тех, кто пишет на С/С++. Microsoft в своем блоге опубликовали только статью, совсем базового уровня с инструкцией по настройке. Но большинство читателей Хабра, тем более из разрабо...

Термопринтер 2003 года с барахолки: что он может в 2019? Пару месяцев назад я публиковал на Хабре обзор КПК HP, выпущенного в 2003 году, и еще обзор ноутбука 20-летней давности. Работая над статьями, я пытался понять, можно ли использовать девайсы в 2019 году. Как выяснилось, оба устройства почти безнадежно устарели. Кстати, вс...

Почему карма на хабре — это хорошо? Заканчивается неделя постов про карму. В очередной раз разжевано, почему карма — плохо, в очередной раз предлагаются изменения. Давайте прикинем, почему карма — это хорошо. Начнем с того, что хабр это (около)технический ресурс, позиционирующий себя как «вежливый». Оскорблен...

Медиа-система на базе NUC — домашние опыты Мини-ПК Intel NUC представлять никому не нужно. В блоге Intel мы писали о нем много раз, а совсем недавно проводили конкурс имени NUC с ним же в качестве главного приза. И вот снова о нем, теперь уже в домашних условиях обитания. Перед вами рассказ от первого лица давнего ...

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

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

[Перевод] Disposable ref structs в C# 8.0 Давайте посмотрим, что об этом сказано в блоге о предстоящих изменениях в С# 8.0 (версия Visual Studio 2019 Preview 2): «stack-only структуры появились в С# 7.2. Они чрезвычайно полезны, но при этом их использование тесно связано с ограничениями, например невозможностью реа...

Memento Mori или вычисляем «магические квадраты» 5x5 Привет Хабр. Примерно год назад я рассматривал тему использования GPU на примере вычисления «магических квадратов» 4х4. Там все довольно-таки очевидно, этих квадратов всего 7040, и вычислить их можно практически на чем угодно, хоть на Ардуине (но это не точно). Аналогичным ...

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

Deno: время Node.JS уходит? Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта — почему-то все ограничиваются...

С Днём Радио и Связи! Короткая открытка по поводу Если обратиться к простому обывателю, то он наверняка скажет, что радио умирает, потому что на кухне радио точка давно обрезана, приёмник работает только на даче, а в машине любимые треки проигрываются с флешки или онлайн-плейлиста. Но мы-то с вами знаем, что не будь радио, ...

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую ...

OceanLotus: обновление малвари для macOS В марте 2019 года в VirusTotal, популярный онлайн-сервис сканирования, был загружен новый образец вредоносного ПО для macOS кибергруппы OceanLotus. Исполняемый файл бэкдора обладает теми же возможностями, что и предыдущая изученная нами версия малвари для macOS, но его струк...

Intel NUC: модели 2019 года и планы на 2020 В этом году мы еще ничего не писали о микро-ПК Intel NUC — но это не значит, что новостей на этом фронте совсем нет. За прошедшие месяцы 2019 выпущено несколько новых моделей, изменены названия во всей линейке и даже анонсирован принципиально новый класс NUC, впрочем, кого...

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

[Из песочницы] Управление знаниями в ИТ: первая конференция и общая картина Что ни говори, а управление знаниями (Knowledge Management, KM) все еще остается в среде айтишников этаким диковинным зверьком: Вроде бы понятно, что знание – сила (с), но обычно под этим понимаются некие личные знания, собственный опыт, пройденные тренинги, прокачанные скил...

Spring Boot 2: чего не пишут в release notes Когда у масштабного проекта происходит масштабное обновление, всё никогда не бывает просто: неизбежно возникают неочевидные нюансы (проще говоря, грабли). И тогда, как бы хороша ни была документация, с чем-то поможет только опыт — свой или чужой. На конференции Joker 2018...

[Перевод] Инструментарий для анализа и отладки .NET приложений Заглянуть «под капот» кода или посмотреть на внутреннее устройство CLR можно с помощью множества инструментов. Этот пост родился из твита, и я должен поблагодарить всех, кто помог составить список подходящих инструментов. Если я пропустил какие-то из них, напишите в коммента...

Пользователи хотят кнопку «Пуск» в Windows 10 как в Windows 10X Ранее на этой неделе Microsoft представила Windows 10X в качестве новой платформы для двухэкранных и складных устройств. И одна из фишек, которая так нравятся многим людям в Windows 10X – это новое меню «Пуск» + кнопка «Пуск».Хотя в начале этого года люди, знакомые с этим во...

Юбилейный Android 10 (Q). Что известно уже сейчас? Совсем недавно ребята из XDA-developers заглянули под капот утекшей сборки новой, ещё не анонсированной, версии Android. Давайте посмотрим, что они там нашли. Читать дальше →

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

Реализация целого типа в CPython На Хабре уже были статьи о подробностях реализации менеджера памяти CPython, Pandas, я написал статью про реализацию словаря. Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный. Если вам и...

Стажировка Sberseasons: Python, UX/UI, Data и ещё много чего для студентов Привет, Хабр! Этот пост написан специально для студентов. Если вы уже состоявшийся профессионал, лучше посмотрите, как в gif’ках выглядит жизнь Open Source разработчика, а если вы студент, да еще с ИТ-шной специальностью, добро пожаловать под кат. Чем хороша наша программ...

[Перевод] Как я пишу конспекты по математике на LaTeX в Vim Некоторое время назад на Quora я отвечал на вопрос: как успевать записывать за лектором конспект по математике на LaTeX. Там я объяснил свой рабочий процесс по конспектированию в LaTeX с помощью Vim и Inkscape (для рисунков). Но с тех пор многое изменилось, так что я хочу оп...

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

5G и WiFi 6: когда две сетевые технологии лучше, чем одна Сейчас о 5G не пишет и не говорит только ленивый (кстати, свою статью о сетях и устройствах пятого поколения мы уже опубликовали). Но есть и еще одна относительно новая сетевая технология — это WiFi 6. Иногда приходится читать дискуссии о том, что лучше, 5G или WiFi 6. На...

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

WebStorm 2019.3: ускоренный запуск, усовершенствованная поддержка Vue.js и другие улучшения Всем привет! Давненько на Хабре не было блог-постов от команды WebStorm. Что же, будем исправляться, тем более, есть отличный повод: мы только что выпустили последнее крупное обновление WebStorm в этом году. Если у вас нет времени на чтение всей статьи, вот несколько сло...

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

[Перевод] Реверс-инжиниринг Fantastic Dizzy Fantastic Dizzy — это игра в жанре «пазл-платформер», созданная в 1991 году компанией Codemasters. Она является частью серии игр про Диззи (Dizzy Series). Несмотря на то, что серия Dizzy до сих пор популярна, и по ней создаются любительские игры (Dizzy Age), похоже, что никт...

Электрички Москвы (и не только): спасибо тем, кто помогал в этом году Электричка слева — Аэроэкспресс — теперь тоже добавлена в приложение. В день расписание у нас просматривают 600 тысяч человек, поэтому каждое маленькое изменение имеет эффект большого масштаба. Я хочу немного отчитаться о том, что мы добавили в приложение электричек по п...

Как добавить проверки в NoVerify, не написав ни строчки Go-кода В статическом анализаторе NoVerify появилась киллер-фича: декларативный способ описания инспекций, который не требует программирования на Go и компиляции кода. Чтобы вас заинтриговать, покажу описание простой, но полезной инспекции: /** @warning duplicated sub-expressions in...

[Перевод] Как работает Zig? От переводчика: этот пост был опубликован в блоге автора 15 марта 2018 года. Так как язык развивается, в настоящее время его синтаксис может отличаться. Всё описанное относится к Zig 0.2.0, текущая версия языка — Zig 0.3.0. Я связался с автором поста, и он любезно предостави...

[Перевод] Улучшенные четыре правила проектирования ПО Привет, Хабр! Представляю вашему вниманию статью "Four Better Rules for Software Design" автора David Bryant Copeland. David Bryant Copeland — архитектор ПО и технический директор Stitch Fix. Он ведет свой блог и является автором нескольких книг. Мартин Фаулер недавно создал...

Школа магии PHP Что такое магия в PHP? Обычно под этим подразумевают методы вроде _construct() или __get(). Магические методы в PHP — это лазейки, которые помогают разработчикам выполнять удивительные вещи. В сети полно инструкций по их использованию, с которыми вы наверняка знакомы. Но что...

[Из песочницы] Три парадигмы Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Three Paradigms» автора Robert C. Martin (Uncle Bob). За последние 40 лет технологии аппаратного обеспечения увеличили вычислительную мощность наших устройств более чем на двадцать порядков. Теперь мы играем в Angry ...

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

[Перевод] RxDart: магические трансформации потоков Добро пожаловать — это третья часть моей серии статей об архитектуре Flutter. Введение Основы Dart Streams RxDart: магические трансформации потоков (этот пост) Основы RxVMS: RxCommand и GetIt RxVMS: Службы и Менеджеры RxVMS: самодостаточные виджеты Аутентификация пользова...

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

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

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

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

«Для сообщества критически важно установить стандарты»: Марсин Москала о Kotlin Пару лет назад было много блог-постов «смотрите, какой интересный язык Kotlin», где объяснялись основы. В 2019-м разжёвывать азы уже не требуется, зато теперь появляется публикация совсем другого формата. Марсин Москала, который уже не первый год учит людей этому языку, се...

[Перевод] Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Мелкая питонячая радость #5: Dynaconf — управление настройками в проекте Некоторые вопросы в мире питонячей разработки имеют магическую силу поднимать целые армии людей, направлять их на священную войну и заставлять кидать друг в друга целыми кучами аргументов, выкладок и кусков кода. Иногда, когда доводы заканчиваются, враждующие армии быстро пе...

Он вам не дRook В связи с набирающей популярностью Rook хочется поговорить о его подводных камнях и проблемах, которые ждут вас на пути. О себе: Опыт администрирования ceph с версии hammer, основатель комьюнити t.me/ceph_ru в телеграм. Дабы не быть голословным я буду ссылаться на принятые...

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

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

WeakRef — предложение для добавления в стандарт ECMAScript Написал небольшой пост в своём телеграм-канале. Подумал, что она может быть интересна читателям Хабра. Недавно в блоге V8 появилась статья, посвящённая новому пропозалу WeakRef (Stage 3) — "Weak references and finalizers". Попробую объяснить своими словами его суть на пример...

[Перевод] F#5: Операторы Я намеревался написать 1/2 достойного поста в блоге об операторах F #, но потом я подумал, и, честно говоря, я не мог видеть слишком много достоинств в простом повторении того, что уже свободно доступно на MSDN, где перечисляются ВСЕ операторы F#. Читать дальше →

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

[Перевод] Джо Армстронг об Elixir, Erlang, ФП и ООП В последние несколько дней на Хабре был опубликован ряд статей, общим лейтмотивом которых (особенно в комментариях) стало противостояние тупоконечников с остроконечниками – адепты ФП против ООП, хотя их и призывали не спорить. Иногда обсуждали Erlang, в связи с чем мне вспом...

Оптимизация node.js приложения Дано: старое http node.js приложение и возросшая нагрузка на него. Стандартные решения проблемы: докинуть серверов, все переписать с 0, оптимизировать уже написанное. Давайте попробуем пойти путем оптимизации и разобраться, как можно найти и улучшить слабые места приложения....

[Перевод] Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen. В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество сто...

Простой москвич Levelord: интервью с создателем Duke Nukem RUVDS совместно с Хабром продолжают проект, состоящий из серии интервью с интересными, на наш взгляд людьми в IT-среде. В прошлый раз мы познакомились с главным «по мозгам» Алисы в Яндексе Борисом Янгелем. Сегодня представляем вашему вниманию интервью с Ричардом (Levelord) ...

Редактор в UX: тру стори, риал лайф Привет, это Наташа, лид-редактор в UX Яндекс.Денег. Я пишу этот текст, потому что больше не могу молчать о своей работе. Раньше про нас думали, что мы копирайтеры. Пишем получше, чем менеджеры. Умеем проверять грамотность. Редактируем, чтобы стало понятнее. Убираем лишние ...

Пост-пост, мета-мета. Учимся писать на Хабр — А далеко до релиза? — Да пара вёрсток. Докатился — пишу на Хабр о том, как писать на Хабр. Хотя причины есть — я пять лет занимаюсь этим, перевидал и перепробовал кучу инструментов, так что теперь делюсь с вами самыми лучшим. Я расскажу о том, как прийти от HTML-разметки...

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

[recovery mode] Импортозамещённый дистрибутив Hadoop Недавно посматривая реестр отечественного ПО, нашёл российскую сборку Hadoop, чему был изрядно удивлён. Причём, регистрация прошла аж в 2017 году. (ссылка для интересующихся) и с тех пор на хабре ни строчки об этом. Итак, встречайте — Arenadata Hadoop (ADH)! Первые впечатл...

ITSM — что это такое и с чего начать внедрение Вчера мы опубликовали на Хабре подборку материалов для тех, кто хотел бы разобраться с ITSM — изучить тренды и инструменты. Сегодня продолжаем рассказывать о том, как интегрировать ITSM в бизнес-процессы компании, и какие облачные инструменты могут с этим помочь. / PxHere ...

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

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

История типизации на примере одного большого проекта Всем привет! Сегодня я расскажу вам историю развития типизации на примере одного из проектов в Ostrovok.ru. Эта история началась задолго до хайпа о typing в python3.5, более того, она началась внутри проекта, написанного еще на python2.7. 2013 год: совсем недавно был рел...

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

[Перевод] Thinking with Portals: создаём порталы в Unreal Engine 4 В этой статье я расскажу, как создавать порталы в Unreal Engine 4. Я не нашёл никаких источников, подробно описывающих такую систему (наблюдение сквозь порталы и проход через них), поэтому решил написать собственную. Что такое портал? Давайте начнём с примеров и объяснения...

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

[Перевод] Мир вирусов MS-DOS Этот пост является текстовой версией выступления, которое я провел на 35-м Chaos Computer Congress в конце 2018 года. И так я должен признать, что MS-DOS слегка возмущает меня, несмотря на то, что вредоносные программы MS-DOS всегда в некоторой степени очаровывали меня, ...

[Перевод] Пишем API для React компонентов, часть 6: создаем связь между компонентами Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

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

Тонкости Lambda Expressions в C# То, о чем написано в статье, я отлавливал около 10 часов, это были 10 часов непрерывного дебага, которые cвелись к пошаговому сравнению рабочей и нерабочей версий кода, даже не так, к сравнению каждой строчки из окошка дебага рабочей и не рабочей версий кода Читать дальше →

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

Apache Kafka + Spring Boot: Hello, microservices Привет, Хабр! В этом посте мы напишем приложение на Spring Boot 2 с использованием Apache Kafka под Linux, от установки JRE до работающего микросервисного приложения. Коллеги из отдела фронтэнд-разработки, увидевшие статью, сетуют на то, что я не объясняю, что такое Apache ...

[Из песочницы] Python + Pyside2 или просто «Калькулятор» Привет, Хабр! Меня зовут Саша. Я Junior разработчик. Работаю тестировщиком ПО. В основном я пишу тесты при помощи Python+Selenium, но Python стал настолько интересен, что мне захотелось углубиться в него и выучить как можно больше фреймворков! Я захотел написать десктопное ...

[Из песочницы] Windows Phone 8.1: ностальгии разработки пост. История одного приложения Приветствую, Хабр! Пост навеян новостью о прекращении поддержки Windows 10 mobile. Являясь одно время обладателем Nokia Lumia 925, расскажу про одну из моих поделок на поприще мобильной разработки под Windows Phone 8.1. Читать дальше →

[в закладки] PDF- и ePUB-версия руководства по React Привет Хабр! В этом году мы делали перевод огрооомного обучающего курса по React — в нашем блоге он был аж в 27 постах. В каждой части, от простого к сложному, выдавался концентрат знаний, которые тепло оценили читатели нашего блога. А сегодня мы поймали себя на мысли, что н...

[Перевод] Пользователи и авторизация RBAC в Kubernetes Прим. перев.: Продолжая недавно затронутую нами тему безопасности Kubernetes в целом и RBAC — в частности, публикуем перевод этого материала от французского консультанта из международной компании Big Data-компании Adaltas. Автор в деталях показывает, как создавать пользовате...

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

[Из песочницы] Не так страшен ERP проект, как его малюют Привет, Хабр! Под давлением такого вот живого интереса к системам планирования ресурсов предприятия (ERP) таки оторвал недвижимость от стула и решил поделиться своими впечатлениями. Давайте попробуем понять, кому, зачем и почем ERP, нужно ли вообще что-то регламентировать, ...

CJDNS мертв, да здравствует Yggdrasil Что такое Yggdrasil? Yggdrasil — это распределённая Mesh сеть, которая работет в Overlay режиме, позволяя сделать интернет поверх интернета Последние новости о сети cjdns датируются 2017 годом, может показатся, что сеть умерла и разработка остановлена (на самом деле — да)...

Ежегодный отчетный хабрапост — 2018 Подводя итоги 2018 года для блога Intel, мы, прежде всего, вспоминаем историческое воссоединение GeekTimes и Хабра (кто из них Бендер, а кто Бендер — решайте сами). В свое время мы много писали о том, что идея разделения Хабрахабр не кажется нам удачной и безмерно рады, чт...

[Перевод] Visual Studio for Mac: 5 новых крутых функций За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 м...

Новый уровень безопасности МФУ: imageRUNNER ADVANCE III С увеличением встроенных функций офисные МФУ давно вышли за рамки тривиального сканирования/печати. Сейчас они превратились в полноценные самостоятельные устройства, интегрированные в высокотехнологичные локальные и глобальные сети, связывающие пользователей и организации ...

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

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

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

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

[Перевод] C# является языком низкого уровня? Я большой поклонник всего, что делает Фабьен Санглард, мне нравится его блог, и я прочитал обе его книги от корки до корки (о них рассказывали в недавнем подкасте Hansleminutes). Недавно Фабьен написал отличный пост, где расшифровал крошечный рейтрейсер, деобфусцировав код ...

[Перевод] Трудно быть мейнтейнером проекта Open Source Автор — Сальваторе Санфилиппо, разработчик и мейнтейнер свободной СУБД Redis Несколько месяцев назад мне написал мейнтейнер одного системного open source проекта с довольно большим и активным сообществом. Он написал, что много лет изо всех сил пытается поддерживать свой пр...

Docker + Laravel = ❤ // Часть 2 Данный пост написан по заявкам трудящихся, которые с завидной периодичностью спрашивают о том "Как запустить Illuminate / Symfony / MyOwnPsr7 приложение в докере". Давать ссылку на ранее написанный пост уже не хочется, так как взгляды относительно того, как следует решать п...

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

Пишем Reverse socks5 proxy на powershell.Часть 3 История об исследовании и разработке в 3-х частях. Часть 3 — практическая. Буков много — пользы еще больше Предыдущие статьи из цикла можно найти тут и здесь =) Проверка боем Давайте теперь проверим работу нашего скрипта на практике. Для этого попробуем выбросить обратный ...

Пишем Android приложение для киноманов — Часть 1 (Прототипирование) Доброго времени суток, Хабр! Не секрет, что недавно компания Google утвердила в качестве приоритетного языка программирования ОС Android — Kotlin. В этой и последующих статьях будет рассказываться о создании приложения на этом языке. Читать дальше →

[Из песочницы] Редактор блок схем — о дружбе Vue.js и MxGraph С чего все началось? Я фронтенд разработчик, но стремлюсь к развитию, решил написать fullstack приложение и стать миллионером получить бесценный опыт. Так вот, начал планировать бэкенд, выбрал MongoDB для хранения данных, и был готов планировать структуру и связи полей. Н...

Лучшие Linux-приложения для Chrome OS Мы уже писали статью о том, как установить Linux-приложение на Chrome OS через контейнер Debian. Эта функция изначально предназначена для разработчиков, однако будет полезна и тем, кто желает получить качественный софт, недоступный в Google Play, на Chrome OS. В этом матери...

Как мы разрабатываем персональные товарные рекомендации Наши клиенты-магазины хотят делать крутой маркетинг. Чтобы люди больше покупали, они регулярно шлют им email-рассылки. И каждый раз думают: “Что же написать в письме?”. Можно писать просто: “Покупайте у нас почаще!”, но это не очень-то работает. Идея получше — вставлять в п...

[Перевод] Выпуск Rust 1.39.0: async/await, аттрибуты для параметров функций, новые константные функции Команда Rust рада сообщить о выпуске новой версии, 1.39.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.39.0 вам дост...

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

Samsung отказалась от названия Galaxy A90, смартфон может выйти в линейке Galaxy S Сетевой информатор под ником Ice Univerce опубликовал несколько неожиданную информацию, согласно которой компания Samsung отказалась от названия смартфона Galaxy A90. Если говорить точнее, то устройство не отменено, оно будет анонсировано и выпущено в ранее установленны...

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

AMA с Хабром v.8.0. Онбординг, новости для всех, PWA Апрель — месяц субботников. Наша команда тоже провела  виртуальный субботник и навела порядок с некоторыми вопросами на Хабре — а значит, у нас для вас снова есть порция новостей. Сегодня мы проводим очередную сессию вопросов и ответов (AMA). Пользователи Хабра и команда Хаб...

Гетерогенное программирование и OneAPI Toolkit. Задайте вопрос эксперту Intel Гетерогенное программирование — это тема. Тема многочисленных статей на ресурсах для разработчиков и докладов на тематических конференциях. Тема для блога Intel, ведь совсем недавно появились на свет Intel oneAPI Toolkit и Data Parallel C++. Наконец, отличная тема для наше...

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

Пишем на Java для Nintendo DS Введение Все началось с того, что я случайно нашел список homebrew программ (программы, разработанные усилиями пользователей для устройств, не предназначенных для запуска пользовательского ПО) для Nintendo DS и в нем увидел одну очень интересную строчку, а именно: «Pstros ...

Разбираемся с блоками питания AeroCool KCAS Благодаря слухам старый добрый AeroCool KCAS превратился в глазах многих пользователей из приличного БП в нечто, что «горит» еще в коробке. Разумеется, «сжечь» бюджетную модель совсем несложно. Но нужно ли? Разберем тему подробнее и определим, что же не так с блоком питания,...

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

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

[Из песочницы] Haiku β1 — сделаем /b/ OS великой снова Совсем недавно (почти 4 месяца назад) вышла новая Haiku (далее — просто BeOS, ибо проект гораздо удачнее ReactOS — настолько, что разница между Haiku и BeOS уже пренебрежимо мала). Конечно же, мне давно уже надоели все эти Windows и *nix; хотелось попробовать чего-то новое,...

Ошибки панели администрирования или опыт разработки Laravel Orchid В прошлом на Хабре публиковалась статья "Orchid CMS — ещё одна CMS на Laravel", а теперь спустя два года и больше 100 релизов попробуем разобрать ошибки и проблемы которые стояли на пути разработки. Читать дальше →

JS-битва: как я написал свой eval() Вы можете помнить Александра Коротаева по браузерной версии «Героев Меча и Магии»: расшифровка его доклада о ней собрала на Хабре громадное количество просмотров. А теперь он сделал игру, ориентированную на программистов: играть в неё надо JS-кодом. В этот раз на разработку...

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

50 избранных материалов о заработке музыкантов, звуке в играх и кино, необычных инструментах и хорошо забытом старом Это — мегаподборка из нашего блога на Хабре и «Мира Hi-Fi», настоящего тематического медиа, для которого мы подготовили и опубликовали сотни материалов на тему звука и аудитехники. Сегодня мы предлагаем вашему вниманию избранные топики. В них мы пишем о заработке и карьере ...

О новых стандартах C++ Сегодня у меня довольно короткий пост. Я бы его и не писал, наверное, но на Хабре в комментах довольно часто можно встретить мнение, что плюсы становятся хуже, комитет делает непонятно что непонятно зачем, и вообще верните мне мой 2007-й. А тут такой наглядный пример вдруг п...

[recovery mode] Карта камер дорожной фиксации обнародована: радоваться или плакать? Каждый раз, когда на Хабре появляется статья о радар-детекторах, в комментах начинаются споры о том, нужны эти девайсы или нет, этично ли их использовать. Однако недавно ГИБДД обнародовала карту размещения камер контроля за действиями водителей. В этом посте рассуждаем, что ...

Программирование для детей. Пять самых крутых игр на HTML и JavaScript Привет, Хаброжители! Хотите сделать отличный подарок ребёнку, желающему научиться программировать, или научить взрослого, далёкого от мира кодов? Тогда книга-героиня нашего поста Вам подойдет. Эта книга научит писать код веб-игр на языках HTML и JavaScript и даже поможет чи...

Что такое Initial Exchange Offering (IEO) и чем оно отличается от ICO? В начале 2017 года, был бум ICO, в которых было обмануто очень много людей. Теперь на смену ICO пришли IEO, которые должны уменьшить количество скам проектов. Ранее я уже писал про IEO от Huobi, советую посмотреть. Что такое IEO? Первоначальное биржевое предложение, как ...

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

[Из песочницы] Зачем нужны ranges из C++20 в простой числодробилке? В последнее время интервалы (ranges), которые должны войти в стандарт C++20, довольно много обсуждают, в том числе и на Хабре (пример, где много примеров). Критики интервалов хватает, поговаривают, что они слишком абстрактны и нужны только для очень абстрактного кода читаем...

Найдены очередные упоминания Windows 10 19H2 Теро Алонен в Твиттере отметил, что в SDK-версии Windows 10 Build 18908 были найдены очередные упоминания Windows 10 19H2. Как видите, новое обновление действительно разрабатывается параллельно с 20H1, но при этом оно выйдет уже этой осенью. Предположительно, изменения там б...

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

[Перевод] Уязвимость runC, затрагивающая Kubernetes, Docker и containerd Сообщество Linux занято сейчас устранением недавно обнаруженной уязвимости, которая касается средства для запуска контейнеров runC, используемого Docker, CRI-O, containerd и Kubernetes. Уязвимость, получившая идентификационный номер CVE-2019-5736, даёт заражённому контейне...

Предварительный обзор Colorful iGame GeForce GTX 1660 Ti Ultra. Мощная карта Буквально недавно мы написали новость о том, что компания NVIDIA представила свои новые видеокарты GTX 1660 Ti, которые, если верить тестам, очень даже хорошо себя зарекомендовали. Теперь появилась информация о том, что некоторые партнеры уже выпустили в продажу свои видеока...

Software Defined Radio — как это работает? Часть 5 Привет Хабр. В предыдущей части был рассмотрен прием сигналов с помощью GNU Radio. Сейчас мы рассмотрим обратную задачу — передачу сигналов различного вида модуляции. Как и в случае приема, с помощью GNU Radio можно создать сложную программную систему для передачи сигнал...

Не стесняемся, минусуем Среди 437 моих постов на Хабре нет ни одного с отрицательным рейтингом (ну или я невнимательно смотрел), поэтому можете поставить точку этому безобразию и слить этот пост, прям хоть рекорд можем поставить. Если бы мог, сам бы минуснул. Читать дальше →

Maven-путь построения Go проектов Сначала небольшая предыстория. В начале 2010-х, я сделал небольшую утилиту-конвертер для BIN файлов эмулятора БК-0010 в WAV файлы. Утилита была написана на Python с целью максимальной переносимости, работала без проблем и я на какое то время забыл о ней. Но в 2016м появился ...

Главный секрет Google I/O 2019, о котором не узнать из интернета Титульная конференция крупнейшего гиганта рекламного бизнеса отгремела уже как неделю, а некоторые до сих пор пишут статьи. Так как всё, что можно было написать про программу и главные новинки, уже написано (привет phillennium), то что остаётся скромному посетителю? Только р...

Боль, таблетки и две кареты скорой помощи, или Как мы все-таки забрались на пятое место IronStar 226 в Сочи Никогда. Слышите? Никогда не соглашайтесь участвовать в этом безумии. У нас в ИТ все совсем неплохо — теплые и уютные офисы, большие мониторы, хорошие столовые, ДМС. Хочется драйва, работы на пределе сил, переживаний? Пожалуйста. Идите работать на проекты типа ГИС ЖКХ (ранее...

Ресурсное планирование. Почему оно не работает? Часть 1 Ценность ресурсного планирования для IT-компании сложно подвергнуть сомнению. Ресурсные планы есть у многих. А действительно работающей системой ресурсного планирования похвалиться могут совсем немногие. Почему же? Давайте разберёмся. Что такое действительно работающая сист...

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

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

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

Работа с командами APDU на примере EToken "… Путь не так уж сложен для понимания. Силы природы, естественные наклонности, схемы событий… Примитивное миропонимание замечает только четыре стихии и дальше этого не идёт. Словно вселенная сводится к четырём доступным созерцанию понятным явлениям." Стивен Эриксон. «Полноч...

[Из песочницы] Назад в будущее с WebAssembly Привет, Хабр! Представляю вашему вниманию перевод статьи «Back To The Future With WebAssembly» автора Attila Vágó. Данный пост является переводом статьи, в которой рассказывается о свойствах WebAssemly и Emscripten. Оригинал статьи на английском языке. Автор статьи Аттила ...

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

Обзор Vue.js 2.6 Привет, Хабр! Совсем скоро должна выйти новая версия Vue.js — 2.6. Под катом вы найдете обзор новых фич следующей версии, включая новый синтаксис слотов, Vue.observable() и много чего еще! Читать дальше →

Какой код нужно показывать на собеседовании Сегодня с утра был очень интересный пост о том, какой код нужно писать на собеседовании и какие навыки при этом демонстрировать. Тестовая задача была такая. Написать на TypeScript функцию, которая для заданного массива чисел выводит текстовую строку диапазонов: getRanges([...

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

[Перевод] Вычисление 2D-коллизий: алгоритм Гилберта — Джонсона — Кирти Я занялся изучением процессов распознавания коллизий, и это привело меня к алгоритму Гилберта — Джонсона — Кирти (Gilbert-Johnson-Keerthi, GJK). Все примеры кода в посте написаны на TypeScript. В примерах используются созданные мной структуры, которые подробно в посте не р...

Концепция персистентной ткани для контроля IT-инфраструктуры Всем привет. Расскажу вам про микросервисы, но немного с другой точки зрения, чем Вадим Мадисон в посте «Что мы знаем о микросервисах». Вообще я считаю себя разработчиком баз данных. При чем же тут микросервисы? В Авито используются: Vertica, PostgreSQL, Redis, MongoDB, Tara...

[Перевод] HTTP/3: от корней до кончиков Протокол прикладного уровня HTTP лежит в основе интернета. Он начал свою жизнь в 1991 году как HTTP/0.9, а к 1999 году превратился в HTTP/1.1, который был стандартизирован Инженерным советом Интернета (IETF). HTTP/1.1 долго всех удовлетворял, но растущие потребности Сети п...

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

Полезные советы по использованию Outlook на Android Outlook на Android имеет множество полезных и нужных функций В 2014 году Microsoft приобрела популярное мобильное приложение электронной почты Acompli. Для усиления позиций на рынке почтовых приложений, компания Microsoft произвела ребрендинг программы, выпустив на ее основе...

Применение машинного обучения и Data Science в промышленности Хабр, привет. Написал пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и дл...

Хабрастатистика: как живет Хабр без geektimes Привет, Хабр. Данная статья является логическим продолжением рейтинга Лучших статей Хабра за 2018 год. И хотя год еще не закончился, но как известно, летом произошли изменения в правилах, соответственно, стало интересно посмотреть, повлияло ли это на что-нибудь. Кроме со...

Что нового в C# 8? «Восьмерка» еще даже не вышла RTM а я уже пишу про нее пост. Зачем? Ну, основная идея что тот, кто предупрежден — вооружен. Так что в этом посте будет про то что известно на текущий момент, а если это все посдстава, ну, поделом. Читать дальше →

Принимаем участие в недавнем Telegram Contest, пишем крутое OpenGL ES приложение и выигрываем ничего Забегая вперед, хотелось бы обратить внимание на сумбурную ситуацию с победителем первого этапа конкурса. Победитель забрал 50К американских президентов. НО, был как минимум, еще один разработчик, который написал идентичное приложение и не был никак вознагражден. Он даже по...

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

[Из песочницы] Современное программирование: взгляд после 25 лет перерыва или как я писал бота для Телеграм Задача кажется простой, когда ничего про нее не знаешь и когда решил. В один “прекрасный” день, я понял, что мне не интересно сидеть на многочисленных форумах, а хочется создать свой канал и делиться “мудростью”. Мне нравится Телеграм заложенными в него возможностями в то...

Непрерывное профилирование в Go pprof — основной инструмент профилирования в Go. Профилировщик включен в стандартную библиотеку Go и про него, за годы, написано уже очень много. Чтобы подключить pprof в существующее приложение нужно просто добавить одну строчку кода: import _ “net/http/pprof” В HTTP-сервер...

[Перевод] Неизменяемых коллекций в Java не будет – ни сейчас, ни когда-либо Всем привет! Сегодня вашему вниманию предлагается перевод вдумчиво написанной статьи об одной из базовых проблем Java — изменяемости, и о том, как она сказывается на устройстве структур данных и на работе с ними. Материал взят из блога Николая Парлога (Nicolai Parlog), чей...

Как я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram Активные пользователи Телеграма, особенно те, кто подписан на Павла Дурова, наверняка что-то слышали о том, что Телеграм проводил в этих ваших интернетах конкурс для iOS, Android и JavaScript разработчиков, а также для дизайнеров. Несмотря на то, что это было довольно эпично...

[Из песочницы] Как совместить преимущества ноутбука и стационарного компьютера? Разбор проблемы и идеи решения В данный момент ноутбуки и персональные компьютеры сильно отличаются друг от друга. Под системным блоком стационарного компьютера, как правило, понимается «башня» преимущественно стандарта midi-tower, весом килограмм в 15-20 (или больше), занимающий огромное пространство под...

Корпоративные пользователи скоро получат Windows 10 версии 1903 Microsoft недавно выпустила напоминание об обновлении для организаций, использующих Windows 10 версии 1809 (October 2018 Update) со старыми настройками Windows Update для бизнеса (WUB).Организации и предприятия, администрирующие Windows 10 с более старыми настройками Центра ...

Камбеки, топ-10 докладов JPoint 2019 Взгляды камрадов обращены в будущее. Новая, с пылу с жару версия джавы — Java/JDK 13, о которой недавно писал olegchir в хабрапосте, манит смотреть в завтрашний день. Коварно верну в прошлое — не такое далёкое, как хотелось бы, но достаточно ламповое, чтобы потратить десят...

Магия SwiftUI Вы пробовали добавить в VStack больше 10 вьюх? var body: some View { VStack { Text("Placeholder1") Text("Placeholder2") // ... тут вьюшки с 3 по 10 . . . Text("Placeholder11") } } Я попробовал — это не комп...

Оптимизация программ под Garbage Collector Не так давно на Хабре появилась прекрасная статья Оптимизация сборки мусора в высоконагруженном .NET сервисе. Эта статья очень интересна тем, что авторы, вооружившись теорией сделали ранее невозможное: оптимизировали свое приложение, используя знания о работе GC. И если ране...

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

MPS 2018.3: планы генерации, улучшения в языке сборки и упаковки и в языке редактора, обновленный интерфейс Привет, Хабр! Недавно мы выпустили [MPS 2018.3](https://www.jetbrains.com/mps/download/). В этой версии много новых функций, с которыми работа над проектами станет еще эффективнее. Мы улучшили планы генерации и язык описания редактора, добавили новые конструкции в язык сборк...

Предварительный обзор Samsung Galaxy Fold. Настоящий гибкий смартфон Длительное время мы рассуждали о том, возможно ли выпустить в продажу полноценный смартфон с гибким дисплеем. Кто-то говорил, что это невозможно, кто-то вообще смеялся над данной темой. Ведь технологий для такого дисплея нет, есть только концепты и патенты. Или же нет? Компа...

Порочит – не порочит: как работает закон об ущемлении чести и достоинства в Сети Центр защиты прав СМИ специально для «Теплицы» подобрал интересные судебные кейсы о защите чести, достоинства и деловой репутации. Попробуйте определить, удовлетворили ли суды требования истцов?  Для начала немного теории. Диффамация – распространение недостоверных...

[Перевод] Превосходный набор вопросов и ответов о квантовом превосходстве Из блога Скотта Джоэла Аронсона, специалиста в области теории вычислительных машин и систем, преподавателя факультета компьютерных наук Техасского университета в Остине Вы читали эти истории – в Financial Times, Technology Review, CNET, Facebook, Reddit, Twitter, [на Хабре ...

QuadСats – звучи по-настоящему Это должно было случиться: HyperX выпустил свой первый микрофон HyperX QuadCast, предназначенный для… для тех, кому есть что сказать. Качественный микрофон необходим для ведения блога на YouTube или проведения качественных игровых стримов, с хорошим микрофоном можно записыва...

[Перевод] 27 удивительных инструментов VS Code для современных JavaScript-разработчиков Visual Studio Code (его ещё называют VS Code и VSCode) — это экономичный но мощный кросс-платформенный редактор кода, выполненный в виде настольного приложения. По словам автора материала, перевод которого мы сегодня публикуем, VS Code поддерживает множество инструментов раз...

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

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

Retentioneering: как мы open-source инструменты для продуктовой аналитики на Python и Pandas написали Привет, Хабр. Эта статья посвящена итогам четырехлетней разработки набора методов и инструментов обработки траекторий движения пользователей в приложении или на сайте. Автор разработки — Максим Годзи, который стоит во главе команды создателей продукта, он же — автор статьи. ...

[Из песочницы] Нетривиальная расстановка элементов на flexbox без media-запросов Казалось бы, какой пост может быть о CSS Flexbox в 2019 году? Верстальщики уже несколько лет активно используют данную технологию, и все тайны должны быть разгаданы. Однако, недавно у меня возникло стойкое ощущение, что нужно поделиться одним нетривиальным и, на мой взгляд,...

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

[Из песочницы] Когда стоит сохранять длину массива в локальную переменную в C# Читая Хабр, я наткнулся на статью "Стоит ли сохранять длину массива в локальную переменную в C#?" (которая была в разделе «лучшее»). Мне кажется глупый вопрос, не совсем корректные измерения (почему нет измерений для вложенных циклов?) и странный вывод. Длину масс...

Немного технической лирики о C++ Tools от JetBrains, и при чем тут единороги Начну не с моего типичного “Привет, Хабр! У нас тут очередной крутой релиз”, а с “Привет, меня зовут Настя, я ПММ в JetBrains и я отвечаю за наши инструменты для C++”. Или нет, попробую еще раз, вот так: “Привет, пишет вам C++ разработчик с 8-летним стажем, который 5 лет наз...

[Перевод] Пишем API для React компонентов, часть 5: просто используйте композицию Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Протокол «Энтропия». Часть 1 из 6. Вино и платье Привет, Хабр! Некоторое время назад я разместил на Хабре литературный цикл «Бредни программиста». Результат, вроде бы, получился более-менее не плохой. Еще раз спасибо всем, кто оставил теплые отзывы. Сейчас, я хочу, опубликовать на Хабре новое произведение. Хотелось написат...

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

Первое геймплейное видео action RPG Monolisk с полноценным редактором уровней В конце мая этого года студия Trickster Arts рассказала о своем проекте Monolisk. Это RPG с оригинальным визуальным стилем, которая очень напоминает Bastion, но также включает полноценный редактор уровней. Еще одна особенность — 5 персонажей с возможностью их кастомизации за...

Пишем telegram-бота на python с помощью библиотеки telebot часть 2 Всем привет! Это вторая часть статьи, в которой я посвящу время запросам и серверам telegram. Если кто-то еще не видел первую часть, то рекомендую её почитать. В третьей части скорее всего будет описана работа с базами данных. Ну и если у вас опять возникли вопросы, то пишит...

Microsoft выпустила PowerToys 0.14 с улучшениями для FancyZones и PowerRename Microsoft выпустила новую предварительную версию возрождённой утилиты PowerToys, в которой основное внимание было уделено совершенствованию ранее добавленных функций, таких как FancyZones и PowerRename. Перечислим наиболее заметные изменения в версии 0.14: Удалён устаревший...

[Из песочницы] Интеграция React Native и C++ для iOS и Android Недавно мне предложили поработать над одним интересным проектом. Требовалось разработать мобильное приложение для американского стартапа на платформах iOS и Android с помощью React Native. Ключевой технической особенностью и фактором, который однозначно решил мое участие в п...

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

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

[Из песочницы] Элементарные шифры на понятном языке Привет, Хабр! Все мы довольно часто слышим такие слова и словосочетания, как «шифрование данных», «секретные шифры», «криптозащита», «шифрование», но далеко не все понимают, о чем конкретно идет речь. В этом посте разберемся, что из себя представляет шифрование и рассмотрим...

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

К Дню программиста. Программист в 2019 году Сегодня день программиста, 256-ой день в году. В интернете будет много шуток, на Хабре — статей, в пабликах — мемов, в офисах — пиццы, сладкого и приятных сюрпризов. Программирование сегодня стало настоящим культом, к которому стремятся прикоснуться любой ценой, ведь, по мне...

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

9 цитат с Хабрасеминара 2019 для блогеров, предпринимателей и HR Под катом: как готовит пост Абдульманов из Мосигры, как топит за свои бренды Белоусов из Madrobots и как выглядит нестандартная подача. Плюс несколько цифр и фактов про Хабр и сообщество. Читать дальше →

Компьютер для выживших в апокалипсисе из Raspberry Pi На Хабре не раз и не два публиковались DIY-статьи с описанием проектов, центральной частью которых был Raspberry Pi. «Малинка» в самом деле подходит для подобных целей практически идеально. Недавно появился еще один такой проект, который заслуживает внимания. Называется ...

Изучая Dependency Injection Несмотря на то, что паттерну уже более десятка лет и есть немало статей (и переводов), тем не менее споров, комментариев, вопросов и разных реализаций становится все больше и больше. ПредысторияВ 2004 Мартин Фаулер написал известную статью “Inversion of Control Containers ...

Осадок #39: как работает мобильный отмыв денег, годовщина блокировки Telegram, игры пиратских престолов, Apple определилась с 5G-модемами Так получилось, что на этой неделе редакция разъехалась по делам, а потому собственно заметок и постов выходило не так много. Но рубрика «Утренняя реплика» - совсем другое дело. Давайте вспомним, о чем мы писали в ней в нашем Telegram-канале.

[Из песочницы] Снова про phpQuery Приветствую всех. Недавно я взял заказ, где нужно было автоматически подтягивать данные на сайт (проще говоря — написать парсер). Содержание статьи: Предисловие Про phpQuery Начало работы Практическая часть Заключение Читать дальше →

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

В сети появился «аналог» Findface searchface Недавно на Хабре чья-то работала выходила, что findface закрыли, но есть те, кто разрабатывают подобные аналоги. Читать дальше →

К вопросу о преобразованиях и прочих операциях Синяя Гусеница: А ну нас-то не собьешь. Мы себе сидим, знаем: ждут нас превращения. А что? А ничего! Сидим, курим, ждем… Алиса- кукла: Чего? Синяя Гусеница: Чего, чего! Превращений. Дом — в дым, дым- в даму, а дама — в маму. Вот так-то. Не мешайте, не заскакивайте вперед, а ...

Security Week 21: дыра в Whatsapp, новая уязвимость в процессорах Intel, Zero-Day в Windows На прошлой неделе произошло сразу три интересных события в сфере информационной безопасности: была закрыта эксплуатируемая уязвимость в Whatsapp, для критической уязвимости в Windows выпустили патчи даже для неподдерживаемых версий ОС, а в процессорах Intel нашли еще одну Sp...

[Из песочницы] Как разработать ещё один платформер с помощью Unity. Ещё один туториал Привет, Хабр! Под катом вас ждёт ещё одна статья, которая расскажет о том, как я поставил себе цель запрограммировать игру, основываясь на переводе статьи на Хабр под названием Паттерны дизайна уровней для 2D-игр. Статья имеет много текста (как обычного, так и исходного) и м...

[Из песочницы] Dagger 2 – это элементарно (Часть 1) Содержание Введение Что такое Dependency Injection, Пример зависимости Dagger 2 – введение Первое использование Dagger 2 Введение Статья написана не продвинутым программистом для таких же, обычными и понятными словами В статье используется пример кода на Kotlin. Версия da...

Текстовая трансляция Apple — 10 сентября 2019 года Главная презентация Apple начнется сегодня, 10 сентября, в 20.00 по Москве. В моем блоге будет идти текстовая трансляция: что показывают, почему показывают и что нам всем от этого. Apple, возможно, уже и не торт, давно не удивляла какими-то революционными новинками, даже скл...

7 правил русского языка, от которых может полыхнуть Редактор Никита Юкович в своём блоге написал о правилах русского языка, которые с трудом укладываются в голове. Лайфхакер публикует заметку с разрешения автора.

Ssh-chat, часть 2 Привет, Хабр. Это 2 статья из цикла ssh-chat. Что мы сделаем: Добавим возможность создания своих функций оформления Добавим поддержку markdown Добавим поддержку ботов Увеличим безопасность паролей(хеш и соль) Читать дальше →

9 лет в монолите на Node.JS Неделю назад я выступал на митапе по Node.JS, и многим обещал выложить запись выступления. Уже потом я понял, что мне не удалось вместить в регламентированные полчаса некоторые интересные факты. Да и сам я больше люблю читать, а не смотреть и слушать, поэтому решил выложить...

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

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

Сравниваем micro:bit с Arduino. И как получить micro:bit бесплатно, если ты не английский школьник? О плате micro:bit, которая была разработана британской корпорацией Би-Би-Си для обучения школьников, уже несколько раз писали на Хабре, например, вот хорошая обзорная статья. Но, почти каждый раз, упоминание об этой плате вызывает одни и те же вопросы с большой долей сомнени...

Как подружить дисплей MKS TFT28 и плату MKS SBASE v1.3 Smoothieware (смузи) Итак, приобрел я 32-х битную плату MKS-SBASE v 1.3 подключил, залил последнюю версию прошивки, настроил конфигрурацию. Пришло время подключать TFT дисплей, подключаю шлейф, прошиваю дисплей, появляются красивые значки на экране, все кнопочки нажимаются, а плата не управляетс...

[Перевод] Основы Dart Streams Это вторая часть моей серии по поводу Flutter Architecture: Введение Основы Dart Streams (этот пост) RxDart: магические трансформации потоков Основы RxVMS: RxCommand и GetIt RxVMS: Службы и Менеджеры RxVMS: самодостаточные виджеты Аутентификация пользователя посредством R...

[Из песочницы] Разработка многозадачной микроядерной ОС — Планировщик После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика. Честно говоря я долго думал стоит ли начинать писать статьи ...

Новый корпус Nitecore D4 + паяльный стол для SMD Получаю я значит сегодня письмо от 3DToday о том, что давно не писал ничего на сайте. Ну раз надо - написать что то, то не вопрос! Правда за это время мало чего интересного было мной сделано. Вот думаю - писать отдельно о каждой мелочи - жалко Ваше время. А вот совместить дв...

Esquire в Сингапуре выпустил написанный ИИ-ботом журнал «Робот» написал несколько текстов, включая письмо редактора — и потратил на каждый материал всего несколько минут.

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

Некоторые пользователи Windows 10 S не могут отключить S-режим Когда Windows 10 S впервые была выпущена, Microsoft обещала, что в течение ограниченного времени пользователи смогут бесплатно обновиться до полноценной Windows 10 Pro. Позднее Windows 10 S превратилась в S-режим, а компания объявила, что отключить который можно в любой мом...

[Перевод] В Java 13 хотят добавить «блоки текста» Блоки текста запланированы к появлению в Java 13. Об этом стало известно из JEP 355. Блоки текста — это многострочный строковый литерал, который устраняет необходимость в экранировании большинства специальных символов и автоматически делает переносы строки. Это дальнейшая...

[Перевод] 7 полезных сайтов и приложений для изучения английского Интересный факт – 20% населения планеты хотя бы на каком-то уровне говорит на английском языке, а его носителями являются всего 5% населения. При этом, этот язык – пожалуй, главный в интернете. По статистике, на нем написано 55,5% всего размещенного онлайн-контента. Так ...

[Перевод] Почему для открытия меню Windows читает один файл сто тысяч раз? «Проводник тратит 700 мс на то, чтобы открыть контекстное меню панели задач. 75% этого времени он выполняет 114 801 операцию считывания из одного файла, средний объём считываемых данных 68 байт. Мне стоит написать пост об этом, или достаточно саркастичного твита?» За комп...

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

Новые сертификации для девелоперов от Cisco. Обзор отраслевых сертификаций Сертификационная программа Cisco существует уже 26 лет (была основана в 1993 году). Многим хорошо известна инженерная линейка сертификаций CCNA, CCNP, CCIE. В этом году программа дополнилась еще и сертификациями для девелепоров, а именно DevNet Associate, DevNet Specialist, ...

Дело в шляпе: топ-10 докладов Heisenbug 2018 Moscow Как упростить рефакторинг? Как научить разработчика избегать типовых ошибок в UI? Как вызвать восторг зрителей конференции по тестированию, если сам ты не тестировщик? По традиции, открывая для всех видеозаписи докладов Heisenbug, мы публикуем на Хабре топ-10, составленны...

[Из песочницы] Как я свой первый ИИ писал Привет, Хабр. История моя берёт начало в январе 2019 года. Мы с моей тимой геймдевелоперов решили взяться за самый большой проект в нашей истории- 2Д платформер. Нет, мы не делали до этого какие-нибудь FlappyBird'ы или змейки, но объём работы в этом проекте просто сносил на...

Как начать программировать в Adobe Illustrator. Скрипт Expand Clipping Mask. Часть вторая Этот пост — продолжение первой части, где был представлен скрипт Expand Clipping Mask и детально описано, что и как он делает, а также попутно рассмотрены основные принципы создания подобных программ в целом. В этой части я продолжу рассказ о том, как добавить в программу но...

Обзор GeForce NOW в России: плюсы, минусы и перспективы В октябре этого года облачный игровой сервис GeForce Now начал работу в России. Собственно, он был доступен и раньше, но для регистрации нужно было получить ключ, который доставался далеко не каждому игроку. Теперь можно зарегистрироваться и играть. Об этом сервисе я уже ...

[Из песочницы] Неявные (implicit) параметры и преобразования в Scala Пробежавшись по предыдущим статьям на Хабре, тыц и тыц так и не удалось в быстром режиме понять, что делает неявность (implicit) в Scala. Попробуем разобраться вместе. Итак, implicit в Scala позволяют избежать вызывания методов или явных ссылок на переменные, и взамен это...

Как создать Python wrapper и не сойти с ума Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe...

[Из песочницы] Тестирование API с использованием Postman и Excel Всем привет, я руководитель отдела тестирования, и недавно по работе появилась задача на тестирование API. Для ее решения освоил новый для меня инструмент Postman и JavaScript. Первоначально на каждый API я писал свои коллекции и готовил тестовые данные в JSON формате. Это ...

[Перевод] Пишем HTTP/1.1 & HTTP/2 клиент и сервер на Golang Golang — отличный язык программирования с широким спектром возможностей. В этой статье показано, как на Go можно написать клиент и сервер для протоколов HTTP/1.1 и HTTP/2. Читать дальше →

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

Представляем shell-operator: создавать операторы для Kubernetes теперь совсем просто В нашем блоге уже были статьи, рассказывающие про возможности операторов в Kubernetes и о том, как написать простой оператор самому. На этот раз хотим представить вашему вниманию наше Open Source-решение, которое выводит создание операторов на суперлёгкий уровень, — познаком...

Как сэкономить на психотерапевте используя test-driven development У вас когда-нибудь было такое состояние? Хочу показать вам, как TDD может улучшить качество кода на конкретном примере. Потому что всё то, что я встречал при изучении вопроса, было довольно-таки теоретическим. Так получилось, что мне довелось написать два практически иден...

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

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

Самый дорогой пост на блоге Этот пост – квинтэссенция длительных конфли...

Nginx VTS Stats, Mockify — mock API, сравнение Wiremock и Mockify В этом посте я хотел сделать демо Nginx VTS + Prometheus + Grafana. Для демо необходимо было чтобы upstream могли выдавать разные http коды. Это могли сделать следующие проекты: Mockify, написанный на Golang, и WireMock, написанный на Java. Небольшое оглавление установка и...

.NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 2 Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Я продолжаю создавать текстовую версию своего выступления на митапе по многопоточности. С первой частью можно ознакомиться здесь или здесь, там речь больше шла о базовом наборе инструментов, что...

Мысленный эксперимент: Flutter на Go Совсем недавно я открыл для себя Flutter – новый фреймворк от Google для разработки кроссплатформенных мобильных приложений – и даже имел возможность показать основы Flutter человеку, который никогда не программировал до этого. Сам Flutter написан на Dart – языке, родившимся...

Пользователи обругали Adobe за то, каким вышел Photoshop для iPad Photoshop для iPad вышел, но пользователи невысоко оценили его Помните мем «ожидание-реальность», высмеивающий завышенные ожидания? Он довольно точно отражает то, как многого мы порой ожидаем от кого-то или чего-то, получая на выходе нечто куда менее грандиозное. То же самое...

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

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

Как писать полиморфические программы c помощью Arrow Привет, Хабр! Меня зовут Артём Добровинский, я работаю в компании Finch. Предлагаю к прочтению статью одного из отцов библиотеки функционального программирования Arrow о том, как писать полиморфические программы. Часто люди, которые только начинают писать в функциональном...

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

Создаем краудсорсинговые карты помощи на WordPress + shMapper TL;DR мы сделали бесплатный опен-сорсный плагин shMapper, который позволяет создавать карты помощи, а также другие краудсорсинговые карты (с подложкой на Я.К и OSM) на WordPress. Завязка Девять лет назад горела вся центральная Россия. Я написал хабрапост, в котором призвал...

4 смертных греха TWS наушников: почему True Wireless всё еще не труъ? Когда все вокруг заговорили о совсем беспроводных наушниках, моей радости не было предела. Больше никаких ошейников, никаких проводков! Ничего, кроме двух связанных друг с другом какой-то ментальной магией, затычек прямо в ушах? Дайте два! По одному в каждое ухо! И милый зар...

Напиши свою песню за 10 минут (модуль textgenrnn Python3) Сегодня попробуем обучить свою собственную нейронную сеть, чтобы писала текст для песен. Обучающей выборкой будут тексты группы "Руки Вверх". Ничто не мешает чтобы поменять данные на тексты своих любимых групп. Для извлечения данных с веб-сайтов используем Python3 (модуль B...

[Из песочницы] Абстрактная фабрика на пальцах Написать данную статью меня заставили две причины. Совсем недавно я познакомился с паттерном Абстрактная фабрика. Как говорится – «Не умеешь сам, научи товарища». Известно, что один из лучших способов закрепления материала – это объяснение кому-либо ранее изученного. Вторая ...

Надо ли устанавливать macOS Catalina? Мнение наших читателей Умеет Apple делать красивые заставки для своих ОС Летом этого года Apple представила macOS Catalina. На презентации она выглядела очень многообещающей. Возможность запускать приложения с iPad, использование iPad в качестве графического планшета или второго экрана. Выглядит и...

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

Обзор напольной мультимедийной акустики F&D T-88x Совсем недавно компания F&D (Fenda) выпустила новую модель напольной мультимедийной акустики для домашнего кинотеатра под индексом T-88x, которая, по заявлениям производителя, способна добавить драйва и новых звуковых красок при просмотре любимых фильмов. Давайте посмотр...

Тренды на рынке наушников: что мы будем покупать в ближайшее время У нас в блоге довольно много разных постов о разных наушниках. А что поделать: категория огромная, и хочешь не хочешь, а натыкаешься. Чаще всего это, конечно, костная проводимость и TWS-ки. И вот мы решили заглянуть в разные источники, а есть ли что-то в мире еще и какие в...

Исправляем паттерн проектирования — Singleton в PHP Недавно я писал о том, как сломать паттерн проектирования — Singleton в PHP. После написания статьи я искал новый вариант реализации паттерна: есть ли способ создать Singleton в PHP, не давая возможности создавать новые экзепляры класса с помощью Closure::bind()? Читать даль...

ЧПУ выжигатель с нихромовой проволокой часть 3. Прошивки и ПО. Всем привет. Давайте продолжим. Начало здесь и здесь .  Есть группа в VK Немного отклонюсь от порядка написания, начнем с различного ПО и прошивки. Плюс в следующей статье, добавим пару плюшек с помощью двух релюшек )) Как было известно из первой статьи станок работает ...

Серверы HPE в Selectel Сегодня в блоге Selectel гостевой пост — о своем опыте использования услуг Selectel расскажет Алексей Павлов, технический консультант компании Hewlett Packard Enterprise (HPE). Дадим ему слово. Лучший способ проверить качество услуги — самому ей воспользоваться. Наши заказ...

Пробуем preload (PHP 7.4) и RoadRunner Привет, Хабр!  Мы часто пишем и говорим о производительности PHP: как мы ей занимаемся в целом, как мы сэкономили 1 млн долларов при переходе на PHP 7.0, а также переводим разные материалы на эту тему. Это вызвано тем, что аудитория наших продуктов растёт, а масштабирован...

Software Defined Radio — как это работает? Часть 9 Привет Хабр. В предыдущей части было рассмотрено декодирование сигналов RDS для FM-радиостанций, и идея следующей статьи возникла сама собой — нужно сделать свой собственный FM-трансмиттер. Вариантов будет два — простой, и более сложный, с RDS. Как и в предыдущих случая...

Как строить, развертывать и тестировать Waves RIDE dApp Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки. Схема разработки dApps и обычных приложений почти не отличается: Пишем код Пишем автоматизированное тестирование Запуска...

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

[Перевод] Я самый большой скупердяй в инди-разработке игр Скриншот из Queen's Wish. Учтите, что я использую игровой арт, который мне нравится. Это необходимо, потому что потом придётся смотреть на него годами, и я не хочу сойти с ума. Неделю назад я опубликовал в блоге пост «Почему все мои игры выглядят так отстойно» (оригинал). ...

[Из песочницы] Покупки в Android приложении — Play Billing Library И как это до сих пор на Хабре нет статьи об этом? Не дело, надо исправлять. Есть 2 способа добавить In-App покупки в Android-приложение — старый и новый. До 2017 года все пользовались библиотекой от anjlab, но с июня 2017 года ситуация изменилась, Google выпустила собстве...

Тот, кто воскресил Duke Nukem: интервью с Рэнди Питчфордом, волшебником из Gearbox RUVDS совместно с Хабром продолжают проект, состоящий из серии интервью с интересными, на наш взгляд людьми в IT-среде. В прошлый раз мы познакомились с Ричардом (Levelord) Греем. Levelord — дизайнер легендарных игр Duke Nukem, American McGee’s Alice, Heavy Metal F.A.K.K.2, ...

C++ Enterprise Edition. Возможно ли? C++ Enterprise Edition Что такое "enterprise edition" Удивительно, но за все время моей работы в IT, я ниразу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пи...

[Из песочницы] О том, как найти ошибку в микропроцессоре, выпущенном тридцать пять лет назад В это трудно поверить, но иногда ошибки в процессорах, по-сути, живут дольше, чем сами процессоры. Недавно мне довелось в этом убедиться на примере 16-ти разрядного микропроцессора 1801ВМ1А, на основе которого в свое время в СССР было создано семейство бытовых компьютеров Б...

AMA с Хабром (Прямая линия с TM, v 6.0) Хабр детям не игрушка, а развлечение, информация и знания для брутальных айтишников и их боевых подруг. В общем, вы поняли, что расположение духа у нас праздничное, и нас тянет на поговорить. Как, впрочем, каждую последнюю пятницу месяца в рамках проекта АМА. А ещё мы вам по...

О том как я подготовился и сдал сертификацию Oracle Database SQL (1Z0-071) Зачем написана статья? Когда я готовился к OCA и OCP по Java 8, то нашел много статей на Хабре, благодаря которым выбрал оптимальный путь и сэкономил много времени. Однако по подготовке именно к OCA Oracle Database SQL (1Z0-071) материалов на Хабре нет и в интернете тоже о...

[Из песочницы] Как я научил Яндекс.Алису говорить о секс-игрушках Интегрируем Яндекс.Алису и интим магазины через Spring boot. Тема голосовых ассистентов набирает обороты, и я решили присоединиться к этому тренду, интегрировав самого крупного оптового поставщика интим-товаров и Яндекс.Алису. Читать дальше →

Oculus Rift S полный обзор 21 мая начнутся поставки нового PCVR шлема от Oculus (Facebook), который носит имя Rift S и стоит $399. Что же может означать буква S в этом названии? Superior (превосходящий)? Действительно ли этот шлем превосходит своего предшественника Oculus Rift? Есть мнение, что скоре...

Перевод «Подготовьте ваши приложения к 64-бит требованиям» Перевод статьи Get your apps ready for the 64-bit requirement блога «Android Developers Blog». Современные 64-бит процессоры увеличивают скорость и обогащают опыт ваших пользователей. Добавление 64-бит версии приложения даёт улучшение производительности, открывает пути для...

«Универсал» в команде разработки: польза или вред? Всем привет! Меня зовут Людмила Макарова, я менеджер разработки в УБРиР и треть моей команды – «универсалы». Признайте: каждый Tech Lead мечтает о кросс-функциональности внутри своей команды. Ведь это так круто, когда один человек способен заменить трех, да еще и сделать ...

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

Компания Nikola Motor представила два электрогрузовика и кое-что еще Все больше компаний занимается разработкой и выпуском электромобилей. У Tesla Inc появляются новые конкуренты. Один из них — компания Nikola Motor, о которой на Хабре уже писали. На днях эта компания представила несколько транспортных средств, работающих на электричестве и...

[Перевод] Используйте __main__.py Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют это магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаим...

Смартфоны LENOVO Z5 PRO GT SD855 Смартфоны LENOVO Z5 PRO GT SD855 были проданы меньше чем за минуту. Вчера смартфон Lenovo Z5 Pro GT SD855 был официально продан впервые, и этот флагманский смартфон был распродан менее чем за одну минуту.  Страница продаж показывает, что в версии Lenovo Z5 Pro GT SD855 ...

С чего начать изучать веб-разработку в 2019 году или HTML Academy VS Codecademy VS FreeCodeCamp Привет, Хабр! Хочу поделиться своими мыслями о самых популярных площадках для изучения веб-разработки HTML Academy, Codecademy, FreeCodeCamp (мне бы хотелось прочитать подобную статью, когда я только начинала учиться веб-разработке самостоятельно). *Данный обзор является мо...

Habr Weekly #13 / Под угрозой 1,5 млн пользователей дейтингового сервиса, расследование «Медузы», деанон россиян Снова рассуждаем о приватности. Эту тему мы так или иначе обсуждаем с начала подкаста и, кажется, к этому выпуску нам удалось сделать несколько выводов: нас все-таки парит наша приватность; важно не что скрывать, а от кого; мы — это наши данные. Поводом к обсуждению послу...

Прозрачные видеоочки с HDMI и USB-C заказывали? Встречайте: Epson Moverio BT-35E Когда мы рассказывали в блоге о своих бинокулярных видеоочках Moverio BT-200 и BT-300, одной из ключевых особенностей очков всегда называли малый вес (88 и 69 грамм, соответственно), который удалось обеспечить, вынеся «мозги» устройства в отдельный блок управления на базе An...

ZeroNights Hackquest 2019. Results & Writeups Совсем недавно завершился ежегодный HackQuest, приуроченный к конференции ZeroNights. Как и в прошлые годы, участникам предстояло решить 7 различных заданий — по одному на сутки квеста. Задания, как всегда, помогли подготовить наши коммьюнити партнеры. Узнать, как же решалис...

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

Об этике на примере кодекса PMI Осторожно, тут простыня (лонгрид), которая может не понравиться многим! Я долго думал, как разделить ее на несколько, но решил на Хабре оставить целиком. И наверное, начало статьи не совсем подходит под название. Кто такой хороший руководитель? Читать дальше →

Хабрамегарейтинг: лучшие статьи и статистика Хабра за 12 лет. Часть 1/2 Привет Хабр. После публикации рейтинга статей за 2017 и 2018 год, следующая идея была очевидна — собрать обобщенный рейтинг за все годы. Но просто собрать ссылки было бы банально (хотя и тоже полезно), поэтому было решено расширить обработку данных и собрать еще немного пол...

Чтение на выходные: 65 материалов о стриминге, истории старого «музыкального железа» и аудиотехнологиях Это — традиционная мегаподборка из нашего блога на Хабре и «Мира Hi-Fi» — тематического журнала по теме аудитехники. Предлагаем вашему вниманию избранные материалы: от ретроспективного анализа развития музыкальной индустрии до рынка подкастов, истории первых аудиогаджетов, «...

[Перевод] Обзор твердотельного SSD для корпоративных пользователей Kingston DC500R Недавно компания Kingston выпустила твердотельный накопитель класса enterprise Kingston DC500R, рассчитанный на высокие постоянные нагрузки. Сейчас многие журналисты активно тестируют новинку и выпускают интересные материалы. Хотим поделиться с Хабром одним из подробных обзо...

Новый загрузчик Buhtrap Сегодня мы расскажем вам о новом подходе к рассылке ВПО группировкой Buhtrap. Модуль загрузчика 19 декабря нам стало известно о вредоносной рассылке, содержащей исполняемый файл (md5: faf833a1456e1bb85117d95c23892368). Файл принимал различные названия: «Сверка за декабрь....

[Из песочницы] Как написать легко описываемый код Привет, Хабр! Часто ли у вас было, что вы или ваши коллеги не могли описать свой собственный код парочкой фраз? Предлагаю вашему вниманию перевод статьи "How to write easily describable code" автора Cedd Burge, в которой он делится советом, как избежать таких ситуа...

Тестирование в 7 играх на интегрированных GPU и Radeon RX 540X: добавляем пару версий Intel Iris Plus Graphics, а также новый Ryzen 5 3400G Полноценными игровыми решениями считать невозможно ни одну из протестированных сегодня конфигураций. В этом плане правильным является позиционирование «дискретных NUC» как «Mainstream-G»: очень многие популярные игры на деле к графике предъявляют требования едва ли бо́льшие,...

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

Строительные блоки распределенных приложений. Второе приближение Анонс Коллеги, в середине лета я планирую выпустить еще один цикл статей по проектированию систем массового обслуживания: “Эксперимент VTrade” — попытка написать фреймворк для торговых систем. В цикле будет разобрана теория и практика построения биржи, аукциона и магазина. В...

Как стать коммиттером и действительно ли вам это нужно Привет! Меня зовут Дмитрий Павлов, я работаю в GridGain, а также являюсь коммиттером и участником PMC в Apache Ignite и контрибьютором в Apache Training. Недавно я выступал c докладом о работе коммиттера на митапе Сбербанка по open source. С развитием opensource-сообщества у...

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

Lazarus — пишем компонент для анимации спрайтов Вместо предисловия В одесской школе ученики 8-го класса на уроках информатики используют бесплатную кроссплатформенную среду разработки Lazarus (официальный сайт: www.lazarus-ide.org), внешне и внутренне очень напоминающую любимый многими Delphi, использующую версию Object P...

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

Виртуальная машина на ESP8266 для запуска игр VM, написанная неуверенной рукой гуманитария в среде программирования Arduino с использованием быдлокода и велосипедов. А еще есть компилятор для нее из си-подобного языка, написанный на JavaScript теми же методами. Да. Уже можно спешить в комментарии, бросать камни. Ну а те...

Lyft и Uber выходят на IPO. Почему стоит инвестировать в Lyft? В United Traders мы следим за всеми технологическими компаниями, которые выходят на IPO, и конечно, за самыми громкими. Возможно, многие знают, что 29 марта на биржу выходит Lyft, а в апреле обещает выйти Uber. Чтобы рассказать о Lyft — конкуренте Uber на рынках США и Кана...

Сайзеры wxWidgets Привет Хабр! Сегодня хочу немного рассказать о своем опыте применения сайзеров в wxWidgets. Всю свою сознательную 'жизнь' на С++ я провёл в среде C++Builder с редкими вылазками в Misrosoft VC. В поисках чего-то нового решил попробовать связку CodeBlocks и wxWidgets. И сраз...

В Gboard добавлено еще 50 языков Виртуальная клавиатура Gboard была выпущена около двух лет назад и поддерживала на тот момент около 100 языков и их разновидностей. Компания Google опубликовала официальное заявление, сообщив о том, что что список поддерживаемых языков с выходом свежего обновления ...

Конкурс разработчиков плагинов TeamCity Привет, Хабр! Недавно мы запустили конкурс разработчиков плагинов для TeamCity, и вы все еще можете в нем поучаствовать. Правила просты: участники присылают нам плагины до 24 июня, а взамен получают годовую подписку на любую IDE от JetBrains на свой выбор. После того как...

Новый билд Nemesida WAF Free для NGINX В прошлом году мы выпустили Nemesida WAF Free — динамический модуль для NGINX, блокирующий атаки на веб-приложения. В отличие от коммерческой версии, основанной на работе машинного обучения, бесплатная версия анализирует запросы только сигнатурным методом. Особенности рели...

E-Dobavki — веб-сервис поиска пищевых добавок на Java и Spring Boot, написанный моими студентами Введение Так получилось, что последние почти два года я преподаю программирование в одной из IT школ Киева. Занялся я этим Just For Fun. Когда-то я вел блог по программированию, потом забросил. Но желание рассказывать полезные вещи заинтересованным людям никуда не делось. Мо...

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

Самые мощные смартфоны октября в Китае по версии AnTuTu: новички OnePlus 7T, 7T Pro и realme X2 Pro На сайте AnTuTu появилась новая подборка самых мощных смартфонов за месяц. И пусть на первый взгляд поменялось немногое, кое-какие интересные изменения произошли. В лидерах все еще Vivo NEX 3 5G и iQOO Pro 5G. На третью и четвертую строчку ворвались OnePlus 7T и OnePlus 7T ...

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

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

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

[Перевод] Как GPU справляются с ветвлением О статье Этот пост — небольшая заметка, предназначенная для программистов, которым хочется больше узнать о том, как GPU обрабатывает ветвление. Можно считать её введением в эту тему. Рекомендую для начала просмотреть [1], [2] и [8], чтобы получить представление о том, как в...

Сжимаем список IP-адресов наилучшим образом Как-то я прочитал на Хабре статью про настройку BGP на роутере. Инструкции оттуда можно использовать для настройки домашнего роутера так, чтобы трафик на определённые IP-адреса шёл через другой канал. Однако здесь есть проблема: список IP-адресов может быть очень большим. ...

[Перевод] Apple 2019 в году — это Linux в 2000 году Примечание: этот пост — ироничное наблюдение на тему цикличности истории. Это самое наблюдение не несет какой-либо практической пользы, но в сути своей — весьма меткое, так что я решил, что им стоит поделиться с аудиторией. Ну и конечно же, встретимся в комментариях. На п...

REST? Возьмите тупой JSON-RPC В последнее время на Хабре разгорелось много споров по поводу того, как правильно готовить REST API. Вместо того, чтобы бушевать в комментариях, подумайте: а нужен ли вам REST вообще? Что это — осознанный выбор или привычка? Возможно, именно вашему проекту RPC-like API по...

[Перевод] Настало ли время для URL, содержащих эмодзи? Домены с эмодзи существуют уже много лет, но до сих пор не обрели популярность [К сожалению, редактор Хабра не позволяет вставлять в текст эмодзи. Эмодзи-ссылки можно найти в оригинальном тексте статьи (копия статьи на сайта Archive) / прим. перев.] Если вы введёте в адре...

Говорит и показывает: отличается ли риторика кандидатов в президенты? Можно ли по цитате определить, кто из политиков ее автор? Украинская НКО Vox Ukraine делает проект VoxCheck, в рамках которого проверяет высказывания наиболее рейтинговых политиков. Недавно они выложили всю базу проверенных цитат. Я как раз слушаю курсы по NLP и решила прове...

Мы написали самый полезный код в своей жизни, но его выкинули на помойку. Вместе с нами Я повесил у себя в подвале боксерскую грушу, приклеил на нее стоковое фото типичного менеджера и запихал внутрь динамик, чтобы он проигрывал фразы, которые меня злят. Например, груша говорит: «Бизнесу не нужен твой идеальный код. Ему нужно решить проблему так, чтобы прибыл...

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

[Из песочницы] Нужно ли писать weak self в Grand Central Dispatch? Тут у нас возник спор: нужно ли писать [weak self] в GCD? Один говорит: – [weak self] нужно писать везде! Второй говорит: – Нет, даже если не писать [weak self] внутри DispatchQueue, утечки памяти не будет. Вместо того, чтобы разбираться, легче написать пару строк. Тяжеле...

[Из песочницы] Небольшой бэкдор на Flask или как управлять компьютером в локальной сети Привет, Хабр! Недавно я посмотрел скачанную версию стрима по программированию «Как создать свое веб-приложение на Flask». И решил закрепить свои знания в каком-нибудь проекте. Долго не знал, что написать и мне пришла идея: «А почему бы не сделать мини-бэкдор на Flask?». В ...

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

Элементарный Canvas Если вы изучаете веб совсем недавно, но уже успели увидеть различные красивые эффекты на сайте, по типу системы частиц или какие либо игры разработанные на canvas'e и вас это заинтриговало, но изучать что-то новое очень страшно, то я вам готов продемонстрировать, как за 50 с...

Nullable Reference типы в C# 8.0 и статический анализ Не секрет, что Microsoft достаточно давно работает над выпуском восьмой версии C#. В недавно состоявшемся релизе Visual Studio 2019 новая версия языка (C# 8.0) уже доступна, но пока ещё только в качестве beta релиза. В планах этой новой версии есть несколько возможностей, р...

[Из песочницы] Ломаем простую «крякми» при помощи Ghidra — Часть 1 О том, что это за зверь такой — Ghidra («Гидра») — и с чем его едят она ест программки, многие уже, наверняка, знают не понаслышке, хотя в открытый доступ сей инструмент попал совсем недавно — в марте этого года. Не буду докучать читателям описанием Гидры, ее функциональност...

30-минутный геймплейный ролик Tropico на iPhone 8 Совсем недавно мы уже показывали коротенький ролик, на котором Feral Interactive продемонстрировали интерфейс симулятора Tropico на iPhone. Но сегодня они выпустили полноценное получасовое видео с игровым процессом. Разработчики в очередной раз адаптировали элементы управле...

[Перевод] Анонс новой версии Styled Components v5: Звериный оскал Мы очень рады анонсировать новую пятую версию styled-components! Новая версия полностью обратно-совместима с предыдущей версией при условии использования последней версии React. Бету пятой версии можно попробовать уже сейчас: npm install styled-components@beta Нужна версия...

Исповедь рекламного агентства из глубинки: взлёты, падения и внедрение CRM «Я CIO, CTO, швец, жнец и на дуде игрец в небольшом рекламном агентстве в топ-85 регионе России. На первый взгляд, все эти полиграфии, концепции и нанесения страшно далеки от Хабра. Однако это не так. Сложные станки, автоматизация бизнеса, CRM, склад — неполный список ИТ-инф...

Ядерные войны далекого прошлого? Раз уж написали статью про «а вдруг Земля не плоская», пожалуй расскажу еще про одну теорию заговора Мы живем в удивительное время и постоянно узнаем удивительные вещи. Что Земля плоская, что Нерон и Наполеон — один человек, что не только американцы не летали на Луну, а воо...

Чем мы можем Вам помочь? Чем Вы можете помочь нам? Открытый API и вход по отпечатку пальцев. Что нового в security-приложении Cloud-Clout Приложение для безопасного хранения и обмена данными в облаках Cloud-Clout открывает свой API. Добрый день, Хабр! Прежде всего, разработчики приложения хотят поблагодарить всех хабро...

Software Defined Radio — как это работает? Часть 4 Привет Хабр. В третьей части было рассказано, как получить доступ к SDR-приемнику посредством языка Python. Сейчас мы познакомимся с программой GNU Radio — системой, позволяющей создать достаточно сложную конфигурацию радиоустройства, не написав ни единой строчки кода. Д...

[Из песочницы] Почему мы пишем бизнес-логику на Lua Привет, Хабр. В этом посте мы хотим рассказать о том, как и почему мы в IPONWEB используем язык программирования с красивым названием Lua. Lua — скриптовый встраиваемый язык программирования со свободно распространяемым интерпретатором и открытыми исходными текстами на C. О...

«Очная ставка» NeoQUEST-2019: сбиваем дроны и создаём карманный VirusTotal Казалось бы, совсем недавно мы собирались вместе, чтобы послушать доклады о самом актуальном в ИБ, попробовать своими руками сделать что-то кибербезопасное, посмотреть на cold-boot-attack и просто хорошо провести время. Год пролетел незаметно, и уже 26 июня, как всегда — в...

Пользователи пожаловались на еще одну проблему iOS 12.1.2 Сбой в работе голосовых звонков и невозможность установить соединение с сетями LTE, оказалась не единственными проблемами, которые принесла установка iOS 12.1.2. Как оказалось, обновление также нарушает стабильность Wi-Fi-подключений, по сути, лишая многих пользователей воз...

GHIDRA, исполняемые файлы Playstation 1, FLIRT-сигнатуры и PsyQ Привет всем, Не знаю как вам, а мне всегда хотелось пореверсить старые приставочные игры, имея в запасе ещё и декомпилятор. И вот, этот радостный момент в моей жизни настал — вышла GHIDRA. О том, что это такое, писать не буду, можно легко загуглить. И, отзывы настолько разн...

Альтернативный оркестратор nomad на десктопе В настоящее время оркестрация контейнеров ассоциируется в первую очередь с kubernetes. Но это не единственный возможный выбор. Есть и альтернативные средства оркестрации, например nomad, разработчик HashiCorp (хорошо известный как разработчик средства виртуализации Vagrant)....

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

Custom’ная калибровка Eye-tracker’а Скоро будет год, как мы выпустили продукт с Custom’ной калибровкой Eye-tracker’а на борту. К сожалению, по разным причинам, все никак не получалось добить эту статью. Однако, недавно произошел забавный случай, который побудил закончить начатое. Но, обо всем по порядку. Над...

Coca-Cola выпустит напиток с новым вкусом Компания поделилась в соцсети Twitter о запуске в производство ванильно-апельсиновой колы. Сообщается, что новая газировка будет продаваться как с сахаром, так и без. В продажу Orange Vanilla Coke поступит уже 25 февраля, но пока-что только в США. Информации о появлении на ...

[Что не так с GraphQL]… И как с этим бороться В прошлом материале, мы рассмотрели неудобные моменты в системе типов GraphQL. А теперь мы попробуем победить некоторые из них. Всех заинтересованных, прошу под кат. Читать дальше →

Долгожданный шаг в сторону сложно структурированных документов (+видео) Этой статьей на Хабре мы с большим удовольствием анонсируем вам, друзья, что от шаблонных жестко структурированных документов мы перешли к распознаванию различных сложно структурированных. А это, поверьте, совсем другая песня! За деталями добро пожаловать под кат. Читать да...

[Из песочницы] Domain Driven Design: Value Objects и Entity Framework Core на практике На Хабре и не только написано приличное количество статей про Domain Driven Design — как в общем про архитектуру, так и с примерами на .Net. Но при этом зачастую слабо упоминается такая важнейшая часть этой архитектуры, как Value Objects. В этой статье я постараюсь раскрыт...

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

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

[Перевод] .NET Core с блокнотами Jupyter — Preview 1 Когда вы думаете о блокнотах Jupyter, на ум, вероятно, приходит код Python, R, Julia или Scala, а не .NET. Сегодня мы рады сообщить, что вы можете писать .NET-код в Jupyter Notebooks. Try .NET развился, чтобы поддерживать больше интерактивных возможностей в Интернете с помо...

Пишем XGBoost с нуля — часть 1: деревья решений Привет, Хабр! После многочисленных поисков качественных руководств о решающих деревьях и ансамблевых алгоритмах (бустинг, решающий лес и пр.) с их непосредственной реализацией на языках программирования, и так ничего не найдя (кто найдёт — напишите в комментах, может, что...

Adobe может выпустить полноценную версию редактора Illustrator для iPad в 2020 году Многие считают планшеты в общем и iPad в частности «прикроватным устройством» — видео посмотреть, в сети погулять или в игры поиграть. Но из года в год Apple расширяет возможности iPad, превращая их из развлекательных в рабочие инструменты. И в этом им отлично помогают стор...

Графическое ядро Intel Iris Plus Graphics 940 демонстрирует производительность на уровне GPU Vega 11 Недавно мы говорили о том, что Intel раскроет подробности о своих новых интегрированных GPU на мероприятии GDC 2019 в марте. Тогда же говорилось, что GPU Gen11 в сравнении с актуальными решениями получат гораздо больше исполнительных блоков, а производительность превыси...

О чем думать на NALSD собеседовании Я описывал ранее типичное кодинг-интервью. Помимо кодинга почти всегда есть вопрос на проектирование систем. (Large) System Design. В случае собеседований на SRE, это еще более интересный (как по мне) зверь — NALSD. Non-abstract large system design. Главное отличие между SWE...

Выходит новая версия Huawei P30 с 12 ГБ ОЗУ, цена на смартфон скоро упадет Компания Huawei добавит в линейку Huawei P30 новую версию. Согласно последней информации, опубликованной Министерством промышленности и информационных технологий, Huawei P30 получит версию с 12 ГБ оперативной памяти. Если говорить точнее, то версия с 12 ГБ оператив...

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

Шасси для внешней 3D-карты Razer Core X Chroma с блоком питания мощностью 700 Вт может заряжать ноутбуки Компания Razer выпустила шасси для внешней 3D-карты Razer Core X Chroma. Оно совместимо с компьютерами, работающими под управлением Windows 10 и macOS, — главное, чтобы был порт Thunderbolt 3. В описании Razer Core X Chroma производитель выделяет наличие блока пи...

Как попасть в топ Google в ЕС/США в нише разработки и найти клиентов с большими бюджетами Пост лучше всего подойдет разработчикам «one-man-company» или командам. Я расскажу, как достаточно легко и просто (при отсутствии или минимальном бюджете) попасть в топ поисковой выдачи в развитых странах в нише разработки и перестать бороться за клиентов в СНГ, которые хотя...

Сравнительное тестирование PostgreSQL на FreeBSD, CentOS, Ubuntu Debian и openSUSE Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «PostgreSQL benchmark on FreeBSD, CentOS, Ubuntu Debian and openSUSE» автора Martin Kováčik. В ней рассматриваются тесты СУБД PostgreSQL 10.1 в приближенных к реальным условиям средах на различных unix-сис...

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

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

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

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

Очередная модернизация FLASHFORGE dreamer Ну вот дорогие друзья я почти дорос до второго своего поста на этом сайте. Есть лишь пара моментов которые мне мешают его опубликовать. Я попытался обсудить это с админом сайта, но он молчит как рыба об лед, я стараюсь, но меня мало лайкают, или вообще не лайкают, просто кач...

Security Week 24: заводские бэкдоры в смартфонах Android Прошедшая неделя вышла богатой на новости про безопасность смартфонов Android. Во многих СМИ (например, в ArsTechnica) написали о том, что Google «подтвердила» факт продажи смартфонов с предустановленным «на заводе» бэкдором. Поводом для таких заголовков стала вполне техниче...

Как выглядит zip-архив и что мы с этим можем сделать Доброго времени суток, уважаемый Хабр! За последние пол года кривая дорожка моих пет-проектов завела меня в такие дебри, откуда до сих пор выбраться не представляется возможным. И начиналось то все безобидно — сайт с картинками, но чувство перфекционизма, погоня за халявой,...

ЧПУ в хоббийной мастерской (часть 3) Изначально, планировал ограничиться двумя постами (раз, два) про мои ЧПУшные эксперименты. Но, тема оказалась многим интересной, поэтому немного ее еще пораскрываю. В этом посте пойдет речь про написание самодельного софта для управления любительским ЧПУ. Читать дальше →

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

[Из песочницы] Создание инструмента для быстрого и эффективного написания автотестов на Selenium Фундаментальный строительный блок автоматизации – тестирование Род Джонсон Я не амбассадор автоматизации тестирования веб интерфейсов, однако сей очерк скорее будет полезен камрадам, уже имеющим опыт в этой сфере. Для совсем новичков также будет полезно, т.к. я предоставл...

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

Утечка данных (которая могла произойти, но не произошла) из телемедицинской компании Буквально пару дней назад я писал на Хабре про то, как российский медицинский онлайн-сервис DOC+ умудрился оставить в открытом доступе базу данных с детальными логами доступа, из которых можно было получить данные пациентов и сотрудников сервиса. И вот новый инцидент, с уже ...

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

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

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

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

Почему не SQL? Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Ср...

Сoncurrent collections за 10 минут Photo by Robert V. Ruggiero Тема не новая. Но задавая вопрос “что такое concurrent collections и когда их использовать?” на собеседовании или code review, я почти всегда получаю ответ, состоящий из одного предложения: “они полностью защищают нас от race conditions” (что не...

[Из песочницы] Duality — легкий и быстрый движок для игростроя под Windows (Доп.) Приветствую, читатель. В данной публикации речь пойдет о перспективном и достаточно молодом игровом движке, который незаслуженно остался в тени таких гигантов, как Unity или Unreal Engine. Разработчиками является объединение энтузиастов под руководством Adam's Lair. Как...

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

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

Software Defined Radio — как это работает? Часть 6 Привет, Хабр. В предыдущей части мы рассмотрели возможность передачи простых сигналов с помощью GNU Radio. Сейчас мы пойдем дальше, и посмотрим, как передать что-нибудь посложнее. Начнем с радиолюбительских сигналов WSPR, а затем создадим работающий программный QAM-модем. ...

Александр Грек об июльском номере «Популярной механики» Прямо сейчас у меня на ногах спроектированные нейросетями и напечатанные на 3D-принтере кроссовки (уже серийная модель!), на работу я приехал на электроскутере, сделанном с использованием углеродных нанотрубок, а вчерашний вечер я провел в Музее русского импрессионизма, любу...

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

Резюме того парня Друзья, нам с вами несказанно повезло. Тот парень еще не уехал, и я выпросил у него резюме. Не потому, что хочу взять его на работу — не тот я человек. Просто мне кажется, оно стоит того, чтобы быть опубликованным. Хотя бы потому, что в нем 22k букв. Вы еще где-нибудь такой ...

Шикарное звездное небо теперь можно снимать на Poco F1, Redmi K20, Redmi Note 7, Xiaomi Mi A2 и другие недорогие смартфоны Представив смартфоны Google Pixe 4 и Pixe 4 XL, поисковый гигант анонсировал новую версию приложения Google Camera для всех устройств Pixel. Помимо улучшенного ночного режима Night Sight приложение Google Camera 7.0 также получило Astrophotography Mode — режим фот...

[Перевод] Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 1 Возможно, вы уже слышали о так называемом «функциональном» программировании. Возможно, вы даже подумываете о том, что вам стоит его как-нибудь попробовать. Ни в коем случае этого не делайте! Функциональное программирование полно недочётов, оно не подходит для реальных пр...

Steam борется со спамерами Одной из проблем, связанных с оценкой контента пользователями, является вероятность того, что некоторые из этих обзоров могут быть написаны не совсем добросовестно. Недавно Rotten Tomatoes предприняли новые шаги для управления влиянием поддельных обзоров, представленных ...

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

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

Не только Wi-Fi 6: как Huawei будет развивать сетевые технологии В конце июня прошло очередное заседание IP Club — сообщества, созданного Huawei для обмена мнениями и обсуждения инноваций в области сетевых технологий. Спектр поднятых на нем вопросов был достаточно широк: от глобальных трендов индустрии и бизнес-задач, стоящих перед заказч...

Часть вторая. Как проходить code review по версии Google Возможно вы читали первую часть статьи про код ревью со стороны ревьювера (кстати, мы уже успели ее обсудить в последнем выпуске подкаста "Цинковый прод"). Так как статья набрала много лайков, пишу обещанное продолжение про код ревью с другой стороны — со стороны автора из...

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

Оптимальная линейная фильтрация: от метода градиентного спуска до адаптивных фильтров Развивая тему конспектов по магистерской специальности "Communication and Signal Processing" (TU Ilmenau), продолжить хотелось бы одной из основных тем курса "Adaptive and Array Signal Processing". А именно основами адаптивной фильтрации. Для кого в первую очередь была напис...

Ученые подтвердили существование еще одного "нейтронного магического числа" Международная группа ученых, в состав которой входили ученые из университета Гонконга, института RIKEN (Япония) и института CEA (Франция), показала, что число 34 является еще одним из ряда "нейтронных магических чисел". При помощи ускорителя RI Beam Factory (RIBF) эти ученые...

Подборка книг о том, как учиться, мыслить и принимать эффективные решения В нашем блоге на Хабре мы публикуем не только рассказы о разработках сообщества Университета ИТМО, но и фотоэксурсии — например, по нашей лаборатории робототехники, лаборатории киберфизических систем и DIY-коворкингу Фаблаб. Сегодня мы собрали подборку книг, которые рассмат...

Еще раз о passport.js Недавно мне передали на поддержку проект на express.js. При изучении кода проекта я обнаружил немного запутанную работу с аутентификацией/авторизацией которая базировалась, как и 99,999% случаев, на библиотеке passport.js. Этот код работал и следуя принципу «работет — не тро...

[Перевод] 10 Git-команд, которые стоит знать разработчику В этой статье мы обсудим разные Git-команды, которые могут оказаться полезными для разработчика или специалиста по Big Data. Вы узнаете, как проверять, удалять и приводить код в порядок. А еще рассмотрим способы выхода из Vim и экономию времени с помощью псевдонимов Bash ...

Материалы с android-митапа: инструменты для автотестов | Yandex Mapkit 3 | дизайн приложений | Server Driven UI Привет! Это пост-отчёт с android-митапа, который недавно прошёл в офисе Авито. С коллегами из Озон, Surf, Revolut и Авито мы обсуждали интеграцию Yandex Mapkit 3, как быстро запускать фичи с Server Driven UI, какие инструменты выбирать для автотестов и как сделать дизайн при...

[Перевод] Что нового в Zabbix 4.4 Команда Zabbix с радостью сообщает о выходе Zabbix 4.4. Последняя версия поставляется с новым Zabbix агентом, написанным на языке Go, устанавливает стандарты для шаблонов Zabbix и предоставляет расширенные возможности визуализации. Давайте рассмотрим наиболее важные функц...

Инициация IT-адептов: покажи свою Силу на РИФе Не успеет Солнце дважды опуститься за горизонт, как все IT-джедаи, падаваны и юнлинги слетятся в звездную систему «Лесные дали», чтобы подтвердить свой IT-статус. Тестированием адептов Силы займутся «Ростелеком», «РТ Лабс» и Хабр. Пунктом инициации станет Российский Интернет...

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

Стажировка в IT: взгляд руководителя Набор на летнюю стажировку в Яндекс продолжается. Он идёт по пяти направлениям: бэкенд, ML, мобильная разработка, фронтенд и аналитика. В этом блоге, в других блогах на Хабре и за его пределами можно найти немало инсайда про то, как проходит стажировка. Но многое в этом пр...

[recovery mode] Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло Привет, Хабр! Присаживайтесь поудобней, заварите себе чайку, ибо я пишу немного затянуто и через правое ухо. Итак, Вы готовы? Отлично, тогда приступаем. ВНИМАНИЕ! Информация, описанная ниже, написана исключительно в исследовательских целях и не предназначена для использовани...

[Перевод] Изучаем английский: 8 способов вежливо сказать «нет» Западная культура для многих ассоциируется с вежливостью и ее подчеркнутой демонстрацией – иногда даже не совсем искренней, но «обязательной». Людям с другим менталитетом трудно ориентироваться в культуре, где негатив принято максимально смягчать. В частности, лично мне вс...

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

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

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

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

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

Что позволено Jupyter? Наша история началась с, казалось бы, несложной задачи. Нужно было настроить аналитические инструменты для для data science специалистов и просто аналитиков данных. С таким заданием к нам обратились коллеги из подразделений розничных рисков и CRM, где исторически высока конц...

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

[Из песочницы] Flutter: а стоит ли начинать Как заядлый любитель новинок в IT, еще с первых новостей о многообещающей платформе от Google, а тем более после конференции о флаттере, было решено попробовать Flutter. Тут будут ИМХО, которые дадут задуматься, а стоит ли тратить свободные человеко-часы. Читать дальше &r...

[Из песочницы] Забота о себе во время написания кода Привет, Хабр! Представляю Вашему вниманию перевод статьи «Developer health — taking care of yourself as you code» автора Christopher Kad. Недавно мне поставили диагноз «тендинит», и, конечно, в этом нет ничего особенного, и его можно вылечить, но я понял, что не слишком хор...

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

«Что там может быть живого?»: В сети обсудили покупку Toyota Land Cruiser Prado с пробегом в 300 000 км Один из пользователей задался вопросом, стоит ли ему приобретать внедорожник 2013 года выпуска с 300-тысячным пробегом – мнения разделились. Пользователь написал пост в одном из сообществ «Вконтакте», посвященных Toyota Land Cruiser Prado. По его словам, он присмотрел «Пра...

Это действительно похоже на революцию в дизайне. Камеру Vivo NEX 2 можно будет отсоединять от смартфона и крепить на металлических поверхностях или экране смартфона Совсем недавно в китайской социальной сети Weibo официальный представитель Vivo подтвердил, что презентация смартфона Vivo NEX 2 состоится уже совсем скоро. А еще до этого известный инсайдер под ником Ice Univerce заявил, что Vivo NEX 2 станет одним из самых интересных ...

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

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

Двигаемые мышкой виджеты. Drag and drop в пределах окна Обычное понимание Drag and Drop(D&D) предполагает, что берётся, например, ссылка на файл из одного виджета и перемещается мышкой в другое окно или виджет. Далее пойдёт речь не о библиотечных функциях D&D, а о собственной реализации перемещения виджета в пределах окна...

Angular: создание и публикация библиотеки Начнем с начала Если мне не изменяет память, то с версии 6 в angular появилась возможность создавать в одном workspace проекты разных типов: application и library. До этого момента люди, которые хотели создать библиотеку компонент, скорее всего, пользовались отличным и поле...

Edition-Based Redefinition. Часть 2 Привет! Как и обещала в предыдущем посте про Edition-Based Redefinition — вот вторая часть. Итак, с чем мы работаем? Наш основной production сервер — это Oracle 12С, Enterprise Edition. И, что важно отметить, на нем работает несколько десятков приложений одновременно. Поч...

Станет ли Apple TV+ серьезным конкурентом существующим сервисам? Станет ли Apple TV+ нашим будущим или будет обычным проходным сервисом? Весной этого года Apple рассказала о новом сервисе, который получил название Apple TV+. На прошедшей десятого сентября презентации, нам назвали конкретную дату появления этого сервиса в наших домах ̵...

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

Kotlin puzzlers, Vol. 2: новая порция головоломок Можете предсказать, как поведёт себя такой Kotlin-код? Скомпилируется ли он, что выведет и почему? Как бы хорош ни был язык программирования, он может подкинуть такое, что останется только в затылке чесать. Kotlin не исключение — в нём тоже встречаются «паззлеры», когда д...

Xavier Noria о Rails 6, консалтинге и не только Уже в эту субботу встречаемся со всеми рубистами на главной конференции, посвященной этой технологии — RubyRussia 2019. 28 сентября совсем близко, а в этом интервью вопросы для Xavier Noria подготовил разработчик компании Evrone Павел Аргентов, а помогли ему студенты и препо...

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

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

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

OnePlus 5 и 5T получают стабильную версию Android 9.0 Pie Несколько недель назад OnePlus выпустила две бета-версии обновления Android 9 Pie для OnePlus 5 и 5T. Теперь стабильная версия выходит в свет. Финальная версия OxygenOS 9.0.0 на основе Android 9.0 Pie начала распространяться для OnePlus 5 и 5T «по воздуху». Она также содержи...

Под капотом Screeps — виртуализация в MMO-песочнице для программистов В этой статье я расскажу про одну малоизвестную технологию, которая нашла ключевое применение в нашей онлайн-игре для программистов. Чтобы долго не тянуть резину, сразу спойлер: кажется, что такого шаманства в нативном коде Node.js, к которому мы пришли после нескольких лет ...

Что такое логическое программирование и зачем оно нам нужно У того, кто в детстве не писал на Прологе — нет сердца, а у того, кто пишет на нём сегодня — нет мозгов. (оригинал) Если вас всегда терзали мучительные сомнения — что за фигня это Логическое Программирование (ЛП) и вообще зачем оно нужно? То это статья для вас. Можно по-раз...

Как мигрировать к другому мобильному оператору и не обанкротиться (для владельцев iOS) Привет, Habr! Решил поделиться своим опытом, как яблочному рабу владельцу iPhone без проблем мигрировать от одного мобильного оператора к другому. Итак, все знают, что в России с 1 декабря 2013 года можно перейти от одного мобильного оператора к другому со всеми вытекающим...

Обзор cPanel — веб-консоли для управления сайтами и хостингом Продолжаем серию постов о панелях управления хостингом и сайтами (веб-консолях), которые RUVDS предлагает своим клиентам. Сегодня мы рассмотрим одну из самых популярных панелей cPanel, лицензию на которую можно получить бесплатно на 2 недели, при покупке виртуального сервера...

ViewPager 2 — новый функционал в старой обертке ViewPager — один из самых известных и широко используемых компонентов Android Support Library. Все простейшие карусели, онбординги и слайдеры выполнены именно на нем. В феврале 2019 года команда разработки AndroidX выпустила ViewPager2. Давайте разберемся, какие у этого были...

[Перевод] Начинаем работать с Google Analytics: App + Web Google недавно выпустила в публичный доступ новую версию Google Analytics под названием App + Web. Симо Ахава уже написал отличную пошаговую инструкцию о том, как начать работать с инструментом, поэтому я решила перевести ее на русский язык. От себя добавлю, что продукт толь...

[Перевод] Что нового в Spring Boot 2.2? Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». 16 октября 2019 года был выпущен Spring Boot 2.2 ! В этом посте вы узнаете о многих новых плюшках, которые предлагает вам версия 2.2. Читать дальше →

Из юриспруденции в Big Data-разработку Путей много – как найти свой? Герой этой статьи, Роман Майер, получил гуманитарное образование и пришел в IT совсем из других областей. Он развивал собственный бизнес, работал менеджером по продажам, был юристом, а к 28 годам понял, что пока не нашел работу мечты и пора осв...

[Из песочницы] JAMstack: Как создать свой блог используя Gatsby + Contentful + Netlify Вы уже слышали о новом подходе JAMstack? Возможность писать веб-приложения на любимом фреймворке, управлять контентом из админ панели, а на выходе получать полностью валидные HTML-страницы построенные согласно с самыми последними рекомендациями SEO, PWA и a11y. Интересно? То...

Платформа Skyworks Sky5 LiTE предназначена для устройств с поддержкой 5G массового сегмента Помимо платформы Sky5 Ultra, объединяющей все радиочастотные интерфейсные блоки для мобильных устройств с поддержкой 5G, компания Skyworks представила ее облегченный вариант. Он получил название Sky5 LiTE. Как утверждается, это первое в отрасли полностью интегрированное...

Тик-так: время умных часов ушло, но теперь ими притворяются браслеты Давайте поговорим об умных часах. Я писал несколько топиков об умных часах на Хабре (раз и два), затем рынок немного умер, а сейчас он находится таком интересном положении — благодаря способности фитнес-браслетов притворятся полноценными часами — что хочется снова пообщаться...

DRAM Calculator for Ryzen 1.6.0.1: поддержка ЦП Ryzen 3000 и X570 Энтузиаст “1usmus” выпустил новую версию популярной программы для тюнинга оперативной памяти на платформе AMD. В новую версию добавлена поддержка процессоров Ryzen 3000-ой серии и чипсета AMD X570. Также ликвидированы существующие баги и ошибки, интегрированы но...

[recovery mode] Руководство: Thymeleaf + Spring. Часть 1 Оригинал документации В этом руководстве объясняется, как Thymeleaf может быть интегрирован с Spring Framework, особенно (но не только) Spring MVC. Обратите внимание, что Thymeleaf имеет интеграции для версий 3.x и 4.x Spring Framework и выше, предоставляемые двумя отдель...

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

Зачем Додо Пицце 250 разработчиков? Прошлой осенью мы объявили о том, что планируем расширить IT-команду с 48 до 250 человек. Сразу посыпались вопросы, которые по сути сводились к одному: зачем сети пиццерий 250 разработчиков? Откуда эта цифра? Поэтому в первом посте в нашем блоге хочу ответить именно на этот ...

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

Что слышно в радиоэфире? Принимаем и декодируем наиболее интересные сигналы Привет Хабр. На дворе уже 21й век, и казалось бы, передать данные можно в HD-качестве даже на Марс. Однако, до сих пор в радиоэфире работает немало интересных устройств и можно услышать немало интересных сигналов. Все из них рассмотреть разумеется, нереально, попробуем ...

[Перевод] 12 возможностей ES10 в 12 простых примерах Перед вами перевод статьи из блога Carlos Caballero на сайте Medium.com. Автор расскажет нам о функциях, которые появились в версии ES10 2019 года. ES10 — это версия ECMAScript, актуальная для 2019 года. Она содержит не так много нововведений, как версия ES6, выпущенная в...

Поднимаем сервер 1с с публикацией базы и веб сервисов на Linux Сегодня я бы хотел рассказать, как поднять сервер 1с на linux debian 9 с публикацией web-сервисов. Что такое web-сервисы 1с? Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки...

[Из песочницы] Пишем учебное приложение на Go и Javascript для оценки реальной доходности акций. Часть 1 — backend Давайте попробуем написать небольшую тренировочную, но вполне себе законченную информационную систему, состоящую из серверной части на Go и клиентского веб-приложения на Javascript + Vue JS. Для начала пару слов о том, что это за приложение и для чего оно нужно. Некоторое в...

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

[Перевод] Приключения с ptrace(2) На Хабре уже писали про перехват системных вызовов с помощью ptrace; Алекса написал про это намного более развёрнутый пост, который я решил перевести. С чего начать Общение между отлаживаемой программой и отладчиком происходит при помощи сигналов. Это существенно усложняет...

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

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

Видеоурок Теплицы: как работать с блог-платформой Telegraph Telegraph — это еще одно детище российского предпринимателя Павла Дурова наряду с социальной сетью «ВКонтакте» и мессенджера Telegram. Блог-платформа появилась в конце 2016 года. О ней многие слышали, но попробовать что это, пока довелось не всем. Автор видеоуроков...

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

К вопросу о сдвигах, знаках и быстродействии МК «Найди всему причину и ты многое поймешь» Возможно, мои постоянные читатели (ну не может быть, чтобы их не было) помнят, что я как то в своем посте недоумевал по поводу того, что при описании регистров внешних устройств используется атрибут unsigned. В комментариях было пред...

[Перевод] PSR-14 — главное событие в PHP В прошлом году PHP-FIG — Группа концепций совместимости PHP, выпустила несколько новых спецификаций. Последняя из них — PSR-14, посвящена диспетчеризации событий. Как и другие PSR, это локальная спецификация, но имеет большое влияние на многие аспекты стандартизации. От пер...

[Из песочницы] Порядок в фотоархиве средствами powershell Привет, Хабр! На днях возникла типовая задача — помочь знакомой превратить гору фотографий в упорядоченную иерархию. Всё бы ничего, но гор фотографий не одна, а две — на Mac и на ноуте под Win10. В поисках решения, наткнулся на несколько сценариев для linux, а вот чего-то т...

Установка ReactOS с USB-флешки Привет, Хабр! Эцново мы! В новости о выходе релиза 0.4.11 мы рассказали, что благодаря обновленному драйверу RAM-диска ReactOS можно не только запустить, но установить по сети при помощи протокола PXE. Однако, волонтер проекта под ником Illen выяснил, что используя тот же ...

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

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

[Из песочницы] История о том, как разработка игры стала частью моей жизни Здравствуйте! Меня зовут Максим Газизов. Ранее я публиковал пост на Хабре о своих успехах и ошибках в геймдеве. И затем, спустя год работы над своим детищем под названием Wasteland Wars, я пропал из эфира. Всё потому, что меня настолько затянул процесс, как никогда раньше. К...

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

[Перевод] Fluent 1.0: гибкая система локализации Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата фай...

Security Week 46: микрофоны, лазеры и безопасность обучаемых машин Про взлом умных колонок на расстоянии с использованием лазера на прошлой неделе написали почти все СМИ (новость, сайт проекта, научное исследование, пост на Хабре). Тема и правда привлекательная: такой хак в стиле фильмов про Джеймса Бонда. Исследователи из университетов США...

[Перевод] Новости из мира OpenStreetMap № 478 (10.09.2019-16.09.2019) Еще незавершенная карта — «Святые Европы» 1 | data openstreetMap contributors Картографирование Мартин Ван Эксель разместил в своем Твиттере ссылку на презентацию о сервисе MapRoulette, которую он сделал во время конференции «State of the Map» в США. Дэн Стоуэлл написал в...

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

Программирование микроконтроллеров ESP8266/ESP32 написанием YAML конфиг файлов Будучи поклонником системы управления "умным домом" Home Assistant я недавно открыл для себя интересный инструмент, тесно с HA интегрированный и ранее на Хабре не освещенный — ESP Home (ранее ESPhomeYAML). ESP Home представляет собой набор библиотек и инструментов, генерирую...

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

Криптографические токены PKCS#11. Графическая утилита «с функцией подписания и добавлением метки времени». Часть 1 В комментариях к статье «Использование механизмов криптографических токенов PKCS#11 в скриптовых языках» читатель kovserg написал: «С нетерпением ждём статью с функцией подписания документа и добавлением метки времени». Еще раньше другой участник хабра pas писал о том, что б...

«О дивный новый Mesh» Привет, Хабр! В 2013 году пользователь с ником shifttstas опубликовал статью «Карта Mesh Wi-Fi: А давайте построим свою Mesh сеть в России и СНГ». К сожалению, идея не получила должной огласки, вследствие чего по прошествии некоторого времени проект лишился поддержки. Одн...

8 причин, по которым вы обязательно захотите использовать Azure Notebooks Если Вы data scientist, или занимаетесь машинным обучением, как я — наверняка Вы пишете большую часть кода в Jupyter Notebooks. Для всех остальных поясню: Jupyter — это замечательная система, позволяющая Вам сочетать исполняемый программный код и текстовые фрагменты на основ...

Введение в Spring, или что делать, если по всему проекту @Autowired и @Component, а вы не понимаете, что это Приветствую тебя, Хабр! Эта статья будет полезна тем, кто уже начал изучать Java и даже успел добиться некоторых успехов в понимании Java Core, и вот услышал слово Spring. И, возможно, даже не один раз: знание Spring Framework, как минимум, фигурирует в описаниях множества ...

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

S for Security: безопасность в Интернете Вещей и доклады на InoThings++ 2019 — Шеф, у нас дыра в безопасности! — Ну хоть что-то у нас в безопасности... Привет, Хабр! В комментариях к предыдущему посту про InoThings++ высказали мнение, что в Интернете Вещей есть более важная для обсуждения область, нежели вмешательство государства — это область обес...

Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи! В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от...

Хабро-самоубийство. Боль планирования в 1С Не я придумал, но я согласен с тем, что для понимания решений и их полезности нужна боль, или, как говорят ребята в костюмах, pain. Если у вас нет трудностей с дефицитами, избыточными запасами, просрочкой отгрузок, и другими симптомами плохого планирования – отлично, статья ...

Как организовать разработку и поддержку блога на WordPress в 2К19 году и не налажать Заранее думать о масштабировании, по максимуму использовать стандартные решения Wordpress, сделать тему WP своими руками, заботиться об удобстве верстальщика, упороться по мобильности — и обновить блог компании так, чтобы его любили читатели, редакция и руководство. У нас по...

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

Метод Pomodoro не так крут, как мог бы быть У метода pomodoro есть не совсем очевидные нюансы. И эти нюансы, если переформулировать Кличко, понимают не только лишь все, мало кто может это делать. Поэтому давайте разберемся, что это за метод, и что можно было бы улучшить. Читать дальше →

[Перевод] Новости из мира OpenStreetMap № 475 (20.08.2019-26.08.2019) Отмечаем солнечные батареи — проект сообщества OSM в Великобритании на ближайший квартал 1 | data OpenstreetMap contributors Картографирование Теперь в мобильном редакторе Vespucci пользователи могут делать свои собственные заготовки. Саймон Пул написал твит, где показал,...

Как мы музицировали с нейронными сетями v 2.0 Привет, Хабр. Это пост о том, как мы вывели нейронные сети в реальную жизнь. Если нравится прикладная роботика и инженерия, или любишь нейроночки, или мигаешь LEDом на Ардуине, то будет интересно. Впрочем, это история о том, как собрать множество разных компонентов и технол...

Motorola razr с доступной заменой экрана Совсем недавно был представлен новый складной смартфон Motorola razr, который на фоне конкурентов выглядит очень даже привлекательно и стильно. Главная фишка новинки именно в дисплее, который складывается посредине пополам и дает вам возможность носить в кармане компактное у...

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

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

Вебинары Dell Technologies: все подробности о нашей обучающей программе Друзья, привет! Сегодняшний пост будет не длинным, но, надеемся, для многих полезным. Дело в том, что уже довольно давно компания Dell Tehnologies проводит вебинары, посвященные продуктам и решениям бренда. О них мы и хотим сегодня вкратце рассказать, а также попросить уважа...

Доступен Windows 10 SDK Insider Preview Build 18327 Компания Microsoft выпустила новую предварительную версию набора средств разработки Windows 10 SDK с номером сборки 18327. На этот раз номер сборки немного ниже, чем у актуальной инсайдерской сборки Windows 10 19H1, которая стала доступна на прошлой неделе на канале Fast. Н...

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

Баг в IoT-камере позволял подслушивать ее владельцев ИБ-исследователи обнаружили серьезную уязвимость в камере видеонаблюдения Amcrest. Баг, получивший идентификатор CVE-2019-3948, давал возможность удаленно прослушивать аудио через HTTP без аутентификации. Производитель признал наличие ошибки и 29 июля выпустил патч, а также ...

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

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

История и альтернативы платформы .NET Недавно мне повезло пообщаться с Крисом Бэйконом, который написал DotNetAnywhere (альтернативный вариант .NET Runtime), и я остроумно заметил: … ты, наверное, один из тех немногих, кто создал собственную среду выполнения .NET, и это круто!если исключить тех, кто на зарплате,...

«Берегите тех, кто говорит правду»: письмо главного редактора «Лайфхакера» Мы много пишем о лайфхаках. Ловите главный: когда нарушают ваши права, молчать нельзя.

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

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

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

[recovery mode] Индустрия 4.0: идеи автономного предприятия от SAP и KUKA Привет, Хабр! Сегодня поговорим об автоматизации технологического «умного» оборудования, которого становится все больше и больше на современных предприятиях. Оно может достаточно легко быть интегрировано с учетными и управляющими системами SAP для создания единого программн...

[Из песочницы] Почему Windows XP в 2019 году по-прежнему рулит, или ЧЯДНТ? На Хабре в комментариях к статьям о выходе новых версий операционных систем, выпуске новых моделей ноутбуков, накопителей данных, модулей памяти и т.п. регулярно высказывается мнение о том, что только наипоследнейшая версия операционной системы известного вендора даёт возмож...

Обзор монитора Philips 241B7QUPBEB с USB Type-C Philips 241V7QUPBEB можно было бы рассматривать, как рядовой офисный монитор, если бы ни одно «но» – док-станция, с помощью которой подключенный к монитору ноутбук будет подзаряжаться и передавать данные с высокой скоростью. Помимо этого, есть возможность создавать мультим...

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

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

Один маленький шаг для тестировщика: топ-10 докладов Heisenbug 2019 Piter Привет, Хабр! Выкладываем подборку отличных докладов о тестировании и обо всём, что его окружает. Оценки посетителей Heisenbug 2019 Piter определили лучшие доклады этой конференции, из которых вы узнаете, например: Может ли один тестировщик изменить всю компанию; Что пр...

[Перевод] Новости из мира OpenStreetMap № 461 (14.05.2019-20.05.2019) Можно ли избежать дорожного движения в городе?1 | Hans Hack map data OpenStreetMap Картографирование Новая схема тегирования police=* утверждена 30 голосами. Сообщество Вот уже несколько недель подряд блоги на osm.org подвергаются спам-атаке. Некоторые члены сообщества ...

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

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

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

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

[Из песочницы] MicroPyServer простой HTTP сервер для ESP8266 и ESP32 Всем привет! Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера. Что такое MicroPyServer? MicroPyServer это простой HTTP сервер предназначенный для проектов на...

[Перевод] Новости из мира OpenStreetMap № 472 (30.07.2019-05.08.2019) How to carve OSM data into a slade plate – by Harald Hartmann 1 | Foto Harald Hartmann | Map data OpenStreetmap contributors Картографирование Продолжаются дискуссии (в Twitter, в списке рассылки) вокруг онлайн-редактора от Facebook — RapiD'a. Если вы хотите серьезно погр...

Начинаем работу с Azure Machine Learning service Сегодня рассмотрим нашу пятую итерацию по созданию продукта для машинного обучения. Чтобы подойти к этой теме, кратко напомним о предыдущих продуктах и их состоянии на текущий момент. Рассмотрим только полностью интегрированные решения, которые позволяют пройти путь от расче...

Обзор новых возможностей nanoCAD СПДС Металлоконструкции версии 1.2 Прошлой осенью компания АО «Нанософт» представила новейшую версию вертикального приложения nanoCAD СПДС Металлоконструкции 1.2, созданную для разработки двухмерных чертежей металлических конструкций марки «КМ». Подробно познакомиться с функционалом можно в описании продукта ...

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