Комментарии kstep
kstep 22.08.2012 16:22 Мой OpenSource проект — Сокращатель ссылок.
1
Не стрёмно секретные ключи палить в settings.py?
Зачем *.pyc в репе?
Ну так PAM же, не обязательно именно к ssh прикручивать.
Да, но это не обязывает к какому-то конкретному формату *.cow-файла.
Сейчас посмотрел. Там же обычный Perl-файл, в котором в переменную $the_cow кладётся ASCII-арт с нужной картинкой с подставновкой нескольких переменных типа $thoughts и $eyes.
Я к тому, что нельзя ли разве написать так?
ssh user@HOST "mysqldump --defaults-extra-file=/home/user/.my.cnf (тут лежат доступы к базе ) dbname | gzip -9" > /storage/backups/mysql_backup-`date +%Y-%m-%d`.gz
ssh user@HOST "mysqldump --defaults-extra-file=/home/user/.my.cnf (тут лежат доступы к базе ) dbname | gzip -9" > /storage/backups/mysql_backup-`date +%Y-%m-%d`.gz
Да, тоже хотелось бы про это почитать.
Я тут недавно решил причесать свой конфиг zshell-а.
Вот он, если кому интересно:
https://github.com/kstep/zsh-config
Вот он, если кому интересно:
https://github.com/kstep/zsh-config
Да, тоже про этом подумал.
Но не в ущерб удобству.
Я вот пользуюсь гистом (который gist.github.com). У них есть режим встраивания, когда можно вставить в куда угодно кусок короткого яваскрипта и он превращается в ифрейм с твоим раскрашенным кодом. Увы, теги script здесь режутся, но я давно за поддержку такого сервиса.
И может сырцы лучше на гитхаб?
Да, и ссылки-примеры в статье тоже битые.
В «пасхалке» про «Ничто» практически все ссылки на википедию битые. Поправь, пожалуйста.
А вот это интересно. Можно со ссылками?
Маски подсети нет, но по виду это адрес класса A, потому маска будет 255.0.0.0, соответственно номер сети 54.0.0.0, а броадкаст-адрес будет 54.255.255.255.
Ничего невалидного в адресе 54.247.125.255 нет.
Ничего невалидного в адресе 54.247.125.255 нет.
Поиграл немного, стало скучно. Бросил.
Если ещё поискать по ланчпаду, то можно нарыть что-то вроде этого (totem-airplay).
И попробовать их подружить.
И попробовать их подружить.
Результат беглого поиска по ГуглоМагазину.
Ребут — это не решение временной проблемы навечно, это временное решение вечной проблемы.
* Память на одну строку назад
fixed
fixed
У uniq очень простой алгоритм: сравнить текущую строку с предыдущей, если не равны, вывести текущую строку и запомнить её как "предыдущую", иначе пропустить строку.
При этом uniq -c ещё и ведёт счётчик и выводит последнюю запомненную строку, когда текущая строка не совпадает с запомненной.
Иными словами у uniq память только на одну строку вперёд, а человеку нужно помнить все строки, чтобы получить уникальность без сортировки.
При этом uniq -c ещё и ведёт счётчик и выводит последнюю запомненную строку, когда текущая строка не совпадает с запомненной.
Иными словами у uniq память только на одну строку вперёд, а человеку нужно помнить все строки, чтобы получить уникальность без сортировки.
«Призови бумагу», «содомия». Аааа-а-а-а-а!!
Не то.
man uniq говорит: "Filter adjacent matching lines".
Твой пример делает то же самое, что и просто uniq, но со счётчиком повторений в начале, который ты потом некорректно пытаешься cut-ом убрать. Некорректно потому, что не факт что число повторений не будет больше 8 символов, так что тут не общий случай. В итоге твоя строка делает *то же самое*, что и просто uniq, а уникальные строки вразброс всё равно не фильтруются.
man uniq говорит: "Filter adjacent matching lines".
Твой пример делает то же самое, что и просто uniq, но со счётчиком повторений в начале, который ты потом некорректно пытаешься cut-ом убрать. Некорректно потому, что не факт что число повторений не будет больше 8 символов, так что тут не общий случай. В итоге твоя строка делает *то же самое*, что и просто uniq, а уникальные строки вразброс всё равно не фильтруются.
perl -ne 'print unless $U{$_};$U{$_}=1;'
Само собой не будет работать на бесконечном потоке данных, на большом объёме данных (миллионы строк) будет жрать память и тормозить. В таких случаях надо пересматривать алгоритм.
seq 1 20 | perl -e '@lines = <STDIN>; ($lines[1], $lines[14]) = ($lines[14], $lines[1]); print @lines;'
Парсер лох, съел угловые скобки.
Перл, решение "в лоб", однострочник:
seq 1 20 | perl -e '@lines = ; ($lines[1], $lines[14]) = ($lines[14], $lines[1]); print @lines;'
Разбор полётов:
1) @lines = ; # прочитать строки со стандартного входа в массив,
2) ($lines[1], $lines[14]) = ($lines[14], $lines[1]); # поменять строки местами, индексы начинаются с 0, поэтому 1 и 14, а не 2 и 15,
3) print @lines; # вывести результат.
seq 1 20 | perl -e '@lines = ; ($lines[1], $lines[14]) = ($lines[14], $lines[1]); print @lines;'
Разбор полётов:
1) @lines = ; # прочитать строки со стандартного входа в массив,
2) ($lines[1], $lines[14]) = ($lines[14], $lines[1]); # поменять строки местами, индексы начинаются с 0, поэтому 1 и 14, а не 2 и 15,
3) print @lines; # вывести результат.
* (поменять местами холд-буфер и буфер строки)
fixed
fixed
Можно ещё поиграться с командами x (помнять местами холд-буфер) и n (прочитать следующую строку и добавить в буфер строки), но сходу я строку команд не напишу.
В седе есть внутренний буфер, так называемый hold-buffer. Ты можешь вырезать 2-ю строку в этот буфер, потом поменять 15-ю строку на сохранённую. Вот только вернуться на 2-ю строку чтобы вставить 15-ю не выйдет.
sed '2h;2d;15x'
sed '2h;2d;15x'
Апач не справляется с нагрузкой?
Добавить деток апача? Включить кеширование на нгинксе, чтобы меньше дёргал апач?
Добавить деток апача? Включить кеширование на нгинксе, чтобы меньше дёргал апач?
Бекапы, home на отдельном разделе, etckeeper для конфигов в /etc.
По-моему проще составить список нужных пактов, всё снести, поставить систему начистую и потом поставить только необходимые пакеты.
В случае ядерного взрыва у тебя будут совсем другие приоритеты. Поверь мне, на технику тебе будет забить.
http://lmgtfy.com/?q=Smart+Questions+HOWTO
AFAIK, ПО должно поддерживать события пера. Так что скорее всего никак.
Упс, и правда. Каюсь, читал наискосок.
А вообще, you made my day!
Или заменить xrange на range, тогда под третьим питоном пойдёт.
Да, удалить точку с запятой надо. И ещё у меня в арче по дефолту стоит python3, надо запускать через python2.
Эээ... У koom-а раздвоение личности? Кто там с ним рядом, вызовите скорую!
Предлагаю не троллить. Мы здесь обсуждаем код скрипта, а не личности.
У твоего подхода есть минус. Хеш необратим => нельзя восстановить исходное имя файла для восстановления. С твоим подходом нужен ещё индексный файл с маппингом хеш => исходное имя файла.
«Не читал, но осуждаю.»
Парадигмы «Совершенного кода» применимы к любому языку.
Но раз уж ты понял, о чём идёт речь, есть надёжда, что ты не безнадёжен.
Парадигмы «Совершенного кода» применимы к любому языку.
Но раз уж ты понял, о чём идёт речь, есть надёжда, что ты не безнадёжен.
FQ_NAME=$(realpath $FILENAME)
Так да, покатит за альтернативу.
Судя по тону общения и возникающим вопросам, могу предположить, что опыта разработки более-менее серьёзных приложений у тебя либо мало, либо вообще нет.
Советую почитать МакКоннела, что ли, для начала.
Советую почитать МакКоннела, что ли, для начала.
Догадайся.
А твой способ не сбросит файл до размера 0, он запишет в файл 1 байт: LF. Дальнейшее дополнение в файл будет со второй строки, первая строка будет пустая.