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

Twitter опубликовал в Instagram скриншот твита с текстом «Instagram — всего лишь площадка для скриншотов твитов» Свой профиль в Instagram соцсеть также описала как место для «скриншотов твитов».

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

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

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

Раскладные смартфоны: а что насчёт приложений? Всю неделю шли анонсы складных смартфонов: Samsung и Huawei уже жаждут лишить нас крупной суммы, у Oppo и Xiaomi пока что прототипы. Их бурно обсуждали, но в основном речь шла о железе и о ценах. А для любого нового форм-фактора важна и софтовая поддержка: можно вспомнит...

[Из песочницы] Angular schematics, или как я писал свой шаблон для angular cli Здравствуйте, меня зовут Максим. Уже несколько лет я занимаюсь front-end разработкой. Мне часто приходится иметь дело с версткой различных html шаблонов. В своей повседневной работе я обычно пользуюсь сборщиком webpack c настроенным шаблонизатором pug, а также использую мето...

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

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

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

Полезные и не очень государственные услуги Как похорошел интернет при… или какие полезные (и не очень) госуслуги можно получить онлайн. Наркоман ли я? Бабушкин суд у подъезда думает, что да (на самом деле нет — я всегда с ними здоровался, а теперь и справка есть!). Был ли я зеком? Сведений не имеется, гласит другая с...

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

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

[Из песочницы] Пишем бот для рыбалки в игре Albion Online на языке Python Всем привет, я являюсь счастливым пользователем операционной системы GNU/Linux.И как многим известно, игрушек идущих на линукс без дополнительных танцев с бубном намного меньше чем в «Винде». И еще меньше игр в жанре MMORPG. Однако, где-то пол года или год назад я узнал ...

[Перевод] Возможности современного JavaScript, о которых вы могли не знать Несмотря на то, что в последние семь лет я пишу на JavaScript почти каждый рабочий день, должен признаться, что уделяю мало внимания сообщениям о нововведениях от ES. Главные возможности вроде async/await и прокси — это одно, но ещё каждый год идёт поток мелких поэтапных и...

Стартапы на CES 2019: часть вторая. Странные и волшебные гаджеты В предыдущей части мы писали о том, какие гаджеты видели на международной выставке потребительской электроники в Лас-Вегасе, известной как CES. Рассказали о роботах, умных зеркалах, умных зонтах, умных садах, японских умных кошачьих лотках (да, серьезно). В этой части расс...

[Из песочницы] Пишем блог на микросервисах – часть 2 «API Gateway» В первой части нашего цикла статей «Пишем блог на микросервисах» мы описали общий подход к решению задачи. Теперь пришла очередь API Gateway или API GW. В нашем c ptimofeev API GW мы реализуем следующие функции: Конвертация REST запросов в gRPC запросы и наоборот. Логир...

[recovery mode] О важных “невидимых" вещах — доверии, культуре и ценностях Я — Head of Product в RealtimeBoard. Я люблю дерзкие цели и постоянно думаю о том, где нас ждут новые горизонты, как улучшить результаты, как завтра стать лучше, чем мы были вчера. И ещё я много думаю о том, насколько важна в этом увлекательном путешествии команда. Мы много ...

[Из песочницы] Пишем простую нейронную сеть с использованием математики и Numpy Зачем очередная статья про то, как писать нейронные сети с нуля? Увы, я не смог найти статьи, где были бы описаны теория и код с нуля до полностью работающей модели. Сразу предупреждаю, что тут будет много математики. Я предполагаю, что читатель знаком с основами линейной а...

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

[Перевод] Почему сериал «Чернобыль» настолько плохо описал ядерную энергию Нет, чернобыльская радиация не повредила вашему ребёнку Статья Майкла Шелленбергера – известного автора и колумниста, пишущего про энергию и окружающую среду. С начала мини-сериала «Чернобыль» от HBO, рассказывающего о ядерной катастрофе 1986 года, журналисты расхваливали...

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

[Перевод] Оцениваем рекрутёров по холодным письмам Сегодня я расскажу как я оцениваю рекрутёров, которые пишут мне с предложениями о работе по так называемым "холодным письмам" (это как "холодные звонки", только письма), а так же приведу несколько примеров. Читать дальше →

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

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

[Из песочницы] Как мы переводили легаси проект на GraphQL Привет, Хабр. Меня зовут Антон Потапов, я iOS разработчик в компании FINCH. Сегодня я хочу подробно рассказать про то как перевести мобильный проект на GraphQL, описать плюсы и минусы этого подхода. Приступим. Краткое введение Читать дальше →

Новая игра со старой атмосферой на Three.js. Часть 2 В первой части я рассказал о проблемах, с которыми я столкнулся в процессе создания 3D игры под браузер c использованием Three.js. Теперь я хотел бы подробно остановиться на решении некоторых важных задач при написании игры, типа конструирования уровней, определения столкнов...

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

[Из песочницы] О том, как из C# перешел в Elixir/Phoenix Как-то раз пришлось мне менять работу. До этого я работал только с языками типа Python, C++, C# и ещё парочкой подобных. А теперь пришлось начать работать с функциональным языком. Первые впечатления были «да что за фигня?». Однако у меня получилось достаточно быстро адаптиро...

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

Вокруг беты за 260 дней: как мы учились прислушиваться к пользователям Все знают: догфудить собственный продукт (ну, есть корм своей собаки – разрабатывать продукт, который сам же используешь) – это правильный во всех отношениях принцип. Работая над конструктором чатботов Aimylogic, мы в Just AI прекрасно представляли, каким он должен быть, но ...

Математика любви По материалам статьи Julien Clinton Sprott. Dynamical models of love. Nonlinear Dynamics Psychology and Life Sciences, August 2004. Я алгеброй гармонию поверил… Теория мой друг суха, но древо жизни вечно зеленеет… Кто только не бился об эту «проблему»…. Ее разбирали в дре...

Операционная система Haiku: портирование приложений и создание пакетов Осенью этого года, спустя 6 лет разработки, вышла первая бета-версия «R1/beta1» операционной системы Haiku. Я давно слежу за этим интересным проектом, который нацелен на воссоздание и последующее развитие существовавшей в 1994-2000 годах системы BeOS. Поэтому, как только на ...

[recovery mode] Кто не спрятался – я не виноват (история скрытности в авиации) В описаниях современных боевых самолётов «малозаметный» — чуть ли не самая значимая характеристика. Важная и интересная. Под катом попытка описать историю и разные аспекты малозаметности. Картинок будет довольно много, но не жалуйтесь, авиация — это красиво. Итак, пройдёмся ...

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

Как быстро написать веб-сайт или веб-приложение и не увязнуть в сборщиках Это маленькое руководство описывает создание реактивного веб-приложения используя отрисовку на стороне сервера (Server-Side Rendering, SSR). Клиентская часть являет собой полноценное Vue-приложение, в моём случае используя шаблон MVVM. Серверное приложение работает на микроф...

[Перевод] Пространство генерации и пространство возможностей В этом туториале я расскажу о двух терминах, которые используются мной для описания процедурных генераторов: пространство генерации (generative space) и пространство возможностей (possibility space). Мы дадим определения этим двум терминам, а затем рассмотрим интерактивные п...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 7. F.A.Q Сегодня мы рассмотрим ответы на часто встречающиеся вопросы, которые касаются предыдущих видеоуроков. С момента первой публикации прошло уже около года, и множество людей оставили свои комментарии под моими видеоуроками на канале YouTube. Я внимательно читал все ваши коммент...

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

Основы движков JavaScript: общие формы и Inline кэширование. Часть 1 Привет, друзья. В конце апреля мы запускаем новый курс «Безопасность информационных систем». И уже сейчас хотим поделиться с вами переводом статьи, которая непременно будет очень полезной для курса. В статье описаны ключевые основы, они являются общими для всех движков Jav...

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

Радиация: источники В предыдущем посте я рассказал о единицах измерения ионизирующей радиации. А теперь поговорим об источниках излучения. Я не буду здесь писать о «том, что не надо трогать руками» — об этом и так много написано, а я не Олег Айзон и уникальных фотографий невиданных доселе ради...

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

[Перевод] React, JSX, импорт ES модулей (в том числе динамический) в браузере без Webpack Эта статья — попытка свести воедино имеющиеся на текущий момент средства и выяснить, возможно ли создавать production ready приложения на React без предварительной компиляции сборщиками типа Webpack, или по крайней мере свести такую компиляцию к минимуму. Все описанное носит...

Software Defined Radio — как это работает? Часть 2 Привет, Хабр. В первой части были описаны основные виды SDR-устройств и кратко были приведены их характеристики. Во второй части я расскажу подробнее о плюсах и минусах SDR, также будет рассмотрен пример доступа к приемнику из языка Python. Продолжение под катом (осторож...

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

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

История дизайна уровней Duke Nukem (с эскизами Левелорда) В преддверии 22-летия Duke Nukem вчера мы писали об истории игры. Сегодня поговорим о дизайне уровней официальных релизов основной серии игр Duke Nukem, не спин-офф и тем более не сторонних модификаций. По тексту тут и там разбросаны цитаты из нашего интервью с легендарным...

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

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

Проекты Arduino DIY: роботизированный тир «Демоническая карусель» В предыдущей статье я рассказал о своей новой разработке – роботизированной игрушке «Демоническая карусель». Я существенно доработал эту модель, и хотя устройство находится пока в нерабочем состоянии (предстоит еще писать программу), мне всё же есть что показать и рассказа...

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

Пишем презентации в LaTeX В процессе подготовки доклада на GolangConf'2019 я использовал LaTeX. Несмотря на некоторые устаревшие вещи, немного необычное поведение, скудную или сложную документацию, я внезапно получил удовольствие. Я не стал "гуру" LaTeX, но я смог делать весьма неплохие слайды. И я х...

DevOpsProdigy KubeGraf v1.1.0 Сегодня мы зарелизили новую версию нашего плагина для мониторинга k8s — grafana.com/grafana/plugins/devopsprodigy-kubegraf-app — о котором писали ранее. Ключевая фича новой версии — возможность аутентификации с помощью bearer-токена. Теперь посредством манифестов (которые м...

Как сделать скриншот всей страницы на iPhone с iOS 13 До iOS 11 скриншоты на iPhone и iPad были просто скриншотами. Штатные средства операционной системы не позволяли обрезать их, выделять нужные фрагменты и вообще как-либо редактировать. Но с появлением редактора скриншотов работа со снимками экрана стала куда более продуктив...

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

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

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

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

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

[Перевод] Не в момент выполнения, а в момент проектирования Давным-давно мудрый старый разработчик дал мне совет, который до недавнего времени я не очень ценил. Во время код ревью мы рассматривали некоторую функцию, которая требовала, чтобы программа выводила список букв A-Z (например, список контактов с набором кнопок, которые по...

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

Атомик дизайн-митап — буквы, цвета, форма, команда и деньги Привет! Приглашаем вас на первый митап для дизайнеров в Авито. Он посвящён важным составляющим процесса и профессии в целом — «дизайн-атомам» (не путать с атомарным дизайном, описанным Брэдом Фростом). В первом выпуске — реальные кейсы не только и не столько об эстетике, ско...

Пишем меньше дублирующего кода, используя биндинг в Laravel Доброго времени, уважаемые господа. Не так давно столкнулся с явлением дублирующегося и повторяющегося кода при код ревью одного проекта на Laravel. Суть в следующем: у системы существует некоторая структура внутреннего API для AJAX запросов, по сути возвращающая коллек...

ATtiny13 против ПЛК, или как получить 14 I/O от контроллера с 8 ногами Прежде чем приступить, хотел бы предупредить рьяного читателя. То, что я описываю, делать нельзя по многим причинам, эти причины вам радостно укажут в комментариях, и я ни коим образом не призываю так делать. И ни в коем случае я не утверждаю, что описанным ниже устройст...

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

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

На горе стоит Spring Boot… … его четверо отлаживают. Вдохновлённый докладом Владимира Плизги (Spring Boot 2: чего не пишут в release notes) я решил рассказать о своём опыте работы со Спринг Бут, его особенностях и подводных камнях, встретившихся на моём пути. Читать дальше →

[Из песочницы] Универсальное DRO на базе Arduino Nano — shDRO Дамы и господа, здравствуйте. В данной статье я расскажу о разработке устройства для снятия показаний с цифровых линеек и других датчиков, размещенных на токарных и фрезерных станках. Разработка ещё не завершена и будет описано то, что сделано на данный момент. Кому интер...

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

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

Создание плагина для Clang Static Analyzer для поиска целочисленных переполнений Автор статьи: 0x64rem Вступление Полтора года назад у меня появилась идея реализовать свой фазер в рамках дипломной работы в университете. Я начала изучать материалы про графы потока управления, графы потока данных, символьное исполнение и т.д. Далее шёл поиск тулз, проба р...

[Из песочницы] Как, кому и зачем идти в консалтинг? Личный опыт на примере Big Data Сегодня я расскажу о том, как устроен консалтинг в IT на примере Big Data, поделюсь личным опытом, как я попала в эту сферу, и кейсами из практики, а также дам совет, кому и зачем стоит пробовать себя в консалтинге. Читать дальше →

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

Элементарная симуляция кастомного физического взаимодействия на python + matplotlib Привет! Тут мы опишем работу некоторого поля а затем сделаем пару красивых фичей (тут все ОЧЕНЬ просто). Что будет в этой статье. Общий случай: Опишем базу, а именно работу с векторами (велосипед для тех, у кого нет под рукой numpy) Опишем материальную точку и поле вз...

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

Григорий Петров: работа с сетью в Ruby 28 сентября на конференции RubyRussia DevRel компании Evrone Григорий Петров расскажет о том, как общаются микросервисы. В сегодняшнем интервью Иван Соловьев поговорил с Григорием о теме его предстоящего выступления и не только об этом. Расскажи о себе, чем ты занимаешь...

Скриншоты в iOS 13 стали округлыми   Apple слегка изменила форму скриншотов в iOS 13 beta 5. Теперь они закруглены по краям. Пустое пространство на изображении просто заполняется чёрным цветом. Такая «фича» доступна только в iPhone X, XR, Xs и Xs Max. Источник: https://www.iphones.ru

Травим данные с travajs В своем предыдущем посте я описал основные моменты при разработке другой opensource библиотеки. Забыл упомянуть еще один: если никому не рассказывать про библиотеку, какая бы нужная она ни была, скорее всего никто про нее так и не узнает. Итак, встречайте trava.js — сочна...

[Из песочницы] Удаленная отладка микросервиса через SSH под VPN в 4 хода Бывает ситуация, когда нужно отдебажить сложный кейс на удаленной машине, но доступ к серверу есть только под VPN с ограничениями по открытым портам. В статье хочу поделиться с коллегами небольшим «ресерчем» на тему удаленной отладки через SSH под VPN, дабы сэкономить драгоц...

Code review: вредные советы для контрибьютера и ревьювера Привет! Меня зовут Николай Ижиков. В этом посте я хочу рассказать об одном важном элементе взаимодействия, с которым мы сталкиваемся в процессе разработки ПО, особенно в open source. Это прохождение и проведение code review. Я дам вредные советы, как сделать свою фичу и до...

Запускаем “десктопное” ПО на микроконтроллере Embox принимал участие в IT фестивале TechTrain. Мы как и в первый раз привезли железки и вживую показали наши достижения. О некоторых мы уже писали на хабре, но мало ли кто не поверил :). Были показаны VoIP телефон, Qt и OpenCV, все на базе STM32F7-Discovery. Кроме стенда ...

Объяснение парадокса Ферми в рамках космической социологии Лю Цысиня Млечный путь Не будем спойлерить сюжет или технологии, описанные в увлекательной трилогии «Память о прошлом Земли», нас интересует объяснение парадокса Ферми, данное китайским писателем, и только оно. Читать дальше

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

Пишем на Rust + CUDA C Всем привет! В данном руководстве хочу рассказать как подружить CUDA C/С++ и Rust. И в качестве примера напишем небольшую программу на Rust для вычисления скалярного произведения векторов, вычисление скалярного произведения будет производиться на GPU с использованием CUDA ...

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

[Перевод] WSL 2 теперь доступен для Windows Insiders Мы рады рассказать, что теперь вы можете попробовать Windows Subsystem for Linux 2 установив Windows build 18917 в Insider Fast ring! В этой статье мы расскажем о том, как начать работу, о новых wsl.exe командах, а также поделимся важными заметками. Полная документация о WSL...

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

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

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

Ansible для управления конфигурацией Windows. История успеха На одной из встреч питерского сообщества .Net разработчиков SpbDotNet Community мы пошли на эксперимент и решили рассказать о том, как можно применять подходы, давно ставшие стандартом в мире Linux, для автоматизации Windows-инфраструктур. Но дабы не доводить всё до голослов...

Беты Apple живьем: мелочи, о которых не рассказали на презентации Официально новые версии операционных систем Apple появятся только через несколько месяцев, но бета-версии можно «пощупать» уже сейчас. Для этого нужен аккаунт разработчика, компьютер с iTunes, Xcode 11 beta и файлы прошивок: iOS 13, iPad OS 13, TV OS 13, Watch OS 6 и MacOS 1...

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

Рисовать — это 10% работы UX-дизайнера Привет, Хабр! Меня зовут Никита. Год назад я пришёл работать в Промсвязьбанк UX-дизайнером в команду по разработке интерфейсов ДБО для малого и среднего бизнеса. В то время нашей команде прилетали совершенно разные задачи, с разных продуктов. Зачастую уже в виде четко описан...

[Из песочницы] Генерация OpenAPI спецификации на основе функциональных тестов Разрабатывая API, наверняка не раз появлялись сложности с документацией: то её нет, то она не отображает поведение, описанное в коде. С точки зрения разработчика, написание документации (одной только внутренней) занимает не меньше времени, чем написание самого кода. Знако...

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

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

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

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

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

Универсальное и идеальное хеширование Начинаем неделю с полезного материала приуроченного к запуску курса «Алгоритмы для разработчиков». Приятного прочтения. 1. Обзор Хеширование — отличный практический инструмент, с интересной и тонкой теорией. Помимо использования в качестве словарной структуры данных, хеш...

OData сервис без написания кода Одним из наиболее важных аспектов разработки программного обеспечения является быстрое создание прототипов. Для большинства служб необходимы по крайней мере некоторые операции CRUD, и большинство приложений можно описать как приложения, управляемые данными. API, которые я п...

[Из песочницы] Настройка VSCode для работы с Scala Статья рассчитана на новичков в программировании на Scala, каким я сам и являюсь, и просто на желающих начать писать программный код в VSCode. Так получилось, что единственным гайдом по теме работы со Scalой в Visial Studio Сode оказалось это видео на ютуб-канале DevInside...

Настройка Warnings Next Generation плагина для интеграции PVS-Studio Релиз PVS-Studio 7.04 совпал c релизом плагина Warnings Next Generation 6.0.0 для Jenkins. Как раз в этом релизе Warnings NG Plugin добавил поддержку статического анализатора PVS-Studio. Этот плагин визуализирует данные о предупреждениях компилятора или других инструментов ...

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

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

Метапрограммирование в JavaScript и TypeScript Пролог Хочу представить на Ваш суд ряд мини статеек, в которых будут описаны приемы и основы метапрограммирования. В основном я буду писать об использовании тех или иных техник в JavaScript либо в TypeScript Эта первая (и надеюсь не последняя) статья из серии. Так что же так...

WBOIT в OpenGL: прозрачность без сортировки Речь пойдёт о “Weighted blended order-independent transparency” (далее WBOIT) — приёме, описанном в JCGT в 2013 г. (ссылка). Читать дальше →

Eclipse для микроконтроллеров (STM32) + FreeRTOS Task Aware Debugger В данной статье будет описано как установить eclipse для микроконтроллеров + FreeRTOS Task Aware Debugger. Читать дальше →

Особенности формирования тактовых частот в PSoC 5LP При разработке аппаратной части комплекса REDD, описанного в этой статье, мы рассматривали различные варианты реализации. PSoC рассматривался, так как для него имеется готовый относительно стандартизованный, пусть и де-факто, вариант переходника USB-I2C. К сожалению, по пр...

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

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

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

IDE нормального человека или почему мы выбрали Monaco Памятка от редактора В прошлой статье мы рассказали про релиз панели управления Voximplant, не забыв упомянуть обновленную IDE. Сегодня мы посвящаем этому инструменту отдельный лонгрид – наша коллега Geloosa заботливо описала как процесс выбора технологии, так и имплементаци...

Операция TaskMasters: как мы разоблачили кибергруппировку, атакующую организации России и СНГ Изображение: Unsplash Осенью 2018 года эксперты PT Expert Security Center выявили активность преступной группировки, деятельность которой была направлена на хищение конфиденциальных документов и шпионаж. Сегодня мы расскажем о ходе расследования, а также опишем основные м...

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

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

Сокращение рисков downtime благодаря архитектуре Shared Nothing Тема отказоустойчивости в системах хранения данных всегда является актуальной, поскольку в наш век повсеместной виртуализации и консолидации ресурсов СХД является тем звеном, отказ которого приведет не просто к заурядной аварии, а к длительным простоям сервисов. Поэтому совр...

Учимся общаться между микросервисами на Node.js через RabbitMQ Это продолжение статьи «Пишем первый микросервис на Node.js с общением через RabbitMQ», которая была неплохо принята пользователями хабра. В этой статье я расскажу о том, как нужно правильно общаться между микросервисами, чтобы микросервисы оставались изолированными. Читать ...

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

Чтобы не пиналась: Владелец KIA Sorento рассказал, как нормализовать работу АКПП без снятия клеммы Автомобилист отказался от стандартного решения, так как обесточивание машины сбрасывает важные настройки, которые потом приходится заново налаживать. Владелец KIA Sorento 2 на тематическом форуме рассказал, как нормализовать работу АКПП без снятия клеммы. Уточним, что на ра...

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

Inside The JeMalloc. Базовые Структуры Данных: Pairing Heap & Bitmap Tree Тема Аллокаторов частенько всплывает на просторах интернета: действительно, аллокатор — эдакий краеугольный камень, сердце любого приложения. В этой серии постов я хочу в подробностях рассказать о одном весьма занимательном и именитом аллокаторе — JeMalloc, поддерживаемый ...

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

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

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

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

Записи выступлений с летнего DIYorDIE Meetup 16 июня 16 июня в нашем офисе прошёл очередной митап всех любителей сделать что-нибудь своими руками с помощью паяльника, молотка и энтузиазма. И для всех, кто не смог побывать на митапе, мы выложили видеозаписи и презентации выступлений. Там много интересного! «Собираем квадроко...

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

Универсальный пул У нас есть ArrayPool для переиспользования массивов. Работает это так: взяли массив определенной длинны что то с ним поделали и положили обратно. Нужно это для больших объектов которые по логике программы долго не должны храниться. В предыдущей статье описана эта проблема. ...

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

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

Приложение для iOS и Android на Kotlin + Flutter UI Вступление Всем привет. Какое-то время назад, я решил делать свой проект для Android и iOS одновременно. Естественно, встал вопрос о выборе технологий. Пару недель присматривался к популярным стекам и выбрал Kotlin/Native. Поскольку я являюсь Android-разработчиком, то с Ko...

Система управления конфигурацией сети фильтрации TL;DR: Описание клиент-серверной архитектуры нашей внутренней системы управления конфигурацией сети, QControl. В основе лежит двухуровневый транспортный протокол, работающий с упакованными в gzip сообщениями без декомпрессии между эндпойнтами. Распределенные роутеры и эндп...

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

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

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

In-App Updates: ускоряем процесс обновления приложения на Android Среди многообразия инструментов, анонсированных на Android Dev Summit, особое внимание хочется уделить механизму обновления приложения In-App Updates (IAUs), который помогает разработчикам ускорить добавление новых фич, баг-фиксов и улучшений производительности. Поскольку ...

Получение root на роутере Tenda Nova MW6 Началось всё с того, что польстившись на распродажу и новые buzz words — я приобрел wifi mesh систему, дабы покрыть все уголки загородного дома и прилегающего участка. Все бы ничего, но одна проблема раздражала. А с учетом того, что я сел на больничный на несколько дней — до...

Разбор выкладки (интерфейс расстановки товаров в магазине) Привет! Я довольно давно обещал рассказать про особенности выкладки не на уровне ликбеза, а прямо с парой примеров по нашим точкам. Сразу две важных вещи: Мы умеем выкладывать только настольные игры, и не факт, что наши принципы подойдут кому-то ещё. Выкладка — далеко ...

В сеть утекла документация по Windows 10X — новой версии ОС для устройств с двумя экранами Код операционной системы Windows 10X планируется дописать в начале 2020 года, а коммерческий запуск состоится осенью Microsoft продолжает хранить в секрете подробности о Windows 10X — версии Windows 10, адаптированной для ноутбуков и планшетов с двумя экранами. Но теперь ...

QVD-файлы — что внутри, часть 2 В первой статье о структуре QVD файла я описал общую структуру и достаточно подробно остановился на метаданных. В этой статье я опишу формат хранения информации о колонках, поделюсь своим опытом трактовки этих данных. Итак (вспоминаем) QVD файл соответствует реляционной табл...

Service Level Agreement: пишем SLA для… других, или заключение SLA с Оператором связи Уверен, что многие хабражители хоть раз в жизни занимались вопросом обеспечения услугами связи для какой нибудь конторы или компании (собственное жилище тоже считается), все мы когда-то, увы не всегда вдумчиво, «подмахивали» договор на услуги связи, надеясь, что все будет хо...

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

Гид по докладам PHP Russia 2019 Всем привет! До единственной профессиональной конференции, сфокусированной на PHP, осталось всего несколько дней. В чате конференции в Telegram участники готовятся к митапам, пишут вопросы, уточняют расписание и обсуждают доклады. Именно поэтому мы решили рассказать про докл...

Митапы Saint TeamLead Conf для углубления в тему В продолжение серии статей о том, как на Saint TeamLead Conf мы собираемся раскрыть три важнейших блока работы тимлида — работу с командой, инструментарий тимлида и развитие осознанности — сегодня расскажу о темах, которые будем обсуждать в формате камерных встреч, митапов, ...

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

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

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

Получение статистики по всем клиентам из API Яндекс Директ в разрезе дней с помощью Python В работе часто использую короткую статистику в разрезе дней чтобы отслеживать отклонения трафика. Более подробно о написании запросов написал в статье « Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python)». В данной статье я в большей степени рас...

Статистика и мониторинг PHP скриптов в реальном времени. ClickHouse и Grafana идут на помощь к Pinba В этой статье я расскажу как использовать pinba совместно с clickhouse и grafana вместо pinba_engine и pinboard. На php-проекте pinba — пожалуй единственный надёжный способ понять, что происходит с производительностью. Правда обычно pinba внедряется только тогда, когда уже н...

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

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

[Перевод] Бесплатные аккаунты на GitHub смогут [почти] без ограничений работать с приватными репозиториями Эта новость опубликована на The Next Web, с пометкой: "Из-за ошибок в планировании, мы опубликовали эту новость на день раньше снятия эмбарго на разглашение. Фича всё ещё не запущена, о ней официально расскажут завтра. Когда это произойдёт, мы обновим пост новым официальным...

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

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

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

[Перевод] До Netscape: забытые веб-браузеры начала 1990-х Кто-нибудь помнит Erwise? Viola? Cello? Давайте вспоминать. Когда в 1980-м Тим Бернерс-Ли прибыл в ЦЕРН, знаменитую европейскую лабораторию физики частиц, его наняли для обновления контрольных систем нескольких ускорителей частиц. Но изобретатель современной веб-страницы п...

Генерация документов с помощью ONLYOFFICE DocumentBuilder Привет, Хабр. Я хочу рассказать об утилите под названием DocumentBuilder, которая позволяет генерировать документы, таблицы и презентации, а также показать, как можно его использовать для решения ваших задач, на примере создания резюме из шаблонов. Работает билдер следующи...

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

Как онлайн-турнир может отбить желание «доделать на следующей неделе» Всем привет! Я хочу рассказать об онлайн-соревновании для проектов и стартапов, где я играю уже третий месяц с Loresome в качестве проекта. Это время было самым продуктивным и сфокусированным не только в жизни проекта, но и, наверное, вообще в моей жизни. Краткое изложение...

Бэки двух ритейлеров на SAP за 12 часов Эта статья расскажет о масштабном проекте внедрения SAP в нашей компании. После слияния компаний «‎М.Видео»‎ и «‎Эльдорадо»‎ перед техническими отделами была поставлена нетривиальная задача — перевести бизнес-процессы в единый бэкенд, основанный на SAP. Перед стартом у нас...

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

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

Недостаточно знать, что такое Mutex, Semaphore и async/awat. Надо знать всё, начиная с квантов Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня есть отдельный повод для этого: на семинаре настоящий эксклюз...

Дайджест новостей из мира PostgreSQL. Выпуск №15 Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. Новости Главное событие месяца — это, конечно, Feature Freeze. Мартовский коммитфест закрыт. Основной облик версии PostgreSQL 12 определился. Дальше будут доработки и исправления, но не изменения в ...

Техподдержка Миран: как все устроено Огонь, в котором вы сгораете, надо обслуживать. В.О.Пелевин, “Generation П” Привет, Хабр! Меня зовут Александр Соловьев, я руководитель технической поддержки дата-центров Миран. Скажите, вот вы пробовали писать учебники? Я — нет. Тем не менее, текст ниже — это своего рода...

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

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

Осторожный переезд в Нидерланды с женой. Часть 3: работа, коллеги и прочая жизнь В 2017-2018 годах я искал работу в Европе и нашел в Нидерландах (про это можно прочитать здесь). Летом 2018-го мы с женой постепенно перебрались из Подмосковья в пригород Эйндховена и более-менее обустроились там (это описано здесь). С тех пор прошел год. С одной стороны ...

Как мы внедряли Agile-testing Привет! Меня зовут Алёна Исакова, я ведущий тестировщик в Авито, и я хочу рассказать вам про свой опыт введения Agile-тестирования в команду. Когда я читала доступные на русском языке статьи про Agile-тестирование и ATDD, у меня сложилось впечатление, что я «не модная», «не ...

Как внедрить унифицированные процессы с учетом всех особенностей компании? С выходом ITIL v4 хотелось бы отдать дань уважения великой методологии и рассказать об российском ITSM-опыте, для чего и как его применять в сегодняшних условиях компаниям, идущим по пути цифровых преобразований. Для последовательного раскрытия обозначенной темы в предлагае...

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

[Из песочницы] Игрушка ГАЗ-66 на пульте управления. Часть 1 Несколько последних лет хотелось заполучить игрушку на пульте управления и обязательно с видео. Но не купить готовую, а сделать самому. И в итоге заказал себе вот такую игрушку, с простенькой системой управления, но большим потенциалом для модернизации. На все работы от ста...

Load Balancers для систем оркестрации К Load Balancers в системах оркестрации (Kubernetes, Nomad и других) предъявляется больше требований, чем просто балансировка загрузки. Во-первых, Load Balancer должен уметь читать каталог, со списком сервисов, на которые необходимо перенаправлять трафик (или, как вариант, д...

Монолит для сотен версий клиентов: как мы пишем и поддерживаем тесты Всем привет! Я бэкенд-разработчик в серверной команде Badoo. На прошлогодней конференции HighLoad я выступал с докладом, текстовым вариантом которого и хочу поделиться с вами. Этот пост будет наиболее полезен тем, кто самостоятельно пишет тесты для бэкенда и испытывает пр...

Who is HubEx? Как мы создали платформу для управления сервисом оборудования Иногда можно услышать такую фразу «чем старше продукт, тем он функциональнее». В век современных технологий, далеко идущего web и модели SaaS это утверждение почти не работает. Залог успешной разработки это постоянный мониторинг рынка, отслеживание запросов и требований клие...

Ignite Service Grid — перезагрузка 26 февраля мы проводили митап Apache Ignite GreenSource, где выступали контрибьютеры open source проекта Apache Ignite. Важным событием в жизни этого сообщества стала перестройка компонента Ignite Service Grid, который позволяет развернуть пользовательские микросервисы прямо...

О PBR на пальцах В этой статье я постараюсь описать теорию и подкрепить её практикой подготовки PBR-материалов с учётом актуальных тенденций и движков. Читать дальше →

[Перевод] XXE: XML external entity В этой статье мы объясним, что такое инъекция внешних сущностей XML, опишем некоторые общие примеры, поясним, как найти и использовать различные виды XXE-инъекций, а также обобщим, как предотвратить атаки с их помощью. Читать дальше →

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

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

Аварии помогают учиться За 3 последних года в Контуре случилось больше тысячи инцидентов разной степени эпичности. Причины разные: например, 36% вызвано некачественным релизом, а 14% — работами по обслуживанию железа в дата-центре. Откуда статистика? После каждого инцидента пишется отчёт — постморт...

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

Тестируем SQL Server код с tSQLt FYI: эта статья представляет собой дополненную версию моего доклада на SQA Days #25. Опираясь на свой опыт общения с коллегами, могу утверждать: тестирование кода в БД не является распространённой практикой. Это может нести в себе потенциальную опасность. Логику в БД пишут ...

[Перевод] Cascadeur: будущее игровой анимации Всем привет! Мы — студия разработки Banzai Games. Рады наконец открыть здесь свой блог. Будем писать о наших технологиях, проектах и делиться историями из жизни компании. Первый материал — перевод интервью с основателем студии Евгением Дябиным, которое он дал коллегам из и...

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

Какие устройства обновятся до Android 10 Q Хоть компания Google ещё даже не анонсировала Android 10 Q, разработчики из «корпорации добра» уже вовсю разрабатывают новую версию операционной системы. Это подтверждается не только здравым смыслом, но и различными утечками в виде скриншотов из Android 10 Q и даже видеообзо...

Разворачиваем Kubernetes на десктопе за несколько минут с MicroK8s Начать работать с Kubernetes не всегда бывает просто. Не у всех есть необходимая для разворачивания полноценного кластера Kubernetes инфраструктура. Для локальной работы Kubernetes предлагет утилиту Minikube. Minikube — достаточно простое и удобное средство, и есть несколько...

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

[Из песочницы] IT рекрутинг. В поисках баланса процесс/результат 1. Стратегическое виденье Особенностью и ценностью продуктовой компании, основной ее миссией и задачей, является удовлетворенность клиентов, их вовлеченность, и лояльность к бренду. Естественно, через производимый компанией продукт. Таким образом, глобальную цель компании мо...

О пиве глазами химика. Часть 2 Привет, %username%. Если у тебя прямо сейчас возник вопрос: «Эй, что значит часть 2 — а где первая?!» — срочно идти сюда. Ну а для тех, кто уже знаком с первой частью — переходим непосредственно к делу. Да, и я знаю, что для многих пятница только началась — ну вот и пов...

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

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

FunTech iOS-meetup #1 Приглашаем вас на первый FunTech iOS-meetup, который пройдёт 23-го марта в Москве. Программа «Крутим RunLoop. Как устроена лента ВКонтакте», VK.com, Александр Терентьев В своём докладе Александр расскажет о том, с какими задачами и проблемами при реализации сложных колле...

Пленительная и чарующая Леди Нохиме (Lady Nohime) из Sengoku Basara Порой не хватает слов, дабы описать весь невообразимый спектр своих эмоций, впечатлений и в дело вступает «магия дела». Пример магии воплощения того, о чем не хватает красноречия и сил сказать напрямую - и есть мое столкновение с великолепной героиней моей самой любимой игры...

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

[Перевод] 14 советов по написанию чистого React-кода. Часть 1 Написание чистого кода — это навык, который становится обязательным на определённом этапе карьеры программиста. Особенно этот навык важен тогда, когда программист пытается найти свою первую работу. Это, по существу, то, что делает разработчика командным игроком, и то, что сп...

Работа не волк, часть 1. Поиск работы: 9 кругов HR-a Поиск работы вызывает неприятные тревожно-азартные ощущения и у вчерашнего студента, и у профессионала с годами опыта за плечами. Это не признак неуверенности в себе, это проблема всей отрасли поиска персонала: мы идём на собеседование и понимаем, что не всё может зависеть о...

Должны ли строки в Python быть итерируемы? И сотворил Гвидо строки по образу C, по образу массивов символов сотворил их. И увидел Гвидо, что это хорошо. Или нет? Представьте, что вы пишете совершенно идиоматичный код по обходу неких данных с вложенностью. Beautiful is better than ugly, simple is better than complex,...

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

На свежих скриншотах Metro Exodus очень напоминает «Безумного Макса» Компания Deep Silver выпустила несколько скриншотов предстоящего шутера Metro Exodus в рамках зарубежного мероприятия для прессы. Скриншоты демонстрируют новую область, которую игроки посетят в Metro Exodus. Её окружение значительно отличается от того, что мы виде...

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

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

[Из песочницы] Расширяем функционал WDS: добавление возможности загрузки в UEFI Всем привет! В данной статье, описаны шаги которые необходимо выполнить, для добавления к вашему WDS, возможности загрузки в режиме UEFI. Т.е. инструкция в данной статье, предполагает, что у вас уже имеется, примерно следующая конфигурация: 1. Windows Server 2012R2 (или нове...

IntelliJ IDEA 2019.1: Кастомизация тем интерфейса, switch-выражения из Java 12, отладка внутри Docker-контейнеров Это – обзор нового в IntelliJ IDEA 2019.1. Ссылки в заголовках ведут на соотвествующие разделы на сайте, где всё описано детально, но на английском. Читать дальше →

Neural Matching: как адаптировать контент под реалии Google У поисковиков не очень с логикой, это факт. Но они стараются. А SEO-специалисты стараются в ответ — пытаются добиться предельной релевантности страниц, опираясь на догадки и эксперименты. Недавно Гугл порадовал новым фактором ранжирования — Neural Matching. Мы почитали, чт...

Фингерпринтинг через рекламные баннеры? Теперь это обычное дело Вчера на Stack Overflow задали странный вопрос: почему загрузка страницы Stack Overflow инициирует аудиоконтент? Что за звук на текстовом сайте? Скриншот из инструментов разработчика: Ответ оказался интереснее, чем можно было предположить. Читать дальше →

Мы agile или аджайл нас? Какая главная проблема в разработке программного обеспечения (а может и вообще в любой работе)? Когда я задавал вопрос коллегам, получал разные ответы: изменения требований, несоответствия ожиданий, качество кода, взаимодействие с другими командами… суммируя для себя — комму...

[Перевод] Jupyter Notebook в Netflix В последнее время Jupyter Notebook стал очень популярен среди специалистов Data Science, став де-факто стандартом для быстрого прототипирования и анализа данных. В Netflix, стараемся раздвинуть границы его возможностей еще дальше, переосмысливая то, чем может быть Notebook, ...

Как мы строили Wi-Fi на Huawei В трёх предыдущих статьях (один, два, три) мы рассказали о том, как модернизировали проводную сеть в офисе «Инфосистемы Джет». Теперь пора рассказать о модернизации беспроводной сети. Читать дальше →

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

[Из песочницы] Attention для чайников и реализация в Keras О статьях по искусственному интеллекту на русском языке Не смотря на то что механизм Attention описан в англоязычной литературе, в русскоязычном секторе достойного описание данной технологии я до сих пор не встречал. На нашем языке есть много статей по Искусственному Интелл...

Spring Boot 2 и JDK 8: Вы все еще используете аннотации @Param, @RequestParam и @PathVariable? Тогда статья для Вас Здравствуй, Хаброчитатель! Разрабатывая учебный проект по Spring Boot 2 решил поэкспериментировать с @Param в запросах Spring Data JPA, а точнее c их отсутствием: @Transactional(readOnly = true) public interface UserRepository extends JpaRepository<User, Integer> { ...

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

[Перевод] Мой первый день с Haiku: она неожиданно хороша TL:DR; Новичок попробовал Haiku в первый раз и решил, что она потрясная. Особенно по сравнению с рабочими окружениями, доступными на Linux Я уже делился своими идеями (а также разочарованиями) по поводу #LinuxUsability (part 1, part 2, part 3, part 4, part 5, part 6). В это...

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

Проектирование Электро-Механической Marble Machine v2.0 Я хочу рассказать о второй версии моей электро-механической Marble Machine и о процессе ее проектирования. Про первую спиральную машину я уже писал здесь на хабре. Времени с тех пор прошло не мало, и вот, в принципе, задуманное осуществлено: два подъемника и два спуска рабо...

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

Авторам технических текстов: как писать о сложном и не быть занудой? Потребление контента похоже на процесс приёма пищи. Обычно мы тратим деньги на калории, но важна не только калорийность. Чем еда полезнее, вкуснее и красивее, тем больше мы её хотим. Так и с контентом. В этой статье поговорим, как стать «контентным поваром»: готовить текст т...

Антон Беличков: «Самый простой способ понять мощь OpenStreetMap — начать самому править карту» Антон Беличков (az09) — программист из Магнитогорска, который, как почти все герои моих интервью про мир OSM, пришел в этот проект 10 лет назад. Он — теплая мудрость и твердый дух сообщества RU-OSM. Почему так важен институт наставничества, как нам догнать Америку и чего хо...

Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй. Первым делом выкладываю ссылки на предыдущие части: Часть 1: пишем языковую ВМ Часть 2: промежуточное представление программ Часть 3: Архитектура транслятора. Разбор языковых структур и математиче...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

Строим модели, «продаем» управление знаниями руководству и исправляем ошибку выжившего Недавно я рассказала о докладах, которые сформировали программу конференции про управление знаниями в IT компаниях KnowledgeConf. Но не докладами едиными, все таки самое важное на конференции — это общение экспертов, дискуссии, столкновение мнений, на стыке которых возникает...

Дозиметр для Серёжи. Часть I. Polimaster — Охотники за нуклидом В связи с участившимися вопросами от друзей и знакомых с ключевой фразой «какой дозиметр купить? а у тебя самого что?» решил я собрать воедино разбросанную в разных местах информацию и рассказать о своем приборном парке и всем, что с этим парком связано. Хронологию рассказа ...

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

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

Делфийская история успеха программиста из Улан-Удэ Мир суровый, но маленький и возможности его изменить есть у каждого. В 1996 году начиная изучать только что появившийся Delphi, я не мог себе представить, какая будет судьба у этого языка, который сильно повлиял на Java и C#, а также какая судьба будет у самой компании Borla...

Илья Зверев:“За эти годы OpenStreetMap оброс такой серьезной инфраструктурой, что можно рисовать карту не выходя из дома Илья Зверев — неформальный лидер российского сообщества OpenStreetMap. Вот уже почти 10 лет он всячески продвигает OSM: создает новые приложения и пишет статьи, развивает сообщество и выступает на конференциях. Насколько дружелюбен OSM, что он делал два года в Совете OSMF и...

Рекомендательная система для Directum Club. Часть первая, коллаборативная Каждый день пользователи по всему миру получают большое количество различных рассылок — только через сервис MailChimp ежедневно рассылают миллиард писем. Из них открывают 20.81%. Ежемесячно пользователи наших сайтов получают рассылки с отобранными редактором материалами. Эти...

Графические особенности и скриншоты PC-версии Red Dead Redemption 2 Когда при взгляде на скриншот с заснеженной локацией становится холодно.

JS со всех сторон: топ-10 докладов HolyJS 2018 Moscow В декабре мы провели очередную HolyJS, и поначалу видеозаписи её докладов были доступны только для зрителей, а теперь открыты для всех. Для Хабра мы традиционно сделали подборку из 10 докладов, получивших от зрителей самые высокие оценки. Они идут по возрастанию рейтинга,...

Что мы знаем о микросервисах Привет! Меня зовут Вадим Мадисон, я руковожу разработкой System Platform Авито. О том, как мы в компании переходим с монолитной архитектуры на микросервисную, было сказано не раз. Пора поделиться тем, как мы преобразовали свою инфраструктуру, чтобы извлечь из микросервисов м...

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

Мандатная модель распределения прав в FreeBSD Введение Для обеспечения дополнительного уровня безопасности сервера можно использовать мандатную модель распределения доступа. В данной публикации будет описано каким образом можно запускать apache в jail с доступом только к тем компонентам, к которым необходим доступ для ...

[Перевод] Как я рисую иллюстрации для конспектов по математике в Inkscape В прошлой статье я рассказал, как пишу конспекты по математике на LaTeX в Vim. В этой статье покажу, как создаются рисунки для этих конспектов с помощью Inkscape, а также расскажу о своём самодельном менеджере горячих клавиш. Некоторые примеры Во-первых, позвольте показать ...

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

Кто есть кто в open source: биографии гиков Расскажем о тех, сыграл важную роль в становлении опенсорсного сообщества. / фото Hitesh Choudhary Иан Мёрдок Иан Мёрдок родился в 1972 году в небольшом городе на границе между Западной Германией и Швейцарией. Там его отец — американский этимолог — занимался научными иссле...

Трафальгар Ло, Небесный остров, сокровища и карма: свежие скриншоты One Piece: World Seeker Компания Bandai Namco Entertainment опубликовала свежие скриншоты предстоящего экшена One Piece: World Seeker, рассказала о кармической системе и поиске клада, а также представила новую локацию и персонажа, Трафальгара Д. Ло. На новых скриншотах One Piece: World...

DataArt запустил бесплатный сервис улучшения резюме CV Duck Сервис рассчитан, в первую очередь, на разработчиков и тех, кто занимается созданием цифровых продуктов. HR-эксперты и редакторы исправляют ошибки и дают рекомендации, как структурировать резюме, описать профессиональный опыт и навыки. Бета-версия CV Duck доступна пользо...

Экскурсия во Всемирное семенохранилище (Global Seeds Vault) или Хранилище Судного Дня (Doomsday Vault) Об этом объекте было уже несколько публикаций на Хабре, правда все они касались не основной тематики. То речь шла о параллельной возможности хранения данных, а не только семян — раз, два, то о том, что Хранилище затапливает из-за таяния льдов вечной мерзлоты, то о том, что с...

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

PHP для начинающих. Сессия Всем хорошего дня. Перед вами первая статья из серии PHP для начинающих разработчиков. Это будет необычная серия статей, тут не будет echo "Hello World", тут будет hardcore из жизни PHP программистов с небольшой примесью «домашней работы» для закрепления материала. Начну с...

[Перевод] Разбираемся в протоколе консенсуса Stellar Протокол консенсуса Stellar впервые описан в научной статье Дэвида Мазьера в 2015 году. Это «федеративная система византийского соглашения», которая позволяет децентрализованным вычислительным сетям без лидеров эффективно достигать консенсуса по какому-либо решению. Платёж...

Ослабляем гайки, часть 2: срок голосования за публикации и другие изменения В начале недели мы рассказали о важных изменениях для пользователей и, кажется, они всем понравились: рейтинг публикации перевалил за 300, написано более 800 комментариев (и они активно продолжают появляться). Там же мы посеяли зерно интриги и пообещали ещё кое-какие изменен...

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

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

Как резидентные прокси помогают в бизнесе: реальный кейс использования Infatica в сфере Data Mining В нашем блоге мы не только пишем о технологиях обеспечения приватности, но и рассказываем о реальном применении сервиса Infatica для решения бизнес-задач. Сегодня речь пойдет о применении сервиса резидентных прокси в сфере Data Mining. Читать дальше →

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

Microsoft описала своё видение современной операционной системы На этой неделе проводится выставка Computex, на которой по традиции анонсируется множество компьютеров на системе Windows 10. Конференция подходит концу, поэтому Microsoft опубликовала статью в блоге, подводя итоги сделанных партнёрами анонсов.Также компания рассказала о том...

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

Решение задания с pwnable.kr cmd1, cmd2, asm, blukat. Обходим фильтрацию в Linux. Пишем shellcode с помощью pwntools В данной статье посмотрим как обойти легкий фильтр, разберемся как написать shell c помощью pwntools, а также решим несколько заданий с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информацион...

Мой опыт работы в Фирме 1С Кажется, писали уже обо всех: от Яндекса до Мэйлру, от Люксофта до Туту. Но про самую отстраненную, самобытную и изолированную компанию на ИТ рынке еще не было. Расскажу о своем опыте работы в отечественной Корпорации зла. К тому чтобы поделиться своим опытом меня подтолк...

Patch’ти — не считается: сказ о патч-менеджменте в лицах и красках Наверно, все SOC-аналитики спят и видят, как их детектирующие правила отлавливают модные техники проправительственных APT-группировок, а расследования приводят к обнаружению эксплойтов для zero-day уязвимостей. К сожалению (или к счастью), большая часть инцидентов, с которым...

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

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

Деревянные игрушки — неписи Это внеочередной выпуск «деревянных игрушек» — изначально не планировал, но как-то сам собой появился. Пока писал ретроспективу игр под DOS, периодически в комментариях высказывались на тему «а почему не упомянута <игра> для <платформы>». Так потому и не упомяну...

Музей DataArt. КУВТ2 — учеба и игра В начале учебного года мы решили рассказать об одном из экспонатов нашей коллекции, образ которого остается важным воспоминанием для тысяч школьников 1980-х. Восьмибитный Yamaha КУВТ2 — русифицированная версия бытового компьютера стандарта MSX, запущенного в 1983 году яп...

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

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

Обход блокировок РКН используя DNSTap и BGP Тема довольно изъезжена, знаю. К примеру, есть отличная статья, но там рассматривается только IP-часть блоклиста. Мы же добавим еще и домены. В связи с тем, что суды и РКН блокируют всё направо и налево, а провайдеры усиленно пытаются не попасть под штрафы, выписанные "Реви...

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

Terraformer — Infrastructure To Code Хотел бы рассказать про новый CLI tool который я написал для решения одной старой проблемы. Проблема Terraform уже давно стал стандартом в Devops/Cloud/IT сообществе. Вещь очень удобная и полезная чтоб заниматся infrastructure as code. Есть много прелестей в Terraform а т...

Источники вдохновения при разработке под UDB Ну что ж, мы уже знаем всё, что нужно для программирования UDB. Но одно дело – знать, и совсем другое – уметь. Поэтому сегодня мы обсудим, где и как можно черпать вдохновение для повышения собственного мастерства, где набираться опыта. Как видно из перевода документации, там...

Разработка команды запроса данных из базы — часть 2 В предыдущей части я остановился на том, что разрабатываемая мной команда реализует поведение, которое можно описать вот таким тестом: it('execute should return promise', () => { request.configure(options); request.execute().then((result) => { expect(result....

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

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

Google "случайно" слил информацию о новом ... На сайте интернет-магазина Google внезапно появилось изображение нового продукта под названием Google Nest Hub Max. Разумеется, на текущий момент данные уже удалены, но заинтересованные пользователи успели сделать скриншоты - как известно, "удалить информацию из Интернета" п...

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

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

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

[Из песочницы] Что дает объединение ручного и автоматизированного тестирования: опыт Wrike Читая статьи на тему web-тестирования, вырисовываются условно две темы: 1) ручное тестирование вымирает, автотесты (здесь и далее под автотестами имеются в виду Selenium UI и REST-тесты) – наше все; 2) автоматическое тестирование – не панацея, без ручного тестирования не об...

Как создавать успешные команды и управлять ими Снова всех приветствую! Как и обещал, я продолжаю писать о менеджменте в IT. В прошлой статье я рассказал о поиске и найме новых игроков в команду. Но какими бы классными и талантливыми людьми они ни были, они пока не команда. Можно провести параллель с футболом: вы можете к...

[Из песочницы] Headless CMS. Почему я пишу свою Всем привет! Написать эту публикацию меня побудила вот эта недавняя статья (вчера увидел). Пересказывать основные признаки Headless/content-first/api-first и т.п. CMS я не буду, материала полно и наверняка уже многие знакомы с этим трендом. А хочу я рассказать почему и ка...

Распознавание номеров. Как мы получили 97% точности для Украинских номеров. Часть 2 Распознавание номеров. Практическое пособие. Часть 1 Продолжаем рассказ о том как распознавать номерные знаки для тех кто умеет писать приложение «hello world» на python-е! В этой части научимся тренировать модели, которые ищут регион заданного объекта, а также узнаем как...

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

Работа удалённо: наш опыт В компании «Флант» все работают удалённо. Кто-то до прихода во «Флант» уже имел такой опыт, а кто-то только пробует ступить на этот уникальный и ни с чем не сравнимый путь. Мы решили отбросить темы, о которых неоднократно писали здесь на Хабре, и рассказать, как «готовим»...

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

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

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

Не купили DLC: функцию, которая спасла бы упавшие 737, «Боинг» продавал как опцию В то время как пилоты обречённых самолётов Boeing в Эфиопии и Индонезии пытались вернуть себе управление, у них не было двух важных функций безопасности, которые Boeing продавал за дополнительную плату, пишет NY Times. Как и другие авиапроизводители, Boeing получает прибы...

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

[Из песочницы] Распутывание клубка уязвимостей на сайтах После своей первой статьи, опубликованной на codeby, которая вошла в топ 3 публикаций недели, я был очень мотивирован написать следующую. Но 11 класс накладывает ограничения на свободное время подготовкой к егэ и олимпиадами. Поэтому вторую я пишу лишь спустя несколько меся...

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

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

Android для радиоинженера (часть вторая) В первой части я немного рассказал о приложении RF & Microwave Toolbox. Во второй части расскажу о не менее интересном приложении, которое позволяет проектировать СВЧ устройства (преимущественно, планарные) на смартфоне/планшете под управлением ОС Android. Если вам интер...

[Перевод] Пол Грэм проводит разбор полетов: Viaweb июня 1998 года За несколько часов до того, как продаться «Yahoo» в июне 1998 года, я сделал скриншот сайта Viaweb. Мне показалось, что интересно будет однажды на него взглянуть. Первая вещь, на которую вы сразу обратите внимание, это то, как компактны страницы. В 1998-ом экраны были заме...

“Любишь кататься? Люби… и катайся”. Топовые лайфхаки для автомобилиста-новичка Автомобиль — не только средство передвижения, это еще объект гордости автомобилиста. Но за машиной нужно ухаживать, а также тратить деньги на ее эксплуатацию. Автомобилисты-новички далеко не всегда в курсе многих важных нюансов. Совместно с Олегом Даниловым, сооснователем се...

Пишем краулер на раз-два 1.0 Веб-краулер (или веб-паук) — это важная составная часть поисковых систем для обхода веб-страниц с целью занесения информации о них в базы данных, в основном, для их дальнейшей индексации. Такая штука есть у поисковиков (Google, Yandex, Bing), а также у SEO-продуктов (SEMrush...

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

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

Универсальное DRO на базе Arduino Nano — shDRO. Часть 2 И снова здравствуйте! Продолжаю описывать свою разработку shDRO. В данной части я опишу алгоритм опроса устройств и формат команд консоли. Первая часть. Читать дальше →

[Из песочницы] Преодоление порога 32 КБ для данных в ПЗУ микроконтроллеров AVR Что может быть хуже костылей? Только неполно документированные костыли. Перед вами скриншот из последней официальной интегрированной среды разработки для 8-битных микроконтроллеров AVR, Atmel Studio 7, язык программирования Си. Как видно из столбца Value, переменная my_arra...

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

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

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

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

Использование DbTool для засеивания (seeding) баз данных в приложениях .NET (Core) Представляем вашему вниманию DbTool — утилиту командной строки для экспорта данных БД в различные форматы и open-source библиотеку Korzh.DbUtils, использование которых может значительно упростить первоначальное "засевание" базы данных в вашем .NET (Core) приложении. С помощь...

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

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

DevProject Award: Моя речь на DeveloperWeek 2019 Всем привет Меня зовут Дмитрий Голев. Я основатель и технический директор Veliov Group. Сегодня я расскажу о сервисе, который был награжден "Dev Project" award от DeveloperWeek. По данному случаю нам предложили рассказать о проекте со сцены DevExec World, ниже текстовая верс...

[Перевод] Serverless CI/CD на AWS Было бы круто, если бы развертывание в формате копи-пейст осталось в прошлом, но, увы, дела обстоят иначе. Бывает, разработчикам предпочтительней именно такой метод поставки. Хоть сейчас пиши статью о том, почему это не есть гуд, но вы и без меня все знаете. С тенденцией к ...

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

Figma — простое решение для дизайнера, сложное решение для верстальщика Если вы работаете в области web-разработки, то рано или поздно, вам суждено будет познакомиться с Figma. Смиритесь с этим фактом и начинайте изучать. Я же попробую описать данный продукт, с точки зрения повседневного пользователя. Читать дальше →

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

«Яндекс.Музыка» автоматически установилась на Windows 10 и заменила стандартное приложение для MP3 Приложение «Яндекс.Музыка» теперь устанавливается по умолчанию в операционной системе Windows 10, пишет «Коммерсантъ» со ссылкой на дискуссии в Microsoft Store. Там официальный представитель «Яндекса» объясняет, что приложение всё равно можно удалить с компьютера. Судя по...

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

Что нового в Swift 5? Привет, меня зовут Илья. Я — iOS разработчик в компании Tinkoff.ru. В этой статье я сделаю краткий обзор основных изменений в Swift 5. Данные изменения описаны в release notes. Для тех, кто еще не ознакомился, добро пожаловать под кат! Читать дальше →

[Перевод] Конференция BLACK HAT. Уроки выживания при DDOS-атаке 300 Гбит / с. Часть 1 Меня зовут Мэттью Принс, я один из соучредителей и генеральный директор сервиса CloudFlare. Не думайте, что я буду настолько же интересен, как директор АНБ, но я хотя бы постараюсь быть менее противоречивым. На самом деле я частный профессор права, так что я читал Конституци...

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

Автоматизируем переход на React Hooks React 16.18 — первый стабильный релиз с поддержкой react hooks. Теперь хуки можно использовать не опасаясь, что API изменится кардинальным образом. И хотя команда разработчиков react советует использовать новую технологию лишь для новых компонентов, многим, в том числе и мне...

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

I see you: тактика обхода маскировки добычи у летучих мышей В мире дикой природы охотники и добыча постоянно играют в догонялки, как буквально, так и фигурально. Стоит охотнику развить новые навыки путем эволюции либо другими методами, как добыча подстраивается под них, дабы не быть съеденной. Это бесконечная игра в покер с постоян...

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

Отображение и оптимизация вывода на терминал в вебе Не так давно я столкнулся с довольно простой и одновременно интересной задачей: реализация read-only терминала в веб приложении. Интереса задаче придавали три важных аспекта: поддержка основных ANSI Escape sequences поддержка минимум 50 000 строк данных отображение данных п...

Настройка Single Sign-On в Zimbra Collaboration Suite Наряду с Active Directory, одной из важных технологий для обеспечения удобства работы пользователей даже при самой строгой парольной политике безопасности, является технология Single Sign-On. Данная технология позволяет сотрудникам после очередной смены пароля проходить проц...

Для тех кто у кого не идут продажи с Контекстной рекламы Этот пост посвящён для тех у кого контекстная реклама идёт в минус. Т.е. если вы сливаете бабло, а продаж мало. Вот для таких людей я хочу порекомендовать моего партнёра — Константина Мазаева.  Это мой партнёр. Я занимаюсь Seo, а он контекстной рекламой. Это профессион...

[Перевод] Как делать сайты в 2019 году Веб стремительно меняется, не отставай и ты! Я писал такую подобную статью в 2018 году, но веб меняется так быстро, что те гайдлайны уже безнадёжно устарели. Давайте-ка шаг за шагом разберём важнейшие принципы веб-дизайна в 2019 году. Обязательно дайте пользователю знать, ч...

[Перевод] Математики обнаружили идеальный способ перемножения чисел Разбивая крупные числа на мелкие, исследователи превысили фундаментальное математическое ограничение скорости Четыре тысячи лет назад жители Вавилонии изобрели умножение. А в марте этого года математики усовершенствовали его. 18 марта 2019 два исследователя описали самый ...

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

Acronis Design: Дополнительные инструменты дизайнера Я Сергей, ведущий дизайнер в компании Acronis. В этой статье я расскажу о тех инструментах, которые мы не только внедряем, но разрабатываем для других дизайнеров внутри компании. Речь пойдет о плагинах для Sketch, консольных утилитах и расширениях для Chrome. Читать дальше...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

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

Создание stateful навыка для Алисы на serverless функциях Яндекс.Облака и Питоне Начнём с новостей. Вчера Яндекс.Облако анонсировало запуск сервиса бессерверных вычислений Yandex Cloud Functions. Это значит: ты пишешь только код своего сервиса (например, веб-приложения или чатбота), а Облако само создаёт и обслуживает виртуальные машины, где он запускает...

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

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

Анализ производительности виртуальной машины в VMware vSphere. Часть 1: CPU Если вы администрируете виртуальную инфраструктуру на базе VMware vSphere (или любого другого стека технологий), то наверняка часто слышите от пользователей жалобы: «Виртуальная машина работает медленно!». В этом цикле статей разберу метрики производительности и расскажу, ...

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

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

[Перевод] Reflective Shadow Maps: Часть 2 ― Реализация Привет, Хабр! В данной статье представлена простая реализация Reflective Shadow Maps (алгоритм описан в предыдущей статье). Далее я объясню, как я это сделал и какие подводные камни были. Также будут рассмотрены некоторые возможные оптимизации. Рисунок 1: Слева направо: бе...

File management done wrong — Часть 2: Masterpiece of shit Сегодня вам предстоит прочитать про про файловые операции и всё что с ними связано. В этой части я опишу самый дикий и опасный диалог всех времён, адскую штуку — диалог разрешения конфликта имён в Windows File Explorer. Это просто Masterpiece of Shit. Это моя любимая часть,...

[Перевод] Представляем темную тему для Visual Studio App Center Мы стремимся сделать Visual Studio App Center наиболее удобным для вас. Благодаря тому, что вы находите время делиться с нами своими пожеланиями через наш репозиторий на Github, мы можем создавать для вас такие функции, как эта темная тема для App Center. На представленных ...

6 февраля, Москва, DI Telegraph — Большая QIWI Кухня о дизайне продуктов В среду, 6 февраля, мы собираем всех желающих, дабы поговорить о дизайне продуктов. В программе — выступления спикеров из Сбербанка, CreativePeople, Useful и Looi. Кроме этого, мы проведем воркшоп, на котором научимся определять метрики для дизайн-задач и вообще устанавл...

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

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

Google+. Sic transit gloria mundi… Всем привет. Итак, собственно к Google+. Проект почит в бозе с 2 апреля 2019 года. Теперь уже официально. Вот как об этом пишут всем участникам. Читать дальше →

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

[Перевод] Паттерны и анти-паттерны CI/CD. Часть 1 Всем привет! Друзья, в последний день зимы у нас запустится новый поток по курсу «DevOps практики и инструменты». В преддверии старта курса делимся с вами первой частью статьи: «Паттерны и анти-паттерны CI/CD». Задача пайплайна развертывания состоит из трех частей: Види...

Байт-машина для форта (и не только) по-индейски (часть 4) И снова я несколько переоценил объем статьи! Планировал, что это будет заключительная статья, где сделаем компилятор и выполним тестирование. Но объем оказался велик, и я решил разбить статью на две. В этой статье мы сделаем практически все основные функции компилятора. ...

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

Дополнительные программные средства безопасности для NAS Цикл статей назван "Построение защищённого NAS". Поэтому в данной статье будет рассматриваться повышение уровня защищённости. Также, будут описаны и те инструменты, которые я не использовал, но возможно применить. Читать дальше →

5 способов полезного использования Raspberry Pi Привет Хабр. Raspberry Pi наверное есть дома почти у каждого, и рискну предположить, что у многих она валяется без дела. А ведь Raspberry это не только ценный мех, но и вполне мощный fanless-компьютер с Linux. Сегодня мы рассмотрим полезные возможности Raspberry Pi, для исп...

[Из песочницы] DDoS-атака на RDP-службы: распознать и побороть. Успешный опыт от Tucha Расскажем вам прохладную историю о том, как «третьи лица» пытались помешать работе наших клиентов, и как эта проблема была решена. Как всё началось А началось всё с утра 31 октября, в последний день месяца, когда многим позарез необходимо успеть закрыть срочные и важные воп...

Металлообработка на станках с ЧПУ: как начать выпускать продукцию мирового уровня? Представляю вашему вниманию статью на тему цифровизации производства и выпуска продукции нового поколения. В материале пойдет речь о CAD-CAM-системе как важной составляющей конкурентоспособного производства. В качестве примера расскажу об одной из таких систем – Solid Edge+S...

Союз МС-11: Авария, которой не было? Посадка «Союза МС-11» 25 июня дополнилась интригой — сначала в СМИ появилась информация об аварии, затем Роскосмос официально заявил, что посадка прошла штатно, а некоторые информационные агентства дошли аж до формулировок "«Роскосмос» скрыл происшествие с «Союз МС-11»". Опи...

Конечно, дали власть и очередь из пулемета. Рак и прочее…опыт с медициной Доброго времени прочтения, уважаемые читатели Хабра. Увы, мы все смертны, даже программисты. Когда ставят диагноз — не знаешь куда бежать. Попробую описать свой опыт… Мне поставили страшненький диагноз в том году. Что дальше делать никто не сказал… Читать дальше →

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

[Перевод] Объёмный рендеринг в WebGL Рисунок 1. Пример объёмных рендеров, выполненных описанным в посте рендерером WebGL. Слева: симуляция пространственного распределения вероятностей электронов в высокопотенциальной молекуле белка. Справа: томограмма дерева бонсай. Оба набора данных взяты из репозитория Open ...

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

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

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

Pointer и Value семантика в определении получателя метода Создание новых типов данных — важная часть работы каждого программиста. В большинстве языков определение типа состоит из описания его полей и методов. В Golang помимо этого нужно решить, какую семантику получателя для методов нового типа использовать: значение (value) или ук...

По следам RTM. Криминалистическое исследование компьютера, зараженного банковским трояном Об атаках банковского трояна RTM на бухгалтеров и финансовых директоров писали довольно много, в том числе и эксперты Group-IB, но в публичном поле пока еще не было ни одного предметного исследования устройств, зараженных RTM. Чтобы исправить эту несправедливость, один из ...

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

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

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

«Уделяя внимание вопросам доступности, вы получаете крайне преданных пользователей»: интервью с Джоном Фоксом (Netflix) Известно, что accessibility — это важно, но далеко не все уделяют доступности своего приложения достаточное внимание. Ещё известно, что появление компании NeXT и её последующая покупка Apple — важный эпизод карьеры Стива Джобса, но мало кто лично писал софт для компьютеро...

Зачем вам хелпдеск, если уже есть CRM?  Какое корпоративное ПО установлено в вашей компании? CRM, система управления проектами, хелпдеск, ITSM-система, 1С (тут точно угадали)? У вас есть чёткое ощущение, что все эти программы дублируют друг друга? На самом деле, пересечение функций, действительно, бывает, многие в...

Пишем собственный CLI для React Если вы делаете Ctrl+C каждый раз при создании нового компонента в реакте, то эта статья точно для вас! У реакта нет своего CLI, и понятно почему. Не существует определенных правил, как именно должна выглядеть структура компонента, есть только общие рекомендации в документа...

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

Medium Weekly Digest #6 (16 – 23 Aug 2019) Поверьте, сегодняшний мир гораздо более непредсказуем и опасен, чем тот, который описал Оруэлл. — Эдвард Сноуден На повестке дня:        Децентрализованный интернет-провайдер «Medium» отказывается от использования SSL в пользу нативного шифрования Yggdrasil        Внутри се...

[Из песочницы] WiFi Enterprise. FreeRadius + FreeIPA + Ubiquiti Уже были описаны некоторые примеры организации корпоративного WiFi. Здесь я распишу как реализовал подобное решение и проблемы с которыми пришлось столкнуться при подключении на разных устройствах. Будем использовать уже имеющейся LDAP с заведенными пользователями, подниме...

Статистика по типам файлов в облачной песочнице Wildfire Хорошо, мы увидели сколько приложений переносит файлы. А какие это файлы и какие из них вредоносные? Следующая статистика собрана уже по типам файлов. Видно, что большинство файлов, которые идут на проверку — это PDF, однако большинство типов файлов, которые содержат вредон...

Smart IdReader SDK — встраиваем распознавание в проекты на Python и PHP Мы, Smart Engines, продолжаем цикл статей про то, как встроить наши технологии распознавания (паспортов, банковских карт и других) в ваши приложения. Ранее мы уже писали про встраивание на iOS и Android, показывали, как встроить распознавание в Телеграм-бота, а сегодня мы ра...

Ссылки на MIUI 11 для тех, кто хочет установить прошивку вручную MIUI 11 уже существует в глобальной версии, которая приходит на устройства пользователей в России. К примеру, мы писали о том, как прошивка появилась для Xiaomi Mi Mix 2S, а также, что в ней обнаружилось нового. Но этот процесс далеко не быстрый, так как раздача идёт волна...

[recovery mode] «Жить в кайф» или моя история от прокрастинации к саморазвитию Здравствуй, друг. Сегодня речь не пойдет о сложных и не очень аспектах языков программирования или каком-то Rocket Sience. Сегодня я расскажу тебе короткую историю о том, как я встал на путь программиста. Это моя история и ее уже не изменишь, но если она поможет хотя бы одн...

16 марта Вadoo PHP Meetup: тесты и качество кода. Регистрация открыта Всем привет! Меня зовут Владимир Янц, я активно занимаюсь развитием инфраструктуры тестирования кода в Badoo. С PHP у нас давние и крепкие отношения, и мы с коллегами всячески поддерживаем сообщество. Нас все спрашивали: “Когда же уже, когда?” — и вот оно. 16 марта приглаша...

Кое-что о пространстве имён Я программирую на PHP. И немножко на JS. Когда-то я программировал на Java, ещё раньше — на LotusScript. Попробовал на вкус python и dart. Basic, Fortran, Pascal, Prolog, VisualBasic, С++/С, perl — на всём этом я тоже изображал что-то исполняемое. Языки программирования меня...

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

Спорим, не знали? iOS позволяет увидеть замазанные данные на скриншоте Замазываете конфиденциальную информацию на скриншотах? Будьте осторожны, её можно раскрыть Вам когда-нибудь приходилось замазывать какую-то информацию на скриншотах на своём iPhone? Если да, то, скорее всего, вы делали это при помощи маркера. Это такой инструмент редактирова...

ResNet50. Своя реализация Всем привет. Библиотека нейросети описана в моей прошлой статье. Здесь решил показать как можно использовать обученную сеть из TF (Tensorflow) в своем решении, и стоит ли. Под катом сравнение с оригинальной реализацией TF, демо приложение для распознавания картинок, ну и… в...

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

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

С Днём работника технической поддержки 1 августа — день работника технической поддержки в России (международный — 16 мая). Упоминаний о нём не так много и он не так популярен как день программиста, но почему бы и нет? Техническая поддержка, саппорт, справочная служба — эти ребята отвечают на тысячи сложных, прост...

Третье сентября Третье Сентября, а также события и явления, описанные в этом посте — локальный мем подкаста Разбор Полётов. Вдохновлено этим постом Олега. Олсо, вас предупреждали. Мем с песней Шуфутинского и Барухом форсится уже несколько лет подряд и порядком поистрепался, на сам мем запи...

Avalonia мои за и против Я очень много пишу про Авалонию и часто восторгаюсь этим фреймворком, но, как и у любой технологии, у нее есть свои достоинства и недостатки, о них и хотелось бы поговорить. Читать дальше →

Square Enix рассказала о процессе создания ремейка Final Fantasy VII Сотрудник Square Enix Синитиро Бива (Shinichiro Biwa) в публикации на Wantedly рассказал о ходе работ над ремейком Final Fantasy VII. Синитиро Бива объяснил, что процесс разработки идёт медленно из-за решения переосмыслить Final Fantasy VII как ролевой экшен. Пошаго...

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

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 43. Протоколы маршрутизации Distance Vector и Link State Сегодняшний видеоурок о протоколах маршрутизации Distance Vector и Link State предваряет одну из самых важных тем курса CCNA – протоколы маршрутизации OSPF и EIGRP. Эта тема займет 4 или даже 6 следующих видеоуроков. Поэтому сегодня я кратко расскажу о нескольких концепциях,...

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

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

Final Fantasy VII Remake — новые скриншоты Внимание к деталям — главная цель разработчиков ремейка знаменитой игры. Создатели стараются по максимуму угодить фанатам серии и у них это получается (судя по скриншотам и обложке). В студии Square Enix напоминают, что релиз Final Fantasy VII Remake на платформе PS4 сос...

Внедрение Airflow для управления Spark-джобами в ivi: надежды и костыли Задача деплоя моделей машинного обучения в продакшн — это всегда боль и страдания, потому что очень некомфортно вылезать из уютного jupyter notebook в мир мониторинга и отказоустойчивости. Мы уже писали про первую итерацию рефакторинга рекомендательной системы онлайн-киноте...

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

ARM Assembler Editor: Если гора не идет к Магомеду, Магомед идет к горе… Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде… Те среды которые есть в настоящий момент заточены больше для языка Си и программирование в них на ассемблере не сильно отличае...

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

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

Обеспечение безопасности в беспроводных протоколах на примере LoRaWAN Привет, Хабр. Мне хотелось бы в очередной раз поговорить о том, как обеспечивается базовый (читай: минимально необходимый) уровень безопасности данных в беспроводных сетях, используемых в IoT-устройствах, на примере LoRaWAN. Почему именно LoRaWAN? Во-первых, потому, что эт...

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

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

[recovery mode] Вертикальное письмо в современном IT Привет, Хабр! Двунаправленным письмом в наше время никого не удивить. Оно поддерживается управляющими символами Уникода, для него создан HTML-тег <bdo>. Но горизонтальные письменности – не единственные существующие и применяемые для записи человеческой речи. Кроме обыч...

Проблемы пакетной обработки запросов и их решения (часть 2) Это продолжение статьи «Проблемы пакетной обработки запросов и их решения». Рекомендуется сначала ознакомиться с первой частью, так как в ней подробно описана суть задачи и некоторые подходы к ее решению. Здесь же мы рассмотрим другие методы. Читать дальше →

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

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

Отображение текста в Android Отображение текстовой информации — наверное, самая базовая и важная часть многих Android-приложений. В данной статье пойдет речь о TextView. Каждый разработчик, начиная с «Hello World», постоянно сталкивается с этим элементом пользовательского интерфейса. Периодически в раб...

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

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

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

factory_trace gem поможет почистить ваши factories Если вы пишите тесты для вашего проекта и используете factory_bot для генерации тестовых данных, то представляю вам гем factory_trace, который поможет вам поддерживать ваши factories & traits в актуальном состоянии. Читать дальше →

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

[recovery mode] Почему не взлетел портал недвижимости. Часть 2 Продолжаю повествование о проекте Недвижимости, который пытался долго взлететь, но так и не взлетел. Пишу все как есть — личный опыт. Читать дальше →

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

Глина → Кирпич → Печь В данной статье я хочу описать свой опыт по работе с глиной, изготовление из неё кирпичей (в формате 1:6) и создание уменьшенной модели типовой отопительной печи ПТО-2300 Читать дальше →

6 подводных камней при внедрении сквозной аналитики Константин Рачин, Master & Middle HL Marketing Specialist аналитической платформы Ringostat, описал важные моменты, которые нужно учитывать перед подключением.

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

[Перевод] Яма продуктивности: как Slack вредит нашему рабочему процессу Такие программы для работы, как Teams, Slack и Workplace, должны были увеличить нашу продуктивность. Но не сделали этого. Несколько человек пишут сообщения. [Several people are typing.] Если вы какое-то время сидели в слаке, вы, вероятно, видели такое сообщение, плавающее...

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

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

Как простой <img> тэг может стать высоким риском для бизнеса? Безопасность на реальных примерах всегда интересна. Сегодня поговорим об SSRF атаке, когда можно заставить сервер делать произвольные запросы в Интернет через img тэг. Итак, недавно занимался тестированием на проникновение одновременно на двух проектах, сразу на двух э...

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

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

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

Как мы выиграли внутренний хакатон, выучив skibidi, flossing и javascript В VK есть классная традиция — внутренний хакатон, в котором могут участвовать только ребята из ВКонтакте. Расскажу про хакатон от лица команды, которая в этом году заняла первое место и погибла от утомления в полном составе, но успела примерить детектор танцевальных движений...

PVS-Studio для Visual Studio Многие наши статьи посвящаются чему угодно, но только не самому инструменту PVS-Studio. А ведь мы очень много делаем, чтобы разработчикам было удобно пользоваться нашим инструментом. Но как раз это часто оказывается за кадром. Решил исправить эту ситуацию и рассказать об пл...

Разработчики Streets Of Rage 4 поделились новыми скриншотами Разработчики из Dotemu предоставили публике новые скриншоты готовящегося продолжения Streets Of Rage. Streets Of Rage - серия игр в жанре Beat ’em up, сыскавшая множество фанатов и являющаяся одной из лучших в данном жанре.

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

«То, что мы обсуждаем в России, актуально и на Западе»: интервью с Денисом Неклюдовым Денис Неклюдов интересен Android-разработчикам по целому ряду причин. Он занимается «Android Dev Подкастом», выступает на конференциях, посещает саммиты GDE — в общем, вовлечён в жизнь сообщества самыми разными способами. А поскольку сейчас живёт в США и работает в Lyft, м...

Как на самом деле надо сравнивать цены Apple в США и РФ. Личный опыт Сначала хотел написать комментарий к неоднозначным сравнениям цены на продукцию Apple в статье, но текста получилось слишком уж много. Pochtoycom (на самом деле не только они) лукавят, сравнивая цены Apple в РФ и в США. Действительно, в США возможно купить iPhone дешевле,...

DUMP conference | grep ‘backend\|devops’ На прошлой неделе я сходил на IT конференцию DUMP (https://dump-ekb.ru/) в Екатеринбурге и хочу рассказать, о чем шла речь в секциях Backend и Devops, и стоят ли внимания региональные IT конференции. Николай Сверчков из Evil Martians о Serverless Читать дальше →

Сибирское саппорт-комьюнити: начало Это было обычное утро обычного апрельского вторника. Мы сидели на кухне и холиварили о том, как нужно делать саппорт. Вдруг Дима Дягилев (Operations Manager Technical Support) нарушил привычный ход событий. Причем не только на вторник, но и ближайшие полгода. — Ребята, вам ...

Дозиметр для Серёжи. Часть II. «столетние трубки» vs мирный атом В первой части своего повествования я рассказал о производителях, без сомнения, ТОП-овых белорусских дозиметров. Несмотря на все их достоинства, основные недостатки — отсутствие в розничной продаже и высокая цена даже на вторичном рынке — сводят полезность упомянутых приборо...

[Перевод] AlphaFold: Использование ИИ для научных открытий И снова здравствуйте! Делимся публикацией, перевод которой подготовлен специально для студентов курса «Нейронные сети на Python». Сегодня мы расскажем о первом важном событии в истории развития DeepMind, чтобы показать, как исследования с помощью искусственного интеллекта м...

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

Гугология (это не опечатка) для программистов О математике (так, чтобы было интересно) писать сложнее, чем о физике. Однако я надеюсь, что вы дочитаете хотя бы до примеров сумасшедших программ на C. Читать дальше →

[Перевод] Перенос десктопных приложений на .NET Core С тех пор, как я начала работать с сообществом над переносом десктопных приложений с .NET Framework на .NET Core, я заметила, что существует «два лагеря»: представители одного хотят очень простой и короткий список инструкций для переноса своих приложений на .NET Core, в то в...

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

Использование бинарного дерева в swift с помощью enum на примере OCR Была цель создать приложение на mac, которое может распознавать текст кода с изображений и видео. Хотелось сделать так, чтобы даже при большом объеме кода, текст распознавался менее, чем за секунду. Проблема облегчается тем, что язык на котором пишут код всегда английский ...

[Перевод] Deno — новый Node.js? В нашем проекте, IDE для работы с API TestMace, в качестве основного языка используется TypeScript, поэтому мы активно интересуемся проектами, связанными с данным языком. Сегодня вашему вниманию представляется перевод статьи об инструменте Deno — runtime для TypeScript (но э...

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

Реальные сроки изучения слепой печати при низкой мотивации В статье я опишу свой сугубо субъективный пример того, сколько времени занимает обучение методу комфортной слепой печати. Это с учётом того, что мне данный навык не был критически важен, но иметь его давно хотелось. Читать дальше →

Светодиодная терапия, или «молодильные яблоки» XXI века LED Magic — несложный девайс, который существует в рамках мейнстримного направления — диодной терапии. Если коротко, то действие его можно описать примерно так: До/После На самом же деле все не так просто и не так уж «волшебно». У этой магии есть вполне себе история иссле...

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT Первая часть Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение. Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загружен...

[Из песочницы] React. Lazy loading Доброго времени суток. Занимаюсь разработкой проекта на React и Redux. Хочу в этой статье описать архитектуру своего проекта. Итак, начнем. Файловая структура: Для подключения редьюсеров создаем класс singleton reducerRegister: ./reducerRegister.js class ReducerRegistry...

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

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

Обновить панель управления для CPaaS: заново придумать UI/UX и внедрить IDE нормального человека Возможно, вы уже успели попробовать новую панель, пока она была в открытой бете: в старой панели была специальная кнопка для переключения. Как бы то ни было, теперь новая панель доступна всем. И это не просто релиз, а настоящее переосмысление UI/UX управления аккаунтами Vox...

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

AI supremacy: Leela Chess. Или про то, как полностью открытая нейросеть победила Честно говоря, я очень разочарован хабром. Почему никто не осветил такую вещь, как победа нейросетевого подхода с полностью открытым кодом, а? И полностью открытыми нейросетевыми данными? Действительно, ну вот DeepMind Technologies описали как они обучали шахматный ИИ, иг...

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

Чего ждать, если хочешь стать iOS-разработчиком Со стороны iOS разработка может казаться закрытым клубом. Для работы обязательно нужен компьютер от Apple, экосистему пристально контролирует одна компания. Изнутри тоже иногда слышны противоречия — кто-то говорит, что язык Objective-C старый и неповоротливый, а кто-то, чт...

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

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

Новое в браузерах: Firefox 66 по умолчанию блокирует видео и звук, Chromium ограничивает бюджет страниц В ближайших версиях Firefox и Chromium могут произойти важные изменения. Во-первых, в Firefox 66 для десктопов по умолчанию заблокируется автоматическое воспроизведение видео и звука на всех страницах. Блог Mozilla Hacks заранее предупреждает об этом разработчиков. Воспрои...

Даб-даб 2019: новинки WWDC и мои впечатления Привет! Меня зовут Азат Зулькарняев, я занимаюсь разработкой iOS-приложений в компании Badoo. Традиционно мы каждый год с коллегами проводим неделю на WWDC. В статье я делюсь своими впечатлениями с конференции: под катом не только важные обновления и обзор сессий, но и немно...

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

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

Делаем свой Google Call Screening на основе Voximplant и Dialogflow Возможно, вы слышали или читали про функцию Call Screening, которую Google выкатил для своих телефонов Pixel в США. Идея отличная – когда вам поступает входящий звонок, то виртуальный ассистент начинает общаться, в то время как вы видите этот разговор в виде чата и в любой ...

Avalonia первая встреча Когда мы встречаем новый язык, мы пишем «Hello word», а когда встречаем новый UI, то создаем блокнот. Здесь же я хочу показать простейший пример дружбы с корссплатформенным GUI Framework AvaloniaUI. Читать дальше →

[Перевод] Микрофронтенды: о чем это мы? Все эти годы вы, frontend-разработчик, писали монолиты, хотя и понимали, что это дурная привычка. Вы делили свой код на компоненты, использовали require или import и определяли npm-пакеты в package.json или плодили гит-репозитории в вашем проекте, но все равно писали монолит...

C/C++ из Python Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, что ни чего сложного здесь нет тоже. Читать дальше →

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

Docker: не вредные советы В комментариях к моей статье Docker: вредные советы было много просьб объяснить, чем так ужасен описанный в ней Dockerfile. Краткое содержание предыдущей серии: два разработчика в жестком дедлайне составляют Dockerfile. В процессе к ним заходит Ops Игорь Иванович. Итоговый D...

Перепрограммируем кассу и печатаем на ней Киану Ривза. Часть 2. ПО для ПК В предыдущей статье я кратко описал свою прошивку для ККТ ШТРИХ-ФР-К, которая позволяет управлять термоголовкой, движками и соответственно выводить на печать все что угодно. В этой части я покажу как написать софт, который будет общаться с кассой и форматировать картинку для...

[Из песочницы] Комикс «Паять просто» в обновлённом варианте (2019) Всем добрый день. Одним далёким днём (летним или зимним уже и не упомнить) набрёл я на статью от atarity, где в красках (во всех смыслах) было рассказано о том, как легко и просто можно научиться паять (ссылку на комикс прилагаю). Читать дальше →

USPACE — единое пространство для пилотируемых и беспилотных воздушных судов В мире современной гражданской авиации на повестке дня – USPACE. Это цифровое воздушное пространство будущего, предназначенное для реализации полетов беспилотной авиации на общих, равных, условиях в едином несегрегированном небе. Для обеспечения безопасности совместных полет...

Архитектура Intel Gen11 GPU и дискретная видеокарта от Intel Дискретная видеокарта начального уровня Intel Graphics Xe, официальный анонс состоялся 20 марта на игровой конференции GDC 2019 Компания Intel опубликовала документацию на графические процессоры Gen11 с описанием, чем они будут отличаться от предыдущего поколения. Ожидаетс...

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

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

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

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

[Из песочницы] Крибле Карбле Gradle: магия автоматической сборки Разработчики облегчают жизнь людям, а Gradle — разработчикам. Если вы пишете на Android, эта статья для вас. Читайте о том, что за зверь этот Gradle (спойлер: он слон), а также — как с ним работать. Gradle — система автоматической сборки, которую используют для упрощения раб...

Google добавит скроллинг-скриншоты в Android R Дэйв Берк, вице-президент Google по разработке Android, сегодня упомянул в Twitter, что его команда уже работает над добавлением функции строллинг-скриншотов для Android. В данный момент нет никаких конкретных данных о том, когда данная возможность должна появиться, но Дейв ...

[Из песочницы] Через тернии к игре мечты Честно говоря, я долго думал как именно написать этот пост. Я очень хочу рассказать о нашем проекте, но если рассказывать только о текущей ситуации или даже осветить период в последние 6 месяцев, то это будет не совсем честно, так как история “Another Way” начинается со сл...

Опубликованы скриншоты MIUI 11: в системе появится универсальный просмотрщик документов, а звуковое оформление станет интеллектуальным Долгожданную прошивку MIUI 11 компания Xiaomi представит 24 сентября. До недавнего времени о ней практически ничего не было известно, но сегодня инсайдер Мукул Шарма (Mukul Sharma) опубликовал в Twitter несколько скриншотов интерфейса MIUI 11. Увы, качество оставляет ж...

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

Виды контекста в JavaScript И снова здраствуйте! Мы уже писали о том, что в конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий продолжаем делиться с вами авторскими статьями, подготовленными специально для студентов курса. Сегодня разберем в...

[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...

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

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 44. Введение в OSPF Сегодня мы начнем изучение маршрутизации по протоколу OSPF. Эта тема, как и рассмотрение протокола EIGRP, является важнейшей во всем курсе CCNA. Как видите, раздел 2.4 называется «Настройка, проверка и неполадки единичной зоны и мультизоны OSPFv2 для протокола IPv4 (за исклю...

Работа с API КОМПАС-3D → Урок 14 → Многострочный текст На предыдущем уроке мы рассмотрели, как выводить многострочный текст с помощью параграфа. Описанный способ требует ручного обхода массива выводимых строк. На данном уроке мы рассмотрим альтернативный способ, лишенный этого недостатка. В его основе лежит интерфейс ksTextParam...

Две игры, футболка, наклейки и уникальное оформление: AMD представила Ryzen 7 2700X Gold Edition и Radeon VII Gold Edition Вчера мы уже писали про процессор Ryzen 7 2700X Gold Edition, выпущенный к 50-летию компании AMD. Теперь же производитель опубликовал пресс-релиз, где представил этот продукт, а также видеокарту Radeon VII Gold Edition. Про CPU повторяться не будем, всё рассказано в пр...

Разработка гибридных PHP/Go приложений с использованием RoadRunner Классическое PHP-приложение — однопоточность, тяжелая загрузка (если вы конечно не пишите на микрофреймворках) и неизбежная смерть процесса после каждого запроса… Такое приложение тяжелое и медленное, но мы можем дать ему вторую жизнь гибридизацией. Чтобы ускорить — демонизи...

«Очень важное совещание» в Comedy. Разберём полёты? Все выходные лента в  Facebook и моя личка ломились от ссылок на одно и то же видео — «Очень важное совещание» от участников Comedy Club. Комментарии и подписи были односложными: «ха», «точняк», «а помнишь, у нас в N так же делал R» и т.д. Я не сразу посмотрела видео, но как...

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

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

Архитектурный шаблон «Итератор» («Iterator») во вселенной «Swift» «Итератор» – один из шаблонов проектирования, которые программисты чаще всего не замечают, потому что его реализация, как правило, встроена непосредственно в стандартные средства языка программирования. Тем не менее, это тоже один из поведенческих шаблонов, описанных в книге...

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

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

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

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

Swift under the hood: Generic implementation Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner. — Swift docsКаждый, кто писал на ...

[Перевод] Встраиваемые функции в Go Go позволяет писать на ассемблере. Но авторы языка написали такую стандартную библиотеку, что бы этого делать не пришлось. Есть способы писать переносимый и быстрый код одновремено. Как? Добро пожаловат под cut. Читать дальше →

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

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

В Samsung придумали, чем хорош смартфон, обернутый гибким дисплеем Со ссылкой на сайт Let's Go Digital источник рассказал об интересном патенте Samsung, в котором подробно описан смартфон с гибким дисплеем. В отличие от складного смартфона, в данном случае дисплей не сгибается — он облегает один из торцов аппарата. Помимо пр...

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

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

[Из песочницы] [Пятничное] Сказ про то, как IT-сейл дрова пыталась продать, или Бэкстейдж одного тендера Ой, вот только не говорите мне, что никогда не готовили тендер за заказчика. Было же? Было? Вооот. Будь вы инженер, пресейл или, не дай Бог, юрист. Я уж не говорю про продавцов и менеджеров отдела закупок… Мы все (если перефразировать классика) писали понемногу чего-нибудь и...

Как изучение критической уязвимости DHCP в Windows 10 привело к обнаружению еще двух ошибок безопасности Изображение: Unsplash Как было описано в предыдущей статье про CVE-2019-0726, иногда поиск деталей об уже известной уязвимости приводит к обнаружению новой уязвимости. А в некоторых случаях таких новых уязвимостей оказывается больше одной. Читать дальше →

[Из песочницы] Как сэкономить в AWS до полумиллиона долларов? Привет, Хабр! Представляю вашему вниманию перевод статьи «How to reduce your AWS costs? Save up to $500k with these guidelines!» автора George Batschinski. В этой статье мы в подробностях расскажем, как Back4App уменьшила свои расходы в AWS с $55,492 в месяц до $20,074 в ...

Атрибуты C#: обо всех аспектах Здравствуй, читатель. В этой статье описаны атрибуты со всех сторон — начиная от спецификации, смысла и определения атрибутов, создания собственных и работе с ними, заканчивая добавлением атрибутов на рантайме и наиболее полезными и интересными существующими атрибутами. Если...

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

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

Разработка новой ветки продукта: как избавиться от непрактичного и сохранить полезное Привет, Хабр! Меня зовут Дмитрий, я разработчик в ISPsystem. Недавно мы выпустили в бета-тестирование новую версию панели управления виртуальными машинами. Сегодня я расскажу, как мы решали, что взять из старого продукта, а от чего лучше отказаться. Пройдусь по самым важны...

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

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

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

[Из песочницы] Работаем с коботом Dobot M1 Год назад на Хабре выходил обзор настольного робота Dobot Magician. В этой статье я предлагаю оценить его старшего брата Dobot M1 в действии. Также я попытаюсь объяснить, почему для своего проекта выбрал именно данную модель, опишу процесс разработки демки в Qt/c++, а также ...

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

Чем искать уязвимости веб-приложений: сравниваем восемь популярных сканеров Сканеры веб-приложений — довольно популярная сегодня категория софта. Есть платные сканеры, есть бесплатные. У каждого из них свой набор параметров и уязвимостей, возможных для обнаружения. Некоторые ограничиваются только теми, что публикуются в OWASP Top Ten (Open Web Appli...

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