
Особенности Fast Data Grid:
— Невероятно быстрый
— Многопоточный
— Всего 523 строчки кода
— Нет зависимостей
— Vanilla JavaScript
Попробуйте скролл и поиск по 1 000 000 строк — Fast Data Grid.
В статье расскажу про работу с потоками.
Делаем веб лучше
Особенности Fast Data Grid:
— Невероятно быстрый
— Многопоточный
— Всего 523 строчки кода
— Нет зависимостей
— Vanilla JavaScript
Попробуйте скролл и поиск по 1 000 000 строк — Fast Data Grid.
В статье расскажу про работу с потоками.
Хабр, я снова пришёл к вам с практическими советами про доступность вместе с Ильей. Мы показываем, как HTML и CSS могут улучшить или ухудшить её. Напоминаю, что Илья — мой незрячий знакомый, который помогает мне найти наши косяки в вёрстке.
Сегодня мы рассмотрим следующие аспекты:
Давайте начнём!
Во-первых постараюсь объяснить почему я хочу больше:)
По итогам собеседования меня взяли на позицию джуниор фронтенд разработчик в одну из московских айти компаний на удаленку. И вот какие были условия на момент принятия оффера
- Позиция джуниор фронтенд разработчик
- Будет ментор у которого всегда можно будет спросить
- Испытательный срок 3 месяца
В итоге узнается что ментор это такой
Основной объём трафика в вебе возникает из-за ботов. По большей части, эти боты используются для обнаружения нового контента. Это читалки RSS-фидов, поисковые движки, выполняющие краулинг вашего контента, а сегодня и боты ИИ, собирающие контент, чтобы скармливать его LLM. Но есть и зловредные боты. Их создают спамеры, скрейперы контента и хакеры. На моём прежнем месте работы бот обнаружил уязвимость Wordpress и встроил в наш сервер зловредный скрипт, а затем превратил машину в ботнет, используемый для DDOS. Один из моих первых веб-сайтов был полностью выдавлен из поиска Google из-за ботов, генерирующих спам. Мне нужно было найти способ защиты от этих ботов, поэтому я начал пользоваться zip-бомбами.
До недавнего времени программный доступ к куки в браузере осуществлялся через API document.cookie
— простой строковый геттер/сеттер. Для получения одного файла куки приходилось разбирать всю строку вручную и преобразовывать ее в удобный формат. А чтобы записать куки, нужно было сначала сформировать структурированные данные, затем сериализовать их в строку и только после этого присвоить значение document.cookie
. Разработчики часто используют популярные библиотеки, например js-cookie, которые делают работу с куки гораздо удобнее.
Сегодня мы продолжим разбирать базовые концепции реактивности, изложенные Райаном Карниато (Ryan Carniato), автором SolidJS. Если ранее мы затрагивали производные и их планирование, то сегодня разберём более сложную тему — асинхронность в контексте реактивного программирования. Эта концепция добавляет новый уровень сложности, поскольку требует учёта динамических процессов, выходящих за рамки синхронных операций.
Назначение протокола: безопасная аутентификация клиента на защищенных ресурсах. Защита клиента веб-сайта, даже после компроментации БД сайта. Замена стандартного парольного механизма аутентификации на более стойкую ко взлому схему.
Статус документа: запрос на обсуждение сообществом (Request For Comments).
ВНИМАНИЕ: Это учебный криптопротокол, не рекомендуется его реализовать на продуктивных системах до тех пор, пока он не пройдет экспертизу специалистами.
Назначение статьи: привлечь к первичному аудиту специалистов по эллиптическим кривым (профильных математиков и криптоаналитиков)
Участники взаимодействия: Алиса - клиент веб-сервера, Боб - веб-сервер (или его владелец) с ограниченным доступом, Ева (Eve) - пассивный слушатель сообщений, Меллори - активный злоумышленник, пытающийся вмешаться во взаимодействие Алисы и Боба, проксировать соединение, выдавая себя за Боба для Алисы, и за Алису для Боба. Будем рассматривать наихудший сценарий, когда Меллори обладает некоторой важной информацией, помогающей ему вмешиваться в канал (он обладает верификатором V Алисы, в результате взлома веб-сервера Боба).
Необходимые параметры взаимодействия:
i - идентификатор Алисы на сервере Боба. Это может быть логин, электронная почта или 128-битное произвольно выбранное натуральное число .
x - секрет Алисы. Это может быть 128-битное случайно выбранное число или результат криптографического преобразования пароля Алисы: x = Scrypt(Password), где
Scrypt - адаптивная криптографическая функция формирования ключа на основе пароля, созданная офицером безопасности FreeBSD Колином Персивалем для противодействия атакам методом грубой силы.
В этом посте я опишу, как настроить современную маршрутизацию и использовать Signals для реактивного отключения выбранных ссылок.
Массовая генерация разделов для таксономии в WP через массив и команду wp-cli.
Прикольная штука вроде, удобная.
Оценивать ли время на выполнение задач в IT? А может быть просто пойти и начать делать? А может быть можно оценить объем задач, а не время? И что же вообще нужно и можно оценить?
В этой статья я рассказываю про 4 метода оценивания задач в IT — от угадывания до хороших и честных расчётов.
С 12 марта 2024 года метрика FID (First Input Delay) из семейства Core Web Vitals заменена метрикой INP (Interaction to Next Paint), которая оценивает скорость отклика сайтов. При этом, согласно оценке Google, по метрике FID было оптимизировано 93% сайтов, но лишь 65% — по INP.
В связи с этим владельцы интернет-ресурсов столкнулись с необходимостью оперативно дорабатывать свои сайты, чтобы не потерять позиции в поисковой выдаче.
Меня зовут Кирилл Радыгин. Я руководитель фронтэнд направления в компании Одноклассники. В этой статье я расскажу, как команда ОК адаптировала соцсеть под изменившийся набор метрик оценки перформанса.
Всем привет, я Сергей — ведущий программист в e-commerce агентстве KISLOROD.
Чаще всего я решаю задачи разработки для сайтов на 1С-Битрикс, но также иногда работаю с Битрикс24. Сегодня хочу рассказать о модульной доработке Б24 в одном из кейсов.
Poetry вместо pip, Ruff вместо flake8, FastAPI вместо ручной документации. Что реально упрощает жизнь Python-разработчику сегодня — на примерах и с реальными конфигами.
Когда я работал над техническим постом о ресолвинге DNS, то столкнулся с чем-то неожиданным. Каждый раз, когда я вводил пути к файлу hosts (/etc/h*sts
— здесь я намеренно его обфусцировал, чтобы не вызвать ту самую ошибку), редактор Substack показывал «Network Error» и отказывался автоматически сохранять черновик.
Опыт автоматизации финучета в небольшой IT-команде — честно, с мемами и фейлами. Как ушли от Excel, почему сначала все пошло не по плану, что сэкономили, где накосячили и зачем все-таки это сделали. Без волшебных кнопок, но с выводами, которые помогут другим не наступить на те же грабли.
В этой статье мы сделаем небольшой экскурс в эволюцию архитектурных подходов – от классического шаблона MVC, популярного на начальных стадиях разработки, до более современных решений, таких как SOA, DDD, Modular Monolith и микросервисы.
Наша цель – показать, как переход от одной архитектуры к другой может решить проблемы поддержки, тестирования и масштабируемости. А также дать рекомендации по выбору оптимального решения в зависимости от требований проекта.
Расскажу о признаках неизбежности «перезапуска» проекта и разработки новой версии сайта с «чистого листа». Рассмотрим причины, по которым сайт оказывается в такой запущенной стадии. Найдем позитивные моменты в данной, казалось бы, наглухо негативной истории. Немного углубимся в технику процесса. В конце — чек‑лист для проверки своего проекта!
Мы — команда студентов из ИТМО, которая прошла путь от хакатонов до продуктовой разработки. На собственном опыте расскажем, как выстроили инфраструктуру, способную масштабироваться, переживать сбои и не стоить, как полкоманды в найме.
Когда вы только начинаете делать стартап, инфраструктура кажется чем-то второстепенным. Важнее MVP, фичи, дизайн, пичдек. Но в какой-то момент всё внезапно перестаёт помещаться на одном сервере, руками деплоить становится больно, SSL не обновляется, а продакшн падает из-за перегрузки или забытого docker-compose up
.
Kubernetes? Слишком сложно, долго и дорого. Монолит? Неудобно масштабировать. Мы искали третий путь — и нашли его.
На вашем сайте, внутреннем портале, в интернет-магазине кто-то что-то сделал, а потом всё сломалось: сайт открывается криво (или не открывается вообще?), перестали работать фоновые задачи в планировщике, установились неправильные скидки всем пользователям на все товары... Предположим, что с безопасностью у вас всё хорошо: Joomla свежая, актуальная, расширения - тоже. Да и в логах сервера и логах Joomla тоже чисто... Тогда остаётся ещё один источник информации - Лог действий пользователей Joomla. Основная его задача - помочь быстро найти кому настучать по рогам причину и устранить её.
Всё, что связано с действиями в админке - может логироваться: от обновления системы и компонентов, изменения настроек до редактирования и сохранения конкретных элементов (статьи, товары, категории и т.д.) и загрузки файлов в медиа менеджере. Лично мне нередко этот функционал помогал найти тех контент-менеджеров, кто дублирует названия товаров, создавая дубли и тем самым негативно влияя на SEO. Или же вдруг обнаруживается недозаполненная, но опубликованная карточка товара, которой не должно было быть, но она появилась. И ладно если б это был единичный случай...
👋 Привет, Habr!
Вы когда-нибудь пытались найти качественный open-source клон Pinterest — с real-time функционалом, полноценной архитектурой, удобным UI и современной технологической основой? Я — да. И не нашёл. Поэтому решил создать свой.
Представляю вам Pinterest Clone — мой pet-проект, над которым я работал в одиночку 4 месяца, чтобы воссоздать не просто копию, а полнофункциональную платформу с реальным пользовательским опытом, максимально приближённым к оригиналу.