PostgreSQL
coub
css
express.js
freeware
git
jquery
laravel
links
linux
macos
mysql
node.js
php
python
task1
ubuntu
vim
virtualbox
анекдот
игры
интересно
музыка
стихи
цитаты
vim
vim
task1
vim
vim
Vim: скринкасты
October 29, 2013
Тут буду подкладывать ссылок на кладбища скринкастов по виму
- Vim Tutorial Videos - для начинающих, от базовых до очень интересных вещей, веселый автор
- Vimcasts.org - широко известный ресурс, просто тонны всяких vim-вкусняшек, обязательно к посещению
- Destroy All Software - ворованный каталог из 80 скринкастов одного очень толкового дядьки. Кроме вима также рассматриваются git, TDD, *nix и т.д. Каталог можно глянуть вот тут.
- udioica.blogspot.ru - это не совсем скринкасты, а анимированные gif-ки с решениями задач с vimgolf.com. Вообще-то я не уверен что это человек. Больше похоже на vim-терминатора. Я не представляю как это все можно запомнить.
Vim: перезагрузка ~/.vimrc налету
October 29, 2013
Очень неудобно бывает после правки .vimrc закрывать сессию полностью чтобы применить внесенные изменения. Можно этого избежать довольно легко:
# выполните в редакторе :echo $MYVIMRC чтобы понять что это за переменная source $MYVIMRCЧтобы было удобнее жить можно добавить пару команд покороче, например так:
" edit ~/.vimrc file command! RcEdit e $MYVIMRC " reload ~/.vimrc config command! RcReload source $MYVIMRC
task1: начало #1
October 26, 2013
Дело было вечером делать было нечего. Решил затеять "проект" с целью осилить то, что так долго не могу собраться. Проект будет публичный, но на какую-либо популярность я не расчитываю, довести до финала планирую ради спортивного интереса, для себя.
Суть банальна и проста: от начала до конца реализовать некий законченный продукт на незнакомых технологиях. Сам продукт будет представлять собой 100500 по счету в мире веб тайм-трекер с блекджеком и гетерами. У меня есть несколько специфичных "идей по дизайну", но мелкие детали на этом этапе не так уж важны, здесь только крупными мазками что будет:
Про сервер наверное nginx с чем-то типа fcgi я пока не в курсе как эта сторона на питоне устроена вообще.
Писать буду по мере сил под этот тег. Репа будет на гитхабе, все как у нормальных людей.
Суть банальна и проста: от начала до конца реализовать некий законченный продукт на незнакомых технологиях. Сам продукт будет представлять собой 100500 по счету в мире веб тайм-трекер с блекджеком и гетерами. У меня есть несколько специфичных "идей по дизайну", но мелкие детали на этом этапе не так уж важны, здесь только крупными мазками что будет:
- Авторизация через социалки
- Проекты как очереди собственных тасков
- Создание тудушек ака тасков для себя в выбранной очереди (к таскам можно лепить файлы)
- Статусы решен / не решен только пока
- Тайм трекинг по таскам автоматический или ручной, надо подумать как именно трекать
- Возможность создать текстовый отчет за день или за какой-то период в днях (на что и сколько потрачено с тоталами)
- Python, Flask, SQLALchemy
- PostgreSQL
- Интерфейс одностраничный собранный на BACKBONE.JS
- Видимо jQuery и Bootstrap, правда я с ними знаком, но верстаю я коряво, а без jQuery не представляю как обеспечить кроссбраузерность, клиентсайдом я все же слаб. Иконки возьму тоже знакомые Font Awesome
Про сервер наверное nginx с чем-то типа fcgi я пока не в курсе как эта сторона на питоне устроена вообще.
Писать буду по мере сил под этот тег. Репа будет на гитхабе, все как у нормальных людей.
Vim: поиск и замена строк в файле
October 22, 2013
Я пользуюсь этим в виме не часто пока и постоянно забываю как там танцуется эта замена, самый простенький вариант примерно такой: имеем файл пример с таким содержимым:
Интересный нюанс: чтобы заменить что-то с переводом строки \n придется использовать \r то есть примерно вот так
./folder1/folder2/file1.txt ./folder1/folder2/file2.txt ./folder1/folder2/file3.txt ./folder1/folder2/file4.txt ./folder3/folder5/file5.txt ./folder3/folder5/file6.txt ./folder3/folder5/file7.txt ./folder4/folder6/file8.txt ./folder4/folder6/file9.txt ./folder4/folder6/file10.txtДопустим нужно отрезать из каждой строки все что касается пути, то есть чтобы остались только имена файлов. Переходим в командный режим и выполняем
:%s/\.\/.*\///gcВыглядит довольно похабно, но в общем-то главное знать что искать. Синтаксис замены вообще примерно такой
:%s/serach-str/replace-str/gsearch-str - то что ищем, replace-str - то на что заменяем, просто в примере выше использовано регулярное выражение и слешей много из-за обычного скрина точки и слешей. Модификатор c в примере означает что каждое найденное совпадение и соответственно его замену нам надо будет подтвердить, иначе все найденное в файле будет молча заменено.
Интересный нюанс: чтобы заменить что-то с переводом строки \n придется использовать \r то есть примерно вот так
:%s/\n/ -- \r/gcЛибо как вариант, тоже самое
# чтобы ввести ^M жмем (прямо в строке набора команды) Ctrl+v - Enter :%s/\n/ -- ^M/gc
Vim: как отформатировать xml
October 21, 2013
Для этого понадобится установить xmllint
В .vimrc это будет выглядеть примерно так
# для ubuntu sudo apt-get install libxml2-utils
В .vimrc это будет выглядеть примерно так
command FormatXml execute "%!xmllint --format --recover - "После этого вызов в редакторе чтобы отформатировать текущий файл будет таким:
:FormatXmlДругие бинды на ваше усмотрение конечно.