Highload — медіа для розробників
4.17K subscribers
5.59K photos
277 videos
18 files
6.48K links
Розповідаємо про людей, які створюють код, та про код, який вони пишуть.

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

Наш чат https://t.me/highloadchatt
Download Telegram
​​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
​​Devbook: поисковая система для разработчиков

Продолжаем рассказывать об интересных, но малоизвестных проектах. Группа разработчиков из Чехии выпустила десктопное приложение, которое позволяет выполнять поиск в Stack Overflow, искать и читать документацию, а также общедоступный код на GitHub из одного места без рекламы, контент-маркетинга и SEO. Создатели назвали приложение Devbook. Оно выполнено в Electron на React.js с бэкендом на Node.js и управляется с помощью горячих клавиш.

В качестве примера авторы сравнили свое детище с приложением Spotlight на macOS. При нажатии на глобальный ярлык Devbook появляется как оверлей, что сокращает количество переключений контекста при поиске информации.

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

Со страницей разработчиков на GitHub можно ознакомиться по ссылке:
https://github.com/DevbookHQ/

#reactjs #nodejs #github #stackoverflow #electronjs #devbook #javascript #desktop
​​Новый день — новый член жюри нашего конкурса pet-проектов!

Максим Федоров — Senior PHP Developer в IT-компании Yellow Stone. Оценивает проекты по Backend PHP и веб-разработке

Cвой путь в IT Максим начинал как разработчик программного обеспечения для ПК в далеком 2008 году. Затем перешел в веб-разработку, так как считает эту отрасль интересной в техническом плане и дающей множество возможностей. Последние шесть лет работает над разными проектами в качестве backend-разработчика, имеет опыт управления командами до десяти человек.

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

“Мне нравятся сложные нестандартные проекты, интересуют новые технологии, дизайн кода, архитектура программного обеспечения, highload-приложения, исследования. Я ярый фан чистоты кода, его очевидного дизайна, качественной программной архитектуры”, — рассказал о себе Максим Федоров.

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

#конкурс #жюри
​​Разработчики ответили, как используют Python

Python Software Foundation и JetBrains опубликовали результаты четвертого ежегодного опроса разработчиков Python. В 2020 году в голосовании приняли участие более 28 тыс. разработчиков и энтузиастов этого языка из почти 200 стран.

Задаваемые вопросы касались, например, того, является ли для участника опроса Python основным языком или второстепенным и с каким языком его комбинируют. 85% опрошенных ответили, что используют Python в качестве основного языка программирования, а самым сочетаемым с ним оказался JavaScript.

Исследователи также узнали, для чего программисты используют Python и в каких типах разработки участвуют. 54% опрошенных используют Python для работы и личных целей, 26% — для личных целей, учебы и сторонних проектов, а 19% — только для работы. В вопросе о типах разработки, в которых участвуют опрашиваемые, в тройке оказались веб, анализ данных и машинное обучение.

Согласно исследованию, если в 2017 году версией Python 3 пользовались 75% опрошенных, то в 2020-м их стало уже 94%, остальные 6% до сих пор предпочитают или вынуждены работать на Python 2. Чем опытнее разработчики Python, тем выше вероятность того, что они будут использовать Linux и macOS в качестве среды разработки, и тем менее вероятно, что они выберут Windows.

Также в голосовании выбрали самые популярные фреймворки. Ими стали pytest, NumPy и Flask среди фреймворков для модульного тестирования, Data Science и веб-разработки соответственно.

Полная версия результатов голосования доступна по ссылке:
https://www.jetbrains.com/lp/python-developers-survey-2020/

#python #jetbrains #pytest #numpy #flask
​​Специалист из MIT рассказал, почему FLoC это плохо

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

Браузер с включенным FLoC будет собирать данные о привычках просмотра пользователя, а затем использовать эту информацию, чтобы отнести человека к определенной «когорте» или группе. Беннет Сайферс видит проблему в планируемом сборе так называемых отпечатков браузера (browser fingerprinting) для создания его стабильного идентификатора, а также в том, что технология будет делиться новыми личными данными с трекерами, которые уже могут идентифицировать пользователя.

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

Обсудить инициативу Google можно в нашем чате:
https://t.me/joinchat/SmcgpRwg_VuoW2L3

А полный текст статьи можно прочитать по ссылке:
https://www.eff.org/deeplinks/2021/03/googles-floc-terrible-idea

#google #privacy #floc
​​Вышел VS Code 1.54

Microsoft выпустила новую версию Visual Studio Code. Главной фичей сборки 1.54 стала возможность для пользователей Mac с чипами M1 использовать VS Code без эмуляции Rosetta. Также они смогут заметить улучшенную производительность и более длительное время автономной работы при запуске VS Code. Среди других изменений в новой версии можно отметить:

— улучшенную навигацию по словам в Windows-версии, и роли для представлений и кнопок;
— локальные процессы терминала теперь восстанавливаются при перезагрузке окна;
— в Breakpoints view добавлена кнопка “Х” для упрощения удаления брейкпоинтов;
—в VS Code теперь интегрирована поддержка TypeScript 4.2.2;
— появилась возможность персонализировать изображения значков VS Code с помощью тем значков продуктов;
— записные книжки теперь автоматически перезагружаются при изменении файла на диске, и когда в них нет несохраненных изменений;
— порты стали отображаться в виде таблицы.

Также Microsoft продолжает работать над расширением GitHub Pull Request and Issues и расширением для удаленной разработки.

С полным списком изменений можно ознакомиться по ссылке:
https://code.visualstudio.com/updates/v1_54#_automatically-reload-notebooks

#vscode #microsoft #mac #typescript
​​Обновление состояния компонента с помощью useState и useEffect

Сегодня разберем проблемы с обновлением состояния с помощью хуков на React. Иногда возникают сложности с пониманием как правильно обновлять состояние компонента с помощью хуков useState и useEffect. Если попробовать изменить состояния с помощью useState напрямую, никаких изменений не произойдет. Дело в том, что, подобно setState в классовых компонентах, обновление состояния с помощью useState также является асинхронным и не будет отражено немедленно.

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

Если вы хотите выполнить какие-либо действия для обновления состояния, вам нужно использовать хук useEffect, как и при использовании componentDidUpdate. Важно помнить, что внутри хука useEffect, состояние все еще не поменяется, а при вызове вернет прежнее значение.

Полный тред со всеми возможными решениями можно найти по ссылке: https://stackoverflow.com/questions/54069253/usestate-set-method-not-reflecting-change-immediately

#javascript #reactjs #usestate #useeffect
​​Разработчик запустил Minecraft на “зеркалке”

На YouTube вышло видео, на котором пользователь под псевдонимом Turtius запускает сервер Minecraft на цифровой зеркальной фотокамере Canon EOS SL2 (200D). Видео уже посмотрели более 16 тыс. человек. На нем Turtius показывает, что на фотоаппарате загружается сервер Minecraft, а сам клиент установлен на компьютере Linux Mint 20.1.

Автор канала рассказал, что проект начался как средство обучения реинжинирингу сетевого процессора на Canon EOS SL. После того как Turtius смог реконструировать сетевой модуль, он установил сервер Minecraft «avrcraft», оптимизированный для работы на 8-битных устройствах, с помощью разветвленной версии популярного программного дополнения Canon Magic Lantern. В комментариях один из пользователей сделал вызов автору ролика, предложив ему в следующий раз запустить Minecraft на “умном” холодильнике.

Если хотите повторить эксперимент, исходный код Turtius есть на GitHub, но для этого вам также понадобится Canon EOS SL2 и готовность расстаться с ним. По словам автора, он не несет ответственности, если камера в неумелых руках превратится в итоге в пресс-папье.

Minecraft — не единственного игровое ПО, которое можно запустить на цифровой камере. Несколько лет назад энтузиаст запустил на фотоаппарате Kodak 1998 года классическую версию Doom и смог управлять игрой через клавиши навигации меню.

Видео доступно по ссылке:
https://www.youtube.com/watch?v=lbq3LO0KYrk&feature=emb_logo

#minecraft #canon #github #youtube
​​Встречайте следующего члена жюри нашего конкурса pet-проектов!

Олег Лавренко — Head of Engineering Department в компании Genesis на проекте AmoMedia, вел курс по DevOps для системных администраторов. Оценивает Backend-проекты на Python.

У Олега больше восьми лет опыта в IT: от инжиниринговых позиций до руководителя департамента, где он занимается оптимизацией процессов разработки, строит инженерную культуру, проектирует архитектуру приложений и сервисов AmoMedia.

“Для меня IT — это не просто сфера деятельности, это увлечение с детства. Я люблю не только изучать технологии, но и делиться знаниями с другими. Благодаря большой экспертизе в разработке и в бизнесе я хочу помогать талантливым специалистам реализовывать и презентовать свои идеи. Pet-проекты — это отличная возможность изучить технологии, с которыми не работаешь в компании, проверить бизнес-идею и научится смотреть на IT не только со стороны разработки. Ведь за каждым продуктом стоит не просто код и идея. Продукт — это прежде всего команда, которая его развивает”, — рассказал он.

Заявки на участие в конкурсе можно подать до 14 марта на странице:
https://specials.highload.today
#конкурс #жюри
​​Microsoft выпустила платформу для “голопортации”

На конференции Ignite 2021 Microsoft показала новую платформу смешанной реальности на базе облака Azure для дистанционной совместной работы и общения под названием Mesh. Платформа способна передавать зрительный контакт, мимику и жесты виртуальных аватаров собеседников, а также позволяет им взаимодействовать с 3D-моделями.

Mesh объединяет Azure Active Directory и учетные записи Microsoft для идентификации и использует Microsoft Graph для связи контента и действий пользователей. Также платформа пользуется вычислительными ресурсами, данными и искусственным интеллектом Azure. Платформа поддерживает большинство VR-гарнитур, мобильные телефоны, планшеты, ПК и HoloLens 2 от Microsoft.

Текущая версия Microsoft Mesh находится в ограниченной бесплатной предварительной версии. В ней разработчики могут опробовать Mesh на HoloLens и запросить доступ к размещению виртуальных событий в AltspaceVR с поддержкой Mesh.

Полный текст статьи можно прочитать по ссылке:
https://www.i-programmer.info/news/190-augmentedvirtual-reality-arvr/14404-microsoft-mesh-a-platform-for-holoportation.html

#microsoft #ar #vr #mr
​​Разработчик рассказал, как искать ошибки в бесконечных строках кода

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

Шаг 0. Проверьте грамматику и орфографию. По его словам, 98% допускаемых им ошибок связаны с неправильной запятой или неправильным написанием слова «this». Для решения проблемы автор призывает разработчиков пользоваться функциями IDE, такими как auto-complete, error selection и color-coding.

Шаг 1. Читайте построчно. Объясните себе, что должна делать каждая из строк, и напоминайте себе определение каждой функции. Возможно, вы забыли оператор «OR» или написали splice () вместо slice (). У вас достаточно знаний, чтобы все исправить.

Шаг 2. Определите то, чего вам не хватает. У вас есть представление о том, в какой строке кода проблема? Если нет, проверьте сообщение об ошибке еще раз, чтобы выявить ее.

Шаг 3. Изучайте новые вещи. Не расстраивайтесь, когда сталкиваетесь с новым термином/концепцией. Это вызов и возможность для роста. Используйте интернет для поиска необходимой информации.

Шаг 4. Найдите разработчиков, которые решили или решают схожую проблему. В этом помогут такие ресурсы как, например, Stack Overflow или Reddit.

Полная версия поста доступна по ссылке:
https://dev.to/mikechrupcala/4-steps-to-debug-any-problem-3565

#debug #debugging
​​Как использовать Styled-Components в React

Styled-Components — библиотека, реализующая принцип CSS-in-JS для React.js. Преимущества ее использования: автоматическое добавление префиксов для разных браузеров, удаление неиспользованных стилей и независимость имен компонентов.

Установить библиотеку в проект очень просто. Например, с помощью команды менеджера пакетов Yarn: yarn add styled-components.

Импортируем библиотеку. Далее объявляем наш “стилизованный” компонент StyledButton. Присваиваем ему импортированный объект styled, после точки пишем нужный тег, в данном случае button, и в одинарных кавычках — обычные стили CSS.

Эти стили функциональны, их можно динамически менять. В примере по ссылке динамически меняется цвет кнопки с помощью тернарного оператора. Нужный цвет объявляется в атрибутах объявленного компонента уже внутри обычного React-компонента, у нас это Profile. Эти атрибуты записываются в специальную переменную props, которую можно использовать, в свою очередь, для динамического изменения стилей. Styled-Components рендерят обычные HTML-теги, а значит, они принимают стандартные атрибуты, такие как type="submit" для кнопки или события, например onClick.

Основано на статье: https://dev.to/paulmercieca/how-to-use-styled-components-in-react-54o5

#reactjs #styledcomponents #javascript
​​Сегодня представляем еще одного члена жюри нашего конкурса pet-проектов!

Ростислав Антонов — Lead Software Engineer в IT-компании EPAM. Оценивает проекты на Android.

У Ростислава 16 лет опыта в сфере разработки приложений, карьеру он начинал с Java Desktop и Java Backend, а с Android работает с 2010 года. За время работы использовал языки Sinclair Basic, Assembler, VBScript, Jscript, WSHost, Java, Pascal, Visual Basic, C, C++, Perl, .NET C#, J#, SQL, Kotlin и др. В 2016 году написал несколько приложений для Amazon Alexa. Кроме того, Ростислав в качестве ментора участвует в тренинг-программах EPAM.

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

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

#конкурс #жюри
​​Masonry-раскладка на чистом CSS

Компьютерный инженер Темани Афиф рассказал в своем блоге на dev.to, как создать masonry-раскладку (или “плиточную верстку”) с помощью чистого CSS. Это экспериментальная функция, которую можно протестировать в браузере Firefox.

Masonry-раскладку обычно делают с помощью JS или большого количества CSS-правил, но разработчик смог выполнить ее в находящейся в разработке спецификации CSS Grid Level 3. Она добавляет masonry-раскладку в качестве дополнительного режима для Grid-контейнеров. Все, что нужно, это добавить контейнеру следующее CSS-правило: grid-template-rows: masonry;.

Чтобы создать masonry-раскладку, нужно сначала включить флаг. Для этого:

1. Откройте браузер Firefox и напишите в адресной строке about:config;
2. произведите поиск по masonry;
3. придайте флагу значение true.

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

Полное описание метода доступно по ссылке:
https://dev.to/afif/finally-a-css-only-solution-to-create-masonry-layouts-1obh

#css #masonry #firefox
​​Google и проклятие цифровой нефти

Корпорация Google находится под проклятием «цифровой нефти», заявил в личном блоге создатель фреймворка Ruby on Rails и вики-движка Instiki Давид Хейнемейер Ханссон. По его мнению, из-за гигантской прибыли, получаемой от рекламы в интернете, Google еще долгое время не будет способна нормально вести новые проекты. Компания печально известна массой сервисов (Google Play Music, Hangouts, Stadia, Freebase, Picasa и т. д), которые закрываются менее чем через 18 месяцев или подвергаются очередному ребрендингу.

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

Дэвид Хейнемейер Ханссон заключает, что Google не вернется к созданию успешных проектов, какими были поиск, Gmail и карты, пока «проклятие» не будет снято.

А что думаете вы? Правда ли Google перестала выпускать качественные продукты, и что нужно корпорации для возвращения к былым достижениям?

Обсудить можно в нашем чате: https://t.me/joinchat/SmcgpRFprYE5yOfv

Полный текст поста смотрите по ссылке:
https://world.hey.com/dhh/google-suffers-from-a-digital-petro-curse-908e919a

#google
​​Преобразование изображений в .csv

На GitHub пользователь под ником artperrin опубликовал способ преобразования таблицы с числами, которая создает изображение, в рабочий файл .csv. Программа использует библиотеку алгоритмов OpenCV для Python для обработки изображения и Tesseract для распознавания чисел.

В репозиторий входят:

— исходный код image2csv.py;
— файл tools.py, в котором реализованы полезные функции;
— файл grid_detector.py для автоматического определения сетки;
— папка с файлами для тестирования.

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

Автор признается, что эта программа не идеальна и не работает с десятичными числами, но отлично справляется с отрицательными. Также пользователь должен быть осторожен с перечеркнутым нулем «Ø», который идентифицируется Tesseract как цифра «6».

С полной версией метода можно ознакомиться по ссылке:
https://github.com/artperrin/image2csv

#python #opencv #csv #tesseract