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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Новый фронтенд Одноклассников: запуск React в Java. Часть II Мы продолжаем рассказ о том, как внутри Одноклассников с помощью GraalVM нам удалось подружить Java и JavaScript и начать миграцию в огромной системе с большим количеством legacy-кода. Во второй части статьи мы подробно расскажем о запуске, сборке и интеграции приложений...

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

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

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

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

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

Мое исследование про переход в IT из других отраслей Занимаясь подбором IT-персонала я довольно часто встречаю резюме кандидатов, которые сменили отрасль на IT, поработав некоторое время в других отраслях. По моим субъективным ощущениям, таких специалистов на рынке труда в IT от 20% до 30%. Люди получают образование, часто даж...

DDoS-атака через социальную инженерию TL;DR Атакующий подменяет source ip на адрес вашего сервера и триггерит автоматические абузы. В результате клиента на хостинге за вредоносную активность, которой не было. Комментарий от vdsina.ru: Эта статья написана нашим клиентом, который перешёл к нам от крупного хосте...

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

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

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

Huawei Nova 7 SE готовится к релизу Китайская компания Huawei достаточно неплохо справляется с развитием рынка после того, как по ней достаточно сильно ударили власти США запретами на использование различных технологий. К примеру, у компании больше нет возможности использовать американские сервисы и разработки...

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

Простой Web-доступ к VI приложениям LabVIEW в PHP через ActiveX Server В LabVIEW уже много лет существует возможность «прикрутить» Web к VI приборам без каких-либо сложных настроек публикации и серверов со стороны LabVIEW, используя только втроенный сервер ActiveX. Не является исключением и LabVIEW 2020 Community edition. Читать дальше →

«Каких Марин?» или управляем контроллером через bluetooth с помощью мобильного приложения на Xamarin (Android) В прошлой статье я пообещал рассказать, о том как подключать CANNY 3 tiny с помощью UART к bluetooth. И поскольку на этих майских особо не разгуляешься, было принято решение провести время с пользой и таки сдержать обещание. Но просто подключить контроллер к Bluetooth адапте...

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

[Перевод] Как устроен Apple Lightning Это моя маленькая статья с описанием (почти) всего, что я знаю об интерфейсе Apple Lightning и связанных с ним технологиях: Tristar, Hydra, HiFive, SDQ, IDBUS и др. Но сначала маленькое предупреждение… Читайте эту статью на свой страх и риск! Информация основана на большо...

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

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

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

108 Мп и в Samsung Galaxy S21 Ultra. Новый флагман компании получит новый датчик с таким же разрешением, как у HM1 Несмотря на появление на рынке 108-мегапиксельных оптических датчиков, далеко не все компании бросились их использовать. И дело явно не в цене. Но Samsung установила именно такой датчик как в Galaxy S20 Ultra, так и в Galaxy Note20 Ultra. Это вполне логично, ведь речь и...

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

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

Состоится ли презентация Apple в марте 2020 года? Не факт Несмотря на то что мы уже выяснили, что дефицита продукции Apple из-за коронавируса ждать, скорее всего, не стоит, это не значит, что его распространение никак не повлияет на жизнь компании. На это намекает даже Тим Кук, готовя фанатов и инвесторов к тому, что в текущих усл...

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

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

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

SLS vs STARSHIP: Почему существуют обе программы? Everyday Astronaut 1 МАЯ 2020, TIM DODD, EVERYDAY ASTROUNAVT ВЕБ-ВЕРСИЯ: FLORIAN KORDINA И JOEY SCHWARTZ Пару слов от меня зачем и почему. Мне нравится американский космический журналист — Тим Додд. За его энтузиазм и дотошность при рассмотрении темы. Можно критически относиться к его оценкам...

Swift 5.3: Что нового? Привет Хабр! Язык программирования Swift обладает большой популярностью ввиду его использования в написании приложений под iOS, поэтому его развитие представляет интерес для всех занятых в этой области. Давайте посмотрим что нового приготовил разработчикам Swift версии 5.3....

Как установить приложение «Телефон» от Google на любой Android Экосистема Google включает широкий ассортимент самых разных приложений. Помимо всем известных Google Play, «Google Фото», Gmail и «Google Объектива», есть специальные приложения для отправки и приёма сообщений, календаря и телефона. Но если и «Google Сообщения», и Google Ка...

В чём смартфоны Xiaomi уступают более дорогим телефонам? Минусы телефонов Xiaomi Не так давно я стал обладателем Xiaomi Mi 9 Lite в качестве дополнительного устройства. И сейчас готов поделиться своим мнением по поводу того, в чем дешевые смартфоны Xiaomi могут уступать более дорогим решениям популярных брендов. Простыми словами, ...

[Из песочницы] Простое Slack приложение для публикации контента из Google Sheets Мы любим пробовать новое, и поэтому часто делимся ссылками на интересную информацию из мира IT и программирования со своими коллегами. Мы являемся давними пользователями slack и для таких ссылок у нас есть отдельный образовательный канал, где каждый может найти для себя что-...

[Из песочницы] Как верстать веб-интерфейсы быстро, качественно и интересно Всем привет! Давно хотел и наконец написал небольшую книжку — бодрое пособие по своей профессиональной области: актуальным подходам к разметке интерфейсов, экранному дизайну и доступности. Она о моем оригинальном подходе к созданию GUI, препроцессорам CSS (для объективност...

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

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

Массивы в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь. Эта статья посвящена...

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

[Перевод] Код, в котором мы живем Традиционно процесс разработки ПО сравнивается со строительством. Термин «архитектор» только укрепляет ассоциативную связь между этими процессами. Но современные реалии сделали эту модель неактуальной, потому что есть механизмы, которые она объяснить не может: Если мы дела...

Qualcomm QCC3020 — расцвет китайских TWS-наушников Если вы погуглите QCC3020, то результаты поиска вывалят гору обзоров наушников — от визуальных подражателей AirPods до псевдо-винтажных моделей для ценителей. Edifier, Tronsmart, Mifo, Pamu… их всех объединяет небольшая ценность родного бренда и китайское происхождение. Да...

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

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

Съёмка северного сияния на смартфон — реальность, и всё благодаря Google Смартфоны Google Pixel четвёртого поколения не смогли стать лучшими по качеству фото, но всё же кое-что они умеют очень хорошо. Речь об астрофотографии. На самом деле небо очень неплохо можно было снимать ещё на Huawei P30 Pro, но в Google сделали из этого отдельный реж...

Лучшее приложение за 4 900 рублей стало бесплатным для Windows 10 Американская корпорация Microsoft всегда имела очень большой аппетит, когда речь заходит о заработке денежных средств. Она старается зарабатывать на всех пользователях своей фирменной продукции максимально много денежных средств, делая это по одной простой единственной прич...

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

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

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

Google выпустила приложение, обучающее детей чтению Компания Google выпустила новое приложение Read-Along, которое призвано учить детей читать.Приложение пока что доступно только на платформе Android. В основе Read-Along лежит приложение Google Bolo, дебютировавшее в Индии еще в прошлом году. В данный момент Read-Along поддер...

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

Автономная охранная система на Arduino + GSM Друзья, разрешите представить проектик GSM сигнализации на Arduino. В сети довольно много проектов по типу «Arduino + модем + датчики», однако я часто вижу в них некоторую незаконченность (в особенности, с программной точки зрения): отсутствие гибкости в настройках и конфигу...

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

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

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

Как анализатор PVS-Studio стал находить ещё больше ошибок в проектах на Unity Разрабатывая статический анализатор PVS-Studio, мы стараемся развивать его в различных направлениях. Так, наша команда работает над плагинами для IDE (Visual Studio, Rider), улучшением интеграции с CI и т. д. Увеличение эффективности анализа проектов под Unity также являетс...

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

Коронавирус: информационные онлайн сервисы Коронавирус COVID-19 – это новый вызов для всего человечества. Мир никогда не был так сильно взволнован своим здоровьем и мировой экономикой как сейчас. Тревога и паника – вот те эмоции, которые испытывают люди. Это абсолютно нормально переживать, паниковать и тревожиться. В...

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

В июле на консолях выйдет симулятор скейтбординга Skater XL Skater XL — один из самых популярных современных симуляторов скейтбординга на ПК от студии Easy Day Studios. Он вышел в Steam в раннем доступе еще в конце 2018 года, а теперь готовится к полноценному релизу. Вместе с этим проект выйдет на консолях, а также получит крупное об...

[Перевод] “Давайте использовать Kubernetes!” Теперь у вас 8 проблем Если вы используете Docker, следующим логичным шагом кажется переход на Kubernetes, он же K8s, правильно? Ну, предположим. Однако решения, предназначенные для 500 инженеров-программистов, одновременно разрабатывающих одно приложение, достаточно сильно отличаются от решений д...

Microsoft прекращает поддержку Cortana на Android, iOS, Harman Kardon и т.д. Компания Microsoft объявила о прекращении поддержки сторонних навыков для Cortana и приложений Cortana для Android и iOS. Эти изменения происходят в рамках превращения Cortana в цифрового ассистента с акцентом на продуктивность. При этом Cortana по-прежнему будет работать в...

Выгорание[%бюджетник%] = factor(Maybe<рыночная экономика>) Это по сути мой развернутый комментарий на замечательную статью Елизаветы Ключиковой (ElizavetaKluchikova) «Слушаю и повинуюсь: рыночная экономика как фактор выгорания педагога». В ней очень детально и хорошо описаны злоключения учителей в современной системе общего образов...

Что такое четырехмерное пространство? Моделирование движения камеры в четырёхмерном пространстве. Представление мира в различных измерениях меняет то, как мы воспринимаем все вокруг, включая время и пространство. Думать о разнице между двумя измерениями и тремя измерениями легко, но что насчет четвертого? Важно ...

Исправь код, продай техническую фигню, покрути рулетку на Russian Python Week 2020 Рефакторинг — сложная вещь. У каждого разработчика свои критерии хорошего, плохого и красивого кода. Из-за двух строк можно развернуть холивар на две страницы комментариев на Хабре. Почему бы тогда не сделать «Битву рефакторинга»? Мы и сделаем — с 14 по 18 сентября на Russia...

Как внедрить in-app подписки в Android-приложения: советы и рекомендации С каждым годом требования к in-app подпискам в мобильных приложениях в App Store и Google Play меняются, становится все сложнее учесть их с первого раза и не получить серию реджектов, тем самым откладывая релиз порой на несколько месяцев. Если про требования для App Store у...

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

[recovery mode] Азбука инвестора: что такое маржин-колл и как его избежать Изображение: Unsplash При торговле на бирже некоторые инвесторы предпочитают использовать кредитное плечо. В данном случае они берут заемные средства у брокера, чтобы увеличить потенциальную прибыль. Однако здесь существуют большие риски и в основном данным инструментом п...

[Перевод] О появлении поддержки CUDA в WSL 2 Компания Microsoft, откликаясь на многочисленные просьбы пользователей, представила в мае 2020 года на конференции Build новую возможность подсистемы Windows для Linux 2 (Windows Subsystem for Linux 2, WSL 2) — поддержку видеоускорителей. Это позволит запускать в WSL 2 прило...

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

[Из песочницы] Массивы bash Предлагаю вашему вниманию перевод статьи Митча Фрейзера (Mitch Frazier) "Bash Arrays" с сайта linuxjournal.com. Если вы используете «стандартную» оболочку *NIX-системы, возможно, вы не знакомы с такой полезной особенностью bash как массивы. Хотя массивы в bash не ...

[Перевод] Надоел JavaScript — используй браузерный Python Мой опыт разработки игры «Змейка» на Brython «Погоди, что?» – думаю, большинство читателей отреагирует на заголовок именно так. В смысле «просто использовать Python в браузере»? Все знают, что в браузерах работает только JavaScript. Ну, выше приведен скриншот с исходны...

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

Получение данных с датчика углекислого газа Даджет в системы умного дома Датчик углекислого газа Даджет KIT MT8057S давно зарекомендовал себя как достаточно надежный и недорогой прибор. Один недостаток, на мой взгляд — официально данные с него можно получать только фирменной программой под windows, и никак иначе. Тем не менее, получить данные в ...

Расширяем Laravel за счет собственных компонентов Задача Добавить в приложение систему оповещения пользователей через СМС-сообщения с возможностью выбора провайдера. Решение Оптимальным решением, на мой взгляд, является добавление собственного компонента. Компонент — блок программы с четко определенным набором действий (ко...

Пандас и другие для толстых данных В этой заметке я расскажу о паре простых приемов, полезных при работе с данными, не помещающимися в память локальной машины, но все еще слишком мелкими чтобы называться Большими. Следуя англоязычной аналогии (large but not big), будем называть эти данные толстыми. Речь идет ...

[Перевод] Скука на карантине. Как потратить больше всего денег в Azure одним щелчком мыши Пару дней назад Кори Куинн написал в твиттере: «Кто-то спрашивал — отвечаю. Полностью зарезервированный инстанс db.r5.24xlarge Enterprise Multi-AZ для SQL-сервера в Бахрейне стоит $3 118 367. Объявляется конкурс на самый дорогой вызов API в облаке AWS». В треде развернулась...

802.11ba (WUR) или как скрестить ужа с ежом Не так давно на всяческих других ресурсах и в своем блоге я рассказывал о том что ZigBee мертв и стюардессу пора бы уже закопать. Для того чтобы делать хорошую мину при плохой игре с Thread, работающим поверх IPv6 и 6LowPan, достаточно более приспособленного для это Bluetoot...

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

Сколько методов должно быть в классе? Пожалуй это один из важнейших вопросов, с которым сталкиваются разработчики, использующие классы. У нас есть принципы SOLID, есть свое видение прекрасного и огромное количество разночтений. Я не надеюсь дать исчерпывающий ответ “сколько методов должно быть в вашем классе”. ...

[Перевод] Убийства во имя армии США и видеоигр Армия США давно использует видеоигры для обучения и вербовки Два неожиданных союзника: армия США и индустрия видеоигр. Кто бы мог подумать? [перевод статьи из журнала Ars Technica от декабря 2008 г.] Разные подразделения армии США часто появляются в видеоиграх с самого мом...

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

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

Почему я сделал личный проект учёта трат на Git+JS Здравствуйте, господа, в этой статье я поделюсь опытом создания приложения учёта трат, в частности отвечу на следующие вопросы: Зачем мне приложение учёта трат? Почему это личный проект? Почему проект на Git+JS? 1. Зачем мне приложение учёта трат? Как и многие другие люди...

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

[Перевод] Как устранить слепые зоны с помощью визуального тестирования Перевод статьи подготовлен в преддверии старта курса «Python QA Engineer». Визуальные ошибки – это ошибки в представлении приложения. Они появляются на протяжении всего времени жизни приложения, и очень часто всплывают, когда приложение отображается на экранах мобильных у...

Переезд из СНГ в Чехию, собственный опыт (часть 2) Обещанного ждут два года, и я свое слово держу. В предыдущем материале я делился личным опытом переезда в Чехию и сегодня продолжу раскрывать тонкости, связанные с жизнью за рубежом. Под катом подробно про трудоустройство, визы, быт. Читать дальше →

Съёмка северного сияния на смартфон — реальность, и всё благодаря Google Смартфоны Google Pixel четвёртого поколения не смогли стать лучшими по качеству фото, но всё же кое-что они умеют очень хорошо. Речь об астрофотографии. На самом деле небо очень неплохо можно было снимать ещё на Huawei P30 Pro, но в Google сделали из этого отдельный реж...

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

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

varchar(max)-varchar(max) и в продакшн Недавно поучаствовал в дискуссии на тему влияния на производительность указания длины в столбцах с типом nvarchar. Доводы были разумны у обеих сторон и поскольку у меня было свободное время, решил немного потестировать. Результатом стал этот пост. Спойлер – не всё так одноз...

Лучший телефон за 1000 рублей Мы тут обсуждаем телефоны за 1000 долларов, но почему бы не взять и не рассмотреть варианты за 1000 рублей? У многих во владении имеются дорогие гаджеты, которые не всегда удобно носить с собой. Готовы ли вы постоянно пользоваться Galaxy Note 10? Даже на природе? И мы об эт...

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

Производство Material иконок для MacOSX приложения Home Assistant на Electron В первой серии я заварил умный дом на Home Assistant. В процессе я влюбился в Home Assistant и подумал, не написать ли десктопное приложение для этой системы. У Home Assitant есть прекрасный web-интерфейс и показалось разумным завернуть его в Electron, чтобы получить красиву...

[Перевод] Как я написал интро 4K на Rust — и оно победило Недавно я написал своё первое интро 4K на Rust и представил его на Nova 2020, где оно заняло первое место в конкурсе New School Intro Competition. Написать интро 4K довольно сложно. Это требует знания многих различных областей. Здесь я сосредоточусь на методах, как максималь...

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

[Перевод] Let's Go! Три подхода к структурированию кода на Go Привет, Хабр! Не так давно у нас вышла новая книга по Golang, и успех ее настолько впечатляет, что мы решили опубликовать здесь очень важную статью о подходах к проектированию приложений на Go. Идеи, изложенные в статье, очевидно не устареют в обозримом будущем. Возможно, ав...

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

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

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

Кратко о том, как научить МФУ Brother сканировать в Windows Server Эта даже не статья, а заметка о том, как в среде Microsoft Windows Server использовать сетевые функции сканера МФУ Brother. Речь пойдет о полноценной установке драйвера устройства. Будет рассмотрен пример с Brother MFC-L2700DRN. Официально функция сканирования поддерживает...

Приложения Android на Windows 10 стали доступны для всех Компания Microsoft сделала доступным для всех желающих одно очень полезное новшество для владельцев смартфонов. Речь идёт о функции «приложения Android на ПК» в приложении Your Phone (Ваш телефон) для Windows.  До августа функция тестировалась по прогр...

[Перевод] Антипаттерн “Репозиторий” в Android Перевод статьи подготовлен в преддверии старта курса «Android Developer. Professional». Официальное руководство по архитектуре приложений Android рекомендует использовать классы репозитории (Repository) для «предоставления чистого API, чтобы остальная часть приложения мог...

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

[Из песочницы] Начинаем работу с Google Sheets на Python. От регистрации до чтения данных Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака. Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным. Когда я впервые столкнулся с необходимостью работы c ...

Аксессуары для Microsoft Xbox One (1-ая версия 2013г) Довольно часто геймеры, предпочитающие игровые консоли, длительное время используют свою платформу и даже не догадываются о том, что можно улучшить работу своей приставки за весьма разумные деньги. Например, аксессуары для Microsoft Xbox One (1-ая версия 2013г) стоят очень д...

[Из песочницы] Angular 9. Перезапуск guard-ов текущей страницы. Trigger current route guards Столкнулся с необходимостью перезапустить guard-ы для текущей страницы, вне зависимости от того какая страница открыта. Стандартного решения не нашел, а предлагаемые в интернете ограничиваются одной страницей. Поэтому написал своё и решил им поделиться. Описание кейса Стра...

[Из песочницы] Vassbotn H. Виртуальные переменные класса Приветствую всех, кто начал читать эту заметку! Хочу предложить вам (а в большей степени фанатам Object Pascal, любителям программистских трюков, технических приемов и синтаксических изысков) ознакомиться с переводом довольно старого (2007 года) поста "Hack#17: Virtual ...

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

[Перевод] Linux: удаление пула блокировок /dev/random Как известно, у /dev/random, криптографически стойкого генератора псевдослучайных чисел (CSPRNG), имеется одна неприятная проблема – блокировки. В данной статье рассказывается, каким образом можно ее решить. За последние несколько месяцев средства генерации случайных чисел...

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

Жизнь на Земле – обычное явление во Вселенной? Зарождение жизни на Земле оказалось возможным. Но значит ли это, что на других планетах тоже есть разумная жизнь? За все время существования человечества – а по разным оценкам оно насчитывает от 2,4 до 2,8 миллионов лет – мы так и не встретили разумную жизнь за пределами Зе...

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

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

Почему не работает функция «Привет, Siri» на iPhone Для проверки своего iPhone сделайте следующее: 1. Проверьте, включена ли опция по пути Настройки – Siri и Поиск – Слушать “Привет, Siri”. 2. Убедитесь, что есть подключение к интернету, голосовой ассистент не работает оффлайн.     3. В настройках Siri активир...

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

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

Snapdragon 865 против Exynos 990 на примере Samsung Galaxy S20+ Сегодня мы уже вспоминали о том, что новые флагманы Samsung существуют не только в версиях с SoC Snapdragon 865, но и с Exynos 990, причём у них ещё и разные основные камеры, если мы говорим о моделях Galaxy S20 и S20+. И вот теперь у нас есть возможность взглянуть на ...

PlayStation 5 поддерживает Wi-Fi 6 Чем ближе релиз игровой приставки PlayStation 5, тем больше интересной информации о продукте рассказывают инсайдеры. В этот раз, к примеру, появилась информация о том, что данная приставка будет поддерживать технологию беспроводной связи Wi-Fi 6 для большей скорости соединен...

[Перевод] Портируем утилиту командной строки с Go/Rust на D Несколько дней назад, на реддите в «программировании», Paulo Henrique Cuchi поделился своим опытом разработки утилиты командной строки на Rust и на Go (перевод на Хабре). Утилита, о которой идет речь, — это клиент для его пет-проекта Hashtrack. Hashtrack предоставляет GraphQ...

10 песен про IT: от Столлмана до исходников Мне интересны и IT, и музыка, поэтому я всегда обращал внимание на их пересечение: песни айтишников. Порой это пародии на известные хиты с переделанным текстом, порой — полностью оригинальные сочинения. Одни из них примечательны автором (самый известный — Ричард Столлман), ...

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

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

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

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

iPhone SE против Pixel 4a и OnePlus Nord. Кто стал лучшим камерофоном среднего сегмента? В этом году рынок среднебюджетных смартфонов пополнился рядом очень любопытных новинок. Это iPhone SE второго поколения, OnePlus Nord и Google Pixel 4a. Они стоят примерно одинаков, но при этом очень сильно отличаются буквально по всем основным параметрам. Но есть кое-...

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

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

Да мой старый laptop в несколько раз мощнее, чем ваш production server Именно такие претензии я услышал от наших девелоперов. Самое интересное, что это оказалось правдой, дав начало длительному расследованию. Речь пойдет про SQL servers, которые крутятся у нас на VMware. Читать дальше →

[Перевод] Разбираем идеальный кейс фишинга при аренде квартиры Недавно я стал жертвой (к счастью, неудачной) фишинговой атаки. Несколько недель назад я бродил по сайтам Craigslist и Zillow: я хотел арендовать жилье в районе залива Сан-Франциско. Мое внимание привлекли симпатичные фото одного местечка, и мне захотелось связаться с аренд...

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

Фильтр комментариев по оценке За десять лет чтения Хабра у меня выработалась привычка просматривать самые высокооцененные комментарии к прочитанной статье. Порой в них попадается информация полезнее самой статьи, но не всегда есть желание просматривать условные 100+ комментариев. Конечно, высокая оценка...

Как ускорить старый iPhone? Как ускорить старый iPhone? Пользователей iPhone 6 и более ранних устройств, которые не получили обновление до iOS 13, можно с уверенностью назвать владельцами устаревших аппаратов. iPhone 6 был представлен в далеком 2014 году. Даже по тем временам он технически несильно опе...

SD-WAN — тенденции последнего времени и прогноз на 2020 Любая компания, крупная или мелкая, использует в своей работе связь. Это может быть сотовый телефон, интернет, сеть для связи с региональными подразделениями, спутник и т.п. Если компания достаточно крупная, а ее подразделения находятся в разных регионах одной страны или ...

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

Как жить и работать дальше, если вам поставили психиатрический диагноз Привет, Хабр! Меня зовут Сания Галимова, я 6 лет в рекламе, два из них — руковожу отделом маркетинга в IT-компаниях и уже 4 года пью психотропные препараты по назначению психиатра. Раньше мне было очень трудно заканчивать проекты и даже просто удержаться на одном месте ра...

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

Планирование потоков в Windows. Часть 1 из 4 Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам. Потоки и планирование потоков Что такое поток? Давайте дадим краткое определение. По своей сути поток это...

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

Verizon и T-Mobile оказались одновременно и лучшими, и худшими операторами 5G в мире Американские телеком-компании Verizon и T-Mobile оказались одновременно и лучшими, и худшими операторами 5G в мире. Это стало ясно после публикации итоговых данных о внедрении сетей 5G в мире, полученных в результате исследования компании Opensignal. Подробнее об этом читайт...

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

Утечка Surface Duo демонстрирует пользовательский интерфейс Android Surface Duo, который послужил «еще одной вещью» Microsoft на мероприятии 2 октября, может появиться раньше, чем ожидалось. Устройство с двумя экранами работает на Android и поддерживает вызовы по традиционной технологии SIM-карты, и оно также будет оснащено фронтальной камер...

В разработке находится Hitman Sniper 2: World of Assassins Hitman: Sniper— крайне популярная, но довольно простая мобильная игра от Square Enix, которая продается по смешной цене в обоих магазинах, но уже бессчетное количество раз раздавалась бесплатно. В ней масса заданий и контрактов, разные виды оружия, включая те, что нужно пок...

Как я писал полудецентрализованную криптовалюту на PHP. (Часть 1 — Сбор библиотек) Предисловие Вы наверно помните прошлую статью, в которой я разрабатывал централизованную криптовалюту. Идея была, как Вы знаете, плохой. Я решил перезапустить линейку этих туториалов, но уже более менее нормальной, чем было в прошлые разы. В этой линейке постараемся «пережев...

Immutable Trie: найди то, не знаю что, но быстро, и не мусори Про префиксное дерево (Trie) написано немало, в том числе и на Хабре. Вот пример, как оно может выглядеть: И даже реализаций в коде, в том числе на JavaScript, для него существует немало — от «каноничной» by John Resig и разных оптимизированных версий до серии модулей в NP...

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

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

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

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

Почему мне не нужны виджеты на iOS Помню, как лет 5-7 назад на вопрос, чем Android лучше iOS, фанаты «зелёного робота» вспоминал открытость и виджеты. Первая давала им возможность кастомизировать операционку, а вторые – по крайней мере, с их слов, — делали её удобнее и нагляднее. Эта теория жила доволь...

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

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

Apple починила приложения на iPhone. Для этого требуется установить «сотни» обновлений Пользователи смартфонов и планшетов Apple столкнулись с загадочным явлением — за несколько часов появилось множество обновлений приложений.  Речь идёт о действительно большом количестве — ресурс MacRumors сообщает о «сотнях» обновлений, вкл...

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

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

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

Android Fragment Result Listener В Android передача данных между фрагментами может осуществляться разными способами: передача через родительскую Activity, используя ViewModel или даже Fragments API. Fragment Target API с недавних пор получил статус Deprecated и вместо него Google рекомендует использовать ...

4. Анализ зловредов с помощью форензики Check Point. CloudGuard SaaS Мы добрались до последнего продукта из нашего цикла статей по форензике от Check Point. На этот раз речь пойдет об облачной защите. Трудно представить компанию, которая не использует облачные сервисы (так называемый SaaS). Office 365, GSuite, Slack, Dropbox и т.д. И наибол...

Почему вам не надо становиться тимлидом? Привет, друзья. Эта статья написана Георгием Могелашвили (glamcoder), который работает на позиции Lead Developer в Booking.com в Амстердаме и отвечает за архитектуру и координацию нескольких технических команд в отделе маркетинга, а по совместительству Георгий преподает в OT...

[Из песочницы] Сохраните в закладках эту статью, если вы новичок в Python (особенно если изучаете Python сами) Привет, Хабр! Представляю вашему вниманию перевод статьи "Bookmark this if you are new to Python (especially if you self-learn Python)" в двух частях (1, 2) c простыми, но полезными советами и трюками в Python. Если из-за скучной карантинной жизни вы решили погру...

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

Лицензия iLO Advanced. Для чего она нужна именно сейчас? В статье рассмотрел наиболее важные, на мой взгляд, преимущества лицензии iLO Advanced для процессора управления HPE Proliant Light-Out. И, самое главное, написал инструкцию, как получить временную лицензию со сроком действия до 1 января 2021 года. Читать дальше →

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

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

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

Как подружить PyTorch и C++. Используем TorchScript Около года назад разработчики PyTorch представили сообществу TorchScript — инструмент, который позволяет с помощью пары строк кода и нескольких щелчков мыши сделать из пайплайна на питоне отчуждаемое решение, которое можно встроить в систему на C++. Ниже я делюсь опытом его ...

[Перевод] О реализации структуры данных Map в V8 В стандарте ECMAScript 2015, известном как ES6, появилось много новых JavaScript-коллекций, таких, как Map, Set, WeakMap и WeakSet. Они, судя по всему, стали отличным дополнением к стандартным возможностям JavaScript. Они получили широкое применение в различных библиотеках,...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

DevSecOps: организация фаззинга исходного кода Узнав результаты голосования, проведённого в одной из наших прошлых статей, мы решили более подробно обсудить вопрос организации фаззинга. Кроме того, в рамках онлайн-встречи по информационной безопасности "Digital Security ON AIR" мы представили доклад, основанны...

Атрибут cleanup Цитата из документации GCC [1]: Атрибут cleanup предназначен для запуска функции, когда переменная выходит из области видимости. Этот атрибут может быть применён только к auto-переменным, и не может быть использован с параметрами или с static-переменными. Функция должна прин...

Возможно ли использовать Linux Desktop в Windows инфраструктуре? Всем привет! На Хабре неоднократно поднимались вопросы о том, как подготовить дистрибутив Linux для ввода в Active Directory, а также для интеграции с некоторыми другими серверами Windows. При этом, до сих пор не было написано статьи о том, стоит ли вообще этим заниматься, ...

Использование Intel Processor Trace для трассировки кода System Management Mode Эта статья посвящена тестированию возможности использования технологии Intel Processor Trace (Intel PT) для записи трассы в System Management Mode (SMM) режиме. Работа была выполнена в рамках Summer Of Hack 2019. Автор работы: @sysenter_eip. Большинство использованных инст...

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

[Из песочницы] Что делать, если в вашей команде появился «эффективный» менеджер? Пару лет назад друзья скинули очень забавный комикс под названием “Сова — эффективный менеджер”. Я посмеялась, подумала, что смешно, такого же не бывает, как классно утрированы ситуации. Но очень скоро этот комикс стал моей реальностью — в нашей команде появился он: “эффекти...

Наихудшие пароли 2019 года настолько плохи, насколько вы ожидаете Сейчас самое время посмотерть на худшие пароли года и понимаем, почему так много интернет-пользователей взломано. Уже шестой год подряд первое место занимает вдохновляющее «123456», а «123456789» - на втором месте.В своем девятом ежегодном списке наихудших паролей компания S...

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

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

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

Создание собственного пакета для Laravel Nova: OptimalImage Работая над новым проектом, для администрирования которого используется Laravel Nova, я его проверил в инструментах для веб-мастеров от Google. Оказалось что некоторые фотографии на ресурсе были не оптимизированными — размер их можно было существенно сократить. Те, что идут ...

Как и почему меняются цены на Amazon и AliExpress Знакомый график? Может быть, вы замечали. Цены на некоторые товары на онлайн-площадках скачут довольно серьёзно. Одну неделю вещь, от кожаного блокнота до плетёной корзины, может стоить $5. На следующую неделю — уже $15. А потом — опять $5, или даже $3. Особенно сейчас так...

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

Обходим запрет messages API Вконтакте через Python Привет, Хабр. В своей предыдущей статье я рассказал о возможности доступа к методам раздела messages через документацию, для чего достаточно было лишь авторизоваться на сайте ВК. Многие тогда заявили, что это не является угрозой личным данным пользователей, а невозможность в...

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

Разбираем EM-algorithm на маленькие кирпичики В этой статье, как Вы уже, наверное догадались, речь пойдет об устройстве EM-алгоритма. Статья прежде всего может быть интересна тем, кто потихонечку уже вступает в сообщество датасайнтистов. Материал изложенный в статье в большей степени будет полезен тем, кто недавно нач...

[Из песочницы] Ты еще не используешь tmux на полную! (Наверное) Привет, Хабр! Представляю вашему вниманию перевод статьи "(たぶん)君はまだtmuxの真の力を引き出せていない". Содержание Что такое tmux Запуск и начало новой сессии Открытие нового окна Переходы между окнами Разделение окон и создание панелей Передвижение между панелями Передвижение ме...

Security Week 06: рекламные трекеры в мобильных приложениях Мобильное приложение для работы с «умными» дверными звонками Amazon Ring отправляет подробные данные о пользователе сразу в три компании, собирающие информацию для последующего рекламного таргетирования, а также в соцсеть Facebook. Таковы результаты исследования, проведенног...

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

Диагностируем проблемы в микросервисной архитектуре на Node.js с помощью OpenTracing и Jaeger Всем привет! В современном мире крайне важна возможность масштабировать приложение по щелчку пальцев, ведь нагрузка на приложение может сильно отличаться в разное время. Наплыв клиентов, которые решили воспользоваться вашим сервисом, может принести как большую прибыль так и...

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

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

Microsoft выпусит антивирус на Android и iOS. Вот смешные! Компания Microsoft с особенным энтузиазмом в последнее время относится к мобильным продуктам. Так, например, не так давно она выпустила отдельное приложение Office со встроенным Word, Excel и PowerPoint. Приложение хоть и выступило лишь в качестве обертки над тремя уже суще...

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

Apple скоро будет зарабатывать с Apple Pay больше, чем на iPhone? Когда мы говорим о доходах Apple, в первую очередь речь идет про iPhone, iPad, Mac и сервисы компании. Показатели там действительно впечатляющие: доход компании за минувший квартал составил 91,8 миллиардов долларов. Это на 9 процентов больше, чем год назад. При этом, такой ...

[Перевод] Как устроен Selenium: Эпизоды 3 — 5 Салют, хабровчане. Сегодня мы продолжаем серию переводов, приуроченных к запуску курса «Java QA Engineer». Эпизод 3 — isDisplayed В результате диалога, произошедшего в последние выходные января 2020 года, который был посвящен одной из проблем в Selenium, где кто-то сказал ...

Huawei поняла, как обойти запрет Google Huawei нашла способ обойти ограничение Google 15 мая прошлого года Министерство торговли США внесло Huawei в “черный список”. В это же время президент США Дональд Трамп подписал указ, запрещающий американским компаниям использовать оборудование, представляющее угрозу национа...

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

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

Создана первая в истории карта поверхности пульсара Нейтронные звезды — самые плотные объекты во Вселенной Недавно ученые составили подробную карту луны Сатурна Титана. Благодаря современным технологиям и роботизированным аппаратам, которые мы отправляем в космос начиная с 1970-х годов прошлого века, далекие миры перест...

Лучшие королевские битвы 2019 года: Cyber Hunter, OVERDOX и другие После прошлого года, когда PUBG Mobile и Fortnite не просто ворвались на рынок мобильных развлечений, а буквально перевернули его, можно было предположить, что 2019 будет усеян релизами многочисленных клонов, но разработчики решили иначе (или просто не справились). Более тог...

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

Проходим челлендж от Callum Macrae на 100% Предлагаю попробовать решить 10 regex тестов от Callum Macrae. В отличии от моего предыдущего разбора челленджа, здесь нет откровенно простых и даже средних задач. Как говорится — только regex, только хардкор. Так как челлендж довольно сложный, не обязательно следовать всем ...

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

FOSS News №1 — обзор новостей свободного и открытого ПО за 27 января — 2 февраля 2020 года Всем привет! Это мой первый пост на Хабре, надеюсь будет интересен сообществу. В Пермской группе пользователей Linux мы увидели нехватку обзорных материалов по новостям свободного и открытого ПО и решили, что неплохо бы каждую неделю собирать всё самое интересное, чтобы п...

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

[Перевод] Чему я научился за 10 лет на Stack Overflow Близится десятая годовщина моего присутствия на Stack Overflow. За эти годы мой подход к использованию сайта и его восприятие сильно изменилось, и я хочу поделиться с вами своим опытом. И пишу я об этом с точки зрения среднестатистического пользователя, который не сильно во...

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

Дайджест интересных материалов для мобильного разработчика #327 (16 — 22 декабря) В новом дайджесте — интересная особенность работы одного из приложений для вызова такси, работа с сетью и управление жестами, физика и идеи, код макетов и разное тестирование, итоги десятилетия и года от App Annie. Читать дальше →

[Перевод] Trusted Types — новый способ защиты кода веб-приложений от XSS-атак Компания Google разработала API, которое позволяет современным веб-приложениям защитить свой фронтенд от XSS-атак, а конкретнее — от JavaScript инъекций в DOM (DOM-Based Cross Site Scripting). Межсайтовый скриптинг (XSS) — наиболее распространённый тип атак, связанных с уяз...

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

[Перевод] Запуск Camunda BPM в Kubernetes Используете Kubernetes? Готовы переместить свои экземпляры Camunda BPM с виртуальных машин, а может просто попробовать запустить их на Kubernetes? Давайте рассмотрим некоторые распространенные конфигурации и отдельные элементы, которые можно адаптировать к вашим конкретным ...

VxLAN фабрика. Часть 2 Привет, Хабр. Продолжаю цикл статей по технологии VxLAN EVPN, которые были написаны специально к запуску курса "Сетевой инженер" от OTUS. И сегодня рассмотрим интересную часть задач — маршрутизацию. Как бы ни банально это звучало, однако в рамках работы сетевой фаб...

Перевести речь в текст на iOS, используя Speech framework Сегодня мы будем переводить речь в текст. Сначалa убедитесь, что у вас установлена последняя версия iOS и Xcode. Для Speech Framework нужна минимум iOS 10. Я создал проект с поддержкой SwiftUI, для этого нужна iOS 13. Но это не обязательно, можете использовать Storyboard. Е...

NoVerify: PHP-линтер, который работает быстро Для PHP есть хорошие утилиты статического анализа: PHPStan, Psalm, Phan, Exakat. Линтеры хорошо выполняют свою работу, но очень медленно, потому что почти все написаны на PHP (или Java). Для личного использования или небольшого проекта это нормально, но для сайта с миллионам...

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

Павел Клеменков, NVIDIA: Мы стараемся уменьшить разрыв между тем, что data scientist умеет, и тем, что он должен уметь Стартовал второй набор студентов магистерской программы по data science и business intelligence Ozon Masters – а чтобы решиться оставить заявку и пройти онлайн-тестирование было проще, мы расспросили преподавателей программы о том, чего стоит ожидать от обучения и работы с д...

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

Huawei назвала смартфоны, которые не получат Android 10 Huawei не самый лояльный производитель, если речь заходит об обновлениях Мы уже выяснили, что проблем с обновлениями на Android нет, просто подход Google к этому процессу кардинально отличается от подхода Apple, которая банально не может исправить баг в приложении без того, ...

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

Киберпреступники используют новые методы DDoS-атак Данное приложение было загружено в Play Market в сентябре 2019 года. При этом в первой версии отсутствовала функция загрузки JavaScript , необходимая для DDoS-атаки, и появилась позднее вместе с обновлением. Оно позиционировалось как новостной ресурс и продвигалось через веб...

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

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

Организация Flavors во Flutter Для чего нужны Flavors Представьте ситуацию: есть приложение с аналитикой. Есть команда разработки, тестировщики и конечные пользователи. И те, и те пользуются одной версией приложения. Допустим мы хотим проанализировать насколько пользователям интересна фича А. Что в этом с...

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

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

Как продуктовому дизайнеру оценить свою работу Photo by Brooke Cagle on Unsplash Вы читаете третью статью из серии «Дизайнер и метрики». В первой мы поразмышляли, нужны ли продуктовому дизайнеру метрики, а во второй посмотрели, какие вообще бывают метрики. Если вы ещё не читали эти статьи, то советую начать с них. В это...

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

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

Эффект реалистичного перелистывания страниц на JS Представляю вашему вниманию — один из возможных вариантов реализации довольно забавного приема, для создания эффекта реалистичного перелистывания страниц. Демо и документация: nodlik.github.io/StPageFlip Github: github.com/Nodlik/StPageFlip Подобный эффект я реализовывал...

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

[Из песочницы] Перенаправление функций в native-библиотеках на Android В данной статье я немного расскажу о том, как c помощью фреймворка AndHook можно перенаправлять вызовы функций в native-библиотеках. Можно перехватывать вызовы как публичных (экспортируемых функций), так и непубличные, напрямую по их адресу. Подробнее о перенаправлении можно...

[Перевод] Как выучиться на Data Scientist: наиболее востребованные технические навыки Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность. В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программиро...

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

Я 20 лет наслаждаюсь разнообразием архитектур и хочу поделиться мыслями Сначала хотел написать комментарий к статье "Я десять лет страдал от ужасных архитектур в C#...", но понял две вещи: Слишком много мыслей, которыми хочется поделиться. Для такого объёма формат комментария неудобен ни для написания, ни для прочтения. Давно читаю...

Лучшие порты на iOS и Android в 2019 году: This Is the Police 2, Dead Cells и другие Индустрия мобильных игр выживает и даже процветает за счет казуальных развлечениях, рассчитанных на максимально широкую аудиторию. Часто это те же люди, которые громче всех кричат, что игры порождают жестокость, а сами «балуются» три в ряд, пока едут в метро. Именно поэтому ...

WhatsApp с 1-го числа навсегда перестанет работать на Android и iOS Мессенджер WhatsApp является настолько популярным и востребованным, что его на постоянной основе используют более чем 2 млрд человек, проживающих в различных частях мира. Все они стараются активно его использовать, в полной мере удовлетворяя с его Читать полную версию публи...

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

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

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

[Перевод] Программирование только классами В моем посте Implementing numbers in "pure" Ruby ("Разрабатываем числа на "чистом" Ruby") я обозначил рамки, которые разрешали использовал базовые вещи из Ruby вроде оператора равенства, true/false, nil, блоки и т.п. Но что, если бы у нас вообщ...

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

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

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

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

В Samsung Galaxy Store вышла Beast Quest Ultimate Heroes — игра в жанре tower defense Студия Animoca Brands выпустила игру под названием Beast Quest: Ultimate Heroes. Это трехмерный tower defense с элементами карточной игры и RPG. Вам предстоит бросить вызов волшебнику, который поработил всех магических животных из вселенной литературной серии Beast Quest. Д...

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

[Перевод] Зависимые типы в Haskell: почему это будущее разработки программного обеспечения В Serokell мы занимаемся не только коммерческими проектами, но стараемся изменить мир к лучшему. Например, работаем над улучшением главного инструмента всех хаскелистов – Glasgow Haskell Compiler (GHC). Мы сосредоточились на расширении системы типов под впечатлением от рабо...

72% всех вредоносных программ для Android — рекламные приложения Мобильное рекламное ПО (Mobile adware) - программное обеспечение, которое навязчиво показывает рекламу пользователю. Подобные программы - растущая проблема, их доля среди всех типов вредоносных программ для Android увеличилась на 38% только за последний год.Рекламные приложе...

Интеграция Satellite и Ansible Tower Используете Red Hat Satellite и Red Hat Ansible Automation Platform? Начиная с Satellite 6.3, их можно интегрировать друг с другом, чтобы Dynamic Inventory в Ansible Tower подтягивал списки хостов из Satellite. Кроме того, если хосты RHEL инициализируются средствами Satellit...

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

HorizontalList с помощью SwiftUI Вступление SwiftUI — это современный UI framework, который позволяет разработчикам быстро и легко создавать собственные приложения на всех платформах Apple. Используя простой, понятный декларативный стиль, разработчики могут создавать потрясающие пользовательские интерфейсы ...

[Перевод] «Давайте использовать Kubernetes!»: как получить 8 проблем Это перевод вводной статьи об использовании Kubernetes: «Let’s use Kubernetes!» Now you have 8 problems Если вы используете Docker, то следующим логичным шагом будет Kubernetes, известный как K8s. Именно так вы обеспечиваете эксплуатацию своих продуктов, верно? Ну, возможн...

Разработка hexapod с нуля (часть 7) — новый корпус, прикладное ПО и протоколы общения Всем привет! Проектирование, печать и сборка нового корпуса наконец-то завершились. Также завершился запуск новой платы управления на базе STM32F373 и FW успешно перенесено на новый МК. Все ближе подходит релиз версии 1.00 с базовым функционалом. Теперь можно рассказать о т...

Мозг проигрывает воспоминания во время сна Если иногда во сне вы видите события из прошлого, то возможно это и правда неспроста. Оказалось, во время сна мозг работает над тем, чтобы закрепить и упорядочить воспоминания. На самом деле ученым давно известно, что мозгу нужен сон, чтобы пересмотреть события дня и перене...

Как мы в андроид приложение inDriver добавили поддержку Harmony OS Все началось с того, что министерство торговли США включило Huawei в список компаний, с которыми запрещено вести бизнес американским компаниям. Ответом Huawei стала операционная система Harmony OS для своих смартфонов, и отказ использовать в ней сервисы Google. И чтобы не по...

Обзор беспроводных наушников Sony WF-1000XM3 с активным шумоподавлением Если говорить о рынке наушников, то одним из самых популярных брендов, который многим придёт на ум, конечно же, станет компания Sony. Японцы давно занимаются звуком и предлагают потребителям портативное аудио в очень разных форм-факторах с многообразием уникальных характер...

Google Assistant умеет удалять случайно записанные разговоры. Нужно просто попросить Google Assistant может случайно записать то, что вы сказали, но при этом может и удалить Если вы пользуетесь Google Assistant и интересуетесь его развитием, скорее всего, вы знаете, что иногда он может срабатывать, даже если вы его не звали. Это жертва, на которую мы идём в ...

Авторы Jurassic World Evolution выпустят стратегию во вселенной Warhammer Age of Sigmar Студия Frontier Developments, известная благодаря космическому симулятору Elite Dangerous, но последние 5 лет выпускающая более мирные проекты (Planet Coaster, Jurassic World Evolution и Planet Zoo), анонсировала, что создаст игру во вселенной Warhammer Age of Sigmar. Это бу...

Что нового в SObjectizer-5.7.0 и ждет этот проект дальше? SObjectizer — это относительно небольшой C++17 фреймворк, который позволяет использовать в С++ программах такие подходы, как Actor Model, Publish-Subscribe и Communicating Sequential Processes (CSP). Что существенно упрощает разработку сложных многопоточных приложений на C++...

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

[Перевод] Уязвимости real-time операционок В июле 2019 года в операционной системе реального времени VxWorks, на которой работают более 2 миллиардов устройств, найдены критические уязвимости. На Хабре про это не написали ни слова, хотя это важная новость в области промышленного программирования, RTOS и automotive. ...

[Перевод] Как облегчить себе жизнь при использовании Git (а также подборка материалов для глубокого погружения) Tree of Dragons II by surrealistguitarist Для тех, кто каждый день использует Git, но чувствует себя неуверенно, команда Mail.ru Cloud Solutions перевела статью фронтенд-разработчика Шейна Хадсона. Здесь вы найдете несколько трюков и советов, которые могут немного облегчи...

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

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