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

Битва Героев

Приключения, Ролевые, Кликер

Играть

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

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

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

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

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

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

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

Backend + HTML

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

IT Программирование Frontend IT юмор Разработка Программист Drupal CSS Javascript Верстка Сайт Web Все
11 постов сначала свежее
2
mars.frontier
mars.frontier
1 месяц назад

Как мы делали мини-игру про ровер на Марсе внутри Telegram WebApp⁠⁠

«Хочется сделать простую карту, чтобы листать её в Telegram». С этого всё и началось. А закончилось — изометрическим движком, авторизацией по WebApp, системой энергии, покупкой участков и боевым ровером с шестью колёсами.

1/3

🚀 С чего всё началось?

В начале всё было очень просто.
Мы сделали простенького бота, о котором я уже как-то тут писал, и бэк рендерил картинки с кусочком карты, где ты находишься.

В целом, даже эта идея была вполне рабочей и первые 300 пользователей с разных источников легко собрались. Мы даже провели на 9 мая конкурс "найди звезду победы" и выплатили победителю небольшой приз :)

Но само собой, что бот - не предел мечтаний, нужно было пилить полноценный мини-апп.

На боте лишь проверили гипотезу, отладили механики, типа уменьшения энергии, подзарядки аккумулятора в течении времени, пока не заходишь в игру.

Первый шаг в сторону мини-аппки - сделали вебстраничку, где можно было листать мышкой или пальцем — просто ради визуализации. Прямоугольная сетка, тайлы, немного стилей. Telegram WebApp проглатывал HTML5 на ура. Тогда не было никакой логики, просто подгрузка текстур и картинка под пальцем.

Вот как это выглядело:

  • Пользователь заходил и видел карту Марса.

  • Никакого взаимодействия — только “глянуть”.

🎮 А потом захотелось интерактивности

Следующим шагом стало добавление изометрии — чтобы выглядело как псевдо-3D. Самое интересное, что даже не потребовалось изменять текстуры. Серьезно :) Они по-прежнему те же самые, квадратные, 64 х 64. И не используется никакой 3д - движок.

вот краткое и понятное объяснение, как строится изометрическая карта из квадратных тайлов:


🧠 Основная идея:

Каждый квадратный тайл поворачивается на 45° и масштабируется по вертикали, чтобы получился ромб (изометрическая проекция). Вместо привычной сетки (x, y) мы рассчитываем экранные координаты (left, top) по формуле:


📐 Формулы для отображения:

При размере одного тайла T:

  • W = T * sqrt(2) — изометрическая ширина (диагональ квадрата).

  • H = W / 2 — изометрическая высота (высота ромба).

  • WX2 = W / 2, HX2 = H / 2 — половинки для смещения от центра.

Переход от логических координат (dx, dy) к пиксельным:

isoX = (dx - dy) * WX2 + centerX; isoY = (dx + dy) * HX2 + centerY;


🧩 Что это даёт:

  • (dx - dy) — смещает тайл по горизонтали.

  • (dx + dy) — смещает тайл по вертикали.

  • centerX, centerY — центр экрана, чтобы карта строилась относительно игрока.


🎯 В результате:

  • Из обычной квадратной сетки (x, y) формируется ромбовидная карта, где видны и горизонтальные, и вертикальные соседние тайлы.

  • Центральная клетка (текущий игрок) — всегда по центру, а остальные располагаются вокруг.

    Ну а дальше уже дело техники - придумали алгоритм перемещения в 8 направлениях: вверх, вниз, влево, вправо, плюс диагонали.

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

    Задали запреты на воду, скалы и занятую клетку, чтобы не было “читов”.

🔐 Само собой - авторизация

Чтобы пользователь не “прыгал” по чужим роверам и участкам, мы внедрили Telegram WebApp InitData (это такая строка с хешем, которую фронт передает нам в бэк, а мы - уже на сервере телеграм с токеном бота валидируем подпись. Если сошлась - то пользователь зашел к нам через телегу. Если нет - скорее всего он просто открыл веб-страницу как сайт, или что-то пытается поломать, подделать :)

Если кратко:

  • Telegram сам отдаёт токен с подписью.

  • Мы проверяем подпись на бэке по HMAC SHA256.

  • Получаем ID пользователя, сохраняем его в сессии.

Теперь всё честно: ровер – только твой, кристаллы – только твои.

🪐 Стало красивее: добавили кристаллы и рамки

Потом появились:

  • Кристаллы на клетках — можно собирать.

  • Подсветка клеток: белая рамка — твоя, красная — чужая.

  • Имена владельцев, чтобы было видно, кто что захватил.

    В планах: Покупка участков за кристаллы. Это было в текстовом боте. И ползая по карте, даже видны купленные тобой (белым) и оппонентами (красным) участки.

⚡️ Оптимизация и загрузка ассетов

Мы поняли, что каждая картинка может тормозить игру на слабом устройстве, и:

  • Добавили прелоадер, который подгружает PNG-шки перед игрой.

  • Сделали показ спиннера на любом действии (движение, загрузка).

  • Кэшируем тайлы и обновляем только при движении.

🤖 Как выглядит сейчас

Игрок:

  • Заходит в Telegram Mini App.

  • Авторизуется за доли секунды.

  • Видит изометрическую карту с ровером, кристаллами, участками, рекламными баннерами.

  • Может двигаться по клеткам, собирать кристаллы (в будущем - бурить и находить ресурсы, торговать ими, покупать землю).

А мы — всё это рисуем прямо в DOM.
Никаких Canvas, WebGL, или тяжелых движков. Только HTML, CSS и немного магии на JS.


💬 Если интересно — покажу, как это выглядит вживую.
Тестить можно тут. А если зайдёт — добавим NFT, фермы и квесты на выживание 😄

Показать полностью 3
[моё] Gamedev Разработка Программирование Telegram Javascript Python Unity Frontend Backend Web Web-программирование Ton HTML CSS Верстка Длиннопост
9
pikabu.education
pikabu.education
2 месяца назад
Серия Программирование

Что дальше после HTML/CSS?⁠⁠

Куда двигаться в веб-разработке и не только
Вчера мы публиковали подборку лучших курсов по HTML и CSS — возможно, вы уже выбираете подходящий вариант для старта. Но что делать после освоения базовой верстки? Куда двигаться, чтобы продолжать развиваться в IT?

Если вы уже уверенно верстаете страницы, но не знаете, какой навык осваивать следующим — этот материал для вас. Мы разберем основные направления развития после HTML/CSS и поможем выбрать подходящий путь.

1. Углубляемся в фронтенд: JavaScript и фреймворки
HTML и CSS — это база, но без JavaScript (JS) сайты остаются статичными. JS добавляет интерактивность: анимации, формы, динамическую загрузку данных.

Что учить?

  • Основы JavaScript: синтаксис, DOM-манипуляции, асинхронность (Promise, async/await).

  • Фреймворки и библиотеки: React.js (самый популярный, востребован в вакансиях), Vue.js (проще для новичков), Angular (используют в корпорациях).

  • Дополнительные инструменты: TypeScript (типизированный JS), Next.js/Gatsby (для SSR и статических сайтов).

Результат: сможете создавать сложные SPA (Single Page Applications) и претендовать на позицию Junior Frontend-разработчика.

Что дальше после HTML/CSS? Обучение, Frontend, Backend, HTML, CSS

2. Осваиваем бэкенд: серверная часть
Если вам интересно, как работают базы данных, авторизация и API, можно уйти в бэкенд.

Варианты технологий:

  • Node.js + Express (если хотите остаться в JS-экосистеме);

  • Python (Django/Flask) — проще синтаксис, много возможностей;

  • PHP (Laravel) — популярен в вебе;

  • C# (ASP.NET) / Java (Spring) — корпоративный сектор.

Результат: сможете писать серверную логику и стать Fullstack-разработчиком.

3. Идем в дизайн и UX/UI
Если вам нравится не только верстать, но и продумывать интерфейсы, можно развиваться в дизайн:

  • Figma/Adobe XD — создание макетов;

  • Основы UX — юзабилити, исследования;

  • Анимация интерфейсов (CSS/JS, GSAP, Framer Motion).

Результат: сможете работать UI/UX-дизайнером или фронтендером с уклоном в дизайн.

4. Другие направления: мобильная разработка, тестирование, DevOps

  • Мобильная разработка: React Native, Flutter, Swift/Kotlin.

  • Тестирование (QA): ручное и автоматическое (Selenium, Cypress).

  • DevOps: Docker, CI/CD, облачные технологии (AWS, Azure).

Как выбрать направление?
Вместо того чтобы пытаться освоить всt сразу, попробуйте определить, что вам интереснее всего:

  • Если вам нравится создавать визуальные элементы, работать с анимацией и интерфейсами, то выбирайте фронтенд.

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

  • Если мечтаете: разрабатывать мобильные приложения, работать с современными кроссплатформенными технологиями, то вас может заинтересовать мобильная разработка.

Главное — не останавливаться! После HTML/CSS открывается огромный мир IT, и вы можете найти именно то, что вам по душе.

А что бы выбрали вы? Делитесь в комментариях!

Показать полностью 1
Обучение Frontend Backend HTML CSS
108
1
DELETED
3 года назад

Переопределение шаблона twig в Drupal 8⁠⁠

Предположим, вам нужно создать параграф, который должен выглядеть вот так:

Переопределение шаблона twig в Drupal 8 Программирование, Разработка, IT, Программист, Drupal, Backend, Template, Web, Web-программирование, Софт, HTML, Html 5, Develop

В большинстве случаев набор полей будет таким:

Переопределение шаблона twig в Drupal 8 Программирование, Разработка, IT, Программист, Drupal, Backend, Template, Web, Web-программирование, Софт, HTML, Html 5, Develop

Нам нужно, чтобы картинка располагалась справа. Есть множество способов этого добиться, но сейчас мы рассмотрим twig.


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

paragraph--машинное_имя_параграфа--режим_отображения.html.twig

В моем случае, файл будет называться:

paragraph--title_and_text_and_image--block.html.twig

Теперь можно править разметку.

<div class="titleAndTextAndImage">
  <div class="titleAndTextAndImage__content">
    <div class="titleAndTextAndImage__title">
      {{ content.field_title[0] }}
    </div>
    <div class="titleAndTextAndImage__body">
      {{ content.field_body[0] }}
    </div>
  </div>
  <div class="titleAndTextAndImage__image">
    {{ content.field_image[0] }}
  </div>
</div>

Поле выводим так:

{{ content.машинное_имя_поля }}

А если нам нужно получить только сырое значение:

{{ content.машинное_имя_поля[0] }}

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


Это был простейший пример. Аналогичным образом можно переопределять:

Типы материала:

node--машинное_имя_типа_материала--режим_отображения.html.twig

Таксономию:

taxonomy-term--машинное_имя_словаря_таксономии--режим_отображения.html.twig

Блоки:

block--машинное_имя_блока--режим_отображения.html.twig

Типы медиа:

media--машинное_имя_медиа--режим_отображения.html.twig

Примеры названий файлов twig можно увидеть при включенном twig debug.

Показать полностью 1
[моё] Программирование Разработка IT Программист Drupal Backend Template Web Web-программирование Софт HTML Html 5 Develop
1
859
JavaSrcipt
JavaSrcipt
3 года назад
IT-юмор

У каждого свои страхи⁠⁠

У каждого свои страхи IT юмор, Картинка с текстом, Reddit, HTML, CSS, Backend
Показать полностью 1
IT юмор Картинка с текстом Reddit HTML CSS Backend
56
13
ZolVas
3 года назад
Web-технологии

Как поднять свой CORS-proxy сервер за 5 минут бесплатно⁠⁠

Просто. Нужно задеплоить на Heroku репозитарий GitHub.

1. Заходите / регистрируетесь на https://heroku.com

2. Входите в сервис, соглашаетесь с правилами и открываете ссылку:

https://heroku.com/deploy?template=https%3A%2F%2Fgithub.com%...

Появится что-то вроде такого (фото):

Как поднять свой CORS-proxy сервер за 5 минут бесплатно IT, Javascript, Программирование, Самоучитель, Пособие, Github, HTML, Web, Прокси, Длиннопост, Backend

3. Даёте название приложению и деплоите. Готово.


Пример для Пикабу:

https://pika-secret-ocean-49799.herokuapp.com/https://pastebin.com/raw/S3rjB3Sx



Чуть больше подробностей и техдеталей под катом.

I. Предисловие

Когда создаёшь небольшие приблуды, иногда сталкиваешься с проблемой ограничений на кросс-доменные запросы — различного рода Same-origin policy, Cross-origin domain sharing (или CORS).

Простыми словами: грузишь с другого сайта данные, а в браузер они не попадают из-за настроек чужого сервера:

Как поднять свой CORS-proxy сервер за 5 минут бесплатно IT, Javascript, Программирование, Самоучитель, Пособие, Github, HTML, Web, Прокси, Длиннопост, Backend

Обход CORS может быть полезен для доступа к данным других сайтов из браузера по типу того, как это делают через интерфейс прикладного программирования (API).

Как пример — вывод данных с pastebin.com без CORS (что доступно штатными средствами лишь с платной подпиской, а мы реализуем бесплатно)!


Мимоходом, чтобы немножко заинтересовать, добавим в pastebin код и попробуем его запустить, обойдя CORS!

Понять, как запускать JavaScript код, если вы раньше никогда не программировали, можно по прошлой статье:

Пособие по запуску JavaScript: консоль, букмарклеты и прочее с примерами

II. Proxy-сервер, обходящий CORS
Раньше были удобные растиражированные бесплатные сервисы https://cors.io/ или https://cors-anywhere.herokuapp.com/corsdemo/

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

II.1. ПОДБОРКА ПОКА РАБОТАЮЩИХ ОНЛАЙН-СЕРВИСОВ:
Но есть менее популярные сервисы, которые пока работают:


https://scrappy-php.herokuapp.com/?url=

https://api.allorigins.win/raw?url=

https://cors-get-proxy.sirjosh.workers.dev/?url=

https://secret-ocean-49799.herokuapp.com/

https://cors.eu.org/

https://cors-proxy﮳tk/?url=

https://pika-secret-ocean-49799.herokuapp.com/


В конце приведённой ссылки подставьте свой URL, который нужно CORS-обойти.

Например,

https://pika-secret-ocean-49799.herokuapp.com/https://pastebin.com/raw/5Sm88arP


Но высока вероятность, что перечисленные сервисы станут популярными.

И вскорости прикажут долго жить.


III. Что делать, когда пропадут перечисленные сервисы?
III.1. ВАРИАНТ-1: ИСКАТЬ ЕЩЁ АНАЛОГИ

Ссылка-1: https://github.com/topics/cors-proxy

Ссылка-2: https://github.com/search?q=CORS%20proxy&type=Repositories


Листайте, открывайте каждый, ищите... Вам может повезти. И в readme внизу или в описании справа найдёте работающую демо-версию сервиса!

Предыдущий список мне удалось собрать именно так, листая GitHub!

III.2. ВАРИАНТ-2: САМОСТОЯТЕЛЬНО СОЗДАТЬ СЕРВИС

1. Бесплатно заведите аккаунт на

heroku.com


2. Подтвердите свою учётную запись по email, который придёт на почту.


3. Авторизуйтесь на heroku.com и согласитесь с правилами.


4. Откройте ссылку ниже:

https://heroku.com/deploy?template=https://github.com/messier31/cors-proxy-server.git


5. Введите название приложения и нажмите Deploy app.

Созданный специально для статьи https://pika-secret-ocean-49799.herokuapp.com тоже может исчезнуть. Запасайтесь своими!


ИТОГО, ПЕРЕАДРЕСАЦИЯ РАБОТАЕТ:

https://jsfiddle.net/apwv8hs7/


Текст и фото мои, можете свободно использовать — CC0.

Показать полностью 2
[моё] IT Javascript Программирование Самоучитель Пособие Github HTML Web Прокси Длиннопост Backend
14
Jz.man
Jz.man
3 года назад

Ответ на пост «Редизайн комментариев»⁠⁠1

Последствия обновления штата программистов "Пикабу"

Ответ на пост «Редизайн комментариев» HTML, Backend, Frontend, Редизайн сайта, Ответ на пост

Кто минус спёр???

HTML Backend Frontend Редизайн сайта Ответ на пост
8
2775
Minulin
Minulin
3 года назад
IT-юмор

Боль бэка))⁠⁠

IT юмор Backend Frontend HTML CSS Видео
222
8
DELETED
4 года назад

Один без другого всё равно никуда <3⁠⁠

Один без другого всё равно никуда &lt;3
Frontend Backend Веб-разработка HTML CSS Javascript Typescript Angular React Vue
3
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии