Краткое руководство по работе с vim

Vim на первый взгляд кажется очень странным редактором, если им до этого не пользоваться, но на самом деле все просто.
Вот краткий список команд, которые помогут в работе тем, кто как я пользуется редактором в консоли крайне редко.

i — перейти в режим редактирования
Esc — выйти из режима редактирования
/ — поиск
n — следующее вхождение
v — начать выделение
V — выделить строку
y — копировать выделенное
p — вставить скопированное после курсора
P — вставить скопированное до курсора
G — перейти в конец файла
u — отмена

:w — сохранить
:wq — сохранить и выйти из файла
:q! — выйти из файла без сохранения

Рубрика: Разработка | Метки: , , | Комментарии к записи Краткое руководство по работе с vim отключены

Как не потерять в коде var_dump, print_r или любой другой тестовый вывод данных

Нередко бывает так, что в процессе отладки по коду остается много die с var_dump, print_r, echo или кому еще что нравится. И если код был довольно сложным — потом будет проблематично подчистить за собой, если не делать это сразу. Есть простой способ решить подобную проблему. Достаточно просто в любом месте кода, где выводятся тестовые данные поставить специальную разметку. Она должна быть уникальной и не похожей на другие сочетания символов. Например, я использую такую комбинацию — (~~). А дальше на помощь придет команда

grep -r "(~~)" путь-к-корню-сайта-на-сервере

в консоли, которая подскажет, где остался мусор.

Рубрика: Разработка | Метки: , , , | Комментарии к записи Как не потерять в коде var_dump, print_r или любой другой тестовый вывод данных отключены

Git: что делать, если при клонировании репозитория возникают ошибки

При клонировании репозитория на дев возникли ошибки

error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header

Есть несколько вариантов решения этой проблемы.

  1. Настройки памяти для Git. Решается прописыванием соответствующих настроек:
    git config --global pack.windowMemory "100m"
    git config --global pack.SizeLimit "100m" 
    git config --global pack.threads "1"
    git config --global pack.window "0"
  2. Ошибки в самом репозитории. Решается сканированием с последующей проверкой «битых» кусков.
    
    git fsck
    
Рубрика: Разработка | Метки: , , , | Комментарии к записи Git: что делать, если при клонировании репозитория возникают ошибки отключены

Битрикс: доступ на редактирование отдельной страницы отдельным пользователем

Если есть необходимость дать пользователю без доступа к админке права на редактирование текста на страницах сайта сделать это можно следующим образом:

  1. Понадобится создать включаемую область для конкретного куска страницы/текста/т.п. — это поможет избежать редактированием пользователем настроек компонентов, установленных непосредственно в теле страницы.
  2. В папке, где будет лежать указанная область, необходимо создать или дописать файл .access.php
    Нужно прописать: $PERM[«file.php»][«UХХХ»]=»W»;
    где file.php — имя включаемого файла, ХХХ — ID пользователя
  3. Создать группу пользователей «выборочное редактирование контента» (название на свой вкус), добавить к ней нужного пользователя/пользователей и дать группе права на работу с модулем «Управление структурой» на уровне «[F] Редактирование файлов и папок»
  4. Добавить права «Чтение» для группы в папку /bitrix/admin/
  5. В настройках главного модуля в блоке «Панель инструментов публичного раздела» нужно добавить созданную группу в «Всегда показывать панель для пользователей»

В результате пользователи группы будут видеть пустую панель, но при переключении в режим правки они смогу создавать и редактировать открытый для них файл включаемой области. При этом для каждого из участников группы на редактирование будет открыт только тот файл, на который проставлены доступы из пункта 2.

Подобная система позволяет реализовать группу редакторов контента, отвечающих за свои конкретные разделы/страницы, и не имеющих доступа к «техническим частям» страницы. Это удобно например в рамках корпоративного портала для редакторов разделов направление и т.п.

Рубрика: Разработка | Метки: , , , , | Комментарии к записи Битрикс: доступ на редактирование отдельной страницы отдельным пользователем отключены