Forwarded from cherkashin.dev (CherkashinDev)
Пару месяцев назад я упоминал codeium — бесплатную альтернативу копайлоту. На новогодних праздниках наконец-то попробовал его на своём пет-проекте, и довольно часто он действительно ускоряет разработку. На скриншотах можно увидеть как codeium:
- Выводит значение enum’а
- Помогает писать тернарники
- Генерирует код по запросу в чате
- Может сгенерировать JSDoc или объяснить код
В текущих реалиях нужно включать VPN, чтобы работать с ChatGPT из России, здесь же есть встроенный чат, который работает без VPN 👍.
#ai
- Выводит значение enum’а
- Помогает писать тернарники
- Генерирует код по запросу в чате
- Может сгенерировать JSDoc или объяснить код
В текущих реалиях нужно включать VPN, чтобы работать с ChatGPT из России, здесь же есть встроенный чат, который работает без VPN 👍.
#ai
👍32❤2
artalog
Закончил, наконец, светофор для ребенка. Очень мне понравилась комбинация m5stack stamp c3u (6$) и аккумулятора 16340 со встроенным usb type-c для зарядки (4$). Размеры у них прям подходящие, в сумме очень компактно. Пока клей-пистолетом склеил, но в планах…
tg_image_3159797040.jpeg
390.7 KB
Забыл рассказать, сделал я это на devicescript. В целом норм, интересная штука. Что-то удобно, но работает, как обычно в микрухе, далеко не все, надо танцевать.
У меня на маке воообще со всем тулингом для espressif какие-то проблемы постоянно…
Дока у devicescript хорошая, хотя некоторая инфа не очевидно разбросана. Еще я столкнулся с проблемой, доки по входу в low power mode есть, а как из него выйти - нет 😅. Ну оказалось что они это пока и не поддерживают.
Повторюсь, m5stack stamp c3u - отличная штука, всего 6$, малый размер, возможностей куча, поддержка хорошая, рекомендую.
У меня на маке воообще со всем тулингом для espressif какие-то проблемы постоянно…
Дока у devicescript хорошая, хотя некоторая инфа не очевидно разбросана. Еще я столкнулся с проблемой, доки по входу в low power mode есть, а как из него выйти - нет 😅. Ну оказалось что они это пока и не поддерживают.
Повторюсь, m5stack stamp c3u - отличная штука, всего 6$, малый размер, возможностей куча, поддержка хорошая, рекомендую.
👍6
Войтивайти
Как быстро? Ща расскажу вам секретный секрет.
Чем, в первую очередь, отличается джун от мидла? Самостоятельностью. А чем во вторую? Тех скилами. Так что нужно качать в первую очередь?
Смотрите в какой интересной ситуации мы с вами оказались, тех знаний чрезмерное количество, охватить все не реально. Я просто не знаю о чем спрашивать на собеседовании, слишком много вещей, каждая из которых по отдельности может зазубриться, а на практике не сложно гуглиться. Ну как не сложно, если уметь…
Я это все к чему. Поймал себя на мысле, что мне, как лиду, нужны люди, которые очень хорошо знают всю платформу, таким я больше доверяю. Но таких очень мало! Что делать? Ок, понижаем планку, теперь мне нужны люди, которые не важно что знают, но умеют решать задачи, а ревьюить / рефакторить - уже моя задача за ними, лишь бы они основную массу бойлерплейта накидывали. Мне нужна прослойка над ChatGPT 🙂
Наверное, я не один такой лид (отпишитесь в коментах). Так что могу рекомендовать начинающим разработчикам научиться, в первую очередь, использовать AIшки, гуглить, стаковерфловить, ишьесать и багтректерить. И очень важно - не боятся! В такой парадигме важна скорость, а не часовые тупняки над ерундой. Научитесь находить обходные решения или, хотя бы, оставлять недоделанное в отдельной задаче - это очень хорошая практика.
Попробуйте сделать большой пет проект таким методом, может быть с другими начинающими разработчиками. Потом наймите на ревью лида с многолетним опытом (не просто синьора).
Ну и самый главный и практичный совет начинающему разработчику. На собеседовании убедите лида не в том что вы что-то знаете, а в том что вы умеете решать задачи и он может на вас положиться - вот это дорогого стоит.
Как быстро? Ща расскажу вам секретный секрет.
Чем, в первую очередь, отличается джун от мидла? Самостоятельностью. А чем во вторую? Тех скилами. Так что нужно качать в первую очередь?
Смотрите в какой интересной ситуации мы с вами оказались, тех знаний чрезмерное количество, охватить все не реально. Я просто не знаю о чем спрашивать на собеседовании, слишком много вещей, каждая из которых по отдельности может зазубриться, а на практике не сложно гуглиться. Ну как не сложно, если уметь…
Я это все к чему. Поймал себя на мысле, что мне, как лиду, нужны люди, которые очень хорошо знают всю платформу, таким я больше доверяю. Но таких очень мало! Что делать? Ок, понижаем планку, теперь мне нужны люди, которые не важно что знают, но умеют решать задачи, а ревьюить / рефакторить - уже моя задача за ними, лишь бы они основную массу бойлерплейта накидывали. Мне нужна прослойка над ChatGPT 🙂
Наверное, я не один такой лид (отпишитесь в коментах). Так что могу рекомендовать начинающим разработчикам научиться, в первую очередь, использовать AIшки, гуглить, стаковерфловить, ишьесать и багтректерить. И очень важно - не боятся! В такой парадигме важна скорость, а не часовые тупняки над ерундой. Научитесь находить обходные решения или, хотя бы, оставлять недоделанное в отдельной задаче - это очень хорошая практика.
Попробуйте сделать большой пет проект таким методом, может быть с другими начинающими разработчиками. Потом наймите на ревью лида с многолетним опытом (не просто синьора).
Ну и самый главный и практичный совет начинающему разработчику. На собеседовании убедите лида не в том что вы что-то знаете, а в том что вы умеете решать задачи и он может на вас положиться - вот это дорогого стоит.
👍34❤11🔥3🤔3💩3
А есть расширение на vscode, которое при упавших тестах в пост-пайплайнах показывает пейвол с предложением сходить на упавшую джобу?
Forwarded from BEARlogin
Typescript теперь в телеграм Prisma Json
Значит дошли руки разобраться, что же делать с Json в призме, так как приводить типы порядком надоело (ну или затыкать рот компилятору as any)
Нашел такую вот замечательную либу https://github.com/arthurfiorette/prisma-json-types-generator
Суть такая — добавляем в схему еще 1 генератор, обязательно после основного генератора призмы.
В схеме пишем комментарий
Запускаем генерацию и Profit, в сущности теперь типизированное поле!
Всем призма!
Bearlogin Dev
#prisma #typescript
Значит дошли руки разобраться, что же делать с Json в призме, так как приводить типы порядком надоело (ну или затыкать рот компилятору as any)
Нашел такую вот замечательную либу https://github.com/arthurfiorette/prisma-json-types-generator
Суть такая — добавляем в схему еще 1 генератор, обязательно после основного генератора призмы.
generator json {
provider = "prisma-json-types-generator"
// namespace = "PrismaJson"
// clientOutput = "<finds it automatically>"
// (./ -> relative to schema, or an importable path to require() it)
}
Затем где то в области видимости компилятора TS, например в src/index.ts пишем глобальный неймспейс и прописываем наш существующий тип.declare global {
namespace PrismaJson {
type FormData = FormDataContract;
}
}В схеме пишем комментарий
model Form {
/// [FormData]
formData: Json
}Запускаем генерацию и Profit, в сущности теперь типизированное поле!
Всем призма!
Bearlogin Dev
#prisma #typescript
GitHub
GitHub - arthurfiorette/prisma-json-types-generator: ⚒️ Changes JsonValues to your custom typescript type.
⚒️ Changes JsonValues to your custom typescript type. - arthurfiorette/prisma-json-types-generator
🔥5😨3👍2❤1
BEARlogin
Typescript теперь в телеграм Prisma Json Значит дошли руки разобраться, что же делать с Json в призме, так как приводить типы порядком надоело (ну или затыкать рот компилятору as any) Нашел такую вот замечательную либу https://github.com/arthurfiorette/prisma…
Поясню недовольным 🙂
Первое и самое главное, json используем для часто меняющихся данных (структурно) во время разработки. Чем ближе фича к стабильному релизу - тем важнее выносить структуру в схему.
Почему не использовать рантайм валидацию? Используем, но ручками ее везде указывать не удобно, а иначе типы не инферятся. Т.е. рантайм валидация уже есть где-то под капотом, но она не инферит типы, для этого доп генератор и приходится использовать.
По поводу миграций. Вопрос больной офк. Сначала см. пункт 1. Если в проде все же json остался по какой-то причине, миграции приходится делать руками. Но это не самая большая проблема, главное не забывать версионировать АПИ и валидировать версию и на беке и на фронте (UX-френдли просьба перезагрузить аппу).
Первое и самое главное, json используем для часто меняющихся данных (структурно) во время разработки. Чем ближе фича к стабильному релизу - тем важнее выносить структуру в схему.
Почему не использовать рантайм валидацию? Используем, но ручками ее везде указывать не удобно, а иначе типы не инферятся. Т.е. рантайм валидация уже есть где-то под капотом, но она не инферит типы, для этого доп генератор и приходится использовать.
По поводу миграций. Вопрос больной офк. Сначала см. пункт 1. Если в проде все же json остался по какой-то причине, миграции приходится делать руками. Но это не самая большая проблема, главное не забывать версионировать АПИ и валидировать версию и на беке и на фронте (UX-френдли просьба перезагрузить аппу).
Forwarded from Reatom новости (artalar)
reatomGql - пример фабрики для работы с urql.
Обратите внимание на
TypedDocumentNode - стандарт для типизации GraphQL, код легко портировать для аполо. Кстати, новый https://github.com/0no-co/gql.tada тоже его использует.Обратите внимание на
withStatusNotification, он работает с любым AsyncAction. Это хороший пример гибкого переиспользования логики на реатоме, вы выносите ее в оператор и применяете там где надо. Это лучше чем зашивать эту логику в основную фабрику API (reatomGql в примере), не раздувает кофигурацию и типы, связанность меньше.Gist
reatomGql real example
reatomGql real example. GitHub Gist: instantly share code, notes, and snippets.
❤3🔥2💩2👍1
Сегодня в 14-00 (gmt+3) в artalogg поговорим на темы:
- архитектура
- зачем нужна и какие вопросы решает
- как правильно строить связи между модулями на фронте
- сетевой слой
- интерсепторы
- gql vs rest
- trpc
- контракты, zod
Доступ: boosty.to/artalar
- архитектура
- зачем нужна и какие вопросы решает
- как правильно строить связи между модулями на фронте
- сетевой слой
- интерсепторы
- gql vs rest
- trpc
- контракты, zod
Доступ: boosty.to/artalar
boosty.to
artalar - The creator of Reatom state manager
Exclusive content from artalar, subscribe and be the first to access!
🔥15
Пытаюсь найти хоть какой-то адекватный пример использования xstate. Плохо получается, большинство примеров вообще не про стейт машины, а про управление состоянием. А использовать xstate для каунтера или дата фетчинга ну как-то полный оверкил.
Вот хоть какой-то адекватный пример процесса: Stopwatch. Очень простой. Но вот вы сравните и объясните мне, оно точно того стоит??
Бандлсайз этой простой модели на xstate 33кб, на реатоме 3кб.
Вот хоть какой-то адекватный пример процесса: Stopwatch. Очень простой. Но вот вы сравните и объясните мне, оно точно того стоит??
Бандлсайз этой простой модели на xstate 33кб, на реатоме 3кб.
👍12💩9🥱3😁1🤔1🌚1
Как же меня достало вручную чекать обновление зависимостей после git pull. Почему у npm / yarn / pnpm нет (или есть) флага под это? Написал скрипт, вставьте его себе перед стартом дева
Вопрос только, можно ли как-то весь выхлоп из execSync форвардить выше? спасибо, обновил.
{
"dev": "node deps_check.mjs && vite”,
}
import { execSync } from 'child_process';
import { createHash } from 'crypto';
import { readFile, writeFile, mkdir } from 'fs/promises';
import { resolve, dirname } from 'path';
await mkdir(resolve(dirname(''), './node_modules/.cache')).catch(() => {});
const cachePath = resolve(
dirname(''),
'./node_modules/.cache/deps_check_lock_hash.txt',
);
const lockFilePath = resolve(dirname(''), 'package-lock.json');
const lockHashCache = await readFile(cachePath, {
encoding: 'utf-8',
flag: 'a+',
}).catch(() => {});
const lockHash = createHash('sha256')
.update(await readFile(lockFilePath, { encoding: 'utf-8' }))
.digest('hex');
if (lockHashCache !== lockHash) {
execSync('npm i', { stdio: 'inherit' });
await writeFile(cachePath, lockHash);
}
👍18❤1
Теперь звук от меня вы будете слышать через FIFINE AmpliGame A8 - очень бюджетный микрофон с, на удивление, хорошим качеством, рекомендую.
Telegram
Reatom новости
https://youtu.be/qyQynovRrGk
У меня новый микрофон 🤣 Проба пера, краткий пересказ доклада с холи. Постараюсь теперь делать больше подобных видео.
У меня новый микрофон 🤣 Проба пера, краткий пересказ доклада с холи. Постараюсь теперь делать больше подобных видео.
👍6
Нашел у нас в коде функцию форматирования отображения большого числа, подумал, повспоминал, есть же
MDN мне с ним не особо помог, но в гугле сразу нашлась статья с нужным примером. Что бы попробовать разные варианты использования и сразу увидеть наглядный результат решил вспомнить вот что: https://observablehq.com/d/d0d9dc332f8842c6
Intl.NumberFormat!MDN мне с ним не особо помог, но в гугле сразу нашлась статья с нужным примером. Что бы попробовать разные варианты использования и сразу увидеть наглядный результат решил вспомнить вот что: https://observablehq.com/d/d0d9dc332f8842c6
🔥24👍6😱3
Толку от этого SSR, если проблема в головах… Форма регистрации на https://practicum.yandex.ru/promo/events/b2b_motivation подгружается секунд 5, без какого-либо плейсхолдера или лоадера я просто смотрел в серый квадрат.
😁30🤔1