Сообщество - ИТ-проекты пикабушников

ИТ-проекты пикабушников

745 постов 3 461 подписчик

Популярные теги в сообществе:

6

Cервис общения: история переписки

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

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

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

Но не получалось рисовать градиент на подложках 😂 В общем так-сяк-наперекосяк, никак он не рендерился или рендерился в локалспейсе подложки и занятие из "попробую сделать за 5 минут" превратилось в личного врага ("или ты меня или я тебя") 😂.

В итоге создал отдельный проект только с подложкой для экспериментов и вот как справился:

Вру, не справился.
Видите сверху полоска проглядывает? И снизу при промотке вверх полоска проглядывает. Это мои косяки иногда выглядывают из-под белой заливки фона 😂

Через пару часов развлечений пришел к долгожданному результату:

Отрисовка фона чата оказалась еще той задачкой со звездочкой 😂 Но хоть косяки перестали выглядывать. Рендерится это все дело оптимально настолько, насколько позволяет Flutter.
Пришлось уработаться 😂 для достижения подобного результата.

Стало ну очень интересно что же реализовали в Максе. А в нем реализовали так:
1) запретили эффект физического натяжения истории переписки (пробовал в списке чатов тянуть - не тянется)
2) на подложках однотонный цвет, градиентов нет

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

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

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

Показать полностью 2 2
2

Запилил Cloudflare-нативную альтернативу Keitaro. Осторожно, бета

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

Абстрактное видение движения трафика в вакууме

Абстрактное видение движения трафика в вакууме

Коротко, что это. 301 это рабочее пространство для управления доменами, редиректами и трафиком: портфель доменов в одной панели, edge-редиректы с фильтрами по гео и устройству, TDS для A/B и гео-сплитов, атрибуция конверсий через постбэки. Кто работал с Keitaro и подобными трекерами, это та же поляна.

Теперь в чём, собственно, ставка. Классический трекер ты ставишь на свой VPS и дальше живёшь с ним сам: сервер, обновления, нагрузка, упавшая железка в самый неподходящий момент. 301 целиком крутится на Cloudflare, причём на твоём собственном аккаунте. Свой сервер держать не нужно, домены и данные остаются у тебя, я в середине не сижу и твой трафик не вижу. Правило, которое ты запушил, живёт на edge через пару секунд, а не на одной коробке в одном дата-центре.

Что уже работает нормально: домены с массовыми действиями и проверкой через VirusTotal по твоему ключу, edge-редиректы, сплит-тесты на Workers без отдельного VPS. Этим можно пользоваться прямо сейчас.

Где честно сыро: атрибуция через постбэки. Механика есть, но именно её я гонял меньше всего, и под живым потоком от разных сеток она наверняка покажет углы. Поэтому в первую очередь зову тех, у кого есть реальные S2S-постбэки от партнёрок и кому не лень прогнать их через меня и сказать, где отвалилось. Вот тут ваша помощь ценнее всего.

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

Если откликается, потыкайте 301.ru и напишите мне лично в телегу, я на связи и собираю фидбэк руками: https://t.me/investbloger.
Особенно жду ругань по постбэкам. Остальное вроде стоит крепко, но вам со стороны виднее.

Сразу предвосхищу главный вопрос тех, кто льёт на ру: а будет ли это работать, Cloudflare же с прошлого года подрезан RKN. Будет, и вот почему. Редирект это не лендинг, а несколько сотен байт заголовков. После подрезки от канала остаются жалкие килобайты, но редиректу их хватает с запасом: он проскакивает в эти первые байты раньше, чем троттлинг успевает включиться. Тяжёлую страницу через душимый CF ты бы и правда не вытащил, а вот сам переброс трафика, ради которого TDS и существует, уходит быстрее, чем почти где-либо.

Показать полностью

Сделайте пожалуйста стирателя рекламы

Ребята, я технарь, но понимаю, что можно выключить эту долбанную рекламу где-то там в программах (настройках и тп.). Сделайте пожалуйста такую программу, весь мир вам будет платить за это деньги. В технике просто выключаешь датчик- и всё!!! У вас сложнее , но разберитесь с этим, ради бога(в бога не верю). Мне в 60 лет учить программирование уже как-то не с руки, а если выучу, то годам к 70-80 сделаю программу (если доживу). А вам весь мир будет рукоплескать (если доживёте).

Продолжение поста «Предлагаю проект: "Собери миллион ответов на вопросы школьников"»3

Как вы относитесь к тому, чтобы различные физ. и юр. лица создавали сайты, на каждом из которых не меньше 1000 HTML страниц (и они скачиваются в ZIP-файлах), на которых для школьников написано про людей, города и события, и они содержат разные секции, например: фильмы, игры, проекты, законы, профессии, языки и т. д.

13

Пишу сервис для общения: ускорил загрузку сообщений

Привет всем!
Ранее поделился видео, где была видна скорость загрузки истории переписки. Задержка загрузки составляла примерно пол секунды. Достаточно много 😒
Также проблемные моменты в видео были видны (передерги поля ввода при открытии чата). Можете посмотреть еще раз:

На выходных поработал над этим. Было немного интересно это исправить. У меня есть понимание как можно "ускорить" подгрузку данных, но как оно будет работать на самом деле - это нужно звать блогера-Конора или провести свой эксперимент.

В первую очередь добавил возможность отображения миниатюр медиа в истории переписки:

Пишу сервис для общения: ускорил загрузку сообщений

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

А вот и улучшенный интерфейс:

  1. Убрал артефакты в поле ввода: оно меняет размер, опускает текст вниз и расширяется при открытии чата

  2. Немного доработал анимацию кнопок в правом нижнем углу окна переписки

  3. Научил отображать историю переписки и подгружать черновики максимально быстро

Как работает быстрая подгрузка черновиков?

В первое время я полагал, что из SQLite данные будут прилетать моментально. По этой причине перенес логику получения готовых данных из базы данных. То есть SQLite возвращает все отсортировано и как надо, мне только нужно вывести на экран.
Как результат - заметные задержки. Как ни пытался ускорить, задержки есть. Похоже просто так брать и подгружать данные из БД - это неправильный путь.

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

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

Показать полностью 1 1
6

Делал браузерную игру c AI и чуть не сошел с ума

Привет, Пикабу.

Меня зовут Никита. Я один, без команды и без бюджета, делаю браузерную онлайн-RPG в тёмном фэнтези — Everhall.

Ссылку дам в конце, сначала — о чём вообще речь и зачем я сюда пришёл.

---

Кратко: это текстовая MMORPG прямо в браузере. Заходишь с или ПК, ничего качать не обязательно. Но есть лаунчер для игры с ПК .
Локации, бои, квесты, NPC, питомцы, рынок, кланы, чат — всё в одном мире с другими игроками.

Основное окно игры

Основное окно игры

Инвентарь

Инвентарь

Свой дом, да я запарился в игре можно получить свой дом, к сожалению за него тоже нужно платить)

Свой дом, да я запарился в игре можно получить свой дом, к сожалению за него тоже нужно платить)

Краткая карта для передвижения,

Краткая карта для передвижения,

Добавил рыбалочку

Добавил рыбалочку

Ну и окно боя.

Ну и окно боя.

Вообщем в игре еще куча всего проще зайти и посмотреть лично)

everhall.ru — если хотите сразу глянуть, но лучше дочитайте пару абзацев :)

---

Как всё началось

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

Со временем подключил AI как помощника в коде. Сразу честно: это не кнопка (сделай игру). Сгенерированное потом переписывается, ломается, ломается ещё раз и только потом начинает жить. Отдельные системы переделывал по 3–4 раза — на бумаге красиво, в игре — ноль.

Зато сейчас проект уже рабочий, идёт открытый бета-тест. Мне нужны не лайки, а люди, которые зайдут, поиграют и скажут, где больно.

---

Что внутри:

Персонаж — регистрация, класс, статы, прокачка. Хотел, чтобы рост ощущался постепенно, а не скачком за вечер.

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

-Питомцы — помогают в бою, есть гены, скрещивание (да, у лис тоже «яйца», не спрашивайте). Тут особенно нужен взгляд со стороны: не ломают ли они баланс и не становятся ли must-have.

-Квесты и NPC — диалоги, задания, цепочки. С момента первых постов их стало намного больше (главная линия, побочки), но тексты и логику всё ещё допиливаю.

-Мир - связанная сеть локаций, перемещение по карте, встречи с мобами.

-Лут и экип- предметы влияют на статы. Картинки на всё не натянул — ищу художника, если кто-то из вас рисует или знает кого.

Онлайн - игроки в одних локациях, чат, кланы, осады локаций (часть лута уходит в банк клана).

- Плюс рыбалка, крафт, дома, регионы — не всё успел красиво показать в одном посте.

---

**Инфраструктура для тех, кто любит копать**

-Wiki в игре — механики без простыней в постах

-Форум — обсуждения и идеи

-Баг-трекер — чтобы баги не терялись в личке

Админку для квестов/диалогов пилил сам — ~30 часов только на редактор связей, условий и наград. Скрин приложу.

---

Зачем мне вы

Сейчас нужен честный разбор, особенно от тех, кто наиграл в RPG или шарит за баланс.

Мне нормально, если напишете, что не зашло. На этом этапе

Показать полностью 7
10

Пишу сервис для общения: мои ошибки

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

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

Черновики - это неотправленные сообщения. Они не сохраняются на сервере (только локально), отображаются в списке чатов красным цветом с иконкой карандашика.

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

Мои ошибки

Ошибка №1: сюрпризы платформ.

Работа идет сразу в нескольких направлениях, забегая наперед скажу, что работал над системой подгрузки изображений и медиа. Для оптимизации сетевого трафика, все файлы дико сжимаются и за это отвыечают отдельные библиотеки.
Тут я немного сел в лужу из-за неосведомленности относительно требований, которые предьявляются к мобильным платформам. Когда разрабатывал головоломку Total Reload, то очень многие части системы выносил в отдельные библиотеки. В общем-то это обычная практика, когда разработчики не копилируют весь код в один большой кусок исполняемого файла, а бьют на разные заменяемые модули:

Total Reload

Total Reload

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

А вот для мобильных платформ, здравствуйте, дело обстоит иначе. Поправьте если не прав. На многих форумах пишут, что из-за проблем с безопасностью (даже для IOS, где разработчик предоставляет вообще все данные чтобы исключить угрозу вредоносного кода), использование динамических библиотек нежелательно или запрещено. Тем не менее собирать их можно, что я и делал пока не обнаружил информацию о том, что из-за этого приложение может не пройти проверку. Однозначного запрета я не нашел, но вот что говорит Google:

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

Ошибка №2: UTC0 и точность времени

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

Но это еще не все. В перове время не утвердил точность времени на сервер и клиенте. В итоге из-за этого начались проблемы связанные с получением последних обновлений с сервера. Этот момент был поправлен достаточно быстро.
Надо заметить, на клиенте время хранится в INTEGER а на сервере в Timestamp-формате базы данных. Нужно учесть этот важный момент, иначе сюрпризов не избежать.

Ошибка №3: context на сервере

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

А потом прилетает куча проблем с висячими процессами, невозможностью отменить задачу и непонимание почему вообще этот контекст пытаются прикрутить чуть ли не к 99% операций на сервере. Контекст - важная штука, если сюрпризы не нужны, то лучше вникнуть 😂 Иначе все будет очень плохо.

Пожалуй это самые серьезные мои промахи. Ну, кроме криво спроектированной серверной системы рассылки сообщений (уже переделал).

Сейчас дорабатываю окно чатов. Выводится последнее сообщение или черновик. Помимо сообщений отправлять можно будет еще и файлы. Нужно бы научить визуализировать отправленные файлы. Этим займусь в ближайшее время.

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

Показать полностью 3
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества