Даниил Шило

+289
с 2022

Frontend Engineer в Firecode

36 подписчиков
6 подписок

Это называется Ligatures. В Webstorm вместе с шрифтом Jetbrains Mono или Firacode можно включить.

Про тему не совсем понял, на скринах их много😅

1

Здравствуйте, этого нет в статье, потому что роутинг - часть SvelteKit, который не рассматривается в пределах данного туториала👀

1

В статье же нигде не сказано: “Юзайте Svelte вместо React”👀

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

Svelte компилирует исходники и отдает часть уже готовой статики. VDOM ему не нужен не потому что “Virtual DOM плохой”, а потому что весь код подготавливается и проверяется на стадии компиляции)

Про синтаксис можно холиварить сколько угодно, это ведь индивидуально))

8

Это достаточно обширная тема, так как для сервера можно накидывать кучу плагинов. Но если по простому то нужно просто добавить вот это в конфигурацию (скрин 1)

Затем достаточно просто ввести в консоль:
npx webpack serve

Вам нужно тогда начинать с основ, если не знаете как скачать)
Погуглите NPM how to use. Если не знаете английского, то советую вот эту статью прочитать:
https://proglib.io/p/chto-takoe-npm-gayd-po-node-package-manager-dlya-nachinayushchih-2020-07-21

**3-й уровень - абстрактный класс**
Данный метод типизации подходит только для классов и является самым узконаправленным.

Абстрактный класс работает точно также, как и обычный, за исключением того, что мы можем не реализовывать некоторые методы (если объявим их с ключевым словом abstract). Также стоит помнить о том, что мы не можем использовать абстрактный класс для создания нового объекта, мы можем от него только наследоваться.

Можно посмотреть как работает вот тут (специально сократил ссылку, так как она огромная):
https://cutt.ly/x3rmZof

**2-й уровень - interface**

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

Допустим у нас есть куча данных о человеке, но нам нужно, чтобы у каждого объекта в списке было как минимум имя (name) и возраст (age). Это будет выглядеть прямо как на скрине

Таким же образом мы можем явно указать какие должны быть поля или методы в классе, как это сделано в данной статье

2. В каких случаях использовать type, в каких интерфейс, а в абстрактный класс?!

**1-й уровень - type**
type используется для того чтобы объявить какой-то легкий тип данных.
Например нам нужен тип данных, который будет охарактеризовать переменную, у которой могут быть только два строчных значения: 'install' или 'delete'.

Здравствуйте!
1. Интерфейсы вообще нужны для того чтобы задавать схожесть структур объектов и классов.

Приведу пример:
Допустим у вас есть класс для продажи машин (CarTrade), и для продажи мотоциклов (MotoTrade). У обоих классов должен быть метод sell(), который продает что-то в зависимости от того в каком классе он находится.

Теперь нам дана задача сделать интернет-магазин для мотоциклов и машин. У нас будет класс Trader (продавец), который будет использовать классы CarTrade и MotoTrade. Но как убедиться что оба эти класса могут продавать транспорт (у них должен быть метод sell())?

Мы будем использовать интерфейс для того чтобы и у класса CarTrade, и у класса MotoTrade был метод sell.

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

Первые два конструктора - перегрузка. Вы просто говорите возможные варианты для конструктора😌
Третий - отвечает за реализацию, поэтому в нем как бы «перемешаны» все параметры. На самом же деле существуют только два первых😉

В формате одной статьи рассказать все основы - вот в чем смысл😊 Плюс некоторые моменты могут быть не раскрыты из примеров документации, тут привел везде более раскрытые примеры😌

7

Вы про то, что код на скринах неудобно читать или про качество?
Если вы про второе, то код чисто для примера, не более. Я бы не стал писать приложение в том же разделе про абстрактные классы, хоть идея показать в конце приложение на TS и была.
Если про скрины, то.. Лучше уж на скринах, чем с форматированием vc, которое не подсвечивает половину ключевых слов))
Но ваше замечание приму к сведению😅

4

Спасибо вам, за то что прочитали. Надеюсь что-нибудь интересное для себя нашли🤗

2

Разве для жалоб сделан тред "Разработка"? В треде разработки пишу о разработке, или я где-то ошибаюсь?🤔

2

За Firefox огромное спасибо) Думаю таким образом охватите почти всех, кто сидит нативно на Linux и им лень качать Google Chrome)))0

Завезите поддержку на другие браузеры (Firefox, Safari как минимум). Вам будут благодарны многие пользователи😊

Плюсую в целом😊 Думаю просто в коммерческой разработке так делать не будут. Никто не будет менять одну тулзу для целой команды, как только вышло что-то новее, а так как Webpack уже проверен временем, то думаю его ещё долго будут использовать.

Vite ещё не закрепился, далеко не все о нем знают, а в разработке продукта непроверенные решения использовать никто не будет.

1

Странно на виси видеть тех детали про разработку

Хабр стал убежищем для постов около IT, но никак не про IT. Там или темы связанные так или иначе с политикой, или темы очень отдаленные от IT, которое в бизнесе. Поэтому разработка на vc.ru стала моим маленьким убежищем))

Тот же Vite работает супербыстро

Оке-доке, попробумс, может статью ещё по нему напишу с плюсами и минусами. Спасибо и вам, и Артему, что дали наводку😅

2

Не такой и быстрый😊 На крупных проектах Webpack как-то обгоняет Vite практически везде
https://storybook.js.org/blog/storybook-performance-from-webpack-to-vite/

Для React - да, там подойдет. Но, для React и бойлерплейты огромные, вам считайте уже готовые конфиги дают. Webpack же существует для того, когда нужна гибкая конфигурация

1

Проблема Fish в том, что у него синтаксис сильно отличается от bash/zsh. Я пробовал использовать его, но после того как меня заставили ставить отдельный плагин для того чтобы выполнить скрипт на bash или запускать шелл внутри шелла - я отказался от идеи использования😢

Ситуация: у вас обрубился интернет, а вы общались с кем-то в чате. Как серверу узнать, что вам не нужно присылать WS-пакеты?😊

WS - действительно открытый канал, но как серверу и клиенту узнать, что он внезапно не закрылся? Именно для этого пинг-понг и нужен

Легенькую реализацию можно подсмотреть здесь😉

https://github.com/websockets/ws#how-to-detect-and-close-broken-connections

Тред разработки же) Вот и говорим о разработке😅

- Enter + Shift ставит \n в параграфах
- Enter создает именно новые параграфы)

У меня и то, и другое работает, но буду знать, что иногда может слетать, вам тоже спасибо😊

6

Был забавный случай в DNS😅 Приехал в Россию на 1 день, за одно купил клавиатуру. У неё не работал Shift по какой-то причине, пришёл сдавать и мне говорят:
- Нужно тех. обслуживание, ждать 3 дня

Я разворачиваюсь с данной клавиатурой иду в DNS напротив и говорю: "Не подошла по цвету к комплекту", мне спокойно возвращают деньги😅

86

Telegram скоро станет огромным агрегатором)) ~Если уже не стал~
RSS-рассылки, погода, новости, музыка, фильмы, все пытаются запихнуть в один мессенджер. Порой людей сложно найти среди всех ботов)

6

А в чем конкретно он может что-то упростить?

Если вы юзаете докер, то собственно особо ничем) Powershell просто же поставляется как родной шелл, поэтому ощущается на Windows он быстрее (ибо просто не в виртуалке им пользуетесь)

Для докера есть вроде бы нативное решение для Win, не знаю насколько оно костыльное в плане пользования им из терминала, так что WSL2 тут наверное все же лучше)

Не замечено, кроме того, что если цеплять напрямую IDE (PhpStorm) к папке проекта в WSL, то идет бесконечная индексация

Возможно сейчас все стало лучше, но точно помню, что когда сам работал внутри WSL в Neovim, то все жутко тормозило, а также Yarn помню у меня ну очень медленно работал, еле-еле дышал

Вы правы) Сам жду, когда решение сделают кроссплатформенным) Однако, fig - просто автодополнение, а сами плагины для шелла позволяют расширить функционал как угодно😊

Рад, что вы нашли для себя решение!
Но, не легче ли сидеть на Powershell? Для него есть Oh My PoSh, а также множество алиасов команд из Bash для Powershell😊

https://ohmyposh.dev/
—-
Не стоит забывать, что WSL2 все ещё пилят, когда я его использовал были некоторые косяки с производительностью, а также было не совсем удобно работать с файловой системой (заходить нужно было по-моему в /D/..., что на мой взгляд немного неудобно, когда корневые директории идут с большой буквы).