Даниил Шило @crackidocky
Fullstack Engineer (Vue/Typescript/Go)
Information
- Rating
- Does not participate
- Location
- Луганск, Луганская обл., Украина
- Date of birth
- Registered
- Activity
Specialization
Software Developer, Frontend Developer
Middle
JavaScript
HTML
React
TypeScript
Node.js
Express
Vue.js
Webpack
Web development
Именно за ними) Исправил, спасибо за замечание🙌
Есть впечатление, что сложность туториала выставлена в "Сложный" не из-за сложности материала, а из-за того как вы решили отформатировать код?
А если без шуток, то это туториалом нельзя назвать, это скорее заметка, которую вы из Notion/Obsidian/
<вставьте ваше приложение>
выцепили и решили выложить.В чем проблема сразу дать ссылку на Github?
Пожалуйста, используйте Enter для разделения строк кода, не нужно все делать в одну строку. Код под этим текстом выглядит нечитабельно.
Зачем идти дальше? Объясните читателю что не так с первой версией реализации
Если вы делаете сравнение прошлой и следующей реализации, то такие заметки лучше оставлять комментариями в коде, для того чтобы любой желающий смог разобраться. То что вы под большим куском кода (кстати, тоже без форматирования) написали один комментарий - не значит что вы объяснили работу своего кода.
Работает оно на самом деле намного лучше, нежели с Cordova.
Во время разработки у меня была только одна проблема - подстраивание интерфейса под устройства с "челкой", однако, эта проблема тоже достаточно быстро решается с помощью самого Ionic.
По функционалу Capacitor является более надежным аналогом, нежели Cordova)
Вот тут можно почитать о различиях Capacitor и Cordova чуть подробнее: https://ionic.io/resources/articles/capacitor-vs-cordova-modern-hybrid-app-development
Интересная статья!
Сам когда-то пробовал использовать ava для пет-проекта, но не смог нормально свести его с Typescript, сейчас вроде бы там с поддержкой TS полегче стало.
Несколько замечаний:
1. "Magic Assertions" (магические утверждения) - еще есть в Jest и Vitest. Это не совсем то, чем Ava.js отличается, это просто то, что подмечено у них в README =)
2. Вам не обязательно тянуть глобальные переменные. Для этого в Jest / Vitest / Mocha есть плагины для ESLint, которые будут заставлять вас импортировать все вне зависимости от архитектуры фреймворка для тестирования.
Здравствуйте, исправил, спасибо)
Да, ререндер будет выполняться. Из-за изменения пропсов компонент тоже поменяется. Также вы можете прокидывать туда эмиты. У всех эмитов будет префикс
on
(напр.onInput
)Иногда вам нужен компонент, который будет рендериться поверх других компонентов, на каком бы роуте вы не были. Если вы используете компонент, внутри другого компонента, то он размонтируется как только родитель размонтируется?
Глобальные попапы решают именно эту задачу)
Зафикшено)
Исправил, спасибо)
Студент в упомянутой статье еще вроде бы взъелся на синтаксис в Rust. До меня немного не доходит почему. Я в разработке сравнительно немного (3 года) и системным программированием не занимался, но даже для того кто писал три года на TypeScript - синтаксис в Rust достаточно интуитивный.
Более того, чем больше пишешь на Rust, тем больше понимаешь, что синтаксис очень похож на TypeScript.
Структуры - интерфейсы с конструктором
Имплементации - все те же интерфейсы
Трейты - абстрактные интерфейсы
В синтаксисе все достаточно легко, даже те же стрелочные функции сделаны достаточно просто
Да и сам студент почему-то вечно говорит про синхронный код, кой его в обычных задачах иногда бывает меньше, нежели асинхронного (HTTP-запросы, сокеты, файлы и так далее)
Также сборщик мусора о котором говорит учащийся - далеко не тот сборщик мусора, что например в JS или Python.
Автору респект за тщательный разбор материала
Из прочего:
Идея того, что в Rust отказались от
null
- просто превосходная, без него намного легче.switch
(тут онmatch
) наконец-то стал выглядеть красиво, а не как огромное количествоcase
Идея с заимствованием понятна с самого начала, сделано для того чтобы никто не изменил переменную без нашего ведома
Там еще учащийся упоминал о том, что непонятно зачем теперь уровни вложенности, если все переменные будут все равно дропаться в конце. Они нужны чтобы не было вот такого:
Я давным давно прошил Cascadia Cove со всеми иконками и кириллицей. Если вам нужно - мякните, скину сюда ссылку)
Для того чтобы иконки заработали вам нужен Nerd Font
Изготавливаемый в примере конфигурация и конфигурация в GH отличается лишь несколькими названиями файлов и директорий)
В целом и там и тут все хорошо задокументировано (каждая строка буквально?)
Если что непонятно - не стесняйтесь задавать вопросы. Можно тут в треде, можно в телеге)
Автор книги "Чистый код" - Дядя Боб плачет. Вторая глава о наименовании тут совсем не работает)
Мы не можем пофиксить свои баги, поэтому меняем правила в мире)