artalog
4.26K subscribers
568 photos
42 videos
40 files
943 links
Развернутые ответы на вопросы в чатах, мысли от рабочих процессов.
Вопросы - @artalar.
Download Telegram
Сделать online playground в 2023 все еще сложно.

Что я хотел? Конечно, полностью рабочий TypeScript с подсказками - это очень удобно. Но таких реплов куча, и весят они как самолет, потому что нужно тащить метра два monaco и полноценный typescript.

Ну и ладно, это же запускается на компьютере разработчика, в чем проблема? Проблемы две. Иногда хочется открыть репл с мобилки, а это и медленная сеть, и для кого-то медленная инициализация. Но самая главная проблема - это несколько реплов на одной странице. Для некоторых доков это нужно, но от пачки codesandbox / stackblitz задохнется даже современная машина разраба.

Есть ли еще готовые решения? Я искал и не нашел.

И тут на помощь приходит гениальный esm.sh - это такой хедлес сендбокс, да еще и бесплатный. Кормим ему код, он его билдит и отдает ссылку на готовый ES модуль. Не нужно скачивать мегабайты из NPM, мы получаем только минимальный конечный бандл. Красота.

Натянул это на codemiror и получил вполне рабочее и очень быстрое решение! Но есть проблема :)

Суть нативных модулей в том что их кешит браузер и вы не можете один и тот же код запускать дважды. Что бы это пофиксить, исходники нужно хотя бы как-то модифицировать и пересоздавать модуль - а это лишний лаг на esm.sh и в целом спам сервиса.

Как бы вы это решили?)

Подумаем 🤔

Кеш импортируемых пакетов - это ок (его можно сбросить перезагрузкой страницы, на крайний случай), нам нужно перезапускать только код в редакторе, а сложности сборки можно оставить на esm.sh. Как это сделать? Заменить все импорты в вашем коде добавив им префикс https://esm.sh/. Делается это по такому регекспу /import.*('|")(?<path>.*)('|")/g (код), правда переносы строк пока не поддерживаются. Так все ломается, пока не понял почему: /import(.|\n)*(‘|”)(?<path>.*)(‘|”)/g.

Пдж, но если исходники мы больше не отправляем на билд, как вырезать типы? Самое маленькое что я нашел - это sucrace, делает много чего за пол сотни кб. Круто, конечно, но мне нужно только вырезание типов, надеюсь найду что-то еще меньше потом.

Редактор готов! Еще бы логи добавить… Хотел добавить @discoveryjs/discovery, но пока не осилил. Да и тяжелый он, скорее всего подрублю потом как доп модуль, а пока неплохо живется на крошечном @observablehq/inspector (в консоле все логи тоже есть).

Потыкать можно тут: https://reatom.dev/repl

11 requests, 265 kB transferred, кмк отличный начальный результат.

Там есть еще пачка багов со стилями и по UX, начал пилить обновление выпилив preact (временно взял для скорости разработки), но застрял из-за бага в astro, ждемс. Думаю, через 1-2 недельку запаблишу как отдельный пакет.

Обычно, огромной болью онлайн реплов еще является безопасный запуск кода, без доступа к текущему ориджину, но т.к. сайт доки никаких персональных данных не складывает - и так норм.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3
Как вы оцениваете полезность этого канала для вас?
Anonymous Poll
11%
👍
22%
👍👍
31%
👍👍👍
36%
👍👍👍👍
👍9🔥2
Между “завязываться на существующие либы / фреймворки” и делать свою платформенную команду есть промежуточные стадии. Многие разработчики и команды знают только о “пилим свое поверх готового”, но можно действовать и наоборот, внедрять своих разработчиков в ментейнеры готовых решений.

Профиты:
- это намного дешевле чем делать все самим
- ваши идеи и потребности иногда могут решаться чужими руками
- документация точно будет лучше :)
- вам не так страшно сделать форк и продолжить его развивать самостоятельно, потому что со всей внутрянкой вы знакомы

Сложности:
- овнер может быть себе на уме
- в какой-то момент технология может пойти не по нужному вам пути, это решается изначально более глубоким погружением своего человека и увеличением его влияния
- рассинхрон циклов разработки продукты и платформы

Идеально - микс. Вы помогаете кому-то делать ядро в OSS, сами используете его для своих надстроек в продукте.
👍11
Арк - первый браузер в котором я смог навсегда остаться в фулскрине и никогда больше не видеть статические элементы интерфейса браузера, только при касании левой части экрана.
💯6👍3
Forwarded from mefody.dev
Браузер Arc

Свершилось. Сегодня браузер Arc вышел в версии v1.0 и отключил лист ожидания. Это значит, что его может установить каждый без инвайт-кодов.

Я им пользуюсь уже давно, хоть и не постоянно. Основные фичи, которые мне нравятся:
- Сплит-вью. Можно разместить вкладки в одном окне рядом. Незаменимая фича для подготовки докладов.
- Всё на комбинациях клавиш. К тачпаду тянусь довольно редко, причём комбинации можно переназначать под себя.
- Пользовательские стили. Раньше в такое умели все браузеры, а теперь как будто только в Arc это осталось без расширений. В твиттере у меня всё ещё птичка в качестве лого :)
- Разделение на пространства. Завёл себе группу вкладок для записи подкастов, для игр в D&D и для подготовки докладов.
- Вкладки закрываются сами, если не открывать их в течение суток.
- Список вкладок — горизонтальный список, а не табики. Просто нравится, экран ведь широкий.
- По умолчанию можно скрыть весь интерфейс. Больше от сайтов ничего не отвлекает.
- Режим превью. Любую ссылку можно открыть в окне предпросмотра, и если уже надо, то тогда открыть как полноценную вкладку.

Ничего лишнего. Настраиваемое. Удобное. Попробуйте.

Да, работу работаю я всё ещё в Chrome. Потому что там удобнее с инструментами разработчика играться. Но пользоваться интернетом пока приятнее в Arc. Плюс у них классная работа с сообществом, на мои багрепорты отвечали очень быстро. В общем, хорошо, когда на рынке появляется что-то новое, пусть под капотом там всё тот же Chromium.

https://arc.net/
🔥22🤡41❤‍🔥1
Live stream scheduled for
Live stream started
Live stream finished (42 minutes)
Июль выдался сумасшедшим. Мне написало куча народу с разными интересными предложениями. И в два я, в итоге, вписался, ждите еще постов сегодня 🙂

Но совмещать вместе: фултайм работу, продуктовую и девелоперскую разработку reatom.dev, семью с маленьким ребенком, и еще какие-то активности… Это уже за гранью, конечно.

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

Много думал, всю прошлую неделю пришлось серьезно пересматривать мой тайм менеджемент, с ним было много принципиальных проблем. Теперь больше планирования, рамок, приоритетов, дедлайнов.

И у меня такие выводы. Хороший тулинг помогает разгрести и проще анализировать все задачи. Но главный инструмент - это всегда ваша же голова и мотивация. Если вы не можете делать дела имея школьную тетрадку и ручку - вам ничего не поможет, в долгосрочной перспективе точно.

Это как с copilot. Он действительно крутой и очень мощный и может сделать из вас 10x enginear, но только если вы уже этим самым enginear являетесь, и вы используете copilot, а не он вам говорит как и почему что-то делать.
🔥173🤡1
Я присоединился к стартапу https://facelink.cc/ - это no-code платформа для создания "видеоворонок", новый способ создать сайт в современном видео формате. Это как Tilda + TikTok 🤯

Пилотная версия уже показала огромный спрос рынка на такое решение, а также очень хорошие бизнес-метрики для SAAS-проектов (CR из регистрации в оплату 7,38%, LTV 6+ месяцев и другие) — пора создавать серьезный продукт. У клиентов множество требований, а самих клиентов много как по количеству, так и по качеству (крупный ритейл, известные бренды, топ-блогеры и т.д.).

Вот примеры, как продукт работает у клиентов:

- https://www.fuseservice.com (виджет на сайте)
- https://facelink.cc/sp36bli2t (лендос)
- https://facelink.cc/wdvcgzdo7 (лендос)
- https://facelink.cc/hdysetqwh/ (сбор отзывов)

Наша цель - выйти на мировой рынок (рынок с потенциалом 200+ млн. юзеров). И мы ищем в команду того, кто готов создавать продукт мирового уровня и имеет амбиции серьезно вырасти по доходу (у членов команды есть опцион).

Планируется настоящий highload как на беке, так и на фронте. Админка - мини фигма + куча статистики и аналитики. Клиент - приложуха с миллиардами открытий в месяц.
Базовый сетап: TypeScript, vite, react, reatom, urql, mantine, css-modules. На беке nestjs. Все в монорепе на Gitlab.

Текущая команда: 4 на беке, 3 на фронте, 5 за product design.

Макеты в фигме уже заждались. Если у вас достаточно опыта в больших или не обычных проектах и времени что бы быстро пилить фичи (с моим ревью) - пишите об этом @igeomax! Фаундеры стартапа — предприниматели с успешным 15 летним опытом в бизнесе. Создали 10+ компаний, несколько успешно продали.
🔥22🤯5🤮5👍21👎1
Добавил в REPL реатома @discoveryjs/discovery от @gorshochekvarit (комит).

Вот так можно попробовать: t.me/reatom_ru_news/222

В целом штука прикольная и для больших жисонов удобная, особенно полезна когда нет возможности залезть в консоль, например с мобильного.

Не хватает только тёмной темы (надо бы пока добавить filter invert...) и кнопки copy для объектов. Мб кто законтрибьютит?)
🔥3
JS challenge:

- you have a list of 1000 items
- you have an async function process(item)
- you need to process all items
- it needs to be done concurrently, but not more than 25 at a time
- collect items with errors

what's the cleanest way to do this?
libraries allowed



На скрине мой вариант решения :)
👍14🤯61
#не_вопросы_для_собеседований

Сколько логов будет выведено?
🤡27😢101