ch
Feedback
Андруша пишет код

Андруша пишет код

前往频道在 Telegram

显示更多
俄罗斯283 089未指定类别
1 312
订阅者
-124 小时
-47
-1230
帖子存档
Когда-то лет 10 назад, роуминг был пренеприятнейшей штукой. Была постоплата по конским ценам, из-за чего смысла им пользоваться наверное было никакого. Сейчас же я нахожусь в роуминге, причём у меня оплачен трафик, за пределы которого я не смогу укатиться никаким образом. Плюс я обнаружил, что ip у меня остаётся казахстанским. И вопрос: как этого смогли добиться? Оказывается, что в какой-то момент все(или почти все) мобильные провайдеры договорились что при роуминге весь трафик будет заворачиваться в тунель до домашнего провайдера. У этого есть свои минусы: пинг растёт очень сильно, так как пакеты летят через полмира к вам домой прежде чем попасть куда-то ещё. Но и есть плюсы: если вы едете в страну с каким-нибудь анальным регулированием типа ОАЭ или Китая, то можете просто сидеть в роуминге и всё будет работать. Так что непренебрегайте роумингом. В нём есть свои плюсы.

Справедливости ради, Яндекс вернул деньги. Жаль что для этого надо быть микроблоггером.
Справедливости ради, Яндекс вернул деньги. Жаль что для этого надо быть микроблоггером.

И эта ситуация, к сожалению, не уникальна. И напрямую относится к нашему фронтендерскому миру. Да, я говорю переписывании на
И эта ситуация, к сожалению, не уникальна. И напрямую относится к нашему фронтендерскому миру. Да, я говорю переписывании на раст всего и вся. https://x.com/XaveScor/status/1874870416445173824 И это прямо 1 в 1 ложится на мою текущую ситуацию. Насколько поддержка Яндекса головой ударилась, прося писать им исключительно в ФБ/ВК/инсту, которых у меня нет. Но зато есть телега и твиттер, где есть личные сообщения, но кому это важно? Настолько и у меня кривое отношение к раст тулам для фронта: если в них идёт что-то не так, то ты и зарепортить ничего нормально не можешь. От слова "совсем". Тебе выпадает какая-то внутреняя ошибка раста, а ты потом как слепой котёнок пытаешься создать минимальный репродьюсь, чтобы написать issue на гитхаб. Что с этим делать? Да фиг его знает. Но чем больше моих тулов уходит на раст, тем больше гемора в ситуациях, когда что-то идёт не так.

UX или как Яндекс заскамил меня на 3к рублей. Для меня новогодним открытием стало что в Яндекс.Еде кнопочка "оставить у двери
UX или как Яндекс заскамил меня на 3к рублей. Для меня новогодним открытием стало что в Яндекс.Еде кнопочка "оставить у двери" является синонимом "подарить посылку курьеру", потому что поддержка просто моментально встала на сторону курьера и послала меня лесом. Без разбирательств, без всего. - Нет посылку у соседей? - Нет - Ну, извините, не может отследить, так что до свидания. И даже пофигу на деньги. Меня поражает, что в компании на 10к-15к программистов не нашло ни одного человека который попал в ту же самую историю. Потому что "догфудинг" - это основа разработки. Ты должен потреблять то что разрабатываешь. Тут же не только своим не пользуются, но и конкурентов совсем не трогают. Давайте опишу как это выглядит в uber.eats: Тебе после выполнения заказа приходит уведомление с фото, которое сделал курьер и телефон курьера. И в случае если фото не совпадает с твоей дверью, то ты отправляешь фото реальной двери в поддержку и тебе возращают деньги. У Яндекса же вообще 0 информации. Вот вообще нет ничего.

Почему на клавиатуре цифры идут как 1...90, а не 0...9? Под праздники хочется иногда понаркоманить и посмотреть почему наш мир так нелогично устроен. Вот почему цифры имеют именно порядок 1234567890? Для этого нужно чуток заглянуть в историю. Не секрет, что наша клавиатура напрямую была перенесена с пишущих машинок, поэтому пора посмотреть что происходило у них. А у них, так как это сложное аналоговое устройство, очень сильно экономились клавиши. И у первых машинок цифровой ряд был ещё проще нашего: 23456789. Как набирать 1 и 0 спросите вы? Очень просто: I(заглавная i) и O(заглавная o). Замена этих цифр на буквы для тогдашнего времени было оправданным. Каждая клавиша усложняла конструкцию и увеличивала стоимость машинки. Но мир развивается и требования растут. Плюс бухгалтеры начинают использовать букву О и ноль вперемежку, из-за чего возникает необходимость отдельной клавише для нуля. И начинают появляться пишущие машинки с номерным рядом 234567890, так как 023456789 выглядит странно. А вместо единицы можно использовать строчную L. И никаких разночтений не будет. И уже с прогрессом добавили единицу. А ноль, из-за того что привычки, переносить в начало не стали. А теперь вопрос на засыпку. Символы, которые вводятся через shift+цифра на пишущих машинках были такими же как и у нас сейчас на кливиатуре. Внимание, вопрос: как вводить восклицательный знак(shift+1)? Ответ: конечно же точка-бекспейс-апостроф. Бекспейс во времена пишущих машинок перещал каретку на символ влево, а не удалял его. Как вы себе представляете удаление символов в аналоговом мире?) Картинки как выглядели клавиатуры, кстати, в комментариях

Repost from БлоGнот
GitHub запустил бесплатную версию Copilot — теперь все 150 млн разработчиков на платформе получат доступ к 2000 автодополнений кода и 50 чат-сообщений в месяц при использовании VS Code. Достаточно просто авторизоваться через личный GitHub-аккаунт. Бесплатная версия предлагает выбор между моделями Claude 3.5 Sonnet от Anthropic и GPT-4o от OpenAI. Можно задавать вопросы по коду, получать объяснения существующего кода, искать баги и вносить правки в несколько файлов одновременно. Также доступны сторонние агенты Copilot и возможность создавать собственные расширения. Copilot Chat теперь доступен прямо из панели управления GitHub и работает с бесплатной версией. А для студентов, преподавателей и мейнтейнеров опенсорс-проектов сохраняется неограниченный бесплатный доступ к Copilot Pro. Хороший подарок на праздники, хотя и с ограничениями. И сильный ход в конкуренции с форками VS Code с платными подписками — как Cursor или недавно запустившийся Windsurf от Codeium. https://github.blog/news-insights/product-news/github-copilot-in-vscode-free/

Repost from <divelopers>
CSS Wrapped 2024 Команда Chrome DevRel запустила CSS Wrapped 2024. Это лендинг с обзором новых возможностей CSS, выпущенных в Chrome (и не только) в этом году. Можно считать это итогами года для CSS. В CSS появилось 17 новых возможностей: - field-sizing - Анимация height: auto, calc-size() и interpolate-size - Exclusive Accordion - ::details-content - Anchor Positioning - scrollbar-color и scrollbar-width - View transitions - Scroll-driven animations - Scroll snap events - Наследование свойств в ::backdrop - light-dark() - @property - Popover API - @starting-style - ruby-align - paint-order - CSSNestedDeclarations Глядя на этот список и отслеживая новинки для публикации в этот канал, я впечатлён развитием CSS в этом году. Не помню такого количества фич раньше. Осталось дождаться хорошей поддержки всего этого. Тут я тоже настроен позитивно, о чём я уже упоминал. А пока предлагаю перейти на сайт CSS Wrapped 2024 и ознакомиться с демками всех новых возможностей. Особенно через последнюю версию Chrome, в которой все они поддерживается. На самом сайте при этом во всю используются новые возможности CSS, поэтому можно поизучать исходники.

Воскресный юморок https://x.com/UnseenJapanSite/status/1865557220857151961 Тут аспирантура в Японии в одном из университетов
Воскресный юморок https://x.com/UnseenJapanSite/status/1865557220857151961 Тут аспирантура в Японии в одном из университетов похоже что устала от засилия китайцев, поэтому зафорсила бан своей страницы в материковом Китае. Так что если вы не хотите платить за геоip и хочется отключить доступ к сайту в Китае, то просто напишите "Площадь Тяньаньмэнь" в keywords, и Китай вас сам забанит P.S. если живёте в Китае, то не удивляётесь что мой канал там забанен

https://github.com/copilot Тут MS добавил copilot для гитхаба, который умеет искать по гитхабу. Правда он тупой и особо не по
https://github.com/copilot Тут MS добавил copilot для гитхаба, который умеет искать по гитхабу. Правда он тупой и особо не помогает в сложных сценариях, но хотя бы ищет по документации. P.S. Россияне, есть ли у вас возможность его использовать без VPN? В РФ и прочих запрещённых странах не доступно. Плюс, видимо, требуется покупка github copilot

Зависимости package.json - это место, где мне всегда нужно лезть в доку, так как я критически не могу угадать по названию что делает тот или иной ключ. А так как я пишу бандлер для либ, то это бесит просто донельзя. Из последнего: мне нужно описать список пакетов, с которыми может работать моя либа. Т.е. эти пакеты могут существовать, а могут и не существовать. Я справедливо предположил, что нужно использовать "optionalDependencies". Но после релиза ко мне начали приходить пользователи со словами: "а почему у меня устанавливается бабель и тс, хотя я их не ставлю?". Оказалось, что optDeps - это как deps(т.е. нужно ставить), но установка зависимостей не падает, если поставить зависимость не удаётся. Да, об этом написано в документации. Но кто её читает перед использованием? И да, это весьма удобно в некоторых редких ситуациях. К примеру, таким макаром Vite ставит нативные зависимости: перечисляются зависимости для всех платформ, и поставятся только те, которые подходят для текущей машины. Остальное просто упадёт и проигнорируется. В моём же случае понадобилось описать мои зависимости в peerDeps и проставить флаги в peerDepsMeta.

{
  "peerDependencies": {
    "react": "^17.0.0",
  },
  "peerDependenciesMeta": {
    "react": {
      "optional": true
    },
  }
}
Хорошо, конечно что есть такая возможность, но то что это делается не так очевидно и требует в 2 раза больше строк - бесит. Хотя этот кейс на порядки более частый чем optDeps.

Где-то год назад я поражался насколько людей легко пробить, используя утечки Яндекс.Еды или других крупных компаний. Но меня
Где-то год назад я поражался насколько людей легко пробить, используя утечки Яндекс.Еды или других крупных компаний. Но меня успокаивало то что я чуток доверяю Яндексу и понимаю, что они закроют эту дырень. Но то, что данными людей торгуют просто в открытую и это легально - это прямо удивительно для меня: https://habr.com/ru/companies/timeweb/articles/861510/ Причём, кмк, это касается не только РФ, но и как минимум Казахстана. https://b2b.kcell.kz/ru/product/direct-marketing Всё больше убеждаюсь и убеждаюсь, что а) сервисам жизненно необходимо иметь поддержку, которая осуществляется не только по номеру телефона. Хотя бы почту. Просто чтобы не дарить своего клиента конкурентам или разводилам; б) Жизненно необходимо сидеть через kill-switch VPN, чтобы тебя не мог таргетить твой провайдер. Не стесняйтесь использовать https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https и прочие технологии, которые мешают вас трекать

Старые апи. Каждый раз, когда я сталкиваюсь с чем-то кривым и плохо спланированным в браузерах, то понимаю что это что-то из эпохи IE11 или раньше. Сейчас я работаю над аналитикой на сайте и удивляюсь насколько плохо спроектирован sendBeacon. Если вкратце что это такое: этот метод когда-нибудь отправит данные по урлу, который мы передаём туда. Всё, максимально примитивно. И эта примитивность плоха. В идеале, я хотел бы чтобы sendBeacon батчил и отправлять данные на сервер, когда пользователь не взаимодействует со страницей. Но этого нет - дока на mdn рекомендует делать это самостоятельно: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon#sending_analytics_at_the_end_of_a_session И самое неприятное то, что я не могу сделать всё это руками в юзерспейсе: requestIdleCallback попросту отсутсвует в Safari. В итоге, для примитивной аналитики нам нужно костылить кучу кода.

https://github.com/nodejs/node/pull/55217 В следующем миноре node@22 ожидаем require(esm) без флага. Оно уже смержено в мастер. Смерть cjs всё ближе и ближе.

https://vc.ru/ai/1675484-polzovateli-claude-poluchili-vozmozhnost-nastraivat-stil-otvetov-chat-bota Тут пролетела мимо меня и
+2
https://vc.ru/ai/1675484-polzovateli-claude-poluchili-vozmozhnost-nastraivat-stil-otvetov-chat-bota Тут пролетела мимо меня интересная новость, которая напомнила мне крутую штуку, которая есть у чатгпт. Так сложилось, что я не очень дружелюбен со всякими иноземными мовами, в список которых входит и английский в том числе. По этой причине я почти везде перешел на английский. Но есть засада: современные инструменты слишком хорошо понимают кривой язык. Гораздо лучше людей. И у чатгпт есть прямо киллер фича для такой ситуации: можно описать как тебе нужно именно отвечать. Причём это доступно и для бесплатного тарифа. Промпт со скриншота закинул в комментарий

https://www.jetbrains.com/grazie/ Мне время от времени приходится балакать и писать иноземною мовою, в которой я не сказать ч
https://www.jetbrains.com/grazie/ Мне время от времени приходится балакать и писать иноземною мовою, в которой я не сказать что силён, то я пользуюсь grammarly, которая мне весьма и хорошо помогала. Правда у граммарли есть одна особенность - она капец дорогая: 144 доллара в год при покупке на год. Но если вы считали, что у jetbrains с AI очень плохо, то это не правда. У jetbrains есть проблемы только с js/ts и прочим фронтенд кодом. А вот с текстом он работает весьма хорошо. На уровне граммарли. И даже доступен бесплатно. И даже если платить, то получишь и jetbrains AI и их правилку текста. И это за 100 долларов(На 44 доллара дешевле). Так что, возможно, jetbrains всё же получит от меня деньги, правда не за IDE, а за возможность писать буковы другим людям. Пока в этом году я прихожу к экономии в 300+ долларов на подписках: - отписка от grammarly(+144 бакса) - отписка от jetbrains All Products Pack(+175 долларов) - возможно подпишусь на jetbrains AI(-100 долларов). А у вас сколько трат на всякие AI тулы?

Ну и небольшое воскресное напоминание насколько люди могут использовать ваши штуки по-своему даже в самых мелочах. Они даже н
+1
Ну и небольшое воскресное напоминание насколько люди могут использовать ваши штуки по-своему даже в самых мелочах. Они даже название по-своему переиначат.

Почти что каждая документация забывает описывать самую главную штуку напротив фич: это причина почему эта фича была добавлена и какие проблемы решаются. И даже не важно к какому продукту документация. Некст, нода, редакс? Везде будет только описание фич. А у меня в мозгу есть суровый баг. Зачастую я не вижу связи между задачами и возможностями инструмента, даже если я знаю и про возможности, и про то как решаются задачи. И я даже могу сходу привести пример подобного: зачем нужны inlineSnapshot в jest/vitest? Есть идеи? Вот я знал о наличии подобных штук, но никогда не применял, так как не видел смысла. И даже более, я начал в штыки воспринимать снепшоты, так как куча людей начали их использовать для тестирования интерфейсов. А в реальности эта штука сверхудобна, когда у вас есть детерменированный output, который вы корректно руками описать не можете. К примеру, проверка ошибок тайпскрипта. Или же проверка на отсутсвие ошибок. В моём же случае мне нужно было тестировать выхлоп моего сборщика библиотек. И пока мне напрямую не ткнули носом, что в этом кейсе можно было использовать инлайн снепшоты - мне это даже в голову не приходило. Пишите в документации не только "что умеет", но и "зачем умеет". Это очень сильно упрощает жизнь.

За последнюю неделю я пользовался гуглом ровно 1 раз. 1 раз за 7 дней. Это просто гиганский сдвиг лично для меня. Если раньше про программистов говорили: самый главный навык - это умение гуглить, то сейчас, наверное, это пользоваться нужной LLMкой в нужное время. Я полностью пересел на: - https://www.perplexity.ai, когда мне нужно что-то загуглить. Теперь мне не нужно специально писать какие-то специальные запросы, удалять союзы, писать инфинитивы и делать прочие пассы руками, чтобы поисковик меня понимал. Я просто ищу на естественном языке что мне требуется; - https://claude.ai - это основной мой генератор текста. Любого текста. Нужно написать письмо? Иду туда. Нужно написать код? Тоже туда. Нужна консультация по каким-то фундаментальным вещам - аналогично; - http://chatgpt.com - но иногда лимиты у клауди заканчиваются. В таком случае я перехожу в чатгпт. Это тоже самое, только с худшим качеством, но безлимитно. И самое главное: это всё доступно бесплатно! Я потратил ровно 0 центов на то, чтобы пользоваться сервисами выше. Я уверен, что у сервисов выше начнутся проблемы с бизнес моделью, если ими начнут пользоваться все люди мира, как они делают сейчас с гуглом. Но для меня гугл как поиск практически умер. Вот так и произошла тихая революция. Старые инструменты, которые основаны не на LLM понемногу вымирают. Я даже впервые подумал обновить телефон на последний айфон до того как моя текущая трубка пришла в негодность - ровно из-за добавления apple ai в их продукты. В современном мире слишком много мусорной информации, чтобы обрабатывать её самостоятельно. Уведомления, куча писем в почте и т.п. И LLM являются прекрасным решением для упрощения жизни.

В последний месяц я активно занимаюсь вопросами совместимости и всё больше убеждаюсь, что "конфиги — это зло". Причём дело не в том, что людям не нужно подстраивать что-то под себя, а в том, что многие оставляют настройки по умолчанию или копируют из другого проекта, полагаясь на принцип "ну, если работает, зачем менять". Оказалось, что конфиги — это действительно сложно: нужно разбираться и тратить время, чтобы понять, как всё устроено. А зачем париться, если и так работает? Так вот, к сути. Если вы используете в проекте, который как-либо собирается, typescript и у него в конфиге прописано moduleResolution: Node или же Node10, то попробуйте изменить его на bundler. Я думал со всех сторон и не понял зачем Node/Node10 может быть нужно в современном мире. Очень сильно сомневаюсь, что вы отпрыск ljharb'a, которому нужна нода 0.4. https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#--moduleresolution-bundler https://www.typescriptlang.org/tsconfig/#moduleResolution На удивление, даже в текущем моём проекте стоит moduleResolution: Node, который мне пару раз стрелял в колено. Но так как мне было лень разбираться как оно работает, я попросту откатывал изменения. Не будьте как я. Старайтесь понимать как у вас работает код.