PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (142): « 1 2 [3] 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 2118
Zuldek Отправлено: 17 Декабря, 2014 - 11:17:37 • Тема: Самопис для форума • Форум: Колонка администратора

Ответов: 203
Просмотров: 53089
И пример с конфигами конечно вообще Не понял
Какие затраты на парсинг конфигов, вы о чём вообще? У вас конфиг ЭВМ на атомных станциях или форум с интернет-магазином? Вы вообще на каком языке сайты пишите, скажите мне? Он сам по себе есть расход лишней памяти и ресурсов в угоду простоты написания кода.

Всегда лежит у всех в кэше, при изменении перетряхивается кэш. Хоть в json, хоть xml, хоть текстом, хоть в ноликах с единичками хранить: отдаётся то массивом из кеша всегда. У того же ZF к слову в ядре методы для работы с любым типом конфига.
Zuldek Отправлено: 17 Декабря, 2014 - 11:02:58 • Тема: Самопис для форума • Форум: Колонка администратора

Ответов: 203
Просмотров: 53089
DeepVarvar пишет:
Скажи мне, какого хрена она в дефолте на "HelloWorld" схавала у меня 20 метров памяти?
И это не сделав ни единого запроса в БД, просто выведя в контроллере фразу "Привет мир".
А что будет дальше?


Ну это извечная проблема. Пишем мало ручками: памяти на поддержку всего хозяйства больше. Пишем всё ручками - ресурсы железа затрачиваются такие как мы хотим. В нормальных FV и ZF в частности нужно просто оптимизировать правильно всё хозяйство: отдавать статикой используя кое-где статические экшены, задействовать кеширование, оптимайзер в конце концов. И тогда всё там нормально работает и лишнего не кушает. Что-то кушает конечно, но плюсы минусы покрывают. А если разница в том что он просто памяти ест на 20 или 50 мб (при условии конечно, что это не баг и не течёт память) больше чем велосипед, то хрен с ними с этими мегабайтами! Проще поставить лишнюю плашку памяти и сосредоточить усилия на том, что действительно надо писать ручками, чем пилить свой велосипед неделями.

Понятно что "бла-бла-бла крупные проекты под хайлоад надо писать руками или отказыватсья на хайлоад коде от всяких FV" (мб проект вообще не для пыха тогда?), но на том же ZF сделана та же Magenta, а это весьма серьёзное решение и популярное для коммерческого хайлоада (за бугром по крайней мере).
Zuldek Отправлено: 17 Декабря, 2014 - 10:50:37 • Тема: помогите устрантить ошыбку в Virtuemart • Форум: Программирование на PHP

Ответов: 2
Просмотров: 461
У вас варнинг а не ошибка строго говоря.
посмотрите где вызывается метод round он ждёт другой второй параметр, на что собственно, и ругается Улыбка
Zuldek Отправлено: 02 Декабря, 2014 - 10:42:35 • Тема: Нужно поле с уникальным ключем и с длинной более 255 симв. • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 42
Используйте хеши для уникальных ключей.
Zuldek Отправлено: 02 Декабря, 2014 - 09:58:30 • Тема: выборка одним запросом с группировкой • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 43
В продолжении задачи.
Позже выяснилось, что таких параметров, как weight, для которых нужна группировка, оказывается ещё 2.
Не нашёл ничего лучше, как сделать отдельные запросы с их подсчётом чтобы не городить огород:
минус понятен: склеивание массивов в пыхе для дальнейшего обхода.

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT post_id, GROUP_CONCAT(weight_2_sep SEPARATOR ', ') FROM
  2.     (SELECT post_id, concat(
  3. weight_2,' (',count(0),')') AS weight_2_sep FROM tbl_name WHERE weight_2 != 0
  4.     GROUP BY post_id, weight_2
  5.     ) ws
  6.     GROUP BY post_id
  7.  
  8. SELECT post_id, GROUP_CONCAT(weight_3_sep SEPARATOR ', ') FROM
  9.     (SELECT post_id, concat(
  10. weight_3,' (',count(0),')') AS weight_3_sep FROM tbl_name WHERE weight_3 != 0
  11.     GROUP BY post_id, weight_2
  12.     ) ws
  13.     GROUP BY post_id

Плюс в том что в этих запросах можно исключить нулевые значения WHERE weight_3 != 0, в отличии от первого запроса ибо там !=0 использовать нельзя чтобы банально получить все post_id.
Zuldek Отправлено: 20 Ноября, 2014 - 11:54:48 • Тема: Добавление товара/услуги. • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 54
Удалите товары по "owner_id foreign key to users table" в чем сложность?
Zuldek Отправлено: 18 Ноября, 2014 - 17:06:25 • Тема: Изменить sql запрос • Форум: Вопросы новичков

Ответов: 1
Просмотров: 108
CODE (SQL):
скопировать код в буфер обмена
  1. DELIMITER ;;
  2.  
  3. CREATE PROCEDURE upgrade_my_fucking_structure()
  4. BEGIN
  5. IF NOT EXISTS(
  6. SELECT * FROM information_schema.COLUMNS
  7. WHERE COLUMN_NAME='title' AND TABLE_NAME='catalog_product_decision' AND TABLE_SCHEMA='schema'
  8. )
  9. THEN
  10.     ALTER TABLE `schema`.`catalog_product_decision`
  11.     ADD `title` varchar(255) NULL DEFAULT NULL COMMENT '' COLLATE utf8_general_ci AFTER image2_ext;
  12.  
  13. END IF;
  14.  
  15. END;;
  16.  
  17. CALL upgrade_my_fucking_structure();;
  18.  
Zuldek Отправлено: 18 Ноября, 2014 - 12:38:05 • Тема: Утечки памяти • Форум: Вопросы новичков

Ответов: 16
Просмотров: 845
Ну это всё рассуждения и тп о том что лучше и как лучше было бы по феншую, а из практики вот могу сказать, - федеральный проект, воркеры пишутся на пыхе на готовой обвязке и мастере и работают без каких либо проблем. И предпочитают расход лишних 10 мб памяти вместо того чтобы писать и поддерживать код на нескольких языках для простых регулярных задач.
Нод юзается для своих задач но никак не для указанных.
Zuldek Отправлено: 18 Ноября, 2014 - 11:57:43 • Тема: Утечки памяти • Форум: Вопросы новичков

Ответов: 16
Просмотров: 845
esterio пишет:
ну демоны и воркеры на ПХП ИМХО не самая лучшая идея. тот же сокет сервер на ноде куда продуктивней. но помниться DeepVarvar запускал демон и он стабильно работал

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

Есть тот же счетчик просмотров поста, вы что с контроллера будете в редис просмотры записывать при запросе страницы поста чтоли? У вас тогда при любом сбое ложится просмотр поста. И что вы для этого будете нод поднимать на отдельной железке или на плюсах писать воркера и потом поддерживать всё это хозяйство? Я вам отвечу - не будете. Разве что для своей поделки но не для серьёзного проекта под который просто так вы для такой задачи сервер не получите и тем более вам не дадут крутить нода на боевом сервере. Потому что для этого вам нужен в штате программист на плюсах и под нод. А с последним только тривиальные задачи решаются просто, уверяю вас. Там такие могут быть закидоны с утечками памяти с которыми чтобы разобраться нужно быть разрабочтиком на серверном js и знать node глубже чем по общему ману.
Вполне нормально решаются на пыхе такие задачи. Рассылки уведомлений, создание событий и т.д.
Zuldek Отправлено: 18 Ноября, 2014 - 11:06:57 • Тема: Утечки памяти • Форум: Вопросы новичков

Ответов: 16
Просмотров: 845
esterio пишет:
в ПХП утечкы памяти исключены. скрипт отработал все удалилось.

А если у вас демон крутится или воркер какой-то? Улыбка
Zuldek Отправлено: 18 Ноября, 2014 - 10:53:49 • Тема: Как решается проблема с IP когда нужно сделать уникальность просмотров ? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 295
scion пишет:
Здравствуйте форумчане. Я уже поднимал похожую тему, но столкнулся с тем что записывать IP в базу и привязывать к нему уникальность нет смысла, потому как например у нас с соседом один IP и получается проголосовать может кто то один из нас, это если организовывать какую то уникальность при просмотрах или голосовании.Куку ставить,тоже можно их стереть да и накрутить просмотры. Какие может еще есть варианты? сразу скажу что привязки к аккаунту нет, даже обычные посетители могут голосовать. Спасибо заранее за советы.

От накрутки нас может спасти только авторизация. Всё остальное технически не сложно накрутить. Пишите ip - массовую накрутку школьниками это усложнит и только. Авторизацию на сайте к слову использовать совершенно не обязательно: используйте идентификацию через соцсети - нормальное решение.
Zuldek Отправлено: 18 Ноября, 2014 - 10:46:10 • Тема: Что назывыается best practice для URL • Форум: Вопросы новичков

Ответов: 7
Просмотров: 313
Если уж стали делать названия на латинице то делайте без цифр зачем вам они:
articles/nazvanie-statii

А вообще ерунда это всё и баловство. Адреса у гугла видели?
Короткий url по возможности не глубже двойной вложенности и нормально. Главное уяснить что само по себе articles/1-nazvanie-statii articles/nazvanie-statii-1 или articles/nazvanie-statii совершенно никак не влияет на ваши seo-показатели. В общем смысле если число не часть названия то в url включать его не нужно.
Zuldek Отправлено: 17 Ноября, 2014 - 16:25:51 • Тема: среднее геометрическое массива • Форум: JavaScript & VBScript

Ответов: 12
Просмотров: 1862
CODE (javascript):
скопировать код в буфер обмена
  1. function cleanArray (arr) {
  2. for (index = 0; index < arr.length; ++index) {
  3.     if( ! (!isNaN(arr[index]) && (function(x) { return (x | 0) === x; })(parseInt(arr[index])) ) ) delete arr[index];
  4. }
  5.     return arr;
  6. }
  7.  
Zuldek Отправлено: 12 Ноября, 2014 - 09:42:02 • Тема: выборка одним запросом с группировкой • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 43
Нет NN они.
Примерно к такому и пришёл только исключив вес '0'.
Тут окончательно можно судить об эффективности только агрегируя большой лог. Потестирую на бою, посмотрим что покажет.
Изначально когда только ставилась задача был против такой структуры. Ибо имхо тут в разы проще хранить просмотры по весам в отдельной таблице, а осталньые статусы просто суммируя с группировкой по id. Единственный минус это join конечно будет.
Zuldek Отправлено: 11 Ноября, 2014 - 19:18:55 • Тема: выборка одним запросом с группировкой • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 43
Добрый вечер.

Пусть есть таблица просмотров поста юзерами на определённом статусе. Задача получить количество просмотров поста по статусам. при этом для всех статусов при просмотре в лог пишется 0 или 1 и их считаем простым sum, а для учета веса юзеров смотревших пост (1 - 40) в таблицу просто пишется сам вес (1-40) и нужно в агрегированной записи выборки получить сгрупированные значения просмотров: "вес (кол-во)" по каждому имеющемуся для поста весу
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| post_id | int(11) | YES | | NULL | |
| current_week | int(2) | YES | | NULL | |
| status1 | int(1) | YES | | NULL | |
| status2 | int(1) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+

Записи в логе выглядят примерно так:

123 | 0 | 1 | 15
100 | 1 | 1 | 20
101 | 0 | 0 | 20
101 | 0 | 0 | 0

Задача получить одним запросом сгруппрованные данные формата:

post_id | sum(ststus1) | sum(status2) | 15(4), 10(2), 40(6)

Запрос:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT post_id, SUM(status1), SUM(status2), GROUP_CONCAT(weight, '(0)' SEPARATOR ', ') FROM tblname GROUP BY post_id;

даёт выборку:
'210', '5', '0', '15(0), 0(0), 20(0), 1(0), 15(0), 20(0)'
Соответственно вместо '(0)' и дублирующихся значений веса хотелось бы получить их количество максимально лаконичным способом.

Кроме этажных подзапросов ничего не приходит в голову.

Страниц (142): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB