Elm – забава или серьёзный инструмент?

Привет, Хабр!
Данный обзор познакомит вас с частичкой мира функциональных языков программирования, а именно с Elm, кто-то узнает про этот инструмент, кто-то про то, что фронтенд – это не только HTML, CSS и JS.

Прототипно-ориентированный язык программирования

Привет, Хабр!
Данный обзор познакомит вас с частичкой мира функциональных языков программирования, а именно с Elm, кто-то узнает про этот инструмент, кто-то про то, что фронтенд – это не только HTML, CSS и JS.

Предисловие
Этот туториал предназначен в первую очередь для новичков в разработке на Frontity (React framework для WordPress).
Основная цель
Собрать в одном месте необходимую информацию для настройки авторизации для приватных эндпоинтов WordPress на примере получения коллекции меню.

Одной из очень спорных и обсуждаемых тем в автоматизации тестирования является выбор языка программирования. Особенно, когда речь идет о связке с самым популярным инструментом автоматизации – Selenium WebDriver, ведь он имеет официальную поддержку пяти языков: Java, C#, Python, JavaScript и Ruby. В дополнении к этому существует большое количество реализаций на других языках. Так что же нам лучше выбрать?
Опытный автоматизатор, хоть раз программирующий с использованием более чем одного языка, без сомнения скажет, что важна задача, а не инструмент. В этом и состоит большая разница, когда мы говорим “программированием на языке” или “программируем с использование языка.” При программировани с использование языка мы отталкиваемся от цели, для которой мы выбрали какой-либо язык программирования. Приведу пример: мы не хотим программировать на языке Swift, а хотим разрабатывать IOS приложения (это цель) и тогда, конечно же, мы должны освоить Swift, а не Java. Когда же мы говорим про автоматизацию тестирования, нашей целью может быть уменьшение времени ручного регресса за счет написания автотестов. Оно включает разработку многоуровневого фреймворка, подключение сторонних библиотек, оберток для интеграции вспомогательных инструментов, написание PageObjects для декомпозиции и инкапсуляции работы с элементами страницы / экрана приложения. Как видите, эти задачи не привязаны к платформе, технологии и какому-либо языку программирования. Именно поэтому в большинстве случаев в работе тестировщика-автоматизатора язык программирования является вспомогательным фактором.
В этой статье я расскажу как создал модуль под Nest.js позволяющий писать классическое RESTFull API со swagger'ом но клиент будет полностью на WebSocket'ах, звучит странно не так ли? Но зато очень быстро и удобно по итогу)
Идея состоит в том, что вы пишите классическое документированное апи, со всеми типами и плюшками.

Много лет назад, смотря на крутейшие авторские посты, где творили самую настоящую техно-магию, я твердо решил - больше не писать до тех пор, пока не смогу сделать что-то такое, чем смогу гордиться. К этой статье-анонсу я шел почти 10 лет.
С огромной гордостью, хочу анонсировать WebEngine - IDE и набор технологий для создания современных сайтов на React, а в дальнейшем Angular, Vue, тем для WordPress, приложений на Electron и многое другое.
Эта статья содержит много текста, включая технического, абстрактного, критику устоев мироздания и главное - в ней не будет ссылок на beta-билд. А в конце статьи будут советы как делать не надо. Все атрибуты высорейтинговой и интересной статьи на месте.

Здравствуйте, друзья!
Мы продолжаем разбирать максимально простым языком алгоритмы и структуры данных на JavaScript. Тема нашей сегодняшней статьи — рекурсия. Для многих разработчиков рекурсия кажется чем-то очень сложным и непонятным, но не переживайте, не так страшен черт, как его малюют.
И сегодня мы узнаем, как устроена рекурсия, а также разберем алгоритм сортировки массива под названием Quick Sort или, как еще его называют, быстрая сортировка Хоара. Как вы уже догадались, этот алгоритм рекурсивный.
Если вы еще не читали нашу первую статью (про алгоритмы поиска и Big O нотацию), то можете найти ее здесь.
Ссылку на вторую статью (про алгоритмы сортировки и оценку сложности алгоритмов по скорости и памяти) вы можете найти здесь.
А сейчас давайте перейдем к теме статьи.
Рекурсия
Рекурсия, если максимально упростить, это вызов функцией самой себя. Этот приём программирования можно использовать, когда есть возможность разбить задачу на несколько более простых подзадач. И, написав решение этой задачи в функции и вызывая ее рекурсивно, мы можем все эти задачи итеративно решить.
Давайте взглянем на простой пример.


В сентябре Microsoft анонсировал TypeScript 4.9 beta. В бета-версии появились любопытные нововведения и исправления: новый оператор, оптимизация производительности, улучшения существующих типов… Разбираем самые интересные фичи этого анонса.

Как получить от ESLint максимум пользы? Что можно впихнуть в библиотеку на два килобайта? Как выжать больше производительности, когда очевидные оптимизации уже сделаны? Почему слоны умные и параноидальные? Всё это будет в программе HolyJS (да-да, про слонов тоже). Собрали описания всех докладов в этом хабрапосте и разделили на тематические блоки.
Конференция в этот раз пройдёт в два этапа: сначала два дня будут полностью онлайновыми, а вот в третий день можно будет хоть прийти на офлайн-мероприятие в Москве, хоть подключиться удалённо. Другие подробности (вроде точного расписания) и билеты — на сайте.

Привет, друзья!
Представляю вашему вниманию перевод этой замечательной статьи, которая содержит интересный обзор истории развития веб-разработки с точки зрения используемой архитектуры.
Веб состоит из технологий, появившихся более 25 лет назад. HTTP, HTML, CSS и JS были стандартизированы в середине 90-х (когда мне было 8 лет). С тех пор веб эволюционировал в вездесущую платформу приложений. Одновременно с эволюцией веба развивалась и архитектура разработки соответствующих приложений. Сегодня существует большое количество архитектур, которые можно использовать для разработки веб-приложений. В настоящее время самой популярной из них является "Одностраничное приложение" (Single Page App, SPA), но сейчас наблюдается переход к новой улучшенной архитектуре.

Продолжение рассказа про разработку pet-проекта о кафе и коворкингах на солнечном Кипре. "Рабочие места" для цифровых кочевников ヽ(。_°)ノ
В первой части я рассказал про REST API микросервис, теперь - про фронтэнд-сайт.

Делиться своими идеями с сообществом - хорошо и правильно. Это позволяет развиваться, перенимать лучшие практики, исследовать новые инструменты, учиться оформлять свои решения. Но какой код стоит выносить в общий доступ? И как делать это на постоянной основе? Чтобы разобраться в этих вопросах я решил сделать свой Javascript OpenSource Boilerplate - маленькую, но максимально расширяемую библиотеку компонентов. Она называется handy-ones.

25 октября команда Next проведёт презентацию, посвящённую новой, 13-ой версии. Данное обновление по традиции именуют крупнейшим. Оно может затронуть буквально всё — от очередных ускорений сборки до изменений в структуре приложения и новых абстракций.
Next.js — крупнейший фреймворк для разработки веб-приложений. Он был создан 6 лет назад, 25 октября 2016 года. За это время было выпущено 12 крупных релизов, делая веб всё быстрее и быстрее. Несмотря на громоздкость фреймворка, размеры каждого последующего релиза не становились меньше, хоть и замедлялись в темпах.
Три года назад команда Next.js впервые провела конференцию, посвящённую релизу и сделала её ежегодной. Исключением стала презентация 11-ой версии, которая прошла в июне 2021 года. В данной статье речь пойдёт о том, какой функционал был завершён в последних обновлениях и что может нас ждать на завтрашней конференции.

Nextjs — самый быстрорастущий фреймворк. После создания, в 2016 году, было выпущено уже 12 обновлений, каждое из которых называлось компанией “крупнейшим”. 25 октября Vercel (компания, владеющая Nextjs) представит новый, 13 релиз, который, конечно же, вновь станет “крупнейшим”. Тем не менее, в этой статье речь пойдёт не конкретно о нём, а о действительно новом для компании процессе.
В мае этого года Nextjs неожиданно выпустил в своём блоге RFC (request for comments). В нём речь идёт, в первую очередь, о новой абстракции — layouts, а также о множестве связанных изменений, нацеленных на ускорение, улучшение DX и стандартизацию путём создания новых конвенций. Это рабочее предложение однозначно заслуживает внимания в меру своей громоздкости для фреймворка и потому, что буквально описывает его будущий вид.
Впервые я познакомился с React в 2015 году и вот уже использую его можно сказать повседневно 7 лет. Бесчисленное количество компонентов было написано за это время, React из подающей надежды модной технологии вырос в серьезную библиотеку и по сути стал стандартом для написания веб приложений в 2022 году.
Мы полюбили эту библиотеку за простое и лаконичное, но в тоже время очень мощное API, производительность, крутейшее коммюнити, наличия множество npm пакетов и просто за возможность решать прикладные задачи быстро и легко.

Скриншот официального сайта https://reactjs.org

У нас возникла задача добавить препроцессинг для параметров активити бизнес-процесса Битрикс24. Когда разбирались в задаче не смогли найти ни одного примера и решили выложить свой - может быть кто-нибудь сможет решить задачу с динамическими списками или освободит себя от необходимости запрашивать код сущности через вебхук

UPD: приложили запись докладов и слайды
Привет, Хабр ? Меня зовут Михаил Подгорный и я руковожу отделом Frontend платформы в Ozon. В нашей компании уже около 500 фронтенд-разработчиков, силами которых было создано более 400 веб-приложений. Мы пишем на TypeScript и Vue, шаблонизируем на JSX, для тестов используем Jest и Playwright. Контейнеризация через Docker, разворачиваем через GitLab и K8s, а следим за всем с помощью Grafana, Prometheus, Thanos, Graylog, Sentry и собственных решений.
С ростом числа проектов и команд унификация и внедрение стандартов становятся необходимостью — общие библиотеки снижают стоимость разработки, единый подход к написанию кода позволяет быстрее обучать новых сотрудников, а стандартизированные программные интерфейсы дают возможность оперативно осуществлять массовые обновления.
Приглашаю в гости на открытый Frontend Meetup Ozon Tech, который состоится 27 октября в 18:00.

Привет, друзья!
В продолжение разговора, начатого в этой статье, хочу рассказать вам еще о некоторых API, которые редко встречаются в "дикой природе", но могут оказаться весьма полезными в "пограничных ситуациях":