Svelte
Ни для кого не секрет, что в мире фронтенда существует 3 гиганта - React, Angular и Vue.
Не так много времени назад мне выпала возможность поработать на новой технологии, да еще и с нуля. Говоря о Svelte, можно понять что он реально стоит того, чтобы обратить на него внимание. Но все же, он немного не успел занять свое место среди выше перечисленных. За 2 месяца реального проекта на этом фреймворке у меня сложились некоторые впечатления:
- хорошая структура, в одном файле есть все необходимое для компоненты. Чем то напоминает Vue. Может быть страшно когда в файле по миллиону строк, старайтесь разделять все на небольшие компоненты и будет вам счастье.
- по настоящему реактивный - а значит и быстрый. Нету никакого дополнительного DOM, после компиляции все работает напрямую с документом.
- хорошая документация и туториал в рамках работы чисто на Svelte. Чтобы освоится в работе на этом фреймворке мне понадобилось не больше пары дней.
- с помощью SvelteKit можно настроить много функций, например adapter - способ запуска приложения (например через NodeJS), использовать ли SSR в вашем проекте.
- нету супер-большой популярности и как следствие - недостаток библиотек, плагинов. Что использовать для работы с формами, где найти библиотеку компонент - вопросы на которые пока-что трудно ответить. Тот же VSCode не всегда все понимает в Svelte, когда добавляете плагин или, например, фреймворк стилей, не всегда есть официальная документация.
- еще не очень надейтесь найти решения на все проблемы на StackOverflow и других сайтах. С той же проблемой на React можно будет найти в 5 раз больше информации.
Очень рекомендую попробовать этот фреймворк для своих pet-проектов, как минимум получите новый опыт и знания. Для более комплексных проектов, я пока остаюсь на стороне проверенного React.
#experience #опыт
Ни для кого не секрет, что в мире фронтенда существует 3 гиганта - React, Angular и Vue.
Не так много времени назад мне выпала возможность поработать на новой технологии, да еще и с нуля. Говоря о Svelte, можно понять что он реально стоит того, чтобы обратить на него внимание. Но все же, он немного не успел занять свое место среди выше перечисленных. За 2 месяца реального проекта на этом фреймворке у меня сложились некоторые впечатления:
- хорошая структура, в одном файле есть все необходимое для компоненты. Чем то напоминает Vue. Может быть страшно когда в файле по миллиону строк, старайтесь разделять все на небольшие компоненты и будет вам счастье.
- по настоящему реактивный - а значит и быстрый. Нету никакого дополнительного DOM, после компиляции все работает напрямую с документом.
- хорошая документация и туториал в рамках работы чисто на Svelte. Чтобы освоится в работе на этом фреймворке мне понадобилось не больше пары дней.
- с помощью SvelteKit можно настроить много функций, например adapter - способ запуска приложения (например через NodeJS), использовать ли SSR в вашем проекте.
- нету супер-большой популярности и как следствие - недостаток библиотек, плагинов. Что использовать для работы с формами, где найти библиотеку компонент - вопросы на которые пока-что трудно ответить. Тот же VSCode не всегда все понимает в Svelte, когда добавляете плагин или, например, фреймворк стилей, не всегда есть официальная документация.
- еще не очень надейтесь найти решения на все проблемы на StackOverflow и других сайтах. С той же проблемой на React можно будет найти в 5 раз больше информации.
Очень рекомендую попробовать этот фреймворк для своих pet-проектов, как минимум получите новый опыт и знания. Для более комплексных проектов, я пока остаюсь на стороне проверенного React.
#experience #опыт
Всем привет! Мы никуда не пропали - у нас просто были выходные!)
Сегодня вторник, поэтому ловите новый, часто задаваемый вопрос на собеседованиях - что такое SOLID?
Впервые я узнала о SOLID в универе перед экзаменом. Это был третий курс, я уже начала работать по специальности, поэтому учеба меня мало волновала. Но диплом нужно было привезти родителям, поэтому я старалась все закрывать хоть как. Так вот: прямо перед сдачей устной компоненты, я открыла лекции с конца и увидела эти пять правил. Я была уверена, что это мне точно не попадется, поэтому не особо их запомнила, тем более они были на английском (тогда я еще не очень с ним дружила). Ну и что же произошло: преподаватель сразу же сказал, я уверен, что до конца лекций мало кто дошел, поэтому расскажи - что такое SOLID. Я начала очень уверенно, но прям с очень плохим английским рассказывать. Позор длился не долго, он меня остановил, проорал, поставил 4 за старание и отпустил. Я ушла и думала, что больше никогда это мне не пригодится. Но через пару месяцев я пыталась поменять работу и на собеседование опять этот вопрос. А потом опять и опять... Тогда я все таки решила, что нужно изучить SOLID и после этого поняла, что их важно знать каждому программисту.
Так вот, SOLID - это аббревиатура пяти основных принципов проектирование в ООП.
Расшифровка:
Single responsibility — принцип единственной ответственности - означает, что каждый объект должен иметь одну обязанность и эта обязанность должна быть полностью инкапсулирована в класс.
Open-closed — принцип открытости / закрытости - декларирует, что программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения.
Liskov substitution — принцип подстановки Барбары Лисков - «функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа не зная об этом».
Interface segregation — принцип разделения интерфейса - говорит о том, что слишком «толстые» интерфейсы необходимо разделять на более маленькие и специфические.
Dependency inversion — принцип инверсии зависимостей - модули верхних уровней не должны зависеть от модулей нижних уровней, а оба типа модулей должны зависеть от абстракций; сами абстракции не должны зависеть от деталей, а вот детали должны зависеть от абстракций.
Вот как-то так. Всем продуктивной последней рабочей недели в этому году!
#interview #собеседование
Сегодня вторник, поэтому ловите новый, часто задаваемый вопрос на собеседованиях - что такое SOLID?
Впервые я узнала о SOLID в универе перед экзаменом. Это был третий курс, я уже начала работать по специальности, поэтому учеба меня мало волновала. Но диплом нужно было привезти родителям, поэтому я старалась все закрывать хоть как. Так вот: прямо перед сдачей устной компоненты, я открыла лекции с конца и увидела эти пять правил. Я была уверена, что это мне точно не попадется, поэтому не особо их запомнила, тем более они были на английском (тогда я еще не очень с ним дружила). Ну и что же произошло: преподаватель сразу же сказал, я уверен, что до конца лекций мало кто дошел, поэтому расскажи - что такое SOLID. Я начала очень уверенно, но прям с очень плохим английским рассказывать. Позор длился не долго, он меня остановил, проорал, поставил 4 за старание и отпустил. Я ушла и думала, что больше никогда это мне не пригодится. Но через пару месяцев я пыталась поменять работу и на собеседование опять этот вопрос. А потом опять и опять... Тогда я все таки решила, что нужно изучить SOLID и после этого поняла, что их важно знать каждому программисту.
Так вот, SOLID - это аббревиатура пяти основных принципов проектирование в ООП.
Расшифровка:
Single responsibility — принцип единственной ответственности - означает, что каждый объект должен иметь одну обязанность и эта обязанность должна быть полностью инкапсулирована в класс.
Open-closed — принцип открытости / закрытости - декларирует, что программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения.
Liskov substitution — принцип подстановки Барбары Лисков - «функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа не зная об этом».
Interface segregation — принцип разделения интерфейса - говорит о том, что слишком «толстые» интерфейсы необходимо разделять на более маленькие и специфические.
Dependency inversion — принцип инверсии зависимостей - модули верхних уровней не должны зависеть от модулей нижних уровней, а оба типа модулей должны зависеть от абстракций; сами абстракции не должны зависеть от деталей, а вот детали должны зависеть от абстракций.
Вот как-то так. Всем продуктивной последней рабочей недели в этому году!
#interview #собеседование
Какой файл есть обязательным для компиляции всего TypeScript проекта?
Anonymous Quiz
25%
tsconfig.js
11%
web.config
15%
аpp.json
48%
tsconfig.json
😐1
Ребят, кто еще не видел, вышло новое обновление create-react-app 5.0.
Если вы еще не делали eject, будет довольно просто обновиться на 5 версию. Всё, что нужно поправить - версия react-scripts в package.json. Тут у вас уже будет webpack 5 версии, который скорее всего вам будет нужен, если ваш проект еще собирается жить какое-то время.
Подробнее обо всех изменениях можно узнать тут: читать статью.
#tips #советы
Если вы еще не делали eject, будет довольно просто обновиться на 5 версию. Всё, что нужно поправить - версия react-scripts в package.json. Тут у вас уже будет webpack 5 версии, который скорее всего вам будет нужен, если ваш проект еще собирается жить какое-то время.
Подробнее обо всех изменениях можно узнать тут: читать статью.
#tips #советы
👍3
Ребят, поздравляем вас с наступающим Новым Годом! Желаем побольше интересных проектов, добрых заказчиков и поменьше багов!
Спасибо, что вы с нами! Дальше только лучше 💛
Спасибо, что вы с нами! Дальше только лучше 💛
❤2👍2🎉2🔥1🤩1
Я надеюсь все живы, здоровы и хорошо отметили Новый Год. Если да, тогда ловите ещё один часто задаваемый вопрос на собеседованиях: что такое паттерны проектирования? Какие Вы знаете и какие использовали?
Практически на каждом собеседовании у меня спрашивали этот вопрос. Почему? Потому что это действительно важно знать, когда проектируешь или пишешь сложный функционал. Паттерны я выучила еще в университете. Тогда преподаватель нам порекомендовал очень простую книгу, которую я изучила, пока ехала в поезде домой. Это книга Андрея Будая “Дизайн-паттерны - просто, как двери” (прикрепила в посту, одно но, она походу есть только на украинском). Лучшего объяснения я нигде не встречала.
Так вот, паттерны проектирование - это типичные способы решения часто встречающихся проблем при проектирование програм. Их есть три группы: порождающие, структурные и поведенческие (но это редко спрашивают, часто просто спрашивают какие знаете и какие юзали).
Да, когда ты на бекенде, у тебя тут очень много примеров, где можно их использовать. Из моего опыта, на фронте я юзала, например, singleton для логгера, сервисов (на ангуляре), observer на том самом ангуляре (библиотека RxJs), медиатор для сложного функционала и другие.
После книги, мой фаворит по изучении паттернов - сайт https://refactoring.guru/ru/design-patterns .
Изучайте на здоровье и принимайте важные решение в проектировании своего проекта более обдумано!
#interview #собеседование
Практически на каждом собеседовании у меня спрашивали этот вопрос. Почему? Потому что это действительно важно знать, когда проектируешь или пишешь сложный функционал. Паттерны я выучила еще в университете. Тогда преподаватель нам порекомендовал очень простую книгу, которую я изучила, пока ехала в поезде домой. Это книга Андрея Будая “Дизайн-паттерны - просто, как двери” (прикрепила в посту, одно но, она походу есть только на украинском). Лучшего объяснения я нигде не встречала.
Так вот, паттерны проектирование - это типичные способы решения часто встречающихся проблем при проектирование програм. Их есть три группы: порождающие, структурные и поведенческие (но это редко спрашивают, часто просто спрашивают какие знаете и какие юзали).
Да, когда ты на бекенде, у тебя тут очень много примеров, где можно их использовать. Из моего опыта, на фронте я юзала, например, singleton для логгера, сервисов (на ангуляре), observer на том самом ангуляре (библиотека RxJs), медиатор для сложного функционала и другие.
После книги, мой фаворит по изучении паттернов - сайт https://refactoring.guru/ru/design-patterns .
Изучайте на здоровье и принимайте важные решение в проектировании своего проекта более обдумано!
#interview #собеседование
❤2👍2🔥2
Какой output у этого кода?
Anonymous Quiz
10%
I,love,generators
9%
I love generators
13%
I,love,generators,very much
31%
I love generators very much
38%
TypeError: Generator is not iterable
😱5❤2👍2🔥1
Генераторы - это то, что редко используется (чистая правда, возможно они вам никогда и не понадобятся), но все же, я думаю, можно уделить им немного внимания. Плюс, это не займет у вас много времени.
Ниже прикреплю статью, где можете ознакомится с их работой.
В личном опыте хорошее применение генераторов я встречал в Redux Saga.
Читать статью
#article #статья
Ниже прикреплю статью, где можете ознакомится с их работой.
В личном опыте хорошее применение генераторов я встречал в Redux Saga.
Читать статью
#article #статья
🤩3👍2❤1
React-toastify
Я уже наверное надоела вам своим новым проектом, но все же - недавно я копалась в библиотеках для создание уведомлений и нашла ну прям очень крутую - react-toastify. У меня уже был опыт подключении подобных библиотек, он был плохой, то стили не подключались, то сложная документация, то работали через раз. С этой такого не было, кучу настроек, делай что хочешь, как хочешь - все очень просто. Поэтому не могла не поделиться находкой.
Читать документацию
#library
Я уже наверное надоела вам своим новым проектом, но все же - недавно я копалась в библиотеках для создание уведомлений и нашла ну прям очень крутую - react-toastify. У меня уже был опыт подключении подобных библиотек, он был плохой, то стили не подключались, то сложная документация, то работали через раз. С этой такого не было, кучу настроек, делай что хочешь, как хочешь - все очень просто. Поэтому не могла не поделиться находкой.
Читать документацию
#library
🔥3❤2🤩2
Будущее уже наступило и скоро программы будут сами писать новые программы…
Сегодня будет чуть-чуть про ИИ и то, как он поможет в разработке. Нашумевший Github Copilot еще в стадии разработки, но он уже доступен для технического preview, которого я жду уже больше полгода.
Для тех, кто не знает, что это такое, Github Copilot - ваш ИИ, который поможет в написании кода при помощи уже существующего публичного кода (например, из StackOverflow или публичных репозиториев Github). Все, что вам нужно сделать - написать объявление функции или комментарий, в котором опишете что функция должна сделать, и бинго - Copilot предложит вам реализацию. Звучит очень просто и круто.
Мне уже не терпится попробовать, но даже сейчас уже есть разные мысли. Безусловным плюсом является скорость, так как сильно сокращается время на не сильно специфические задачи. Также почти всегда код будет работать (но только не в твоем проекте), так как система будет подбирать лучшие решения. Кстати, если подобранное решение вам не нравится, всегда можно посмотреть следующее, система подгрузит множество разных. Непонятно только, что будет с вашим кодом, не начнет ли Copilot учится и на нем (все мы знаем какая приватность сегодня).
Может у кого-нибудь уже есть доступ, поделитесь мнением в комментариях, у кого еще нету, предлагаю подписаться в очередь на доступ и также рассказать, что ожидаете от такой разработки. Обязательно загляньте на сайт, там сможете более наглядно увидеть как все работает.
Открыть сайт
#article #статья
Сегодня будет чуть-чуть про ИИ и то, как он поможет в разработке. Нашумевший Github Copilot еще в стадии разработки, но он уже доступен для технического preview, которого я жду уже больше полгода.
Для тех, кто не знает, что это такое, Github Copilot - ваш ИИ, который поможет в написании кода при помощи уже существующего публичного кода (например, из StackOverflow или публичных репозиториев Github). Все, что вам нужно сделать - написать объявление функции или комментарий, в котором опишете что функция должна сделать, и бинго - Copilot предложит вам реализацию. Звучит очень просто и круто.
Мне уже не терпится попробовать, но даже сейчас уже есть разные мысли. Безусловным плюсом является скорость, так как сильно сокращается время на не сильно специфические задачи. Также почти всегда код будет работать (но только не в твоем проекте), так как система будет подбирать лучшие решения. Кстати, если подобранное решение вам не нравится, всегда можно посмотреть следующее, система подгрузит множество разных. Непонятно только, что будет с вашим кодом, не начнет ли Copilot учится и на нем (все мы знаем какая приватность сегодня).
Может у кого-нибудь уже есть доступ, поделитесь мнением в комментариях, у кого еще нету, предлагаю подписаться в очередь на доступ и также рассказать, что ожидаете от такой разработки. Обязательно загляньте на сайт, там сможете более наглядно увидеть как все работает.
Открыть сайт
#article #статья
👍3🤩3
У меня плохая новость - праздники, отпуска закончились, нужно приступать к работе.
Так, как с нового года все планируют худеть, путешествовать и, конечно же, менять работу, мы решили поделиться своими инсайтами прохождения собеседований.
1. Вы не можете всё знать.
Это нормально, что вы не знаете все методы массивов, строк, не можете наизусть написать регулярное выражение. Намного важнее, как вы мыслите, какой у вас опыт, с чем вы работали, как вы общаетесь. Поэтому не нужно сразу теряться, если вы что-то забыли или не знаете.
2. Не набирайте техничных собеседований на каждый день.
Даже если вы активно ищете работу, не нужно ставить собеседования на каждый день. Это действительно выматывает. Плюс, у вас будет время подучить вопросы, которые вы не знаете или не глубоко копали.
3. Перед собеседованием обязательно ознакомьтесь с компанией.
Это даст вам возможность понять, подходит ли вам это место. Помните, что выбирают не только вас, но и вы. Зная больше о компании, во время интервью вы сможете задавать более конкретные вопросы, что будет дополнительным бонусом и покажет вас как кандидата, заинтересованного получить здесь работу.
4. Самое главное - это честность!
Всегда отвечайте честно. Если чего-то не знаете, стоит прямо об этом сказать. Не набивайте себе цену — это видно (даже если вы уверенны в обратном).
5. Отказ - это не конец жизни.
Это значит, что вам нужно лучше подготовиться или вы просто не подходите данной компании. НО, это не значит, что нужно сразу же бежать по всем другим компаниям (знаем таких), лучше проанализируйте, почему вас не взяли, пофиксайте и двигайтесь дальше.
Надеюсь, наши пройденные грабли вам помогут лучше пройти собеседования и заполучить работу мечты 💛
#experience #опыт
Так, как с нового года все планируют худеть, путешествовать и, конечно же, менять работу, мы решили поделиться своими инсайтами прохождения собеседований.
1. Вы не можете всё знать.
Это нормально, что вы не знаете все методы массивов, строк, не можете наизусть написать регулярное выражение. Намного важнее, как вы мыслите, какой у вас опыт, с чем вы работали, как вы общаетесь. Поэтому не нужно сразу теряться, если вы что-то забыли или не знаете.
2. Не набирайте техничных собеседований на каждый день.
Даже если вы активно ищете работу, не нужно ставить собеседования на каждый день. Это действительно выматывает. Плюс, у вас будет время подучить вопросы, которые вы не знаете или не глубоко копали.
3. Перед собеседованием обязательно ознакомьтесь с компанией.
Это даст вам возможность понять, подходит ли вам это место. Помните, что выбирают не только вас, но и вы. Зная больше о компании, во время интервью вы сможете задавать более конкретные вопросы, что будет дополнительным бонусом и покажет вас как кандидата, заинтересованного получить здесь работу.
4. Самое главное - это честность!
Всегда отвечайте честно. Если чего-то не знаете, стоит прямо об этом сказать. Не набивайте себе цену — это видно (даже если вы уверенны в обратном).
5. Отказ - это не конец жизни.
Это значит, что вам нужно лучше подготовиться или вы просто не подходите данной компании. НО, это не значит, что нужно сразу же бежать по всем другим компаниям (знаем таких), лучше проанализируйте, почему вас не взяли, пофиксайте и двигайтесь дальше.
Надеюсь, наши пройденные грабли вам помогут лучше пройти собеседования и заполучить работу мечты 💛
#experience #опыт
❤3👍3🔥2
Как работает прототипное наследование?
В практике очень редко нужно работать с прототипным наследованием, но это важно знать для глубокого понимания, как работает JS + этот вопрос очень часто задают на собеседованиях.
Все объекты в JavaScript имеют свойство prototype, которое является ссылкой на другой объект. Когда происходит обращение к свойству объекта, и если свойство не найдено в этом объекте, то механизм JavaScript просматривает прототип объекта, затем прототип прототипа и т.д. До тех пор, пока не найдет определенное свойство на одном из прототипов или до тех пор, пока он не достигнет конца цепочки прототипов. Такое поведение имитирует классическое наследование, но на самом деле это скорее делегирование, чем наследование.
Почитать поподробнее можно здесь - читать статью
#interview #собеседование
В практике очень редко нужно работать с прототипным наследованием, но это важно знать для глубокого понимания, как работает JS + этот вопрос очень часто задают на собеседованиях.
Все объекты в JavaScript имеют свойство prototype, которое является ссылкой на другой объект. Когда происходит обращение к свойству объекта, и если свойство не найдено в этом объекте, то механизм JavaScript просматривает прототип объекта, затем прототип прототипа и т.д. До тех пор, пока не найдет определенное свойство на одном из прототипов или до тех пор, пока он не достигнет конца цепочки прототипов. Такое поведение имитирует классическое наследование, но на самом деле это скорее делегирование, чем наследование.
Почитать поподробнее можно здесь - читать статью
#interview #собеседование
❤2🤩2
❤6😱4👍2🤩1