Latest posts

Кодовая база
17 Sept, 06:45
forwarded from @radical_idea
Вчера впервые получила в выдаче от chatgpt рекламу. Про веб компоненты я его даже не спрашивала, ни задача, ни контекст не включали в себя веб-разработку в принципе. Очень правдоподобно пишут, что не влияет на получаемые ответы.Ну что, друзья. Есть вы все еще считаете, что разработчики больше не нужны и все сделают агенты, у меня для вас есть радикальная идея: сначала убедитесь, что то, что делают агенты, в ваших интересах.


Кодовая база
4 Sept, 08:25
❌Как дебажить вызовы платформенных методовИногда в вашем проекте вызывается глобальная функция вроде window.reload или localStorage.removeItem, которая мешает жить. Однако вы не можете понять, откуда именно она вызывается, а поставить брейкпойнт не получится — ведь ее нет в вашем коде. Можно легко отловить стектрейс, если переопределись ее прямо в рантайме, в консоли браузера, например, так:localStorage.removeItem = console.trace;Или даже так: localStorage.removeItem = (key) => { console.trace(key); debugger };Также таким способом можно легко логать какую-нибудь аналитику, если она у вас вынесена в глобальную область видимости:window.sendMetrics = console.log;🔜 Канал в MAX#дебаг
Кодовая база
31 Aug, 08:31
🎢 Event loop: неочевидные нюансыБольшинство из нас знает, что event loop выполняет сначала одну макротаску, затем все микротаски, после чего наконец может сделать отрисовку. Однако на практике многие путаются. Расскажу о нюансах, в которых многие ошибаются.1️⃣ Тело промиса — это синхронный кодФункция, которую мы передаем в конструктор промиса, она же promise executor, является синхронным кодом и выполняется в общем потоке синхронного кода. console.log('before');new Promise((res) => { console.log('promise'); // sync res(); }).then(() => console.log('then')); // asyncconsole.log('after');// => before, promise, after, thenВ этом случае мы увидим promise между before и after, потому что это синхронный код. А вот колбек в then — это микротаска и поэтому она выполнится тогда, когда освободится колстек от текущей


Кодовая база
27 Aug, 08:17
👀 Работаешь за компьютером и часто отвлекаешься?Умный ИИ помощник увеличит твою продуктивность за работой! 🚀 🚀 🚀EyeGuard помогает следить за рабочим ритмом: считает активное время, замечает, когда ты отходишь от экрана, анализирует моргание и напоминает отдохнуть.Можно работать в свободном режиме, по Pomodoro или включить умный таймер, который идёт только тогда, когда ты действительно за компьютером.Попробуй EyeGuard бесплатно: @BlinkMind ⬅⬅⬅Реклама. Горлатов Артемий Геннадиевич, ИНН 344206752816. Erid: CQH36pWzJqVKmYSzRukueCbkAqHhwau2NQEoeSBxw7mAR6
Кодовая база
17 Aug, 08:17
Почему вы не можете найти работу даже с сильным резюмеНа рынок труда в наше время не жалуется только ленивый. Работа ищется месяцами, а отказы приходят даже по вакансиям, по которым метч 146%.Виноваты во всем, разумеется, эйчары. Это они, а не нанимающие лиды, придумали, что на проект нужен сеньор, хотя там и джун левой пяткой справится. Они выставили дурацкие фильтры 3, а то и 5 лет. Как будто этого мало, они еще и стараются найти ребят с опытом в серьезных крупных проектах и максимальным метчем по стеку. Компании абсолютно не хотят выполнять свою социальную функцию — обеспечивать работой людей без опыта — и эйчары, чувствуя свою безнаказанность, режут резюме новичков автофильтрами.Сами понимаете, с такими эйчарами и автофильтрами единственный выход — накрутка опыта. Про накрутку опыта заговорили примерно года 4 назад, когда рынок был переполнен джунами, а опытных ребят не
Кодовая база
13 Aug, 07:56edited
Как я с React на Svelte перешлаБытует мнение, что фронтенд-фреймворк — как факультет в Хогвартсе, выбирается один раз и на всю жизнь. Потому что разный синтаксис, разная экосистема, и вообще переходить с одного фреймворка на другой якобы очень сложно.Сложность перехода между фрейморками — вредный миф. Подозреваю, что придумали его ребята, которые в 2021 году говорили “я не буду учить JavaScript, я же пишу на React”. Фреймворк — это инструмент, который берет часть задач JavaScript-разработчика на себя, а не отдельная профессия, которую надо месяцами учить. Учить надо программирование и основные концепции разработки, а конкретный фреймворк можно освоить за неделю-две.Я совершала переход между фреймворками дважды. В 2019 я, имея опыт только на Vue, получила оффер в проект на React, а в прошлом году пришла в команду, которая пишет на Svelte. Где-то между делом года четыре назад я
Кодовая база
6 Aug, 10:32
forwarded from @it_gonzales
Ни одна ллм вам не напишет такой шедевр


Кодовая база
5 Aug, 06:38
Что заберет у нас ИИВ сети разгораются нешуточные дискуссии на тему замены разработчиков искусственным интеллектом.Какой-то сын маминой подруги пишет, как его харнесс (если что, это приличное слово, погуглите) помогает ему делать всю свою работу за два часа, а остальное время пить смузи на пляже. Другой отвечает, что единственное, что создает ИИ — боль, техдолг и проблемы. Пока обыватели пытаются разобраться, пора ли выкинуть на помойку свое резюме программиста и переучиваться на электросварщика, самые умные изучают историю.Отчетливые попытки заменить человека на машину были еще в середине прошлого века. Во время Второй Мировой войны Норберт Винер пытался автоматизировать управление зенитными установками. Ему не вполне удалось достичь поставленных целей, однако его работы послужила началом новой науки — кибернетики. Кибернетика изучает общие механизмы управления — как в машинах,
Кодовая база
29 Jul, 08:01
Досмотрела нашумевшее интервью с CTO Skyeng.Коротко: будущее наступило, мы уволим всех тех, кто не хочет адаптироваться к переменам и делать одновременно 10 задач стаей агентов.Полминуты спустя: операционная система? Ну конечно мак! Я по-другому не умею. Я всю жизнь на маке.Еще чуть ранее она же говорит, что отказалась от использования open claw, потому что оказалось неудобно. То есть, внезапно оказывается, некоторые вещи неудобно делать LLM-кой.Позже напишу о том, что я думаю про то, что “нас всех заменят”.
Кодовая база
26 Jul, 08:42
Дядюшка Боб не читает код AI-агентов. Я тоже.В сети хайпит твит дядюшки Боба, в котором он признается, что вовсе не читает код, который пишут его агенты. Многие пишут, что таким образом он теряет контроль над кодом. Это не так: в том же твите он пишет, что использует много тестов и другие quality gates. Таким образом, он просто меняет способ контроля: автоматические проверки вместо привычного “метода пристального взгляда”.Я тоже не читаю код, который пишут мои агенты. Сразу уточню, что далеко не весь код я пишу при помощи агентов и довольно много кода пишу руками. Но если уж я решила отдать задачу агенту, то не читаю каждую строчку, иначе во всем этом нет никакого смысла.Строго говоря, использование кода, написанного агентом, мало чем отличается от использования сторонней библиотеки. Вы же не читаете исходники библиотеки, которую добавляете в свой проект? (Я, по правде, иногда


Кодовая база
20 Jul, 07:16edited
👊 Про коммуникацию и софт скиллыМои давние друзья знают, что к разговорам про софт скиллы я отношусь скептически. Причина в размытости этого понятия (никто толком не знает, что такое эти самые софт скиллы и что в них входит) и в отсутствии понятной шкалы, которой их можно измерить. С хард скиллами все проще: я могу пройти тест по JavaScript и получить, скажем, 7 из 10, а с софт скиллами так не получится.Лично я считаю, что почти половина из того, что почему-то называют “софт скиллами”, относится к воспитанию человека, а еще почти половина — к характеру. Например, ответственность. Не знаю, почему ответственность вдруг стала “навыком”, в мои времена ответственность прививали родители и она была частью взросления и воспитания. Или, скажем, “нетоксичность”. Люди “токсично” реагируют на те или иные раздражители и, на мой взгляд, это зона компетенции
Кодовая база
16 Jul, 07:51
❓Что делать, если валят на собесе и как пройти собес, если вы не помните всю спеку наизустьСитуации, когда разработчики с хорошим опытом и сильными навыками не проходят собеседование, встречаются гораздо чаще, чем кажется. Обычно проблема заключается в коммуникации.Кандидаты почему-то думают, что на собеседовании они должны поразить интервьюера своими энциклопедическими знаниями и феноменальной памятью. Из-за этого, забыв какую-нибудь мелочь, вроде порядка аргументов у стандартной функции или точное название метода, начинают паниковать и надолго застревают. В итоге получают фидбек “застрял на мелочи и не смог продвинуться дальше”.В большинстве случаев интервьюер оценивает совсем не это. Ему важно увидеть, что вы умеете программировать, рассуждать и решать технические задачи. Ниже опишу некоторые сложности, с которыми часто сталкиваются кандидаты:
Кодовая база
13 Jul, 07:51edited
🚜И снова про race conditionsЯ уже писала про то, как частые запросы на сервер (например, при вводе поисковой строки) могут вызывать race conditions. Однако мы тогда не говорили о том, что сигнал аборт контроллера может сработать после успешного запроса, но до установки данных. Это возможно за счет того, что движок вызывает асинхронные функции не сразу, а только после завершения некоторого события (например, получения ответа от сервера).Поэтому, когда вы пишете await или then, помните про то, что между кодом до await и после может вклиниться какой-то другой код, который может заабортить ваш сигнал 🙂 Например, в примере ниже до await(loadAsyncWork(data)); наш сигнал, который мы получаем снаружи, может быть еще не aborted, а вот после await(loadAsyncWork(data)); — уже да:async function loadData({signal, setData}) { const res = await fetch(/api/data?qTelegramКодовая база🏎Что такое race conditions в React хуках? Хуки эффектов, в которых есть запросы с последующей установкой ответа в state могут приводить к race conditions. Race conditions возникает, когда хук выполняется слишком часто, и поскольку очередность ответов от…
Кодовая база
8 Jul, 08:03
И снова InferПо вашим просьбам сегодня разберем еще пример с infer. Я покажу, какие умозаключения я делаю, когда описываю типы при помощи этого ключевого слова.▶️Задача: вывести тип первого аргумента функции.const logUser = (user: 'user' | 'admin', lastLogin: Date) => {...} // 'user' | 'admin';const repeatChat = (count: number, char: string) => {...} // numberconst getStringLength = (str: string) => {...} // stringЗаметим, что в функции может быть сколько угодно аргументов, но нас интересует только первый. Поэтому имеет смысл разбить аргументы на две группы: первый и все остальные, которые нас не интересуют. В JavaScript есть очень удобный оператор rest, который позволяет нам собрать все неинтересные нам аргументы в кучу.Давайте для примера попробуем описать тип Func, которым можно описать все наши функции из примера выше, и пока будем
Кодовая база
5 Jul, 11:40
InferInfer для многих конструкция поистине инфернальная.Infer объявляет переменную типа, в которую тип будет выведен позже. Чтобы понять, как работать с infer, нужно учесть, что он выводит тип исходя из соответствия шаблону. Поэтому в большинстве случаев нужно написать шаблон, куда вы подставите infer вместо интересующего вас типа.Например, вы хотите вывести тип результата функции. Для примера возьмем функцию без аргументов, чтобы они нас не путали, они нам сейчас не нужны. Такой тип может быть описан вот так: () => number. Или так: () => { x: string }. Мы не знаем, что вернется из функции, и нас именно это как раз и интересует. Поэтому получается () => infer U (1️⃣). Вот этот U нам и нужен и как результат type alias (2️⃣).Далее наш шаблон, который мы получили на шаге 1️⃣, мы подста
Кодовая база
21 Jun, 08:38
forwarded from @onaboka
🎯 КОГО ИЩЕМ: 1. Data Engineer с опытом работы с инфраструктурой AI на AWS и GCP. 2. Нужны «рабочие руки», а НЕ технический менеджер. 3. Нужен человек полностью соответствующий нашим ожиданиям, а НЕ который учится на ходу. 4. Со знанием разговорного английского языка (English-speaking team).⛔️ КТО НЕ ПОДОЙДЁТ: 1. Кандидаты с преобладающим или последним опытом в роли технических менеджеров: Team Lead, CTO и т.п. – это нерелевантный данной позиции опыт работы. Мы ищем «рабочие руки», а НЕ технического менеджера. 2. Кандидаты с преобладающим или последним опытом работы на фрилансе. 3. Кандидаты с низким уровнем разговорного английского языка.🏅 ТРЕБОВАНИЯ: 1. Опыт работы 6+ лет в роли Data Engineer. 2. Опыт работы 2+ года с AI-инфраструктурой на GCP и AWS. 3. Опыт работы 4+ года с ML. 4. Опыт работы 3+ года с GCP Vertex AI (GEAP). 5. Опыт работы 2+ года с Amazon SageMaker. 6. Опыт


Кодовая база
21 Jun, 08:38edited
Вот такую вакансию увидела на канале Леси и хочу немного прокомментировать.За DE не скажу, буду говорить о моей профессиональной сфере — веб-разработке.“Нужен человек полностью соответствующий нашим ожиданиям, а НЕ который учится на ходу.” — довольно популярная мечта у работодателей. Многих раздражает, что новый сотрудник какое-то время онбордится в проект и разбирается во всех его нюансах, и только потом начинает предлагать какие-то здравые идеи. Отчасти пожелания к годам опыта связаны с этим фактором: работодателям кажется, что если придет опытный специалист, он телепатически разберется в нюансах проекта и вытащит его из кризиса прямзавтра (или ещевчера). По этой же причине не очень любят нанимать джунов: “нужен сотрудник, который сразу приносит пользу, а не которого надо обучать” (с).К сожалению, это несбыточные мечты. Основная сложность коммерческой разработки не заключается в
Кодовая база
20 Jun, 08:09
Составила чек-лист подготовки к собеседованию на позицию frontend-разработчика. Забирайте себе и шерьте друзьям🫶🔘HTML & CSS- Семантическая верстка - Box Model - Специфичность селекторов - Как отцентрировать div - Position, display, box-sizing - Opacity, visibility - Браузерный рендеринг: layout /paint /composition - Flexbox, grid🔘 JavaScript- Типы данных - Виды функций (arrow, function declaration, function expression) - Event loop - Промисы, async/await - Замыкания, лексические окружения
Кодовая база
19 Jun, 13:49
forwarded from @soer_live
Дублирование на уровне кода - один из основных источников технического долга. Говоришь себе "ну сейчас быстро сделаю копи-паст, а потом на этапе рефакторинга раскидаю как надо".Обычно этап рефакторинга так и не наступает, поэтому в коде остается несколько источников правды, которые в будущем создают проблемы.Хуже всего то, что спустя время ты успешно забываешь, какие правки нужно было сделать, дополнительно успеваешь накидать на старый код еще пяток другой патчей, которые усложняют рефакторинг и тем самым закрепляют плохие практики, превращая кодовую базу в дремучее легаси.Легаси неизбежно, поэтому хорошего кода в мире очень мало, а плохого сколько угодно много. Получается, что с большой вероятностью код, который был использован при обучении LLM, был не самого лучшего качества, а значит, это мы с вами, ленясь выполнять своевременный рефакторинг, научили ИИ "плохому".Может быть,
Кодовая база
17 Jun, 09:41
forwarded from @hrmhrexpert
Кхэ-Кхэ ру выкатил обновление для соискателей и представил новую функцию "AI-генерация сопроводительного письма"🤦🏻♂️Вот теперь точно AI будет отбирать AI... а работать-то кто потом будет?🫣

Related Channels
Other channels in the same section of the catalogue.
