IT Верстальщик
1.17K subscribers
50 photos
1 video
240 links
Авторский блог про веб-разработку

Подборки сервисов, статей и новостей в мире front-end и back-end
Download Telegram
Как создать объект без прототипа (prototype)?
Anonymous Quiz
32%
const obj = {}
16%
const obj = Object.create()
33%
const obj = Object.create(null)
19%
const obj = new Object
​​Fresh - самый быстрый SSR. Deno в действии. Быстрый курс

Фреймворк Fresh, который позволяет реализовывать Islands Architecture в рамках React.

Фреймворк написан на платформе Deno и можете удивиться скорости его работы

https://www.youtube.com/watch?v=gCkCSyhjLTs&t=1138s
8 редких HTML тегов, которые почти НИКТО не знает!

HTML новые теги: datalist, sub, sup, details, summary, dialog, figure, picture

Клик, чтоб посмотреть
​​Что такое Web3 и почему это важно?

Web3 — это концепция нового, лучшего Интернета. Web3 основан на блокчейнах, криптовалютах и NFT, чтобы отдать власть обратно пользователям в форме владения.

Сеть Web3 децентрализована: вместо больших сегментов Интернета, контролируемых и управляемых централизованными организациями, владение будет распределено между создателями и пользователями.

Web3 не регулируется: все принимают участие на равных правах, и никто не исключается.

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

Web3 не требует доверия: все работает через экономические механизмы и не требует доверять какой-либо третьей стороне.

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

Стек Web3:

- блокчейн;
- среда разработки блокчейна;
- файловое хранилище;
- базы данных P2P;
- API (индексирование и запросы);
- идентичность;
- клиент (фреймворки и библиотеки);
- другие протоколы.
Сайт, Сэр - telegram канал web-разработчика с 10-летним стажем, где он делится:

нейросетями - сделают за вас грязную работу
сниппетами - реализуют крутые фишки на сайте
сервисами - упростят и сэкономят время
библиотеками  - помогут быстро решить задачу
Чем заменить jQuery: Alpine.js или Stimulus?

Alpine.js - все-таки его синтаксис сильно похож для Vue - такой же лаконичный и приятный.
Однако, хранить всю логику прямо в HTML аттрибутах я считаю крайне некрасиво, поэтому используют компоненты.

Stimulus, наверное, более правильный способ разработки, но под каждое действие придется создавать отдельный файл, что занимает время, да и синтаксис для меня менее очевидный.
Почему профессия тестировщика — это трамплин в IT-сферу?

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

На курсе «Профессия Инженер по тестированию» в Хекслете вы:

✔️разберетесь в видах ручного тестирования освоите современные техники тест-анализа и тест-дизайна;
✔️узнаете, как составлять чек-листы и тест-кейсы для поиска ошибок;
✔️поймете, как работать с баг-трекером;
✔️познакомитесь с основами автоматизированного мобильного тестирования.

Переходите по ссылке, чтобы узнать больше информации и зарегистрироваться на курс!

Начните прямо сейчас!
Вводные курсы профессии доступны бесплатно сразу после регистрации👆👆👆
ES12 и его функции

String.prototype.replaceAll, операторы логического присваивания, разделители числовых разрядов и Promise.any.

replaceAll: для всех, кто боится регулярных выражений
Теперь мы можем заменить все объекты на другие без использования регулярных выражений.

??=
Оператор логического нулевого присваивания (Logical nullish assignment) выполняет присваивание значения только в том случае, если переменная слева равна null или undefined

&&=
Оператор логического И присваивания (Logical AND assignment) выполняет присваивание значения только в том случае, если значение переменной слева истинно (truthy).

Оператор логического нулевого присваивания ??= проверяет, является ли левое значение null или undefined. Если это так, ему присваивается правое значение.

Оператор логического ИЛИ присваивания ||= выполняет присваивание только если левое значение является falsy.
Оператор логического И присваивания &&= наоборот работает только с truthy значениями.

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

Promise.any() принимает массив промисов и возвращает тот их них, который будет разрешен первым. Если все промисы отклонены, вернется ошибка.
​​Как передать массив объектов в компонент через props?

interface NewsProps {
news: INews,
post: Object
}
const News:FC<NewsProps> = ({news, post}) => {
Почему JavaScript не сделают язык типизированным как TypeScript?

Потому что это потенциально ломающее изменение.

Вообще уже есть предложения с добавлением опциональной статической типизации, как у TS, но при помощи комментариев (чтобы не ломать те реализации, в которых ещё нет такой опции).

На счёт худшести системы типов у js можно много спорить, но пользу динамическая типизация тоже даёт.

Например у вас не болит голова от отсутствия строгих контрактов с бэкендом.
​​Разработка документации на VuePress

VuePress представляет собой минималистичный генератор статичных сайтов, оптимизированный для написания технической документации.

Изначальной целью VuePress, была поддержка фреймворка Vue.js и сопутствующей инфраструктуры. Для примера, можно посмотреть любую документацию по Vue: Vue.jsVue RouterVuex, где применяется единый стиль, заложенный в основе VuePress.

👉 Подробнее
State of JavaScript 2022

Вышел полный отчет про JavaScript за прошлый год.

В опросе участовали почти 40 000 разработчиков и из него вы можете узнать про актуальное состояние любимого языка.

Для себя отметил несколько интересных тенденций:

1. Неудовлетворенность от React растет и разработчики рассматривают альтернативные инструменты (Svelte, Solid, Qwik)
2. TypeScript теперь используют на проде чаще, чем JavaScript
3. Небинарный (гендерно-неконформный) гендер среди программистов встречается около 1.1% 😁
4. Vite постепенно заменяет Webpack

Многое рассказал в последнем ролике про тренды 2023

Узнать полный отчет по библиотекам, фреймворкам, зарплатам, разработчикам и в целом про всю экосистему JavaScript можете по ссылке ниже:

https://2022.stateofjs.com/ru-RU/
Please open Telegram to view this post
VIEW IN TELEGRAM
​​Redux и Vuex

Redux и Vuex – это две совершенно разные библиотеки или одно и то же в разной обертке? 

Управление состоянием:

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

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

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

Redux и Vuex созданы для решения одной и той же задачи – управления состоянием большого приложения. Возможно, они делают это принципиально разными способами.

На первый взгляд, подходы Vuex и Redux к изменению состояния принципиально отличаются. Редьюсеры и иммутабельность данных против мутаций. Разные концепции, разные понятия, но суть для разработчика одна: не лезь в данные напрямую, используй только разрешенные методы изменения. Redux несколько серьезнее относится к отсутствию сайд-эффектов, Vuex предоставляет несколько более интуитивный интерфейс.
​​В чем дело со SvelteKit?

SvelteKit - это фреймворк для создания web-приложений любых размеров, предлагающий прекрасный опыт разработки и гибкую маршрутизацию на основе файловой системы.

Создание приложения с учётом всех современных передовых практик — невероятно сложная задача. Эти практики включают в себя оптимизацию сборки, так что вы загружаете только минимальный необходимый код; поддержку работы без сетипредзагрузку данных страницы до того, как пользователь перейдет на следующую страницу; и настраиваемый рендеринг, который позволяет генерировать HTML на сервере или в браузере во время выполнения или во время сборки. Все эти скучные вещи SvelteKit сделает за вас, а вы можете сотредоточиться на творческой части проекта.

SvelteKit использует Vite вместе со Svelte plugin, что даёт множество возможностей и молниеносную разработку с горячей заменой модулей (HMR), где изменения вашего кода мгновенно отражаются в браузере.

Чтобы понять это руководство, знать Svelte не обязательно, но желательно. Если коротко, Svelte — это фреймворк, который компилирует ваши компоненты в высокооптимизированный ванильный JavaScript. Прочтите вводную статью в блоге Svelte и учебник Svelte, чтобы узнать о нём побольше.
​​React JS: Junior - Middle - Senior

Junior React разработчик:
- имеет опыт с базовыми концепциями React, такими как компоненты, состояние и пропсы
- может создавать простые одностраничные приложения с небольшим количеством компонентов
- знаком со многими общими библиотеками и инструментами React, такими как React Router и Redux.

Middle React разработчик:
- имеет опыт с дополнительными концепциями React, такими как хуки и контекст
- может создавать сложные одностраничные приложения с множеством компонентов и маршрутов
- знаком со многими общими библиотеками и инструментами React, такими как Redux и GraphQL
- может выполнять базовые тестирования с помощью Jest или Enzyme.

Senior React разработчик:
- имеет опыт с дополнительными концепциями React, такими как хуки и контекст
JavaScript c Нуля - Курс для начинающих с практикой [2023]

JavaScript c нуля - Полный курс по основам для начинающих. В курсе вы найдете все необходимые темы, для того, чтобы начать программировать на JavaScript с нуля. В ролике вы сделаете несколько практических проектов, на которых рассмотрите сразу в боевых действиях язык. Приятного просмотра!

https://youtu.be/fcMcf_4PjfI
Вакансия: Frontend

В небольшую русскоязычную американскую компанию web-разработки требуется фронтендер на полный рабочий день. Можно без опыта работы. По результатам тестового задания и собеседования будет оплачиваемая стажировка 1-2 месяца за 30-40к рублей.

1. Должен знать/уметь/хотеть в:
  а)  вёрстку HTML5/css/scss
  б) JavaScript/JQuery
  в) WP
 
2. Опционально:
  а) React
  б) Vue.js
  в) Rails
  г) bitrix

В ЛС отвечу на вопросы, @IvZemch
Forwarded from Metaprogramming
Вкратце про забастовку Реддита

Модераторы-волонтёры сообществ реддита, возмущённые введением оплаты за доступ через API, что фактически отбирает возможность использовать сторонние приложения, ботов и т.п., закрыли доступ к сообществам. Администрация вроде как пошла в чём-то навстречу, одновременно заявив, что кому не нравится, тех лишим статуса модератора, а если в каких-то сообществах не останется ни одного, так наберём команду новых. Думаю, перетягивание одеяла туда-сюда может по разным поводам продолжаться долго (хотя надо было переполошиться раньше, как минимум когда начали блокировать "государственную пропаганду недружественных стран", как будто бы дело происходит не в цитадели демократии, а на восточноевропейской периферии).

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

1. Набираем десять миллионов (сто миллионов, миллиард, десять миллиардов) пользователей
2. Разбиваем их по интересам, организуем какую-то движуху-развлекуху
3. ???
4. ПРИБЫЛЬ

В качестве третьего пункта в разное время предлагалось (и в той или иной мере в настоящее время используется):

1. Продать базу данных "кто что сказал и кто с кем дружит" спецслужбам
2. Продать пол, возраст и список интересов пользователей рекламодателям
3. Продать одной политической партии возможность забанить другую

Худо-бедно с полуфиктивной отчётностью и подтасовками в небольшом количестве случаев нарисовать прибыль удалось. По факту же – бесполезно, нетто минус.

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

В действительности, разумеется, реддиторы никому не нужны. Для бизнеса это не актив, а пассив, бесплатно проедающий выделенные на них огромные производственные мощности и заметные производительные силы. А модераторы (к тому же "работающие" бесплатно, т.е. с точки зрения бизнеса буквально не дееспособные – с которыми технически невозможно договариваться) не нужны вдвойне. (И сам реддит, разумеется, не нужен, но мы как бы рассматриваем вопрос с другой позиции.)

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