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

Слова в пузырях

Казуальные, Головоломки, Словесная

Играть

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

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

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

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

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

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

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Web-программирование

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

Программирование IT Web Программист Javascript Веб-разработка Frontend Все
781 пост сначала свежее
Вопрос из ленты «Эксперты»
tablepedia
4 месяца назад
Web-технологии

Генерация HTML файлов с помощью Excel и бесплатного OpenOffice Calc⁠⁠

Я в феврале 2025 года работаю над проектом "Генерация HTML файлов с помощью табличного редактора". Напишите, пожалуйста, в комментариях ссылки на похожие проекты. Точнее, на файл табличного редактора для генерации HTML.

[моё] Вопрос Спроси Пикабу Программа Программирование Microsoft Excel HTML Основы HTML Windows Файл Генерация Таблица Сайт IT Web Web-программирование Приложение CSS Дизайн Веб-дизайн Графический дизайн Короткопост Текст
14
47
DaDementr
DaDementr
4 месяца назад
Лига программистов

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

Вчера нечто не разумное под моим постом про обучающий 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
4 месяца назад
Лига программистов

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

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

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

[моё] Web-программирование Web Программист Python IT юмор IT Программирование Docker Текст
19
maximz
maximz
5 месяцев назад

Обычный рабочий день frontend разработчика⁠⁠

Всем привет, окунитесь в обычный рабочий день frontend разработчика. Жена пикабушника делает листинг каталога для онлайн бронирования vr игр

Приятного просмотра, с удовольствием отвечу на все вопросы по теме

Показать полностью
[моё] Стримеры React IT Приложение Web-программирование Программирование Javascript Айтишники Сайт Frontend Разработчики Видео YouTube CSS
3
2
DELETED
5 месяцев назад

Создал веб-расширение которое полностью или почти полностью заменяет оригинальный поисковик веб-сайта Реддит⁠⁠

Цель: убрать автопоявление в поисковой строке поисковые подсказки и не только. Поисковые подсказки у реддита никак не убрать на реддите, ublock origin с помощью функции блокировка элемента может убрать ТОЛЬКО весь оригинальный поисковик вместе с поисковыми подсказками

Вот ссылка с открытым исходным кодом: https://drive.google.com/file/d/1-IAF6e0A2tNsyXBYyjenHWemA2p...

P.S: Уменьшите страницу реддит до от 80% до 66% так как дизайн вышел большим

P.S2: Вы сами дальше дорабатывайте и обновляйте я дальше этим расширением обновлять и заниматься и дорабатывать не буду!

Сайт Web-программирование Интернет Текст
9
3
DELETED
5 месяцев назад

Дружелюбный интерфейс⁠⁠

Вот так выглядит интерфейс ввода пароля в интернет-приложение польского банка Santander.

Дружелюбный интерфейс Клиент-банк, Web-программирование, Новая эра
Дружелюбный интерфейс Клиент-банк, Web-программирование, Новая эра

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

До такого креатива не допёр еще ни один из них.

Показать полностью 2
Клиент-банк Web-программирование Новая эра
10
yegorpolunin.69
yegorpolunin.69
5 месяцев назад

Создание простого градостроительного симулятора в браузере на HTML, CSS и JavaScript⁠⁠

Создание простого градостроительного симулятора в браузере на HTML, CSS и JavaScript — это интересная задача, которая может быть решена разными способами. Ниже предложен базовый пример, как можно создать исключительно простую версию такого симулятора. Этот пример будет включать в себя представление сеткой, на которую пользователь может кликать, чтобы "строить" здания.

### HTML

Начнем с HTML-файла, который создаст основную структуру страницы с элементом canvas для рисования:

```html

<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Градостроительный Симулятор</title>

<link rel="stylesheet" href="styles.css">

</head>

<body>

<h1>Градостроительный Симулятор</h1>

<canvas id="cityCanvas"></canvas>

<script src="script.js"></script>

</body>

</html>

```

### CSS

В CSS файле мы зададим размеры нашего canvas и добавим некоторые базовые стили для оформления:

```css

body {

display: flex;

flex-direction: column;

align-items: center;

font-family: Arial, sans-serif;

}

canvas {

border: 1px solid black;

margin-top: 20px;

cursor: pointer;

}

h1 {

margin-bottom: 0;

}

```

### JavaScript

JavaScript будет использоваться для управления логикой игры. Основная идея — это создать сетку, на которой пользователь сможет "строить" здания путем кликов:

```javascript

const canvas = document.getElementById('cityCanvas');

const ctx = canvas.getContext('2d');

const gridSize = 10;

const cellSize = 40; // Размер клетки на сетке

canvas.width = gridSize * cellSize;

canvas.height = gridSize * cellSize;

const cityGrid = new Array(gridSize).fill(0).map(() => new Array(gridSize).fill(0));

// Функция для отрисовки сетки

function drawGrid() {

ctx.clearRect(0, 0, canvas.width, canvas.height);

for (let x = 0; x < gridSize; x++) {

for (let y = 0; y < gridSize; y++) {

ctx.strokeStyle = 'gray';

ctx.strokeRect(x * cellSize, y * cellSize, cellSize, cellSize);

if (cityGrid[x][y] === 1) { // Если построено здание

ctx.fillStyle = 'blue';

ctx.fillRect(x * cellSize, y * cellSize, cellSize, cellSize);

}

}

}

}

// Обработка клика

canvas.addEventListener('click', (event) => {

const rect = canvas.getBoundingClientRect();

const x = Math.floor((event.clientX - rect.left) / cellSize);

const y = Math.floor((event.clientY - rect.top) / cellSize);

cityGrid[x][y] = cityGrid[x][y] === 0 ? 1 : 0;

drawGrid();

});

// Начальная отрисовка сетки

drawGrid();

```

### Описание

1. **HTML**: Создает базовый каркас страницы с canvas, где будет происходить рисование.

2. **CSS**: Определяет стили для страницы и canvas, добавляя границу и стили для текста.

3. **JavaScript**: Определяет сетку города, состоящую из массивов. Пользователь может кликать на клетку сетки, чтобы "строить" (или "сносить") здания, используя двумерный массив для отслеживания состояния каждой клетки.

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

Показать полностью
Программирование HTML Web-программирование Программа Технологии Браузер Компьютер Текст Длиннопост
2
6
a3at0s
a3at0s
5 месяцев назад
Web-технологии

Опенсорсный проект на Vue3 + Ionic⁠⁠

Приветствую, друзья!

Недавно я опубликовал пост о своем мобильном приложении MyTasks.
Данный пост больше нацелен на разработчиков (начинающих и более опытных).
Я решил сделать этот проект опенсорсным, ссылка на проект в github:
https://github.com/azatgt1996/my-tasks.

Цель проекта: поделиться опытом разработки мобильного приложения на Vue3 и Ionic Capacitor.
Проект не сложный, надеюсь начинающие смогут понять код, старался декомпозировать на модули и компоненты, давать хорошие названия им.
Также буду рад увидеть фидбек от более опытных разработчиков в плане лучших практик разработки.

Немного про фичи приложения:
- добавление, редактирование, выполнение и удаление задач (последние 2 действия можно выполнять прямо в списке свайпами влево/вправо)
- мультиязычность, темная тема, настройки
- категории задач
- групповые действия с задачами
- уведомления и приоритеты задач
Ссылка на само приложение:
https://play.google.com/store/apps/details?id=com.kvarta.myt...

Также проект можно смело использовать как костяк для собственных проектов, что ускорит разработку.
И пару слов почему решил использовать такой стек. Vue3 и Ionic являются удобными инструментами для фронтенд разработчика, так как имеется хорошая документация с примерами. Для разработки на Ionic нет необходимости запускать android-эмулятор, что сильно экономит время и ресурсы компьютера. Просто запускаете проект и сразу видите результат в вашем браузере.

Спасибо за внимание!

Показать полностью
[моё] Vue Javascript Frontend Web-программирование Приложение на Android Текст
2
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии