Я не изучал паттерны программирования целенаправленно. В процессе разработки я старался улучшить свой код, иногда перенимая самые логичные и эффективные подходы, которые мне встречались. В итоге, когда я приступил к изучению паттернов, я был удивлен, обнаружив, что многие из них мне уже знакомы и активно используются в моей работе. Это было похоже на 'переоткрытие' существующих шаблонов проектирования, к которым я пришел сам в процессе разработки.
Мне не приходилось учить их целенаправленно, и я не пытался их внедрять везде и всегда. Опыт, полученный в процессе рефакторинга кода и создания новых проектов, позволял мне каждый раз реализовывать одно и то же, но всегда стараться делать лучше. В итоге я приходил к пониманию того, что открывал для себя паттерн, даже не зная, что это уже существующий шаблон.
#programming #patterns
Мне не приходилось учить их целенаправленно, и я не пытался их внедрять везде и всегда. Опыт, полученный в процессе рефакторинга кода и создания новых проектов, позволял мне каждый раз реализовывать одно и то же, но всегда стараться делать лучше. В итоге я приходил к пониманию того, что открывал для себя паттерн, даже не зная, что это уже существующий шаблон.
#programming #patterns
👍14🔥3👌1
Что такое ECMAScript?
ECMAScript, часто сокращенно ES, является стандартом, на котором основан JavaScript. Это спецификация, определяющая стандарты для скриптовых языков, включая синтаксис, типы данных, операторы, объекты и методы.
История и Развитие
🔹1997 год, ECMAScript 1: Первая версия стандарта, выпущенная после того, как Netscape передала JavaScript в Ecma International для стандартизации.
🔹1998-2000 годы: Выпуск ES2 и ES3, привносящие некоторые улучшения и нововведения.
🔹ES4: Предлагалось множество изменений, но в итоге эта версия так и не была принята из-за разногласий между членами комитета.
🔹2009 год, ECMAScript 5 (ES5): Ввел строгий режим ('use strict'), а также некоторые улучшения в объектной модели и API.
🔹2015 год, ECMAScript 2015 (ES6): Один из самых значительных выпусков, внесший классы, модули, стрелочные функции, шаблонные строки, и многое другое. Эта версия часто называется ES6.
🔹После 2015 года: Переход к ежегодному циклу выпуска, с добавлением новых функций в каждой версии (ES2016, ES2017, и т.д.).
Значение для JavaScript
1️⃣ Стандартизация: ECMAScript обеспечивает стандартизацию JavaScript, что важно для обеспечения совместимости кода на различных платформах и браузерах.
2️⃣ Современные возможности: Новые версии ECMAScript вводят улучшения и новые возможности, которые делают JavaScript более мощным, гибким и удобным в использовании.
3️⃣ Совместимость: Благодаря стандартизации ECMAScript, разработчики могут быть уверены, что их код будет работать в разных средах исполнения.
#ecmanoscript
ECMAScript, часто сокращенно ES, является стандартом, на котором основан JavaScript. Это спецификация, определяющая стандарты для скриптовых языков, включая синтаксис, типы данных, операторы, объекты и методы.
История и Развитие
🔹1997 год, ECMAScript 1: Первая версия стандарта, выпущенная после того, как Netscape передала JavaScript в Ecma International для стандартизации.
🔹1998-2000 годы: Выпуск ES2 и ES3, привносящие некоторые улучшения и нововведения.
🔹ES4: Предлагалось множество изменений, но в итоге эта версия так и не была принята из-за разногласий между членами комитета.
🔹2009 год, ECMAScript 5 (ES5): Ввел строгий режим ('use strict'), а также некоторые улучшения в объектной модели и API.
🔹2015 год, ECMAScript 2015 (ES6): Один из самых значительных выпусков, внесший классы, модули, стрелочные функции, шаблонные строки, и многое другое. Эта версия часто называется ES6.
🔹После 2015 года: Переход к ежегодному циклу выпуска, с добавлением новых функций в каждой версии (ES2016, ES2017, и т.д.).
Значение для JavaScript
1️⃣ Стандартизация: ECMAScript обеспечивает стандартизацию JavaScript, что важно для обеспечения совместимости кода на различных платформах и браузерах.
2️⃣ Современные возможности: Новые версии ECMAScript вводят улучшения и новые возможности, которые делают JavaScript более мощным, гибким и удобным в использовании.
3️⃣ Совместимость: Благодаря стандартизации ECMAScript, разработчики могут быть уверены, что их код будет работать в разных средах исполнения.
#ecmanoscript
👍16🔥2❤1✍1
Важность практики
В процессе разработки большого приложения на чистом JavaScript, я, находясь на начальном этапе своего обучения, столкнулся с рядом вызовов. Среди них было частое дублирование кода и неэффективное создание элементов. Однако, постепенно, я начал применять специальные шаблоны и разрабатывать универсальные функции, которые упростили работу с JavaScript.
Этот процесс можно сравнить с эволюцией. Хотя я не создавал полноценный фреймворк, я разработал набор удобных функций и методов, аналогичных тем, которые используются в фреймворках. Это не было чем-то столь масштабным, как React или Vue, ведь эти фреймворки разрабатываются большими командами опытных разработчиков. Но мои разработки представляли собой некое подобие фреймворка, скромное, но важное достижение для меня.
Такой опыт оказался чрезвычайно полезным. Он позволил мне глубже понять, для чего нужны фреймворки и что находится у них «под капотом». Разрабатывая эти инструменты, я смог лучше осмыслить принципы, лежащие в основе больших систем.
В процессе разработки большого приложения на чистом JavaScript, я, находясь на начальном этапе своего обучения, столкнулся с рядом вызовов. Среди них было частое дублирование кода и неэффективное создание элементов. Однако, постепенно, я начал применять специальные шаблоны и разрабатывать универсальные функции, которые упростили работу с JavaScript.
Этот процесс можно сравнить с эволюцией. Хотя я не создавал полноценный фреймворк, я разработал набор удобных функций и методов, аналогичных тем, которые используются в фреймворках. Это не было чем-то столь масштабным, как React или Vue, ведь эти фреймворки разрабатываются большими командами опытных разработчиков. Но мои разработки представляли собой некое подобие фреймворка, скромное, но важное достижение для меня.
Такой опыт оказался чрезвычайно полезным. Он позволил мне глубже понять, для чего нужны фреймворки и что находится у них «под капотом». Разрабатывая эти инструменты, я смог лучше осмыслить принципы, лежащие в основе больших систем.
🔥5👌4👍3❤1🎉1
https://academy.reactify.ru/
Готовность на 99%
Тестирую доступность, как выглядит для гостя/ученика.
Думаю завтра открою доступ. Переживаю, что курс не достаточно хороший😬 Синдром самозванца называется?😅
Буду дорабатывать постоянно, доводить до совершенства, жду обратную связь
Лучше заходить с компьютера
Готовность на 99%
Тестирую доступность, как выглядит для гостя/ученика.
Думаю завтра открою доступ. Переживаю, что курс не достаточно хороший😬 Синдром самозванца называется?😅
Буду дорабатывать постоянно, доводить до совершенства, жду обратную связь
Лучше заходить с компьютера
🔥25🎉4❤3👍1
React Новостям БЫТЬ!
Но пока что — раз в месяц. Я подумал, что для того чтобы добавить Redux/Router в приложение, не нужно сначала писать курс по этой технологии.
Всё-таки, "React Новости" — это, прежде всего, практика. Так что через неделю начну записывать новое видео.
Но пока что — раз в месяц. Я подумал, что для того чтобы добавить Redux/Router в приложение, не нужно сначала писать курс по этой технологии.
Всё-таки, "React Новости" — это, прежде всего, практика. Так что через неделю начну записывать новое видео.
🎉10👍7🔥2
Reactify Academy запуск
Официально Академия запущенна для всех желающих. На данный момент там есть один курс по HTML. Я буду активно расширять и добавлять курсы. Так же буду добавлять мини курсы/статьи. Будет интересно.
Хочу еще раз отметить, платформу разрабатывал не я. Это готовый шаблон/конструктор. Открытый проект, которым пользуются различные учебные заведения. Написание своего сайта для курсов задача сложная. Для нее нужна как минимум команда. Я же развернул на своем сервере и настроил уже готовую платформу, добавив в нее изменения, плагины, настройки, темы и тд.
Платформа предназначена в основном для обучения с компьютера, а не телефона. Проблемы с версткой у вас возникают не из-за меня, ошибки в интерфейсе тоже. Верстал интерфейс не я.
Все курсы в Академии будут бесплатными. Помимо курсов будут различные ивенты, соревнования, экзамены и тесты. Это и многое другое будем внедрять постепенно. Там много всего интересного в теории можно добавить.
Жду предложения, советы, найденные ошибки от вас. Но в самом курсе, функциональности. За интерфейс и верстку я не отвечаю.
#academy
Официально Академия запущенна для всех желающих. На данный момент там есть один курс по HTML. Я буду активно расширять и добавлять курсы. Так же буду добавлять мини курсы/статьи. Будет интересно.
Хочу еще раз отметить, платформу разрабатывал не я. Это готовый шаблон/конструктор. Открытый проект, которым пользуются различные учебные заведения. Написание своего сайта для курсов задача сложная. Для нее нужна как минимум команда. Я же развернул на своем сервере и настроил уже готовую платформу, добавив в нее изменения, плагины, настройки, темы и тд.
Платформа предназначена в основном для обучения с компьютера, а не телефона. Проблемы с версткой у вас возникают не из-за меня, ошибки в интерфейсе тоже. Верстал интерфейс не я.
Все курсы в Академии будут бесплатными. Помимо курсов будут различные ивенты, соревнования, экзамены и тесты. Это и многое другое будем внедрять постепенно. Там много всего интересного в теории можно добавить.
Жду предложения, советы, найденные ошибки от вас. Но в самом курсе, функциональности. За интерфейс и верстку я не отвечаю.
#academy
🎉25👍5🔥5❤1
Награды
Так же самые активные будут получать награды. В каждом курсе будут значки и сертификаты за прохождение.
Кто первый получит Сапфировый значок, я проведу экзамен по HTML!
Подобных акций и ивентов будет огромное множество, чтобы вам было интересно учиться.
Будет много наград, в том числе:
- личные созвоны
- менторинг
- тестирование
И многое другое
#academy
Так же самые активные будут получать награды. В каждом курсе будут значки и сертификаты за прохождение.
Кто первый получит Сапфировый значок, я проведу экзамен по HTML!
Подобных акций и ивентов будет огромное множество, чтобы вам было интересно учиться.
Будет много наград, в том числе:
- личные созвоны
- менторинг
- тестирование
И многое другое
#academy
🫡13👍8🔥5✍1
React Signals
Совсем недавно перешел на рабочем проекте с Redux на Signals. Первое впечатление - Очень удобно и легко.
Что мне понравилось?
1️⃣ Легко освоить. React Signals отличаются простотой как в освоении, так и в использовании, особенно по сравнению с Redux. Redux требует понимания сложных концепций, таких как редьюсеры, миддлвары и хранилище (store), в то время как Signals предлагает более прямолинейный и декларативный подход.
2️⃣ Меньше кода. Redux часто критикуют за "шаблонность" и избыточность кода. Для каждого действия необходимо создавать отдельные редьюсеры и экшены, что может привести к увеличению объема кода. Signals же позволяют управлять состоянием напрямую, без необходимости в дополнительных конструкциях, что уменьшает количество кода и повышает его читаемость.
3️⃣ Оптимизация. Signals обеспечивают более эффективное обновление состояния. В Redux, изменение в хранилище может привести к перерисовке всех подключенных компонентов, даже если изменение их не касается. Signals позволяют компонентам подписываться только на те изменения состояния, которые им реально необходимы
4️⃣ Гибкая архитектура. Signals позволяют создавать более модульные и гибкие архитектуры приложений. В Redux, глобальное хранилище означает, что все состояние приложения централизовано, что может быть не всегда оптимально для больших и сложных приложений. Signals же позволяют локально управлять состоянием в контексте отдельных компонентов, что обеспечивает более гранулярный контроль и упрощает масштабирование приложений.
5️⃣ Управление побочными эффектами. В Redux для управления побочными эффектами часто используется дополнительный инструмент, такой как Redux-Saga или Redux-Thunk. Это усложняет архитектуру и увеличивает сложность кода. В случае с Signals, управление побочными эффектами может быть более интегрированным и простым, что упрощает создание и поддержку сложных приложений.
Ставлю жирный лайк Signals. А вы использовали в своих проектах?
#react #signals #state
Совсем недавно перешел на рабочем проекте с Redux на Signals. Первое впечатление - Очень удобно и легко.
Что мне понравилось?
1️⃣ Легко освоить. React Signals отличаются простотой как в освоении, так и в использовании, особенно по сравнению с Redux. Redux требует понимания сложных концепций, таких как редьюсеры, миддлвары и хранилище (store), в то время как Signals предлагает более прямолинейный и декларативный подход.
2️⃣ Меньше кода. Redux часто критикуют за "шаблонность" и избыточность кода. Для каждого действия необходимо создавать отдельные редьюсеры и экшены, что может привести к увеличению объема кода. Signals же позволяют управлять состоянием напрямую, без необходимости в дополнительных конструкциях, что уменьшает количество кода и повышает его читаемость.
3️⃣ Оптимизация. Signals обеспечивают более эффективное обновление состояния. В Redux, изменение в хранилище может привести к перерисовке всех подключенных компонентов, даже если изменение их не касается. Signals позволяют компонентам подписываться только на те изменения состояния, которые им реально необходимы
4️⃣ Гибкая архитектура. Signals позволяют создавать более модульные и гибкие архитектуры приложений. В Redux, глобальное хранилище означает, что все состояние приложения централизовано, что может быть не всегда оптимально для больших и сложных приложений. Signals же позволяют локально управлять состоянием в контексте отдельных компонентов, что обеспечивает более гранулярный контроль и упрощает масштабирование приложений.
5️⃣ Управление побочными эффектами. В Redux для управления побочными эффектами часто используется дополнительный инструмент, такой как Redux-Saga или Redux-Thunk. Это усложняет архитектуру и увеличивает сложность кода. В случае с Signals, управление побочными эффектами может быть более интегрированным и простым, что упрощает создание и поддержку сложных приложений.
Ставлю жирный лайк Signals. А вы использовали в своих проектах?
#react #signals #state
👍6🔥4💯1
Reactify Teams
Приблизительно к концу месяца начнется разработка совместного проекта в командах. А сейчас начинается подготовка.
Этапы:
1️⃣ Сбор заявок. Заполнение формы для участия в проекте.
2️⃣ Отбор. Просмотр заявок. Проведение небольших собеседований.
3️⃣ Формирование команды. Создание чата, знакомство участников. Подключение всех участников к Yandex Tracker, GitHub и другим сервисам/инструментам
4️⃣ Выбор проекта. Совместно выбираем идею для проекта
5️⃣ Распределение ролей. Решаем кто какую часть будет разрабатывать и тд.
6️⃣ Подготовка проекта. Настраиваем репозитории, конфигурации проектов, выбираем стек технологий, структуру проектов, архитектуру, инструменты, дизайн и тд
7️⃣ Начала разработки.
Примут участие до 10-12 человек. В дальнейшем, по мере роста проекта, будем проводить собеседования и принимать новых участников.
Это тестовые команды. Если все пройдет хорошо, то в начале февраля начнется сбор еще 1-2, а может и больше команд.
#teams
Приблизительно к концу месяца начнется разработка совместного проекта в командах. А сейчас начинается подготовка.
Этапы:
1️⃣ Сбор заявок. Заполнение формы для участия в проекте.
2️⃣ Отбор. Просмотр заявок. Проведение небольших собеседований.
3️⃣ Формирование команды. Создание чата, знакомство участников. Подключение всех участников к Yandex Tracker, GitHub и другим сервисам/инструментам
4️⃣ Выбор проекта. Совместно выбираем идею для проекта
5️⃣ Распределение ролей. Решаем кто какую часть будет разрабатывать и тд.
6️⃣ Подготовка проекта. Настраиваем репозитории, конфигурации проектов, выбираем стек технологий, структуру проектов, архитектуру, инструменты, дизайн и тд
7️⃣ Начала разработки.
Примут участие до 10-12 человек. В дальнейшем, по мере роста проекта, будем проводить собеседования и принимать новых участников.
Это тестовые команды. Если все пройдет хорошо, то в начале февраля начнется сбор еще 1-2, а может и больше команд.
#teams
🔥6🎉3🤝2
Reactify Teams [Сбор заявок]
Начинаю сбор заявок до 18 января. Все желающие принять участие должны заполнить форму. Это будет боевая разработка. Участник должен уметь самостоятельно разрабатывать простые приложения с использованием фреймворка.
Пока, что приоритет на такие технологии:
- React для фронтенд
- NodeJs (Nest/Express) для бекенд
Так как это мой стек и я смогу качественнее проверять код и помогать участникам. Плюс решает большинство. Я предполагаю, что React Разработчиков все таки больше.
У нас будет полноценная работа в команде, разработка большого сервиса (решим в дальнейшем).
Уделять проекту много не нужно. Будем двигаться в спокойном темпе. Я думаю, что 7 часов в неделю будет достаточно. В любом случае на Созвонах будем распределять задачи. Если кто-то хочет больше уделять времени, то будет получать задачи более приоритетные.
Это является отличным опытом, который вы можете вписать в свое резюме. Это полноценная разработка IT продукта. Постараемся придумать хорошую идею и возможно продвигать наш проект, чтобы им пользовались другие люди.
Заполните форму
https://forms.gle/VvVGWWJezUyKf9mS8
#teams
Начинаю сбор заявок до 18 января. Все желающие принять участие должны заполнить форму. Это будет боевая разработка. Участник должен уметь самостоятельно разрабатывать простые приложения с использованием фреймворка.
Пока, что приоритет на такие технологии:
- React для фронтенд
- NodeJs (Nest/Express) для бекенд
Так как это мой стек и я смогу качественнее проверять код и помогать участникам. Плюс решает большинство. Я предполагаю, что React Разработчиков все таки больше.
У нас будет полноценная работа в команде, разработка большого сервиса (решим в дальнейшем).
Уделять проекту много не нужно. Будем двигаться в спокойном темпе. Я думаю, что 7 часов в неделю будет достаточно. В любом случае на Созвонах будем распределять задачи. Если кто-то хочет больше уделять времени, то будет получать задачи более приоритетные.
Это является отличным опытом, который вы можете вписать в свое резюме. Это полноценная разработка IT продукта. Постараемся придумать хорошую идею и возможно продвигать наш проект, чтобы им пользовались другие люди.
Заполните форму
https://forms.gle/VvVGWWJezUyKf9mS8
#teams
Google Docs
Reactify Teams
Этап отбора в Reactify Teams
🔥17👍2🫡2
Руслан Куянец | Reactify pinned «Reactify Teams [Сбор заявок] Начинаю сбор заявок до 18 января. Все желающие принять участие должны заполнить форму. Это будет боевая разработка. Участник должен уметь самостоятельно разрабатывать простые приложения с использованием фреймворка. Пока, что…»
Почему мы ушли от Styled Components на проектах
Когда мы начинали писать проекты с использование Styled Components, нам показалось это отличной идеей, сразу обнаружили для себя огромное число плюсов. Однако спустя 6 месяцев использования, решили отказаться от этого.
Использование чистого CSS или CSS Module имеют преимущества перед CSS-in-JS решениями.
🔹Прямая обработка браузером: Чистый CSS обрабатывается непосредственно браузером, что обычно быстрее, чем обработка стилей, внедренных в JavaScript. Браузеры оптимизированы для разбора и применения CSS, что обеспечивает более эффективную отрисовку стилей.
🔹Отсутствие JavaScript-вычислений: Поскольку CSS не зависит от JavaScript для определения и применения стилей, он избегает затрат на производительность, связанных с выполнением JavaScript-кода (например, вычисление стилей на основе состояния или пропсов).
🔹Отсутствие дополнительных библиотек: Использование чистого CSS не требует включения дополнительных библиотек или фреймворков, в отличие от подходов CSS-in-JS, где необходимо использовать библиотеки, такие как Styled Components.
🔹Меньший размер сборки: Поскольку не требуются дополнительные библиотеки, общий размер сборки вашего проекта остается меньше, что положительно сказывается на времени загрузки и производительности веб-страницы.
🔹Уменьшение сложности: Меньшее количество зависимостей также уменьшает сложность проекта, что облегчает поддержку, обновление и устранение ошибок.
Конечно, Styled Components имеют и много плюсов, но мы, разработчики, в нашем мире технологических абстракций, решили отодвинуть в сторону сложности. Мы вернулись к основам: чистому CSS и модулям. Видимо, в какой-то момент мы устали от излишней логики, спрятанной за красивыми интерфейсами. И кто знает, может быть, однажды мы даже сделаем шаг назад к чистому JavaScript, оставив React в покое. В конце концов, иногда проще — это лучше, правда?😅
#css #cssInJs #styledComponents
Когда мы начинали писать проекты с использование Styled Components, нам показалось это отличной идеей, сразу обнаружили для себя огромное число плюсов. Однако спустя 6 месяцев использования, решили отказаться от этого.
Использование чистого CSS или CSS Module имеют преимущества перед CSS-in-JS решениями.
🔹Прямая обработка браузером: Чистый CSS обрабатывается непосредственно браузером, что обычно быстрее, чем обработка стилей, внедренных в JavaScript. Браузеры оптимизированы для разбора и применения CSS, что обеспечивает более эффективную отрисовку стилей.
🔹Отсутствие JavaScript-вычислений: Поскольку CSS не зависит от JavaScript для определения и применения стилей, он избегает затрат на производительность, связанных с выполнением JavaScript-кода (например, вычисление стилей на основе состояния или пропсов).
🔹Отсутствие дополнительных библиотек: Использование чистого CSS не требует включения дополнительных библиотек или фреймворков, в отличие от подходов CSS-in-JS, где необходимо использовать библиотеки, такие как Styled Components.
🔹Меньший размер сборки: Поскольку не требуются дополнительные библиотеки, общий размер сборки вашего проекта остается меньше, что положительно сказывается на времени загрузки и производительности веб-страницы.
🔹Уменьшение сложности: Меньшее количество зависимостей также уменьшает сложность проекта, что облегчает поддержку, обновление и устранение ошибок.
Конечно, Styled Components имеют и много плюсов, но мы, разработчики, в нашем мире технологических абстракций, решили отодвинуть в сторону сложности. Мы вернулись к основам: чистому CSS и модулям. Видимо, в какой-то момент мы устали от излишней логики, спрятанной за красивыми интерфейсами. И кто знает, может быть, однажды мы даже сделаем шаг назад к чистому JavaScript, оставив React в покое. В конце концов, иногда проще — это лучше, правда?😅
#css #cssInJs #styledComponents
❤11👍4🔥3🤔1
Прототип
Прототип (Prototype Pattern) - это паттерн проектирования, который используется для создания объектов, основываясь на шаблонном объекте. Этот паттерн особенно удобен в ситуациях, где создание экземпляров является затратным или сложным. Вместо создания объектов с нуля, вы создаете копии объекта, который служит прототипом, и вносите в эти копии необходимые изменения.
Вот когда стоит использовать Прототип:
1️⃣ Когда создание экземпляра класса требует больших затрат ресурсов: Если инициализация объекта занимает много времени или ресурсов (например, из-за загрузки данных из файла или базы данных), вы можете использовать существующий экземпляр в качестве прототипа для создания новых экземпляров.
2️⃣ Когда система должна быть независимой от способа создания, состава и представления объектов: Прототип позволяет избежать привязки к конкретным классам объектов, необходимых для создания. Это достигается за счет использования общего интерфейса для создания новых объектов из прототипа.
3️⃣ Когда необходимо создавать объекты в ситуации, где классы могут изменяться динамически: Вы можете изменять прототипы во время выполнения программы и создавать новые объекты, основываясь на измененных прототипах.
Примером реализации Прототипа может служить ситуация, где необходимо создать множество объектов с похожими свойствами. Вместо того, чтобы инициализировать каждый объект индивидуально, можно создать один прототип с общими свойствами, а затем создавать новые объекты, копируя этот прототип и изменяя только необходимые атрибуты.
ВАЖНО: Пример демонстрирует паттерн, похожий на "Прототип" в контексте React, но это не классическое использование паттерна. В React предпочтительнее композиция компонентов и передача пропсов. Традиционный паттерн "Прототип" в JavaScript встречается в встроенных прототипах, таких как Array.prototype, позволяющих объектам наследовать общие свойства и методы.
#programming #patterns #prototype
Прототип (Prototype Pattern) - это паттерн проектирования, который используется для создания объектов, основываясь на шаблонном объекте. Этот паттерн особенно удобен в ситуациях, где создание экземпляров является затратным или сложным. Вместо создания объектов с нуля, вы создаете копии объекта, который служит прототипом, и вносите в эти копии необходимые изменения.
Вот когда стоит использовать Прототип:
1️⃣ Когда создание экземпляра класса требует больших затрат ресурсов: Если инициализация объекта занимает много времени или ресурсов (например, из-за загрузки данных из файла или базы данных), вы можете использовать существующий экземпляр в качестве прототипа для создания новых экземпляров.
2️⃣ Когда система должна быть независимой от способа создания, состава и представления объектов: Прототип позволяет избежать привязки к конкретным классам объектов, необходимых для создания. Это достигается за счет использования общего интерфейса для создания новых объектов из прототипа.
3️⃣ Когда необходимо создавать объекты в ситуации, где классы могут изменяться динамически: Вы можете изменять прототипы во время выполнения программы и создавать новые объекты, основываясь на измененных прототипах.
Примером реализации Прототипа может служить ситуация, где необходимо создать множество объектов с похожими свойствами. Вместо того, чтобы инициализировать каждый объект индивидуально, можно создать один прототип с общими свойствами, а затем создавать новые объекты, копируя этот прототип и изменяя только необходимые атрибуты.
ВАЖНО: Пример демонстрирует паттерн, похожий на "Прототип" в контексте React, но это не классическое использование паттерна. В React предпочтительнее композиция компонентов и передача пропсов. Традиционный паттерн "Прототип" в JavaScript встречается в встроенных прототипах, таких как Array.prototype, позволяющих объектам наследовать общие свойства и методы.
#programming #patterns #prototype
👍6👌1
Нашел две рекомендации по прохождению собеседований
1️⃣ Говорите то, что от вас ждут. Немного преувеличивайте. Например, когда HR говорит о размере компании, важно поддержать их взгляды. Если упоминается большая компания, выразите свою любовь к стабильности и отсутствие интереса к стартапам. Наоборот, в случае стартапа, подчеркните неприятие бюрократии и предпочтение малых компаний с "душой".
Или если вас спрашивают о конкретной технологии, скажите, что использовали ее, даже если это не так. Это дает время подготовиться к техническому собеседованию, так как HR не сможет проверить эти знания на месте.
2️⃣ Когда знаете тему хорошо, давайте короткие и точные ответы без углубления. Если знаете средне, расскажите как можно больше из того, что знаете. Если тема вам неизвестна, используйте шутки и отвлеченные ответы, создавая впечатление знатока. Это заставит собеседующих думать, что вы владеете этой темой, и они не будут углубляться в нее, предпочтя обсудить те темы, которые вы затронули поверхностно, но которые вы знаете хорошо.
Как вам рекомендации? А какие вы знаете лайфхаки?😅
#job #work #interview
1️⃣ Говорите то, что от вас ждут. Немного преувеличивайте. Например, когда HR говорит о размере компании, важно поддержать их взгляды. Если упоминается большая компания, выразите свою любовь к стабильности и отсутствие интереса к стартапам. Наоборот, в случае стартапа, подчеркните неприятие бюрократии и предпочтение малых компаний с "душой".
Или если вас спрашивают о конкретной технологии, скажите, что использовали ее, даже если это не так. Это дает время подготовиться к техническому собеседованию, так как HR не сможет проверить эти знания на месте.
2️⃣ Когда знаете тему хорошо, давайте короткие и точные ответы без углубления. Если знаете средне, расскажите как можно больше из того, что знаете. Если тема вам неизвестна, используйте шутки и отвлеченные ответы, создавая впечатление знатока. Это заставит собеседующих думать, что вы владеете этой темой, и они не будут углубляться в нее, предпочтя обсудить те темы, которые вы затронули поверхностно, но которые вы знаете хорошо.
Как вам рекомендации? А какие вы знаете лайфхаки?😅
#job #work #interview
👍12🤪4🔥1🤣1
IT рынок сегодня
Главная проблема заключается в том, что HR-специалисты сталкиваются с трудностями в отборе действительно подходящих кандидатов. Из-за большого количества заявок от новичков, еще не готовых к реальной работе, создается нагрузка на HR-специалистов.
В одном из видео, я рассказывал про свой опыт проведение собеседований. На нашу вакансию Junior React разработчика, за 3 дня откликнулось 700 человек. При этом только 10-20 кандидатов подходили по минимальным требованиям: умели писать проекты с React, Redux, TypeScript. Остальные либо только закончили изучать JS, либо приступили к изучению React, либо не имеют портфолио.
Это отражает общую тенденцию на рынке – стремление начать карьеру в IT как можно скорее, даже не обладая достаточными навыками и опытом. Поражает смелость и необоснованная самонадеянность.
В итоге, в IT-сфере складывается сложная ситуация, когда и HR-специалисты, и кандидаты вынуждены играть в "игру" с завышением требований и опыта. Это приводит к порочному кругу, который мешает эффективному и честному подбору персонала.
Порочный Круг Накрутки Опыта
- Новички без навыков откликаются на вакансии, что создаёт большой поток заявок.
- HR-специалисты не справляются с объемом заявок, и чтобы сократить их количество, повышают требования к опыту.
- Кандидаты, обладающие знаниями но без большого опыта, оказываются в невыгодном положении и вынуждены завышать свой опыт.
- Снова увеличивается поток заявок от неподготовленных кандидатов, ведущий к дальнейшему ужесточению требований.
Решение этой проблемы требует изменения подходов как со стороны компаний, так и со стороны соискателей, с акцентом на реальные навыки и знания, а не только на формальный опыт работы.
#job #work #interview
Главная проблема заключается в том, что HR-специалисты сталкиваются с трудностями в отборе действительно подходящих кандидатов. Из-за большого количества заявок от новичков, еще не готовых к реальной работе, создается нагрузка на HR-специалистов.
В одном из видео, я рассказывал про свой опыт проведение собеседований. На нашу вакансию Junior React разработчика, за 3 дня откликнулось 700 человек. При этом только 10-20 кандидатов подходили по минимальным требованиям: умели писать проекты с React, Redux, TypeScript. Остальные либо только закончили изучать JS, либо приступили к изучению React, либо не имеют портфолио.
Это отражает общую тенденцию на рынке – стремление начать карьеру в IT как можно скорее, даже не обладая достаточными навыками и опытом. Поражает смелость и необоснованная самонадеянность.
В итоге, в IT-сфере складывается сложная ситуация, когда и HR-специалисты, и кандидаты вынуждены играть в "игру" с завышением требований и опыта. Это приводит к порочному кругу, который мешает эффективному и честному подбору персонала.
Порочный Круг Накрутки Опыта
- Новички без навыков откликаются на вакансии, что создаёт большой поток заявок.
- HR-специалисты не справляются с объемом заявок, и чтобы сократить их количество, повышают требования к опыту.
- Кандидаты, обладающие знаниями но без большого опыта, оказываются в невыгодном положении и вынуждены завышать свой опыт.
- Снова увеличивается поток заявок от неподготовленных кандидатов, ведущий к дальнейшему ужесточению требований.
Решение этой проблемы требует изменения подходов как со стороны компаний, так и со стороны соискателей, с акцентом на реальные навыки и знания, а не только на формальный опыт работы.
#job #work #interview
💯13🔥3👏2👍1
Идея проекта для Reactify Teams
Я подумал, а что может быть отличным примером Open-source проекта? Проект, который приносит пользу, улучшает сообщество. Проект, в котором будет задействовано большое количество IT специалистов.
Open-source проект для подбора IT специалистов.
На платформе, кандидат прежде чем выставить свою кандидатуру, должен пройти несколько этапов проверок:
1. Тестовое задание, написание кода
2. Тест, проверка теоретических знаний.
3. Собеседование, общение с разработчиками об опыте и умениях
4. Техническое интервью. Проверка знаний по определенному стеку.
5. Лайвкодинг. Совместное выполнение заданий в онлайн режиме. С гуглением, имитацией реальной работы
Для того чтобы кандидата увидели, он должен подтвердить все свои навыки.
Цели
- Отличить новичков, готовых к работе, от тех, кто не готов.
- Облегчить поиск работы.
- Повысить эффективность и честность процесса подбора персонала.
У HR будет гибкий поиск с ИИ по базе кандидатов. Будут приложены результаты тестовых заданий, экзаменов и собеседований которые он прошел. Будут отзывы о каждом кандидате.
Кто будет заниматься проверкой знаний? - Сообщество. Будем добавлять проверенных людей. В дальнейшем чтобы ограничить количество заявок, введем пошлину, небольшую сумму, которая будет распределяться между ребятами.
Зачем кандидату идти к нам? - Как минимум чтобы расчитывать на честный отбор. Как максимум, чтобы погоняли перед собесами. Полезное с приятным совместить. При этом многие по полгода сидят без собесов, лучше пройти на платформе собес, чем вообще не знать на что ты способен.
Зачем к нам идти HR? - Для облегчения работы. За них 80% сделает сообщество, предоставит хороших кандидатов.
Как вам идея?
#idea #teams
Я подумал, а что может быть отличным примером Open-source проекта? Проект, который приносит пользу, улучшает сообщество. Проект, в котором будет задействовано большое количество IT специалистов.
Open-source проект для подбора IT специалистов.
На платформе, кандидат прежде чем выставить свою кандидатуру, должен пройти несколько этапов проверок:
1. Тестовое задание, написание кода
2. Тест, проверка теоретических знаний.
3. Собеседование, общение с разработчиками об опыте и умениях
4. Техническое интервью. Проверка знаний по определенному стеку.
5. Лайвкодинг. Совместное выполнение заданий в онлайн режиме. С гуглением, имитацией реальной работы
Для того чтобы кандидата увидели, он должен подтвердить все свои навыки.
Цели
- Отличить новичков, готовых к работе, от тех, кто не готов.
- Облегчить поиск работы.
- Повысить эффективность и честность процесса подбора персонала.
У HR будет гибкий поиск с ИИ по базе кандидатов. Будут приложены результаты тестовых заданий, экзаменов и собеседований которые он прошел. Будут отзывы о каждом кандидате.
Кто будет заниматься проверкой знаний? - Сообщество. Будем добавлять проверенных людей. В дальнейшем чтобы ограничить количество заявок, введем пошлину, небольшую сумму, которая будет распределяться между ребятами.
Зачем кандидату идти к нам? - Как минимум чтобы расчитывать на честный отбор. Как максимум, чтобы погоняли перед собесами. Полезное с приятным совместить. При этом многие по полгода сидят без собесов, лучше пройти на платформе собес, чем вообще не знать на что ты способен.
Зачем к нам идти HR? - Для облегчения работы. За них 80% сделает сообщество, предоставит хороших кандидатов.
Как вам идея?
#idea #teams
🔥33🤩2💯2
Доступность в веб-разработке
Доступность (accessibility) в веб-разработке – это практика создания веб-сайтов, которые могут быть использованы всеми людьми, включая тех, кто имеет инвалидность.
Рекомендации
- Правильное использование HTML-элементов (например, <header>, <nav>, <main>, <footer>) помогает скринридерам и другим ассистивным технологиям понимать структуру страницы.
- Альтернативные тексты для изображений: Все изображения должны иметь атрибут alt, который описывает содержание изображения. Это позволяет пользователям скринридеров получать информацию о визуальном контенте.
- Метки (<label>) должны быть связаны с соответствующими полями ввода, что облегчает понимание назначения полей.
- Текст должен иметь достаточный контраст с фоном, чтобы его можно было легко читать.
- Веб-сайт должен быть полностью доступен для навигации с помощью клавиатуры. Это включает в себя использование табуляции, доступ к интерактивным элементам и навигационные меню.
Интернет является неотъемлемой частью жизни большинства людей. Однако для людей с ограничениями по здоровью взаимодействие с многими сайтами и веб-приложениями может быть затруднительным. Адаптация сервисов для незрячих — это не сложно.
Проект Everland занимаемся трудоустройством людей с инвалидностью и развитием доступной среды. Вы можете ознакомится с их исследованиями и прочитать советы по обеспечению доступности веб ресурсов.
https://startinclusion.ru/issledovanie
#accessibility #web
Доступность (accessibility) в веб-разработке – это практика создания веб-сайтов, которые могут быть использованы всеми людьми, включая тех, кто имеет инвалидность.
Рекомендации
- Правильное использование HTML-элементов (например, <header>, <nav>, <main>, <footer>) помогает скринридерам и другим ассистивным технологиям понимать структуру страницы.
- Альтернативные тексты для изображений: Все изображения должны иметь атрибут alt, который описывает содержание изображения. Это позволяет пользователям скринридеров получать информацию о визуальном контенте.
- Метки (<label>) должны быть связаны с соответствующими полями ввода, что облегчает понимание назначения полей.
- Текст должен иметь достаточный контраст с фоном, чтобы его можно было легко читать.
- Веб-сайт должен быть полностью доступен для навигации с помощью клавиатуры. Это включает в себя использование табуляции, доступ к интерактивным элементам и навигационные меню.
Интернет является неотъемлемой частью жизни большинства людей. Однако для людей с ограничениями по здоровью взаимодействие с многими сайтами и веб-приложениями может быть затруднительным. Адаптация сервисов для незрячих — это не сложно.
Проект Everland занимаемся трудоустройством людей с инвалидностью и развитием доступной среды. Вы можете ознакомится с их исследованиями и прочитать советы по обеспечению доступности веб ресурсов.
https://startinclusion.ru/issledovanie
#accessibility #web
startinclusion.ru
Исследование невизуальной доступности сайтов и мобильных приложений — 2023-2024
Невизуальная доступность сайтов и мобильных приложений в разных сферах услуг.
👍10👏2👌1
Reactify Teams [Отбор]
Закрыл возможность подавать заявки на проект. Буду смотреть все заявки и звать на интервью. Всю следующую неделю буду созваниваться с кандидатами, а потом принимать решение.
Кто из подавших заявку готов на этих выходных созвониться, провести небольшой собес? Интервью будет небольшое, минут 15. Иначе 60 заявок я буду месяц разгребать) Это будет больше знакомство и немного проверка скиллов.
Все, кто подавал заявку, можете мне в лс написать кто готов в субботу/воскресение созвониться.
UPD: Стоп. На выходные всех набрал
#teams
Закрыл возможность подавать заявки на проект. Буду смотреть все заявки и звать на интервью. Всю следующую неделю буду созваниваться с кандидатами, а потом принимать решение.
Кто из подавших заявку готов на этих выходных созвониться, провести небольшой собес? Интервью будет небольшое, минут 15. Иначе 60 заявок я буду месяц разгребать) Это будет больше знакомство и немного проверка скиллов.
Все, кто подавал заявку, можете мне в лс написать кто готов в субботу/воскресение созвониться.
UPD: Стоп. На выходные всех набрал
#teams
🔥8👌2🤝1
Redux & RTK Query
В React Новости в следующей серии мы добавим эти технологии. Я уже написал сценарий, завтра буду снимать видео и монтировать.
Что мы сделаем?
- Заменим наш кастомный хук useFetch на RTK Query
- Спрячем состояние фильтров в Redux store
- Покажу вам мою любимую штуку
Это будет практика, не курс. Мы все подключим, настроим, я немного расскажу об этом. Постараюсь на практике донести вам пользу Redux.
#react_новости #redux #rtk_query
В React Новости в следующей серии мы добавим эти технологии. Я уже написал сценарий, завтра буду снимать видео и монтировать.
Что мы сделаем?
- Заменим наш кастомный хук useFetch на RTK Query
- Спрячем состояние фильтров в Redux store
- Покажу вам мою любимую штуку
Это будет практика, не курс. Мы все подключим, настроим, я немного расскажу об этом. Постараюсь на практике донести вам пользу Redux.
#react_новости #redux #rtk_query
🔥9👍2🎉1
Первые интервью
Если у вас вдруг не получается, постарайтесь предупредить заранее. Я запишу другого.
Если на скрине ошибка - напишите мне.
Время МСК. Собес постараюсь сделать не большой. В идеале минут 15. Но может быть и меньше/больше.
Душить не собираюсь, просто поговорим, возможно что-то спрошу по теории.
Созвонимся в телеграмм. Наверное, лучше видеозвонок, но можно и аудио.
Возможно, буду не один, будет коллега еще на связи
#teams
Если у вас вдруг не получается, постарайтесь предупредить заранее. Я запишу другого.
Если на скрине ошибка - напишите мне.
Время МСК. Собес постараюсь сделать не большой. В идеале минут 15. Но может быть и меньше/больше.
Душить не собираюсь, просто поговорим, возможно что-то спрошу по теории.
Созвонимся в телеграмм. Наверное, лучше видеозвонок, но можно и аудио.
Возможно, буду не один, будет коллега еще на связи
#teams
👍10🫡2🤝1