Береги здоровье смолоду
Послесловие
Ярлыки: боли в руке, боли в спине, здоровье, зрение
Ярлыки: боли в руке, боли в спине, здоровье, зрение
После неудачной конвертации из одной кодировки в другую, может случится ситуация, при которой вместо заглавной буквы "И" и строчной "ш" отображаются знаки "�?", при этом остальные символы отображаются правильно. Например "Андру�?ко �?рина".
SELECT convert(name USING BINARY) FROM `MyTable`;Как исправить?
SHOW CREATE TABLE `MyTable`;
UPDATE `New_MyTable`
SET `my_column` = REPLACE (`my_column`,
CONCAT(CHAR(209), CHAR(63)), CONCAT(CHAR(209), CHAR(136)) );
UPDATE `New_MyTable`
SET `my_column` = REPLACE (`my_column`,
CONCAT(CHAR(208), CHAR(63)), CONCAT(CHAR(208), CHAR(152)) );
INSERT INTO `New_MyTable`(id, my_column, third_column )
SELECT id, convert(my_column using binary), third_column
FROM `MyTable`;
Источник: Античат.ру
Если нужно обновить поле или несколько полей в таблице при заданном условии, то есть интересный способ:
UPDATE table1 AS T1
INNER JOIN table2 AS T2
ON (T2.param1=T1.param1)
AND (T2.param2=T1.param2)
AND T2.param3='value'
SET T1.date_param = 'date_value'
Есть замечательная конструкция в MySQL, которая позволяет при вставке существующих первичных ключей, обновлять эту строку, иначе вставляется новая запись.
INSERT INTO table_name(id, name, pass)Если в таблице table_name существует первичный ключ id, то обновятся name и pass, в другом случае произойдет вставка новой записи.
VALUES('111', 'myname', 'mypass')
ON DUPLICATE KEY UPDATE
name = VALUES(name),
pass = VALUES(pass)
Ярлыки: mysql, on duplicate key update, tips
Когда-то потратил немало времени, чтобы подобрать комфортные настройки для клиента putty.
Результат:
Настройки:
Ярлыки: linux, putty settings, shell
В PHP есть множество функций, которые позволяют в качестве параметра использовать имя так называемой user defined function — функция, написанная для собственных нужд. Все было хорошо, пока не перешел на ООП.
Как указать в ООП имя собственной функции? Очень просто.
Допустим, мы хотим использовать функцию array_walk(). В процедурном стиле мы бы написали следующее:
<?php
array_walk($array_values, 'myFunction');
?>
В ООП эта конструкция не сработает, но есть выход:
<?php
array_walk($array_values, array($this, 'myFunction'));
?>
Указав массив array($this, 'myFunction') мы указываем, что нужно использовать метод "myFunction" из текущего класса.
P.S. По ходу работы пришлось вспомнить использование этой конструкции. Благо, давным-давно интересовался этим вопросом и результат оказался в песочнице.
Ярлыки: oop, php, user defined function
Столкнулся с задачей настройки Samba таким образом, чтобы пользователи могли записывать файлы, но удалять не могли. Реализация под linux.
Припустим, у нас есть директория-шара. В smb.conf прописано:
[Files]
comment = Files
path = /home/samba/Files
valid users = +UserGroup
read list = +UserGroup
write list = +UserGroup
inherit permissions = yes
browseable = yes
guest ok = no
create mask = 664
directory mask = 775
Нам интересны две последние строчки. Create mask означает маску для создаваемых файлов, directory mask — для директорий.
После этого нужно перезагрузить сервис самбы:
$ service smb restart
Далее нужно поставить бит стойкости, который не даст удалить файлы созданные другими пользователями. Свои же удаляться без проблем. Также в чужих директориях можно будет создавать/удалять свои и только свои.
$ chmod -R 1775 Files/