Социальные сети Рунета
Вторник, 30 ноября 2021

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

[Перевод] Заметки о Unix: небольшая странность семейства вызовов exec*() Я недавно писал об опции -exec команды find и ненароком упомянул о «семействе системных вызовов exec()». Это — странное выражение, обычно о Unix-вызовах так не говорят, так как они, как правило, не объединяются в некие «семейства». Но в данном случае речь идёт о целом наборе...

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

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

[Перевод] Заметки о Unix: надёжная работа с API C-библиотеки Unix возможна только из программ, написанных на C Для того чтобы полностью реализовать требования системы верификации источника системных вызовов, разработчики OpenBSD хотят, чтобы Go выполнял бы системные вызовы через C-библиотеку, а не напрямую, из собственной среды выполнения (а у Go есть некоторые причины поступать имен...

[Перевод] Почему в Visual Studio стек вызовов асинхронного кода иногда перевёрнут? Вместе с моим коллегой Евгением мы потратили много времени. Приложение обрабатывает тысячи запросов в асинхронном конвейере, полном async/await. Во время нашего исследования мы получили странные вызовы, они выглядели как бы “перевернутыми”. Цель этого поста — рассказать, поч...

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

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

Apple открыла исходные тексты Swift System и выложила Swift 5.3 Компания Apple открыла исходные тексты библиотеки Swift System. Она предоставляет идиоматический набор программных интерфейсов к системным вызовам и низкоуровневым типам данных. Изначально Swift System поддерживал только системные вызовы платформ Apple, но сейчас портиров...

Поддержка телефонных звонков теперь доступна для всех пользователей в Windows 10 Microsoft довольно долго тестировала функцию приложения «Ваш телефон» совершать звонки некоторым пользователям, и теперь эта функция доступна для всех. С помощью приложения «Ваш телефон» теперь вы можете совершать звонки через ПК с Windows 10 и оставлять свой телефон на Andr...

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

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

[Перевод] Измеряем расходы на память у Postgres процессов Это вольный перевод поста одного из сильных разработчиков Postgres - Andres Freund. Кроме того что разработчик сильный, так еще и статья довольно интересная и раскрывает детали того как работает ОС Linux.Довольно часто можно слышать заявления что постгресовые соединения испо...

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

Nix: воспроизводимая сборка Привет, Хаброюзеры! Сегодня мы продолжим наш цикл статей о Nix и как мы в Typeable его используем. Первый пост из серии, рассказывающий об основах языка Nix, можно прочитать здесь. Так как мы очень любим и много используем Haskell для разработки, пример приложения будет на ...

Освободи свой Android — алаверды О чём это? Данная статья написана в качестве продолжения статьи Освободи свой Android. Зачем? Очень просто — та статья очень подробно и хорошо описывает, как перешить смартфон на LineageOS. Но она просто требует продолжения о том, как потом с этим перешитым смартфоном жить. ...

Клиент-серверный IPC на Python multiprocessing Статья отражает личный опыт разработки CLI приложения для Linux.В ней рассмотрен способ выполнения привилегированных системных вызовов процессом суперпользователя по запросам управляющей программы через строго описанный API.Исходный код написан на Python для реального коммер...

[Перевод] Трюки с виртуальной памятью Я уже довольно давно хотел написать пост о работе с виртуальной памятью. И когда @jimsagevid в ответ на мой твит написал о ней, я понял, что время пришло.Виртуальная память — очень интересная штука. Как программисты, мы прекрасно знаем, что она есть (по крайней мере, во всех...

Как случайно продолжить писать Web-GUI для Haproxy Прошло два года и 4 дня, как я написал Как случайно написать Web-GUI для Haproxy, а воз уже давно не там — все меняется и развивается и HAProxy-WI старается соответствовать этой тенденции. За два года было проделано много работы, об основных изменениях я и хочу сейчас расска...

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

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

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

[Перевод] Кунг-фу стиля Linux: расшаривание терминала в браузере В заголовке этого материала уже сказано о самой главной возможности программы, о которой я хочу рассказать. Речь идёт о GoTTY. Эта программа позволяет организовывать общий доступ к приложениям командной строки через браузер. Это — простой веб-сервер, написанный на Go. Он зап...

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

Почему много оперативной памяти — это хорошо Не так давно Samsung представила Galaxy S20, минимальная модификация которого оснащена 8 ГБ ОЗУ, а максимальная предлагает 16 гигабайт. Новый Xiaomi Mi 10 также предлагает 8 гигабайт оперативной памяти. Но зачем же смартфонам так много памяти? На этот вопрос я и попытаюсь о...

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

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

Работа с памятью в Tarantool: Small — Specialized Memory ALLocators Tarantool — это персистентная NoSQL СУБД в памяти с хранимыми процедурами на Lua. В него встроен SQLite и дисковый движок (Vinyl). Также для Tarantool написано очень много расширений, поэтому многие считают его «сервером приложений». Здесь есть индексы разных типов, а в од...

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

OpenIn.app — MacOS приложения для ссылок и файлов Привет, Хабр!Давно я ничего не публиковал на Хабре, но вот решил сегодня написать в Я пиарюсь (читай карма-самоуничтожение или как это называется сейчас?)Решил в свободное время заняться разработкой под MacOS и iOS. Начал пока с MacOS. Идей много, так что приложений будет мн...

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

[Перевод] 41 вопрос о работе со строками в Python Я начал вести список наиболее часто используемых функций, решая алгоритмические задачи на LeetCode и HackerRank. Быть хорошим программистом — это не значит помнить все встроенные функции некоего языка. Но это не означает и того, что их запоминание — бесполезное дело. Особен...

Почему Мистер Робот — лучший сериал про IT-индустрию Доброго времени суток, уважаемые читатели Хабра! 23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к мое...

[Из песочницы] Простая машина состояний для VueJS Недавно я наткнулся на интересное обсуждение на Full Stack Radio — Bulding Better UI Components with State Machines. Речь шла о том, что концепция машины состояний может помочь при разработке компонентов Vue. Я начал просматривать готовые решения, но они оказались не столь...

Какую цену мы платим за использование async/await в языках JS / C# / Rust Привет, Хабр ! Работая с Javascript / Typescript, я давно заметил, что асинхронное API работает медленней чем аналогичное синхронное, и даже знал что так должно быть. Но на последнем проекте асинхронная работа с файловой системой стала узким местом, и я озаботился замерами. ...

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

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

Как оно в Пензе после Питера. Часть 2 Всем привет! Давно не графоманил на хабре. Очень-очень соскучился. Хочу продолжить тему, поднятую здесь полтора года назад про мой переезд из Питера в Пензу и первых ощущений от этого события. С тех пор эйфория улетучилась, эндорфины поубавились и можно чуть более объективно...

Пишем PBX на Perl для Yate Когда-нибудь я напишу что-то в духе "Как я стал программистом в 40 лет". Но точно не сегодня, к тому же мне давно уже не 40 и программистом я себя не считаю. А рассказать я хотел бы о своём опыте разработки PBX для собственных нужд. В качестве VoIP движка используется Yate, ...

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

[Перевод] Об использовании жизни От создателя криптосервиса Tarsnap для резервного копирования В недавней дискуссии на Hacker News комментатор задал вопрос: Итак, что мы думаем о Tarsnap? Автор явно гений, который тратит время на резервные копии вместо того, чтобы решать задачи тысячелетия. Я говорю это с в...

Citrus: Набор стилей для AvaloniaUI В комментариях к новостям об изменениях и улучшениях в новых версиях кроссплатформенного GUI-фреймворка AvaloniaUI довольно часто можно увидеть критику тем оформления, используемых по умолчанию. Дело в том, что данные темы были созданы на основе Metro — художественного стил...

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

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

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

Разбираемся в рекурсии Привет, Хабр. Про рекурсию ходит много шуток, и она традиционно считается одной из сложных для понимания тем в computer science, поэтому давайте сегодня немного о ней поговорим. А именно, давайте обсудим, как выражать доказуемо завершимые вычисления. Зачем это надо? Рекурси...

[Перевод] Заметки о Unix: изъян архитектуры Unix и номер устройства, который выдаёт для файлов системный вызов stat() Иногда можно слышать о том, что архитектура Unix не имеет существенных недостатков. Особенно — если говорить о «чистой» архитектуре Research Unix (которая существовала до того, как те, кто по-настоящему Unix не понимали, вроде людей из Berkeley и AT&T, занялись работой н...

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

[Перевод] Debouncing с помощью React Hooks Сегодня я собираюсь показать вам, как создать хук useDebounce, который позволяет супер-просто отложить вызовы АПИ, что бы они не происходили слишком часто. Так же я создал демо, которое использует наш хук. Оно ищет по АПИ Marvel Comics и хук useDebounce позволяет избежать об...

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

RESTinio-0.6.13: последний большой релиз RESTinio в 2020 и, вероятно, последний в ветке 0.6 RESTinio — это относительно небольшая C++14 библиотека для внедрения HTTP/WebSocket сервера в C++ приложения. Мы старались сделать RESTinio простой в использовании, с высокой степенью кастомизации, с приличной производительностью. И, вроде бы, пока что это получается. Ранее...

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

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

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

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

Используем DevTools в headless Chrome Если вы когда-нибудь использовали Puppeteer, то наверняка сталкивались с неудобной отладкой скриптов на удалённых нодах headless Chrome. Часто так не хватает консоли, а лучше полноценной панели инструментов для изучения запросов и логов… хотя постойте. Puppeteer сам по себ...

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

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

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

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

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

Медики говорят, что магниты MagSafe в iPhone 12 вырубают кардиостимуляторы Есть ли среди устройств Apple по-настоящему опасные? Очевидно, что нет, иначе бы компанию давно вывели на чистую воду, засудили и оштрафовали. Было дело, когда её пытались обвинить в выпуске небезопасных смартфонов с высоким уровнем электромагнитного излучения, и какая-то н...

Новогодний IMaskjs 6 — React Native, Pipes, ESM Всем привет! Я только что выпустил релиз шестой версии библиотеки imaskjs. После каждого мажорного релиза мне кажется, что это последняя версия. Библиотеке уже не один год, она стабильна и достаточно популярна среди сообщества. Что там еще можно сделать да еще и на мажорную...

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

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

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

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

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

[Из песочницы] Разбираемся с WebKit в 1С, на примере интеграции TinyMCE в управляемую форму в УТ 11.4 Многие уже знают, что в релизе платформы 8.3.14.1565, браузер Internet Explorer был заменен на Web-Kit, это на самом деле большой шаг вперед, но я уверен, многим, как и мне, пока не совсем понятно, что к чему. Возник опыт использования web-kit в 1С, вызова JS из 1С и вызова ...

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

Tagged Unions в PHP (примерно как в Rust) В предыдущей статье я писал про добавление enums в PHP8.1. Голосование прошло успешно, так что можно считать, что вопрос решенный. Однако та реализация enums — лишь часть глобального плана. Сегодня мы рассмотрим следующий пункт, tagged unions, по-русски это переводится как &...

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

DIY кнопка вызова часть 2. Видеофон из Raspberry Pi В этой части делаем из Raspberry Pi VoIP устройство для осуществления видео вызовов по SIP протоколу. Первоначальная задача осталась прежней — осуществление вызова по внешнему воздействию (нажатию кнопки). Но немного изменилась реализация идеи. Как и в предыдущей части, восп...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

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

[Перевод] Разбираемся с системными вызовами в Linux с помощью strace Перевод статьи подготовлен специально для студентов базового и продвинутого курсов Administrator Linux. Системный вызов — это механизм взаимодействия пользовательских программ с ядром Linux, а strace — мощный инструмент, для их отслеживания. Для лучшего понимания работы о...

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

[Перевод] Запуск Linux-приложений на Chromebook Появление Chromebook стало важным моментом для американских систем образования, позволив им покупать недорогие ноутбуки для учеников, учителей и администраторов. Хотя Chromebook всегда работали под управлением операционной системы на основе Linux (Chrome OS), до недавнего ...

[Из песочницы] Мой опыт разработки приложения, как PM Я программист в душе. Первую программу написал в 8 лет — игра на ламповый телевизор (24 года назад). Данный проект — это вызов для меня. Я лично не написал ни одной строчки кода. В процессе перекупили основного кодера. Дочь глотнула батарейку — стресс на неделю. Коронавирус....

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

[Перевод] Атака недели: голосовые звонки в LTE (ReVoLTE) От переводчика и TL;DR TL;DR: Кажется, VoLTE оказался защищён ещё хуже чем первые Wi-Fi клиенты с WEP. Исключительно архитектурный просчет, позволяющий немного поXOR'ить траффик и восстановить ключ. Атака возможна если наход...

Разработка приложения с использованием Python и OpenCV на Android устройстве В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительнос...

STM32 Часть 3: Первый Проект Мы наблюдаем общество, которое все больше зависит от машин, но при этом использует их все неэффективнее. — Douglas Rushkoff Эта фраза должна служить мотивацией для каждого программиста. Ведь именно вы решаете как машина использует свои ресурсы. Но как и с начала времен, чел...

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

Micro Property — минималистичный сериализатор двоичных данных для embedded систем. Часть 2 Некоторое время назад я опубликовал свою статью о разработке велосипедного велосипеда, в которой описал причины, побудившие меня этим заняться. Если вкратце, то мне была нужна миниатюрная библиотека для микроконтроллеров с сериализатором двоичных данных и последующей переда...

[Перевод] Низкоуровневое программирование STM32: от включения питания до «Hello, World» В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том...

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

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

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

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

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

[Перевод] Трассировка лучей в реальном времени в 1 КБ кода Долгий путь к рождению Chrome Revenge PENTRACE Всё началось в 1994 году, когда я прочитал в Dr. Dobbs Journal несколько интересных статей о FPU (математическом сопроцессоре) нового процессора Pentium. Я пришёл к пониманию того, что численная производительность Pentium очень...

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

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

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

GO Scheduler: теперь не кооперативный? Если вы читали release notes для версии GO 1.14, то возможно заметили несколько довольно интересных изменений в рантайме языка. Вот и меня очень заинтересовал пункт: «Goroutines are now asynchronously preemptible». Выходит что GO scheduler (планировщик) теперь не кооперативн...

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

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

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

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

DARPA Challenge в песочнице Когда бум online-образования только начинался, я прошел курс на ai-class.com. Появилось желание сделать простую игру, в которой бы нейронная сеть обучалась, наблюдая за действиями пользователя. Игру хотелось сделать в стиле flappy birds, обучение должно было происходить в ...

[Перевод] Vue 3 Composition API: Ref или Reactive Сейчас, когда я пишу эту статью, мы все ближе к релизу Vue 3. На мой взгляд самое интересное наблюдать как воспримут и будут применять его другие разработчики. У меня была возможность поиграть с Vue 3 в последние несколько месяцев, но я знаю есть те, у кого такой возможнос...

Как за неделю до релиза переобуться и сократить размер билда в 3 раза Современные AAA-тайтлы уже давно стали весить больше 100 ГБ, а их апдейт еще на 20 ГБ считается обычным делом. Тот же тренд разрастания билда постепенно просачивается в мидкорные и хардкорные мобильные игры. Впрочем, к тому, что уже не удивляет ПК- и консольных юзеров, мобил...

HTTP по UDP — используем с пользой протокол QUIC QUIC (Quick UDP Internet Connections) — это протокол поверх UDP, поддерживающий все возможности TCP, TLS и HTTP/2 и решающий большинство их проблем. Его часто называют новым или «экспериментальным» протоколом, но он уже давно пережил стадию эксперимента: разработка ведётся...

CGI в домашних условиях при помощи Unreal Engine и iPhone Всем привет! Меня зовут Василий Мазалов, я работаю старшим видеомонтажером в компании Pixonic. Наш отдел занимается созданием видео-креативов для маркетинга и комьюнити: роликов для страниц в сторы, обзорных видео игровых нововведений и прочего контента. Когда я не создаю к...

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

Влияние data-классов на вес приложения Kotlin имеет много классных особенностей: null safety, smart casts, интерполяция строк и другие. Но одной из самых любимых разработчиками, по моим наблюдениям, являются data-классы. Настолько любимой, что их часто используют даже там, где никакой функциональности data-класс...

Стек вызовов JavaScript и ещё большая магия В начале апреля на хабре была опубликована статья «JavaScript: Стек вызовов и магия его размера» — её автор пришёл к выводу, что каждый кадр стека занимает (72 + 8 * число_локальных_переменных) байтов: «Получается, что мы посчитали все верно и можем утверждать, что размер ...

[Перевод] «Привет, мир»: разбираем каждый шаг хэш-алгоритма SHA-256 SHA-2 (Secure Hash Algorithm), в семейство которого входит SHA-256, — это один самых известных и часто используемых алгоритмов хэширования. В тексте подробно покажем каждый шаг работы этого алгоритма на реальном примере. SHA-2 отличается безопасностью (его тяжелее взломать,...

[Перевод] Альтернатива ML-Agents: интегрируем нейросети в Unity-проект с помощью PyTorch C++ API Кратко объясню, что будет происходить в этой статье: покажу, как использовать PyTorch C++ API для интеграции нейросети в проект на движке Unity; сам проект я подробно описывать не буду, это не имеет значения для данной статьи; использую готовую модель нейросети, преобраз...

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

Аудиофлагман LG уступил по качеству звуковой подсистемы даже iPhone SE Флагманы LG V уже давно славятся своей звуковой подсистемой, но так ли они хороши? Специалисты DxOMark решили проверить, на что способен V60 ThinQ 5G, и результаты оказались весьма занятными. Напомним, LG V60 может похвастаться фирменным ЦАП (Quad DAC), четырьмя микрофо...

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

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

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

Отарки: социал-дарвинизм интеллектуалов Председатель комиссии. Вы читаете на нескольких языках, знакомы с высшей математикой и можете выполнять кое-какие работы. Считаете ли вы, что это делает вас Человеком? Отарк. Да, конечно. А разве люди знают что-нибудь еще? (Из допроса отарка. Материалы Государственной комисс...

[Перевод] Системный таймер в Windows: большое изменение Поведение планировщика Windows значительно изменилось в Windows 10 2004 без каких-либо предупреждений и изменения документации. Вероятно, это поломает несколько приложений. Такое происходит не первый раз, но эта перемена посерьёзнее. Если вкратце, то вызовы timeBeginPeriod ...

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

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

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

[Перевод] Сравнение производительности CSS и CSS-in-JS в реальном мире Технология CSS-in-JS заняла прочное место среди инструментов фронтенд-разработки. И возникает ощущение, что CSS-in-JS-тренд в ближайшем будущем лишь усилится. Особенно — в мире React. Например, в исследовании State of CSS, проведённом в 2020 году, приняли участие 11492 челов...

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

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

Как отключить вызов Bixby на Samsung Galaxy Note 20 Производители смартфонов и программного обеспечения придумали немало ассистентов, которые должны сделать нашу жизнь проще и комфортней. По крайней мере, так должно быть, но на деле часто получается совершенно иначе. Простым примером служит ассистент Bixby на смартфонах Sams...

Dynamic Delivery в многомодульных проектах (часть 2) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Я уже рассказывал, что такое Dynamic Delivery и какой у него API. В этой статье я подробнее опишу, как я использовал Dynamic Delivery в нашем прилож...

Почему я продолжаю использовать устаревшие виртовский Pascal и Delphi-7 (О разработке алгоритмов, их описании и программной реализации) (Модель античного святилища Аполлона в Дельфах) Почему я продолжаю использовать устаревшие виртовский Pascal и Delphi-7? Этот вопрос мне часто задают мои коллеги, сослуживцы по работе и здесь на Хабре. Решил о...

Как «Медуза» организовала бета-тест нового приложения с читателями и не облажалась У «Медузы» нет QA-отдела, а прицельно тестированием новых продуктов занимается один человек (и это не основная его работа). Часто мы просим других сотрудников поучаствовать: у всех разные телефоны и привычки, это сильно помогает бороться с «замыленным глазом». Но даже в этом...

[Перевод] Запускаем командную строку Linux на iOS А вы знали, что можно запустить командную строку Linux на устройстве iOS? Возможно, вы спросите: «Зачем мне пользоваться текстовыми приложениями на iPhone?» Справедливый вопрос. Но если вы читаете Opensource.com, то, вероятно, знаете на него ответ: пользователи Linux хотят...

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

[Перевод] Разбираемся с доступом к атрибутам в Python Интересно, сколько людей понимают, что в Python много синтаксического сахара? Я не говорю, что он похож на Lisp-подобные языки, где синтаксис настолько голый, насколько это возможно (хотя и сравнение с Lisp не совсем обосновано), но большая часть синтаксиса Python технически...

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

Сотовый оператор «МТС» запустил тарифный план «НЕТАРИФ» с очень выгодными условиями обслуживания Как известно, каждый оператор связи стремится к тому, чтобы его фирменные услуги использовал как можно более широкий круг людей, а идут при этом в ход все возможные средства и методы, только бы как можно больше Читать полную версию публикации Сотовый оператор «МТС» запустил...

.NET Core vs Framework. Производительность коллекций Релиз .NET Core 3.1 — хороший повод мигрировать свой проект с Framework на Core. Во-первых, это отполированная версия с долгосрочной поддержкой (LTS), т.е. её можно смело использовать в продакшене. Во-вторых, в третьей версии добавили поддержку WPF и WinForms, так что тепер...

[Перевод] Как QA-команда GitLab использует GitLab Performance Tool Перевод статьи подготовлен в преддверии старта курса «DevOps практики и инструменты». Мы запустили ряд инициатив по улучшению производительности GitLab и нам нужен был новый инструмент для бенчмарков. Тестирование производительности — это сложный процесс, отличающийся от...

[Перевод] Ванильный JavaScript и HTML. Никаких фреймворков. Никаких библиотек. Никаких проблем Используете для создания приложений Vue, React, Angular или Svelte? Я использую, и если вы тоже, и уверен, что вам уже давно не приходилось писать приложение, которое выводит информацию без этих прекрасных инструментов. Когда-то многие из нас писали веб-приложения только с...

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

[Перевод] Либо быстро, либо неправильно В 2018 году я упражнялся на Advent of Code (здесь вы можете посмотреть стримы моих решений). Каждый день в декабре они публикуют небольшую проблему, и вы должны написать программу, которая её решит. Обычно это занимает от пары минут до пары часов и это довольно весело, я р...

[Перевод] Почему нам кажется, что инфляцию считают неправильно? В апреле этого года, спустя месяцы колебаний в районе 0-1%, официальный уровень инфляции в США резко подскочил до 2,8%. Для многих людей это стало давно ожидаемой ситуацией. Они долгие годы подозревали, что официальный уровень инфляции не отражает данные «реального мира» — ...

Аудиофлагман LG уступил по качеству звуковой подсистемы даже iPhone SE Флагманы LG V уже давно славятся своей звуковой подсистемой, но так ли они хороши? Специалисты DxOMark решили проверить, на что способен V60 ThinQ 5G, и результаты оказались весьма занятными. Напомним, LG V60 может похвастаться фирменным ЦАП (Quad DAC), четырьмя микроф...

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

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

Huawei наконец запустила в России видеочат MeeTime, какие устройства поддерживают Компания Huawei объявила о запуске в России сервиса MeeTime для видео- и голосового общения.  Как обещает производитель, MeeTime обеспечивает качественное изображение даже при слабом освещении и плохой связи за счёт интеграции в ОС и оптимизации на аппаратном...

Ох уж этот std::make_shared… C++ Core Guidelines содержат правило R22, предписывающее использовать std::make_shared вместо вызова конструктора std::shared_ptr. В Core Guidelines приводится всего лишь один аргумент за такое решение — экономия на аллокации (и деаллокации). А если копнуть чуть глубже? Чита...

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

[Перевод] Почему стоит использовать exa вместо привычной консольной утилиты ls Изображение: Opensource.com Цель автора статьи — показать, что exa может легко заменить стандартную утилиту ls. И более того, в сравнении с ls, exa — более гибкий и мощный инструмент. Стараясь сэкономить время и силы, мы автоматизируем часто повторяющиеся и сложные операц...

Spring-анимации во Vue Привет, Хабр! Мне давно хотелось добавлять в любые проекты Spring-анимации. Но делал я это только для React-проектов с помощью react-spring, так как не знал ничего другого. Но наконец я решил разобраться, как оно все устроено и написать свою реализацию! Если вы тоже хоти...

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

Картирование цифровых прав, часть I. Право на публикацию цифровых произведений TL;DR: Эксперты делятся видением проблем в России, связанными с цифровым правом на использование, создание и публикацию цифровых произведений. Этой статьей Теплица социальных технологий и РосКомСвобода открывают серию публикаций о картировании технологических вызовов и возм...

[Перевод] Как продавать приложения для Mac за пределами App Store Mac всегда отличался от своего близкого родственника iOS, особенно в отношении того, что пользователю можно и нельзя запускать в своей системе. Даже после появления Apple Silicon компания Apple чётко дала понять, что Mac остаётся Mac, и его по-прежнему можно хакать, даже п...

[Из песочницы] Симуляция подъёмной силы Ньютона методом частиц на CUDA https://www.youtube.com/playlist?list=PLwr8DnSlIMg0KABru36pg4CvbfkhBofAi Как-то на Хабре мне попалась довольно любопытная статья “Научно-технические мифы, часть 1. Почему летают самолёты?”. Статья довольно подробно описывает, какие проблемы возникают при попытке объяснить п...

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

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

[Из песочницы] Как я «спрыгнул» с платформы ЭВОТОР, почему и чего это стоило Очень давно (более 20 лет назад) я написал учетную систему на базе 1С версии 7.7 для небольшой розничной сети из 30 магазинов. В течении этих лет потихоньку ее поддерживал. Руководство компании звезд с неба не хватает, особых пожеланий не имеет и вообщем все шло хорошо, пока...

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

Пользователи iPhone 11 пожаловались на проблемы с GPS iPhone 11 страдают от проблем с работой GPS, но не у всех К хорошему привыкаешь быстро. Именно поэтому никто даже внимания не обратил на то, что запуск iPhone 11 прошёл относительно гладко. Если сравнивать его с iPhone XS, который из-за сбоя в программном обеспечении из коро...

@teqfw/vue Комментарии коллег к моей последней статье "Почему я 'мучаюсь' с JS" навели меня на мысль, что публикации, касающиеся Tequila Framework, нужно помещать в хаб "Ненормальное программирование". Почему-то идеи: создание больших web-приложений на "ванил...

[Из песочницы] Играем музыку из Mario на системном динамике Предисловие Привет, Мир! Уже года 3 хочу написать что-нибудь на Хабр, но никак не находилось темы, на которую можно было бы накатать пост. Так было до тех пор пока мне не понадобилось узнать немного про работу системного таймера и системного динамика для лабораторной рабо...

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

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

Окей, Гугл! Отстань от меня! Как отключить голосового ассистента? Я искренне уважаю голосового ассистента от Google. В российской действительности более адаптированной мне кажется Алиса, да и голос у нее поприятнее. Но в сравнении с туповатой Siri, Google Ассистент не идет ни в какое сравнение. Да и по сочетанию факторов он, наверное, луч...

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

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

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

В Apple Watch Series 7 могут добавить тест на уровень сахара в крови и измерение температуры В рекламе Apple Watch Series постоянно делается акцент на спасённой жизни и измерении очень важных функций организма. И если сейчас в любых китайских смарт-часах есть измерение кислорода в крови, то у Apple, возможно, найдётся пару аргументов. Инсайдеры говорят, что уже в Ap...

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

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

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

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

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

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

Как редактировать конфиг через Web-GUI для Haproxy (и не только) О том, как написать Web GUI для HAProxy, мы уже говорили в двух статьях (1 и 2). С момента публикации последней статьи прошёл год; сейчас, по прошествии времени, очевидно, что о многих вещах (важных и полезных) мы так и не рассказали подробно.  Сегодня мы возвращаемся н...

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

[Перевод] Сравнение производительности ASP.NET Core-проектов на Linux и Windows в службе приложений Azure. Продолжение В моём предыдущем материале речь шла о сравнении производительности ASP.NET Core-приложений, запускаемых в Windows и в среде Linux + Docker, работающих в службе приложений Azure. Эта тема интересна многим — поэтому я решил написать продолжение. Я снова провёл испытания, и...

[Перевод] C и C++: межъязыковые интерфейсы Как известно, C и C++ — это родственные языки, между которыми есть много общего. Но их пути, с годами, расходятся всё сильнее. В общих чертах дело обстоит так: код, написанный на одном из этих языков, не может быть скомпилирован под видом кода, написанного на другом. Этому м...

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

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.2 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech». В предыдущей статье я рассказывала про один из способов реализации многопоточности в приложении Kotlin Multiplatform. Сегодня мы рассмотрим альтернативную ситуацию, когда м...

[Перевод] Датчики давления в шинах автомобиля: пробуем провести DoS-атаку Датчики TPMS (Tire-pressure monitoring system, системы мониторинга давления в шинах) активно изучались множество лет назад. Они периодически передают давление в шинах, температуру и уникальный ID, которым можно злоупотреблять для слежения за транспортным средством. Однако ...

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

Архитектура «Р7-Офис»: почему сам редактор и интерфейсы надо обязательно разносить? Поскольку мы писали офис уже в тот момент, когда Интернет был не только в каждом доме, но и в чайниках, и в холодильниках, у нас была возможность сесть и продумать архитектуру редактора. С одной стороны, мы, конечно же, оказались в сравнении с MS в ситуации сильно догоня...

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

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

Жизнь витает в облаках, или почему Венера привлекает внимание ученых Венера — неплохая иллюстрация ада, причем иллюстрация вполне себе реальная. 470 °C на поверхности, давление в 90 бар, кислотные испарения — о существовании жизни на поверхности или под ней, хотя бы глубинной, микроскопической, и речи быть не может. Но совсем другие условия...

Автоматизированная сборка Delphi-приложения Автоматизированная сборка Delphi-приложения Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-колен...

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

В Google Play вышла MINImax Tinyverse — стратегия и симулятор бога в одном флаконе На iOS игра должна выйти только завтра, но в Google Play релиз уже состоялся. MINImax Tinyverse — это оригинальная стратегиями с элементами симулятора бога, где в сражениях участвуют 2 армии. Ваша задача — помогать своей и мешать воинам противника. Вы можете использовать Че...

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

[Из песочницы] Установка micropython на ESP8266 и работа с ним под Linux (для начинающих) Привет, Хабр! Это мой первый опыт с микроконтроллерами в целом, и ESP8266 (в виде Nodemcu v2) в частности. Возможно, для кого-то этот опыт окажется полезным. Почему именно micropython? Ответ простой — мой скромный опыт в области программирования ограничен Паскалем в ВУЗе,...

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

do {Yoga} while (болит спина) Вступление Это обыкновенная история про самого обыкновенного IT-шника, которая, тем не менее, может быть интересна людям различных профессий. Статья не про то, как я добился успеха в той или иной IT-дисциплине, будь то программирование, администрирование или дизайн. Моя исто...

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

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

Сегодня состоится релиз футбольного симулятора Football Master 2, Торрес стал амбассадором Football Master 2 — футбольный симулятор от студии Gala Sports. Мы говорили про него подробно здесь, когда проект ещё был в стадии ОБТ. Теперь настало время глобального релиза, при этом некоторые страны уже могут наслаждаться игровым процессом, когда другим нужно ждать. Гейм...

[Перевод] SSH, пользовательский режим, TCP/IP и WireGuard Тому, кто хостит приложение у провайдера наподобие Fly.io (далее — просто Fly), вполне может понадобиться подключиться к серверу, на котором работает это приложение, по SSH. Но Fly — это вроде как белая ворона среди других подобных платформ. Наше железо работает в дата-цент...

Far North Survival: Разработчики симулятора Моисея принялись за Северный полюс Не так давно мы сообщили о подозрительном трейлере студии PlayWay, в котором нам показали видеоигру-симулятор — Moses: From Egypt to the Promised Land. Она пересказывает библейскую историю о Моисее, а также о борьбе евреев с египтянами, когда в конце на последних упало целое...

[Из песочницы] Знакомство с effector-dom на примере списка задач Многим уже известен стейт-менеджер effector, кто-то его уже не только смотрел, но и использует в проде. С конца осени его автор активно разрабатывает девтулзы для эффектора, и в процессе этой работы у него получилось написать очень интересную библиотеку для рендера приложени...

nodejs: менеджеры процессов и ES6-модули В мире серверного JavaScript'а я — новичок с чистым, практически незамутнённым разумом. Поэтому когда я узнал о существовании менеджеров процессов, а конкретно — о pm2, то сразу же попробовал применить его для запуска какого-нибудь простейшего backend-сервиса на nodejs в цел...

В Tarantool можно совместить супербыструю базу данных и приложение для работы с ними. Вот как просто это делается Пять лет назад я попробовал работать с Tarantool, но тогда он мне не зашел. Но недавно я проводил вебинар, где рассказывал про Hadoop, про то, как работает MapReduce. Там мне задали вопрос — «А почему под эту задачу не использовать Tarantool?». Ради любопытства я решил верн...

Встраиваем карты от Huawei в Android приложение В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. Потом использовали аналитику от Huawei вместо аналога от Google. Также поступили и с определением геолокации. В этой же статье мы буде...

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

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

«Ну, покати!» или CI/CD мобильных приложений на основе контракта Всем привет! Меня зовут Дмитрий, я релиз-инженер в команде CI/CD Speed Авито. Вот уже несколько лет мы с коллегами отвечаем за всё, что связано с релизами наших мобильных приложений и не только. Про наши «релизные поезда» и как мы к этому шли уже оче...

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

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

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

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

Эксперимент: как научиться создавать популярные тексты на английском (и почему англоязычный Хабр так мало читают) Я много лет занимаюсь маркетингом, написанием текстов, при этом увлекаюсь английским и использую его в работе. В русскоязычном интернете в целом не так и много статей о контент-маркетинге и продвижении бизнеса в США. А те что есть часто просто рассказывают как надо делать ...

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

Использование Azure DevOps от разработки до сборки релиза в Dynamics AX 2012 Использование контроля версий для разработки в ERP-системе MS Dynamics AX — штука довольно неоднозначная. Кто-то не использует совсем, кто-то использует встроенную систему контроля версий MorphX. Меня зовут Игорь Глухов, я разработчик MS Dynamics AX в компании Lamoda. В эт...

[Из песочницы] Реализация MVVM в ABAP После окончания университета я несколько лет работал программистом C#. Я разрабатывал приложения на WPF с использованием шаблона проектирования MVVM. Затем перешел на ABAP. К большому удивлению обнаружил что ABAP является скорее процедурным языком чем объектно-ориентированны...

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

[Перевод] Облачный гейминг: сравниваем производительность Google Stadia и NVIDIA GeForce NOW Облачный гейминг, он же игровой стриминг — это возможность играть в видеоигры через удаленное соединение. Вместо того, чтобы собирать мощный компьютер для запуска новейшей игры с наивысшей производительностью и обновлять его каждые несколько лет, вы можете просто использ...

[Перевод] PowerShell — это язык программирования? Является ли PowerShell языком программирования? Совершенно определённо — является. И не обращайте внимание на тех, кто говорит, что это не так. Многие, работающие в сфере программирования, могут просто посмеяться над мыслью о том, что код, написанный для PowerShell — это неч...

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

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

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

Switch-версия DOOM Eternal близка к релизу Напоминаем на случай, если вы забыли: DOOM Eternal была анонсирована на Nintendo Switch. Выступая на PAX Online × EGX Digital, исполнительный продюсер шутера Марти Стрэттон (Marty Stratton) заявил, что версия для консоли Nintendo «очень близка» к релизу, и команда id Softwar...

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

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

[Из песочницы] Экспорт Google Forms + загрузка Google Script через REST API (Python) У нас было две гугл-формы, 75 вопросов в каждой, 5 бизнес-пользователей, которые активно правили эти формы, а еще гугл-скрипт, экспортирующий форму в JSON. Не то что бы его было сложно каждый раз запускать руками, но раз начал автоматизировать свою работу, то иди в этом ув...

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

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

[Перевод - recovery mode ] Scala 3: избавление от implicit. Extension-методы и неявные преобразования Это моя вторая статья с обзором изменений в Scala 3. Первая статья была про новый бесскобочный синтаксис. Одна из наиболее известных фич языка Scala — имплиситы (от англ. implicit — неявный — прим. перев.), механизм, который использовался для нескольких разных целей, наприм...

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

[Перевод] Оптимизация времени сборки проекта Там, где я работаю (в стартапе Spot.IM, размер которого находится где-то между малым и средним), Webpack используется для сборки различных проектов. После 4 лет работы над нашим основным продуктом, когда в его код внесло вклад столько народа, что и не сосчитать, время его пе...

Apple представила еще не все новинки. Ждем новый 16-дюймовый MacBook Pro Вторая половина текущего года оказалась очень насыщенной для Apple: с сентября компания анонсировала новые устройства ежемесячно. И, судя по тому, что написал неплохо информированный источник в Twitter, компания еще не закончила с новинками в этом году. Как сообщается,...

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

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

Немного о графиках, сплайнах и генерации ландшафта Всем привет! Недавно я решил написать свой алгоритм генерации ландшафта для своих игр на игровом движке Unity 3D. На самом деле мой алгоритм вполне подойдет и для любых других движков и не только движков, так как использует только чистый C#. Делать это с помощью шума мне пок...

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

Никогда такого не было и вот опять. Почему нужно использовать self-hosted VPN. Релиз Amnezia Вот и пришло время для релиза VPN-клиента, родившегося благодаря хакатону DemHack, и выращенного при поддержке РосКомСвободы, PrivacyAccelerator и Теплицы социальных технологий. Спустя полгода с того момента, как идея была впервые озвучена, мы презентуем готовый продукт — б...

Релиз мобильных приложений одной кнопкой Всем привет! Меня зовут Михаил Булгаков (нет, не родственник), я работаю релиз-инженером в Badoo. Пять лет назад я занялся автоматизацией релизов iOS-приложений, о чём подробно рассказывал в этой статье. А после взялся и за Android-приложения. Сегодня я подведу некоторые...

[Перевод] Публикация кода VVVVVV показала, насколько грубо устроены игры внутри На прошлой неделе создатель Dicey Dungeons Терри Кавана отпраздновал десятую годовщину своей давней игры VVVVVV, by опубликовав её исходный код [перевод на Хабре]. Если объяснять просто, то это значит, что любой человек может теперь посмотреть, как создавалась игра, потому ...

Новое приложение «Медузы». Почему Flutter? Технический директор Борис Горячев рассказывает, как «Медуза» работала над ним целый год и почему оно написано на Flutter 12 мая состоялся релиз новых мобильных приложений «Медузы» — почти через два года после того, как мы решили их переписать. Почему так долго? Почему не на...

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

AppCode 2021.2: улучшения поддержки Swift, автодополнение выражений, окно иерархии вызовов для Swift и не только Привет, Хабр! В этом посте, как и всегда, расскажем о новом релизе AppCode. Всем, кому интересно, — добро пожаловать под кат.  Читать далее

Вначале был монолит: как мы меняем нашу архитектуру, не мешая бизнесу Всем привет! Меня зовут Игорь Наразин, я тим-лид команды в направлении логистики Delivery Club. Хочу рассказать, как мы строим и трансформируем нашу архитектуру и как это влияет на наши процессы в разработке. Сейчас Delivery Club (как и весь рынок фудтеха) растёт очень бы...

Лучшие сервисы вызова такси на Android и iPhone по версии Роскачества Центр цифровой экспертизы Роскачества провел исследование наиболее популярных мобильных приложений для заказа такси для Android и iOS.  Эксперты проанализировали более 900 комментариев из магазинов приложений и провели интервью с пользователями, чтобы выяснить сам...

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

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

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

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

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

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

Запуск проекта в Kubernetes за 60 минут У Kubernetes высокий порог входа, не все готовы использовать его в своих проектах. Это достаточно сложная для внедрения технология, особенно если конфигурированием кластера заниматься самостоятельно. Но я попробую упростить для вас эту задачу. Я Павел Селиванов, ведущий Dev...

Почему не идут гудки при вызове и что делать? Из-за отсутствия гудков дозвониться до абонента становится невозможно. Почему гудки не идут во время звонка и что с этим можно сделать? Отсутствие...

Спортивный симулятор Grand Mountain Adventure вышел на iOS Очень редко хорошие игры выходят изначально на Android. Такой подход часто используют авторы игр, направленных на более непредвзятых игроков (часто это различные симуляторы выживания и все в этом духе). Но в прошлом году студия Toppluva AB отчего-то решила начать выпуск свое...

Как мы выбираем языки программирования в Typeable Неоднократно меня спрашивали, почему я предпочитаю использовать такие языки программирования как Haskell и Rust, т.к. они не являются самыми широко используемыми и популярными инструментами. Этот пост написан с целью демистифицировать то, что происходит у меня в голове, ког...

[Перевод] Миллион спрайтов при 120 с лишним fps Если вы побродите по форуму DOTS, то можете встретить там подобные посты о том, как автор написал библиотеку, способную рендерить миллион анимированных спрайтов, и всё равно получает только 60fps. Я создал собственный рендерер спрайтов DOTS, который достаточно хорош для наш...

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

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

[Перевод] 5 шагов к быстрым веб-шрифтам Настройте файлы шрифтов и оптимизируйте стратегию загрузки для максимальной скорости + минимум FOUT В предыдущем посте я писал о системных шрифтах и ​​их преимуществах перед веб-шрифтами. Я поддерживал подход «сначала системные шрифты», утверждая, что по сравнению с сист...

[Перевод] Ответ философам от GPT-3 Привет, Хабр. В преддверии старта курса «Deep Learning. Basic» мы подготовили для вас довольно необычный перевод. Читайте ниже, что из этого вышло. Рафаэль Миллер попросил языковую модель GPT-3 от OpenAI ответить на эссе, написанные о ней философами. Приводим перевод текст...

Состоялся релиз CarX Rally — добротный симулятор ралли и наследник Rush Rally или трэш? Будем честны, помимо серии Rush Rally на смартфонах нет нормальных симуляторов ралли. Теперь разработчики серии CarX решили попробовать себя на данном поприще и выпустили CarX Rally. Получилось ли у них? Давайте разбираться вместе. Разработчики обещают «настоящие чемпионаты ...

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

10 самых брутальных аниме – не для слабонервных Если вы ищете кровопролитные и жуткие сцены из аниме, то мы рады вас видеть здесь! Мы все привыкли к тому, что аниме – довольно милый жанр. Давно пора заглянуть во тьму или же примкнуть к ней, став фанатом следующих шоу! А если хочется ещё больше, то подобные материалы час...

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

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

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

Тестирование со всех сторон: о чём расскажут на Heisenbug Программа конференции Heisenbug готова, настало время представить её Хабру. Понятно, что там расскажут о тестировании, но как именно? Среди блоков программы — инструменты тестирования, нагрузочное тестирование, тестирование веба и мобильных приложений, даже ИИ. А кроме докл...

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

[Перевод] Разработка REST-серверов на Go. Часть 1: стандартная библиотека Это — первый материал из серии статей, посвящённой разработке REST-серверов на Go. В этих статьях я планирую описать реализацию простого REST-сервера с использованием нескольких различных подходов. В результате эти подходы можно будет сравнить друг с другом, можно будет поня...

Уязвимости в коде. Как отличить опасную брешь от незначительной ошибки? Как обычно выглядит проверка кода приложений на уязвимости? Специалист по безопасности инициирует процедуру, код сканируется, в приложении обнаруживаются тысячи уязвимостей. Все — и безопасник, и разработчики — в шоке. Естественная реакция разработчика: «Да наверняка половин...

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

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

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

Понижаем барьеры на вход в распознавание речи Автоматическое распознавание речи (STT или ASR) прошло долгий путь совершенствования и имеет довольно обширную историю. Расхожим мнением является то, что лишь огромные корпорации способны на создание более-менее работающих "общих" решений, которые будут показывать...

[Из песочницы] Простой zero-copy рендеринг аппаратно ускоренного видео в QML Введение Целью данной статьи является продемонстрировать способ как можно подружить сторонние видео буфера и QML. Основная идея — использовать стандартный QML компонент VideoOutput. Он позволяет подсовывать сторонние источники, неплохо документирован и имеет бекэнд поддержив...

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

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

Эффективное тестирование верстки Тестировать полезно. Тесты позволяют в автоматическом режиме безопасно рефакторить код и гарантируют его работу. Тесты – это живая документация: если информация в Wiki или в Confluence может устареть, то тесты всегда актуальны. Также многие крутые практики связаны с тестиров...

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

[Перевод] Углубленный анализ тестирования виджетов во Flutter. Часть II. Классы Finder и WidgetTester Это продолжение первой части статьи о тестировании виджетов во Flutter.Продолжим наше изучение процесса тестирования виджетов. В прошлый раз мы сосредоточились на базовой структуре тестового файла и подробно рассмотрели, что может делать функция testWidgets() в тесте. Х...

Мониторинг СУБД VMware Cloud Director и vCenter Server Appliance с помощью Zabbix Привет, Хабр! На связи Александр Воронцов, технический специалист компании Cloud4Y. Сегодня я расскажу, как можно настроить получение в Zabbix метрик СУБД PostgreSQL, используемой в VMware Cloud Director и vCenter Server Appliance.Кое-что вы уже могли читать на Хабре. Я...

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

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

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

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

[Перевод] Интерактивные эксперименты с машинным обучением (на TensorFlow) Вкратце Я создал новый проект Интерактивные эксперименты с машинным обучением на GitHub. Каждый эксперимент состоит из Jupyter/Colab ноутбука, показывающего как модель тренировалась, и Демо странички, показывающей модель в действии прямо в вашем браузере. Несмотря на то, чт...

Делюсь небольшим, но полезным плагином: Deeplink Helper для Android Studio DRY. Don’t Repeat Yourself. Принцип, призывающий разработчика не дублировать код. DRY часто можно распространить шире, не только на код. Сегодня расскажу о личном проекте, который уже помог мне и другим разработчикам избавиться от последовательности рутинных действий при раз...

Модерация изображений: уроки этикета от Data Scientist’a, часть 2 Привет, Хабр! Мы продолжаем серию статей про модерацию контента на площадках Центра Развития Финансовых Технологий Россельхозбанка. В прошлой статье мы рассказывали, как решали задачу модерации текста для одной из площадок экосистемы для фермеров “Свое Фермерство”. Почитать...

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

[Из песочницы] Python Memory Management: немного о фрагментации памяти Некоторые мысли по этой статье. На днях заинтересовался тем, как работает Python Memory Management в CPython для Python3 для 64-разрядной Ubuntu. Немного теории В системной библиотеке glibc есть аллокатор malloc. У каждого процесса есть область памяти, называемая кучей. Вы...

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

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

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

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

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

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

Сложности импортозамещения: инструмент для госкорпораций убирают из реестра отечественного ПО Госсектор давно и масштабно использует зарубежное ПО. Вернее, использовал до последнего времени. Согласно приказу Минкомсвязи от 20.092018 №486 все государственные компании должны перейти на отечественное программное обеспечение. Не сразу, время есть до 2024 года. У гос...

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

Топ-20 самых упоминаемых книг на HackerNews На HackerNews пользователь tracyhenry проанализировал 40 000 комментариев и составил рейтинг самых упоминаемых в комментариях книг. Автор рейтинга преисполнен благодарности тем книгам, про которые он узнал благодаря HackerNews и решил отдать долг и написать приложение, к...

В Windows 10 стало возможным звонить по телефону и принимать вызовы Microsoft обновила приложение Your Phone, которое теперь можно использовать для совершения телефонных звонков с персонального компьютера.

Простой rpm репозиторий используя Inotify и webdav В этом посте рассмотрим хранилище rpm артефактов c помощью простого скрипта с inotify + createrepo. Заливка артефактов осуществляется через webdav используя apache httpd. Почему apache httpd будет написано ближе к концу поста. Итак, решение должно отвечать cледующим требован...

Где смотреть презентацию iPhone 13 на русском языке Если вы ещё не знаете, когда будет презентация iPhone 13, то у нас уже есть ответ на ваш вопрос. Официальное мероприятие, посвящённое запуску нового смартфона Apple, состоится завтра, 14 сентября. Как и несколько предыдущих презентаций, эта не будет идти в прямом эфире. Её ...

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

[Перевод] Рассказ о том, почему в 2021 году лучше выбирать TypeScript, а не JavaScript Недавно я, используя React Native, занимался разработкой мобильного приложения для медитации Atomic Meditation. Эта программа помогает тем, кто ей пользуется, выработать привычку медитировать, ежедневно уделяя этому занятию какое-то время. В ходе работы у меня появились серь...

Обнаружена новая банкнота, за которую всем выплачивают по 200 000 рублей Жизнь в России вот уже как двадцать лет идет своим чередом. Российские власти, в свою очередь, стараются всячески разнообразить скучную повседневную жизнь населения страны, придумывая для этого новые законы и идя на разного рода другие Читать полную версию публикации Обнару...

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

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

[Перевод] Assert-сообщения в тестах И снова здравствуйте. В преддверии старта курса «Разработчик C#» перевели интересный материал про assert-сообщения в тестах и с радостью делимся с вами переводом. В этом посте мы поговорим о том, должны ли вы использовать Assert-сообщения в ваших тестах. Я получил интересн...

Онлайн-конференции: плюсы, минусы, подводные камни Этой весной я следил за кучей онлайн-мероприятий: от конференции Microsoft Build до круглого стола «Киберсекс и самоизоляция». Поскольку работаю в JUG Ru Group, также видел, как готовятся наши собственные 8 конференций. А ещё читал комментарии айтишников об онлайн-формате —...

Хабра-детектив и праздничное настроение Вы ведь слышали фразу "часто комментарии намного полезнее самой статьи"? На Хабре она встречается достаточно регулярно. В основном речь идёт о дополнительных технических подробностях, взгляде с точки зрения другой технологии или просто альтернативных мнениях. Но сегодня мен...

[Перевод] Знакомимся с аудио платой Bluetrum AB32VG1 RISC-V Bluetooth через RT-Thread Bluetrum AB32VG1 – это макетная плата на базе микроконтроллера AB5301A RISC-V, спроектированного как под приложения с использованием Bluetooth-аудио, так и для общих проектов, которые работают с операционной системой реального времени RT-Thread. Эту плату мне прислали разр...

Google подготовился к закрытию Google Play Music, но не успел ... Уже какое-то время мы знаем, что достаточно крупному игроку на рынке стриминга музыки, Google Play Music, придет конец. Его место должен занять молодой и перспективный проект (сарказм) YouTube Music. Проблема в том, что второй может не только не понравиться многим пользовате...

Apple нашли как отомстить Epic Games за строптивость Epic Games оказалась в числе смельчаков, кто позволил себе нападки на бизнес-модель Apple в App Store. Она решила бросить вызов компании и отправилась в суд, чтобы доказать, что концерн из Купертино, используя свое монопольное положение на рынке iOS, взымает необоснованные 3...

[Из песочницы] Как ‌С#-разработчик у JavaScript плохому учился Недавно мне на глаза попалась одна статья на Хабре. В ней сравниваются C# и JavaScript. На мой взгляд, сравнивать их — всё равно что сравнивать луну и солнце, которые, если верить классику, не враждуют на небе. Эта статья напомнила мне о другой публикации. В ней речь идёт ...

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

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

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

[Перевод - recovery mode ] Простое обнаружение проблем производительности в PostgreSQL Существует ли в мире очень большая и крупная база данных, которая время от времени не страдает от проблем с производительностью? Держу пари, что их не так уж много. Поэтому каждый DBA (администратор базы данных), отвечающий за PostgreSQL, должен знать, как отслеживать потен...

Web Vulnerabilities Playground Уже 3 ноября в OTUS пройдет день открытых дверей по курсу "Безопасность веб-приложений", в рамках которого вы сможете подробно узнать о курсе и пообщаться с нашими экспертами. А прямо сейчас хотим поделиться с вами авторской статьёй эксперта OTUS, вирусного аналитика в между...

[Перевод] Лучшие плагины IntelliJ IDEA Key promoter X Использование сочетаний клавиш вместо мыши может значительно повысить производительность. С таким количеством функций, которые предлагает IDEA, это может быть пугающим и трудным для изучения всех быстрых клавиш. К счастью, есть плагин под названием Key Promo...

[Перевод] Дорогой Google Cloud, отказ от обратной совместимости тебя убивает Чёрт возьми, Google, я не хотел снова писать в блог. У меня так много дел. Ведение блога требует времени, энергии и креатива, которые я мог бы использовать с пользой: мои книги, музыка, моя игра и так далее. Но ты меня достаточно разозлил, и придётся это написать. Так что д...

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

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

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

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

«Сбербанк» единожды сделал выплату 5 000 рублей всем владельцам банковских карт Нет на всей российской территории ни одного более крупного, известного и распространенного банка, кроме как «Сбербанк». Данная компания старается делать буквально все возможное, лишь бы только как можно больший круг людей активно использовал ее фирменные Читать полную верси...

Использование STL для обработки сигналов в реальном времени. Доклад в Яндексе Компьютерные игры, обработка аудиосигналов в режиме реального времени и другие подобные приложения низкой задержки требуют, чтобы код был не только корректным. Он также должен исчислять требуемый результат надёжно за детерминированный срок выполнения. В этом докладе head of ...

Новая функция Android 11 стала головной болью для разработчиков Scoped Storage? Боль или не боль? Android 11 — достаточно крупное обновление. Google планирует показать его уже в мае этого года, а само обновление начнет распространяться уже в сентябре. Главными нововведениями станут улучшенная темная тема, упрощенная передача файлов...

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

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

Как отключить входящие звонки на iPad и Mac, когда звонит iPhone Блестящая функция Continuity позволяет начать работу на одном устройстве и тут же продолжить на другом, а также, принимая вызов на iPhone, ответить на сопряжённых iPad или Mac. Но все радости могут померкнуть, если с учёткой Apple ID сопряжены несколько домашних устройств. П...

DLang, Vibe.d и кросс-компиляция для RPi4 Микрокомпьютеры часто используются для построения на них серверов внутри локальной сети. Это очень удобно - у тебя есть маленькая коробочка, которая стоит где-то в ящике, мало потребляет и позволяет тебе, например, пользоваться принтером или сканером из любой точки твоей ква...

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

Состоялся релиз Симулятор Белки 2: Онлайн — ищем грибы и дерёмся с енотами Лесной мир удивляет разнообразием зверей, а точнее — белок. Если вы всегда мечтали поиграть за этого зверёныша, то теперь это можно сделать в «Симулятор Белки 2: Онлайн». Здесь можно бегать по миру с низкими полигонами, собирать жёлуди, ягоды и грибы, а потом прятать их в ду...

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

Microsoft выпустила Windows Terminal Preview 1.11 Компания Microsoft выпустила Windows Terminal Preview 1.11. Акриловая строка заголовка Добавлен новый параметр, позволяющий сделать строку заголовка акриловой. Этот параметр можно найти на странице «Внешний вид» пользовательского интерфейса настроек или установить в файле se...

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

«Калинка», медведи и пацанчики: Kavkaz Sila представили симулятор жизни в России Разработчик Kavkaz Sila Games анонсировал «Симулятор сидения у подъезда» и «Симулятор России». В Stream они объединят в себе все популярные стереотипы и мемы о российской жизни. Популярность российской темы в компьютерных играх с каждым годом только набирает обороты. И если...

Google убрала боковое меню в Google Play. Где теперь отменять подписки Несмотря на то что я не так часто скачиваю новые приложения себе на смартфон, в Google Play я так или иначе захожу. Делаю я это не для того, чтобы поискать что-то новенькое, а, скорее, для того чтобы убедиться, что всё осталось по-старому. С некоторых пор у меня появилась м...

[Перевод] Кунг-фу стиля Linux: глобальный поиск и замена строк с помощью ripgrep Даже те, кто пользуется Linux лишь от случая к случаю, вероятно, знают о том, как работать с grep. При этом не нужно быть экспертом в сфере регулярных выражений для того чтобы без особых сложностей пользоваться grep для поиска в файлах строк, соответствующих простым последов...

Как синхронизировать сотни таблиц базы в Kafka, не написав ни одного продюсера Привет, Хабр! Меня зовут Сергей Бевзенко, я ведущий разработчик Delivery Club в команде Discovery. Наша команда занимается навигацией пользователя по приложению Delivery Club: мы отвечаем за основную выдачу ресторанов, поиск и всё, что с этим связано. Я расскажу про Kafka...

Почему провалился Cyberpunk 2077 и как плохое отношение к сотрудникам уничтожает продукты Могло ли быть так, что игра десятилетия (во всех смыслах) — Cyberpunk 2077 — выйдет в срок или хотя бы продемонстрирует менее печальную картину на консолях после стольких переносов? Нет. Оставаясь талантливыми художниками игрового ремесла, сотрудники студии CD Project R...

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

Преобразование dxf в svg Речь в статье пойдёт о программе на С/С++, написанной под Ubuntu, редактор — CodeBlocks. dxf — открытый формат, спецификация которого написана компанией Autodesk. Предполагаемое назначение — отображение dxf чертежей в веб проектах. Да, можно экспортировать из кое-каких редак...

Apple презентовала новую iOS для iPhone В новой операционной системе iOS 14 иконки приложений можно расположить на одном экране — виджеты можно настраивать по размеру, месту или объединять вместе. Новая функция Apple Library позволит автоматически организовывать приложения в соответствии с разделами. Также в новой...

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

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

[Перевод] Улучшение Spring Mock-MVC тестов Spring Mock-MVC может быть отличным способом протестировать Spring Boot REST API. Mock-MVC позволяет нам тестировать обработку запросов Spring-MVC без запуска реального сервера.Я использовал тесты Mock-MVC в различных проектах, и по моему опыту они часто бывают дов...

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

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

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

Приложение Meeter доступен для устройств Apple Mac Meeter - это бесплатное приложение для Mac, которое позволяет пользователям легко присоединяться к видеоконференциям популярных приложений прямо из строки меню macOS. В настоящее время приложение поддерживает следующие службы конференц-связи: Zoom, Google Meet/Hangouts, C...

Рустам Гильфанов: «Если выбирать лучшую инвестицию – это будет собственное образование» Жизнь меняется с все возрастающей скоростью, бросая вызов и бизнесам, появляющимся один за другим, и отдельным личностям. Невозможно оставаться успешным, один раз научившись чему-то и оставаясь на том же уровне. Навыки нужно расширять и обновлять. Концепция учебы всю жизнь б...

Создан робот LAX-RAY, который расставляет предметы на свои места В США разработали робота, который расставляет все предметы по своим местам, используя для этого искусственный интеллект.Робот получил название Lateral Access maXimal Reduction of occupancY support Area (LAX-RAY). Он обладает контактным онлайн-интерфейсом COntext Inference от...

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

Сергей и «программирование лучше секса» Небольшая зарисовка-комментарий к статье «Программирование лучше секса» Самодостаточная, можно читать без ознакомления с оригиналом. — Сергей, можно вопрос? Сергей, не отвлекаясь от экрана… — Ну, задавайте. — Объясните, почему вы ТАКОЙ? Почему вам важнее написать эту ...

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

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

7 полезных инструментов на Haskell Вступление Haskell это чистый функциональный язык программирования общего назначения со статической типизацией и ленивыми вычислениями. Появился в 1990 году и был назван в честь Хаскелла Карри. На данный момент основной реализацией является компилятор GHC. Мы в Typeable очен...

[Перевод] Пришло время избавиться от Angular и сэкономить миллиарды долларов Я знаю, что эта статья вызовет поток гневных комментариев, но… так тому и быть. Кто-то должен наконец озвучить то, о чём уже некоторое время размышляют программисты, обладающие некоторым опытом. Я занимаюсь программированием более 20 лет, работал в некоторых из самых прилич...

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

[Из песочницы] Учимся торговать на бирже. Часть первая: настройка тестового окружения В этом цикле статей создадим окружение для работы с тестовой биржей и обмена сообщениями с ней, разберёмся с основными биржевыми терминами и закрепим знания на практике. UPD: Основная цель этого цикла статей — комплексно рассмотреть устройство биржи и базовые понятия (сделк...

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

[Перевод] Автоматизируем работу с контейнерами через Makefile: сборка, тестирование и развёртывание за один вызов make Утилита make позволяет просто управлять контейнерами, объединив команды для сборки, тестирования и развёртывания в одном конфигурационном файле. Разработчики многие годы используют утилиту make. При запуске утилита читает файл с описанием проекта (Makefile) и, интерпретир...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

Как улучшить распознавание русской речи до 3% WER с помощью открытых данных Меня зовут Николай, когда в 2009 году я защищал диссертацию по распознаванию речи, скептики мне говорили, что слишком поздно, так как Microsoft и Google уже “всё сделали”. Сейчас в SberDevices я обучаю модели распознавания речи, которые используются в семействе виртуальных а...

Не только в тепле и уюте: где ещё ИБП работает в режиме out of office На дворе уже осень, и в нашем техническом блоге и редакторам, и читателям наверняка хочется отдохнуть от сложных терминов, схем и диаграмм применения ИБП (источников бесперебойного питания), и поговорить о чем-то более отвлеченном, — пусть не развлекающем, но хотя бы расши...

Чужой код — потемки: чем опасно скачивание «безобидного» софта с GitHub Наверное, каждый из тех, кто читает эту статью, хорошо знаком с GitHub — крупнейшим веб-сервисом для хостинга IT-проектов и их совместной разработки. Здесь можно найти почти любой open source-проект. Для компиляции проекта может быть нужен какой-то специфический софт, кото...

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

[Из песочницы] Что такое собеседование и зачем оно? Поводом для написания размышлений ниже послужила статья «Нужны ли резюме в IT?». Так как тема в статье мне близка и интересна, я решил написать своеобразный ответ. На мой взгляд, статья ошибочна и полна ошибок и заблуждений, причем концептуального уровня. Конечно, изложенно...

[Из песочницы] Flutter. BlOC, Provider, async – архитектура «по полочкам» Вступление Когда пытаешься написать приложение, то первое с чем сталкиваешься – это как организовать архитектуру приложения. А когда еще при этом речь идет про Flutter, так голова совсем может пойти кругом от того, что выдает Гугл — Vanilla, Scoped Model, BLoC, MVP, MVC, MVV...

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

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

Mein Linux На Хабре в последнее время появилась серия холиварных статей: Семь причин, почему Линукс Главная причина, почему не Linux (от автора предыдущей статьи) Главная причина, почему все-таки Linux В этих статьях и комментариях к ним много говорили о коммунизме, цельности системы, ...

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

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

Развёртываем Hyperledger Fabric 2.0 на AWS Hyperledger Fabric — это блокчейн-платформа с открытым исходным кодом от Linux Foundation. С её помощью можно создавать блокчейн-приложения и управлять доступом и разрешениями для данных в цепочке блоков. Hyperledger Fabric стоит использовать в том случае, если требуется соз...

[Из песочницы] Программист-фанатик. Конспект часть 1. Почему нужно быть худшим и не слушать советы родителей Дошли руки до книги Чеда Фаулера «Программист-фанатик». Я решил написать конспект книги, отжав из нее всю воду, а воды было предостаточно. Конспект позволит тем, кто не читал книгу ранее, познакомиться с идеями изложенными в ней. Читать дальше →

[Перевод] Создайте свой собственный симулятор Q# — Часть 1 Симуляторы — это особенно универсальная особенность QDK. Они позволяют вам выполнять различные задачи в программе на Q#, не меняя ее. Такие задачи включают симуляцию полного состояния, оценку ресурса или симуляцию трассировки. Новый интерфейс IQuantumProcessor позволяет очен...

Видеоаналитика «М.Видео-Эльдорадо»: 30 000 камер, 1 компьютер и нейросеть В середине 2020 года мы в «М.Видео-Эльдорадо» начали строить собственную систему видеоаналитики «с нуля», не используя сторонние готовые платформы. В перспективе она должна охватить более тысячи магазинов торговой сети. О том, почему мы выбрали этот путь и каких результато...

Базы данных. Тенденции общемировые и в России Эта статья не является ответом на множество вопросов по базам данных (БД) и системам управлениям базами данных (СУБД). Я как автор выражаю своё собственное мнение о  трендах, стараясь опираться на беспристрастные показатели, статистики и т.д., но для примера приводя со...

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

[Перевод] Почему базы данных NoSQL — плохое решение для современных приложений Здравствуйте, Хабр. Сегодня мы предлагаем вашему вниманию перевод статьи из блога MemSQL, которая исходно является рекламной (посвящена достоинствам MemSQL, обновлена по состоянию на начало января 2020 года). Но мы решили все-таки перевести ее в сокращенном виде, поскольку ...

Переезд инженера в Великобританию: IT-сфера, рабочая виза, налоги Зачем разработчику ехать в Европу? Не из-за денег — неоднократно замечали и мы в статьях про переезд, и вы в комментариях к ним. Можно поехать за интересными задачами в крупных tech-компаниях и новыми...

Описание основ криптопреобразования AES Доброго времени суток, Хабр! Примерно 3 месяца назад проходил собеседование frontend разработчиком и самый первый вопрос, который мне задали: “Что такое AES?” Ну как бы аморфное представление я все же имел о симметрично блочном шифровании AES, было дело даже использовал в од...

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

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

Как обрезать видео в iPhone без установки приложений Съёмка видео на iPhone уже давно стала обыденным делом, и мы снимаем всё подряд, но видео может оказаться очень длинным или с какими-нибудь «лишними» кадрами, и было бы неплохо его обрезать. Можно обойтись без установки дополнительных приложений и подключения iPhon...

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

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

Google засветила новую операционную систему Pigweed Судя по всему, Google работает над проектом новой операционной системы У Google есть много проектов, о которых не знают пользователи. Часть из них просто не пользуется популярностью, а часть держится в секрете самой компанией. Однако тут дело не в том, что поисковый гигант х...

[Перевод] Веб-скрейпинг на PHP Термин web scraping означает извлечение информации из веб-страниц в интернете. Его ещё называют web crawling или web data extraction. PHP широко используется в качестве серверного скриптового языка для создания динамических сайтов и веб-приложений. И на нём можно написать...

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

Сервис вызова такси Bolt будет бесплатно возить учителей во время карантина Сервис по вызову такси Bolt в сотрудничестве с Офисом Президента Украины запустил новую инициативу. В результате водители Bolt будут бесплатно возить учителей к локации, где они проводят занятия со школьниками в рамках проекта «Всеукраинская школа онлайн». Это еще одна иници...

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

[Пятничное] Сколько стоит держать 100 запросов в секунду в Azure на .NET Core MVC и MSSQL Эта пятничная история началась еще пять лет назад. Один мой друг, который в то время помогал запускаться разным стартапам, пожаловался на производительность базы данных, размещенной в Azure. По его словам, они провозились почти все выходные, но добиться приемлемого времени ...

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

[Перевод] Подробности об использовании CSS-функции minmax() в Grid-макетах Существует множество руководств, в которых рассматриваются общие вопросы работы с CSS Grid, с механизмом, позволяющим создавать сеточные макеты. Я и сам немало об этом писал. Но я обратил внимание на то, что у многих разработчиков возникают сложности с использованием CSS-фун...

Мой опыт запуска краудфандинговой кампании Что такое краудфандинг, надеюсь, рассказывать нет необходимости, потому без лишних предисловий поведаю о своем опыте работы с одним из таких сервисов. Речь пойдет не о таком гиганте как Kickstarter, а о более специализированном на «железных» open source проектах сервисе Crow...

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

Локализация React приложении Всем привет! До нового года остаются считанные дни. Наткнулся на свой список дел, которые собирался сделать в 2019-м, среди них оказалось и написать статью на Хабр. Самое время заскочить в уходящий вагон). Сразу оговорюсь, пиарю свой велосипед, если такое Вам не по душе, то ...

Инстаграм будет использовать ИИ для борьбы с травлей пользователей Instagram хочет сделать свою социальную сеть менее «токсичной» В последнее время на борьбу с кибербуллингом (то есть травлей или осознанным унижением) в сети обратили внимание многие компании. В первую очередь это касается владельцев крупных социальных сетей и подо...

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

Not For Broadcast: это вам не игрушки — подробный обзор игры Видит бог, за последние тридцать лет игры испытали множество метаморфоз. От гениальных, но всё же простейших форм жизни — Space Invaders, Pac-Man, Tetris — к многообразию жанров, сложнейшему нарративу и фотореалистичной графике. И это не предел: каждый день игры продолжают р...

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

Подледная жизнь вне Земли: что мы знаем о Европе, спутнике Юпитера Возможно, внеземная жизнь гораздо ближе к нам, чем кажется, поскольку жидкая вода, которая нужна для возникновения и и подднржания существования аналога земной жизни, не редкость в Солнечной системе. Так, уже доказано (или почти доказано) существование океанов жидкой воды у...

Как найти потерянные AirPods с помощью приложения Локатор на iPhone Несколько лет назад Apple официально представила новую функцию «Найти AirPods» (Find My AirPods), которая упрощает поиск потерянных наушников с помощью приложения Локатор на iPhone, iPad и Mac. Функция работает по аналогии с «Найти iPhone», правда в более упрощенной версии....

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

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

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

[Перевод] RED: Улучшение качества звука с помощью резервирования Еще в апреле 2020 года Citizenlab сообщил о довольно слабом шифровании Zoom и заявил, что Zoom использует аудиокодек SILK. К сожалению, статья не содержала исходных данных, чтобы это подтвердить и дать мне возможность обращаться к ней в дальнейшем. Однако благодаря Натали С...

[Перевод] Micro-USB-кабели и питание Raspberry Pi На ресурсах, посвящённых Raspberry Pi, часто всплывает вопрос о том, почему в углу экрана появляется маленький значок молнии, причём — даже тогда, когда используемого блока питания более чем достаточно для обеспечения того, что нужно плате. Этот значок указывает на понижение...

Pixockets: как мы написали собственную сетевую библиотеку для игрового сервера Привет! На связи Станислав Яблонский, Lead Server Developer из Pixonic. Когда я только пришел в Pixonic, наши игровые сервера представляли собой приложения на основе Photon Realtime SDK: многофункционального, но весьма тяжелого фреймворка. Решение это, казалось бы, должно...

[Перевод] Заметки о Unix: ограничения опции -exec команды find и стремление к удобству при реализации команд В материале о том, что в наши дни find, как правило, не нуждается в xargs, я отметил, что в конструкции '-exec ... {} +' скобки ('{}') (для имён файлов, генерируемых find) должны находиться в конце команды. В комментарии к той публикации анонимный читатель сказал, что это не...

5 малоизвестных возможностей JSON.stringify() Доброго времени суток, друзья! В этой небольшой заметке я хочу рассказать вам о некоторых редко используемых возможностях JSON.stringify(). Возможно, они окажутся вам полезными. JSON.stringify() часто используется при отладке для преобразования объекта или обычной стро...

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

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

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

Python (+numba) быстрее си — серьёзно?! Часть 1. Теория Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скор...

Какой смартфон выбрать: POCO X3 Pro или POCO F3? X3 Pro в официальном пресс-релизе Xiaomi называет будущим хитом, вероятно, намекая на не максимальную цену, которая могла бы быть. F3 именует зверем производительности. Давайте посмотрим на спецификации второго хотя бы на бумаге, хотя реальную производительность можно буде...

Дочь Мизулиной хочет блокировки «Твиттера», потому что он издевается над государством, но не «ТикТока», хотя там плохой для детей контент "Мы, конечно, настаиваем, чтобы Роскомнадзор принимал какие-то более решительные меры в отношении этой социальной сети вплоть до полной блокировки, поскольку ну это такой вызов и издевательство над нашим государством и над нашими законами". .

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

BL Taxi: вызов такси BL Taxi — приложение для вызова такси, как всегда демонстрирующее лучшие практики современной Android-разработки: 100% Kotlin Современная архитектура (Clean Architecture, Multi-Module setup,MVVM) Android Jetpack Single-activity architecture через компонент Navigation C...

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

[Из песочницы] Видео для бизнеса: как привлечь целевую аудиторию, а не отпугнуть нечаянно. 11 убийственных ошибок видеообращения «Почти все истории успеха в интернете объединяет одна особенность – использование видео в той или иной форме. Это тенденция, которая вряд ли изменится в ближайшее время». Джим Кокрум «Интернет-маркетинг: лучшие бесплатные инструменты» Видеомаркетинг — абсолютно никчемный,...

Mac OS 8 с предустановленными играми и приложениями выпустили в виде отдельного приложения для macOS, Windows и Linux Разработчик Феликс Ризеберг трансформировал операционную систему Mac OS 8 в приложение, которое можно установить на современный компьютер. Эта версия даже включает немало встроенных приложений и игр. Приложение можно установить на macOS, Windows и Linux. Приложение macintosh...

[Перевод] Эффективность Brotli в реальном мире Одним из наиболее фундаментальных правил разработки быстрых веб-сайтов является оптимизация их ресурсов. Если речь идёт о текстовых ресурсах — о коде, написанном на HTML, CSS и JavaScript, это значит, что мы говорим о сжатии данных. Стандартом де-фактов в деле сжатия текс...

[Перевод] OpenID Connect простыми словами Некоторое время назад я получил довольно непростую задачу написать техническое задание для нашей службы поддержки на тему OpenID Connect (OIDC). Тут же я понял, что хоть я и знаком с OAuth и SAML, я не знал практически ничего об OpenID Connect (кроме того, что благодаря это...

[Перевод] Разработка инструмента командной строки: сравнение Go и Rust Эта статья посвящена разбору моего эксперимента по написанию небольшого инструмента командной строки с использованием двух языков, в программировании на которых у меня не особенно много опыта. Речь идёт о Go и Rust. Если вам не терпится увидеть код и самостоятельно сравни...

Смотрим новый лэптоп Microsoft Surface Pro X на процессоре ARM Оцениваем производительность нового Surface Pro X Microsoft уже достаточно давно разрабатывает и выпускает 2-in-1 ноутбуки-планшеты, однако до недавнего времени все они работали на процессорах Intel с архитектурой x86. Всё изменилось не так давно с выходом ноутбука Surface X...

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

10 лучших смартфонов по данным «Роскачества» «Роскачество» время от времени составляет самые разные рейтинги, оценивая продукцию, которая продаётся официально в магазинах России. Сегодня публикуем лучшие 10 смартфонов по версии этой организации. На всякий случай, если сейчас 2024 год и вы видите, что моделей, о котор...

От комментария на Хабре к уязвимости в антивирусе Dr. Web Относительно недавно на хабре появилась статья «Стилер паролей в антивирусном ПО Avira Free Antivirus» от пользователя Veliant. Автор обнаружил, что в стандартной поставке упомянутого антивируса присутствует компонент, который позволяет простым образом извлечь пароли из хран...

[Перевод] Новый эксперимент: Вызов сервисов .NET gRPC из браузера с gRPC-Web Рады объявить об экспериментальной поддержке gRPC-Web с .NET. gRPC-Web позволяет вызывать gRPC из приложений на основе браузера, таких как JavaScript SPA или приложений Blazor WebAssembly. gRPC-Web для .NET обещает привнести многие замечательные функции gRPC в приложения дл...

Microsoft ♥️ Python Традиционно считается, что Microsoft хорошо поддерживает языки программирования на платформе .NET: C# или F#. Но это не совсем так — облако Azure поддерживает целый спектр языков, среди которых Python занимает почетное место. А если речь заходит о машинном обучении, то Pytho...

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри В user-generated проектах часто приходится бороться с дубликатами, а для нас это особенно актуально, так как основной контент мобильного приложения iFunny — это изображения, которые постятся десятками тысяч ежедневно. Для поиска повторов мы написали отдельную систему, чтоб...

SCRUM: поэма о любви и боли Если он так хорош, то почему все не работают только по этой методологии? А те, кто якобы внедрил, часто демонстрирует чудовищный ScrumBut. Настоящий SCRUM оставляет на вашем сердце шрамы, раны и отметины, и сейчас я расскажу о своих. Читать дальше →

iPhone 12 опустили в озеро на глубину 20 метров Как известно, компания Apple позиционирует свои смартфоны, как водонепроницаемые, на фоне чего к ней периодически возникают претензии.Серия смартфонов iPhone 12 официально имеет рейтинг IP68, поэтому их можно погружать на глубину 6 метров в течение получаса. Естественно, дан...

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

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

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

Шпаргалка по SIMD-инструкциям, теперь и для .NET Core Ни для кого не секрет, что в дотнет завезли интринсики. Я писал об этом и до того, как они появились и после. Плюс ещё посты на Хабре, например этот. И всё, казалось бы, замечательно, если бы не одно «но»: называются эти интринсики по-дотнетовски, а совсем не так как в ассем...

[Перевод] Когда уходят на покой программисты? 35 — это конец карьеры? Почему мы не наблюдаем вокруг большого количества седоволосых разработчиков ПО? Куда деваются все программисты, когда становятся старше? Увольняют ли компании программистов в возрасте? Если программист в свои пятьдесят собеседуется на вакансию вместе с людьми, которым 20-3...

Про новинки в .NET 5 и C# 9.0 Добрый день. В нашей компании .NET используется с самого его рождения. У нас в продуктиве работают решения, написанные на всех версиях фреймворка: от самой первой и до последней на сегодняшний день .NET Core 3.1. История .NET, за которой мы пристально следим всё это время,...

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

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

[Перевод] Коды ошибок — это гораздо медленнее, чем исключения На современных 64-битных PC-архитектурах использование C++-исключений означает всего лишь добавление к функциям недостижимого кода с вызовами деструктора и ухудшение производительность менее чем на 1%. Такие небольшие ухудшения производительности сложно даже измерить. Обрабо...

[Перевод] Задачи для фронтенд-тренировки: реализуем отдельные элементы интерфейсов YouTube, Instagram, Spotify, GitHub Лето. Вот список веселых и интересных идей для тренировки навыков программирования. Приведенный список — это вызовы вашему мастерству, средство вдохновения, а не пошаговое руководство по разработке перечисленных проектов. Клон чата на YouTube (только чат) Я выбрал эту за...

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

[Перевод] HTTP-заголовок Feature-Policy и контроль поведения веб-страниц в браузерах Существует одна совершенно бесподобная методика, позволяющая держать производительность веб-проекта под контролем. Она заключается во внедрении в процесс разработки механизмов, результаты работы которых хорошо заметны. Эти механизмы нацелены на то, чтобы всегда напоминать пр...

[Перевод] Как запустить стартап с минимальными потерями: 23 правила За 5 лет бутстрэппинга я попробовал много всего и обнаружил, что существует много способов создать себе сложности, которые отнимают время и энергию. В результате ты вынужден разбираться с ними вместо того, чтобы заниматься делом и наращивать ценность своего продукта. Для с...

Ленивые операции над множествами в C++ В C++ нет понятия "множество". Есть std::set, но это всё-таки конкретный контейнер. Есть функции для работы с упорядоченными диапазонами: merge, inplace_merge, includes, set_difference, set_intersection, set_symmetric_difference, set_union, но это алгоритмы, они не...

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

SamsPcbLab, часть 1: Запуск сообщества разработчиков печатных плат С прошлой самопиар-публикации прошло почти 2 года, была проделана большая работа, о которой снова хочется рассказать. Руководство по проектированию с того момента пережило 4 релиза, появилось несколько напечатанных экземпляров, и сейчас оно мне уже очень нравится по содержан...

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

Конечные автоматы в реальной жизни: где мы их используем и почему Привет, меня зовут Антон Субботин, я выпускник курса «Мидл фронтенд-разработчик» в Яндекс.Практикуме. Не так давно мы с наставником курса Захаром Овчаровым провели вебинар, посвящённый конечным автоматам и их практическому применению. Вебинар получился интересным, а потому п...

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

[Перевод] Лучшие практики написания комментариев к коду Известный профессор МТИ Гарольд Абельсон сказал: «Программы нужно писать для того, чтобы их читали люди, и лишь случайно — чтобы их исполняли машины». Хотя он намеренно преуменьшил важность исполнения кода, однако подчёркивает, что у программ две важные аудитории. Компилято...

Власти США собирают компромат на Apple Минитерство юстиции США ищет разработчиков, которые пострадали от действий Apple Apple, как и любая коммерческая компания, в первую очередь стремится к тому, чтобы извлечь из своей деятельности максимум прибыли. Что бы там ни говорил Тим Кук, который утверждает, что для Appl...

[Перевод] Автоматический вечный календарь с подсветкой Статья с сайта Instructables на конкурс самоделок с применением станков с ЧПУ Как по мне, самыми часто используемыми объектами в нашей жизни служат часы и календари. Течение времени всегда было одной из главных тем в жизни людей. И я такой же – думаю, что это можно понять...

Чему я научился, написав библиотеку компонентов на Svelte Попробовав Svelte в личных проектах, мне захотелось двигаться дальше, и взять фреймворк в проект побольше. Для этого написал библиотеку компонентов svelte-atoms. За основу я взял UI кит на React, который используем на работе. Каким приемам Svelte я научился, читайте под кат...

Наша жизнь с 3D-SPrinter. Муки выбора и творчества. Быть или не быть 3D принтеру в семье? Какой принтер выбрать, «чтобы не было мучительно больно за бесцельно прожитые годы»? Думаю, такие вопросы мучают многих. Прошу не судить меня строго: я озвучу свой взгляд на данную проблему. По жизни люблю заниматься «железом». Даже ме...

Что умеет Dialogflow? 26 ноября в Москве прошла третья в своей истории Conversations – конференция по разговорному искусственному интеллекту для разработчиков и бизнеса, на которой был представлен новый доклад компании «Аэроклуб ИТ». В прошлый раз речь шла об одном из наших исследовательских пр...

История платформы Highload.Fun для соревнований в оптимизации кода Привет Хабр! Сегодня я хочу рассказать о платформе, где люди соревнуются в том, кто больше сможет сэкономить тактов CPU для решения задач. Её история началась весной 2021 года, после очередного HighLoad Cup'а от Mail.ru. Мне очень нравится этот конкурс, но, к сожалению, он п...

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

Пишем терминальный сервер для микроконтроллера на С Всем привет! В процессе работы над гексаподом AIWM я все чаще задумывался о каком-нибудь удобном интерфейсе для общения с ним. В результате тесной работы с Linux через терминал я подумал, а почему бы не использовать такой же интерфейс и в гексаподе? Я был очень удивлен, что ...

[recovery mode] Как использовать облако OneDrive в Школьном портале Московской области В школьный портал Московской области встроен сервис OneDrive от Microsoft. Годом ранее, MagisterLudi написал очень хороший обзор для облаков, доступных для личного и корпоративного применения. Час применения облачных технологий пробил и для средней школы. Всех, кому приходил...

Postgresso 23 Жизнь продолжается. А мы продолжаем знакомить вас с самыми интересными новостями PostgreSQL Главное событие PostgreSQL 13 Beta 2 Релиз беты состоялся. Загрузить можно отсюда, информация для бета-тестеров здесь. Напоминаем, что в начале апреля мы сделали обзор нового в ве...

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

Лучшие гонки 2020 на iOS и Android: MudRunner Mobile, Forza Street, The Longest Drift Гоночные игры на мобильные устройства часто не получают заслуженного внимания, потому что серия Asphalt уничтожила всю надежду геймеров на нормальные проекты в этом жанре. Но на самом деле за 2020 год вышли добротные проекты как от инди-разработчиков, так и крупных. Их все м...

Не нужно делать из фреймворков культ — они не настолько сложны, чтобы делить людей на React и Angular разработчиков Недавно меня позвали гостем в «Тяжелое утро с Holy.js», чтобы хорошенько пропесочить за мою статью про глупцов-фронтендеров. Мы обстоятельно поговорили, и один из аргументов был такой — если наши js фреймворки жрут неоправданно много на простых задачах — просто не использу...

Enum в PHP 8.1 — для чего нужен enum, и как реализован в PHP Через несколько дней заканчивается голосование по первой итерации реализации enum в PHP 8.1 . Уже видно, что голосов “за” гораздо больше, так что давайте кратко пройдемся и посмотрим, что же нам приготовили авторы языка. Зачем нужны enum? Зачем вообще нужны enum? По сути они...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

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

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

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

Agile против паники и пандемии. План действий для каждого: 7 шагов, как спасти свой бизнес Я вернулась из NYC две недели назад с конференции Business Agility Conference, сейчас заканчивается мой двухнедельный карантин — есть время поделиться наблюдениями, как всё происходило в США и как у нас. А заодно, что стоит делать и чего не стоит с точки зрения Agile. Даже в...

Сотовый оператор «Билайн» пробил дно и всех разочаровал Одной из наиболее известных, крупных и распространенных телекоммуникационных компаний в России является «Билайн», а делать она снова и снова старается все что только возможно, лишь бы граждане РФ как можно чаще и активнее использовали ее Читать полную версию публикации Сото...

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

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

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

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

«Сбербанк» неожиданно изменил жизнь владельцев всех банковских карт Нет в России ни одного другого более крупного, известного и распространенного финансового учреждения, чем «Сбербанк». Эта кредитная организация старается внедрять одно новшество за другим, лишь бы только сделать свои фирменные услуги как можно более востребованными Читать п...

SOA на Laravel и JSON-RPC 2.0 SOA (Сервис-Ориентированная Архитектура) строится путём комбинации и взаимодействия слабо-связанных сервисов. Для демонстрации создадим два приложения Клиент и Сервер. А их взаимодействие организуем посредством протокола удаленного вызова процедур JSON-RPC 2.0. Читать дал...

Как жить и работать с психиатрическим диагнозом. Часть 2: практические вопросы Кэрри Фишер, известная ролью принцессы Леи всю жизнь сражалась с биполярным расстройством — ей не помогали лекарства, только электрошок. Она — мой любимый биполярник, поэтому и иллюстрирует эту статью Это вторая часть расшифровки эфира про жизнь и работу в IT с биполярным ...

«Билайн» предлагает москвичам звонить через Wi-Fi по цене обычных сотовых вызовов Оператор «ВымпелКом» (торговая марка «Билайн») объявил о запуске в Москве и Московской области сервиса VoWiFi (Voice over Wi-Fi) в пилотном режиме.  Эта технология позволит абонентам совершать и принимать голосовые вызовы через сети Wi-Fi, ...

Создаем graphql бекенд на Golang Сегодня мы будем разрабатывать приложение на Golang + GraphQL. Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с различными языками программирования: Javascript, Ruby и теперь руки дошли и до того чтобы попробовать связку Golang G...

[Перевод] Проектирование заголовочных частей сайтов с использованием CSS Flexbox Когда я, изучив основы HTML и CSS в 2014 году, занялся разработкой сайтов, сложнее и страшнее всего для меня было создание их заголовочных частей. Тогда технология Flexbox была ещё достаточно новой, поэтому мы вынуждены были использовать старые методы — вроде float-позициони...

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

[Из песочницы] Эффектное программирование. Часть 1: итераторы и генераторы Javascript на данный момент является самым популярным языком программирования по версиям многих площадок (например Github). Является ли при этом он самым продвинутым или самым любимым языком? В нём отсутствуют конструкции, которые для других языков являются неотъемлемыми час...

Как написать простого бота для ВК и Телеграм Мы уже упоминали, как мы предоставляем бесплатные VPS для студентов, чтобы они учились программировать. Один из наших подопечных Павел сделал простеньких телеграм и ВК ботов для FAQ. Они очень просте, тем не менее, начинающему программисту не помешают комментарии опытных р...

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

Какой функции Android 11 мне не хватает на iPhone iOS – вполне самодостаточная платформа, которая не только не уступает Android, но во многом даже её превосходит. Ведь если поначалу Apple довольно осторожно внедряла новые функции, то со временем разошлась и начала действовать куда активнее. В результате всего за несколько ...

[Личный опыт] Черногория — страна, как сон. Самая простая история переезда Олег Маюрченко был фронтенд-разработчиком в белорусском офисе Object Style. В августе в Минске, по его словам, «начался полнейший дурдом», и он принял решение куда-то уезжать. Москва не рассматривалась, он жил там 16 лет, обратно не хотелось. Приняли решение поехать и посм...

Циски есть? А если найду?.. про не такой уж и далёкий 2037й год ПРОЛОГ. В корпорации идёт обыск. У парадного входа с колоннами стоит вереница тёмно-синих, c глухой тонировкой микроавтобусов Volkswagen transporter. Рядом с ними курят пара человек в штатском, большинство внутри здания. ИТ-директор предприятия ходит из угла в угол своего ка...

«Сбербанк» сделал выплату 5 000 рублей всем владельцам банковских карт, и вот почему Нет в России ни одного более популярного, известного и распространенного банка, чем «Сбербанк». Это финансовое учреждение стремится делать буквально все, что вообще только возможно, только бы как можно больший круг людей использовал его фирменные услуги, Читать полную верси...

Мнение: эта функция iPhone оказалась самой бесполезной Эта функция iPhone — самая бесполезная? Компания Apple с выходом каждой версии iOS радует потребителей немалым количеством новых функций. Конечно, система пока имеет ряд детских проблем. Например, нельзя удалить все контакты разом, но давай опустим все эти споры и обсу...

Многорукие бандиты: особенности использования алгоритмов ранжирования При работе с алгоритмами есть две реальности: как это написано в учебнике и как это получается у тебя. Второе ближе к телу, и хочется, чтобы оно получалось. Главное, понимать, что ты работаешь не с оригинальной модельной задачей; в твоём проде есть особенности, которые могу...

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

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

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

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

Обзор DEEPCOOL MF120 GT (DP-GS-F12-AR-MF120GT-3P). Вентиляторы с подсветкой Не так давно компания DEEPCOOL пополнила семейство вентиляторов MF120 с уникальной Х-образной рамкой выпуском DEEPCOOL MF120 GT. Здесь добавилась боковая рамка и управление подсветкой с опцией синхронизации через ARGB 5V-разъем. Мы изучаем на примере комплекта из трех вентил...

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

«Кольцо Эйнштейна»: обнаружен самый удалённый двойник Млечного Пути Европейская Южная Обсерватория (ESO) сообщает о важном открытии: удалось обнаружить очень далёкую и поэтому очень молодую галактику, которая по своим характеристикам близка к нашему Млечному Пути. Наблюдения велись с использованием Атакамской Большой миллиметровой / субмилли...

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

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

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