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

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

Наш чат https://t.me/highloadchatt
Download Telegram
​​Вышел 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
​​Ученые разработали «канареечную ловушку» для киберпреступников

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

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

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

Полный текст статьи можно прочитать по ссылке:
https://techxplore.com/news/2021-03-cybersecurity-canary.html

#кибербезопасность
​​Пока продолжается сбор заявок на наш конкурс pet-проектов, мы решили познакомить вас с членами жюри

Дмитрий Грищенко — Full-Stack Software Engineer (JavaScript) в компании Innovecs. Дмитрий будет оценивать проекты по Frontend JavaScript и TypeScript. Его коммерческий опыт с JavaScript — около пяти лет. Начинал как фронтенд-девелопер, со временем освоил Node.js и таким образом перешел на Full-Stack.

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

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

Заявки на участие в конкурсе все еще можно подать на лендинге
https://specials.highload.today/

#конкурс #жюри
​​Netflix переедет в Cosmos

Онлайн-кинотеатр Netflix разработал новую платформу для приема и распространения мультимедиа и планирует потратить большую часть 2021 года на переход на нее «с большой и устаревшей системы». Как говорится в техническом блоге компании, новая платформа называется Cosmos. Netflix начал работу над Cosmos в 2018 году, частично использовал ее с 2019 года и теперь задействует примерно в 40 сервисах.

Предыдущая платформа под названием Reloaded разрабатывалась исключительно как конвейер непрерывной обработки видео/аудио, но со временем мощности компании выросли, и монолитная архитектура старой платформы замедлила рабочие процессы. Для переезда на новую платформу компания выбрала схему миграции Strangler fig (от растения фикус-душитель), поскольку она позволяет новой системе расти вокруг старой и в конечном итоге полностью заменить ее.

Один из разработчиков новой системы рассказал, что она похожа на микросервис в том плане, что это API с бизнес-логикой без сохранения состояния. Она самомаcштабируется в зависимости от загрузки, имеет строгие связи с другими системами, но отделена от них данными приложения и бинарными зависимостями.

В сервисе также есть подсистемы, одна из которых называется Stratum. Это бессерверный уровень, предназначенный для выполнения масштабных вычислений без сохранения состояния.

В 2021 году Netflix планирует выпустить рекордные 70 оригинальных фильмов, которые будут доступны более чем 200 миллионной аудитории подписчиков.

Полная версия статьи доступна по ссылке:
https://www.theregister.com/2021/03/02/netflix_cosmos_serverless_microservices/

#сервернаяархитектура #netflix
​​Новый DevTools стал меньше влиять на производительность загрузки страниц

С выходом Chrome 90 в браузере также обновился DevTools. Среди нововведений:

— Отладчик СSS flexbox.
— Появился оверлей Core Web Vitals, который позволяет лучше визуализировать и измерять производительность страницы. Это часть инициативы Google по улучшению взаимодействия с пользователями.
— В Console status bar перенесен счетчик проблем из консоли, чтобы улучшить видимость предупреждения о возникших ошибках.
— На вкладке Issues теперь сообщается о проблемах с Trusted Web Activity. Это нужно, чтобы помочь разработчикам замечать и исправлять подобные проблемы.
— Появился API Trust Token, который помогает бороться с мошенничеством и отличать ботов от реальных людей без пассивного отслеживания.
— Улучшена производительность загрузки страниц при открытом DevTools, которая, по словам авторов сборки, в некоторых случаях увеличилась в десять раз.
— Во вкладке Frames теперь отображается список разрешенных и запрещенных функций браузера, контролируемых Permission policy.

Читайте полную статью со списком всех изменений по ссылке:
https://developers.google.com/web/updates/2021/02/devtools

#devtools #chrome #google
​​Вышел релиз Deno 1.8

Разработчики программной платформы Deno опубликовали ее новую версию. Сборка содержит множество новых функций и стабилизаций, вот некоторые из них:

— Экспериментальная поддержка WebGPU.
— Полная поддержка ICU. Все API JavaScript, зависящие от ICU, теперь должны соответствовать API браузера.
— Маппинг импортов теперь стабилен.
— Добавлена возможность для пользователей указывать токены аутентификации для каждого домена, которые используются при загрузке модулей в первый раз.
— API безопасности стабилен. В Deno 1.8 теперь есть стабильный API для вызова query, request и revoke для изменения настроек доступа. Эти API содержатся в объекте Deno.permissions.
— Стабилизированы API Deno.link и Deno.symlink.
— deno fmt теперь может форматировать файлы .json и .jsonc.

Deno 1.8 поставляется с последней стабильной версией TypeScript.

С полным текстом изменений можно ознакомиться по ссылке:
https://deno.land/posts/v1.8#icu-support

#deno #javascript #typescript
​​Microsoft выпустила low-code язык программирования Power Fx

Корпорация Microsoft разработала новый язык формул для Power Platform — платформы для создания сложных бизнес-решений и анализа данных. Он получил название Power Fx и основан на Microsoft Excel — имеет тот же синтаксис и функции. Формулы декларативны и мгновенно вызываются как и в электронных таблицах. Сама Power Platform больше ориентирована на хорошо знакомых с Excel бизнес-пользователей и аналитиков данных, чем на профессиональных разработчиков.

Power Fx имеет открытый исходный код, который позже будет доступен на GitHub. В новом языке есть возможность напрямую редактировать приложения в текстовых редакторах, например в Visual Code, и использовать систему управления версиями.

При создании Power Platform помимо Excel команда также черпала вдохновение из таких языков и систем как Pascal, Mathematica и Miranda. В течение двух лет Microsoft планирует расширить возможности Power Fx и сделать его единым согласованным языком для всей Power Platform.

Подробнее о Power Fx можно прочитать по ссылке:
https://powerapps.microsoft.com/en-us/blog/introducing-microsoft-power-fx-the-low-code-programming-language-for-everyone/

#lowcode #microsoft #powerfx #powerplatform #excel
​​Продолжаем знакомить вас с членами жюри нашего конкурса pet-проектов

Вячеслав Белый — Mobile Team Lead, co-founder iOS Ukraine, основатель первой в Украине онлайн-конференции по iOS-разработке, ведущий обучающего YouTube-канала, консультант и аудитор мобильных команд. Оценивает проекты на iOS.

Вячеслав Белый по его собственным словам, в свое время полюбил мобильную разработку за возможность создания полноценного продукта. Он сам ведет сразу несколько pet-проектов и понимает разработчиков, которые горят желанием поделиться им с миром. Самую трудную и ответственную задачу он видит в том, чтобы не столько “оценить”, сколько дать участникам конкурса конструктивное мнение, которое поможет посмотреть на проект со стороны и открыть в нем что-то новое.

“Большую часть времени я занимаюсь развитием всего вокруг себя. Развиваю iOS-сообщество, в компании занимаюсь развитием мобильного направления, параллельно пописывая на Swift. Стартанул проект MeowTalk с нуля и до 2,5 млн пользователей, в родном Харькове знакомлю студентов с iOS-направлением. В остальное время являюсь ментором, готовлю людей всех уровней к собеседованиям, составляю планы развития, провожу аудиты iOS-команд. Это позволяет иметь четкое понимание и представление, что происходит в отрасли и в индустрии в целом. А это, в свою очередь, мотивирует заниматься всеми этими активностями”, — рассказывает Вячеслав Белый.

Заявки на участие в конкурсе можно подать до 14 марта на странице
https://specials.highload.today

#конкурс #жюри
​​Советы по прокачке навыков code review

Опытный фронтенд-разработчик GitLab и участник Vue.js Core Team Наталья Теплухина опубликовала в блоге на dev.to пост, в котором дала читателям шесть советов как улучшить навыки code review. Наталья признается, что когда сама только начинала проверять код, допускала немало ошибок, а приведенные приемы помогли ей улучшить навыки.

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

С полным списком советов можно ознакомиться по ссылке:
https://dev.to/n_tepluhina/six-tips-to-improve-your-code-review-skills-95a

#codereview #tips
​​В Google рассказали, чем заменят поддержку сторонних cookies

В Google заявили, что после прекращения поддержки сторонних файлов cookie в браузере Chrome (о таком намерении компания предупредила в 2020 году) не будет создавать альтернативные персональные идентификаторы для отслеживания людей, просматривающих веб-страницы.

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

Новая технология под названием Federated Learning of Cohorts (FLoC) позволяет таргетировать рекламу на большие группы пользователей на основе общих интересов. По заверению Google, она может обеспечить не только релевантность рекламы, но и конфиденциальность данных пользователей. Как сообщают в Google, тестирование FLoC с рекламодателями начнется во втором квартале 2021 года.

Полный текст заявления Google можно прочитать по ссылке:
https://blog.google/products/ads-commerce/a-more-privacy-first-web/

#google #cookies #приватность #веб #chrome
​​Вышел Flutter 2 с поддержкой веб-браузеров

3 марта Google выпустил Flutter 2. В новой версии добавлена поддержка для создания веб-приложений, ориентированных на такие браузеры как Chrome, Firefox, Safari или Edge — возможность, которая в течение последнего года была в состоянии бета-версии.

Вместе с Flutter вышла минорная версия Dart — Dart 2.12. По словам разработчиков Google, именно благодаря этому языку во Flutter стал возможен простой переход к поддержке веб-браузеров, десктопа и встроенных систем. В новую версию Flutter также входит стабильная реализация FFI.

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

Также в Google рассказали о выходе бета-версии Google Mobile Ads для Flutter. Это новый SDK, который работает с AdMo и AdManager и предлагает различные форматы рекламы, включая баннерную, межстраничную, нативную и видеобъявления.

По оценке Google, в магазине приложений Play Store уже доступно более 150 тыс. приложений на Flutter, включая WeChat, Grab, Sonos и Realtor, каждое из таких приложений получит бесплатное обновление до Flutter 2.

С полным списком изменений и обновлений можно ознакомиться по ссылке:
https://developers.googleblog.com/2021/03/announcing-flutter-2.html

#google #flutter #dart
​​База данных, которой не нужен сервер

Группа разработчиков во главе с Томасом Лохматтером представила неожиданную инициативу — опенсорсную базу данных CondensationDB, которая будет работать исключительно на стороне клиента.

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

Это приводит к новому типу системы, в которой пользователи могут сотрудничать, сохраняя при этом право собственности на свои данные. Архитектура Condensation вдохновлена технологией блокчейн, электронной почтой и системой контроля версий Git. Авторы обещают достойную масштабируемость и синхронизацию.

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

На данный момент создана только Android-версия на Java. В планах веб- и iOS-версии. Среди спонсоров проекта указан швейцарское инновационное агентство Innosuisse. Цель разработчиков создать сообщество, которое будет вносить свой вклад в развитие Condensation и обучать других. В частности, энтузиасты уже занимаются портированием проекта на TypeScript и JavaScript.

Ссылка на сайт проекта: https://condensationdb.com/

#opensource #db #database #condensationdb