IF Developer
52 subscribers
2 photos
6 videos
91 links
Тут я делюсь своими мыслями, решениями насущных проблем, полезными ссылками, заметками и юморком.

Сам прожжен девелоперским 10+ лет опытом в frontend/backend и частично в mobile/desktop направлениях

P.S. Обратная связь со мной: @if_devlpr_feedback_bot
Download Telegram
Крайне подробная статья про ускорение загрузки страниц в Next.js:

➡️ https://www.toptal.com/next-js/nextjs-rendering-types-page-speed-optimization

Автор рассказывает про все типы рендеров (SSR, SSG и гибридный вариант с CSR) и показывает техники для ускорения под каждый тип. Полезная статья, если столкнулись с проблемой.

Хотя на своем примере с next.js основной затык в «перфоменсе» - это время ответа источника данных для рендеринга страницы 😅

#nextjs
3
Крайне любопытная статья про различные способы оптимизации скорости исполнения JS кода:

➡️ https://romgrk.com/posts/optimizing-javascript

Пунктов немного, но некоторые из них крайне любопытны и неоднозначны на первый взгляд.

Также всегда помните, что оптимизация скорости работы за счет ухудшения читаемости кода дело крайне тонкое. Никогда не разбрасывайтесь курочкам слишком много зернышек когда они и так достаточно сыты - будет весь двор в 💩
👍3
В дополнении к данному посту (тыц), статья ниже расскажет разницу между Message Queues и Event Streaming:

➡️ https://thenewstack.io/choosing-between-message-queues-and-event-streams/

Для пояснения разницы используют два наиболее популярных сервиса: RabbitMQ и Kafka.

От себя:
Kafka - гораздо более сложная для понимания и развертывания, поэтому нужно четко осознавать необходимость ее использования и какие задачи будут решены, т.к затраченные усилия и последующие инфраструктурные расходы могут легко не окупиться.
Из плюсов - перфоменс (тыц) огромен, но настраивать сложно (тыц).
Альтернативы: тут всё сложно, т.к Kafka фактически не имеет полноценных альтернатив :) Можно рассмотреть AWS Kinesis, но нужно понимать что вам нужно от этого сервиса. Так же можно рассмотреть Redpanda - будет дешевле (тыц), или Redis Streams - будет проще в использовании (тыц). Ну или моя любимая изотерическая альтернатива на AWS S3 (тыц). В любом случае, прямой альтернативы нет, а лишь некоторой части функциональности Kafka, но зачастую этого достаточно.

RabbitMQ - хорошая, бодрая платформа, но не сильно производительная по сравнению с Kafka (тыц). Расстраиваться не стоит, т.к у нее другая задача - обеспечивать гарантированную доставку сообщений различными методами с чем справляется отлично.
Альтернативы: очереди от вашего облачного провайдера (например SQS для AWS), LavinMQ, ZeroMQ, ActiveMQ, BullMQ (это не отдельный сервис как предыдущие, а просто npm пакет. Идеально, как первая очередь в nodejs-проект) и т.д

#kafka #mq
🤔1😱1
Если хотите открывать порталы в другие миры с помощью TS, то YouTube-канал ниже вам в помощь:

➡️ https://youtube.com/@typed-rocks

Автор канала вытворяет нереальные вещи с типами - определенно есть чему поучиться и забрать себе в проекты
4
Интересная статья - Microsoft Edge мигрирует компоненты с React на Web Components (помните такие? 😄):

➡️ https://thenewstack.io/how-microsoft-edge-is-replacing-react-with-web-components/

Вообще, сейчас есть ряд статей о представлениях будущего frontend без React (тыц как пример). Поэтому статья выше хороша на подумать если вы эксперт только лишь в React. Может имеет смысл изучать/интегрировать другие библиотеки/фреймворки?
🔥3
Современный способ отмены запросов (и не только) в статье ниже:

➡️ https://kettanaito.com/blog/dont-sleep-on-abort-controller

Про AbortController четко и лаконично
👍3🔥1
Хоть и не про разработку, но статья крайне понравилось своей актуальностью:

➡️ https://newsletter.posthog.com/p/product-management-is-broken-engineers

Статья о том, что PM не нужны не должны играть роль “диктатора” в проекте. Разработчик, как человек наиболее близкий к продукту технически, часто видит больше и шире, чем менеджмент. Зачастую, PM может распыляться между многими проектами и не вникать детально в нюансы конкретного. Это хорошо, если менеджер понимает и не навязывает ничего в продукте, не понимая всех нюансов, но не всем так везет. Да и самому разработчику очень полезно (чтобы не выгорать, как минимум) быть вовлеченным в проект не как инструмент реализации чьих-то идей, но и быть самому создателю этих идей.

В общем, здоровый симбиоз менеджерства и “людей на земле за клавиатурой” - это и есть успешный проект
👍2
Прекрасная статья про AI-помощников в разработке от девелопера в Google с 12+ лет стажем:

➡️ https://substack.com/home/post/p-152543901

Тут не рекомендации, что использовать и как, а общие и очень верные мысли для чего AI-помощник нужен в принципе. Под всеми пунктами и выводами подписываюсь - всё прямо в точку.

Если ищете с какого AI-помощника начать, то накидывал статью со всеми достойными вариантами (по моему мнению) на сегодня - https://if-developer.fyi/hey-ai-white-code-for-me/ . Сам сейчас использую JetBrains AI, но это скорее из-за халявного ключа на несколько месяцев, нежели из-за функциональности. Если не хочется платить, то бесплатный tabnine топ-вариант 😊
1👍31
Всех с наступившим Новым Годом! Пусть 2025 окажется для вас годом новых свершений и возможностей в жизни рабочей, и наполненным любовью и созиданием в жизни личной. Но в новогодние праздники не хочется о работе. Поэтому, расскажу о собственном увлечении - кофе. Мысли разрастались по ходу написания поста, поэтому пришлось разделить его на два 😄

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

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

Первое (внезапно) - Кофе
Если покупаете в магазине рандомную пачку, то знайте - это не тот кофе, который вам нужен для идеальной чашки. В профессиональной среде барист, принято считать, что среднее время вкусовой жизни свежеобжаренного кофе-зерна около 2х недель. Сразу небольшое замечание - употреблять кофе сразу после обжарки тоже не рекомендуется, а подождать около недели, т.к в течении этого времени идет активное выделение остаточного углекислого газа из зерна. Если ждать нет сил, то перед экстракцией (extraction - процесс извлечения кофеина и микроэлементов из кофейного зерна водой) делают так называемый pre-infusion (хз как на русском 😅) - считается, что это помогает лучшему отходу угл.газа. Вернемся к свежеобжаренному зерну - после 2-3х недель начинается спешная химическая реакция с убыванием всех ароматических и вкусовых свойств. Технически, это всё еще нормальный продукт для употребления долгие месяцы, но вкус будет совершенно не тот который ожидаете, читая описание на пачке. Поэтому, ищите своего местного обжарщика (roaster) - благо, в наше время их много во всех странах, и начинайте экспериментировать со свежачком.

По поводу выбора самого кофе-зерна: есть так называемый спешелти-кофе (specialty coffee) - на него и прицеливаемся. Это однородные сорта со своей установившейся культурой подготовки зеленого зерна, которое продается обжарщикам, а они вам в чашку. Как известно, существует два типа кофейного зерна - робуста и арабика (на самом деле, есть третий - либерика, но оно специфичное, с достаточно узким потреблением). Спешелти робусты выращивается мало из-за особенностей ее вкуса: деревья очень «живучие», а это накладывает определенные типичные ноты в ее вкусе - горечь и крепость (чтобы насекомые не ели и дерево выживало в суровых погодных условиях), поэтому спрос на него достаточно низок. Но если любите побольше кофеина, как итальянцы, то можно поискать варианты из Уганды или Эквадора - они известны своей спешелти робустой. Еще Вьетнам: эта небольшая страна - лидер экспорта робусты в мире с приемлемым качеством. Для арабики одним из самых «удачных» регионов считается Коста-Рика - там выращивание кофе всячески продвигается на уровне страны, и имеет невероятные вариации сортов с различными вкусами. Следом идет Колумбия - прекрасное место с разнообразными сортами кофе. Еще Бразилия - лидер в производстве арабики с огромным количеством ферм, выращивающих отличный спешелти кофе. Да и Папуа-Новая Гвинея не отстает от своих коллег. В общем, есть из чего выбрать.
1🔥42
Я не советую конкретные сорта, т.к вкус - субъективная тема, но практически любое спешелти кофе вышеперечисленных стран будет хорошим по своему. Обычно ростер указывает все характеристики кофе с полным описанием вкуса, аромата, нот и оценкой Q-грейдеров - по ним вы можете подобрать конкретный сорт под себя.

Отдельно хочу отметить бленды (coffee blend) - лично я не фанат и не советую, т.к смешивая различные сорта кофе, редко можно получить что-то адекватное по вкусу, но чем ростер не шутит - вдруг сможет вас удивить.

Второе - кофемолка
С момента начала пути кофемана, перепробовал различные типы кофемолок и однозначно понял - используйте только настоящие жерновые кофемолки (burr grinder). Псевдожернова, лезвия - это выкинутые деньги на ветер (привет моим пыльным DeLonghi KG79 с мини-апгрейдом (тыц) и KG200). Честно, моя noname китайская ручная кофемолка с керамическими коническими жерновами (conical burr) оказалась лучше всего этого вышевзятого «добра». Псевдожернова (false/fake burr) вообще тема больная, т.к зачастую производители имитируют плоские жернова (flat burr) именитых производителей, поэтому обязательно перепроверяйте перед покупкой.

Лично я на сегодня пришел к бюджетным жерновам Graef CM702. Планирую апгрейдиться и дальше (например, что-то из серии Eureka Mignon), но пока помол устраивает. Основной минус кофемолки в выдаче помолотого кофе - из-за неудачной конструкции и статического электричества, часть кофе постоянно остается внутри и ее нужно «нежно» трясти, чтобы остатки извлечь. Докупал апгрейд для одиночной порции (тыц) - стало лучше, но проблема полностью не ушла. Еще со временем помол может стать чуть хуже и нужно будет небольшой апгрейдик для его утоньшения (тыц как делать), но меня устраивает вполне текущий.

В общем, ищите свою жерновую кофемолку - благо, выбор огромный на любой бюджет и цвет, ручные и электрические, стационарные и мобильные.

Далее будет про кофемашины, но будет отдельный пост, который опубликую попозже 😊 А пока в комментариях можете поделиться мыслями.
🔥5
Нужно будет попробовать 🤔 :
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Прогер
This media is not supported in your browser
VIEW IN TELEGRAM
Вышел релиз нового генератора кода — OpenHands. Репозиторий уже набрал 40 тысяч звёзд

Это кастомный агент для написания кода, основанный на популярных LLM. Он может исправлять баги, обращаться к различным сайтам (например, заимствовать код с StackOverflow), вызывать различные API и выполнять другие задачи

Программное обеспечение формально бесплатное, но для работы требуется API. Разработчики рекомендуют использовать Claude 3.5 Sonnet

Установка простая — нужен только Docker

Умный программист | #полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Хорошая статья для руководителей любого уровня - как правильно давать фидбек (позитивный и негативный):

➡️ https://alexturek.com/2022-03-18-How-to-criticize-coworkers/

В статье есть шаблон и шаги как правильно критиковать коллегу. Согласен с мыслями автора и те шаги, которые он предлагает.

Из своего опыта: некоторые шаги я упускал, поэтому обычно критика шла со скрипом 😅 Основная проблема для меня - это отбрасывать «личностный» навес к действиям коллеги (в статье это переход из плоскости «я» в плоскость «ты»). Ваше отношение к человеку не должно мешать правильно оценивать результат его работы. Мы все разные и зачастую это плюс - нужно это ценить. Различные точки зрения и дискуссии часто идут на пользу, т.к такой опыт суммарно выше, чем у людей со схожим мышлением
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3