SILLYFEED

Веб-разработка — страница 3

Лента темы

Искусственный интеллект. Высокие технологии
⚡ Claude Code теперь можно запустить ЛОКАЛЬНО - без подписки и APIДа, звучит как кликбейт. Но нет.После утечки исходников стало ясно: весь стек можно воспроизвести у себя и гонять на локальных моделях.Что уже работает:• Запуск через Ollama - без облака • Полный агентный цикл: чтение, запись, редактирование файлов • Bash, grep, glob — всё на месте • Работа с API и поиск в интернете - Поддержка MCP-серверов • Память между сессиями • не теряет контекст - Computer Vision - можно работать с изображениями - Все slash-команды: /commit, /review, /diff, /compact, /doctor - Можно стримить работу на другие устройстваПо сути, ты получаешь полноценного AI-разработчика у себя на машине.https://github.com/Gitlawb/openclaude🐍 полезные ресурсы 🚀Max
🔥 GESS ▪︎ заметки на полях ◾︎
Почему не загружаются видео в ВК? Все возможные варианты я описала в этом посте.На данный момент (смотрите дату публикации) происходящие массовые сбои в «VK клипы» и «VK Видео» связаны с инфраструктурными проблемами и особенностями работы ограничений, белых списков и средств обхода блокировок - иными словами просто всё ещё недонастроили.Если у вас в принципе видео не загружается, но вам хочется понять, что это - общий сбой или локальная проблема, попробуйте открыть VK Video:• в другом браузере• в мобильной сети вместо Wi‑Fi• на другом телефоне или ПКЕсли в одном месте работает, а в другом нет, значит сбой локальный. Если не работает нигде, вероятнее всего, у самого VK сейчас временные технические проблемы.Для локальной проверки также советую:- очистить кэш браузера, затем сбросить DNS-кэш командой ipconfig /flushdns- на телефоне очистить кэш приложения и перезапустить его, не помогло - обновить или переустановить приложение. Если есть подозрение на блокировку у провайдера, то проверить доступ через другую DNS-службу. Если при этом у вас по прежнему не грузится только VK Видео, а другие сайты работают, это, скорее всего, сбой видеосервиса VK или маршрутная проблема со стороны провайдера.На данный момент VK тоже настраивает режим работы ограничений/белых списков, и не все от них зависит. Минцифры допускает вариант исключать сервисы из «белых списков», если они допускают вход через средства обхода блокировок.Могут быть и другие причины ошибки, когда ВК Видео «обрабатывается» и не появляется. Иногда бывает так, что загруженное в VK Видео остается в статусе «обрабатывается и скоро будет доступно» и так и не появляется в ленте или на канале. Это не всегда про реальную обработку - часто за этим стоят блокировки, настройки доступа или персональные ограничения площадки для конкретного автора.Видео могло быть заблокировано из‑за нарушений: - жалобы- претензии правообладателей- нарушение правил площадки- статус инагентаи тд. Формально на видео может висеть надпись «обрабатывается», но в открытом доступе ролик уже не покажут. Персональные ограничения площадки - это индивидуальные санкции к аккаунту или сообществу, которые ВК вводит за нарушения правил. По сути, площадка не банит вас напрямую, но начинает резать функционал и охваты: видео могут дольше проходить модерацию, «обработка» затягивается или публикации чаще завершаются отказом, падает показ в рекомендациях и умной ленте, резко срезаются охваты, может быть ограничена монетизация или отдельные инструменты продвижения.Какие ещё есть варианты?- Ролик может быть отложен: он лежит во вкладке «Отложенные» в канале VK Видео и не появляется в ленте до наступления заданного времени. - Возможен технический сбой: проблемы с перекодированием, нестандартные файлы, пиковая нагрузка - в итоге «обработка» зависает на неопределенный срок. - Настройки приватности: видео может быть доступно только по ссылке, в закрытом сообществе или в личных - внешне создаётся ощущение, что его «нет».Базовая самопроверка:- Откройте свой канал VK Видео и вкладки «Все» и «Отложенные» - посмотрите, не лежит ли там ролик. - Проверьте видимость с другого аккаунта и устройства, по поиску внутри канала. Если прошло больше 1–2 часов, статус не меняется, а видео не видно нигде - есть смысл обращаться в поддержку со ссылкой и скрином.Расскажите, у вас видео работает или нет? Для понимания пишите пожалуйста дату в комментариях, а то посты открываются иногда через несколько дней, люди не смотрят дату, но читают комментарии.
Бурый
Кто-нибудь ещё пользуется ChatGPT (1)? В моём личном рейтинге этого гиганта ждёт серьёзное падение. Вайб-кодеры, с которыми общаюсь, пользуются исключительно Claude (48) Code, и я хорошо их понимаю, несмотря на ненависть к Anthropic, убившей все мои долгоиграющие аккаунты. Контентщики поголовно работают с DeepSeek (2), и это максимально справедливо. Странно выбирать платный инструмент, который справляется с написанием не лучше, чем дармовой китаец.Я как-то писал, что частенько использую Дипсик ещё и для кода. Не для какой-то серьёзной разработки или ИИ-агентов (здесь в приоритете Клод Код), а чего-то простого вроде вёрстки HTML-страниц.И вот на выходных я долго-долго мучился с ChatGPT, пытаясь правильно сверстать страницу, над подобием которой Чат уже работал неоднократно. К сожалению, итерации вызывали жуткое раздражение, потому что американец постоянно норовил испортить хоть что-нибудь, быть может, самую-самую малость как он обычно любит делать с картинками.ммм... вроде всё хорошо, как просил пользователь, НО ДАЙ-КА СМЕНЮ ЦВЕТ КНОПКИ НА БЕЛЫЙ, ЧТОБ НИЧЕГО НЕ БЫЛО ВИДНОВ отчаянии я пошёл в Дипсик, загрузил референсы страниц и дал точно такой же промпт, как Чату.Результат — Дипсик выдал нужную вёрстку с ПЕРВОГО раза, перепутав лишь порядок изображений.Случился мощнейший восторг, после чего китайский железный кудесник... завис и отказался выполнять дальнейшие поручения.Какая-то битва за битвой, только без Ди Каприо 👾тг | бусти | max | дзен | vk | я музыка
Николай Стебунов об интернет-маркетинге
Защищаем форму с телефоном на сайтеВот два простых правила, которые позволят сильно сократить число отправок формы с некорректным номером телефона в пределах РФ:- Если установить маску с 7 в форме, то всё, что придёт на сервер и начинается с 8 — спам, который можно смело фильтровать. - Добавьте в маску поля ввода номера телефона правило, что код оператора должен начинаться с 9, так как в РФ все коды операторов начинаются с этой цифры. @imsecretlab
Мысли Рвачева
⚡ На выходных все сходят с ума по PreText Typography от Cheng Lou.Библиотека для красивой типографики в вебе - текст переносится, выравнивается и раскладывается по строкам быстро и аккуратно. Демки выглядят очень круто.Особенно приятно, что с Claude это все можно внедрять с помощью простых промптов.https://github.com/chenglou/pretext#javascript #typography #webdev #cheng_lou—————————Мысли Рвачева—————————
Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
📕 Как выглядит современная CSS-архитектура в продеСлои, токены, container queries, тёмная тема без костылей — CSS давно стал системой, а не просто стилями. Разобрали в карточках, как это реально устроено: без перегруза теорией, только практичные подходы.🔗 Источник📍 Навигация: [Вакансии]🐸 Библиотека фронтендера#under_hood
Сливинский в поиске
Что важно учесть при переезде на другую CMS?— Постраничные 301 редиректы со старых страниц на новые - это база. Обязательно проверьте, что редиректы видны роботу ("проверка ответа сервера" в Вебмастере). Если на сайте уже были какие-то редиректы - стоит их приземлить сразу в новые урлы, избегая цепочек.— Часто забывают какие-то типы страниц. Здесь советую прямо собрать сэмпл страниц, на которые есть переходы из поиска (через Вебмастер или Метрику), и убедиться, что покрытие редиректами высокое и в них нет ошибок.— Часто спрашивают, надо ли дать сначала проиндексироваться новым страницам, или сразу делать редиректы. Чтобы не плодить дубли, лучше включить редирект сразу после того, как новые страницы станут доступны роботу.— В новой CMS какие-то блоки контента могут отдаваться скриптами. Проверьте, что весь нужный контент новых страниц виден роботу и доезжает до базы (через "проверку страницы" в Вебмастере можно увидеть, какой именно контент лежит в поисковой базе).— Последите, не появляются ли дубли (через раздел "заголовки и описания", "страницы в поиске", алерты в Вебмастере), чтобы оперативно подклеить дубли к каноническим страницам или запретить к индексации.
Алекс Мо 🦄 А что если единорог?
Доделал сайт.Всегда был сапожником без сапог до старта работы над своими проектами, где во Флаите висит вся аналитика проектов, а в Лаудоре размещены статьи, которые мотивируют больше публиковать развернутых мыслей.История с моим сайтом тянется я хз даже с какого времени.🟠 Сначала были лендинги формата "посмотрите на меня, вот он я красивый стою" с пачкой регалий низкой ценности для конечного клиента. Далее были вариации с кейсами, но во всём этом не было души.🟠 Заказывал дизайн и сборку на Tilda.🟠 Собирал самостоятельно на zero-code решениях от Creatium🟠 Ну а далее перешёл на чистый код.У всех этих итераций, как и в личной жизни, были попытки найти себя, при этом быть прозрачным для потенциальных клиентов и партнёров.Сегодня это наконец-то стало возможным.У меня есть особенность — я не могу сидеть без дела даже во время стратегических размышлений, не говоря уже о моментах ожидания ответа на сообщения и тем более в моменты стресса. Для этого я переключаюсь на какую-то ручную работу.Могу покидать теннисный мяч, покрутить в руках ручку и другие предметы отвлечения внимания, а могу переключиться на разработку и собирать очередной пет-проект))Так и получилось на этот раз. В ожидании ответов клиентов, в размышлениях о стратегических шагах по проектам, о сложностях, я кодил свой сайт, как личный safe-space. Место, куда хочется возвращаться, чего обычно не ждёшь от лендинга эксперта.Что внутри:🖥 Ретро-дизайн Win98, который прощает многое. Любые огрехи — ну это старая винда, а вы что хотели))🟢 ICQ с ИИ под капотом. Мне не хотелось вешать обычный чат на сайт, да и он никак не мэтчился по дизайн-концепции, поэтому чатом стала аська, где меня можно спросить о чём угодно и ИИшка сориентирует по информации на сайте.ИИ-агент собирает все ваши вопросы и собственные ответы на них в базу. Раз в неделю провожу ревью его работы, чтобы наполнить сайт и скорректировать его поведение.Если кому-то нужно подобное решение, напишите мне, обсудим внедрение.🔉 Winamp. Куда без него. Не стал делать возможность загрузки собственных треков в плейлист, но до момента релиза сайта это было возможно :))🕹 Игры. Тут и сапёр и упрощённая версия pacman. Уголок, который буду развивать чисто для себя 😅🎥 Если задержитесь на сайте (на web версии, а не мобильной) более 30 секунд, то увидите пасхалочку. Кто увидел, делитесь в комментариях скриншотами и впечатлениями 👹 появляется только один раз.Буду потихоньку его допиливать, оптимизировать для поисковиков, ведь теперь на него приятно возвращаться.В общем, добро пожаловать на мой личный сайт: https://aleksmosaz.com, там есть вся информация обо мне и моих продуктах.Ну а если вы захотите сделать что-то подобное или у вас есть свои безумные идеи, свяжитесь со мной, обсудим.P.S. помучайте пожалуйста ИИ на сайте в Аське, позадавайте ему вопросы, ему надо учиться. Спасибо! И жду первых, кто найдёт пасхалочку и запостит в комменты.
TINYGIRL о творчестве
Недавно 12 марта праздновали день рождения TinyGirl четыре года, а вчера 24 марта продлила очередной год (четвертый год) домена своего одноименного сайта. Сама себе диву даюсь - вот это скорость! То есть в 2022 году через двенадцать дней как на свет родилась уже с доменом/хостингом разобралась, а еще через месяц рабочий и симпатичный сайт запустила! Надо учиться у себя самой же четырехлетней давностиМораль же сей истории такова, что за домен и пару плюшек к нему я заплатила 1400₽. А одна знакомая девушка, которая оплачивала домен тоже четыре года, причём без разработанного сайта, а считай просто за набор букв, по незнанию платила 22000₽. Имейте в виду, платежи за хостинг и домен тоже могут подлежать ревизии и принести экономию🪙Это я молчу, что платить и поддерживать в действительном состоянии надо всю интеллектуальную собственность, включая сайт и товарный знак, а то патентные тролли сильно возбуждаются, отслеживают, когда ты зазевался на минутку😳
Молния
Подключение только через MAX: как студенты ТюмГУ борются за альтернативные способы доступа к Wi-Fi В Тюменском государственном университете изменили правила подключения к Wi-Fi. Теперь войти в сеть можно только после авторизации в MAX: коды доступа в мессенджере раздаёт специальный бот. Раньше для подключения достаточно было корпоративной учётной записи.🔻 Студенты выступают против: петиция за сохранение альтернативного доступа к Wi-Fi набрала уже более 2500 подписей, а под коллективным обращением в деканат подписались более 400 студентов.Вуз настаивает на том, что вообще не обязан предоставлять Wi-Fi. Но студенты не согласны: «Мы считаем такой подход неправильным. Интернет в университете — это не привилегия. Это часть образовательной инфраструктуры, которая финансируется в том числе за счёт средств студентов, оплачивающих обучение»Пользоваться мобильным интернетом вместо Wi-Fi, как предлагает вуз, затруднительно: в центре Тюмени, где расположены корпуса вуза, действуют ограничения мобильного интернета, часто доступны только сайты из «белых списков». При этом расписание занятий, курсы и учебные тесты находятся во внутренних системах университета — без нормального доступа к сети ими не воспользоваться.На встрече с администрацией студентам сообщили: возвращать альтернативные способы входа не планируют. Авторизацию через МАХ вуз видит как способ набрать подписчиков в канал вуза в нацмессенджере. Для доступа в интернет студентам предлагают использовать стационарные компьютеры. Закон не обязывает университеты предоставлять Wi-Fi, но если образовательный процесс завязан на онлайн-платформах, ограничение доступа к интернету существенно затрудняет получение образования. Мы призываем руководство университета прислушаться к студентам.👊 Расскажите о происходящем своим знакомым — огласка может помочь студентам повлиять на решение администрации. А если вы студент ТюмГУ, вы можете отправить обращение в деканат.Получить помощь | Подписаться на Молнию
Инжиниринг Данных
С одного промпта Claude code создал сайт и опубликовал его на GitHub pages в моем репо.https://dimoobraznii1986.github.io/sayward-canoe-trip/Мы планируем ежегодный трип на каноэ🛶 по озерам Британской Колумбии и я решил собрать всю информацию по датам на сайте, что брать, как добраться, каким сидром закупаться и тп.Если хотите присоединиться, welcome!PS таким образом мы можете сделать бесплатный сайт для чего угодно - про себя, про свой продукт, проект, сервис и хостить совершенно бесплатно. При желании можете добавить настоящий домен.
Юлия_Рублева
Как прикрутить коменты в Максе с помощью Абдула и Андрея Таки с уважаемой коллегой Светланой Качмар мы победили этот кошачий подвал. Рассказываю максострадальцам. Заводите в максе группу. Заводите туда два человека из списка контактов. У меня это был Абдул Унитазы и Андрей Ездили за Матрасом. Они спят счас (статус «были давно») и ниче не почувствовали. …теперь понятно, я тоже была таким Абдул-унитазом для каких-то людей, утром проснешься, а ты в чужой группе, но это лирика. Эта группа и будет аналогом нашего чатика с коментами, в тг тоже так прокручивается-отвязывается. Короче, ищете бот «Комментарии под постами», он так и называется. На аватарке черно-белая клава. Далее идете в свой канал, добавляете этот бот сначала в подписчики, потом в админы. Потом идете в созданный чатик со спящим Абдулом, и делаете аналогично, сначала в подписчики (третьим будешь?), потом в админы. Потом они как-то там схлопываются вместе, и в канале появляются комменты. Для того чтобы коментить, надо типа в этот чат добавиться, только уже без «одобрения заявки». Оно легко. Менее убого, чем описано выше, бот френдли, немного суетливых движений и можно не только читать коменты под постом, но и сразу непосредственно на них отвечать. Вообще спасибо большое, что вы рядом в этих мучениях. Чует мое сердце, что это все артель «напрасный труд», но пусть будет. Ссылка на ботаСпокойной ночи!
Сломай и сделай нормально
Как запустить блог за два часа? 🥎Мне очень хотелось собрать все свои материалы, посты, презентации, статьи в одном месте. Поэтому я решил сделать себе блог. И с помощью AI запустил его быстрым и простым способом: → https://mikheenkov.ru/blog/Где брать контент?Начал с самого простого, собрать материалы. Вооружил свой OpenClaw (хоть какая-то польза от него) плагином для Telegram и попросил собрать все посты из моего ТГ-канала, у которых высокое количество просмотров, много публичных и скрытых репостов и которые представляют собой длинный текст. На первую итерацию я взял 22 статьи.Как собрать блог?Поскольку блог — это уже сложнее, чем просто странички и сайт, которые я делал раньше, я подключил к Cursor Claude Code и, кажется, окончательно переехал на Claude. С ним мы навайбкодили блог: входная страница, страницы статей, пагинация, теги и страницы тегов.Контент AI везде заполнил сам, без моего участия. Таким проектам теперь даже CMS не нужна, потому что контент легко редактируется голосом или прямо в коде.Как продвигать блог?Ну и до кучи мы сделали базовую SEO-оптимизацию: заполнили все метатеги, сделали карту сайта и кучу других непонятных штук. Навели красоту: фавиконки, превьюшки для соцсетей и так далее. В конце Claude научил меня подключать сайт к Вебмастеру и Search Console. Завершили работу установкой Яндекс.Метрики.Вся эта эпопея заняла примерно два-три (!!!) часа чистого времени.P.S.И да, я не только хочу похвастаться новым блогом — я снова в шоке от всего этого! Год назад мне это стоило бы нереального количества денег и усилий.
Жизнь в стиле Fred
Как не ошибиться с командой для разработки веб-продуктаЕсли вы решили разработать новый веб-продукт, почти всегда приходится выбирать среди нескольких подрядчиков. И неважно, что это: мобильное приложение, сервис или сайт — правила выбора команды везде примерно одинаковые.Разберём, на что стоит обратить внимание.# СтекЕсли команда предлагает реализовать проект на определённом стеке, попросите показать примеры работ именно на нём.Условно: если команда делает сайты на WordPress, а вы хотите проект на 1С-Битрикс, лучше с такими подрядчиками не работать. Даже если у них есть один программист, который «немного разбирается» в 1С-Битрикс.В идеале у команды должно быть несколько специалистов на нужной технологии. Чтобы была сменность сотрудников и проект не зависел от одного человека.# Первое свиданиеНа этапе знакомства важно почувствовать метч с командой.Если уже на этапе продажи продукта появляются несостыковки, лучше поискать другую команду. И дело не в том, что одни плохие, а другие хорошие. Просто могут сильно отличаться бизнес-процессы.Например, вы хотите быстрее начать разработку, а команда несколько недель подробно изучает требования и задаёт десятки уточняющих вопросов.Если вам такой формат не подходит – лучше сразу искать тех, кто работает быстрее и проще. И наоборот.# КейсыЯ уже упоминал это выше, но выделю отдельно.У команды должен быть кейс:– в вашей нише;– на вашем стеке;– или с решением похожей задачи.Если кейсов нет, срок разработки можно смело умножать на 1,5–2 раза.Единственный плюс отсутствия кейсов — такие проекты обычно стоят дешевле.# СравнениеПеред тем как выбрать подрядчика, поговорите минимум с 3–5 командами.Сравните их подходы, сроки, архитектуру и решения. Иногда полезно даже «столкнуть» мнения подрядчиков между собой.Заказчику, который не глубоко погружён в разработку, сложно понять, что именно ему предлагают.Помню кейс: к нам пришёл заказ на разработку мобильного приложения. Заказчик сказал, что ему уже предложили сделать его за 150 000 ₽ (при нашем чеке от 1 500 000 ₽).Когда начали разбираться, оказалось, что ему предложили просто обернуть корпоративный сайт в WebView — по сути открыть сайт внутри мобильного приложения.Такой вариант действительно можно сделать довольно быстро — за несколько дней. Но это не полноценное мобильное приложение, а по сути мобильная оболочка для сайта.# Цена проекта, а не цена часаСмотрите в первую очередь на общую стоимость проекта, а не на стоимость часа разработки.Также обращайте внимание на условия:– рассрочку;– постоплату;– график платежей.Иногда выгоднее заказать сайт за 1 500 000 ₽, но на комфортных условиях оплаты, чем купить решение за 500 000 ₽, которое в итоге не будет нормально работать и потребует переделки.У нас, например, заказчики с проектами от 1 000 000 ₽+ нередко платят за разработку 100 000–150 000 ₽ в месяц.То есть важна не столько итоговая сумма, сколько удобная финансовая модель проекта.
Жиза ИТ руководителя
Жиза №981В 2021-м году я работал ПМом в стартапе, где гендир очень полюбил фразу «данные — это новая нефть». Когда мы запускали простую форму регистрации, он приказал собирать вообще все: от даты рождения до ссылок на соцсети и информации об образовании.Я ему говорил: «Зачем? Половина людей бросит анкету на середине, а нам этот мусор хранить — лишний риск». Он отмахивался: «Ты не понимаешь, мы потом это продадим». Разрабы ворчали, но пилили опросник на три страницы.В итоге прожила эта форма ровно до первого аудита от потенциального европейского партнера. Их юрист за пять минут довел гендира до бледного вида. Как? Да просто объяснил, что по GDPR за сбор избыточной инфы, которая никак не используется в сервисе, нам светит такой штраф, что стартап закроется в тот же день.Потом вся команда в аврале вычищала базу, переписывала соглашения и переделывала фронт, чтобы просто удалить то, что мы с таким боем внедряли. Гендир про нефть больше не заикался и в целом превратился в адепта минимализма.______________Поделиться своей историей — @zhizaIT_bot
C# | Вопросы собесов
🤔 Что такое куки и где оно хранится в запросе? Это небольшие фрагменты данных, которые веб-сайты сохраняют на устройствах пользователей для хранения информации о сессии и отслеживания состояния. Куки используются для различных целей, таких как аутентификация пользователей, хранение настроек и предпочтений, а также отслеживание активности пользователей на сайте.🚩Основные свойства 🟠Имя (Name)Уникальный идентификатор для каждого куки.🟠Значение (Value)Данные, которые хранит куки.🟠Домен (Domain)Домен, для которого куки действителен.🟠Путь (Path)Путь на сервере, для которого куки действителен.🟠Время истечения (Expiration/Max-Age)Дата или время, когда куки должен быть удален.🟠Безопасность (Secure)Указывает, что куки должны передаваться только через HTTPS.🟠HTTPOnlyУказывает, что куки недоступен через JavaScript, только через HTTP(S) запросы.🚩Где хранятся 🟠Установка куки с сервера (Set-Cookie)Сервер отправляет куки в ответе на запрос клиента с использованием заголовка Set-Cookie. HTTP/1.1 200 OK Set-Cookie: sessionId=abc123; Path=/; Expires=Wed, 09 Jun 2023 10:18:14 GMT Content-Type: text/html 🟠Отправка куки клиентом (Cookie)Браузер автоматически добавляет соответствующие куки в заголовок Cookie при каждом последующем запросе к серверу, для которого эти куки действительны. GET /dashboard HTTP/1.1 Host: example.com Cookie: sessionId=abc123 🚩Пример использования Установка куки на сервере (пример на Node.js с использованием Express) const express = require('express');const app = express();app.get('/', (req, res) => { // Устанавливаем куки res.cookie('sessionId', 'abc123', { maxAge: 900000, httpOnly: true }); res.send('Куки установлены');});app.listen(3000, () => { console.log('Server is running on port 3000');});Доступ к куки на клиенте (пример на JavaScript) // Установка кукиdocument.cookie = "username=JohnDoe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";// Получение всех кукиlet cookies = document.cookie;console.log(cookies);🚩Важные моменты🟠БезопасностьКуки с флагом Secure передаются только по HTTPS-соединениям. Куки с флагом HttpOnly недоступны через JavaScript, что помогает защитить их от XSS-атак.🟠Размер и количествоОбычно один куки не должен превышать 4KB, и на одном домене может быть установлено не более 20-30 куки.🟠КонфиденциальностьКуки могут содержать чувствительные данные, поэтому важно защищать их и использовать шифрование, если необходимо.Ставь 👍 и забирай 📚 Базу знаний
Дизайнерам про законы
Работаю. Пришла мысль поделиться с вами ссылками на ресурсы, которыми пользуюсь достаточно часто. Вдруг пригодится, ловите 😌Выписка из ЕГРЮЛ https://egrul.nalog.ru/index.html - можно посмотреть регистрацию компании (или ИП), кто директор, адресПроверка куки https://www.cookieyes.com/cookie-checker/ - смотрю, какие сервисы подключены к сайту, чтобы прописать все в политике или рекомендовать клиенту убрать лишнееПроверка платформы сайта https://itrack.ru/whatcms/ - проверяю, если клиент не знает. Тоже чтобы написать в политике или предупредить о рисках использования зарубежных серверов.Регистрация в РКН https://pd.rkn.gov.ru/operators-registry/notification_check/ - смотрю, есть ли там клиент. Если нет – нужно подавать уведомление.Платформа Роспатента https://searchplatform.rospatent.gov.ru/trademarks - проверяю регистрацию товарных знаков
Options FX News
Добрый день, коллеги!👋👋👋✈️О ситуации с Telegram в РФК сожалению, Telegram в РФ работает всё хуже и хуже: у многих проблемы со входом, долго грузятся фото и видео, сообщения могут уходить с задержкой.Скорее всего, тотальной блокировки «на 100%» не случится (технически это очень сложно), но вероятность создания серьезных трудностей для пользователей высока. Однако, как говорится, «кто ищет — тот найдет» способ оставаться на связи, делая это максимально аккуратно. 🙏Будем надеяться, что это временные трудности и ситуация урегулируется.🔗 Как не потерять связь, если Telegram станет недоступен:✈️Чтобы вы всегда были в курсе новостей, мы сделали на сайте ленту последних постов из нашего Telegram-канала. Теперь все новые публикации автоматически попадают туда.Возможно, то же самое сделаем с чатом, чтобы была возможность задавать вопросы и читать обсуждения.💬Также на всякий случай на странице «Контакты» добавил ссылку на себя и запасной чат в Max.📨 форма обратной связи на сайте💡 Маленькая личная рекомендация🟠Проверьте, привязана ли к аккаунту почта. Лучше, чтобы это был зарубежный почтовый сервис. Если вдруг вылетит сессия или заблокируют вход по номеру телефона, это сильно повышает шансы на восстановление доступа.🟠Если для вас важны «Премиум», «Звезды» и другие ценности аккаунта — лучше позаботиться об этом заранее.✊ 💪Будем адаптироваться по мере развития ситуации, следите за новостями на сайте и в личном кабинете. Главное — не теряем связь и друг друга! 🤝
Shulepov_Code
Квест дня.Мне нужно было поставить иконку Max на сайт. Зашёл в Яндекс.Картинки — думал, сейчас быстро найду готовый PNG, чтобы не открывать Figma или Photoshop.Но в Яндекс.Картинках не оказалось того, что нужно. Думаю: лааадно, возьму с какого-нибудь сайта.Пошёл сначала по сайтам клиник — Max нет.Думаю, ладно, посмотрю сайты ремонта квартир — тоже нет.Зашёл на юридические сайты — та же история. У всех только WhatsApp и Telegram.Думаю, окей, начну искать по-крупному.Пошёл на Профи.ру, Дзен, Игора, Охта Парк, Хабр и даже Петрович — и нигде не нашёл, чтобы можно было связаться через Max.Интересно интересно 🤔
Travel-маркетолог Елена Белоусова
Кратно, как прошел сегодняшний день Включаю КВН, чтобы зайти в Telegram и написать в чат с сотрудниками, что переезжаем в Yougile.Часть бесед начинается Yougile, но заканчивается в Telegram. Потому, что тупо удобнее и привычнее. Созваниваюсь с клиентом, не получатся открыть коллтрекинг Манго. Выключаю КВН, теперь работает. Клиенту хочу отправить Excel-файл со звонками, однако файлы не отправляются. Снова вкл/выкл. Отправляю обратную связь ученикам курса в чат в Telegram, скрины не отправляются. Хочу увеличить полученный скрин, скрины не увеличиваются. Снова вкл/выкл. Я ожидала, что скоро это произойдет. У нас был план Б, заранее внедренный Yougile с чатом, но все равно не ожидаешь, что будет так хреново... Летят все простроенные воронки. Организационно-управленческий хаос. Не понятно, где теперь общаться с клиентами, не в МАХ же? Неудобно, что половина российских сайтов не открывается под КВН... Оказалось, что ведение канала в Telegram — это только верхушка айсберга. Кабздец в другом. В Telegram по сути организована вся работа. А у вас как? Всё легко? Или болезненно? 📲 Канал в Мах | 📱 ВКонтакте
Кибер ПТУ | Кибербезопасность
Про кубики.Короткое видео для тех, кто планировал познакомиться с архитектурой веб-приложений (или тех, кто хочет освежить базу перед экзаменом или собеседованием). Всё буквально на пальцах: логика, БД, очереди, как масштабировать и зачем это нам всё нужно.От простого к сложному - по ссылке.#BaseSecurity #SecArch🧠 Кибер ПТУ | 👨‍🏫 Менторство ИБ📂 Другие каналы
Ghostly Frontend
👩‍💻 Фишка: structuredClone() — глубокое копирование объектовМетод structuredClone() позволяет создавать глубокие копии объектов, включая вложенные структуры, даты, Map, Set, массивы и даже бинарные данные. Решает проблемы JSON.parse(JSON.stringify()) и ручного копирования.// Базовое копирование объектовconst original = {name: 'Анна',age: 28,hobbies: ['рисование', 'чтение'],address: {city: 'Москва',street: 'Тверская'}};const copy = structuredClone(original);copy.name = 'Мария';copy.hobbies.push('йога');copy.address.city = 'СПб';console.log(original.name); // → "Анна" (не изменилось)console.log(original.hobbies); // → ['рисование', 'чтение'] (не изменилось)console.log(original.address.city); // → "Москва" (не изменилось)// Копирование специальных типовconst complexData = {date: new Date('2024-03-15'),map: new Map([['key1', 'value1'], ['key2', 'value2']]),set: new Set([1, 2, 3, 4]),regex: /test/gi,typedArray: new Uint8Array([1, 2, 3]),error: new Error('Тестовая ошибка')};const complexCopy = structuredClone(complexData);console.log(complexCopy.date instanceof Date); // → true (сохранился тип)console.log(complexCopy.map instanceof Map); // → trueconsole.log(complexCopy.set instanceof Set); // → trueconsole.log(complexCopy.typedArray); // → Uint8Array [1, 2, 3]// Сравнение с JSON.stringifyconst data = {name: 'Иван',birth: new Date(1990, 1, 1),tags: ['js', 'dev']};// JSON метод (не сохраняет типы)const jsonCopy = JSON.parse(JSON.stringify(data));console.log(jsonCopy.birth); // → строка, а не Date!// structuredClone (сохраняет типы)const cloneCopy = structuredClone(data);console.log(cloneCopy.birth instanceof Date); // → true// Копирование циклических ссылок (ошибка!)const circular = { name: 'Объект' };circular.self = circular;// structuredClone(circular); // → TypeError: Maximum call stack size exceeded// Практический пример: история измененийclass HistoryManager {constructor(initialState) {this.history = [structuredClone(initialState)];this.currentIndex = 0;}push(state) { const newHistory = this.history.slice(0, this.currentIndex + 1); newHistory.push(structuredClone(state)); this.history = newHistory; this.currentIndex++;}undo() { if (this.currentIndex > 0) { this.currentIndex--; return structuredClone(this.history[this.currentIndex]); } return null;}redo() { if (this.currentIndex < this.history.length - 1) { this.currentIndex++; return structuredClone(this.history[this.currentIndex]); } return null;}}// Использованиеconst initialState = {user: { name: 'Анна', settings: { theme: 'dark' } },todos: ['купить хлеб']};const history = new HistoryManager(initialState);// Изменяем состояниеconst newState = structuredClone(initialState);newState.todos.push('позвонить маме');history.push(newState);// Возвращаемся назадconst previousState = history.undo();console.log(previousState.todos); // → ['купить хлеб']// Копирование для реактивных системconst appState = {users: [{ id: 1, name: 'Петр', profile: { age: 32 } },{ id: 2, name: 'Елена', profile: { age: 28 } }],meta: {lastUpdate: new Date(),version: '1.0.0'}};// Обновляем без мутацииfunction updateUserName(state, userId, newName) {const newState = structuredClone(state);const user = newState.users.find(u => u.id === userId);if (user) user.name = newName;newState.meta.lastUpdate = new Date();return newState;}const updatedState = updateUserName(appState, 1, 'Петр Петрович');console.log(appState.users[0].name); // → "Петр" (оригинал не изменился)console.log(updatedState.users[0].name); // → "Петр Петрович"📌 Преимущества:— Глубокое копирование любой сложности за одну операцию— Сохранение типов (Date, Map, Set, RegExp и др.)— Корректная обработка бинарных данных— Встроенный метод без зависимостей— Производительнее ручных решений— Идеально для работы с состоянием в React/Vue🧡 Ghostly Frontend | #фишки
АЛГОтрейдинг | ALKO_trading | CRYPDE | HFT
Самая большая боль при парсингах - cloudflare.Как обойти cloudflare? Просто заплатить cloudflare! Они выкатили апи для парсинга. Такс, мне кажется что цель cloudflare была в обратном. Или не?https://x.com/CloudflareDev/status/2031488099725754821?s=20А шо так можно было?
Из 🇯🇵 в 🇬🇧, стартап и другие истории
Как я делаю продукты на связке Claude + LovableДисклеймер: я в вайбкодинге без году неделя, и пока даже попытки закопаться в мануалы и видео по матчасти вызывают у меня decision paralysis и тихую истерику. Так что пока решила начинать интуитивно, чтобы не испугаться и не бросить. А в глубину буду закапываться, когда вылезать будет уже поздно.Итак, моя связка для зеленых вайбкодеров с лапками:1, Открываем Claude (у меня стандартная подписка за двадцатку). Описываем ему, какой сайт/приложение/сервис хотим собрать. 2. Уточняем, что делаем его в Lovable, и просим сделать промт для начала работы.3. Отвечаем Claude на все дополнительные вопросы, забираем получившийся промт и футболим его в Lovable. Ждём, пока родится первая итерация вашего приложения.4. Открываем, проверяем, отмечаем, что хотим поменять. Правки можно сразу писать в сам Lovable со скриншотами и без (подвинь правее, поменяй цвета, добавь окно ошибки - все, что заметите). Лучше добавлять правки по одной. 5. Можно по ходу дела задавать вопросы самому Lovable, чего не хватает - он подкинет идей.6. Просим у Claude промт на экспорт документации, чтобы посмотреть, что получилось. Копируем, кидаем в Lovable.7. Забираем получившийся файл из Lovable и закидываем Claude на ревью. Смотрим, какие замечания и предложения появились, просим промты на правки. Перекидываем в Lovable.8. Повторяем пункты 4-7, пока не будем довольны результатом. У меня сейчас подписка на Lovable за £44 в месяц - вместе с акцией на 8 марта хватило на два продукта (мой и клиентский). Без акции хватило бы на один – но с учетом того, что я дотошно докручивала абсолютно всё (от privacy policy до profile deletion flow, чтобы обеспечить GDPR compliance + смена трех ролей и CMS под каждый продукт). С Lovable потом планирую через GitHub под руководством Claude перетащить сборку, чтобы не зависеть от Lovable и мигрировать хранение данных в UK. Если получится, тоже напишу про это пост. Кодить не умею примерно вообще, если что, так что считайте это руководством для блондинок.
Системный аналитик с нуля | Альбина Гараева
Разбираемся с webhooksВо всех проектах с интеграциями обычно возникает вопрос «как передавать события между сервисами». И сегодня хотела бы поговорить о таком способе, как webhooks.Webhooks – это механизм, при котором система сама отправляет событие другой системе, когда что-то произошло.То есть вместо постоянного вопроса «есть ли новые данные?» (polling) система сама уведомляет о событии.Рассмотрим на примере:1. В системе происходит событиеНапример: пользователь оплатил заказ.2. Система формирует HTTP-запросОбычно это POST-запрос на заранее настроенный URL.3.  Отправляет данные получателюВ запросе передается payload с информацией о событии.Я обычно сразу добавляю пример payload в требования:event: payment_successorder_id: 8421amount: 2500timestamp: 2026-03-13Так команде сразу понятно, какие данные придут во внешнюю систему.Когда используют webhooks, а не polling?На моём опыте чаще всего webhooks используются в следующих случаях:◾️платежные системы уведомляют о результате операции◾️CRM отправляет события о новых клиентах◾️сервисы доставки сообщают о смене статусов заказов◾️Git-сервисы запускают CI/CD при новом коммитеГлавная идея – система отправляет событие сразу после его возникновения.И чтобы интеграция работала стабильно, важно правильно разделить ответственность между СА и разработчиком и не лезть туда, куда не надо)) ⏺Аналитик отвечает за логику интеграции и требования.Фиксируем:— какие события отправляются— при каких условиях они возникают— какие данные входят в payload— формат запроса— примеры сообщений— ожидаемые ответы принимающей системы— сценарии ошибок— правила retry и повторной отправкиТакже аналитик описывает контракт интеграции между системами.⏺А вот разработчик отвечает за техническую реализацию:— создание endpoint для приёма webhook— отправку HTTP-запросов— обработку ответов— реализацию retry-механизмов— обработку дублей событий— логирование и мониторингПроще говоря:аналитик отвечает за что и когда отправляется,разработчик – за как это работает технически.На практике это разделение сильно упрощает работу команды: когда контракт интеграции описан заранее, разработчикам проще реализовать и протестировать взаимодействие систем.
Веб-аналитика от Якова Осипенкова / osipenkov.ru
Эта история произошла со мной несколько дней назад...Мой сайт osipenkov.ru работает на WordPress, а часть страниц создана с использованием плагина-конструктора WPBakery Page Builder. Он позволяет создавать сложный, адаптивный дизайн веб-страниц с помощью визуального интерфейса Drag-and-Drop (перетаскивание) без необходимости написания кода.Поскольку около 90% времени я работаю с osipenkov.ru на компьютере (пишу статьи, обновляю контент, плагины и редактирую блоки), я даже не предполагал, что на сайте есть серьезная проблема на мобильных устройствах, которая сильно ухудшает его конверсию.Речь идет о довольно распространенной проблеме с залипанием блоков при прокрутке. И причем такое поведение наблюдалось только на мобильных устройствах и только на устройствах Apple (iOS) 🍏 из разных браузеров 📵В этом кейсе я подробно рассказываю о том, как мне удалось обнаружить эту проблему и частично ее устранить.✅ Читать кейс
cherkashin.dev
Я занимаюсь фронтенд-разработкой около 9 лет, но, к своему стыду, ни разу не «игрался со шрифтами». Во всех проектах, над которыми я работал, был либо подключён какой-то шрифт из Google Fonts, либо всё уже было настроено, либо использовался просто какой-то дефолтный шрифт из шаблона.Но вот шрифты всё-таки меня настигли. Во время редизайна дизайнер решил, что Nunito уже не модно, и предложил перейти на Inter. Когда мы обновили шрифт, наш интерфейс разнесло во все стороны 😅 Inter оказался заметно больше.Сначала мы решили пойти самым простым путём: поменять значения наших дизайн-токенов и сделать их на 1px меньше, чтобы компенсировать переход на новый шрифт. Но это не сработало: наш конструктор позволяет указывать кастомные шрифты, поэтому такой вариант отпал.И вот после очередного сеанса гугления промптинга ChatGPT подсказал мне, что есть такое свойство, как size-adjust, которое позволяет уменьшить весь шрифт. Размеры и отступы всё равно, конечно, немного отличаются, но так можно избежать изменения дизайн-токенов.Для наглядности это выглядит примерно так:@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; size-adjust: 93%; src: url('https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZg.ttf') format('truetype');}А ещё я собрал небольшую демку, где можно поиграться с этим свойством. 👍 — если знали про size-adjust❤️ — если узнали что-то новое#css
Михаил Минт
Если вы задумали сделать веб-сервис в 2026 году, вот что вам нужно учесть:🏗 Фундамент — Фреймворк с SSR (серверный рендер) — UI-компоненты (готовая библиотека, не пишите с нуля) — ORM + PostgreSQL — TypeScript — Единый формат API-ответов и ошибок — Пагинация для списков 🔐 Авторизация — JWT + httpOnly cookie — Middleware для защиты роутов — Сброс пароля через email — Rate limiting на логин/регистрацию — Валидация входных данных (zod) 💳 Платежи — Интеграция платёжной системы (криптограмма, 3DS) — Рекуррентные списания — Webhooks (pay, fail, cancel) — Идемпотентность вебхуков (защита от дублей) — Тестовый режим перед продом 🚀 Деплой — Docker для БД — Process manager (PM2) — Nginx: SSL, security headers, gzip, rate limiting — Скрипт деплоя с rollback — Автопродление SSL-сертификатов — Локальное окружение (docker-compose.dev) 🛡 Надёжность — Бэкапы БД по cron — Индексы на FK-колонки — Health check endpoint — Error tracking (Sentry) — Graceful degradation при падении внешних сервисов — Логирование ошибок, не console.log 📈 SEO и юридика — Open Graph мета-теги — Аналитика (Яндекс Метрика / Google Analytics) — robots.txt + sitemap.xml — Политика конфиденциальности (152-ФЗ) — Оферта / пользовательское соглашение — Политика возврата (требование платёжных систем) 📧 Коммуникация — Transactional email (welcome, чеки, сброс пароля) — Уведомления в Telegram (оплаты, ошибки, новые юзеры) — Email-дайджесты (если есть контент) ⚙️ Cron-задачи — Проверка просроченных подписок — Очистка старых токенов и сессий — Бэкап БД — Отправка дайджестов 🎨 UI/UX — Мобильная адаптивность — Dark mode — Единый таймзон в форматтерах (SSR = UTC, клиент = локальный — будут баги) — Состояния загрузки и ошибок на каждом экране — Favicon и OG-картинка 💡 Бизнес — Лендинг с понятным оффером — Trial-период для снижения барьера — Социальное доказательство (счётчик, отзывы) — Реферальная программа — Онбординг для новых пользователей 🔒 Безопасность — HTTPS everywhere — HSTS, X-Content-Type-Options, X-Frame-Options — CORS-политика — Секреты в .env, не в коде — Не коммитить .env, credentials, ключиЭто только инфраструктурная база — скелет, без которого сервис не взлетит. Сама идея, продукт, дизайн, тексты, маркетинг и работа с пользователями — отдельная история, которая занимает в разы больше времени и сил, чем техническая часть.Сохраните, пригодится.@mintering
Lextorium | Школа для юристов-практиков
🔍 Соответствует ли ваш сайт законодательству в сфере персональных данных?Любая уважающая себя компания имеет свой сайт. И это неизбежно ставить вопрос о такой его настройке, чтобы он соответствовал требования Закона о персональных данных (ПДн) № 152-ФЗ.Здесь мы расскажем о двух, пожалуй, главных требованиях к сайту со стороны регуляторов.1️⃣ Сайт не должен осуществлять трансграничную передачу ПДн российских граждан. Всё должно обрабатываться на территории России.Поэтому, во-первых, сам сайт должен работать на российском сервере, во-вторых, подключенные к сайту скрипты не должны отправлять ПДн за рубеж.Так что можно сразу забыть про Google Analytics, интеграцию сайта с зарубежными CRM-системами и т. п.2️⃣ На сайте должна быть размещена политика конфиденциальности и настроены формы с согласием на обработку ПДн.Ссылку на политику конфиденциальности обычно рекомендуют размещать в «подвале» сайта (его нижней части).Все формы, через которые вы собираете данные, должны иметь чек-бокс, в котором пользователи должны поставить «галочку» о согласии на обработку ПДн. Тут есть пара нюансов.Во-первых, «галочка» НЕ должна быть предустановлена! Иначе это будет нарушать требование ч. 1 ст. 9 Закона о ПДн № 152-ФЗ к согласию: оно среди прочего должно быть свободным и сознательным.Во-вторых, фраза рядом с чек-боксом о согласии на обработку должна содержать ссылку на текст этого согласия, а не только на политику конфиденциальности. Некоторые про это забывают, но это нужно сделать, потому что согласие на обработку ПДн должно быть ещё и информированным.На сайте должна быть отдельная страница, на которой указано, какие ПДн собирает оператор через данную форму, с какой целью их обрабатывает и т. д. Если на сайте несколько форм, например, одна для обратной связи, вторая для сбора заявок, то должно быть и несколько страниц с текстами согласий для каждой.➡️ Как правильно составить политику конфиденциальности, собирать согласия на обработку ПДн и другие не менее важные аспекты работы с ПДн подробно рассматриваются в курсе «Регулирование персональных данных в России».☄️ Сегодня, 12 марта запись этого курса можно приобрести со скидкой 50%. Успейте оставить заявку до конца дня!