find
Оригинал: Упражнение 6: find
Переводчик: Феликс Волков
Лицензия: CC BY-NC-SA 4.0
Гордо использует Google Translate
Надеюсь, вы уже нашли различные способы, которые мешают вам приступить к работе, даже до того как вы начали. Возможно, это не так драмматично, но вы должны хотя бы определить вещи, которые можно улучшить в вашей среде, что делает вас менее склонным к началу работы. Эти небольшие упражнения — отличный способ сосредоточиться на старте, поскольку они не такие важные и могут поместиться в временной масштаб, подходящий для вашего анализа. Если эти проекты будут длиться несколько часов, когда вы будете пересматривать то, что сделали, и делать улучшения, вы можете почувствовать скуку. Краткосрочные 45-минутные проекты — это то, что вы можете записывать и очень быстро пересматривать.Это один из методов, который я использовал во время обучения. Я определяю области, где мне нужно улучшение, например, когда я начинаю работу или как я использую тот или иной инструмент. Затем я создаю упражнение, чтобы сосредоточиться на этой задаче. Когда я учился рисовать, я выходил и пытался рисовать деревья. Я садился и рассматривал проблему, и первое, что я заметил, было то, что я беру с собой слишком много предметов. Я также распределял все свои вещи по случайным местам рядом со своим домом. Я купил специальный набор для своих художественных материалов и поддерживал его всегда готовым. Когда я хотел рисовать вне дома, я брал этот набор, шёл к одному из нескольких мест, а не планировал заранее, куда буду рисовать. Я практиковался в том, чтобы взять свой набор, пойти к одному из двух мест, подготовиться, нарисовать картину, а затем вернуться домой, пока всё это не стало таким гладким, как шёлк. После этого я просмотрел работы Боба Росса и понял, как рисовать деревья, потому что этот человек мог быстро нарисовать множество деревьев.Именно это вы должны сделать. Многие люди тратят время и энергию на бесполезные занятия на работе. У вас есть ли специальное рабочее место, которое никогда не меняется? Я отказался от своего ноутбука и теперь использую только настольный компьютер, чтобы работать в одном и том же месте. Это также освобождает мою спину и шею от этой металлической массы, даёт мне больше экрана для работы и повышает мою продуктивность. В этом упражнении я хочу, чтобы вы сосредоточились на своём рабочем пространстве и убедились, что оно готово перед тем, как начать работу.
У вас достаточно света?
Вам требуется меньше света?
Как ваш стул?
Вам нужна лучшая клавиатура?
Есть ли ещё какие-то инструменты, которые мешают вам?
Вы пытаетесь выполнять Unix-команды на машине с Windows?
Пытаетесь делать что-то для Mac на Linux?
Не покупайте новую машину, но если вы обнаруживаете, что хотите сделать слишком много вещей, то рассмотрите возможность потратить крупную сумму денег.
Как ваш стол?
У вас он есть?
Вы целый день работаете в кафе за ужасный стул и пьёте кофе?
А музыка?
Вы слушаете песни с текстами?
Я заметил, что если я слушаю музыку без слов, мне легче сосредоточиться на звуках в моей голове, что помогает мне писать или программировать.
Вы работаете в открытом офисе, ваши коллеги отвлекают вас?
Купите себе большие наушники, закрывающие уши.Когда вы надеваете их, становится очевидно, что вы не хотите привлекать внимание, поэтому люди будут вас игнорировать. Это также поможет избежать отвлекающих факторов и сосредоточиться на работе. Используйте это упражнение для размышлений над такими темами и попытайтесь упростить и улучшить вашу среду. Одно условие — не тратите много денег на экзотические инструменты. Определите проблему, а затем попробуйте найти решение.## Упражнение по вызову
В этом вызове вам нужно реализовать базовую версию инструмента find
, который используется для поиска файлов. Вы можете запустить find
следующим образом:
find . -name "*.txt" -print
Это будет искать каждый файл в текущей директории, заканчивающийся на .txt
, и выводить его имя. У команды find
множество параметров командной строки, поэтому вы не должны пытаться реализовать все за 45 минут. Общий формат команды find
выглядит так:
.
или /usr/local/
.-name
или -type d
(файлы типа "directory").-print
.Вы также можете выполнять полезные действия, такие как выполнение команды для каждого найденного файла. Например, чтобы удалить каждый файл Ruby в домашней директории, можно использовать следующий пример:
find . -name "*.rb" -exec rm {} \;
Не запускайте эту команду, если вы не осознаёте, что она удалит все файлы с расширением .rb
. Параметр -exec
требует указания команды, которая заменяет {}
на имя файла, а затем прекращает чтение команды при встрече ;
(точки с запятой). В приведённом выше примере мы используем \;
, потому что многие оболочки используют ;
(точку с запятой) как часть своего синтаксиса, поэтому нам нужно её экранировать.Это упражнение действительно проверит ваши навыки работы с argparse
или sys.argv
. Я рекомендую вам запустить man find
, чтобы получить список параметров, а затем попытаться воспроизвести эти параметры с помощью find
. Вам доступно всего 45 минут, поэтому вы, возможно, не сможете реализовать всё, но -name
и -type
, а также -print
и -exec
являются обязательными. Параметр -exec
будет настоящим вызовом, поэтому оставьте его на последний момент.
Когда вы начнете реализацию, попытайтесь найти библиотеки, которые могут помочь вам в работе. Вы обязательно должны взглянуть на модуль subprocess
и модуль glob
. Также стоит внимательнее рассмотреть модуль os
.
find
вы смогли реализовать?Исправлено:
Вы можете сказать, что исследование перед началом работы не считается, это вполне допустимо.
Если вы хотите дополнительного вызова, то включите своё исследование в общее время 45 минут.
```## Глубокое изучение
Вы можете реализовать сколько функциональности `find` в хаке длительностью 45 минут? Возможно, стоит использовать это как подготовку к следующей неделе для хакатона, чтобы посмотреть, что вы сможете сделать. При этом важно попробовать создать лучшее, самое уродливое черное колдовство. Не волнуйтесь, я никому из этих агилистов не расскажу, вы просто играете.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )