Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Скайдом - пожалуй, самая красочная и интересная головоломка с действительно уникальными режимами игры!

Скайдом

Три в ряд, Головоломки, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Web + Программирование

С этим тегом используют

IT Web-программирование Сайт Веб-разработка Дизайн Javascript Программист IT юмор Разработка Python Картинка с текстом Юмор Все
256 постов сначала свежее
47
DaDementr
DaDementr
5 месяцев назад
Лига программистов

Скорость сайта и прочие ругательства⁠⁠

Вчера нечто не разумное под моим постом про обучающий opensrc проектик на питоне, пыталось меня учить жизни права юзерам ставить, что возмутило меня до глубины души. А еще это чудо сравнило кастомную разработку с поделкой на Wordpress. WP -это несуразное недоразумение, использование которого оправдывает только нехватка денег или времени на разработку своего проекта.

Из чата про WP

Это история о том, как движок, написанный для простенького бложика чудовищно кривыми руками какого-то безграмотного и бездарного школьника, вдруг как раковая опухоль захватил мир.

Даже на php во времена зарождения говнопресса можно было писать совершенно по-другому.

А вообще это относится ко всем универсальным якобы CMS.

Остальные не лучше. Причём на допиливание до нужного, приемлемого результата уходит времени порой больше, чем на кастом с нуля.

А потом упираешься в ограничения или невозможность реализовать задуманное и сносишь нахер эту ересь.

Но есть ещё и битрикс, где нужное тебе будут пилить 1.5 года за все бабло мира и получившийся монстр потребует весь ram и процы, какие только есть и все равно будет работать неспеша.

Из недавнего. Сайт - визитка завода. На битрикс.PageSpeedWeb показывает 40, поисковая оптимизация 80🤣

-Ну нам же делала серьёзная контора, как же так?

Но мне хлеб конечно, грех жаловаться.

Вообще о скорости загрузки и работы. Сайт должен грузится мгновенно, каждая доля секунды -это потеря потенциального клиента, каждое ожидание в интерфейсе - это негатив и не купленный товар.

Еще в 2006 году Amazon обнаружила, что каждые 100 мс дополнительного времени загрузки страницы стоят им 1% продаж. На тот год 1% для них это около 100 лямов баксов. Но да, вы продолжайте топить за бесплатные CMS или овердорогой битрикс, уговаривая себя, что вам это сэкономило кучу бабла.

Хоть я и не фанат PHP, но даже на нем с прямыми руками можно запилить отличный кастом.

Вообще сравнивать ширпотреб и кастомную разработку - это как сравнивать обувь на заказ с обувью с рынка. И то и то выполняет свои функции, но есть нюанс..

Но бабло и экономить народ хочет сейчас, а о том, что на дистанции теряет больше, не думает. А еще не думает о том, что долгая загрузка понижает в выдаче, так SEOшники утверждают.

А вообще, если есть у тебя сайтик, народ на него ходит, а ты не знаешь насколько он медленный и кривой. Ну загрузи ты его в https://pagespeed.web.dev/ или открой LightHouse в панели разработки хрома затести и подивись результатам.
А потом вынеси тяжелые js в фон, картинкам пропиши lazy и упакуй их наконец-то в webp или вообще на svg замени где разумно.

Но с svg тоже без фанатизма, тяжелые градиенты и прочие вензеля нагружают клиента и 100 svgшек могут наглухо повесить страницу на слабом телефоне.
Есть еще более продвинутые аудит сервисы к примеру https://www.webpagetest.org/ там тоже не плохо добиться хотя-бы средних результатов

А в бэке прибей нахрен joinЫ, да и вообще поменьше к базе обращайся. Есть же redis и другие inmemory решения, популярные мелкие таблицы сбрось туда или настрой кэш нормально на БД, индексы пропиши, в общем оптимизируй хорошенько систему. И вот совсем не надо рассчитывать в базе мега карту вселенной в цикле, если у тебя в таблицах меньше 1000 строк, все в коде делай. в конце концов добавь RAM, ограничь логи не экономь на оптимизации сервисов и комфорте посетителя. Это важно.

И да, установи себе наконец-то fail2ban и забань всех ботов, чтобы не нагружали систему. Если у тебя нет php то прямо пропиши регулярками банить за php запросы.

failregex = ^<HOST> - - \[.*\] "GET .*\.php.* HTTP\/.*" 404 .*$

Первый раз спросил - ошибся на 404, второй раз - в тюрьму. Повторил - рецидивист, отдохни месяц. Если у тебя есть админка по пути admin, переназови как-то по другому например godmode и всех кто в /admin без спросу лезет тоже в бан типо так:

^<HOST> - - \[.*\] "GET .*\/admin.* HTTP\/.*" 404 .*$

^<HOST> - - \[.*\] "POST .*\/administrator.* HTTP\/.*" 404 .*$

Вообще почитай логи своего веб сервера, посмотри сколько там ботов крутится. Ищут wp-admin, config,.env и прочее - Они нагружают твой ресурс и ищут дыры - они тебе не нужны.

И убери root доступ по ssh, тем более если ходишь не по серту, а по паролю. Эти же боты долбят shh подбирая пароли под root а вот какое имя рэндомного sudo user - vasiia_pupkin они искать не будут. Ну и ssh jail у fail2ban включи а лучше в sshd.conf пропиши только allow IP для себя.

Усе, выговорился. Пора за работу )
Ах да, конечно повелители тильды и боги wp меня сейчас покарают😆

Показать полностью
Программирование IT Сайт Web-программирование Web Текст
70
werwolfshtein
5 месяцев назад
Лига программистов

Титан веб разработки⁠⁠

Я счас одному чуваку сайт-визитку запихал в докер, добавил к нему nginx, прикрутил сверху эластиксёрч с мемкэчем и залил всё это дело на vps.

А потому что могу!

[моё] Web-программирование Web Программист Python IT юмор IT Программирование Docker Текст
19
26
Pavel.Cherepanov
Pavel.Cherepanov
6 месяцев назад
Pikabu Game Jam
Серия Дневник разработки - GP Profit Jam #2 feat Pikabu

Как я разрабатывал игру за 3 дня для Пикабу Игры⁠⁠

Как я разрабатывал игру за 3 дня для Пикабу Игры Геймджем, Инди, Разработка, Инди игра, Игры, Рогалик, GP Profit Jam, Roguelike, Web, Программирование, Видео, Без звука, Длиннопост

Знакомство

Привет, меня зовут Паша. Днем я обычный программист / тимлид команды в IT компании, а по вечерам превращаюсь в инди-разработчика игр, который грезит мечтами о том, как разработка игр станет его основным занятием.

Я никогда не работал в игровых студиях и все свои проекты создавал в одиночку, обладая лишь навыками программирования и опытом работы с Unity и Cocos Creator. У меня есть несколько завершенных небольших игр, выложенных на Яндекс.Игры. Большими доходами они похвастаться не могут, но на пару доставок еды в месяц заработать удается.

Недавно решил принять участие в своем первом гейм-джеме — GP Profit Jam #2 feat Pikabu — и хочу поделиться этим опытом. Надеюсь, моя история будет интересной, а советы и фидбек помогут мне в будущем!


Этап 0. Подготовка к Game Jam

О джеме я узнал случайно за месяц до его начала — из видео, где представитель GamePush рассказывал про новую платформу "Пикабу Игры". Меня заинтересовал этот проект, ведь новая площадка — это возможность получить хороший трафик при низкой конкуренции и немного заработать.

Признаюсь, раньше я скептически относился к джемам, считая, что за короткий срок создать что-то стоящее невозможно и такие проекты остаются "работой в стол".

Тем не менее я решил поставить перед собой простую цель: "Сделать игру". Мне давно не хватало мотивации, и участие в джеме стало отличным поводом сдвинуться с места.


День 1. Брейншторм темы, или разговаривать с компьютером это нормально

Четверг, 5 декабря, 20:00 — старт гейм-джема! Объявили тему: "В поисках золотого плюсика" и дополнительное условие: "Элемент: Маскот Пикабу. Будет большим преимуществом, если игра поддерживает лор Пикабу!".

Просьба не закидывать камнями, но я не являюсь активным пользователем Пикабу и с его лором почти не знаком. Благо у меня есть мой надежный товарищ — искусственный интеллект в ChatGPT (или, как я его называю, "мой подручный"), который погрузил меня в историю и специфику данной площадки.

Как я разрабатывал игру за 3 дня для Пикабу Игры Геймджем, Инди, Разработка, Инди игра, Игры, Рогалик, GP Profit Jam, Roguelike, Web, Программирование, Видео, Без звука, Длиннопост

Вот кстати небольшая вырезка от ИИ про лор Пикабу

Помимо темы джема организаторы предоставили графику с маскотом и элементами Пикабу, причем с исходниками. За что им огромное спасибо!

Как я разрабатывал игру за 3 дня для Пикабу Игры Геймджем, Инди, Разработка, Инди игра, Игры, Рогалик, GP Profit Jam, Roguelike, Web, Программирование, Видео, Без звука, Длиннопост

Спойлер: данная графика послужила основой для многих элементов в моей игре.

Поштурмив с "подручным" тему джема — получили следующее

Название: Подземелье дизлайков

Механика: Рогалик (за референс брал Isaac)

Идея: Печенька исследует лабиринты подземелья, олицетворяющие ветки самых «захейченных» постов, и сражается с врагами (дизлайкоподобными существами). Для победы нужно их "заплюсовать", чтобы вернуть в них человечность (референс - заблудшие из мультфильма "Душа").

Далее уже в пятницу я начал накидывать прототип графики, пробовать различные варианты персонажей и цветовой гаммы. Ведь только в сравнении можно найти лучший вариант.

1/3

Прототип графики

На этой прекрасной ноте и закончились мои первые сутки после начала гейм-джема.

День 2. Кто рано встает — тот не я

Выспавшись после рабочей недели, я сел работать за игру в 12:00 по местному времени.

И началось все с прототипа базовых механик - передвижения, стрельбы, примитивного AI и генерации комнат подземелья. Замечу, что большинство кода написал "мой подручный", за что ему большое спасибо. А что? Нужно делегировать.

Спустя примерно 8 часов все основные механики были готовы. Дальше необходимо было внедрять графику.

Прошло еще 5 часов — и несуразные круги и квадраты получили свое истинное воплощение.

А спать я пошел под забавные испанские танцы от моего главного героя.

День 3. Дедлайн близко

В течении последнего дня я старался отточить основные механики, внедрял UI, игрался с балансом AI, создал генератор комнат и в последний момент добавил уровень с боссом.

Что по итогу получилось реализовать:

  • Генерация лабиринта;

  • Базовые механики (стрельба, передвижения, жизни);

  • Механика разбиваемых  и собираемых предметов;

  • Механика бота защитника;

  • Генерация врагов волнами внутри комнаты;

  • Примитивный AI;

  • Один босс с уникальной логикой стрельбы;

  • 3 уровня с различным количеством комнат, 1 уровень с боссом.

1/4

Финальные скриншоты

Заключение

Вот так активно и интересно прошли мои выходные. На удивление - мне понравилось. Я получил кучу эмоций, и у меня есть почти готовая игра.

Ну а дальше 2 этап, нужно доделывать игру, встраивать SDK от GamePush и внедрять мобильное управление. Но это уже совсем другая история.

А пока вы можете попробовать поиграть сами (доступно только для ПК) и оставить ваши отзывы и предложения - https://pavel-cherepanov.itch.io/dungeon-of-dislikes

Также призываю ознакомиться с играми других участников!

Спасибо за уделенное время!

Показать полностью 10 3
[моё] Геймджем Инди Разработка Инди игра Игры Рогалик GP Profit Jam Roguelike Web Программирование Видео Без звука Длиннопост
12
6
progerdan
progerdan
7 месяцев назад
Web-технологии

Разработка сервиса управления серверами⁠⁠

Привет всем! 🚀

С сегодняшнего дня я начинаю делиться процессом разработки своего сервиса для управления серверами и деплою проектов.

Разработка сервиса управления серверами Стартап, Сервер, Программирование, Web, Web-программирование

Страница управления пакетами

Ключевые возможности:

• Быстрое развертывание серверов: автоматическая подготовка и установка сервера, поддержка различных провайдеров (timeweb, ihor, regru и другие) (автоматический заказ услуг и дальнейшая работа с ними)

• Управление окружением: Установка пакетов и управление конфигурациями (nginx, bunker, sudo)

• Управление сайтами: простое создание и настройка сайтов с поддержкой популярных платформ: Laravel, WordPress, NodeJS

• Управление DNS: легкое управление DNS-записями через удобный интерфейс.

• Балансировка нагрузки: настройка балансировщиков нагрузки в один клик для распределения трафика между серверами.

• Уведомления: интеграция с e-mail, Telegram и другими сервисами для получения уведомлений о деплоях и событиях.

• SSL-сертификаты: поддержка Let’s Encrypt с установкой в один клик.

• Управление очередями: автоматическое создание и управление конфигурациями Supervisor для обработки очередей.

На первом этапе сосредоточусь на работе с пакетами, после чего перейду к поддержке веб-сайтов, интеграции с VCS (пока только Github), деплою и SSL.

Следите за апдейтами — впереди будет много интересного

Показать полностью 1
[моё] Стартап Сервер Программирование Web Web-программирование
4
ignatWHM
7 месяцев назад
Web-технологии

Почему LiteSpeed - серверы выигрывают у Apache и Nginx?⁠⁠

В современном веб пространстве скорость и производительность сайтов имеют решающее значение. Пользователи ожидают быстрой загрузки страниц, а поисковые системы учитывают время отклика при ранжировании. Поэтому выбор веб-сервера имеет критически важное значение. Давайте разберемся почему LiteSpeed часто превосходит Apache и Nginx.

1. Высокая производительность и скорость.

Представьте себе веб-сервер, который способен жонглировать тысячями запросов, не проливая ни капли пота. Это LiteSpeed! Благодаря своей событейно-ориентированной архитектуре, он работает так же быстро, как кофе по утрам!)
В то время как Apache все еще пытается проснуться со своей процессной архитектурой, LiteSpeed уже пробежал марафон.

2. Встроенное кэширование с LSCache

Вот кто не любит, когда все работает быстрее? LSWS приходит с подарком - встроенным кэшэм. Это как личный шеф-повар, который зарнее готовит ваши любимые блюда)
Ваш сайт будет подавать страницы так быстро, что пользователи предположат, что вы предсказываете их желания))) И конечно он дружит с такими CMS как Wordpress, Joomla и прочие..

3. Поддержка современных протоколов

LiteSpeed - всегда вкурсе последних трендов.
Имеется поддежка HTTP/3 и QUIC, что делает передачу данных быстрее скорости света. Это особенно круто для мобильных пользователей и тех, кто сидит на интернете с улиточной скоростью - теперь все будет летать!)

4. Эффективное использование ресурсов

Цены на железо достигают колосальных цен, а зачем тратить больше, когда можно тратить меньше?
LiteSpeed экономит оперативную память и процессорное время так, словно сам за них платит)
Большее кол-во пользователей может быть обслуженно на том же железе, позволяя вам сэкономить на инфраструктуре, потратьте эти деньги на родных и близких ;)

5. Совместимость с Apache

Боитесь перермен? Я тоже. Как хорошо, что LiteSpeed полностью совместим с конфигурационными файлами Apache. Переходите на РЕАЛЬНО хороший вебсервер без головной и жопной боли из за переписывания всех настроек с нуля.

6. Бесплатная версия OpenLiteSpeed.

Не уверенны? Хотите попробовать, а трайл версии мало? OpenLiteSpeed идеальный вариант для временного решение, ведь по функционалу, он не сильно то и урезан, грубо говоря чуть более старая версия нынешнего LiteSpeed.

Заключение

К чему эта статья? Создатели веб-серверов, хватит уже жить в эпохе динозваров! Нам, пользователям, нужна скорость и удобство. Зачем нам Apache и Nginx, когда есть нечтно новее, с GUI и высокой производительностью?

Не время ли оставить старые добрые и "ламповые" сервера для музеев технологий? Зачем нам разгонять интернет на паровой машине, когда давно придумали реактивные двигатели.

И, честно говоря, кто станет использовать веб-сервера, требующие знания древних заклинаний для настройки? Может, некоторым хостингам кажется, что это весело? Ну что ж, пусть продолжают жить в мире дискет и модемов)) (Привет синийхост точка ком)

Давайте двигаться вперед и использовать современные технологии, которые делают жизнь проще, а сайты быстрее)
Мы все заслуживаем скорость света в интернете, а не прогулки с черепахой, мы же платим за это деньги!

Показать полностью
[моё] Сервер Apache Nginx Web Сайт Web-программирование Программирование Текст
9
3
cododelia
cododelia
8 месяцев назад
Web-технологии

Отслеживание сетевой активности и переходов между страницами в SPA⁠⁠

При создании инъецируемых скриптов для сайтов, использующих архитектуру SPA (Single Page Application), может возникнуть потребность отслеживать переходы между страницами или перезагрузки элементов. Из-за динамической подгрузки контента через AJAX и Fetch, события DOMContentLoaded или load будут бесполезны.

Для инъецируемых скриптов, хорошим решением будет отслеживать состояние радиомолчания (network idle). Оно наступает, когда все сетевые запросы завершены, и сеть на некоторое время «замолкает». Подобное поведение полезно, если нужно запустить код только после того, как пройдут все запросы или после перехода на другую страницу, чтобы реинициализировать скрипт.

💻 Пример сценария использования

Представьте себе, что вы хотите внедрить кнопки, виджет или другую логику на странице, которая должна запускаться после перехода на новую страницу в SPA-приложении. В этом случае подойдет отслеживание network-idle, чтобы понять, когда контент страницы загрузился.

🤫 Как это работает

  1. Инициализация счетчика активных сетевых запросов.

    Сниппет отслеживает все сетевые запросы на странице (Fetch и XMLHttpRequest) с помощью PerformanceObserver. Каждый раз, когда начинается новый сетевой запрос, счетчик activeRequests увеличивается.

  2. Обработка завершения запросов.

    После завершения запроса activeRequests уменьшается, и проверяется состояние сети. Если активных запросов не осталось, через 500 мс на объекте window генерируется событие network-idle.

  3. Использование события network-idle.

    На это событие можно подписаться, чтобы выполнять нужные действия, как только страница завершит все сетевые активности и будет готова для следующей операции.

    4. Задержка перед генерацией события.

    Задержка в 500 мс добавлена, чтобы устранить "шум" случайных срабатываний и убедиться, что действительно наступило состояние радиомолчания.

📞 Важно:

  • Модификации роутов в SPA. Если у вашего SPA-приложения не используются сетевые запросы при изменении маршрутов, дополнительно можно привязаться к событиям history.pushState и popstate.

  • Очистка обсерверов. Не забывайте отключать обсерверы, чтобы избежать утечек памяти, если ваш скрипт прекращает свое действие при определенных условиях.

🫡 Заключение

Этот сниппет помогает организовать логику на основе сетевых событий в инъецируемых скриптах для приложений с динамическим роутингом, позволяя учитывать состояние “радиомолчания” и гарантируя, инъецируемые скрипты выполняются после прогрузки страницы, а также помогает перезапускать инъецируемый скрипт при переходах между страницами.

Ознакомиться со сниппетом можно на GitHub Gist.
А подобные посты чаще в пишу в Telegram канале, там же и пример проекта, где это применимо.

Показать полностью
[моё] Программирование Javascript Frontend Web Web-программирование Tampermonkey Текст
3
AlexeyPerfilev
AlexeyPerfilev
9 месяцев назад

Почему я считаю, что эра JavaScript-фреймворков подходит к концу⁠⁠

Привет, Пикабу! Сегодня хочу поделиться мыслями, которые наверняка вызовут бурю эмоций у фронтендеров. Готовы? Поехали!

Смелое заявление

Я считаю, что эра больших JavaScript-фреймворков (React, Angular, Vue) подходит к концу. Да-да, я сказал это.

Почему я так думаю?

  1. Сложность: С каждым обновлением фреймворки становятся всё сложнее. Новичкам всё труднее входить в разработку.

  2. Производительность: Ванильный JavaScript и небольшие специализированные библиотеки часто работают быстрее.

  3. Размер бандла: Приложения на фреймворках часто весят слишком много, что критично для мобильных устройств.

  4. Переусложнение простых задач: Для создания простой страницы приходится поднимать целую инфраструктуру.

  5. WebComponents: Нативные веб-компоненты становятся всё мощнее, уменьшая потребность в фреймворках.

Что дальше?

Я предвижу возвращение к более простым решениям:

  • Ванильный JavaScript для простых проектов

  • Микрофреймворки для конкретных задач

  • Серверный рендеринг и прогрессивное улучшение

Мой опыт

Недавно я отказался от использования React в пользу ванильного JS и WebComponents для небольшого проекта. Результат? Сайт стал быстрее, код - чище, а разработка - приятнее.

Вывод

Не поймите меня неправильно - фреймворки сыграли важную роль в развитии веба. Но, возможно, пришло время двигаться дальше?

А что думаете вы? Согласны ли вы, что эра больших фреймворков подходит к концу? Или я совершенно не прав? Давайте обсудим в комментариях!

P.S. Готов к горячим спорам. Фронтендеры, не сдерживайте эмоции! 😉

Показать полностью
[моё] Программирование Разработка IT Javascript Web Web-программирование Текст
9
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
6
Mathos
Mathos
10 месяцев назад

Где я создаю изображения графов, полезный инструмент⁠⁠

http://magjac.com/graphviz-visual-editor/

Где я создаю изображения графов, полезный инструмент Программирование, IT, Инструменты, Программное обеспечение, Web

Вот такой полезный web-инструмент. Изображение можно выгружать в формате SVG.

Программирование IT Инструменты Программное обеспечение Web
3
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии