К примеру, есть веб-приложение, которое использует файлы cookie, которые в свою очередь отслеживают и собирают аналитику использования приложением.
Как стать автором
Scroll Listener VS Intersection Observer. Сравнение производительности
Interection Observer API даёт возможность вызвать коллбэк, когда пересекаются DOM-элементы. Можем ли мы им заменить обработчики scroll cобытий? Что менее затратно по производительности? В этой статье мы попытаемся ответить на это.
О том, как я сломал Ubuntu и убил день на то, чтобы починить
Бывало у вас такое, что Snapd User Session Agent входит в бесконечный цикл? Вы вводите правильный пароль и... попадаете на тот же экран входа.
Это широко известная ситуация, которая может происходить из-за самых разных факторов. Не менее широко известен и универсальный рецепт: попадите в терминал bash через tty (Ctrl + Alt + F1), найдите проблему и устраните её.
Однако что, если вы не можете попасть в терминал по какой-либо причине? Например, раскладка вашей клавиатуры по умолчанию отличается от раскладки вашего логина и пароля? Этому особому кейсу я и хотел бы посвятить статью, так как потратил на него уйму времени и ещё больше - нервных клеток.
Итак, вы впервые сталкиваетесь с infinite login loop и пытаетесь залогиниться в терминал при помощи tty. Но тут вас встречает "родная" русская раскладка вместо родной английской. Никакие хоткеи не работают: вы попробовали Shift + Alt, Alt + Shift, Cmd (Win) + пробел и все до единой остальные. Ничего не помогает. Можно сколько угодно стрессовать и сомневаться в своей вменяемости ("каким идиотом надо быть, чтобы поставить русскую раскладку как основную на машине Ubuntu???"), это не отменяет тупиковой ситуации. Как итог - вход невозможен. Вы перезагружаете машину, зажимаете Esc (иногда также Shift, но не в моем случае), чтобы попасть в grub menu и входите в recovery mode. Но - о ужас - и тут вас преследует ненавистная раскладка.
На просторах форумов и тредов StackOverflow вы встретите людей, которые дошли до этого этапа из-за греческой или русской раскладки и отчаялись, попросту переустановив операционную систему с флешки или другого физического накопителя. Не поступайте так, суицид - не выход.
Бременские стартаперы
Ехал с детьми в машине и слушал сказку «Бременские музыканты», и подумал, а как бы она могла бы выглядеть в современном прочтении. Оригинальная сказка сильно отличается от советского мультика, в ней музыканты до Бремена так и не дошли, а поселились в доме разбойников, судя по всему музыкантами не стали, мечту свою не осуществили 😔.
В небольшой компании работал продакт менеджер. Продакт менеджер растил метрики главного продукта компании, и ему за это немного платили. Так и жили. Шли годы и продакту становилось все скучнее и скучнее, денег на новые направления не выделяли, а дорога до работы и вовсе стала невыносимой.
И вот продакт менеджер...
Чаевые для техподдержки
Почему чаевые платят таксистам и официантам, а специалистам технической поддержки нет? Работа нервная — незаслуженно могут накричать или оскорбить. Поэтому сотрудникам поддержки ничего не хочется делать вне своего скрипта.
Но бывает и наоборот — попадается вежливый и понимающий клиент, сотрудник входит в его положение и делает даже больше, чем обязан. Взамен он может получить только устную благодарность и высокую оценку своего труда от клиента.
Почему бы не дать возможность пользователю проголосовать рублём? Расскажем, как смогли реализовать такую функцию в сервис-деске.
Нейросеть «Шедеврум» от Яндекса выдаёт чужие картины за свои
Яндекс выпустил свой аналог нейросетей Midjourney и Stable Diffusion. На момент публикации этой статьи в приложении «Шедеврум» можно только смотреть чужие генерации. Генерировать свои картинки можно только после одобрения заявки внутри приложения.
Лестница в небо – первое что бросилось в глаза. Наверняка вы неоднократно встречали эту иллюстрацию под стишками или в сопровождении вдохновенных фраз. Нейросеть тоже видела эту картинку настолько часто, что просто запомнила её целиком. В правом нижнем углу картины есть подпись автора, но на сгенерированном изображении эта часть картинки обрезана и подпись отсутствует.
Листая ленту приложения дальше я встретились знакомые шары. Вы тоже не впервые встречаете эту картинку?
Как получить token для авторизации api в Laravel Sanctum из HTTP-заголовка, отличного от Authorization
Laravel Sanctum предоставляет очень простой путь для организации авторизации api мобильных приложений (да и не только мобильных) через token авторизации. Но что делать, если приложение уже разработано и оно отправляет token авторизации в HTTP заголовке, отличном от Authorization. Настроек Sanctum для этого просто нет, как и, собственно, во всем Laravel. Мне предстояло получить token из заголовка HTTP X-Auth-Token. Чтобы это сделать, пришлось создать собственный класс защитника и собственный класс Service Provider.
Для начала создадим свой собственный SanctumServiceProvider. Он будет расширять родной класс Laravel\Sanctum\SanctumServiceProvider и перекрывать единственный метод createGuard.
[Кейс] Кулинария. До безобразия вкусная еда от Юлии Высоцкой. Продвижение сайта, поднявшее количество заявок до 112%
Проект «Едим Дома» принадлежит Юлии Высоцкой, известной российской кулинарной блогершей и телеведущей. Сайт посвящен кулинарии и содержит множество рецептов, начиная от традиционных русских блюд и заканчивая экзотическими рецептами из разных стран мира. Кроме того, сайт предлагает советы по приготовлению и подаче блюд и статьи о питательной ценности продуктов.
Write-up websec.fr level 04. PHP injection
Райтап писали: tungue, Dana Scully
Сегодня мы делаем разбор level 04 с сайта websec.fr .
Сайт предоставляет таски по веб-пентесту, и на эти таски написано не очень много райтапов (в основном, они все на китайском\корейском\японском языках).
Я когда-то начинала разбирать, но потом дело, к сожалению, сошло на нет.
Перед разбором сначала расскажем о том, что такое php injection и за счет чего мы можем эксплуатировать данную атаку.
Инъекции очень часто используют недостатки написанного кода, и здесь как раз это и происходит.
Согласно OWASP, уязвимость возникает, когда введенные пользователем данные не обрабатываются должным образом перед передачей в PHP-функцию unserialize(). В теории, сериализация — это преобразование объектов в битовую последовательность, из которой можно потом восстановить почти такой же объект с помощью десериализации. Поскольку PHP допускает сериализацию объектов, мы можем передавать специальные сериализованные строки уязвимому вызову unserialize(), что приводит к внедрению произвольных объектов PHP в область приложения.
WireGuard VPN на VPS с Ubuntu 20.04: Своими ручками легко, быстро и весело
Для начала давайте убедимся, что наш VPS находится в самом актуальном и обновленном состоянии. Подключаетесь к VPS через SSH. Запустите следующие команды, чтобы обновить систему и установить необходимые пакеты...
На сколько сильно разогреваются реактивные двигатели?
Привет! Я Костя и мне удалось сохранить в себе часть маленького ребенка, который постоянно задает вопросы, чтобы понять как устроен мир вокруг. Недавно мне стало интересно, на сколько сильно разогревается авиационные реактивный двигатель и я полез гуглить. Результат моего маленького исследования можно узнать прочитав текст ниже.
Практической пользы от этого, скорее всего не будет, но если вам, как и мне, узнавать новое доставляет удовольствие, то читать обязательно :D
Эмиграция с Яндекс.Почты для доменов
Поскольку обещания вечной любви оказались недолговечны, на ряде форумов встречал запрос возможности выгрузки списка почтовых ящиков, групп и подразделений из Почты для Доменов aka Яндекс 360.
У меня уже давно лежали подобные скрипты для синхронизации Active Directory с Яндекс.API. API поменялось, скрипты подправлены.
Как отправлять запросы на сервер, при этом не перезагружая страницу
Приветствую. Сейчас мы разберем ,как можно при помощи js и его популярной библиотеки jquery отправлять асинхронные запросы на сервер.
Отправка асинхронных запросов на сервер без перезагрузки страницы - это технология AJAX (асинхронный JavaScript и XML).
Python vs Golang — cравнение быстродействия
Вот у меня есть две программы с совершенно одинаковым функционалом – одна на языке Python, вторая – на языке Go, обе не используют возможности параллельных вычислений. Проведу тестирование для сравнения их быстродействия, но сначала небольшое описание их работы.
Обзор шаблона разработки Telegram-бота
Шаблон разработки Telegram-бота – это отличный инструмент для разработки бота с нуля. Он предоставляет множество готовых функций, которые значительно упрощают процесс создания бота,а также позволяет быстро и легко настроить его работу и функциональность.
При использовании данного шаблона, разработчики могут значительно сократить время на написание кода и сфокусироваться на создании уникального и полезного бота для пользователей.
Сегодня мы поговорим о таком шаблоне, как BotTelegramTemplate. В данный момент этот шаблон находится на стадии доработки и не может дать большую функциональность, но зато он сможет ускорить время разработки благодаря своей структуре.
Я уже использовал его в своих проектах и могу сказать, что если разобраться, как устроена структура, можно разработать хорошего бота. Тем более, если учесть тот факт, что более небольшие проекты пишутся не задумываясь о структуре, это ускоряет процесс разработки.
Также его можно подстроить под себя, удалив лишнее из проекта и немного переписав под свои нужды.
Основная концепция шаблона заключается в модулях, которые можно добавлять и удалять, не ломая основной код бота. Таким образом, можно расширять функциональность бота без необходимости затрагивать его основной код. Это делает разработку более гибкой и удобной.
Сделать свою игру – дорого?
Когда мы говорим о создании игры, первое, что приходит на ум, это затраты. Ведь разработка игры – это не только время и труд, но и финансовые ресурсы. Как правило, процесс создания игры включает в себя несколько этапов, каждый из которых может стоить немалых денег.
В первую очередь нужно определить, какой тип игры вы хотите создать: небольшую инди-игру или крупный AAA-проект.
В случае с небольшой инди-игрой, которую разрабатывают небольшие студии или даже отдельные разработчики, затраты могут быть относительно невысокими. В среднем такая игра может стоить от нескольких тысяч до нескольких сотен тысяч долларов.
Однако, если вы планируете создать крупный AAA-проект, то затраты могут достигать нескольких миллионов долларов. На этом уровне разработка игр становится глобальным бизнесом, в котором участвуют крупные компании и издатели.
Гипотеза Коллатца, часть 1
Эта первая статья из цикла «Доказательство гипотезы Коллатца», и на сегодняшний день единственная статья (в мире), раскрывающая истинную природу гипотезы Коллатца.
В этой статье автор подробно разбирает алгоритм гипотезы Коллатца, его структуру, свойства и особенности.
§ 1. Постановка вопроса
Гипотеза Коллатца — это одна из нерешенных проблем математики. Получила широкую известность благодаря простоте формулировки.
Берём любое натуральное число ; Если оно чётное, разделим его на 2, а если нечетное, то умножаем на 3 и прибавляем 1 (получаем 3n+1); Над полученным числом выполняем те же самые действия, и так далее.
Какое бы начальное число мы ни взяли, рано или поздно мы получим единицу, — так гласит гипотеза. И надо это доказать.
§ 2. Введение
В математических кругах уже давно ходят легенды о недоказуемости этой задачи. Так, например, американский математик J. Lagarias вспоминает:
«В 1960-м более месяца весь Йельский университет безрезультатно трудился над проблемой 3n+1. Это было что‑то невероятное. Такая же участь постигла и исследователей Чикагского университета, когда я сообщил им об этой задаче. Ходила шутка, что 3n+1 — это заговор советских ученых против США, чтобы снизить научный потенциал Америки и замедлить наши исследования в других областях.»
В 2007 г. математики S. Kurtz и J. Simon пришли к выводу, что в такой постановке вопроса задача 3n+1 не доказуема.
В 2010 г. Американское математическое сообщество выпустило сборник «Безграничный вызов для математики: 3x+1». Эта книга рассказывает о неудачных попытках найти решение для 3n+1.
Поднимаю свой скрипт для обхода ограничений CBR.RU по IP
Захожу я как-то в админку своего интернет-магазина на OcStore (форк OpenCart) и вижу подобную картину.
Warning: DOMDocument::loadXML(): Opening and ending tag mismatch: meta line 1 and head in Entity, line: 1 in...
Что такое конвейер данных? И почему вы должны это знать
Конвейер данных (Data Pipeline) - это последовательность шагов для обработки данных. Если данные еще не присутствуют в платформе данных, они поступают в начале конвейера. Затем конвейер обрабатывает данные через ряд этапов, где выход каждого этапа становится входом следующего. Этот процесс продолжается до тех пор, пока конвейер не будет завершен. В некоторых случаях независимые этапы могут выполняться одновременно.
Почему NgRx эффект срабатывает только один раз
Больше года прошло с тех пор, как я познакомился с NgRx. На первый взгляд этот инструмент мне показался достаточно понятным. Но, чем больше я его использую, тем больше убеждаюсь, что это совсем не так. Тут я хотел бы отметить, что NgRx требует глубокого понимая принципов RxJS. Если в знании RxJS есть пробелы, придется не раз получить граблями по лбу.
Итак, я столкнулся со следующей проблемой – мой эффект срабатывал только один раз.