| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Флейм > Написал чат |
| Автор: iv888 13.3.2019, 22:53 |
| Написал веб-чат. Функционал: Многоканальный. Можно создавать новые каналы, зная пароль (а можно не создавать, их и так много). Подгружает только новые сообщения. При открытии грузит последние 15 сообщений. Проверка сообщений раз в 3 секунды, без перезагрузки страницы. Отправка сообщений по нажатию enter. Показывает в чате картинки, если дать прямую ссылку. Преобразует ссылки. Скролл сбрасывается вниз только если приходит новое сообщение. Уникальный способ оформления текста, пишем к примеру: b-> Какой-то текст и этот текст преобразуется в b-> Какой-то текст или i-> или еще чего. Тоже самое с цветом. color->blue-> Какой-то текст. Преобразуется в color->blue-> Какой-то текст. Есть система приватных сообщений, которые можно перехватить, зная ник Работает так пишем в чате: alert->nickname-> Какой-то текст И человек с ником nickname получает окошко с alert, а в чате у него ничего не выводится. Фактически сообщение для него приватное. Остальные в чате видят alert->nickname-> то самое сообщение... и тихо хихикают (это, конечно прикол, выпилю потом) Задействовал: PHP 7 OOP. (Сикьюэль-инжекшн фулл фикс) Mysqli (Prepared statemens). Постоянное соединение. MVC (почти, чуток по-своему именовал части структуры). Ajax (xmlhttp) Json. Подгрузка новых сообщений без переменных в cookies. Использовал window.var Единая точка входа. Вот и все пока. Тестовая версия: original.combat.org.ru/chat/ исход. коды: github.com/dcc0/Openhat_Multichannel_Final |
| Автор: ksnk 14.3.2019, 11:23 | ||
Не в localStore, а прямо в куки? Есть ограничение на размер кук - 4к, вроде... Добавлено через 9 минут и 33 секунды class_send.php
Есть такая штука - автоматическая загрузка классов. http://php.net/manual/ru/function.spl-autoload-register.php она позволяет отказаться от инклюдов. Есть разные мнения - это эффективнее или нет, но include добавляет дополнительную зависимость в класс, а это не очень хорошо. Для пущего эффекта - можно разобраться с компоузером, он, в частности, автоматически генерит и поддерживает класс автозагрузки, да и к современным средствам распространения кода лучше привыкать. |
| Автор: iv888 14.3.2019, 12:35 |
Благодарю. Про автолад не знал и не задумывался. Попытаю осилить. |
| Автор: iv888 14.3.2019, 12:58 | ||
Имелось в виду, что для проверки новых сообщений переменные cookies не используются. |
| Автор: _zorn_ 17.3.2019, 20:58 |
Есть, но никто их точно не знает ) В IE помнится было совсем маленькое ) ТС - ты не представляешь сколько чатов пишут ) https://github.com/zorn-v/v13chat Правда и это уже древность Но "начало положено" |
| Автор: iv888 17.3.2019, 23:07 |
| _zorn_, у меня мультиканальность есть. И нет jQuery |
| Автор: _zorn_ 28.3.2019, 19:39 |
Это типа модно сейчас ? ) Что ЛИЧНО ТЫ можешь сказать про отсутсвие жквери кроме хайпа ? Добавлено @ 19:42 Я и на vue могу и что ? Добавлено @ 19:45 PS: react - гамняшки Добавлено @ 19:51 Посыл не в том (хоть и зацепил). Просто этих чатов уже наделали до тебя (и даже не я) |
| Автор: iv888 4.4.2019, 15:34 | ||
Оценивая субъективно, - да. Скорее, интересно, а не модно, вернее, даже интереснЕЕ. Я так смотрю, если писать строго по модным паттернам, то точно получится то, что уже кто-то писал до тебя. А если с чистого листа, сильно не подглядывая (а я именно так писал), то оригинальная нотка будет. Хотя кто-нибудь обругает за отступление от стандартов. Так и вышло у меня. Сейчас вроде переделал, соблюдая PSR (жил-жил и не знал об этих стандартах). Ну и не совсем MVC у меня. скорее Model, View Linker. У меня многоканальность более очевидным образом реализована, чем у других (субъективно). |
| Автор: Zloxa 13.4.2019, 18:33 |
Это плохо. Программирование - не искусство, а инженерия. Это предмет искусства должен нести отпечаток творца, зритель должен побуждаться к сопереживанию, осмыслению - а что этим хотел сказать автор. Инженерный продукт должен быть рациональным, эффективно решать задачу, и опечаток творца совершенно здесь не уместен. Если ревьювер вдруг начнет задаваться вопросом "что этим хотел сказать автор", это явный признак овнокода. |
| Автор: _zorn_ 25.4.2019, 16:20 |
Что, даже пасхалки уже нельзя |
| Автор: Zloxa 27.4.2019, 17:53 |
Можно, если требования к паскхлке внятно и четко изложены в постановке. |
| Автор: _zorn_ 28.4.2019, 10:54 |
| Нет истинной задачи, кроме как поставленной ? Так проще, согласен. А поспорить ? |
| Автор: Zloxa 30.4.2019, 19:41 |
Споры для дураков. (ну, в смысле, что один знает и спорит, а другой не знает и спорит). Говорю ж - не искусство, а инженерия. Не самовыражение, а решение задач. Где тут простор для дискуссии? |
| Автор: irinazanuda 4.5.2019, 18:32 |
| Пошто мальчика обидели?!.. Вин старался, хотел похвастаться...нет же, зубры с надменными всезнающими лицами положили на лопатки |
| Автор: MimmiOk1987 24.5.2019, 18:15 |
| И где Ваш чат можно найти??? Или вы для себя писали, без коммерческого уклона?))) https://vk.com/parka_shophttp://tradimm.ru/https://aleba.ru/https://tesorogold.ru/http://ekolmil.ru/https://yandex.ru/https://www.google.ru/ |
| Автор: _zorn_ 3.8.2019, 08:40 |
Какой технологией задача решится быстрее и эфективнее ? Есть задача разработать API для создания и возвращения списка сущностей. Что берем, GraphQL или обычный REST ? В чем хранить сущности, RDBMS или NoSQL ? Discuss |
| Автор: LSD 5.8.2019, 12:11 |
Той которую хорошо знаешь. К.О. |
| Автор: Zloxa 16.8.2019, 17:41 |
Чем вы мерите эффективность? Допустим, у вас есть штат персонала, который может запилить и (главное) поддержать REST+RDBMS, но, использование GraphQL+NoSQL для конкретной задачи - то, что доктор прописал. Что станете делать? Пилить существующим ресурсом, или расширите штат, арендуете новые площади под коворкинги, закупите парк гироскутеров? |
| Автор: BlackRu 30.11.2024, 20:02 | ||
Доброго! Наверное, нигде не используется. Вот здесь можно потестировать: http://i92625up.beget.tech/chat/index.php Здесь скачать: https://gitflic.ru/project/dcc0/open Лицензию поставил GPL P.S.Не смог вспомнить пароль от iv888 От этого аккаунта тоже случайно вспомнил. Соррри |