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

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

Наш чат https://t.me/highloadchatt
Download Telegram
​​Next.js возглавил рейтинги симпатий разработчиков

Ресурс State of JavaScript провел ежегодный опрос JS-разработчиков о наиболее популярных и удобных для работы фреймворках. По итогам 2020 года опрошено 23,765 человек из 137 стран.

Результаты опроса в части распространенности бэкенд-фреймворков не удивили: лидером четвертый год подряд остался Express.js. Но в этом году появилось и множество новичков, самым успешным из которых стал Nuxt.js, который опередил давно известные Koa и Meteor и занял четвертое место.

А вот лидер по степени удовлетворенности разработчиков сменился: Express опустился на второе место, а первым стал Next.js. Тех, кто следит за развитием этих фреймворков, это может не удивить. Express уже несколько лет не имеет стабильной новой версии, а Next.js регулярно получает обновления. В целом по этому показателю пятерка лидеров набрала близкое количество голосов.

С полными результатами опроса можно ознакомиться по ссылкам:
https://2020.stateofjs.com/ru-RU/technologies/back-end-frameworks/
​​Svelte впервые занял лидирующую позицию по удобству среди фронтенд-фреймворков

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

А вот по общей доле использования Svelte пока далеко не в лидерах. Несмотря на значительный прирост и четвертое место, “большая тройка” фреймворков (React, Angular, Vue.js) остается в большом отрыве от него. Лидирующий много лет подряд React при поддержке Facebook прочно занял на рынке позицию, с которой его трудно будет сместить. В первую очередь из-за огромного объема legacy-кода, который никто не возьмется переписывать.

С полными результатами опроса можно ознакомиться по ссылкам:
https://2020.stateofjs.com/ru-RU/technologies/front-end-frameworks/
​​Три книги, которые надо прочитать разработчикам, от программиста из Ubisoft

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

Третье место: “Чистый код” Мартин Роберт.
Оригинальное название: Clean Code. A Handbook of Agile Software Craftsmanship by Robert C. Martin
Книга о том, чем отличается хороший код от плохого. По заверению Мехди Зеда, она будет служить вам везде и всегда, на протяжении всей карьеры, став, по аналогии с многопользовательскими играми, вашим “легендарным оружием”. “Чистый код” объясняет понятия от базовых до все более сложных: как правильно давать имена, как строить функции, как управлять тестами, справляться с ошибками и проектировать системы.

Второе место: “Путь программиста” Джон Сонмез
Оригинальное название: Soft Skills: The software developer's life manual by John Sonmez
Второе место в рейтинге Мехди Зеда занимает в принципе не техническая книга. По его словам, на то есть веская причина: техническая сторона работы разработчика не самая сложная, вот только поймете вы это, скорее всего, только спустя несколько лет. Сложнее всего зачастую оказывается сделать правильный выбор в карьере, идти в ногу с технологиями через обучение, оставаться продуктивным, работать с другими людьми и другие вещи, связанные с soft skills.

Первое место: “Глубокая работа” Кэл Ньюпорт
Оригинальное название: Deep Work (Rules for Focused Success in a Distracted World) by Cal Newport
Автор этой книги Кэл Ньюпорт — разработчик c дипломом Массачусетского технологического института. Главное же в ней то, что “Глубокая работа” может научить всему, что нужно знать о том, как управлять своей концентрацией и эффективно распоряжаться временем. Чтобы совмещать ответственную работу, семью и друзей не нужны сверхспособности, достаточно прочитать эту книгу, утверждает Мехди Зед.

Полный текст по ссылке: https://www.jesuisundev.com/en/top-3-must-read-books-for-developers/
​​6 главных трендов и прогнозов в фронтенд-разработке на 2021 год.

Роберто Эрнандес дал свое видение о развитии фронтенд-разработки в 2021 году.

Все тенденции и прогнозы основаны на надежных источниках, таких как Stack Overflow Survey, State of JS, State of Frontend, собственного опыта и мнений экспертов по фронтенду.

1. JavaScript продолжит свое господство
Согласно опросу разработчиков Stack Overflow 2020 года, JavaScript остается самым известным и изучаемым языком программирования в мире уже восемь лет подряд.
Исходя из этого, можно ожидать, что JavaScript останется на пике своего развития в 2021 году и продолжит свое господство еще много лет.

2. Рендеринг на стороне сервера (SSR) и генераторы статических сайтов (SSG)
В 2021 году как Gatsby, так и Next.js будут продолжать расти как в использовании, так и в популярности.
Gatsby продолжит доминировать в области рендеринга статических сайтов. Согласно отчету W3 Techs Technology Market Report (май 2020 г.), Gatsby является самой быстрорастущей структурой.

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

4. React продолжит свою гегемонию
React продолжит доминировать среди фреймворков и библиотек JavaScript в 2021 году.
Эта гегемония продолжится, несмотря на быстрый рост и популярность реактивных фреймворков следующего поколения, таких как Vue.js, Svelte и Stencil.

5. Jamstack
Jamstack означает Javascript, API и разметку.
Это программная архитектура, которая использует эти элементы для создания безопасных, масштабируемых, дешевых и производительных веб-сайтов и приложений.
Согласно данным State of Frontend 2020, почти треть респондентов в последнее время создали Jamstack-приложение .
Массовом использование архитектуры Jamstack в 2021 году также неизбежно.

6. Микро-фронтенды
Думайте о веб-приложении как о комбинации функций, принадлежащих независимым командам, чтобы они могли работать изолированно друг от друга.
American Express, IKEA, Spotify и Starbucks: это лишь некоторые из организаций, которые используют этот архитектурный стиль.
В 2021 году использование и внедрение вырастут в большем количестве организаций.

Полностью статья доступна по ссылке(en): shorturl.at/xRY29
​​Топ трендов разработки в 2021 году
Мы проанализировали статьи о трендах разработки на 2021 год сразу нескольких ресурсов (dev.to) и разработчиков (основатель Core dna Сэм Солтис, IT-консультант Алексей Гуреев и др.) и составили свой список.

1. Внедрение искусственного интеллекта (AI) и машинного обучения (ML)
AI все глубже проникает в цифровую жизнь, а обработка естественного языка (NLP) и ML перешли от теоретических концепций к коммерческим вариантам использования. Что с этим делать? Оцените свои бизнес-процессы на возможность использования AI/ML, внедряйте инструменты аналитики в маркетинговые кампании, используйте чат-ботов.

2. Голосовой поиск и навигация
Голосовой поиск и навигация уже стали частью повседневной жизни, облегчив, например, поиск информации или создание заметок. Google сообщает, что 27% онлайн-пользователей в мире используют голосовой поиск на мобильных устройствах. Apple и Google используют эти технологии в процессе проектирования UI/UX, так что их уже нельзя игнорировать.

3. Бессерверная архитектура
Бессерверные технологии — результат поиска решения сразу трех проблем: перегрузки систем, потери данных и высокой стоимости разработки. Одним из решений стали облачные вычисления, которые могут заменить обычные серверы. Наиболее распространенные задачи, которые можно выполнить с ними: загрузка резервных копий файлов, доставка уведомлений и экспорт объектов.

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

5. Смешанная реальность (MR)
MR — это комбинация дополненной (AR) и виртуальной реальности (VR). AR объединяет цифровой контент с физической средой пользователей, тогда как VR обеспечивает полный эффект присутствия. Эти технологии уже используются в разработке веб-приложений, обороне, туризме, архитектуре, строительстве, играх, здравоохранении, а также медиа и развлечениях. Среди прочего, компании могут использовать AR и VR, чтобы позволить потенциальным клиентам «опробовать» продукты виртуально.
​​Java 16 — новые возможности будущего обновления

Java Development Kit(JDK) 16 достиг второй фазы Rampdown. Выход полноценного обновления назначен на 16 марта 2021 года.

В Java появятся семнадцать новых возможностей. Среди них изолированные типы, статические члены внутренних классов, API доступа к внешней памяти, новый сборщик мусора, переход на новую систему управления версиями Git и переезд на Github.

Полный список доступен по ссылке: https://openjdk.java.net/projects/jdk/16/
​​Как веб-стандарты отстают от инструментов разработки

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

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

Вся статья доступна по ссылке:
https://css-live.ru/articles-css/chtoby-byt-vperedi-veba-veb-standartam-nuzhno-bezhat-v-dva-raza-bystree.html
​​Лучшие онлайн-ресурсы для тренировки навыков программиста

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

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

Topcoder.com
Ресурс для соревнований с другими дизайнерами, разработчиками и датасайентистами, на котором несколько раз в месяц в определенное время проводятся матчи в один раунд. Здесь можно встретить лучших программистов, которых трудно будет превзойти.

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

Codeforces.com
Проект, объединяющий людей, которые участвуют в соревнованиях по программированию. С одной стороны — социальная сеть, с другой — площадка, где регулярно проводятся такие соревнования.

Coderbyte.com
Этот веб-сайт предлагает более 200 задач на десяти языках программирования. Там же можно ознакомиться с официальными решениями проблем и вариантами самих пользователей, а также с курсами по веб-разработке, алгоритмам и структурам данных.

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

Я хотел бы, чтобы реальная жизнь могла измеряться по формуле вычислительной сложности как в информатике. Например:
- Написать твит - это O(1)
- Дружба - это O(log n)
- Любовь - это O(n)
- Брак - O(n log n)
- Поиск смысла жизни - O(2^n)

А вы помните название последней формулы?
​​HTTP Archive представил ежегодный отчет о состоянии веба

Web Almanac — это всеобъемлющий отчет о состоянии веба, подкрепленный реальными данными и подтвержденный авторитетными веб-экспертами. Отчет состоит из 22 глав, охватывающих такие аспекты, как содержание страниц, пользовательские ощущения, публикация и распространение информации.

Некоторые данные из отчета:

— jQuery используется на 87% страниц в интернете;
— !important в среднем появляется в 2% всех CSS объявлений на странице;
— Wordpress занимает 31% всего рынка CMS;
— 83,5% мобильных страниц используют библиотеку или фреймворк JavaScript, по крайней мере, с одной известной уязвимостью.

Полный отчет за 2020 год по ссылке: https://almanac.httparchive.org
​​Fable получил новое минорное обновление

Очередное минорное обновление компилятора, преобразующего функциональный язык платформы .NET в JavaScript. Полноценная третья версия продукта вышла в декабре 2020 года.

Fable компилирует F# в JavaScript. По задумке создателей, он должен помочь бэкенд-разработчикам и приверженцам функционального программирования в разработке веб-интерфейсов. Энтузиасты, разрабатывающие этот опенсорсный проект, уже говорят о превращении его в полноценную экосистему.

Сайт Fable: fable.io
​​Новые возможности ECMAscript 2021

Очередное заседание TC39 — комитета разработчиков и теоретиков JavaScript — завершилось опубликованием 3 февраля списком функций ECMAScript 2021. Вот несколько самых интересных нововведений (некоторые из них уже были доступны в разработке через Babel).

1. Promise.any
Метод Promise.any() принимает несколько "обещаний" (Promise). Как только одно из "обещаний" выполнится успешно, метод возвращает единственный объект Promise со значением выполненного "обещания". Если ни одно из "обещаний" не завершится успешно, то возвращенный объект promise будет отклонен. По существу, метод Promise.any() — противоположность для Promise.all().

2. Оператор логического присваивания
Оператор логического присваивания означает, что можно будет использовать комбинацию логических операторов &&, || или ?? с присваиванием = . Присваивание произойдет при выполненном условии.

3. replaceAll()
String.prototype.replaceAll() заменяет все вложенные строки, согласно паттерну, другим строковым значением. В отличие от уже существующего метода replace(), который заменяет только первую найденную часть строки.

4. Приватные поля класса
В ES2021 объявить приватными переменную или метод очень просто, просто нужно поставить # перед именем переменной/метода.

5. WeakRef
Когда мы присваиваем объект переменной, он указывает на часть памяти, где хранится значение этого объекта (сильная ссылка). Если программа больше не ссылается на этот объект, сборщик мусора уничтожает его и освобождает память. Экземпляр WeakRef создает ссылку на заданный объект, которая возвращает его, если он все еще находится в памяти, или undefined, если целевой объект был удален сборщиком мусора.

Полный текст ECMAScript 2021: https://tc39.es/ecma262/
​​Искусственный интеллект ответил, что такое любовь

Дата-сайентист Прашант Мудгал обучил философским трудам модель машинного обучения GPT-2. GPT-2 сейчас находится в открытом доступе на GitHub, более продвинутая модель GPT-3 все еще не доступна для широкой публики.

Разработчик развернул модель на своем локальном компьютере (MacBook Pro 16”) и снабдил минимальным интерфейсом, а затем использовал для ее обучения тексты Аристотеля, Платона, Ницше и Вольтера. По словам автора, машина несколько раз дала разумные на вид ответы на задаваемые ей вопросы, но большую часть времени диалог был похож на разговор с человеком, у которого серьезные психические проблемы.

Вот один из примеров “разумного” ответа GPT-2 на вопрос, что такое любовь: “Любовь это хорошо. Любовь это весело и замечательно. Она огромна. Она огромна. Она большая. Любовь и жизнь родственны, но правда горька. К сожалению, никто не любит тебя. Некоторые люди не понимают этого”.

Вся статья доступна по ссылке: https://towardsdatascience.com/-taught-philosophy-to-gpt-2-and-it-felt-i-am-talking-to-a-deranged-but-intelligent-person-875820735af5
​​5 главных тезисов из книги “Прагматичный программист”

Разработчик из noiiz.com Джейми Буллок рассказал о главных выводах из книги “Прагматичный программист” (The Pragmatic Programmer by Andrew Hunt, David Thomas), которую ресурс best-books.dev признал лучшей книгой по программированию всех времен.

1. DRY (Don’t Repeat Yourself) — не повторяйся
Авторы определяют принцип DRY следующим образом: «Каждая часть знания должна иметь единственное, недвусмысленное и авторитетное представление в системе».
DRY — это не только предотвращение дублирования кода, но и дублирования знаний, намерений, структур данных, дизайна, API или даже усилий членов команды.

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

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

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

5. Agile — не то, что вы думаете
Авторы критикуют жесткие методологии и связанные с ними сертификаты:
“Нужна способность смотреть за рамки существующих правил и использовать все возможности. Это совершенно другой образ мышления”. По их мнению, решения по управлению проектами всегда должны быть “контекстными” и зависеть от компании, команды и многих других факторов.

Вся статья доступна по ссылке: https://medium.com/better-programming/5-essential-takeaways-from-the-pragmatic-programmer-6bb3db986294
​​Пора ли переходить ли на Vue 3?

Автор блога Maison Futari подробно разобрал, в каких случаях стоит переходить на обновленную версию фреймворка Vue 3, а в каких — Vue 2 все же будет лучшим вариантом для вашего проекта.

Краткая выжимка такова:

📌если вам нужна поддержка Internet Explorer 11, не используйте Vue 3: такой поддержки пока нет;

📌если вы работаете в большом давно существующем проекте, не используйте Vue 3: в зависимости от кода, время миграции и преимущества в производительности могут просто не окупиться;

📌если у вас есть проблемы с производительностью даже после некоторых оптимизаций, используйте Vue 3;

📌если вам нужна поддержка TypeScript, используйте Vue 3, где она намного лучше, чем раньше;

📌и очевидное: не все плагины и фреймворки успели перейти на новую версию, используйте Vue 3 только, если нужные вам зависимости поддерживают его.

Полный текст разбора по ссылке: https://itnext.io/yes-vue-3-is-out-but-you-probably-dont-need-it-%EF%B8%8F-3e60634991b4
​​Запускаем конкурс pet-проектов разработчиков. Принимайте участие!

Пока сайт Highload готовится к запуску, мы объявляем старт конкурса 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/
Highload — медіа для розробників pinned «​​Запускаем конкурс pet-проектов разработчиков. Принимайте участие! Пока сайт Highload готовится к запуску, мы объявляем старт конкурса pet-проектов — тех, которые вы делаете с особой заботой и любовью. Расскажите о своем «питомце», а мы вместе с опытными…»
​​COBOL живее всех живых

В 2020 году в Нью-Джерси (США) неожиданно обнаружилась нехватка программистов на языке COBOL: перегруженность системы выплат по безработице, написанной 40 лет назад на этом языке программирования, вызвала задержку в обработке дел.

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

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

Вся статья доступна по ссылке: https://www.datacenterknowledge.com/design/no-cobol-not-dead-language
​​Подсудимый в США проверит код софта для теста ДНК, чтобы доказать невиновность

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

Апелляционный суд Нью-Джерси (США) постановил, что Кори Пикетт, обвиняемый в стрельбе со смертельным исходом в 2017 году, имеет право проверить проприетарный софт для генетического тестирования, чтобы оспорить доказательства, представленные против него. Программа TrueAllele помогла проанализировать генетический образец из оружия, которое использовалось для связи обвиняемого с преступлением.

Производитель программного обеспечения, компания Cybergenetics настаивала, что исходный код программы — коммерческая тайна. Соучредитель Cybergenetics Марк Перлин к тому же заявил, что программа состоит из 170 тыс. строк кода MATLAB, настолько плотных, что на их проверку потребуется восемь с половиной лет. Но суд эти доводы не убедили: Cybergenetics придется открыть код TrueAllele для команды защиты.

Ссылка на новость: https://www.theregister.com/2021/02/04/dna_testing_software/
Вакансия: Senior Backend Developer в SocialTech

SocialTech – продуктовая IT-компания в индустрии social discovery, у которой миллионы пользователей.

В свою дружную команду компания ищет senior backend developer, который имеет от 4 лет опыта. Кроме интересных задач в SocialTech предлагают клубы по интересам, бесплатное посещение тренингов и изучение английского языка.

#вакансия

https://mc.today/vacancy/senior-backend-developer/?utm_source=telegram&utm_medium=social&utm_campaign=telega