Highload — медіа для розробників
3.57K subscribers
5.02K photos
240 videos
13 files
5.77K links
Розповідаємо про людей, які створюють код, та про код, який вони пишуть.

Зв'язатися із редакцією можна тут: news@highload.today. А щодо розміщення реклами, будь ласка, пишіть на specials@highload.today.

Наш чат https://t.me/highloadchatt
Download Telegram
​​Многие разработчики развивают свои личные проекты в надежде на прорыв, крупных инвесторов и большую аудиторию. Если вы один из них, то не забудьте до 14 марта подать заявку на наш конкурс!

Мы ждем истории о ваших pet-проектах, которые вы делаете с особой заботой и любовью. Вместе с опытными разработчиками и инвесторами мы выберем самые интересные проекты, расскажем о них миру и, конечно, наградим призами!

Победитель получит Apple iPhone 12 64GB, а участники, занявшие второе и третье место – наушники Marshall Monitor II ANC Black и набор Arduino соответственно.

Принять участие могут проекты в сферах мобильной разработки (Android и iOS), frontend и backend, AI и ML, IoT, Big Data, desktop, написанные на любом из языков программирования.

Конкурс проводим вместе с IT-компанией Genesis.

Ждем ваши проекты до 14 марта включительно.

https://specials.highload.today/
​​Jaqal: Кодирование кубитов на ассемблере

Ученые из национальных лабораторий Сандия в Нью-Мексико (США) разработали специальный язык для квантовых вычислений Just Another Quantum Assembly Language (Jaqal). Запущенный в феврале пользовательский стенд QSCOUT способен оперировать тремя кубитами информации.

Несмотря на то, что некоторые компании (Google, IBM) построили более крупные квантовые машины и имеют собственные языки программирования, платформа QSCOUT способна поддерживать когерентность вычислений дольше, чем у конкурентов, а также контролировать операции компьютера. Это стало возможным благодаря технологии захвата ионов.

Полученный от министерства энергетики США грант в размере $25 млн позволит разработчикам до конца 2021 года увеличить производительность стенда с 3 кубитов до 10, а затем до 32 кубитов к 2023-му.

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

Для этого практические программы будут смешивать классические и квантовые операции. Команда QSCOUT уже выпустила на Github эмулятор Jaqal для Python.

Источник: https://spectrum.ieee.org/tech-talk/computing/software/qscout-sandia-open-source-quantum-computer-and-jaqal-quantum-assembly-language
​​Google разморозила Android Snow Cone

18 февраля Google выпустила бета-версию Android 12 Developer Preview. Основная аудитория сборки — разработчики, которые могут попробовать новые функции Android, протестировать свои приложения и дать создателям сборки обратную связь. По неофициальным данным, в рамках привычной “сладкой” маркировки прошивок новая версия Android может получить название десерта-мороженого Snow Cone.

Среди изменений, например, поддержка изображений формата AVIF, возможность автоматического перекодирования медиаконтента, усиление конфиденциальности и многое другое. Также в новой версии появилось больше возможностей для обновления системы через Google Play (Project Mainline). В Android 12 добавлен модуль Runtime (ART), который позволяет вносить важные системные изменения без полного обновления ОС.

Сборку уже можно начать тестировать, скопировав образ системы на смартфоны Google Pixel третьего, четвертого и пятого поколений. Если у вас такого устройства нет, можно воспользоваться 64-битной системой с эмулятором Android в Android Studio.

Источник: https://android-developers.googleblog.com/2021/02/android-12-dp1.html
Вышел релиз GitLab 13.9

В новом обновлении усилится масштабируемость DevSecOps процессов. Security Alert Dashboard будет сортировать уведомления об угрозах безопасности с высоким приоритетом. Появится Maintenance Mode для безотказной поддержки распределенных команд, дополнительная поддержка метрик DORA, расширенные возможности автоматизации обновлений продукта и еще более 60 новых функций.

Предыдущее обновление 13.8, вышедшее в январе 2021 года, оказалось не слишком успешным. Оно спровоцировало у некоторых пользователей GitLab Pages проблемы, которые затем пришлось устранять патчем. Критику со стороны пользователей вызвало и то, что с этим совпал пересмотр в сторону повышения тарифов на подписку на GitLab.

Обо всех изменениях можно узнать в релизе:
https://about.gitlab.com/releases/2021/02/22/gitlab-13-9-released/
​​Сбор заявок на конкурс pet-проектов продолжается!

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

Вместе с жюри мы выберем самые интересные проекты, расскажем о них миру и, конечно, наградим призами! Победитель получит Apple iPhone 12 64GB, а участники, занявшие второе и третье место – наушники Marshall Monitor II ANC Black и набор Arduino соответственно.

Принять участие могут проекты в сферах мобильной разработки (Android и iOS), frontend и backend, AI и ML, IoT, Big Data, desktop, написанные на любом из языков программирования.

Конкурс проводим вместе с IT-компанией Genesis.

Ждем ваши проекты до 14 марта включительно.

https://specials.highload.today/
​​Нейросеть Google перевела языки в векторы

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

Google запустил алгоритм mBERT в 2019 году. За два года модель обучилась воспринимать информацию примерно на 100 языках, что позволяет ей выполнять множество задач: например, переводить контент с одного языка на другой и упрощать поиск нужной информации в интернете.

Посмотреть, как, по мнению mBERT, баскский язык в виде векторов отличается от русского, а иврит от латыни, можно по ссылке: https://techxplore.com/news/2021-02-multilingual-bert-encode-grammatical-features.html
​​Firefox 86 получил функцию приватности Total Cookie Protection

23 февраля Mozilla выпустила новую версию браузера Firefox 86. Главным новшеством сборки стала функция Total Cookie Protection. Теперь, в сочетании с Supercookie Protection, о которой компания объявила в январе 2021 года, браузер создает отдельное хранилище cookie для каждого посещаемого пользователем сайта.

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

В Firefox 86 также появилась возможность просмотра нескольких видеороликов в режиме «Картинка в картинке» и модернизирован дизайн настроек принтера.

Узнать обо всех новинках браузера можно по ссылке:
https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/
​​Вышел TypeScript 4.2

Microsoft выпустил новую версию TypeSсript. В релизе анонсировано около десяти изменений и улучшений. Среди них – проверка невызванных функций в логических выражениях, возможность отмечать неиспользуемые переменные при деструктивном присваивании, упрощенные правила взаимодействия между опциональными свойствами и строковой индексацией и многое другое. TypeScript 4.2 можно получить через NuGet или с помощью npm.

Команда разработчиков уже начала работать над версией 4.3, с планом итераций которой также можно ознакомиться в блоге Microsoft.

С полным текстом изменений можно ознакомиться по ссылке:
https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/
​​Сотни американских заключенных не могут выйти из тюрем из-за бага в ПО

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

Программное обеспечение ACIS для тюрем Аризоны разработала и поддерживает IT-компания Business & Decision, что обошлось штату в $24 млн с 2019 года. С момента ее внедрения было выявлено более 14 тыс. ошибок. Например, в ПО некорректно работает система мониторинга медицинского обслуживания заключенных, учета их общего количества, имущества, комиссионных и финансовых отчетов, конфессий, классификации безопасности и принадлежности к группировкам.

С полным текстом статьи можно ознакомиться по ссылке:
https://kjzz.org/content/1660988/whistleblowers-software-bug-keeping-hundreds-inmates-arizona-prisons-beyond-release
​​Google заплатит за безопасность ядра Linux

Google и Linux Foundation выделят средства на оплату двух штатных специалистов для повышения безопасности ядра Linux. Они уже работают в Linux Foundation — некоммерческом консорциуме развития Linux — и занимаются устранением рисков переполнения буфера и защитой ядра, а также исправлением ошибок в компиляторах Clang/LLVM и модернизацией системы по их обнаружению.

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

Полную версию статьи можно прочитать по ссылке:
https://www.theregister.com/2021/02/24/google_ups_linux_security_effort/
​​“Переполненный стек” вместо “Скромного разработчика”

Пользователь reddit нашел в интернете голосование 2008 года, в котором создатель ресурса Stack Overflow Джефф Этвуд подбирал идею названия для будущего сайта. В голосовании приняли участие почти 7000 человек, которые выбрали доменное имя из 16 вариантов. Вот некоторые из них:

humbledeveloper.com (“Скромный разработчик”);
fellowhackers.com (“Дружественные хакеры”);
cargocultdevs.com (“Разрабы карго-культа”);
writeoncereadmany.com (“Запиши-перечитай”);
understandrecursion.com (“Познай рекурсию”).

По итогам голосования уверенную победу одержал stackoverflow.com, набрав 1721 голосов, на втором месте оказался вариант privatevoid.com (игра слов: “Личный вакуум” и служебные слова в некоторых языках программирования), который набрал вдвое меньше, а на третьем — humbledeveloper.com с 653 голосами.

Сейчас Stack Overflow, по данным SimilarWeb, ежемесячно посещают около 278 млн раз в месяц, сайт входит в топ-200 в мире.

Ознакомиться с результатами голосования из 2008 года можно по ссылке:
https://blog.codinghorror.com/help-name-our-website/

#stackoverflow #история
​​IBM ищет способ запускать старые приложения на современных платформах

Компания IBM обучает искусственный интеллект (ИИ) перекодировать старые приложения, чтобы они могли работать на современных платформах. Инициативы получили название Monro2Micro и Application Modernization Accelerator. Первая анализирует и вычленяет из старого кода скрытые связи, а вторая предназначена для анализа и переработки старых языков программирования.

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

Полный текст статьи можно прочитать по ссылке:
https://spectrum.ieee.org/tech-talk/computing/software/ai-legacy-software-analysis-tool

#IBM #legacy #ИИ
​​Вышел Laravel 8.29

Веб-фреймворк Laravel получил очередное минорное обновление. В новой версии появилась поддержка параметра username для predis, добавлен метод collect в клиентский ответ в HTTP и метод setUpTestDatabase для поддержки параллельного тестирования.

Также в Laravel 8.29 исправили flushDb (cache:clear) для кластеров Redis, команду retry для зашифрованных заданий и пофиксили использование withoutMiddleware() и промежуточного программного обеспечения на основе замыкания на PHP8.

С полным списком изменений можно ознакомиться по ссылке:
https://laravel-news.com/laravel-8-29-0

#php #laravel
​​Поток заявок на наш конкурс pet-проектов настолько усилился в последние дни перед окончанием сбора, что мы решили продлить его еще на две недели — до 14 марта!

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

Мы выберем самые интересные проекты, расскажем о них миру и, конечно, наградим призами! Победитель получит Apple iPhone 12 64GB, а участники, занявшие второе и третье место – наушники Marshall Monitor II ANC Black и набор Arduino соответственно.

Принять участие могут проекты в сферах мобильной разработки (Android и iOS), frontend и backend, AI и ML, IoT, Big Data, desktop, написанные на любом из языков программирования.

Конкурс проводим вместе с IT-компанией Genesis.

Ждем ваши проекты до 14 марта включительно.

https://specials.highload.today/

#конкурс
​​Android выпустил новый инструмент для разработки интерфейсов

Разработчики Android выпустили бета-версию Jetpack Compose. Это разработанный на Kotlin UI toolkit, с помощью которого можно создавать пользовательские интерфейсы для Android с меньшим объемом кода.

С момента начала разработки создатели Jetpack Compose исправили 700 внешних ошибок и приняли более 200 внешних предложений. В бета-версию входит поддержка сопрограмм, простая в использовании анимация с полностью новым API, совместимость с Android Views, Constrain Layout, модификаторы, тестирование, управление окнами и многое другое.

Jetpack Compose поддерживает последняя версия Canary от Android Studio Arctic Fox. В ней появились Live Literals, литералы, которые можно обновлять в режиме реального времени на устройстве или эмуляторе, а также стал доступен предварительный и интерактивный просмотр анимации.

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

Узнать больше о бета-версии Jetpack Compose можно по ссылке:
https://android-developers.googleblog.com/2021/02/announcing-jetpack-compose-beta.html?m=1

#android #kotlin #uikit #androidstudio
​​Пара слов о тернарном операторе

Даже у самых известных и опытных разработчиков иногда происходят просветления в, казалось бы, базовых вещах. Так, один из главных разработчиков React и создатель Redux Даниил Абрамов — практически рок-звезда в своей сфере — написал в Twitter, что осознал, что тернарный оператор (от лат. ternaries — «тройной») называют так, потому что он обрабатывает ТРИ вещи. Пост уже собрал почти тысячу лайков.

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

Увидеть оригинальный твит можно по ссылке:
https://twitter.com/dan_abramov/status/1365107258280071168

#reactjs #javascript
​​Специалисты составили топ веб-уязвимостей 2020 года

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

3. Атака на Secondary C — внедрение в HTTP-запросы вторичных данных, таких как иконка сайта, например. Это прием с применением обходного пути, использующий неупорядоченность в прокси-серверах, микрофронтендах и балансировщиках загрузок.

2. Портативная эксфильтрация данных (Portable Data exFiltration): XSS для PDF-файлов. Метод предполагает форматирование и расширение парсеров PDF, что позволяет перейти от внедрения ссылки в PDF файл к краже документа, выполнению алгоритма JavaScript и межсерверной подделке запросов (SSRF).

1. H2C Smuggling. H2C — это принятое сокращение протокола HTTP/2 Cleartext, а сам метод подразумевает использование H2C для отправки запросов на прокси-сервер, который после этого обходит механизмы контроля доступа к серверу.

Список топ-10 хакерских приемов 2020 года можно посмотреть по ссылке:
https://portswigger.net/research/top-10-web-hacking-techniques-of-2020

#веб #кибербезопасность
​​Google выпустил Android Sleep API

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

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

Интерфейс уже доступен в Google Play на Android 10 и уже используется в приложении Sleep as Android.

О релизе можно узнать подробнее в блоге Google для разработчиков:
https://android-developers.googleblog.com/2021/02/low-power-sleep-tracking-on-android.html

#google #android
​​В интернете показали софт для майнинга на PS5. Но это, скорее всего, фейк

1 марта в сети появилось фото, на котором китайские пользователи показали якобы успешный майнинг криптовалюты Ethereum на Sony PlayStation 5. Новость спровоцировала обсуждения на разных площадках, о ней как о прорыве сообщили сразу несколько ресурсов, включая Gadget Tendency, Spiel Times и др.

Согласно фотографии, производительность консоли на момент майнинга достигла 98,76 мегахэш/сек, а энергопотребление составило 211 Вт. В ходе обсуждения пользователи не исключали, что для такого результата консоль могла быть не только взломана, но и разогнана, поскольку ее «родная» производительность должна быть на уровне AMD Radeon RX 5700 XT с 50 мегахэш/сек.

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

В январе пользователи Reddit уже задавались вопросом разработки майнинг-клиента для PlayStation 5, а в конце прошлой недели стало известно, что процесс майнинга Ethereum был протестирован на MacBook Air с Apple M1 SoC.

С новостью можно ознакомиться по ссылке:
https://gadgettendency.com/this-is-a-breakthrough-sony-playstation-5-has-been-adapted-for-mining/

#mining #ethereum #playstation #криптовалюта
​​Библиотека Android for Cars стала доступна в Jetpack

Библиотека Android for Cars App Library, запущенная в 2020 году на Android Auto, стала доступна в Jetpack как androix.car.app 1.0.0-beta01. Это первая открытая версия ранее закрытой библиотеки, которая позволяет проектировать, разрабатывать и тестировать приложения для навигации, парковки или зарядки на устройствах с версиями Android Auto 6.1 и выше. Переход на Jetpack даст специалистам больше информации о разработке функций и обеспечит согласованность API с другими библиотеками Jetpack.

Android for Cars App Library включает в себя все функции старой библиотеки с закрытым исходным кодом com.google.android.libraries.car, но также добавляет новые функции. Среди них — шаблон Grid Template. Он пригодится пользователям, которые в основном полагаются на навигацию по иконкам.

Чтобы подключить Android for Cars App Library, Google обновил руководство разработчика и рекомендации по дизайну, и сообщил, что старая библиотека перестанет работать с 1 сентября 2021. Также разработчикам рекомендуют выполнить переход на новую библиотеку как можно быстрее — это займет меньше дня. Для этого в Google разработали руководство по миграции.

Полную версию статьи можно прочитать по ссылке:
https://android-developers.googleblog.com/2021/03/android-auto-apps-powered-by-jetpack.html

#android #google
​​Использование async/await в цикле forEach

Один из пользователей платформы Stack Overflow задал вопрос, правильно ли использовать асинхронные вызовы для чтения файлов в Node.js вместе с циклом forEach.

Приводим самый популярный ответ:

forEach вместе с async/await не работает так, как ожидает разработчик. Цикл запускает множество асинхронных вызовов, но функция, внутри которой он работает, сразу возвращается.

Для исследованного чтения файлов лучше использовать более современный цикл for… of, в котором await будет работать должным образом (реализация решения на картинке, предполагается что getFilePaths() работает как надо).

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


Ссылка на решение: https://stackoverflow.com/questions/37576685/using-async-await-with-a-foreach-loop

#javascript #nodejs #promise #asyncawait #ecmascript2017