Forwarded from artalog (artalar)
codeium.com - отличная альтернатива копайлоту
Использую уже несколько месяцев, всем доволен. Не грузит комп, в отличии от табнайна. Бесплатен(!), в отличии от копайлота. Зарабатывают на enterprise лицензии.
Напомню как нужно пользоваться AI-уточкой. Эта штука НЕ должна писать за вас код. Никогда не спрашивайте у него алгоритмы или какую-то логику с условиями, или сложную асинхронную логику.
Что может копайлот и подобные? Анализировать контекст и повторять его с небольшим изменением. Это тулинг для конфигурируемого бойлерплейта! Тесты нагенерить, паттерн-матчинг (switch-case / насколько if-else / тернарки) расписать.
Я чаще всего пользуюсь однострочными подсказками. Депсы в useEffect проставить, опшены с апишки в компонент Select промапить и т.п.
Использую уже несколько месяцев, всем доволен. Не грузит комп, в отличии от табнайна. Бесплатен(!), в отличии от копайлота. Зарабатывают на enterprise лицензии.
Напомню как нужно пользоваться AI-уточкой. Эта штука НЕ должна писать за вас код. Никогда не спрашивайте у него алгоритмы или какую-то логику с условиями, или сложную асинхронную логику.
Что может копайлот и подобные? Анализировать контекст и повторять его с небольшим изменением. Это тулинг для конфигурируемого бойлерплейта! Тесты нагенерить, паттерн-матчинг (switch-case / насколько if-else / тернарки) расписать.
Я чаще всего пользуюсь однострочными подсказками. Депсы в useEffect проставить, опшены с апишки в компонент Select промапить и т.п.
Windsurf
Windsurf - The best AI for Coding
Windsurf is the world's most advanced AI coding assistant for developers and enterprises. Windsurf Editor — the first AI-native IDE that keeps developers in flow.
👍9🔥1
🚮 Трата времени
Мне кажется больше всего времени мы тратим не на какую то рутину, а на следующие 2 вещи:
- начинаем что-то и не доделываем, хотя дело стоящее
- продолжаем делать то, что никому не нужно
Прежде чем за что-то браться — стоит подумать, а стоящее ли дело? Если дело стоящее, то получится ли довести его до конца? Возможно, у вас уже куча незаконченных дел и лучше посвятить свободный вечер именно им, а не пополнять этот список ещё одним незаконченным проектом. Лучше просто записать все мысли о новой идее, но не браться за неё прямо сейчас. В противном случае, вы рискуете просто потратить время и получить ещё одно незаконченное дело, которое будет вас преследовать.
Если взялись за дело и в процессе поняли, что оно лишено всякого смысла — лучше не тратить время впустую. Возможно вы хотите внедрить новую технологию в проект — сперва обсудите это с командой, возможно окажется, что это никому не нужно (а возможно наоборот).
Как-то будучи студентом, я решил реализовать мобильное приложение для онлайн-кабинета студента нашего универа, убил кучу времени и даже реализовал прототип. Затем, поговорив с начальником отдела разработки, понял, что это никому не нужно, а время уже потрачено. Можно было просто сперва обсудить это, сэкономил бы кучу времени.
Если говорить о незаконченных делах, то вот так выглядит мой список проектов в Notion. На многие из них я потратил больше недели, но так и не довёл до конца. В этом году всё-таки смог доделать несколько начатых проектов, посмотрим что будет в следующем.
О том, почему важно доводить проекты до конца, я писал здесь.
#planning #about_me
Мне кажется больше всего времени мы тратим не на какую то рутину, а на следующие 2 вещи:
- начинаем что-то и не доделываем, хотя дело стоящее
- продолжаем делать то, что никому не нужно
Прежде чем за что-то браться — стоит подумать, а стоящее ли дело? Если дело стоящее, то получится ли довести его до конца? Возможно, у вас уже куча незаконченных дел и лучше посвятить свободный вечер именно им, а не пополнять этот список ещё одним незаконченным проектом. Лучше просто записать все мысли о новой идее, но не браться за неё прямо сейчас. В противном случае, вы рискуете просто потратить время и получить ещё одно незаконченное дело, которое будет вас преследовать.
Если взялись за дело и в процессе поняли, что оно лишено всякого смысла — лучше не тратить время впустую. Возможно вы хотите внедрить новую технологию в проект — сперва обсудите это с командой, возможно окажется, что это никому не нужно (а возможно наоборот).
Как-то будучи студентом, я решил реализовать мобильное приложение для онлайн-кабинета студента нашего универа, убил кучу времени и даже реализовал прототип. Затем, поговорив с начальником отдела разработки, понял, что это никому не нужно, а время уже потрачено. Можно было просто сперва обсудить это, сэкономил бы кучу времени.
Если говорить о незаконченных делах, то вот так выглядит мой список проектов в Notion. На многие из них я потратил больше недели, но так и не довёл до конца. В этом году всё-таки смог доделать несколько начатых проектов, посмотрим что будет в следующем.
О том, почему важно доводить проекты до конца, я писал здесь.
#planning #about_me
👍5
✍️ Мини-Курс на Хабре
В ноябре Хабр запускал мини-курс из 4-х занятий по написанию статей и ведению блогов компаний. Моей компании, корпоративный блог не нужен, но статьи время от времени стараюсь писать. Поэтому курс решил пройти и поделиться здесь некоторыми заметками, так сказать, чтобы всё лучше усвоилось.
👆 Формат статьи
Перед написанием статьи нужно определиться с её форматом, он повлияет на ход всей статьи, от названия до содержания. Вот 4 основных типа статей и примеры заголовков для них:
1️⃣ Кейс — “Как я водил слона по лабиринту”
2️⃣ Туториал/инструкция — “Как водить слонов по лабиринту: не повторяйте наших ошибок, держите за хобот”
3️⃣ Обзор — “Лучшие слоны для лабиринтов или почему мы предпочитаем индийских”
4️⃣ Аналитика — “Самые важные качества у слонов в лабиринтах на нашем опыте”
💡 Кейс
- Рассказываете, не что вы делали, а как, и описываете: процессы, ошибки, препятствия. То, как вы что-то делали — менее важно.
- Должно быть больше информации о непосредственном опыте именно вашей команды, а не какой-то абстрактной команды. Поэтому нужно больше деталей о работе вашей команды, о каких-то конкретных ситуациях.
📃 Туториал/инструкция
- Тут мы описываем конкретные шаги, поэтому конкретизация более важна.
- Детали компании/команды менее важны, но нужен минимальный контекст, чтобы было понятно, что вы знаете, о чём говорите.
🎨 Оформление
Когда мы пишем статью на Хабр, то помимо основного содержимого, нам нужно позаботиться о том, как статья будет выглядеть в ленте. Это нужно, чтобы завлечь читателя её прочесть. Здесь важно обратить внимание на:
- Заголовок
- КДПВ — картинка для привлечения внимания
- Лид — вводный абзац
📰 Заголовок
- Заголовок не должен вводить в заблуждение, должен отображать суть статьи
- Может состоять из 2-х частей: Игровой (креативный) заголовок + рабочий
- Рабочий заголовок — заголовок, который мы используем, когда пишем статью.
- Если пишем серию статей, то не нужно указывать “Часть 1”, “Часть 2”, …, чтобы не отпугнуть читателей. Лучше сделать каждую статью в серии самодостаточной, чтобы не требовалось читать предыдущие статьи из серии.
📝 Примеры заголовков
Рабочий заголовок: Как написать хорошую статью на Хабр
Игровой + рабочий: Редактируй трезвым: статья о том, как писать хорошие статьи на Хабр
Короткий: Топовая статья — как?
🔝 Вводный абзац (лид)
Тут нужно раскрыть:
- О чём вы хотите рассказать и почему
- Указать целевую аудиторию
- Представиться, так вы будете для них коллегой по цеху, а не каким-то абстрактным чуваком в интернете
- Лид не должен раскрывать все идеи статьи, нужно сохранять интригу, чтобы завлечь открыть саму статью
✍️ Основной контент
- Больше конкретики. Например, нужно писать не “наш проект очень старый”, а “мы пережили 2 миграции с Flash на JQuery и с JQuery на Angular”
- Описывать личный опыт и вполне конкретные ситуации/проблемы/провалы и успешные решения.
- Не нужно использовать заумные предложения, мы пишем не для научного издания. Например, можно задать себе вопрос “Сказал бы я так в жизни?”, и если нет, то лучше переформулировать.
#habr
В ноябре Хабр запускал мини-курс из 4-х занятий по написанию статей и ведению блогов компаний. Моей компании, корпоративный блог не нужен, но статьи время от времени стараюсь писать. Поэтому курс решил пройти и поделиться здесь некоторыми заметками, так сказать, чтобы всё лучше усвоилось.
👆 Формат статьи
Перед написанием статьи нужно определиться с её форматом, он повлияет на ход всей статьи, от названия до содержания. Вот 4 основных типа статей и примеры заголовков для них:
1️⃣ Кейс — “Как я водил слона по лабиринту”
2️⃣ Туториал/инструкция — “Как водить слонов по лабиринту: не повторяйте наших ошибок, держите за хобот”
3️⃣ Обзор — “Лучшие слоны для лабиринтов или почему мы предпочитаем индийских”
4️⃣ Аналитика — “Самые важные качества у слонов в лабиринтах на нашем опыте”
💡 Кейс
- Рассказываете, не что вы делали, а как, и описываете: процессы, ошибки, препятствия. То, как вы что-то делали — менее важно.
- Должно быть больше информации о непосредственном опыте именно вашей команды, а не какой-то абстрактной команды. Поэтому нужно больше деталей о работе вашей команды, о каких-то конкретных ситуациях.
📃 Туториал/инструкция
- Тут мы описываем конкретные шаги, поэтому конкретизация более важна.
- Детали компании/команды менее важны, но нужен минимальный контекст, чтобы было понятно, что вы знаете, о чём говорите.
🎨 Оформление
Когда мы пишем статью на Хабр, то помимо основного содержимого, нам нужно позаботиться о том, как статья будет выглядеть в ленте. Это нужно, чтобы завлечь читателя её прочесть. Здесь важно обратить внимание на:
- Заголовок
- КДПВ — картинка для привлечения внимания
- Лид — вводный абзац
📰 Заголовок
- Заголовок не должен вводить в заблуждение, должен отображать суть статьи
- Может состоять из 2-х частей: Игровой (креативный) заголовок + рабочий
- Рабочий заголовок — заголовок, который мы используем, когда пишем статью.
- Если пишем серию статей, то не нужно указывать “Часть 1”, “Часть 2”, …, чтобы не отпугнуть читателей. Лучше сделать каждую статью в серии самодостаточной, чтобы не требовалось читать предыдущие статьи из серии.
📝 Примеры заголовков
Рабочий заголовок: Как написать хорошую статью на Хабр
Игровой + рабочий: Редактируй трезвым: статья о том, как писать хорошие статьи на Хабр
Короткий: Топовая статья — как?
🔝 Вводный абзац (лид)
Тут нужно раскрыть:
- О чём вы хотите рассказать и почему
- Указать целевую аудиторию
- Представиться, так вы будете для них коллегой по цеху, а не каким-то абстрактным чуваком в интернете
- Лид не должен раскрывать все идеи статьи, нужно сохранять интригу, чтобы завлечь открыть саму статью
✍️ Основной контент
- Больше конкретики. Например, нужно писать не “наш проект очень старый”, а “мы пережили 2 миграции с Flash на JQuery и с JQuery на Angular”
- Описывать личный опыт и вполне конкретные ситуации/проблемы/провалы и успешные решения.
- Не нужно использовать заумные предложения, мы пишем не для научного издания. Например, можно задать себе вопрос “Сказал бы я так в жизни?”, и если нет, то лучше переформулировать.
#habr
🔥6
Forwarded from Половнёв—Журнал
Баготерапия
Мне тяжело неделями пилить новые фичи. Фичи связаны с неопределенностью — мы не совсем понимаем, куда идем, что нас ждет впереди, что мы забыли или не учли. Короче, очень много энергии уходит на ДУМАНИЯ. Если пилить новые фичи 6 недель подряд, можно здорово выгореть.
С другой стороны, мне легко исправлять баги. Баги тоже связаны с неопределенностью, но другого вида — мы не понимаем их причину. Зато мы знаем, как работает сейчас и как должно работать. Бац, бац и багфикс готов. Еще полчаса и он уже в продакшене. Красота!
Поэтому я предпочитаю чередовать фичи и баги. Когда чувствую, что не могу больше пилить новое, переключаюсь на баги и отдыхаю. Это работает на уровне итераций и ежедневной работы. В первом случае после 6 недель работы над новыми фичами, мы планируем разгрузочную неделю на рефакторинг и багфиксы. Во втором случае я каждый день беру баг-два, чтобы передохнуть. Периодизация!
P. S. Конечно, это не касается гейзенбагов, пожирающих твою душу. Их нужно планировать, отслеживать гипотезы и планомерно исследовать день за днем. Их лучше запихивать «продуктовым налогом» в ближайшие итерации.
Мне тяжело неделями пилить новые фичи. Фичи связаны с неопределенностью — мы не совсем понимаем, куда идем, что нас ждет впереди, что мы забыли или не учли. Короче, очень много энергии уходит на ДУМАНИЯ. Если пилить новые фичи 6 недель подряд, можно здорово выгореть.
С другой стороны, мне легко исправлять баги. Баги тоже связаны с неопределенностью, но другого вида — мы не понимаем их причину. Зато мы знаем, как работает сейчас и как должно работать. Бац, бац и багфикс готов. Еще полчаса и он уже в продакшене. Красота!
Поэтому я предпочитаю чередовать фичи и баги. Когда чувствую, что не могу больше пилить новое, переключаюсь на баги и отдыхаю. Это работает на уровне итераций и ежедневной работы. В первом случае после 6 недель работы над новыми фичами, мы планируем разгрузочную неделю на рефакторинг и багфиксы. Во втором случае я каждый день беру баг-два, чтобы передохнуть. Периодизация!
P. S. Конечно, это не касается гейзенбагов, пожирающих твою душу. Их нужно планировать, отслеживать гипотезы и планомерно исследовать день за днем. Их лучше запихивать «продуктовым налогом» в ближайшие итерации.
👍6
📺 Дизайн токены
Сегодня я порекомендую несколько докладов о дизайн токенах
1️⃣ MoscowJS 49 — Дизайн-система на фронтенде — Сергей Володин
Сергей рассказывает, как первый редизайн почты и других продуктов mail.ru — “где нужно было поменять только цвет” занял неделю и в нём участвовали 10 человек.
В итоге они поняли, что что-то не так с их архитектурой, и что одного компонентного подхода не достаточно. Mail.ru — большая компания, и на разных проектах могут быть разные технологии. Но помимо этого, ещё определённо будут разные платформы — не только веб, но и, например, мобилки. В таком случае у вас физически нет возможности заставить использовать всех одну и туже библиотеку компонентов.
Чтобы ускорить разработку, в проекте должна использоваться дизайн-система. Дизайн-система — язык, на котором описываются интерфейсы. Это не просто UI Kit, дизайн-система описывает как работать со шрифтами, как правильно компоновать компоненты, описывает анимации и прочее. К тому же, дизайн-система должна быть платформо-независимой.
И далее рассматриваются:
- Дизайн токены — ядро дизайн системы.
- Проектирование API компонентов. Что интересно, они запретили прокидывать в компоненты className и инлайн стили.
- Как реализовывать темы.
2️⃣ Токены в дизайн-системах / Юрий Ветров (Mail.Ru Group)
Еще один доклад от Mail.Ru. Здесь подробно рассказывается о том, как происходила унификация различных продуктов в компании, почему библиотека компонентов не решила все проблемы и как помогли дизайн-токены.
3️⃣ Дизайн-система на токенах в Figma, коде и проде – Константин Подрубный, Wrike
Тут можно посмотреть демку, как можно редактировать дизайн-токены прямо из фигмы, и как они сразу же уходили в продакшн.
Ещё по теме:
- Дизайн система Paradigm от Mail.ru
- КОД — клуб отечественных дизайн систем
- Styledictionary — инструмент для генерации дизайн токенов под разные платформы
#fridayreading #design #architecture
Сегодня я порекомендую несколько докладов о дизайн токенах
1️⃣ MoscowJS 49 — Дизайн-система на фронтенде — Сергей Володин
Сергей рассказывает, как первый редизайн почты и других продуктов mail.ru — “где нужно было поменять только цвет” занял неделю и в нём участвовали 10 человек.
В итоге они поняли, что что-то не так с их архитектурой, и что одного компонентного подхода не достаточно. Mail.ru — большая компания, и на разных проектах могут быть разные технологии. Но помимо этого, ещё определённо будут разные платформы — не только веб, но и, например, мобилки. В таком случае у вас физически нет возможности заставить использовать всех одну и туже библиотеку компонентов.
Чтобы ускорить разработку, в проекте должна использоваться дизайн-система. Дизайн-система — язык, на котором описываются интерфейсы. Это не просто UI Kit, дизайн-система описывает как работать со шрифтами, как правильно компоновать компоненты, описывает анимации и прочее. К тому же, дизайн-система должна быть платформо-независимой.
И далее рассматриваются:
- Дизайн токены — ядро дизайн системы.
- Проектирование API компонентов. Что интересно, они запретили прокидывать в компоненты className и инлайн стили.
- Как реализовывать темы.
2️⃣ Токены в дизайн-системах / Юрий Ветров (Mail.Ru Group)
Еще один доклад от Mail.Ru. Здесь подробно рассказывается о том, как происходила унификация различных продуктов в компании, почему библиотека компонентов не решила все проблемы и как помогли дизайн-токены.
3️⃣ Дизайн-система на токенах в Figma, коде и проде – Константин Подрубный, Wrike
Тут можно посмотреть демку, как можно редактировать дизайн-токены прямо из фигмы, и как они сразу же уходили в продакшн.
Ещё по теме:
- Дизайн система Paradigm от Mail.ru
- КОД — клуб отечественных дизайн систем
- Styledictionary — инструмент для генерации дизайн токенов под разные платформы
#fridayreading #design #architecture
YouTube
MoscowJS 49 — Дизайн-система на фронтенде — Сергей Володин
Расскажу, как мы пришли к дизайн-системе, которую используем в Mail.ru. Обсудим архитектуру на фронтенде для построения интерфейса: provider токенов, UI-kit и темы. Приведу примеры кейсов редизайна, и как мы с ними справились.
Страница доклада — https:/…
Страница доклада — https:/…
👍1
Если вы ещё не забыли, в предыдущем посте я упомянул, что прошёл мини-курс по написанию статей на Хабр.
А сегодня хочу поделиться статьями, которые написал за время обучения:
1️⃣ Как автоматизировать использование дизайн токенов с помощью Stylelint и PostCSS
2️⃣ Как я документацию для дизайн-токенов в Storybook генерировал
#frontend #design #automation #storybook
А сегодня хочу поделиться статьями, которые написал за время обучения:
1️⃣ Как автоматизировать использование дизайн токенов с помощью Stylelint и PostCSS
2️⃣ Как я документацию для дизайн-токенов в Storybook генерировал
#frontend #design #automation #storybook
🔥2
📖 Скорбь сатаны — Мария Корелли
Сегодня пора отвлечься от кода и дать мозгу небольшой отдых — новый год уже близко! Можно немного отодвинуть ноут в сторону (но не слишком далеко) и расслабиться. На выходных дочитал “Скорбь сатаны” Марии Корелли.
Это одна из тех книг, от которых невозможно оторваться. Завораживающая история, которая рассказывает, что за деньги настоящее счастье не купишь. Очень рекомендую 👍.
Со временем всё забывается, поэтому пока свежи впечатления, решил поделиться некоторыми цитатами из книги:
- Как правило - богачи самые несчастные люди на свете.
- Я устал от самого себя. И Мне никогда не удается отдохнуть.
- Настоящее - самое приемлемое время.
- Дни — белые странницы божественной хроники человеческой жизни.
- Я смотрю на бесконечное будущее, на которое я обречен, скорее с ужасом, чем с благодарностью, так как я зря растратил свое время и упустил бесценные возможности.
- Как странно писать о себе в прошедшем времени, как о том, кто уже не имеет отношения к настоящему.
- Никогда ни на что не следует смотреть слишком мрачно.
---
Буду благодарен, если посоветуете, что можно почитать на новогодних праздниках 📚🙏
#book #fridayreading
Сегодня пора отвлечься от кода и дать мозгу небольшой отдых — новый год уже близко! Можно немного отодвинуть ноут в сторону (но не слишком далеко) и расслабиться. На выходных дочитал “Скорбь сатаны” Марии Корелли.
Это одна из тех книг, от которых невозможно оторваться. Завораживающая история, которая рассказывает, что за деньги настоящее счастье не купишь. Очень рекомендую 👍.
Со временем всё забывается, поэтому пока свежи впечатления, решил поделиться некоторыми цитатами из книги:
- Как правило - богачи самые несчастные люди на свете.
- Я устал от самого себя. И Мне никогда не удается отдохнуть.
- Настоящее - самое приемлемое время.
- Дни — белые странницы божественной хроники человеческой жизни.
- Я смотрю на бесконечное будущее, на которое я обречен, скорее с ужасом, чем с благодарностью, так как я зря растратил свое время и упустил бесценные возможности.
- Как странно писать о себе в прошедшем времени, как о том, кто уже не имеет отношения к настоящему.
- Никогда ни на что не следует смотреть слишком мрачно.
---
Буду благодарен, если посоветуете, что можно почитать на новогодних праздниках 📚🙏
#book #fridayreading
👍3
📖 Хабр. Технотекст 2023
Ежегодно Хабр проводит конкурс статей Технотекст, где каждый может принять участие, чтобы заслужить почёт и славу (или же нет).
Если вы хотите прочитать пару-тройку интересных статей, то можете найти для себя много интересного в прошлогоднем шортлисте технотекста. Некоторые статьи из этого списка я уже рекомендовал ранее:
- Не трогайте разработчиков. Отстаньте. Просто не беспокойте
- Процесс ревью кода структурно порочен. Вот, как его исправить
В прошлом году я участвовал со статьями о Notion:
- Система личного планирования в Notion. Эпизод 1 — Инбокс
- Система личного планирования в Notion. Эпизод 2 — Управление проектами
А в этом году снова решил поучаствовать со статьёй Интегрируем Яндекс Музыку в Visual Studio Code.
Надеюсь, что в этом году фортуна улыбнётся мне 🤞.
#habr
Ежегодно Хабр проводит конкурс статей Технотекст, где каждый может принять участие, чтобы заслужить почёт и славу (или же нет).
Если вы хотите прочитать пару-тройку интересных статей, то можете найти для себя много интересного в прошлогоднем шортлисте технотекста. Некоторые статьи из этого списка я уже рекомендовал ранее:
- Не трогайте разработчиков. Отстаньте. Просто не беспокойте
- Процесс ревью кода структурно порочен. Вот, как его исправить
В прошлом году я участвовал со статьями о Notion:
- Система личного планирования в Notion. Эпизод 1 — Инбокс
- Система личного планирования в Notion. Эпизод 2 — Управление проектами
А в этом году снова решил поучаствовать со статьёй Интегрируем Яндекс Музыку в Visual Studio Code.
Надеюсь, что в этом году фортуна улыбнётся мне 🤞.
#habr
Хабр
Зачем писать на Хабр, если каждый раз потеют ладони?
Сегодня стартует VI конкурс технических статей на Хабре « Технотекст ». Команда комьюнити проводит его во второй раз, участвует в команде организаторов в четвёртый. Так получилось, что трое из нас —...
👍2
☃️ Итоги 2023 года
2023 год был достаточно насыщенным, и наверно стоит немного оглянуться назад и подвести итоги: что удалось сделать, а над чем ещё нужно поработать. Ведь иначе может показаться, что за год ничего не было сделано.
🏃 Пробежал полумарафон
🎾 Начал играть в большой теннис
🧳 Поездил по России и посетил 5 стран
🇷🇺 Москва, Краснодар, Тюмень, Екатеринбург
🇧🇾 Минск
🇦🇲 Ереван
🇬🇪 Тбилиси
🇦🇿 Баку
🇹🇷 Стамбул, Каппадокия, Сиде
🌑 Сыграл в пейнтбол
✈️ 74 публикации в телеграмм канале
📝 6 статей на Хабре и VC:
- Интегрируем Яндекс Музыку в Visual Studio Code
- Свифт умирает или как получать валютные платежи в 2023 году
- Бессильный сборщик мусора или неуправляемая память в .NET
- Как платформа управления знаниями упрощает онбординг — TEAMLY
- Как автоматизировать использование дизайн токенов с помощью Stylelint и PostCSS
- Как я документацию для дизайн-токенов в Storybook генерировал
🧑💻 Довёл до ума VS Code расширение и Open API документацию для Яндекс Музыки
🧑💻 Поконтрибьютил в Storybook Design Token
📚 Прошёл пару курсов:
- Старт на Хабре
- Подготовка к алгоритмическому собеседованию
📖 Читал не много
- Проект “Феникс”
- Смелость не нравиться. Как полюбить себя, найти свое призвание и выбрать счастье
- Не мешай себе жить
- Скорбь сатаны — Мария Корелли
🧑🏫 Зарегистрировался на GetMentor
❌ Конечно, планов было гораздо больше и не всё удалось сделать.
- Не успел подготовиться к собеседованию в Яндекс. Поэтому не пошёл на второе этап.
- Не успел довести до ума утилиту для анализа Code Review
- Не нашёл времени на английский
- Осталось множество незаконченных проектов
Надеюсь следующий год будет по крайней мере не хуже.
Всех с наступающим новым годом! 🎉 🎄❄️☃️🌨️
#итогигода
2023 год был достаточно насыщенным, и наверно стоит немного оглянуться назад и подвести итоги: что удалось сделать, а над чем ещё нужно поработать. Ведь иначе может показаться, что за год ничего не было сделано.
🏃 Пробежал полумарафон
🎾 Начал играть в большой теннис
🧳 Поездил по России и посетил 5 стран
🇷🇺 Москва, Краснодар, Тюмень, Екатеринбург
🇧🇾 Минск
🇦🇲 Ереван
🇬🇪 Тбилиси
🇦🇿 Баку
🇹🇷 Стамбул, Каппадокия, Сиде
🌑 Сыграл в пейнтбол
✈️ 74 публикации в телеграмм канале
📝 6 статей на Хабре и VC:
- Интегрируем Яндекс Музыку в Visual Studio Code
- Свифт умирает или как получать валютные платежи в 2023 году
- Бессильный сборщик мусора или неуправляемая память в .NET
- Как платформа управления знаниями упрощает онбординг — TEAMLY
- Как автоматизировать использование дизайн токенов с помощью Stylelint и PostCSS
- Как я документацию для дизайн-токенов в Storybook генерировал
🧑💻 Довёл до ума VS Code расширение и Open API документацию для Яндекс Музыки
🧑💻 Поконтрибьютил в Storybook Design Token
📚 Прошёл пару курсов:
- Старт на Хабре
- Подготовка к алгоритмическому собеседованию
📖 Читал не много
- Проект “Феникс”
- Смелость не нравиться. Как полюбить себя, найти свое призвание и выбрать счастье
- Не мешай себе жить
- Скорбь сатаны — Мария Корелли
🧑🏫 Зарегистрировался на GetMentor
❌ Конечно, планов было гораздо больше и не всё удалось сделать.
- Не успел подготовиться к собеседованию в Яндекс. Поэтому не пошёл на второе этап.
- Не успел довести до ума утилиту для анализа Code Review
- Не нашёл времени на английский
- Осталось множество незаконченных проектов
Надеюсь следующий год будет по крайней мере не хуже.
Всех с наступающим новым годом! 🎉 🎄❄️☃️🌨️
#итогигода
🔥6👍2
📖 Михаил Горбачёв: В меняющемся мире
На новогодних удалось не только пить, есть, спать и сбить режим, но и немного почитать. Перед новым годом спонтанно зашёл в Читай Город и купил книгу “Михаил Горбачёв: В меняющемся мире”, очень интересная и читается на одном дыхании.
📚 Книга проливает свет на ключевые моменты истории СССР в период перестройки под руководством Михаила Горбачёва. Название отражает содержание, фокусируясь в основном на событиях, формировавших жизнь Горбачёва
💭 Уделяется внимание новому мышлению, которому следовала советская власть в период перестройки
💣 Особое внимание уделяется тому, каким образом останавливалась гонка вооружений и как завершилась холодная война, раскрывая усилия советского руководства, положившие конец этому периоду
🌐 Рассматривается оттепель в отношениях СССР и США при Горбачёве и Рейгане
🔗 В книге Горбачёв рассказывает, почему было важно сохранить СССР, и к каким проблемам мог привести его развал (и в итоге привёл). Естественно описывается как он в итоге распался.
#book #politics
На новогодних удалось не только пить, есть, спать и сбить режим, но и немного почитать. Перед новым годом спонтанно зашёл в Читай Город и купил книгу “Михаил Горбачёв: В меняющемся мире”, очень интересная и читается на одном дыхании.
📚 Книга проливает свет на ключевые моменты истории СССР в период перестройки под руководством Михаила Горбачёва. Название отражает содержание, фокусируясь в основном на событиях, формировавших жизнь Горбачёва
💭 Уделяется внимание новому мышлению, которому следовала советская власть в период перестройки
💣 Особое внимание уделяется тому, каким образом останавливалась гонка вооружений и как завершилась холодная война, раскрывая усилия советского руководства, положившие конец этому периоду
🌐 Рассматривается оттепель в отношениях СССР и США при Горбачёве и Рейгане
🔗 В книге Горбачёв рассказывает, почему было важно сохранить СССР, и к каким проблемам мог привести его развал (и в итоге привёл). Естественно описывается как он в итоге распался.
#book #politics
www.labirint.ru
Книга: В меняющемся мире - Михаил Горбачев. Купить книгу, читать рецензии | Лабиринт
Книга: В меняющемся мире.📙 Автор: Михаил Горбачев. Аннотация, 🔝 отзывы читателей, иллюстрации. Купить книгу по привлекательной цене среди миллиона книг "Лабиринта" | ISBN 978-5-17-109134-7
👎1🤔1
Пару месяцев назад я упоминал codeium — бесплатную альтернативу копайлоту. На новогодних праздниках наконец-то попробовал его на своём пет-проекте, и довольно часто он действительно ускоряет разработку. На скриншотах можно увидеть как codeium:
- Выводит значение enum’а
- Помогает писать тернарники
- Генерирует код по запросу в чате
- Может сгенерировать JSDoc или объяснить код
В текущих реалиях нужно включать VPN, чтобы работать с ChatGPT из России, здесь же есть встроенный чат, который работает без VPN 👍.
#ai
- Выводит значение enum’а
- Помогает писать тернарники
- Генерирует код по запросу в чате
- Может сгенерировать JSDoc или объяснить код
В текущих реалиях нужно включать VPN, чтобы работать с ChatGPT из России, здесь же есть встроенный чат, который работает без VPN 👍.
#ai
👍8❤3
🗓 Cron теперь Notion Calendar
Некоторое время назад Notion купил Cron, и вот недавно состоялся релиз, теперь Cron - это Notion календарь, в котором доступна интеграция, как с гугл календарём, так и с базами в Notion.
Базы отображаются в левом нижнем углу, а записи - в верхней части календаря.
https://calendar.notion.so
#notion
Некоторое время назад Notion купил Cron, и вот недавно состоялся релиз, теперь Cron - это Notion календарь, в котором доступна интеграция, как с гугл календарём, так и с базами в Notion.
Базы отображаются в левом нижнем углу, а записи - в верхней части календаря.
https://calendar.notion.so
#notion
❤🔥3
🧹 Тестирование — подчищаем за собой
Так исторически сложилось, что у нас на проекте нет юнит тестов, только интеграционные и e2e.
Иногда в тестах приходится подчищать за собой — удалять созданные во время выполнения теста объекты в базе, чтобы не влиять на результат других тестов. Это конечно, лишь ухудшает читабельность кода.
Мы прошли некоторую эволюцию подходов для создания и удаления объектов:
1. Мы использовали
2. Перешли к использованию функций с колбэками. Утилитная функция создаёт и удаляет объект, а мы передаём лишь колбэк, в котором описываем логику теста и нужные нам проверки.
3. Внедрили
Использование паттерна с классами
Такой подход не ограничивается только лишь C# — в TypeScript 5.2. уже появилась поддержка
#csharp #javanoscript #typenoscript #tests
Так исторически сложилось, что у нас на проекте нет юнит тестов, только интеграционные и e2e.
Иногда в тестах приходится подчищать за собой — удалять созданные во время выполнения теста объекты в базе, чтобы не влиять на результат других тестов. Это конечно, лишь ухудшает читабельность кода.
Мы прошли некоторую эволюцию подходов для создания и удаления объектов:
1. Мы использовали
try/finally , где все созданные объекты удаляются внутри блока finally. Выглядит сомнительно, когда нужно городить подобную конструкцию во многих тестах.2. Перешли к использованию функций с колбэками. Утилитная функция создаёт и удаляет объект, а мы передаём лишь колбэк, в котором описываем логику теста и нужные нам проверки.
3. Внедрили
IDisposable классы, которые мы называем Creator’ами. Они делают то же самое, что и функции с колбэками, но не добавляют ненужную вложенность, что улучшает читаемость кода. Они чем-то напоминают PageObjectModel в e2e тестах. Использование паттерна с классами
IDisposable также подходит для активации определенной настройки только в рамках одного теста и отключения её по завершении теста.Такой подход не ограничивается только лишь C# — в TypeScript 5.2. уже появилась поддержка
using и, возможно, скоро она появится и в JavaScript. #csharp #javanoscript #typenoscript #tests
👍5
⏰Напоминания в Notion
Сегодня немного о том, как я облажался, но не сильно. Обычно я оплачиваю подписку иви сразу за год — так дешевле, всего 2000р (≈170 руб / месяц). Но как только подписка заканчивается — списывается оплата за 1 месяц — 399р, что гораздо больше чем 170р.
Что можно сделать, чтобы не забыть оплатить подписку (отключить авто продление!)?
Если вы, как и я, ведёте свои задачи и проекты в Notion, то у вас скорее всего есть таблица, где отображаются задачи, которые вы должны выполнить сегодня. В таком случае вы можете:
1. Создать задачу в Notion
2. Указать дату выполнения, немного раньше завершения подписки
3. В указанную дату задача появится в вашем списке на сегодня
Например, моя подписка заканчивается 8 января 2025 года, поэтому я поставлю дату 27 декабря 2024 года, чтобы позаботиться об это заранее.
Я уже описывал этот способ в статье Система личного планирования в Notion. Эпизод 2 — Управление проектами.
#notion
Сегодня немного о том, как я облажался, но не сильно. Обычно я оплачиваю подписку иви сразу за год — так дешевле, всего 2000р (≈170 руб / месяц). Но как только подписка заканчивается — списывается оплата за 1 месяц — 399р, что гораздо больше чем 170р.
Что можно сделать, чтобы не забыть оплатить подписку (отключить авто продление!)?
Если вы, как и я, ведёте свои задачи и проекты в Notion, то у вас скорее всего есть таблица, где отображаются задачи, которые вы должны выполнить сегодня. В таком случае вы можете:
1. Создать задачу в Notion
2. Указать дату выполнения, немного раньше завершения подписки
3. В указанную дату задача появится в вашем списке на сегодня
Например, моя подписка заканчивается 8 января 2025 года, поэтому я поставлю дату 27 декабря 2024 года, чтобы позаботиться об это заранее.
Я уже описывал этот способ в статье Система личного планирования в Notion. Эпизод 2 — Управление проектами.
#notion
👍4
Прошлой весной, я наконец-то зарегистрировался на GetMentor, и теперь время от времени мне поступают различные вопросы. Некоторые из них решил публиковать здесь на канале.
Вопрос: если для параметра указат
Ответ:
Тут всё дело
Вмес
Хорошее демо о `target` и `currentTarget` есть в доке.
Ещё по теме
- Объект события Event
- Событийная модель
#question #frontend
Вопрос: если для параметра указат
ь тип React.DragEvent<HTMLDivElement> ,то в коде e.target.style.background = 'white’ TypeScript ругается, что в поле target отсутствует свойство style, почему так?Ответ:
Тут всё дело
в том target — элемент, на котором произошло событие (оно могло всплыть к текущему элементу от дочернего). Из-за этого заранее тип target’а не известен, поэтому его нужно привести к нужному типу. Например, вот так:
(e.target as HTMLElement).style.background = 'white';
Вмес
то target можно использовать поле currentTarget, тип этого поля всегда известен, потому что currentTarget всегда ссылается на текущий элемент, к которому прикреплён обработчик событий. В этом случае можно избежать приведения типа.
e.currentTarget.style.background = 'white';
Хорошее демо о `target` и `currentTarget` есть в доке.
Ещё по теме
- Объект события Event
- Событийная модель
#question #frontend
👍11
Media is too big
VIEW IN TELEGRAM
🍎 Ещё раз об интеграции Notion и Apple Shortcuts
Пару лет назад я рассказывал, как можно использовать Apple Shortcuts, чтобы настроить быстрое добавление записей в инбокс. А в прошлом году поделился шаблоном, где для использования достаточно вставить токен notion и идентификатор базы. Но вчера я заметил, что теперь даже этого делать не нужно.
Наконец-то, Notion добавил готовые экшины для добавления записей в Inbox, всё настраивается за минуту. Жаль, что новый способ работает только на телефоне, приложение Notion для Mac не поддерживает эти действия.
#notion #automation
Пару лет назад я рассказывал, как можно использовать Apple Shortcuts, чтобы настроить быстрое добавление записей в инбокс. А в прошлом году поделился шаблоном, где для использования достаточно вставить токен notion и идентификатор базы. Но вчера я заметил, что теперь даже этого делать не нужно.
Наконец-то, Notion добавил готовые экшины для добавления записей в Inbox, всё настраивается за минуту. Жаль, что новый способ работает только на телефоне, приложение Notion для Mac не поддерживает эти действия.
#notion #automation
👍5🔥1