edogs software

edogs software
Рейтинг
775
Регистрация
15.12.2005
Должность
Программирование

Дойдете до 5 тыс рублей - пишите.

Unlock:
Имхо, но вся эта ситуация байка. Как можно купить 162 млн баксов на 6 млн. реальных рублей? Вы как-то не правильно плечо посчитали. Работая с tom, в текущий момент нет актива вообще, у него поставка завтра...
Т.е. как только рубли ушли в tom, не важно шорт или лонг, эти рубли уже из доступных денег выбывают до завтрашнего дня.
В общем я или не понял, как так с Альфой получилось, что его не закрыли, если он в минус больше чем на 100% денег ушел, либо тут где-то искаженны данные в паблик ушли.

Так вот альфа как раз и заявляет по этому случаю, что у них (в отличии от многих других брокеров) купленные (хотя и не поставленные) tom баксы выступают типа обеспечением (при расчете лимитов на покупку). И это хотя необычно, но легально.

Stek:
Я вообще вашей первой части не понимаю.

Так, а в чем смысл возражать тогда? Если не понимаете.

Stek:
foreign key относится к модели базы, например: "аккаунт -> статья -> комментарий" или "товар -> фотография".

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

Stek:
При чем тут архитектура если выборкой должен ORM заниматься. И от реализации этого ORM и будет зависеть, JOIN там или SELECT.

В "абстрактном сферическом фреймворке в вакууме" - да.

Мы же говорили об архитектуре заточенной на конкретную задачу.

Даже писали "Правильные запросы можно создать только правильно зная задачу. Поэтому эта дилемма (прим: попытка создать правильный ORM для всего всего) в рамках общего фреймворка/цмс неразрешима. ".

Попробуем перефразировать.

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

Если Вы делаете приложение, которое должно быстро работать и хорошо масштабироваться, то его цели будут напрямую влиять на архитектуру и на реализацию каждого конкретного запроса и тут уже абстрактным ORM, которое "как-то" оформит запросы в базу не обойдетесь. Каждую группу запросов, если не каждый запрос, Вам придется оформлять по индивидуальной схеме, в ряде случаев руководствуясь не только теорией о скорости, но и практическими тестами. Вспомните, например, для чего делают денормализацию БД - а ведь это самые первые полшага на этом пути.

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

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

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

mysql_fetch_array жрет память дублируя возвращаемый массив, по возможности лучше mysql_fetch-assoc.

Память потребляемую Вы меряете неверно, используйте memory_get_peak_usage. Заодно поймете, сколько на самом деле нужно вордпрессу.

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

Stek:
Я так понимаю, использование foreign key для вас вообще смерти подобно, там ведь 100% не получится две таблицы независимо друг от друга разделить :)

Вы понимаете разницу между "вшить в архитектуру foreign key" - как мы сказали... и между "использовать foreign key" - как написали Вы?

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

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

proksey-net:
Также я нигде не встречал INSERT DELAYED
, а это крайне полезно для логов и статистики.

В нем понта примерно ноль на php. Если у Вас скрипт работает по 2 секунды, то инсерт делеед Вас не спасет. А если 0.02 секунды, то смысл от него?

Инсерт делеед хорош при использовании в пхп демонах, когда один и тот же мускул коннект висит по часу. Но где Вы видели это в цмс?

У нас в текущей CMS сделано проще, всё что не требует "мгновенной" реакции тупо сбрасывается в таблицу очередей, откуда потом по крону разбирается. И статистика и логи и все остальное.

proksey-net:
Для отношений Has Many, Belongs To и других используются несколько SELECT, хотя в некоторых случаях INNER JOIN в разы быстрее.

Зато масштабируется фигово. При чем иногда до смешного фигово.

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

proksey-net:
Я прихожу к выводу, что уже забывают про понятие оптимизации и стремятся максимально все абстрагировать, чтобы создать идеальный MVC-фреймворк. Потом пытаются ускорить неоптимизированный движок кэшированием. А проще сразу создавать правильные запросы.

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

LEOnidUKG:
Фишка в другом, что этот кружок разрабатывается ни на этом материке и там инвесторы более прошареные. Они делаю нишу для будущего бизнеса. Обучение yii, сертификатики и т.п. Подсаживают крупные фирмы на это, а они в свою очередь обязаны потом или покупать поддержку у них или искать программиста по yii. Но опять же нужен будет не обычный программист, а с бумажкой, что он знает yii. Это крупный бизнес и долгосрочный.
А когда у скапливается энное количество народу, ОПА мы выходим на IPO и гребём уже бабки.

Там очень много подводных камней и это реальный бизнес. Только из-за бабла всё двигается.

Из-за бабла начинается движение. А потом уже не отвертишься:) Но в целом все верно.

LEOnidUKG:
Насчёт зенда, там если мне не изменяет памяти, парни изучали PHP исходники и делали его лучше. Это по-моему другая история.

Эти парни не просто "изучали php исходники", а "были их авторами":)

На качество фреймворка это правда не повлияло, однако опять же - это чисто коммерческая вещь... и тем не менее в результате это стандарт-де-факто и must know - безусловно.

Оптимизайка:
Наверное, на это есть причины?

According to the following article: https://www.percona.com/blog/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/

If you have an INDEX on your where clause (if id is indexed in your case), then it is better not to use SQL_CALC_FOUND_ROWS and use 2 queries instead, but if you don't have an index on what you put in your where clause (id in your case) then using SQL_CALC_FOUND_ROWS is more efficient.

P.S. Сам не тестил.

Одна из причин то, что count(*) более универсален, чем sql_calc. Вторая несомненно в том, что sql_calc мало кто знает:)

Однако теоретическое объяснение шустрости в принципе на поверхности.

sql_calc перебирает всю таблицу (точнее ее остатки), что бы посчитать количество записей.

В то время как count(*), при условии наличия индекса, в таблицу не полезет, он возьмет все данные непосредственно из индекса, что даст хороший результат по скорости.

---------- Добавлено 05.02.2016 в 21:40 ----------

LEOnidUKG:
Каким популярным? Всем этим жопоруким вёдрам, которые надумали, что их инструмент решает какие-то проблемы? Да нихрена они не решают, только создают свой кружок для таких же как они.
Фишка в том, что если кружок достаточно большой, то он становится стандартом и must know. Zend, например. Отчасти Yii и Symfony.
LEOnidUKG:
Не надо ещё одного ведро делать.

А вот это верно.

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

Adviscash:
Не сказал бы что топчется, минус 30 копеек. И это при падении бакса, а так... давно бы улетел ещё сильнее.

При падении бакса относительно чего?

Нефть упала к доллару, евро упал к доллару.

юни:
Хорошо бы понять, кто их так жёстко саботировал.

Рынок вероятно:)

Ониж агрегатор, по питеру (россия), например, всего 2 нормальных сайтах с объявлениями. И какой смысл в яндекс.недвижимости? Которая в себя тянет инфу с хз какого количества сайтов с объявлениями, в которых 90% рекламного хлама? Да еще оценки объявлениям дает неадекватные (в 80% случаях искать что-то нужно только среди объявлений с "подозрительно низкой ценой").

Ладно бы поиск там был крутой и гибкий, так ведь нет.

Всего: 12159