Regexp: negative lookahead на практике
Понадобилось поискать в коде любые функции, кроме функции myFunc. Поможет такая регулярка \W(?!myFunc)(\w+)\( Т.е. любой символ не из слова, затем любое слово, но перед ним negative lookahead, что слово не равно myFunc. После чего ищется открывающая скобка. К примеру, в таком коде совпадёт только первая строка
1 2 |
{{ printLanguageTitle(languages, lang)|safe }} <{% if item.Link %}a href="{{ myFunc(item.Link) }}"{% else %}span{% endif %} |
Настройка IntelliJ IDEA для запуска py.test
Установить plugin для python IntelliJ Idea → Preferences → Plugins → Browse Repositories → Python
Установка и использование tmux
Устанавливаем отсюда — https://tmux.github.io/. Попутно ставим iTerm — https://www.iterm2.com/. Запуск:
1 |
tmux attach || tmux new |
Pytest: параметры запуска из командной строки
Можно запускать так (для запуска тестов по регулярке совпадающих с test_brands_page_desktop и лежащих внутри tests/goblin/):
1 |
py.test tests/goblin/ -s --alluredir=output --env=VN --browser=chrome -k test_brands_page_desktop |
Можно так (только в модуле):
1 |
py.test tests/goblin/gui_tests/desktop/test_desktop_brands_page.py |
Можно так (все тесты внутри класса):
1 |
py.test tests/goblin/ -s --alluredir=output tests/goblin/gui_tests/desktop/test_desktop_brands_page.py::TestBrandsPageDesktop --env=VN --browser=chrome |
Можно так (только указанный тест внутри класса):
1 |
py.test tests/goblin/ -s --alluredir=output tests/goblin/gui_tests/desktop/test_desktop_brands_page.py::TestBrandsPageDesktop::test_brands_page_ui_list --env=VN --browser=chrome |
http://doc.pytest.org/en/latest/usage.html
Pytest: как использовать allure и прочие нюансы
https://habrahabr.ru/company/yandex/blog/242795/
Pytest: beautiful soup. Как правильно парсить html.
Здесь говорится о том, какие есть селекторы, и как в целом работать с полученным html. https://www.crummy.com/software/BeautifulSoup/bs4/doc/
Golang: особенности видимости переменных
Задача: достать всех родителей категории, исключая текущую категорию.
SQL: выборка разреженных данных (не больше раза в час)
Допустим, мы сохраняем данные в базу раз в 10 минут. Нужно достать данные из базы, начинающиеся с определённого времени и не чаще одного раза за час. В качестве базы используется sqlite3, но идея реализуется так же для других SQL.
Как собрать и запустить свой докер
1 2 3 4 5 6 7 |
cd ~/Documents/docker/ git clone git@github.com:bullgare/docker-golang.git cd ./docker-golang/ docker build -t "bullgare:golang" . docker run -d bullgare:golang docker ps docker exec -ti <container id> /bin/bash |
Скопировать файлы с контейнера:
1 |
docker cp <containerId>:/file/path/within/container /host/path/target |
Настройка PhpStorm для запуска приложения golang
Нужно зайти в Run → Edit cofigurations → + → Go single file и далее настроить как на картинке. Название брать можно любое :) А Module и Working directory подставляются автоматически. В примере показано, как пробрасывать параметр к запуску бинарника.