Сова пишет… – Telegram
Сова пишет…
3.14K subscribers
344 photos
37 videos
5 files
415 links
Frontend Senior Fullstack Backend Lead и прочие слова.
Изучаю самые современные технологии.
Обучаю разработчиков как стать сильнее — https://frontend.vision.

По коллаборациям и сотрудничеству пишите в сообщения канала!
Download Telegram
Истина про декораторы в тайпскрипте
😁21🗿14🥱2💯2
Кто знает, что это за кодировка?

=D0=B7==D0=B4=D0=B5=D1=81=D1=8C
🤔4🗿2
Я продолжаю извлекать новостные рассылки из почты, чтобы их перенести на news.sova.dev

Но в какой-то момент мне надоело делать это руками, поэтому с вашей помощью я нашел нужный декодер, написал простенький преобразователь html -> markdown, но оставались еще ссылки, которыми revue подменял оригиналы.

Поэтому пришлось сделать простейший markdown ast плагин, который пройдется по ссылкам, развернет редиректы и удалит мусорные utm_ метки.

На удивление, почти никакие почтовые клиенты не предлагают опции "Скачать письмо". Пришлось пересылать самому себе как прикрепление. Это что вообще такое?!
👍3🔥3🆒2🥴1
#frontend_mylife

Многие джуны и просто новички говорят "Я не буду спрашивать на форумах и в чатах вопросы, а то сочтут меня за тупого и будут троллить".

Есть такое мнение, что IT-сообщество токсично. На самом деле тут есть доля правда. Многие забывают, какими были 5 лет назад и да, любят потроллить новичков вместо того, чтобы помочь.

Но на самом деле причина в том, что сами новички и довели до этого.

К посту я приложил картинку, которую прислал в чате по Vue один из участников этого чата с вопросом "Как это сделать?". А теперь ответьте, что можно ответить и как помочь? Что человеку нужно? Как сделать верстку? Как подключить карту? Как это разместить в компоненте фреймворка? К сожалению, телепатией люди в чате не обладают.

Еще очень многие любят спрашивать "Как мне это сделать? Я вообще не знаю, напишите мне код". И вот это триггерит сильнее всего, особенно когда не видно того, что человек пытался решить задачу самостоятельно. Хочешь помощи? Покажи, что ты уже пытался реализовать то, о чем спрашиваешь. Покажи свои примеры кода. А не жди, когда за тебя все сделают.

И на самом деле все это идет от того, что:
1. IT мир очень сильно романтизирован. Многие думают, что тут бегают розовые пони и раскидываются деньгами направо и налево.
2. Лень и ощущение того, что тебе должны. Лень решать вопросы самому. "Я попробовал 5 минут, у меня ничего не вышло" - реальный ответ подписчика у меня в инсте после того, как он мне скинул огромную простыню кода со словами "Ну у тебя опыт большой, ты сразу разберешься".

В IT выживают сильнейшие. Которые любят думать и не сваливать ответственность на других. Поэтому когда решите задать свой вопрос в чатах или другим более скиловым разработчикам:
- Убедитесь, что вы сделали все что смогли и у вас реально затык, а не лень разбираться
- Покажите примеры того, как вы пытались решить задачу
- Опишите задачу полностью и сразу, чтобы люди понимали, чем вам помочь

Согласны ли с написанным? Или готовы поспорить или может хочется что-то добавить?
👍58👏8💯8🔥31
Кто пользуется Syncthing, подскажите, у вас тоже скорость передачи файлов между девайсами в одной локальной сети крайне медленная?

У меня 100мб могут передаваться минут 7-10.
🤮4🤔1👀1
Я хотел сам написать статью об Astro.build.
Но уже есть статья, которая отлично показывают плюсы этого движка.

https://www.macarthur.me/posts/what-i-like-about-astro
🔥9😐52👍2
У меня наконец-то дошли руки сделать версионированную документацию для effector.dev.

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

Но также, есть пользователи, которые не обновились с предыдущих версий, и не могут так быстро обновлять свои мажоры. Обычно это связано с политиками установки зависимостей внутри компании. Но ведь потребности в документации у этих команд такие же, как и у тех, кто сидит на bleeding edge.

Теперь на главной странице можно выбрать мажорную версию effector и читать документацию. Когда выйдет effector Spacewatch 23.0.0, на основном сайте будет актуальная документация, а текущая останется на поддомене v22.

В общем-то, это довольно популярная техника версионирования документации.
👍20❤‍🔥7🔥2
В effector скоро изменится синтаксис использования доменов на юнитах.

Было:
domain.createStore(123)

Станет:
createStore(123, { domain })

Есть идеи, зачем так менять?)
🤔16🔥4👎1😢1
Как читать технические книги, какие анимации имеют смысл, почему отключение Cookies сломает ваш сайт и несколько полезных инструментов.

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

https://news.sova.dev/issues/20/
👍20🎉61🏆1
Forwarded from Effector news (Igor Kamyşev)
Новая библиотека в экосистеме Effector ☄️

@withease/i18next позволяет использовать переводы из i18next в рамках операторов Effector.

https://withease.pages.dev/i18next/
13🔥8👍6🗿1
А давно в телеге есть меню Open with???
🗿13🎉21
Тем временем, комьюнити эффектора предлагает попробовать новую библиотеку для форм!

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

Пробуйте!

https://filledout.github.io/
🔥7🥱4🙈1
Ребята, накидайте, пожалуйста, технологий для создания мобильных приложений.

Мне нужно сделать приложение-компаньон к трекеру финансов. Но я фронтендер знающий раст и совсем немного свифт.
Может есть что-то, что позволит фронтендеру легко создавать приложения? Как дела с react native? Можно ли затащить эффектор? А что еще есть?

А вот веб-фронтенд для этого сервиса вы напишете если будете смотреть #курс по effector.
👍2
Пару дней назад я спросил сообщество, почему синтаксис доменов будет изменен.

Сразу хочу отметить, что старый синтаксис не будет задепрекейчен мгновенно. Он будет работать как минимум еще год.

Оказалось, что мои подписчики очень хорошо понимают устройство effector и мотивацию core team. Но все же я расскажу зачем так, хоть во многом повторю комментарии к оригинальному посту.

Обычно мы прицепляем любой юнит к домену через вызов метода на домене:


domain.createStore(null);
domain.createEvent();
domain.createEffect(handler);


Но в этом случае, метод нужно не забыть вызвать на домене, а значит сначала его импортировать. Эта проблема не стоит так остро, если в проекте нет тестов моделей или же серверного рендеринга с универсальным кодом. Ведь тогда, необходимо использовать babel или swc плагин, для простановки sid’ов юнитам.

А все существующие плагины работают в пределах одного файла. И вот плагин видит import { someName } from "./some/path", а дальше someName.createStore(0) и где гарантия, что это действительно домен, а не какая-то кастомная функция, или вообще redux?

Другая проблема, это фабрики и любой библиотечный код. Вот мы создаем некую фабрику, но хотим, чтобы пользователь мог подбросить в юниты внутри свой домен, чтобы добавить кастомное поведение, но как?


function createRoute({ path, domain = createDomain() }) {
const $opened = domain.createStore(false)
}


Мы вынуждены создавать домен по умолчанию на каждый вызов createRoute, как решение, можно создать некий дефолтный домен для всей библиотеки целиком и прокидывать этот домен внутрь. Но это все костыли, ведь они повлияют на имя стора при отладке, например через patronum/debug, при этом домен все равно будет там, где не нужен совершенно.

Изменяя синтаксис домена на аргумент, мы убиваем сразу несколько зайцев: плагины babel и swc теперь могут однозначно определять импорты, фабрики могут избежать дефолтных доменов, рефакторить становится проще, ведь добавить домен можно одним лишь аргументом. Еще и как следствие появится множество упрощений для экосистемы: eslint effector сможет избавиться от некоторых проблем со скоростью, создание юнита и вызов фабрики теперь будет выглядеть единообразно:
createStore(0, { domain }); createRoute({ path, domain }).

Ну и самое интересное, новый синтаксис уже поддерживается, так как выпущен в effector 22.4.0.

А некоторые подробности можно почитать в issue.
🔥12👏2
На самом деле я не понимаю, почему нельзя было избавиться от этого плавного перехода обоев рабочего стола.

Если бы при свайпе соседний рабочий стол приезжал бы сразу с другими обоями, было бы только лучше!

https://news.1rj.ru/str/sergeysova/804
👍7🤬3👎1
Начал читать Эхопраксию.
Давно пора было продолжить после Ложной слепоты
👎8💯2👍1🤔1
Effector Encke 22.4.0

Что нового появилось в экосистеме effector вместе с релизом этой версии?
Зачем нужны домены, сиды и как использовать $store.reinit?

Смотрите, пишите комментарии, ставьте лайки!
https://youtu.be/9UjgcNn0K_o
👍17
This media is not supported in your browser
VIEW IN TELEGRAM
🎉30🤔5🤬1