https://github.com/vitkarpov/shri-2013
Homework for SHRI-2013
https://github.com/vitkarpov/shri-2013
Last synced: about 2 months ago
JSON representation
Homework for SHRI-2013
- Host: GitHub
- URL: https://github.com/vitkarpov/shri-2013
- Owner: vitkarpov
- Created: 2013-09-12T11:15:00.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2013-09-15T09:38:51.000Z (over 11 years ago)
- Last Synced: 2025-01-17T23:19:43.644Z (3 months ago)
- Language: Perl
- Size: 121 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## ШРИ 2013
В этом репозитории будут домашние задания со ШРИ 2013, а также, возможно, некоторые «заметки на полях». Может получится что-то вроде дневника лекций как у Винера по теории информации. Для личного использования (приятно будет потом открыть и вспомнить чем занимался).
### Работа в терминале
Лекция Виктора Ашика о терминале, основных командах, конвейерах, философии юникс, переменных окружения и тому подобном.
*Домашнее задание*:
> Написать программу на `perl`, которая найдет все html-файлы и в заголовках страниц (внутри ``) заменит ШРИ на КИТ
В качестве входных данных программы — пути до файлов. Интерфейс выглядит примерно таким образом:
```bash
perl replace-title path/to/files/*html
```Тогда будут обработаны все файлы html в указанной папке.
Исходный код программы лежит в папке **perl-regexp** данного репозитория
На проверке домашнего задания Виктор показал как решается эта задача буквально в строку, используя потоковый редактор `sed` (однако, все-таки даже ее стоит оформить в отдельный файл, который потом выполнять из-под bash).
```bash
find . -type f -iname '*.html' -print0 | xargs -0 sed -i .bak 's/\(.*\)ШРИ\(.*<\/title>\)/\1КИТ\2/'
```### Текстовые редакторы
Был очень клевый рассказ об основных вещах, которые нужно уметь делать быстро при работе с кодом. Для этого нужно научить свой текстовый редактор (никто не агитировал к использованию конкретного редактора или среды — главное, понять что нужно уметь делать) и приучить себя делать определенные вещи.
* десятипальцевый слепой набор
* быстрое перемещение по тексту
* поиск и замена
* быстрое перемещение по файлам
* дифы из редактора
* работа с гитом из редактораИгорь Новак показывал как он работает в Vim.
[Интересная ссылка](http://vim-adventures.com/) для изучения Vim в игровой форме (реально интересная игрушка)
### Системы менеджмента кода
[Сергей Сергеев](https://github.com/gurugray/) показывал [отличную презентацию](http://gurugray.ru/0912/shri/) по работе с системами контроля версий. Точнее Сергей разделяет понятие «системы контроля версий» и «системы менеджмента кода».
В презентации была [клевая интерактивная демка](https://github.com/gurugray/git-trainer): вводишь гитовые команды и получаешь граф коммитов с разделением на ветки.
С помощью этой демки можно легко «увидеть» разницу между `git merge` и `git rebase`
Много было рассказано про Git Flow — что это такое.