Daily Archives: 12.03.2013
Перенос файлов по маске в shell
Сбойнул один старый скрипт и написал он много маленьких (2-3 кб) файлов в одну директорию. Посмотрел я, сколько файлов оказалось, командой
1 |
ls -1 | wc -l |
Оказалось файлов таких за миллион. На эти файлы смотрел скрипт демонский, который по ним рассылал почты много. Решил я эти файлы из директории той убрать (чтоб пользователей не расстраивать, а данные сохранить)
1 |
ls *.eml -1 | xargs -I {} mv {} ./fuckup/{} |
…
Git: patch из одного репозитория в другой
В старом репозитории сохраняем diff:
1 |
git diff --no-color --binary origin/master > ~/my_diff |
В новом репозитории
1 2 3 4 |
git checkout <ветка> # если нужно вставить не в корень cd <путь до нового корня> patch -p1 < ~/my_diff |
Наиболее полный способ. Две ветки из ориджина, применяем в текущую ветку. Идеально, когда хотим создать дифф между двумя подветками и применить к мастеру. При этом ещё и выкинуть некоторые пути, которые в патче не нужны.
1 2 3 4 |
git diff --no-color --binary origin/no-ticket-bootstrap-reorder..origin/POR-574 ':(exclude)docs/reorder/dev-local/*' ':(exclude)build-tools/dev-reorder/*' ':(exclude)README.md' ':(exclude).codacy.yml' > ~/.por-574-bootstrap-3.diff git apply --stat ~/.por-574-bootstrap-3.diff git apply --check ~/.por-574-bootstrap-3.diff git apply ~/.por-574-bootstrap-3.diff |
https://stackoverflow.com/a/39943727/801426 https://stackoverflow.com/a/2250170/801426
Git: diff с другой веткой
Сначала переключаемся в нужную ветку, потом
1 |
git diff --binary --name-only origin/master |
Это покажет только файлы. Если нужно посмотреть еще и сами изменения, нужно убрать —name-only
Параллельные вычисления в браузере или в node.js
https://github.com/adambom/parallel.js — библиотека для параллельных вычислений. Может работать и в браузере (web workers), и на сервере.
Программы для генерации спрайтов
http://spritepad.wearekiss.com/ http://www.spritecow.com/
Templar — кэшер шаблонов для Express (Node.js)
Templar создан для кеширования шаблонов любого шаблонизатора, совместимого с Express. Он сохраняет сгенерированные шаблоны, и если потом этот шаблон вызывается с такими же параметрами, то он берется из файлового кеша, и заново не отрисовывается. При этом еще проставляются правильные заголовки типа ETag.
Интеграция PhpStorm с git под Windows 7
Вот как добавить ключи в систему — https://blog.bullgare.com/2013/03/%D0%BF%D1%83%D1%82%D1%8C-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E-%D0%B4%D0%BB%D1%8F-ssh-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9-%D0%B2-windows/. Вот как потом настроить PhpStorm — http://www.jetbrains.com/phpstorm/webhelp/using-git-integration.html. * Только в Version Control → Git обязательно для SSH executable нужно оставить параметр Built-In.
Путь по умолчанию для ssh-ключей в Windows
В Windows 7 id_rsa и id_rsa.pub нужно положить в C:\Users\<username>\.ssh Вот подробнее о «домашней директории» в разных системах — http://en.wikipedia.org/wiki/Home_directory. После этого ключи будут подгружаться по умолчанию, как в Ubuntu (для директории ~/.ssh). Как скопировать их на сервер VPS — https://blog.bullgare.com/2014/10/%D1%81%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-ssh-%D0%BA%D0%BB%D1%8E%D1%87-%D0%B8%D0%B7-%D0%BF%D0%BE%D0%B4-windows/