Rose debug info
---------------

Главное правило общении с компьютером для нетехнарей

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

Если вы не технарь, не умеете программировать и не в совершенстве знаете Excel, то вам нужно научиться одному: уметь понимать какую задачу должен делать компьютер, а не вы. Если непонятно, как сделать её компьютером, нужно спросить у знакомого технаря.

Как узнать такую задачу

Задачи, которые должен делать компьютер и не делать человек, похожи между собой: их легко алгоритмизировать (описать четкий вариант решения), они обычно несложные, но массивные по количеству.

Можно воспользоваться проверочными вопросами:

  1. Могу ли я вообще сделать задачу сам? (Сложность задачи только в том, что на нее требуется много времени, а не специальные знания и умения).
  2. Потребуется ли мне на задачу больше часа-двух работы?
  3. Похожа ли задача на «сделать какое-то несложное действие очень много раз»?
  4. Могу ли я четко описать, что нужно сделать над каждым из объектов?
  5. Представьте, что у вас есть очень много рабов, которые могут выполнять на компьютере очень простые задачи. Смогли бы вы раздать им задания и справиться с задачей с помощью них?

Если на значительное количество вопросов ответ «да», то перед вами кандидат на автоматизацию.

Я собрал примеры таких задач, может быть на примерах будет понятнее, о чем идет речь. Со всеми этими задачами сталкивался или я, или какие-то из моих знакомых.

Задача Что сделать
Округлить картинки Есть квадратные фотографии, нужно сделать из них аватарки: круглые и того же размера.
Уменьшить картинки Есть большие фотографии размера 4000×3000 пк. Чтобы выложить их на сайт, их нужно уменьшить: горизонтальные — до 1200 пк по большей стороне, вертикальные — до 900 пк по большей стороне.
Добавить логотип Есть куча фотографий, в правый нижний угол каждой из них нужно добавить логотип.
Оттипографить текст В имеющемся тексте нужно расставить правильные кавычки и тире, поставить неразрывные пробелы и т. п.
Сделать бейджи на конференцию Для списка участников в excel-файле нужно подготовить и напечатать именные бейджи: логотип, дата и фио участника.
Сделать открытки с благодарностями Есть список благодарностей в excel-файле. Нужно напечатать несколько сотен открыток, по одной на каждую благодарность: от кого, кому, текст благодарности.
Перенести данные из одного excel-файла в другой Есть два excel-файла: фио человека + дата рождения и фио человека + размер футболки. Нужно получить итоговый файл фио + дата рождения + размер футболки. Все строки, конечно, перемешаны, а в одном из файлов есть лишние строки.
Посчитать занятость переговорок Нужно посчитать сколько часов в день была занята каждая из 10 переговорок офиса, отчет нужен за последние 3 месяца.
Скачать видео из интернета Есть какое-то видео на сайте, в вимео или другом хитром хостинге, хочется скачать его себе.
Скачать сторис пачкой Скачать все сторис из аккаунта в Инстаграме.
Перевести 1000 предложений Есть список из 1000 предложений, которые нужно перевести с помощью Гугл-переводчика.
Заменить 250 символов в скетче Сделали новую версию скетч-библиотеки. Чтобы не ломать продуктовые файлы, библиотеку сохранили в новом файле, не изменяя старый. Нужно заменить старые символы на новые.
Преобразовать фамилию, имя и отчество Есть список фамилия, имя, отчество, а нужно получить файл имя и фамилия.
Покрасить положительные числа Нужно покрасить в excel-файле все положительные числа в зеленый, отрицательные в красный. Чем больше модуль числа, тем более насыщенным цветом нужно покрасить.
Нанести на карту список адресов Есть excel-файл с таблицей адресов и названий, нужно нанести адреса на Яндекс-карту.

Почему не надо делать вручную

Я знаю людей, которые вручную верстали несколько сотен открыток, видел сверстанные вручную бейджи, видел как люди копируют что-то из одного файла в другой. Не делайте так.

Если объектов хотя бы 50, то такие задачи лучше не делать вручную, а автоматизировать. Вот почему:

  • При ручном действии можно легко ошибиться: скопировать что-то не то, что-то пропустить, можно неровно сверстать бейдж, а адрес вставить с ошибкой. Чтобы не получить ошибочный результат, лучше довериться машине: человек часто ошибается, машина — нет.
  • Если понадобится сделать что-то почти так же, но немного по-другому, то нужно будет все переделывать. Захотели сделать такие же бейджи, но без отчества — переделывать, захотели с другим логотипом — переделывать, поменять расположение текста и логотипа — ну вы поняли.
  • Если понадобится повторить ещё раз так же, нужно будет делать ещё раз.

Если на каких-то бейджах логотип немного скачет, можно точно сказать: сделавший их дизайнер делал их вручную сам, он не жалеет себя и не заботится о заказчике.

Способы автоматизации

Здесь я напишу способы автоматизации, которыми пользуюсь сам чаще всего. Некоторые из способов назвать способами автоматизации можно лишь с натягом, но для некоторых задач достаточно даже их.

Множественные курсоры в текстовом редакторе

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

Вот как это выглядит в жизни:

Как пользоваться:

Поиск и замена в текстовом редакторе

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

Например, чтобы вырезать отчество в файле из строк имя, отчество, фамилия, можно не писать скрипты, а сделать замену [а-яА-Я] на пробел (добавьте по краям [a-яА-Я] пробелы и включите режим регулярных выражений):

UPD. Илья Бирман написал, что решил бы задачу мультикурсором. Да, мультикурсором тоже можно.

Макросы в текстовом редакторе

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

Обычно макросами я делаю действия, которые с ходу не понимаю как сделать заменой: дописать кавычки в середине и в конце определенных частей текста.

Excel

Excel — кладезь автоматизатора. Если вы можете изучить только один инструмент — начните с excel. В нем можно делать преобразования данных, объединять и делить файлы, работать с числами и строками и т. п. Если научиться писать макросы, то с помощью них можно делать вообще почти все на свете.

Говоря excel я всегда подразумеваю его аналоги: google sheets и apple numbers. Google sheets вообще часто удобнее потому, что работает в браузере.

Не уметь пользоваться excel очень — нормально, я пользуюсь excel’ем из рук вон плохо, если мне нужно настроить сводную, я или гуглю, или иду к тому, кто умеет их настраивать.

Mail merge в Word’е

Mail merge — это инструментарии MS Office для генерирования и отправки документов, открыток, бейджей. Сформировали шаблон документа, подключили файл с данными, получили 250 бейджей и отправили их на печать.

Скрипты и утилиты

Сюда я отношу внешние программы, скрипты и утилиты типа imagemagick. Они пригодятся, когда нужно обрезать, сконвертировать, переименовать, пережать пачку картинок или файлов, поискать содержимое в файлах, скопировать в другую папку все файлы, внутри которых есть слово «абракадабра».

Скрипт на питоне или павершелле

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

Что с этим делать

Если вы не технарь, не умеете программировать и не в совершенстве знаете Excel, то вам нужно научиться одному: уметь понимать какую задачу должен делать компьютер, а не вы. Если непонятно, как сделать её компьютером, нужно спросить у знакомого технаря.

Чтобы показать как мыслю лично я, я покажу, как бы решал задачи, про которые писал выше. Они могут выглядеть немного страшно, если вас пугает и путает, не читайте.

Округлить картинки

Задача: Есть квадратные фотографии, нужно сделать из них аватарки: круглые и того же размера.
Способ решения: Утилиты и скрипты
Решение: Установить imagemagick и произнести заклинание

for i in *.png ; \
do convert "$i" -alpha set \
    \( +clone -distort DePolar 0 \
       -virtual-pixel HorizontalTile -background None -distort Polar 0 \) \
    -compose Dst_In -composite -trim +repage "$i" ; \
done

Написать такое я не способен, но на поиск в гугле ушла одна минута.

Уменьшить картинки

Задача: Есть большие фотографии размера 4000×3000 пк. Чтобы выложить их на сайт их нужно уменьшить: горизонтальные — до 1200 пк по ширине, вертикальные — до 900 пк по высоте.
Способ решения: Утилиты и скрипты
Решение: Установить imagemagick и произнести заклинание

magick mogrify -resize 1200x900 *.jpg

Добавить логотип

Задача: Есть куча фотографий, в правый нижний угол каждой из них нужно добавить логотип.
Способ решения: Программы или скрипты
Решение: Вообще проще всего составить action для фотошопа. Но т. к. фотошопом пользоваться я так и не научился, то я бы воспользовался Annotating Images в imagemagick (imagemagick.org/Usage/annotating/).

Оттипографить текст

Задача: В имеющемся тексте нужно расставить правильные кавычки и тире, поставить неразрывные пробелы и т. п.
Способ решения: Утилиты и скрипты
Решение: Установить себе в альфред макрос для типографа (github.com/voldmar/alfred-typograf). Выделить текст, нажать ⌃ + ⇧ + T.

Сделать бейджи на конференцию

Задача: Для списка участников в excel-файле нужно подготовить и напечатать именные бейджи: логотип, дата и фио участника.
Способ решения: MS Word
Решение:

  • Сделать шаблон документа в MS Word’е.
  • Подставить в него поля для переменных из excel-документа.
  • Сгенерировать или напечатать нужное количество бейджей по шаблону.

Как пользоваться Mail merge’ем в Word: support.microsoft.com/ru-ru/help/318118/how-to-use-the-mail-merge-feature-in-word-to-create-and-to-print-form

Сделать открытки с текстом или благодарностями

Задача: Есть список благодарностей в excel-файле, нужно напечатать на открытках от кого, кому и текст благодарности.

См. выше, все тот же mail merge.

Перенести данные из одного excel-файла в другой

Задача: Есть два excel-файла: фио человека + дата рождения и фио человека + размер футболки. Нужно получить итоговый файл фио + дата рождения + размер футболки. Все строки, конечно, перемешаны, а в одном из файлов есть лишние строки.
Способ решения: Excel
Решение: Написать формулу с поиском по другому листу — VLookUp (ВПР в русской версии).

Посчитать занятость переговорок

Задача: Нужно посчитать сколько часов в день была занята каждая из 10 переговорок офиса, отчет нужен за последние 3 месяца.
Способ решения: Скрипты
Решение: Дойти до знакомого разработчика и попросить забирать нужные данные по API Outlook-сервера.

О конкретно этой задаче я узнал случайно, к этому моменту человек уже два или три месяца составлял отчет вручную. Он ежедневно открывал календарь переговорок, суммировал занятые часы, записывал число в ячейку файла и переходил к следующей переговорке. Больше 10 переговорок. Каждый день. В течение пары месяцев. Я бы восхищен упорством человека, я бы не выдержал и недели.

Конкретно в этом случае нетехнари сделали все, что смогли — поняли, что задача — кандидат на автоматизацию и сходили к технарям, где им сказали, что формировать такой отчет автоматически невозможно.

Скачать видео из интернета

Задача: Есть какое-то видео на сайте, на ютубе, вимео или другом хитром хостинге, хочется скачать его себе.
Способ решения: Программа, утилиты и скрипты
Решение: В простом случае — воспользоваться программами 4K. В более сложном — скопировать какой-нибудь адрес видео веб-инспектором, в еще более сложном — погуглить какую-нибудь консольную команду для ffmpeg.

Перевести 1000 предложений

Задача: Есть список из 1000 предложений, которые нужно перевести с помощью Гугл-переводчика.
Способ решения: Google sheets
Решение: Вставить предложения в документ, перевести в соседнюю ячейку с помощью формулы (см. пример):

=GOOGLETRANSLATE(A1,"ru", "en")

Заменить 250 символов в скетче

Задача: Сделали новую версию скетч-библиотеки. Чтобы не ломать продуктовые файлы, библиотеку сохранили в новом файле, не изменяя старый. Нужно заменить старые символы на новые.
Способ решения: Утилиты и скрипты
Решение: Установить Symbol Swapper и заменить им.

Преобразовать фамилию, имя и отчество

Задача: Есть список фамилия, имя, отчество, а нужно получить файл имя и фамилия.
Способ решения: Excel
Решение: Я бы сделал это в excel / google sheets. Вставить в колонку значения, в следующие три колонки разделить их на части, и потом сцепить в нужном порядке.

Покрасить положительные числа

Задача: Нужно покрасить в excel-файле все положительные числа в зеленый, отрицательные в красный. Чем больше модуль числа, тем более насыщенным цветом нужно покрасить.
Способ решения: Excel
Решение: Использоваться conditional formatting. Как им пользоваться: support.office.com/en-us/article/use-conditional-formatting-to-highlight-information-fed60dfa-1d3f-4e13-9ecb-f1951ff89d7f

Нанести на карту список адресов

Задача: Есть Excel-файл с таблицей адресов и названий, нужно загрузить из на Яндекс-карту.
Способ решения: Google sheets, API
Решение: Я делал это в такой последовательности:

  • Импортировать excel-файл в google sheets.
  • Написать простую функцию на геокодирование: отправить по API в Яндекс-карты адрес и получить в ячейку координаты.
  • Разбить строку координат на две и поставить их на лист в нужном порядке.
  • Экспортировать лист в CSV-файл и загрузить на Яндекс-карты.

Пример таблицы с вызовами

Запомнить

  1. Есть много задач, которые должен делать компьютер, а не человек.
  2. Главное — научиться замечать такие задачи.
  3. Если понятно, что задачу должен делать компьютер, но неясно как его заставить, нужно спросить знакомого технаря.
Поделиться
Отправить
Запинить
 3261   2019   компьютер
Подписаться на блог…
3 комментария
Елена Журавлева 2019

«Есть список фамилия, имя, отчество, а нужно получить файл имя и фамилия.»

Я бы советовала для этого DaData.ru, потому что частенько в таких файлах компоненты (фамилия, имя отчество) перепутаны местами, и еще есть сложные имена из пары слов типа Анна Мария.

Михаил Озорнин 2019

Дадата — хороший вариант :—)

Nikita Matveenko 2020

Ещё пример — понравилось, как Сергей Николаев в Студии Лебедева написал скрипт, который нагенерировал более 700 маршрутов «Путь болельщика» для московского метро на чемпионат мира по футболу 2018 года: https://www.artlebedev.ru/metro/fans-way/

Мэт 2020

Нанести на карту список адресов

Не очень понял это решение, у меня всё было гораздо проще. Возможно, потому что мне не было разницы, какие карты, и я сделал в гугле. Открыл карту, нашёл какой-то пункт со «своими списками», кажется. Подключил свою таблицу со столбцами «город», «адрес», «тип мебели» получил после этого карту со отметками.