LINUX.ORG.RU

Ответ на: комментарий от endeneu13

Потому что копипаста индусской макаке.

ваш кэп

зы: если кто не знал, похапеперы код не пишут, они его копипастят с говнобложиков индусни

unt1tled ★★★★
()
Ответ на: комментарий от unt1tled

далек от сленга вебомакак

А ты к какому роду макак относишься?

Serg_HIS
()
Ответ на: комментарий от kalterfive

явно что-то не так

Ну наверное автор это и сам видит.

Это же даже не бета. Это проба концепции я так понимаю.

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

Serg_HIS
()
Ответ на: комментарий от kalterfive

всё так.

вот смотрите, вы написали

#1 > Сообщение

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

#1 > Сообщение
#2 > > Ответ

Теперь вы пишете ответ на «#2 Ответ», и ещё вы хотите ответить на «#1 Сообщение», вы упоминаете сообщение >>1 и оно дублируется в оба места, потому что оно является ответом на второй ответ и в нём упоминается первое сообщение.

#1 > Сообщение
#2 > > Ответ
#3 > > > Ответ
#3 > Ответ

ИМХО всё логично. :)

Если вы раскроете тред, то увидите, что всё отображается корректно. Это только дерево так хитро рисуется. =)

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Serg_HIS

я не понял, если честно, что это за ерунда, и как оно работает.

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

buratino ★★★★★
()
Ответ на: комментарий от kalterfive

Как результат получается: дублируются все ответы на любые дубли, в итоге дерево разрастается по экспоненте. =)

Но, всё работает так, как и было задумано. Это не баг, это фича. ^-^

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Serg_HIS

Одна единственная таблица для всех сообщений. Структура деревьев рисуется элементарно просто — каждое сообщение это путь, который оно проходит.

Опять же, сообщение 1 и сообщение 2, где 2 является ответом на 1, а сообщение 3 является ответом на сообщение 2.

Путь:

1
1.2
1.2.3

Как вывести все ответы на сообщение 1? Сделать выборку «LIKE 1.%». Один единственный SQL запрос, чтобы нарисовать всё дерево целиком, никакой рекурсии не нужно.

Вся структура ответов на сообщения лежит в thread и multithread колонках. Имеет вид, где каждое сообщение (ID) разделено точкой: 1.2.3.4.5. Так и рисует деревья.

В thread находятся просто прямые ответы на сообщения, а в multithread ещё и ответы на >>циферки.

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Spoofing

Одна единственная таблица для всех сообщений

Это я всё понял.

Просто у тебя там некие поля, пароль и ещё чего-то... оно не должно быть тут (другая таблица однозначно).

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

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

Serg_HIS
()

Хорошо, но в следующий раз хотя бы отдели логику от отображения (не смешивай php и html) в одном файле

xorik ★★★★★
()

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

Подозреваю что тебе приносит удовольствие читать критиканов - они, конечно, могут написать тоже самое на полдня на джангах, но это просто им не нужно и поэтому им удоволствие сам процесс не принесёт %)

Debasher ★★★★★
()
Ответ на: комментарий от Debasher

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

Debasher ★★★★★
()

для 333 строк ОК

umren ★★★★★
()
Ответ на: комментарий от Debasher

единственный адекват в треде)))

Spoofing ★★★★★
() автор топика

с тебя новые глаза и курс алкогольной реабилитации.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Debasher

щя вот думаю чего б ещё запилить.. файлообменник есть, форум для обратной связи имеется, ЖЖ имеется, конечно это всё надо в порядок привести ещё. но пора начинать пилить какой-то новый проект. :)

Spoofing ★★★★★
() автор топика

За советы всем спасибо, переделал пару моментов — определение mime-типа с использованием file, а конвертация картинок с использованием convert из imagemagick.

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

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Antonova

у меня тут валяется мой php-код 2002 года. посимпатичнее. в 2007 так не писали...

buratino ★★★★★
()

А зачем для себя писать на похапе?

vazgen05 ★★★
()
Ответ на: комментарий от Debasher

инкрементирую. многие, видимо, уже забыли, как оно - писать JFF. у меня вон тоже, на диске валяется директория, с целой кучей «проектов» разной степени (не)законченности, которую я начал наполнять еще в каких-то мохнатых годах. там и Delphi, и с/с++, и Qt, и Java встречается. правда я не выкладываю все это на gitgub/etc., но это потому, что когда я только начинал что-то писать, всякие VCS еще не были так популярны, вот и не сложилось такой привычки. а вообще, дело видимо в том, что у меня программирование никогда не выходило за рамки хобби.

CryAngel
()
Ответ на: комментарий от Spoofing

Забыл имя экранировать, у-у-у. Идиот я.

и вот так - сто раз

но корень проблемы упорно замечать не будем

ps. я даже не стал проверять, экранируется ли имя, потому что подумал, что подобная глупость стала устаревшей ещё в 2003 году... хотя хотел, но глядя код - быстро перехотелось вообще что-то проверять :)

buratino ★★★★★
()
Ответ на: комментарий от buratino

Да нормально, просто когда пишешь на PHP — мозг отключается. А зачем. Такой лёгкий язык.

Хочу C изучить, чтоб... «а у вас память убежала».

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Spoofing

Вариант хоть что-то одно сделать не говном не рассматриваешь? Оно больше удовлетворения должно дать.

dk-
()
Ответ на: комментарий от Spoofing

Те литры крови из глаз лоровцев это норм?

Писать/делать что-то по фанк это круто, да. По сете знаю. Но только если это не новно.

dk-
()
Ответ на: комментарий от Spoofing

просто подобные ошибки «не на php» допустить в разы сложнее. или используя шаблоны, где неэкранированное не вылезет. и orm, где неэкранированное не влезет

python, как язык, в разы легче :) и это при том, что python я знаю с 2011 (точнее, наверное, с 2012, первый десяток сайтиков на bottle.py я написал, вообще не зная python. не зная в принципе - понятия не имея, как hello, world запустить), а php - с 2002, застал ещё эпоху популярности php3.

buratino ★★★★★
()
Ответ на: комментарий от Spoofing

Может по функционалу он и не говно, ЖЖ в смысле.

Но вырвеглазность по цветам и мелкодетальности просто шедевральная!

Хотя некоторые происки кретива таки заметны и мне даже понравились.

Serg_HIS
()
Ответ на: комментарий от Spoofing

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

Ну в смысле, на основе одной таблицы, без индексирования и без обработки исключительных ситуаций при транзакциях?

Serg_HIS
()
Ответ на: комментарий от Spoofing

Хочу C изучить, чтоб... «а у вас память убежала».

Лучше Java тогда. На Си/Си++ утечек ждёшь и поэтому они очевидны. А вот когда память начинает на Java утекать, начинаешь ломать голову, в каком месте по многочисленным цепочкам объектов оно подвисло :)

KRoN73 ★★★★★
()
Ответ на: комментарий от Serg_HIS

Да. Я не знаю какие колонки нужно индексировать и почему/зачем. И как обрабатывать так называемые исключительные ситуации при транзакциях. Мне казалось, того что я сделал таймаут побольшое 5000мс и засунул всё это дело в транзакцию — этого уже достаточно. Я выполнил бенчмарком ab 5000 тысяч параллельных запросов по 100 штук за раз, все обработались без ошибок.

Spoofing ★★★★★
() автор топика
Последнее исправление: Spoofing (всего исправлений: 1)
Ответ на: комментарий от Spoofing

Я не знаю какие колонки нужно индексировать и почему/зачем

Обычно индексируют колонки, по которым чаще всего идёт поиск. Ну например поле post_id.

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

Транзакции может и сам контейнер PHP обрабатывает нормально и ставит в очередь. Потому может больше ничего делать и не нужно. Я досконально для ПХП такого не изучал.

Serg_HIS
()
Ответ на: комментарий от Serg_HIS

Обычно индексируют колонки, по которым чаще всего идёт поиск. Ну например поле post_id.

Хорошо, спасибо, прикручу.

Spoofing ★★★★★
() автор топика

Где посты с Машенькой, а?

anonymous
()

333

годно

anonymous
()

Соус: https://github.com/spfng/Faumi

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

no-such-file ★★★★★
()

Удаление сообщений и/или картинок с использованием пароля
Картинки остаются на сервере

Ах ты паразит двуличный!)

dk-
()

Демо

Мимокрокодил и случайно прочитал «Демо» как «Дерьмо». А потом посмотрел код - а ведь и правда.

Не занимайся разработкой ПО, прошу тебя, в стране много другой работы.

Alve ★★★★★
()
Ответ на: комментарий от Tark

откудаж в пхп (да и вообще в вебе) возьмется чувство прекрасного?

vvviperrr ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.