Firewall (брандмауэр) - что это в программировании?

Вообще

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

Это определение недалеко по смыслу от программирования)

mongodb Оптимизация запросов -- как ускорить выборку

Рассмотрим разные моменты

  1. Если можете облегчить выборку перед любым "затратным" по времени действием, сделайте это с помощью $project (например перед lookup с другой коллекцией)
  2. $lookup:
    • Индексируйте поля по которым происходит lookup
    • Если перед лукапом в пайплайне находится слишком монго записей -- как то ускорить порцесс будет сложно, постарайтесь как-то уменьшить число записей до лукупа

symfony fosuserbundle -- Валидация Regex (регулярные выражения)

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

Обратите внимание на опцию match.
По умолчанию она равна true. И в этом случае, сообщение об ошибке будет выведено, если совпадения с регулярным выражением НЕ ПРОИЗОЙДЁТ. Соответственно, если введённый текст совпадёт с выражением, он будет признан валидным.

Ajax-запрос -- бесконечно выполняющийся, дольше чем время выполнения скрипта на сервере (мистика)

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

При этом сама монга в диспетчере линукса (top) показывала, что занимает 300 процентов CPU, другие запросы к ней тоже выполнялись медленно до тех пор, пока процесс монги не был перезагружен.

yii2 mongodb Извлечение одного документа из группы -- выбор уникальных значений, аргегация

Можно так:

$following_pipe[] =  [
   '$group' => [
		'_id' => '$' . $groupBy,
	   'org_data' => [
			'$first' => '$org_data',
		],   
	]
];

-- на выходе получим строку в которой будет два поля:

  • _id
  • org_data -- тут будет одно значение из предудущей стадии, которое было в первом встретимшимся при группировки документе (порядок зависит от предыдущей сортировки, если она была)

the group aggregate field name 'org_data.center' cannot be used because $group's field names cannot contain '.'


           $following_pipe[] =  [
               '$group' => ['_id' => '$' . $groupBy,
               'org_data.center' => [

                   ['$first' => '$org_data.center.longitude'],
                   ['$first' => '$org_data.center.latitude'],

                   ],
                'org_data._id' => [
                    ['$first' => '$_id'],
                ]
                   
                ]
            ];

the group aggregate field 'center' must be defined as an expression inside an object

Ускорение работы приложения, которое выгружает данные на диск, если нет возможности указать использовать другой объём RAM

Предположим что у вас есть приложение/ситуация, в которой (три момента):

  1. По умолчанию работает с оперативной памятью (RAM)
  2. Если оперативной памяти не хватает, то это приложение свопит данные на диск, и потом забирает их с диска, отдавая наружу
  3. Вы не можете почему либо увеличить объём оперативы, используемой этим приложением (например, используемый объём "зашит" внутрь кода программы)

Решение:

Своп -- что это в программировании (swap), "свопиться"

Своп -- по сути это некий "обмен", или "подмена" чего-то чем-то.

Виды свопа

Различают:

Pages

Subscribe to fkn+antitotal RSS