Отладчики должны быть запрещены . Это заставит людей писать код, который можно тестировать с помощью модульных тестов, и в конечном итоге приведет к гораздо лучшему качеству кода.
Удалить копию & amp; Вставьте из ВСЕХ программных IDE . Копировать и вставленный код очень плох, эта опция должна быть полностью удалена. Тогда программист, надеюсь, будет слишком ленив, чтобы перепечатать весь код, поэтому он создает функцию и повторно использует код.
Всякий раз, когда вы используете Singleton, ударь себя . Синглтоны почти никогда не нужны, и в большинстве случаев это просто причудливые имена для глобальной переменной.
Вы правильно поняли: locate
использует базу данных под названием « locateb
». Обычно он обновляется заданиями системного cron (не уверен, какие именно в OS X); вы можете принудительно выполнить обновление с помощью команды updatedb
. См. http://linux-sxs.org/utilities/updatedb.html и др.
Кроме того, если вы не найдете файлы, которые вы ожидаете найти, обратите внимание на это важное предостережение из раздела ОШИБКИ OSX ' locate (1) справочная страница:
База данных locate обычно создается пользователем' 'none' 'и
Утилита locate.updatedb (8) пропускает каталоги, которые не читаются
для пользователя «никто», группы «никто» или мира. Например, если ваш
Каталог HOME не доступен для чтения всем, ни один из ваших файлов не находится в базе данных.
Другие ответы о необходимости обновления базы данных местоположения верны. У меня есть этот псевдоним для обновления моей базы данных locate:
alias update_locate='sudo /usr/libexec/locate.updatedb'
Я больше не использую locate, когда нашел mdfind . Он использует индекс файла прожектора, который OSX намного лучше поддерживает в актуальном состоянии по сравнению с расположеннымb. Он также имеет немного больше возможностей для поиска из командной строки.
Действительно, команда locate выполняет поиск по индексу, поэтому это довольно быстро . Индекс создается командой updatedb , которая обычно запускается как ночной или еженедельное задание.
Поэтому, чтобы обновить его вручную, просто запустите updatedb .
Согласно странице руководства, его база данных обновляется один раз в неделю:
NAME
locate.updatedb -- update locate database
SYNOPSIS
/usr/libexec/locate.updatedb
DESCRIPTION
The locate.updatedb utility updates the database used by locate(1). It is typically run once a week by
the /etc/periodic/weekly/310.locate script.
Взгляните на страницу руководства locate
http: //unixhelp.ed.ac.uk/CGI/man-cgi?locate+1
Вы увидите, что locate выполняет поиск в базе данных, а не в вашей реальной файловой системе. Вы можете обновить эту базу данных с помощью команды updatedb.
Кроме того, поскольку это база данных, если вы не обновляете ее регулярно, вы не сможете найти файлы в вашей файловой системе, которых нет в базе данных.