Excel, бага, не фича

Давеча обратился ко мне пользователь екселя, я же программист должен разобраться.
Пользователь задала фильтр в одном из столбцов с датами, формат всех ячеек в столбце — дата, но вот большая часть дат в фильтре группируются по годам и месяцам, но не все, есть исключения.
Этот файл «ходил по рукам» как и в какой момент такое получается не знаю, в скринах-солюшенах воспроизвел копируя данные из тех самых файлов.
excel1 excel2 excel3 excel4
Решение такое, копируем пустую ячейку в буфер обмена, выделяем диапазон с ячейками дат и делаем специальную вставку, только значения со сложением, и вуаля, фильтр сгруппировался.

Век живи, век учись, вариант выделения дробной части

Задача, положить дробное число раздельно в два столбца, воспользуемся оператором взятия остатка от деления %, это Лёха подсказал
drop table #test17;

create table #test17(c1 int, c2 decimal(10,10) /*отдадим все 10 знаков на хранение дробной части*/);

insert into #test17
 select c,c from (select 12.34567 c) tt;
-- для MSSQL Arithmetic overflow error converting numeric to data type numeric.
-- The statement has been terminated.
-- или в MySQL Data truncation: Out of range value for column 'c2' at row 1

insert into #test17
 select c,c%1 from (select 12.34567 c) tt;

select * from #test17;

c1	c2
12	0.3456700000

для Оракла функция mod(c, d)

Update XML stored in a XML column in SQL Server

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

update [MetrologDev].[dbo].[m_PWStatus]
 set xmlData.modify('replace value of (/rows/row[@id=("2686")]/@selectedCnt)[1] with "0"')
  output inserted.xmlData
   where deleted is null and pfId=12 and statusId=2

update [MetrologDev].[dbo].[m_PWStatus]
 set xmlData.modify('declare namespace ttt="urn:metrolog.mneti.ru"; replace value of (/rows/ttt:row[@id=("2686")]/@selectedCnt)[1] with "0"')
  where deleted is null and pfId=12 and statusId=2


mneti, результат транслитерации — мнети

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

Skipping recall function from a script php

Пропуск повторного вызова функции из скрипта php.
session_id('cron'); //используем именованную сессию, имя файла сессии sess_cron
session_start();
if ($this->session->has(__METHOD__)) {
	$attemptCount = intval($this->session->get('attemptCount-' . __METHOD__));
	$this->session->set('attemptCount-' . __METHOD__, ++$attemptCount);
	printf("Run at: %s\r\n", date('c', intval($this->session->get(__METHOD__))));
	return;
} else {
	$this->session->set(__METHOD__, $_SERVER["REQUEST_TIME_FLOAT"]);
	$this->session->set('attemptCount-' . __METHOD__, 1);
	session_write_close(); // закроем сессию, снимем с нее блокировку иначе следующие скрипты не смогут ничего прочитать и будут ждать в очереди, а нам нужен другой эффект
}

sleep(300); //тут что-то делаем

//снимаем блокировку
session_id('cron');
session_start();
$this->session->remove(__METHOD__);
Безымянный91
если хотим аналог мьютекса, то достаточно только session_id(‘cron’) и все, все скрипты в очереди на ожидание ресурса — файла сессии

Set environment variables for php script

Пример передачи переменной окружения в скрипт php запускаемый из крона, пример для Debiana
root@metrolog:~# uname -a Linux metrolog 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux root@metrolog:~# crontab -l # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use ‘*’ in these fields (for ‘any’).# # Notice that tasks will be started based on the cron’s system # daemon’s notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command */5 * * * * /usr/bin/php /var/www/issues/cli/tools/cron.php */1 * * * * export APPLICATION_ENV=production && /usr/bin/php /var/www_dev2/app/cli.php cron test

php анонимная функция с возможностью немедленного выполнения

Аналог анонимной функции JavaScript с немедленным исполнением
(function () { /* do something */ })()

модель рабочего примера, найти первое вхождение, частичное или полное

#php 5.3
$ttttar212 = ['asf',['asd','qwer2'],'qwe'];
$inttttar = 0;
call_user_func(function($cont_act, $ttttar212) use (&$inttttar) {
	foreach ($ttttar212 as $v) {
		if ($cont_act[0] === $v || $cont_act === $v) {
			$inttttar++;
			break;
		}
	}
}, ['qwe','qwer'], $ttttar212);

в действии

// если совпадает с внутренними (с виртуальными) то тоже подсветим
if ($data->active == 0 && isset($data->virtual) && is_array($data->virtual)) {
	call_user_func(function($cont_act, $ttttar) use (&$data) {
		foreach ($ttttar as $v) {
			if ($cont_act[0] === $v || $cont_act === $v) {
				$data->active++;
				break;
			}
		}
	}, [$controllerName, $actionName], $data->virtual);
//	$data->active += (int)in_array($controllerName, $data->virtual);
//	$data->active += (int)in_array([$controllerName,$actionName], $data->virtual);
}

jQuery Ajax и FormData objects

Если получили ошибку:
jquery.min.js:4 Uncaught TypeError: Illegal invocation

или:
PHP Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0

проставим значения параметров для аякса:
processData: false,
contentType: false,