Сова пишет…
А вот тут есть и другие полезные каналы про фронтенд. https://www.tg-me.com/addlist/Z6Efi4jXwe9lODcy Я подписан как минимум на половину каналов из папки.
Продолжаю делиться полезными каналами.
В этот раз интересных тем больше.
https://www.tg-me.com/addlist/3gJJbGAm4oBiN2Uy
В этот раз интересных тем больше.
https://www.tg-me.com/addlist/3gJJbGAm4oBiN2Uy
Раз уж начал постить в канал, то расскажу свою недавнюю боль.
Поднимал SSR проект на fastify, очень хотелось запустить его на serverless платформе. Чуть-чуть поресерчил и решил снова воспользоваться Cloudflare Workers.
Во первых, документация Cloudflare конечно не плоха, но её очень не хватает, а в некоторых случаях было прям больно. Часть гайдов лежит в блоге, где 2 версия wrangler, а поэтому несовместимы с 3 версией.
Во вторых, если погуглить
fastify-edge не получилось завести, все время вываливались ошибки из кишков.
А в гайде есть все платформы, кроме cloudflare, видимо не просто так.
Потом еще подкинул проблем telefunc, о котором я уже писал, от автора vike. Он использует динамический
В общем, грусть печаль.
По итогу запустил на fly.dev, пока ищу альтернативу.
Поднимал SSR проект на fastify, очень хотелось запустить его на serverless платформе. Чуть-чуть поресерчил и решил снова воспользоваться Cloudflare Workers.
Во первых, документация Cloudflare конечно не плоха, но её очень не хватает, а в некоторых случаях было прям больно. Часть гайдов лежит в блоге, где 2 версия wrangler, а поэтому несовместимы с 3 версией.
Во вторых, если погуглить
fastify on cloudflare workers
, то вывалится fastify-edge, который experimental, а также гайд fastify serverless.fastify-edge не получилось завести, все время вываливались ошибки из кишков.
А в гайде есть все платформы, кроме cloudflare, видимо не просто так.
Потом еще подкинул проблем telefunc, о котором я уже писал, от автора vike. Он использует динамический
import('node:path')
, который не поддерживается Cloudflare Workers.В общем, грусть печаль.
По итогу запустил на fly.dev, пока ищу альтернативу.
Одним из кандидатов в универсальные серверные javascript-фреймворки стал Hono.dev.
Запускается на всех платформах: serverless, deno, bun, nodejs.
Имеет весьма неплохую систему композиции роутов.
В комплекте куча миддлвар разной степени полезности.
Даже есть простой jsx renderer, чтобы React не тащить.
В качестве renderer я хочу использовать vike.dev.
И hono продолжит мне помогать, так как предлагает RPC клиент взамен fetch/axios/...
Из браузера можно делать запросы к API-роутам hono через hono/client, с проверкой типов в рантайме.
Типы для typescript выводятся автоматически, да еще и соответствуют структуре серверного роутинга.
Выглядит очень интересно.
Запускается на всех платформах: serverless, deno, bun, nodejs.
Имеет весьма неплохую систему композиции роутов.
В комплекте куча миддлвар разной степени полезности.
Даже есть простой jsx renderer, чтобы React не тащить.
В качестве renderer я хочу использовать vike.dev.
И hono продолжит мне помогать, так как предлагает RPC клиент взамен fetch/axios/...
Из браузера можно делать запросы к API-роутам hono через hono/client, с проверкой типов в рантайме.
// Server Side
import { Hono } from 'hono'
import { zValidator } from '@hono/zod-validator'
import { z } from 'zod'
const app = new Hono()
app.get(
'/hello',
zValidator(
'query',
z.object({ name: z.string() })
),
(c) => {
const { name } = c.req.valid('query')
return c.json({
message: `Hello! ${name}`,
})
}
)
// Browser Side
import type { AppType } from './server'
import { hc } from 'hono/client'
const client = hc<AppType>('/api')
const res = await client.hello.$get({
query: {
name: 'Hono',
},
})
Типы для typescript выводятся автоматически, да еще и соответствуют структуре серверного роутинга.
Выглядит очень интересно.
Вы наверняка заметили, что с каждым месяцем frontend-разработка и IT переживает развитие. Я подписан на кучу каналов. Стараюсь смотреть на изменяющийся IT с разных сторон.
Саша имеет опыт более 11 лет во frontend и успел поработать на проектах разной сложности и сферах: в медицине, образование, путешествие, финтех.
Я периодически почитываю его канал и нахожу для себя полезности. Вот например. А еще Саша много рассказывает о своем профессиональном опыте тимлида и увлечениях вне работы, докладах на devfest2023 и "it и точка".
https://www.tg-me.com/front_everyday
Саша имеет опыт более 11 лет во frontend и успел поработать на проектах разной сложности и сферах: в медицине, образование, путешествие, финтех.
Я периодически почитываю его канал и нахожу для себя полезности. Вот например. А еще Саша много рассказывает о своем профессиональном опыте тимлида и увлечениях вне работы, докладах на devfest2023 и "it и точка".
https://www.tg-me.com/front_everyday
Пользуюсь Cloudflare какое-то время, но чем дальше, тем больше он меня расстраивает.
Отсутствует
Очень странная работа Cloudflare Workers с env перемеными при деплое, иной раз секреты просто отсутствуют в приложении.
Пару лет назад, я уже использовал Cloudflare и опыт был крайне приятный, все работало само, ничего настраивать не надо.
Сегодня же в очередной раз, всё легло… за последний месяц уже 4 раз.
Куда уезжать?
Vercel и AWS не предлагать — у одного политика отношения к юзерам крайне неприятная, а у другого yaml конфиги на 300-400 строк и десяток сервисов для простейших вещей.
Отсутствует
--verbose
для wrangler скрипта. Если валится ошибка, то выяснить причину адски сложно, так как детальных логов нет, просто 800000000000 ошибка и всё.Очень странная работа Cloudflare Workers с env перемеными при деплое, иной раз секреты просто отсутствуют в приложении.
Пару лет назад, я уже использовал Cloudflare и опыт был крайне приятный, все работало само, ничего настраивать не надо.
Сегодня же в очередной раз, всё легло… за последний месяц уже 4 раз.
Куда уезжать?
Vercel и AWS не предлагать — у одного политика отношения к юзерам крайне неприятная, а у другого yaml конфиги на 300-400 строк и десяток сервисов для простейших вещей.
Тем временем, Microsoft встроили Azure AI в Github.
Пишут, что можно будет во время разработки пользоваться широким набором LLM бесплатно.
Видимо, хотят отобрать хлеб у huggingface.co
Пишут, что можно будет во время разработки пользоваться широким набором LLM бесплатно.
Видимо, хотят отобрать хлеб у huggingface.co
Ладно. Мне телега просто не дает зарегать юзернейм с _.
А кто-то умный уже зарегал и думал, что мне есть дело
А кто-то умный уже зарегал и думал, что мне есть дело
Сова пишет…
Ладно. Мне телега просто не дает зарегать юзернейм с _. А кто-то умный уже зарегал и думал, что мне есть дело
Все оказалось куда проще и прозаичнее: я создал слишком много публичных каналов и групп, занял много username.
Telegram не показывает вменяемую ошибку, лишь Link invalid.
Telegram не показывает вменяемую ошибку, лишь Link invalid.
Я уже привык, что навигация имеет с двух сторон экрана.
Обычно сверху и слева.
Docusaurus популяризировал Table of contents справа.
А тут Nodejs решили сделать навигацию с каждой из 4 сторон.
Сверху главное меню, слева навигация по секции, справа навигация по странице, снизу…
а что снизу?
Клик на About Node.js просто перезагружает страницу.
Клик на Home делает ровно то же самое, что и клик на логотип…
Обычно сверху и слева.
Docusaurus популяризировал Table of contents справа.
А тут Nodejs решили сделать навигацию с каждой из 4 сторон.
Сверху главное меню, слева навигация по секции, справа навигация по странице, снизу…
а что снизу?
Клик на About Node.js просто перезагружает страницу.
Клик на Home делает ровно то же самое, что и клик на логотип…
Тем временем, появилась новая библиотека для валидации данных, а именно для сборки JSON Schema
https://github.com/lukeed/tschema
К тому же теперь у нас есть лейбл
https://github.com/lukeed/tschema
К тому же теперь у нас есть лейбл
e18e-approved
GitHub
GitHub - lukeed/tschema: A tiny (500b) utility to build JSON schema types.
A tiny (500b) utility to build JSON schema types. Contribute to lukeed/tschema development by creating an account on GitHub.
Forwarded from Блог*
Сова пишет…
Одним из кандидатов в универсальные серверные javascript-фреймворки стал Hono.dev. Запускается на всех платформах: serverless, deno, bun, nodejs. Имеет весьма неплохую систему композиции роутов. В комплекте куча миддлвар разной степени полезности. Даже есть…
Базовый шаблон vike+react+effector
- умеет грузить данные через +data
- реюзает vike-react
- не имеет документации, пока что
Буду улучшать и писать доку исходя из фидбека.
Потрогать можно тут:
https://github.com/effector/vike-react-template
- умеет грузить данные через +data
- реюзает vike-react
- не имеет документации, пока что
Буду улучшать и писать доку исходя из фидбека.
Потрогать можно тут:
https://github.com/effector/vike-react-template
Сова пишет…
Базовый шаблон vike+react+effector - умеет грузить данные через +data - реюзает vike-react - не имеет документации, пока что Буду улучшать и писать доку исходя из фидбека. Потрогать можно тут: https://github.com/effector/vike-react-template
Добавил некоторое количество документации к шаблону, а также комменты в код.
Если говорить о community standards, то можно еще много чего добавить в репозиторий, чтобы он стал лучше.
Предлагаю двигаться итеративно.
Начать можно с issues и pull requests.
github.com/effector/vike-react-template
Если говорить о community standards, то можно еще много чего добавить в репозиторий, чтобы он стал лучше.
Предлагаю двигаться итеративно.
Начать можно с issues и pull requests.
github.com/effector/vike-react-template
Сова пишет…
Добавил некоторое количество документации к шаблону, а также комменты в код. Если говорить о community standards, то можно еще много чего добавить в репозиторий, чтобы он стал лучше. Предлагаю двигаться итеративно. Начать можно с issues и pull requests.…
Шаблон effector+react+typescript+vike добавлен в документацию Vike!
vike.dev/effector
Буду дописывать разъяснения сразу в Vike. В планах собрать больше рабочих шаблонов для effector.
ПР
vike.dev/effector
Буду дописывать разъяснения сразу в Vike. В планах собрать больше рабочих шаблонов для effector.
ПР