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

Разбери Кубик

Головоломки, 3D, Обучающая

Играть

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

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

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

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

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

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

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
3
Вопрос из ленты «Эксперты»
Аноним
Аноним

200 000 € на сайт — а контактная форма всё ещё не работает!⁠⁠

3 месяца назад

Привет, друзья! Знаю, здесь много профессионалов. Может у кого-то есть идея как деэскалировать следующую ситуацию.

Почти год назад у солидного веб-агентства был заказан новый онлайн-магазин (Shopware 6, бюджет почти 200 тыс. евро, события происходят в Германии). Уже два месяца как проект завершён, магазин работает. Насколько вообще реалистично ожидать, что сайт работает без ошибок?

Сейчас началась контрактная фаза «поддержки» (3500 евро в месяц). Идея была в том, что магазин будет развиваться дальше. Но на деле регулярно всплывают грубые ошибки: например, «контактная форма не работает» или внезапно какие-то страницы не открываются (404). То есть разработчик вроде бы исправляет ошибки, но у меня складывается субъективное ощущение, что он их (пусть и не сознательно) сам создаёт из-за кривого кода.

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

Конкретно сейчас закончился бюджет на сентябрь (агентство берёт 140 евро в час), и они запросили его увеличение для продолжения работы. А меня бомбит от мысли, что они просто «воду в ступе толкут».

Собственно, я сейчас написал руководству фирмы письмо с выражением недовольства и со списком тикетов по которым хотел бы, чтобы часы вернули. Пока еще не отправил.

Может, у кого-то был опыт похожих ситуаций? (Интересно услышать и со стороны разработчиков.) Удалось ли вам в итоге решить конфликт?

Показать полностью
[моё] Опыт Вопрос Проект Проектирование Веб-разработка Спроси Пикабу Развитие Германия Бизнес Текст
7
Stenzor
Stenzor

Продолжение поста «Механика камбека: как работает предсказание в Dota 2»⁠⁠1

3 месяца назад

На следующий день я встретился с руководителем команды. Волновался максимально. Ехал не затем, чтобы просто найти работу. Лишь ради того, чтобы проверить свои идеи в деле. В живой атмосфере. Он спросил меня: «В каком формате ты бы хотел сотрудничать?». Я ответил, что пришел за победами, поэтому готов начать работу сию секунду и без начальной ЗП, можно только обговорить процент с призовых на турнирах. Меня не сильно интересовали деньги в тот момент, хотя я и понимал, что при таком раскладе мне придется не просто жить в Севастополе, а выживать. Но, когда речь идет о масштабной идее, которую нужно воплотить в реальность – о другом и думать не стоить.

Он кивнул. Сказал, что завтра устроит онлайн встречу. Меня пригласит как гостя на просмотр матча в Discord.

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

Команда казалась сильной. Слаженной. С хорошим контролем карты. Но… один из ключевых героев терял пик своей силы после 30 минуты. Рошана забрать забыли, и это дорогого стоило. В драфте были герои, которые толком не имели контрпик-потенциала против соперника. Что и следовало — всё развернулось не так, как ожидалось.

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


Наступил следующий день. Я вошел в зал команды. Комнату окутывал полумрак, в котором светились неоновые вывески и витрины с арт-объектами из игр: древние мечи, доспехи, миниатюрные трофеи.

Организатор жестом указал на другую часть помещения. Ребята собрались за столом. Я подошел, сел в мягкое кресло. Мы кратко поболтали. Договорились: один матч, где я полностью беру на себя драфт.

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

Игра началась. И пошла так, как и должна была. Соперник давил, мы несли потери. К 20 минуте игры база уже была под угрозой из-за сломанных башен. Первая половина выглядела больше как бойня. Не битва, а испытание на выживание. Цель была одна: дожить до 30 минуты. Организатор, помедлив, встал и вышел. Игроки крайне сосредоточенно били пальцами по клавиатуре – будто пытаясь исправить неизбежное. Сомнения висели в воздухе, как дым после взрыва – густой, тяжелый.

А за стенами — Севастополь. Тихий. Спокойный. Как будто внутри не разворачивался матч, а где-то далеко был просто вечер.

Но в нужный момент – ровно на 30 минуте – игрок вражеской команды отключается. Пауза. Мы ждем. В тишине слышен только гул системников и шорохи мыши.

Пауза отжимается. Соперник пытается зайти сломать бараки. Файт. Четыре смерти соперников. Полный переворот. Пишут «GG».

Экраны засияли падением трона наших оппонентов. Парни улыбаются. На душе чувствуется облегчение.

Я не стал отмечать неким важным событием, что перевернули игру мы ровно на 30 минуте. Было не нужно. Игра говорила сама за себя.

Мы немного посидели, поболтали о планируемом турнире в ближайшее время.

Через час вышел на улицу. Город был спокоен. Ветер гулял по улицам. Ребята разошлись кто куда. Домой, по делам. Мне же, идти особо было некуда. Впереди еще было много работы. Поищу базу, а там поглядим. Открыл телефон, зашел в заметки Telegram где горела старая фраза: «Это работает. Осталось построить так, чтобы работало всегда».

А дальше — уже совсем другая история


Продолжение поста «Механика камбека: как работает предсказание в Dota 2»
Показать полностью 1
IT Нейронные сети Игры Технологии Telegram (ссылка) Dota 2 Dota Программа Python Приложение Аналитика Openai Telegram iOS Android Linux Windows Киберспорт Apple Веб-разработка Длиннопост Ответ на пост
8
1
Stenzor
Stenzor

Механика камбека: как работает предсказание в Dota 2⁠⁠1

3 месяца назад

Мы не выбираем, когда приходит момент, чтобы всё доказать.

Только решаем. Пойдем ли мы ради этого хоть на край света.

Эта статья направлена на освещение механик приложения, которое я создал со своим товарищем. Суть приложения — предсказывание камбеков в Dota 2.

Тот, о ком пойдет речь, не был королем. Не носил плащ тренера с золотыми пуговицами. Не стоял на трибунах The International под ослепительными огнями. Он был Хоббитом среди великанов. Но в нём была искра. Идея, от которой уже не отказаться.


Путь, с которого всё начало меняться

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

Не просто анализировать матчи в лайве. Отказаться от тренерства в дистанционном формате. Мне захотелось серьёзной, «мужицкой» команды — хотел видеть живые, настоящие эмоции и vibe киберспорта, как это было на LAN-сценах.

Написал товарищу, который тогда был тренером по CS в Севастополе. Мы давно были знакомы, еще со времен, когда учились вместе в IT сфере. Без подробных вопросов он ответил «Приезжай завтра».

«Завтра?» подумал я. Уже было поздно, а путь был не близкий. Нужно было добраться с одного конца Крыма в другой — в Севастополь. Но когда меня это останавливало? :)

Собрал рюкзак. Ноутбук. Пара футболок. И отправился на автостанцию.


Шел дождь. Солнце уже зашло за горизонт. Зонтик я, как всегда, решил не брать. Добираюсь до автостанции на такси. Автобус ушел. «Вот, незадача. Ну что-ж, погнали ловить попутки».

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

Поблагодарил, кинул сотку на переднее сидение, стал ждать дальше. Зашел в магазин, купил газированной воды и булку. Дождь потихоньку стих. Одна машина, другая.. никто не останавливается. «А ведь и впрямь — подумал я, — часто ли я сам, когда был за рулем, подвозил незнакомцев? Нет, что уж там... просто проезжал мимо. А теперь и сам стою на обочине. Не скажу, что я мало дел добрых совершил за свою жизнь, но в карму толком не верю. Частенько считаю себя скептиком. Может, им и являюсь».

«ГАВ!» раздалось позади меня. Я обернулся. Передо мной стоял пес и вилял хвостом. Не долго думая бросил ему пол булки. Ему она явно нужнее чем мне. Повернувшись обратно, вдохнул свежего воздуха полной грудью и продолжил ловить попутки.

Некоторое время спустя остановилась машина. Спросил, куда едут, узнал, что нам по пути. Сел. Это были пара парней на отечественном автопроме. Ехали быстро, музыка играла громко. Беседа ни к чему не обязывает. Но один из парней вдруг заговорил. Начал спрашивать о моей точке назначения, и почему я решил отправиться в такой час на другой конец Крыма. Я без капли сомнения все рассказал: и про идею стать серьезным аналитиком, и о том, что давно занимаюсь разбором «внутренностей» компьютерной игры Dota 2.

Они же в ответ - сами стали рассказывать о том, что играют в доту и CS. Один даже вспомнил времена первой доты. Было ли мне интересно? Да, всегда приятно поболтать о чем-то что нравится не только тебе. Полезно? Возможно. Степень полезности порой трудно просчитать в уме. И все же — я слышал людей, которым игра дорога. А это всегда важно.


Когда путь становился испытанием

Доехали до окраины Симферополя. Попрощался с парнями. Было приятно, что поездка оказалась не скучной. Но тут встала очередная проблема. Последний автобус на Севастополь должен быть через 20-30 минут. А я черт знает где.

Быстрым шагом — через какие-то заборы, рельсовые пути, где только карта показывала дорогу. Рюкзак с ноутом прыгал на спине, как будто тоже волновался.

Сел на остановке у вокзала. Стал ждать. 15 минут.

Понимаю, автобуса нет. И осознаю...

Я не там.

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

Доехал до Западного автовокзала, который осуществляет транспортные перевозки в сторону Севастополя. Автобусы я там, конечно, уже и не ждал в такой час, но попутку с иного места и не поймать. Встал на остановку. Было тихо. Даже слишком. Ни перекатиполей, ни знакомых-незнакомых лиц.


Мужчина в старой куртке остановился. Спросил, куда мне нужно. И предложил подвезти. Не до моего пункта назначения — а до Бахчисарая. В целом, для меня и это было счастливым стечением обстоятельств.

Ехали. Болтали. Я стал рассказывать куда и зачем еду. Про доту, про драфты, про то, как сложно объяснить игрокам, что один герой может выглядеть сильным, но потерять свой боевой потенциал после условной 20 минуты. О том, как все решения принимаются на глаз, без системы.

Он слушал внимательно. Сказал, что давно не играл, но понимал. Ведь сам проходил через подобное. Даже привел пару параллелей с жизнью на флоте. Казалось бы.. чего тут общего? Дота и флот :)

Слова летели, как искры огней, домов, горящих за окном. И мы даже не заметили, как проехали Бахчисарай и попали в Севастополь. Я не стал расспрашивать как так получилось. Думаю, что он сам решил добросить меня. Порой мы совершаем такие поступки просто потому, что хотим, чтобы так было. И ничего не просим взамен.

И вот я — в Севастополе.

Продолжение оставлю в комментариях.


Что же внутри DotaDiviner? Приложения, в котором, как обещают разработчики ( то есть я ), есть алгоритм предрекающий перевороты игры?

1. Эффективность драфта

Что это:

Каждый герой получает оценку силы в зависимости от того, насколько он полезен на разных стадиях игры — ерлигейме, мидгейме, лейте.

  • У некоторых героев сильное ерли (например, Puck, Batrider, Viper), но они теряют ценность со временем

  • Другие набирают силу только к лейту (например, Dragon Knight, Morphling, Phantom Assassin)

  • Некоторые работают равномерно на протяжении всей игры (например, Abaddon, Rubick)

Зачем это нужно:

Чтобы понять:

  • Кто выигрывает ерли, а кто лейт

  • Где может быть перевес даже если темп героев средний

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

2. Синергия между героями

Что это:

Оценка, насколько герои работают вместе как команда , а не как набор случайных персонажей.

Примеры:

  • Хорошая синергия:
    Pangolier + Tusk + Bane + Shadow Fiend + Kunkka = давление в ерли, контроль карты, быстрые ганги

  • Плохая синергия:
    Chen + Templar Assassin + Magnus + Pangolier + Vengeful Spirit = хаос, мало контроля карты, слабый тимфайт

Зачем это нужно:

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

  • Чтобы видеть слабые места в составе, которые можно использовать самому или избегать при выборе героев

3. Контрпик

Что это:

Оценка, кто доминирует в противостоянии , основываясь на том, какие герои могут подавить ключевых игроков соперника.

Как бот считает:

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

  • Если соперник выбрал героя, который ломает твою систему игры — ты в зоне риска

Примеры:

  • Wraith King vs Brewmaster: плохой матчап — Wraith King не успевает за героями, которых не может быстро убить. Урон сосредоточен по одиночным целям. Ограниченная мобильность, а также полагается только на свою выживаемость в то время, как Brewmaster напротив закрывает преимуществом в мобильности

  • Slardar vs Naga Siren : контрпик, потому что Slardar не имеет хороших инструментов для борьбы с большим иллюзий. Уязвимость к оцепенению и ультимейту, так как Slardar будучи героем ближнего боя неизбежно попадет под ее воздействие. Кроме того, высокая сложность убийства с учетом любви Naga Siren к покупке таких айтемов как Butterfly

Зачем это нужно:

  • Понять, кто действительно доминирует по драфту

  • Увидеть, кто потеряет силу из-за выбора соперника

  • Это особенно ценно при просмотре профессиональных игр — часто там решающий контрпик определяет исход

4. Мобильность и выживаемость

Что это:

Два показателя, которые говорят о том, как герои перемещаются по карте и насколько они живучи в файтах.

Мобильность:

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

  • Высокая мобильность = возможность перехватывать инициативу в нужный момент

Выживаемость:

  • Определяет, кто дольше остаётся в живых в teamfight’ах

  • Высокая выживаемость = больше шансов сохранить преимущество после давления

Как это влияет на игру:

  • Команды с высокой мобильностью чаще захватывают контроль карты

  • Команды с высокой выживаемостью лучше тянут лейт и меньше боятся байбеков


И БЛАБЛАБЛАБЛ. Давай уже к сути, написал тут кучу текста, который прочтут лишь процентов двадцать. Хочу увидеть реальные камбеки!!! А не все вот эти вот показатели.

Показатели важны. Как в строительстве, где есть несущая стена — основа конструкции. У неё есть и помощники: колонны, пилоны, торцевые стены и т.д. Без них конструкция стояла бы голой и беспомощной. Верно?

5. График темпа игры

Что это:

Визуализация поминутного сравнения силы команд.

Не прогноз победителя, а график силы нарастающий/падающий в течение игры.

Как читать график:

  • Линия выше линии соперника → эта команда имеет преимущество на указанной минуте

  • Линия ниже линии соперника → соперник доминирует в этот момент игры

  • Чем дальше линия от средней точки 0.5 → тем больше перевес между командами

  • Стабильный рост / падение к концу игры → показывает, у кого есть сильный лейт или кто теряет контроль

Почему это важно:

  • Можно предсказать камбеки

  • Увидеть, когда начнётся лейт

  • Понять, когда стоит инциировать активные события

  • И главное — не гадать на глаз , а иметь объективную картину

❗ПЕРЕЙДЕМ К ПРИМЕРУ❗

На иллюстрации графика «Преимущество команд в минуту игры» видно, что Radiant набирают силу к 25 минуте, и это совпадает с началом их камбека в реальном матче — что и означает - модель работает.

<a href="https://pikabu.ru/story/mekhanika_kambeka_kak_rabotaet_predskazanie_v_dota_2_13154366?u=https%3A%2F%2Fdltv.org%2Fmatches%2F421842%2Faurora-vs-xtreme-gaming-the-international-2025&t=The%20International%202025&h=1621a4c6060d7d0bcbc1d61dfe1e82065b1ff98e" title="https://dltv.org/matches/421842/aurora-vs-xtreme-gaming-the-international-2025" target="_blank" rel="nofollow noopener">The International 2025</a>

The International 2025

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

Я постарался, потратил какое-то количество времени и сделал. Мне, честно, даже понравилось. Буду это делать и дальше.

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

🔗Попробовать и поглядеть больше скриншотов можно тут — добро пожаловать:

👉 Галерея точных прогнозов

👉 Telegram бот — DotaDiviner

👉 Скачать приложение — DotaDiviner

  • В App Store (iOS и Mac)

  • В Google Play (Android)

  • В Microsoft Store (Windows)

  • В мини-аппе Telegram бота

  • На Linux

В TG достаточно ввести команду /live. В приложении — воспользоваться функцией "Автоанализ" или ввести героев вручную — полный анализ драфта не заставит себя долго ждать.

ೃ⁀➷ В заключение

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

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

Но это только начало.

Сейчас мы работаем над нейросетями NS1 и NS2 — двумя аналитиками в одном:

  • NS1 анализирует драфт до матча, как тренер перед битвой

  • NS2 смотрит в лайв, как шахматный гроссмейстер — предсказывает следующий ход, давление, момент камбека

Вместе они превратят Diviner из инструмента анализа в шахматный движок, который видит игру наперёд.
Не просто "график по прошлым данным", а прогноз, построенный на ритме.

Цель: не 60%, не 70%, а выше 80% точности, чтобы Diviner стал не просто помощником, а самым настоящим стандартом аналитики в Dota 2.

Carpe diem ˗ˏˋ ´ˎ˗ и да поможет нам Бог. Ave Maria☩

Показать полностью 1
[моё] IT Нейронные сети Игры Технологии Telegram (ссылка) Dota 2 Dota Программа Python Приложение Аналитика Openai Telegram iOS Android Linux Windows Киберспорт Apple Веб-разработка Длиннопост
5
7
Pamelo.Iriska
Pamelo.Iriska
Серия Багровые цвета

Я разрабатываю визуальную новеллу. Мне нужна помощь⁠⁠

3 месяца назад
Зарисовка к игре

Зарисовка к игре

Всем доброго времени суток, дорогие пикабушники!

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

Я была бы рада познакомиться с сценаристами, СММ-щиками, художниками, программистами и просто такими же любителями визуальных новелл, как я, чтобы не только поделиться личным опытом, но и объединиться для создания нечто общего.

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

Буду рада вашему отклику

До новых постов!

Показать полностью 1
Картинка с текстом Новелла Визуальная новелла Игры Компьютерные игры Программирование Геймеры Графические новеллы Разработка Веб-разработка Видеоигра Арт Рисунок Цифровой рисунок
20
0
rdngroup
rdngroup

7 стадий демонстрации экрана⁠⁠

3 месяца назад
Перейти к видео
[моё] IT Разработка Веб-разработка Битрикс Bitrix24 Удаленная работа Видео Вертикальное видео Короткие видео
4
dxxp
dxxp

Что вы думаете про домены .CC, .LA, .LY, .EE, .BB и т.п.? Стоит ли покупать?⁠⁠

3 месяца назад

В общем, есть сайт с большим каталогом товаров. Часто к нам обращаются люди например в WhatsApp, в ТГ или на ABuTO и задают вопросы про конкретные товары и иногда хочется кидать очень короткие ссылки, которые бы вели сразу на товар с конкретным артикулом, например ссылка Я.сс/1234 вела бы на основной сайт на страницу товара с артикулом 1234: ОсновнойДоменСайта.ру/1234

Также эти короткие ссылки бы использовались на этикетках товаров, тем самым текст бы меньше места занимал на этикетках или например пихали бы ссылки в QR-коды, они бы тоже по размеру были меньше.

Но тут есть такой нюанс, почему я и задаю такой вопрос. Естественно такие однобуквенные латинские домены все заняты или стоят очень дорого, но есть свободные и недорогие с одной буквой, но буква на кириллице, например Я.СС или Ж.МЕ или Й.SS или Ц.ЕЕ или ещё Ё.СОМ

Так вот стоит ли такой домен покупать и использовать? Что думаете?

Что вы думаете про домены .CC, .LA, .LY, .EE, .BB и т.п.? Стоит ли покупать?
Показать полностью 1
Домен Сайт Web Веб-разработка Программирование Программист Бренды Маркетинг Пользователи Общество Люди SEO Организация Компания Интернет Интернет-магазин Продажа Покупка Текст
10
5
DroidWatch

Как я видеонаблюдение изобретал)⁠⁠

3 месяца назад

Пикабу, привет!

Есть вопрос.

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

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

Когда прототип заработал появилась мысль, может ещё кто-то хотел бы пользоваться таким сервисом?

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

Вот ссылка: https://droidwatch.online/

Сейчас доступно стримить видео со смартфона (проверял на андроидах от 7 до 10 версии) и смотреть его в своём ЛК. Записи пока нет, но скоро добавлю.

Напишите если идея вам нравится, ну либо в панамку напихайте - развивающая обратная связь очень полезная))

Показать полностью 1
[моё] Камера Видеонаблюдение Веб-камеры Веб-разработка Текст Видео RUTUBE Короткие видео
8
user11087213
user11087213
Молодые предприниматели

От создания звука до serverless-функций: Как саунд-дизайнер 7 месяцев создавал веб-приложение с помощью ИИ и без знаний в коде⁠⁠

3 месяца назад

Привет! Меня зовут Илья Шмяк, и я саунд-дизайнер.
Я работаю с самыми разными клиентами, среди которых:
Разработчики игр, кинорежиссеры и аниматоры, дизайнеры одежды, бренды и агентства.
Моя профессия - это создание звука.

Я не понимаю в коде от слова «совсем». Но у меня была цель - создать собственный сайт-библиотеку с моими звуками и музыкой.

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

1. Локальная разработка: Иллюзия простоты и первые ошибки фронтенда

Мой путь начался с исследования. Я скармливал нейросетям код референс сайты, чтобы понять их устройство, как и на чем они сделаны. Так я узнал о Jekyll — генераторе статических сайтов. ИИ описал его как «быстрый, безопасный и простой - идеально для меня!».

Поначалу я даже не подозревал о существовании «бэкенда». Я думал, сайт — это просто набор страниц. Я рисовал в блокноте схемы, придумывал структуру, а потом просил ИИ воплотить это в коде. Этот этап был долгой, мучительной, но в целом понятной борьбой с фронтентом, т.к. был небольшой опыт в создании сайтов по шаблонам на Wordpress:

  • UI/UX итерации: Я часами двигал кнопки, менял шрифты и переделывал дизайн модальных окон. Часто ИИ понимал мои запросы слишком буквально, генерируя нерабочий или кривой интерфейс.

  • Месяцы допросов ИИ и слепых экспериментов: Как сделать так, чтобы при нажатии на одну кнопку «Play», другая останавливалась? Как заставить модальное окно корректно появляться и исчезать? Каждый такой вопрос превращался в многодневный квест.

  • Сложность vs. Реализуемость: Я постоянно отказывался от сложных идей (вроде динамической визуализации волны), потому что ИИ не мог дать простого решения, а потом снова возвращался к ним, пытаясь разбить задачу на микроскопические шаги.

В конце концов, у меня на компьютере был красивый, интерактивный, но абсолютно «мертвый» сайт-витрина. Я был невероятно горд успехом.

Глава 2. Перенос в онлайн: Первый удар о реальность

Я искал бесплатные решения для хостинга, остановился на GitHub, залил файлы и... вот он, мой сайт в интернете! Но тут же возникли вопросы, о которых я раньше не думал:
А как сделать корзину? Как пользователь будет скачивать файлы? А где хранить данные о регистрации пользователей? Как подтвердить регистрацию по email? А как пополнять баланс? Как реализовать и при помощи чего, и прочее...

Стало ясно, что просто красивых страничек недостаточно. Нужна была какая-то серверная логика - бэкенд.

Глава 3. Поиски бэкенда и нокаут от законодательства

Мои поиски напоминали блуждание в тумане. ChatGPT предлагал десятки вариантов. Я пробовал собрать «монстра» из Auth0 для авторизации и Supabase для базы данных, пытался использовать Node.js на хостинге Beget — всё было слишком сложно и работало на костылях.

В итоге я решил использовать Yandex Cloud и Auth0 в качестве сервиса аутентификации. И вот, когда я почти решил все проблемы, я совершил роковую ошибку. Изучая консоль Яндекса, я случайно подключил платную услугу. Утром меня ждал заблокированный аккаунт и долг в 5000 рублей. Техподдержка была непреклонна.

Платить за случайный клик я не собирался. Я закрыл тот аккаунт, с разрешения техподдержки, зарегистрировал новый акк. и начал переносить весь фронтенд. Бэкенд предстояло делать снова, с полного нуля. И в этот момент я узнал про Федеральный закон № 152-ФЗ. Оказалось, данные нужно хранить в России. Мой Auth0, расположенный за границей, больше не подходил.

Вся моя архитектура снова рассыпалась. Пришлось делать все заново.

Глава 4. Финальная сборка: Свой бэкенд на Yandex Cloud

Я полностью отказался от сторонних сервисов аутентификации. Теперь вся логика работала на связке Yandex Cloud (база данных, функции, хранилище) и сервиса Unisender для отправки писем. На этом этапе я столкнулся с последней волной проблем, где мне пришлось стать настоящим отладчиком.

Моей первой настоящей бэкенд-задачей было подключить облачную функцию к Yandex Database Я попросил ИИ написать код, развернул его и тут же получил жесткий отказ: Unauthenticated.

Логи кричали, что у меня нет прав. Я полез в документацию и настройки IAM. Оказалось, что сервисному аккаунту нужно было вручную выдать роль ydb.editor. Я нашел нужную галочку, поставил и был уверен, что всё заработает.
Но ничего не заработало. Та же ошибка.
Проблема была не столько в правах, сколько в самом коде, который сгенерировала нейросеть. Она написала его так, будто он запускается с личного компьютера, и пыталась найти секретные ключи. Но в облачной среде всё работает иначе - функция должна была использовать специальный временный токен, который ей предоставляет само Облако. Мне пришлось перелопатить кучу документации и заставить ИИ переписать код с использованием правильного метода аутентификации. На это потребовалось несколько недель..

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

Когда я все настроил, сайт просто отказывался общаться с моим сервером. В консоли браузера горела красная ошибка: blocked by CORS policy.

  • Расследование: ИИ объяснил мне, что это политика безопасности браузера. Она запрещает сайту на одном домене общаться с сервером на другом домене, если сервер явно этого не разрешит.

  • Решение: Мне пришлось создать отдельную «пустую» облачную функцию cors-handler, которая не делала ничего, кроме как отвечала на запросы браузера специальными заголовками: «Да, я знаю этого парня, ему можно». Это была кропотливая работа по настройке для каждого типа запроса в API-шлюзе.

Отправка простого письма для подтверждения регистрации превратилась в квест. Письма уходили в спам или вообще не доставлялись. Я потратил неделю, копаясь в DNS-записях (MX, DKIM, SPF), чтобы доказать почтовым гигантам, что я не спамер, и заставить сервис рассылок работать корректно.

Глава 5. Архитектура, рожденная в муках: Как это работает сейчас

В итоге у меня получилась полноценная архитектура, полностью построенная на сервисах Yandex Cloud. Звучит страшно, но на деле это достаточно понятный набор связанных между собой «кубиков».

  • Фронтенд: Сам сайт лежит в Object Storage в виде статических HTML-файлов. Это делает его загрузку молниеносной.

  • Доставка контента: Cloud CDN забирает файлы с сайта и раздает их пользователям по всему миру, обеспечивая высокую скорость.

  • Мозг (Cloud Functions): Вся логика — регистрация, вход, покупка, скачивание — реализована в 10 отдельных Cloud Functions. Это небольшие скрипты, которые запускаются только тогда, когда к ним обращаются.

  • Память (YDB): Все данные — пользователи, их балансы, купленные звуки, транзакции — хранятся в serverless-базе данных Managed Service for YDB.

  • API Gateway: Чтобы сайт мог безопасно общаться с функциями, используется API-шлюз. Он принимает запросы от пользователей и направляет их к нужной функции.

  • Хранилище файлов: Все мои звуковые файлы лежат в отдельном, приватном бакете, доступ к которому можно получить только через специальную функцию.

  • Безопасность и управление: IAM управляет правами доступа между сервисами, Lockbox хранит секретные ключи, Certificate Manager выдал бесплатный SSL-сертификат, а Cloud DNS управляет моим доменом.

Глава 6. Ошибки, которые я допустил и цена

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

  1. Слепое доверие ИИ: Я начинал с того, что просто копировал код, не вникая в суть и не обращаясь с вопросами к технической поддержке сервисов. Это главная ошибка.

  2. Игнорирование бэкенда и юридических аспектов: Я слишком долго фокусировался на обертке, не изучив, как работает начинка и какие законы ее регулируют.

  3. Недооценка отладки: Я думал, что основное время уходит на написание кода. Оказалось, 90% времени — это поиск причин, почему код не работает.

И, конечно, у всего этого есть цена, вполне реальная. На данном этапе:

  • Yandex Cloud: ~164 ₽/мес. (за хранение, трафик и выполнение функций) цена будет расти от нагрузки на сайт.

  • Почта домена (Beget): 600 ₽/мес. (необходима для работы DKIM и отправки писем)

  • Домен: 3600 ₽/год

  • Транзакционные письма (Unisender Go): 400 ₽/мес.

  • Маркетинговые рассылки (Unisender): Пока бесплатно, в будущем — 8064 ₽/год

Итого, ежемесячные расходы на поддержание проекта составляют около 1464 рублей.

Заключение: От кода к сообществу. Что дальше?

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

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

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

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