{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Блог Михаила Озорнина: заметки с тегом компьютер",
    "_rss_description": "Главная · Блог · Работы ·",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/mikeozornin.ru\/blog\/tags\/kompyuter\/",
    "feed_url": "https:\/\/mikeozornin.ru\/blog\/tags\/kompyuter\/json\/",
    "icon": "https:\/\/mikeozornin.ru\/blog\/user\/userpic@2x.jpg?1614204384",
    "author": {
        "name": "Михаил Озорнин",
        "url": "https:\/\/mikeozornin.ru\/blog\/",
        "avatar": "https:\/\/mikeozornin.ru\/blog\/user\/userpic@2x.jpg?1614204384"
    },
    "items": [
        {
            "id": "138",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/main-rule-of-technology\/",
            "title": "Главное правило общении с компьютером для нетехнарей",
            "content_html": "<p class=\"lead\">В жизни бывают задачи, которые должен делать компьютер, но которые по своему незнанию часто делают люди. Правильно тратить на них время компьютера, а не своё. Своё просто обидно.<\/p>\n<p class=\"lead\">Если вы не технарь, не умеете программировать и не в совершенстве знаете Excel, то вам нужно научиться одному: уметь понимать какую задачу должен делать компьютер, а не вы. Если непонятно, как сделать её компьютером, нужно спросить у знакомого технаря.<\/p>\n<h2>Как узнать такую задачу<\/h2>\n<p>Задачи, которые должен делать компьютер и не делать человек, похожи между собой: их легко алгоритмизировать (описать четкий вариант решения), они обычно несложные, но массивные по количеству.<\/p>\n<p>Можно воспользоваться проверочными вопросами:<\/p>\n<ol start=\"1\">\n<li>Могу ли я вообще сделать задачу сам? (Сложность задачи только в том, что на нее требуется много времени, а не специальные знания и умения).<\/li>\n<li>Потребуется ли мне на задачу больше часа-двух работы?<\/li>\n<li>Похожа ли задача на «сделать какое-то несложное действие очень много раз»?<\/li>\n<li>Могу ли я четко описать, что нужно сделать над каждым из объектов?<\/li>\n<li>Представьте, что у вас есть очень много рабов, которые могут выполнять на компьютере очень простые задачи. Смогли бы вы раздать им задания и справиться с задачей с помощью них?<\/li>\n<\/ol>\n<p>Если на значительное количество вопросов ответ «да», то перед вами кандидат на автоматизацию.<\/p>\n<p>Я собрал примеры таких задач, может быть на примерах будет понятнее, о чем идет речь. Со всеми этими задачами сталкивался или я, или какие-то из моих знакомых.<\/p>\n<div class=\"e2-text-table\">\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n<tr>\n<td><b>Задача<\/b><\/td>\n<td><b>Что сделать<\/b><\/td>\n<\/tr>\n<tr>\n<td>Округлить картинки<\/td>\n<td>Есть квадратные фотографии, нужно сделать из них аватарки: круглые и того же размера.<\/td>\n<\/tr>\n<tr>\n<td>Уменьшить картинки<\/td>\n<td>Есть большие фотографии размера 4000×3000 пк. Чтобы выложить их на сайт, их нужно уменьшить: горизонтальные — до 1200 пк по большей стороне, вертикальные — до 900 пк по большей стороне.<\/td>\n<\/tr>\n<tr>\n<td>Добавить логотип<\/td>\n<td>Есть куча фотографий, в правый нижний угол каждой из них нужно добавить логотип.<\/td>\n<\/tr>\n<tr>\n<td>Оттипографить текст<\/td>\n<td>В имеющемся тексте нужно расставить правильные кавычки и тире, поставить неразрывные пробелы и т. п.<\/td>\n<\/tr>\n<tr>\n<td>Сделать бейджи на конференцию<\/td>\n<td>Для списка участников в excel-файле нужно подготовить и напечатать именные бейджи: логотип, дата и фио участника.<\/td>\n<\/tr>\n<tr>\n<td>Сделать открытки с благодарностями<\/td>\n<td>Есть список благодарностей в excel-файле. Нужно напечатать несколько сотен открыток, по одной на каждую благодарность: от кого, кому, текст благодарности.<\/td>\n<\/tr>\n<tr>\n<td>Перенести данные из одного excel-файла в другой<\/td>\n<td>Есть два excel-файла: <i>фио человека + дата рождения<\/i> и <i>фио человека + размер футболки<\/i>. Нужно получить итоговый файл <i>фио + дата рождения + размер футболки<\/i>. Все строки, конечно, перемешаны, а в одном из файлов есть лишние строки.<\/td>\n<\/tr>\n<tr>\n<td>Посчитать занятость переговорок<\/td>\n<td>Нужно посчитать сколько часов в день была занята каждая из 10 переговорок офиса, отчет нужен за последние 3 месяца.<\/td>\n<\/tr>\n<tr>\n<td>Скачать видео из интернета<\/td>\n<td>Есть какое-то видео на сайте, в вимео или другом хитром хостинге, хочется скачать его себе.<\/td>\n<\/tr>\n<tr>\n<td>Скачать сторис пачкой<\/td>\n<td>Скачать все сторис из аккаунта в Инстаграме.<\/td>\n<\/tr>\n<tr>\n<td>Перевести 1000 предложений<\/td>\n<td>Есть список из 1000 предложений, которые нужно перевести с помощью Гугл-переводчика.<\/td>\n<\/tr>\n<tr>\n<td>Заменить 250 символов в скетче<\/td>\n<td>Сделали новую версию скетч-библиотеки. Чтобы не ломать продуктовые файлы, библиотеку сохранили в новом файле, не изменяя старый. Нужно заменить старые символы на новые.<\/td>\n<\/tr>\n<tr>\n<td>Преобразовать фамилию, имя и отчество<\/td>\n<td>Есть список <i>фамилия, имя, отчество<\/i>, а нужно получить файл <i>имя и фамилия<\/i>.<\/td>\n<\/tr>\n<tr>\n<td>Покрасить положительные числа<\/td>\n<td>Нужно покрасить в excel-файле все положительные числа в зеленый, отрицательные в красный. Чем больше модуль числа, тем более насыщенным цветом нужно покрасить.<\/td>\n<\/tr>\n<tr>\n<td>Нанести на карту список адресов<\/td>\n<td style=\"text-align: left\">Есть excel-файл с таблицей адресов и названий, нужно нанести адреса на Яндекс-карту.<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<h2>Почему не надо делать вручную<\/h2>\n<p>Я знаю людей, которые вручную верстали несколько сотен открыток, видел сверстанные вручную бейджи, видел как люди копируют что-то из одного файла в другой. Не делайте так.<\/p>\n<p>Если объектов хотя бы 50, то такие задачи лучше не делать вручную, а автоматизировать. Вот почему:<\/p>\n<ul>\n<li>При ручном действии можно легко ошибиться: скопировать что-то не то, что-то пропустить, можно неровно сверстать бейдж, а адрес вставить с ошибкой. Чтобы не получить ошибочный результат, лучше довериться машине: человек часто ошибается, машина — нет.<\/li>\n<li>Если понадобится сделать что-то почти так же, но немного по-другому, то нужно будет все переделывать. Захотели сделать такие же бейджи, но без отчества — переделывать, захотели с другим логотипом — переделывать, поменять расположение текста и логотипа — ну вы поняли.<\/li>\n<li>Если понадобится повторить ещё раз так же, нужно будет делать ещё раз.<\/li>\n<\/ul>\n<p>Если на каких-то бейджах логотип немного скачет, можно точно сказать: сделавший их дизайнер делал их вручную сам, он не жалеет себя и не заботится о заказчике.<\/p>\n<h2>Способы автоматизации<\/h2>\n<p>Здесь я напишу способы автоматизации, которыми пользуюсь сам чаще всего. Некоторые из способов назвать способами автоматизации можно лишь с натягом, но для некоторых задач достаточно даже их.<\/p>\n<h3>Множественные курсоры в текстовом редакторе<\/h3>\n<p>В современных текстовых редакторах можно использовать не один, а сразу много курсоров. Это удобно, если нужно сделать одно и то же действие сразу на нескольких строчках.<\/p>\n<p>Вот как это выглядит в жизни:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/main-rule-of-technology-multicursor.gif\" width=\"447\" height=\"182\" alt=\"\" \/>\n<\/div>\n<p>Как пользоваться:<\/p>\n<ul>\n<li>VS Code: <a href=\"https:\/\/code.visualstudio.com\/docs\/editor\/codebasics#_multiple-selections-multicursor\">code.visualstudio.com\/docs\/editor\/codebasics#_multiple-selections-multicursor<\/a><\/li>\n<li>Sublime Text: <a href=\"https:\/\/www.sublimetext.com\/docs\/selection\">sublimetext.com\/docs\/selection<\/a><\/li>\n<\/ul>\n<h3>Поиск и замена в текстовом редакторе<\/h3>\n<p>Очень многие задачи можно сделать простым поиском и заменой, особенно, если искать по регулярному выражению.<\/p>\n<p>Например, чтобы вырезать отчество в файле из строк <b>имя, отчество, фамилия<\/b>, можно не писать скрипты, а сделать замену [а-яА-Я] на пробел (добавьте по краям [a-яА-Я] пробелы и включите режим регулярных выражений):<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/main-rule-of-technology-3@2x.png\" width=\"598\" height=\"67\" alt=\"\" \/>\n<\/div>\n<p>UPD. Илья Бирман написал, что решил бы задачу мультикурсором. Да, мультикурсором тоже можно.<\/p>\n<h3>Макросы в текстовом редакторе<\/h3>\n<p>Во многих текстовых редакторах можно записывать последовательность нескольких действий в виде макроса, а потом повторять их. Представьте, что вы один раз показываете компьютеру как нужно сделать, остальные две тысячи раз он делает сам вместо вас.<\/p>\n<p>Обычно макросами я делаю действия, которые с ходу не понимаю как сделать заменой: дописать кавычки в середине и в конце определенных частей текста.<\/p>\n<h3>Excel<\/h3>\n<p>Excel — кладезь автоматизатора. Если вы можете изучить только один инструмент — начните с excel. В нем можно делать преобразования данных, объединять и делить файлы, работать с числами и строками и т. п. Если научиться писать макросы, то с помощью них можно делать вообще почти все на свете.<\/p>\n<p>Говоря excel я всегда подразумеваю его аналоги: google sheets и apple numbers. Google sheets вообще часто удобнее потому, что работает в браузере.<\/p>\n<p>Не уметь пользоваться excel очень — нормально, я пользуюсь excel’ем из рук вон плохо, если мне нужно настроить сводную, я или гуглю, или иду к тому, кто умеет их настраивать.<\/p>\n<h3>Mail merge в Word’е<\/h3>\n<p>Mail merge — это инструментарии MS Office для генерирования и отправки документов, открыток, бейджей. Сформировали шаблон документа, подключили файл с данными, получили 250 бейджей и отправили их на печать.<\/p>\n<h3>Скрипты и утилиты<\/h3>\n<p>Сюда я отношу внешние программы, скрипты и утилиты типа imagemagick. Они пригодятся, когда нужно обрезать, сконвертировать, переименовать, пережать пачку картинок или файлов, поискать содержимое в файлах, скопировать в другую папку все файлы, внутри которых есть слово «абракадабра».<\/p>\n<h3>Скрипт на питоне или павершелле<\/h3>\n<p>Если готовые скрипты не находятся, то можно написать свои, но тут уже нужно быть хотя бы немного программистом.<\/p>\n<h2>Что с этим делать<\/h2>\n<p>Если вы не технарь, не умеете программировать и не в совершенстве знаете Excel, то вам нужно научиться одному: уметь понимать какую задачу должен делать компьютер, а не вы. Если непонятно, как сделать её компьютером, нужно спросить у знакомого технаря.<\/p>\n<p>Чтобы показать как мыслю лично я, я покажу, как бы решал задачи, про которые писал выше. Они могут выглядеть немного страшно, если вас пугает и путает, не читайте.<\/p>\n<h3>Округлить картинки<\/h3>\n<p><b>Задача:<\/b> Есть квадратные фотографии, нужно сделать из них аватарки: круглые и того же размера.<br \/>\n<b>Способ решения:<\/b> Утилиты и скрипты<br \/>\n<b>Решение:<\/b> Установить imagemagick и произнести заклинание<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">for i in *.png ; \\\r\ndo convert &quot;$i&quot; -alpha set \\\r\n    \\( +clone -distort DePolar 0 \\\r\n       -virtual-pixel HorizontalTile -background None -distort Polar 0 \\) \\\r\n    -compose Dst_In -composite -trim +repage &quot;$i&quot; ; \\\r\ndone<\/code><\/pre><p>Написать такое я не способен, но на поиск в гугле ушла одна минута.<\/p>\n<h3>Уменьшить картинки<\/h3>\n<p><b>Задача:<\/b> Есть большие фотографии размера 4000×3000 пк. Чтобы выложить их на сайт их нужно уменьшить: горизонтальные — до 1200 пк по ширине, вертикальные — до 900 пк по высоте.<br \/>\n<b>Способ решения:<\/b> Утилиты и скрипты<br \/>\n<b>Решение:<\/b> Установить imagemagick и произнести заклинание<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">magick mogrify -resize 1200x900 *.jpg<\/code><\/pre><h3>Добавить логотип<\/h3>\n<p><b>Задача: <\/b>Есть куча фотографий, в правый нижний угол каждой из них нужно добавить логотип.<br \/>\n<b>Способ решения:<\/b> Программы или скрипты<br \/>\n<b>Решение:<\/b> Вообще проще всего составить action для фотошопа. Но т. к. фотошопом пользоваться я так и не научился, то я бы воспользовался Annotating Images в imagemagick (<a href=\"https:\/\/imagemagick.org\/Usage\/annotating\">imagemagick.org\/Usage\/annotating\/<\/a>).<\/p>\n<h3>Оттипографить текст<\/h3>\n<p><b>Задача: <\/b>В имеющемся тексте нужно расставить правильные кавычки и тире, поставить неразрывные пробелы и т. п.<br \/>\n<b>Способ решения:<\/b> Утилиты и скрипты<br \/>\n<b>Решение:<\/b> Установить себе <a href=\"http:\/\/alfredapp.com\">в альфред<\/a> макрос для типографа (<a href=\"https:\/\/github.com\/voldmar\/alfred-typograf\">github.com\/voldmar\/alfred-typograf<\/a>). Выделить текст, нажать ⌃ + ⇧ + T.<\/p>\n<h3>Сделать бейджи на конференцию<\/h3>\n<p><b>Задача:<\/b> Для списка участников в excel-файле нужно подготовить и напечатать именные бейджи: логотип, дата и фио участника.<br \/>\n<b>Способ решения:<\/b> MS Word<br \/>\n<b>Решение:<\/b><\/p>\n<ul>\n<li>Сделать шаблон документа в MS Word’е.<\/li>\n<li>Подставить в него поля для переменных из excel-документа.<\/li>\n<li>Сгенерировать или напечатать нужное количество бейджей по шаблону.<\/li>\n<\/ul>\n<p>Как пользоваться Mail merge’ем в Word: <a href=\"https:\/\/support.microsoft.com\/ru-ru\/help\/318118\/how-to-use-the-mail-merge-feature-in-word-to-create-and-to-print-form\">support.microsoft.com\/ru-ru\/help\/318118\/how-to-use-the-mail-merge-feature-in-word-to-create-and-to-print-form<\/a><\/p>\n<h3>Сделать открытки с текстом или благодарностями<\/h3>\n<p><b>Задача:<\/b> Есть список благодарностей в excel-файле, нужно напечатать на открытках от кого, кому и текст благодарности.<\/p>\n<p>См. выше, все тот же mail merge.<\/p>\n<h3>Перенести данные из одного excel-файла в другой<\/h3>\n<p><b>Задача:<\/b> Есть два excel-файла: <i>фио человека + дата рождения<\/i> и <i>фио человека + размер футболки<\/i>. Нужно получить итоговый файл <i>фио + дата рождения + размер футболки<\/i>. Все строки, конечно, перемешаны, а в одном из файлов есть лишние строки.<br \/>\n<b>Способ решения:<\/b> Excel<br \/>\n<b>Решение:<\/b> Написать формулу с поиском по другому листу — VLookUp (<span class=\"e2-caps\">ВПР<\/span> в русской версии).<\/p>\n<h3>Посчитать занятость переговорок<\/h3>\n<p><b>Задача:<\/b> Нужно посчитать сколько часов в день была занята каждая из 10 переговорок офиса, отчет нужен за последние 3 месяца.<br \/>\n<b>Способ решения:<\/b> Скрипты<br \/>\n<b>Решение:<\/b> Дойти до знакомого разработчика и попросить забирать нужные данные по <span class=\"e2-caps\">API<\/span> Outlook-сервера.<\/p>\n<p>О конкретно этой задаче я узнал случайно, к этому моменту человек уже два или три месяца составлял отчет вручную. Он ежедневно открывал календарь переговорок, суммировал занятые часы, записывал число в ячейку файла и переходил к следующей переговорке. Больше 10 переговорок. Каждый день. В течение пары месяцев. Я бы восхищен упорством человека, я бы не выдержал и недели.<\/p>\n<p>Конкретно в этом случае нетехнари сделали все, что смогли — поняли, что задача — кандидат на автоматизацию и сходили к технарям, где им сказали, что формировать такой отчет автоматически невозможно.<\/p>\n<h3>Скачать видео из интернета<\/h3>\n<p><b>Задача:<\/b> Есть какое-то видео на сайте, на ютубе, вимео или другом хитром хостинге, хочется скачать его себе.<br \/>\n<b>Способ решения:<\/b> Программа, утилиты и скрипты<br \/>\n<b>Решение<\/b>: В простом случае — воспользоваться <a href=\"https:\/\/www.4kdownload.com\/ru\/\">программами 4K<\/a>. В более сложном — скопировать какой-нибудь адрес видео веб-инспектором, в еще более сложном — погуглить какую-нибудь консольную команду для ffmpeg.<\/p>\n<h3>Перевести 1000 предложений<\/h3>\n<p><b>Задача:<\/b> Есть список из 1000 предложений, которые нужно перевести с помощью Гугл-переводчика.<br \/>\n<b>Способ решения:<\/b> Google sheets<br \/>\n<b>Решение: <\/b> Вставить предложения в документ, перевести в соседнюю ячейку с помощью формулы (<a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1SuCf8qqpciAojbGbnQ2hOymOTj6HrMM4rqBWmA9X1_s\/edit?usp=sharing\">см. пример<\/a>):<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">=GOOGLETRANSLATE(A1,&quot;ru&quot;, &quot;en&quot;)<\/code><\/pre><h3>Заменить 250 символов в скетче<\/h3>\n<p><b>Задача:<\/b> Сделали новую версию скетч-библиотеки. Чтобы не ломать продуктовые файлы, библиотеку сохранили в новом файле, не изменяя старый. Нужно заменить старые символы на новые.<br \/>\n<b>Способ решения:<\/b> Утилиты и скрипты<br \/>\n<b>Решение<\/b>: Установить <a href=\"https:\/\/github.com\/sonburn\/symbol-swapper\">Symbol Swapper<\/a> и заменить им.<\/p>\n<h3>Преобразовать фамилию, имя и отчество<\/h3>\n<p><b>Задача:<\/b> Есть список <i>фамилия, имя, отчество<\/i>, а нужно получить файл <i>имя и фамилия<\/i>.<br \/>\n<b>Способ решения:<\/b> Excel<br \/>\n<b>Решение<\/b>: Я бы сделал это в excel \/ google sheets. Вставить в колонку значения, в следующие три колонки разделить их на части, и потом сцепить в нужном порядке.<\/p>\n<h3>Покрасить положительные числа<\/h3>\n<p><b>Задача:<\/b> Нужно покрасить в excel-файле все положительные числа в зеленый, отрицательные в красный. Чем больше модуль числа, тем более насыщенным цветом нужно покрасить.<br \/>\n<b>Способ решения:<\/b> Excel<br \/>\n<b>Решение<\/b>: Использоваться conditional formatting. Как им пользоваться: <a href=\"https:\/\/support.office.com\/en-us\/article\/use-conditional-formatting-to-highlight-information-fed60dfa-1d3f-4e13-9ecb-f1951ff89d7f\">support.office.com\/en-us\/article\/use-conditional-formatting-to-highlight-information-fed60dfa-1d3f-4e13-9ecb-f1951ff89d7f<\/a><\/p>\n<h3>Нанести на карту список адресов<\/h3>\n<p><b>Задача:<\/b> Есть Excel-файл с таблицей адресов и названий, нужно загрузить из на Яндекс-карту.<br \/>\n<b>Способ решения:<\/b> Google sheets, <span class=\"e2-caps\">API<\/span><br \/>\n<b>Решение<\/b>: Я делал это в такой последовательности:<\/p>\n<ul>\n<li>Импортировать excel-файл в google sheets.<\/li>\n<li>Написать простую функцию на геокодирование: отправить по <span class=\"e2-caps\">API<\/span> в Яндекс-карты адрес и получить в ячейку координаты.<\/li>\n<li>Разбить строку координат на две и поставить их на лист в нужном порядке.<\/li>\n<li>Экспортировать лист в <span class=\"e2-caps\">CSV<\/span>-файл и загрузить на Яндекс-карты.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1rPn4woU1TOPSDhWFiJSdkhbeIw_l8yxcqWRrUwfiLt0\/edit?usp=sharing\">Пример таблицы с вызовами<\/a><\/p>\n<div class=\"post-summary\"><div class=\"post-summary__header\"><p>Запомнить<\/p>\n<\/div><div class=\"post-summary__text\"><ol start=\"1\">\n<li>Есть много задач, которые должен делать компьютер, а не человек.<\/li>\n<li>Главное — научиться замечать такие задачи.<\/li>\n<li>Если понятно, что задачу должен делать компьютер, но неясно как его заставить, нужно спросить знакомого технаря.<\/li>\n<\/ol>\n<\/div><\/div>",
            "date_published": "2019-12-17T02:39:32+03:00",
            "date_modified": "2020-02-26T20:16:45+03:00",
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/main-rule-of-technology@2x.png",
            "_date_published_rfc2822": "Tue, 17 Dec 2019 02:39:32 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "138",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/main-rule-of-technology@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/main-rule-of-technology-multicursor.gif",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/main-rule-of-technology-3@2x.png"
                ]
            }
        }
    ],
    "_e2_version": 3798,
    "_e2_ua_string": "E2 (v3798; Aegea)"
}