Три года назад разработчик Софи Кунин* опубликовала пост под названием «Вот что я нагуглила за неделю в качестве профессионального инженера-программиста», и он явно нашел отклик у читателей, поскольку стал довольно вирусным. За эти три года многое произошло. Софи повысили, теперь она старший инженер-программист и руководитель направления веб-разработок в Monzo. Но одно не изменилось: она по-прежнему много гуглит, каждый божий день. Вот что она нагуглила за неделю, версия 2022 года.

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

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.


Некоторые из моих поисковых запросов могут заставить вас рассмеяться и подумать: «Как же этого можно не знать?». Есть несколько причин, по которым вы можете чего-то не знать (подчеркните нужное):

  • вы никогда не использовали это раньше;

  • вы использовали это раньше, но не можете вспомнить;

  • это изменилось с тех пор, когда вы использовали это в последний раз;

  • вы устали;

  • вы не можете сосредоточиться;

  • вы человек.

Сегодня к нам со всех сторон поступает беспрецедентно огромный объем информации. Невозможно постоянно помнить обо всем.

Надеюсь, это ободрит вас, когда вы начнете переживать из-за того, что приходится в очередной раз гуглить что-то «очевидное».

Понедельник

закладки каналов slack — пытаюсь отыскать сведения о том, где могут располагаться закладки каналов на мобильном телефоне, так как мой друг не смог их найти.

карбонара — мой менеджер уверенно заявил на стендапе, что его карбонара самая лучшая. Поэтому я нагуглила картинку, чтобы сделать из нее эмодзи «короля карбонары».

дерево каталогов cli — как отобразить дерево каталогов в CLI.

react-toastify — полезная библиотека уведомлений.

anchor dataset — доступ к атрибутам данных в JS.

mdn element dataset

waitfornextupdate — пытаюсь вспомнить, предназначена ли эта функция библиотеки тестирования только для хуков. (Так и есть.)

Следующие несколько запросов напрямую связаны с тем, что в JS все еще нельзя автоматически загружать файл кросс-браузерным способом без добавления элемента со ссылкой. Существует API загрузок, но Safari его не поддерживает.

jest как тестировать detached элементыjest-dom видит только то, что находится в тестируемом DOM, поэтому элементы, отсоединенные от DOM, не удастся протестировать. Но это не сразу пришло мне в голову.

document.createElement('a')

document.createElement('a') detached

react-hook-form — мы пытаемся добавить эту библиотеку в некоторые из наших веб-компонентов, поскольку в них нет управления формами, а react-hook-form — это действительно хорошая абстракция.

spread types may only be created from object types — я постоянно получала эту ошибку и не могла понять причину. Оказалось, мы использовали старую версию react-hook-form, установленную в другом приложении (типичные проблемы монорепозитория), которая имела другие типы возврата.

react-hook-form — «spread types may only be created from object types».

Вторник

ссылки на каналы slack в API

gilts — о них писали в новостях, а я не знала, что это такое.

js доступ по ключу к свойству вложенного объекта — я не смогла быстро вспомнить, можно ли получить доступ к свойствам вложенных объектов, например myObj['key1.key2']. (нельзя, потому что вся строка интерпретируется как один ключ).

продвинутый инструмент создания эмодзи — я выбрала MakeEmoji, который имеет приятное количество опций.

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

modal window accessibility

Надеюсь, вы ощутите небольшое разочарование, узнав о следующих нескольких поисковых запросах, в которых я борюсь со Storybook, а затем обнаруживаю, что моя проблема на самом деле не задокументирована. Я знала, что существует возможность написания комментариев JSDoc над компонентом и их отображения в документах Storybook (мы делали это на моей предыдущей работе). По какой-то причине нам не удавалось это сделать, но в документации нет ни слова об этой функции. Оказывается, данная функция почему-то не работает с компонентами, экспортируемыми по умолчанию, но это нигде не задокументировано.

storybook документация комментарии markdown

storybook описание истории

storybook документация

storybook комментарий

storybook JSdoc

Среда

Марк Хоппус — я упомянула, что пыталась достать билеты на концерт Blink-182 (мне это не удалось), и мы обсуждали, сколько сейчас лет участникам группы.

lofi girl — при проведении retro мы включаем музыку, пока люди пишут свои тикеты Retrium, и я подумала, что это подходящая вибрация.

запрос apollo oncompleted

useLazyQuery — пытаюсь понять, что возвращает запрос (возвращаемое значение или void?) Оказалось, что новейшая версия возвращает значение, а версия, которую мы используем, нет :(

sentry github

'RequestSessionStatus' не экспортируется из '@ sentry/types' — оказалось, что это не проблема библиотеки Sentry, а несоответствие yarn.lock (особенность монорепозитория).

Четверг

document.write — я знала, что это устарело, но хотела найти что-то, подтверждающее мой комментарий PR.

apollo server request size — получаем 412 ошибку от нашего сервера apollo и пытаемся понять, как увеличить максимальный размер запроса.

apollo-server-koa

apollo server request size site:stackoverflow.com — полезный совет при поиске через Google заключается в том, что область поиска можно ограничить определенным сайтом с помощью оператора site:.

набор данных элементов mdn

открыть новое окно и установить содержимое html — пытаюсь найти подходящую замену document.write для человека, попросившего об этом. Мы выбрали window.open() и myWindow.document.documentElemen t.innerHTML = myHtml.

mock clock golang — выясняю оптимальный способ имитации функции time.Now() в Go. В нашей базе кода есть разные варианты; я не была уверена, какой из них самый актуальный, но в итоге разобралась.

graphql server request entity too large — все еще пытаемся исправить лимит запросов сервера apollo.

doggo ipsumмой любимый генератор ipsum.

apollo server body parser config

apollo server body parser config koa

koa — я наконец-то поняла, что нам нужно установить конфигурацию парсера запроса на самом сервере, а не в обертке apollo-server.

koa request size

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

ronseal — я люблю гуглить картинки Ronseal и помещать их в описания PR, когда заголовок описывает именно то, что делает PR (т. е. делает то, что написано на банке). Думаю, я переняла эту привычку от b3ta в свое время.

Пятница

чтение символической ссылки — я плохо разбираюсь в символических ссылках lolol.

npm service status

apollo async oncompleted

window.history — поиск аргументов для history.push.

Я думаю, что следующие несколько запросов особенно забавны с учетом того, что я выступала на конференции с докладом о redux-saga в 2018 году. Однако прошло так много времени с тех пор, как я занималась кодом, содержащим saga, что совершенно забыла, как они работают:

  • saga выполнить функцию non-saga

  • saga выполнить функцию non-redux

  • redux-saga эффекты

Больше генераторов ipsum, потому что моим коллегам понравился doggo ipsum:

cupcake ipsum

veggie ipsum — мне нравится, что я гуглила это и в предыдущем посте (поверьте, это просто совпадение).

ts-command-line-args — теперь займемся созданием CLI!

node.js interactive shell

node.js interactive shell select — я искала библиотеку CLI, которая позволяет выбирать различные опции с помощью клавиш со стрелками. Я нашла inquirer.js!

types/inquirer

ts-command-line-args

should you symlink from destination — я никак не могу запомнить порядок аргументов при создании символической ссылки.

TS2464

next-images — проверка актуальности некоторых из наших плагинов.

nextjs документ

react-hook-form radio buttons — иногда вам просто нужен хороший пример. Оказалось, что это проще, чем я думала: мне просто нужно было передать ссылку на наш компонент RadioButton.

Оглядываясь назад

Вы можете сказать: «Ну, на этой неделе вы нагуглили меньше, чем за тот же период в 2019 году!». Во-первых, сейчас у меня больше совещаний, чем тогда. Я работаю в новой команде, решаю новые задачи.

Это также зависит от того, над чем я работаю. На прошлой неделе я потратила много времени на проектирование экспорта данных в Go, и поэтому моя история поиска полна запросов типа golang readseeker from buffer и create a file from string golang, которые ничего толкового не дали. (Я все еще помогаю с тикетами по бэкенду, когда это необходимо).

Как делать что-то из нагугленного мною тогда, я могу вспомнить, не заглядывая в поиск. Но кое-что я точно забыла (например, до сих пор не могу заставить свой мозг запомнить ряд более сложных моментов, связанных с сеткой CSS). Например, мне стопроцентно придется заново гуглить из предыдущего поста следующее:

  • пробел regex

  • regex не буква

  • js дата

  • grid minmax

Вот и все — я до сих пор еще гуглю много всего. В завершение повторю то, что было сказано в моей публикации в 2019 году:

Я пытаюсь показать, что вы можете делать что-то 100 раз, но так и не запомнить, как это делается. Никогда не стыдитесь гуглить, даже если вам кажется, что вы ищете самую обычную вещь.

Комментарии (16)


  1. FanatPHP
    26.01.2023 18:15
    +11

    Надеюсь, вы ощутите небольшое разочарование — Надеюсь, вы почувствуете мое разочарование / Надеюсь, вы почувствуете, насколько я расстроилась


    подходящая вибрация — подходит по настроению


  1. hostbest
    27.01.2023 11:58
    -3

    Может пора уже попробовать Chat GPT?


  1. RedWolf
    27.01.2023 12:47
    +10

    я не смогла быстро вспомнить, можно ли получить доступ к свойствам вложенных объектов, например myObj['key1.key2']. (нельзя, потому что вся строка интерпретируется как один ключ).

    Это реально сеньор пишет? Мне кажется, это шутка какая-то


    1. Alinaki
      27.01.2023 14:25
      +2

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


      1. MyraJKee
        29.01.2023 11:18

        Ну так речь же не про "какой-нибудь" экспериментальный. Да и найдется ли?


    1. rqdkmndh
      27.01.2023 15:11
      +8

      На днях просматривал вакансии на джунов, мидлов и сеньйоров - заметил в требованиях такую тенденцию:

      джун - должен быть и жнец, и кузнец и на дуде игрец и всё знать и уметь в точности по спецификациям и стандартам.

      мидл - нужен просто хороший кузнец, трудолюбивый в приоритете

      сеньйор - должен уметь хотя бы вот это и немного вот того в общих чертах.


      1. NeoNN
        29.01.2023 10:28
        +1

        Так это полностью соответствует представлениям человека о том, что он умеет, на каждом этапе! Большинство джунов — Львы Толстые (хотя на самом деле...), А сеньоритет уже понял, что знает то, что ничего не знает и стоит на плечах гигантов.


      1. invasy
        29.01.2023 11:35

        «Помидоры» обычно уже специализированные: жатва и ковка подзабылись, но на конкретной дудке может соло выдать.


    1. insighter
      29.01.2023 08:36

      чего удивляться массовым увольнениям, когда попутный ветер IT-индустрии ослаб


  1. diomas
    27.01.2023 14:55
    +5

    А весь этот подчеркнутый текст, который выглядит как ссылки, он не подразумевает ссылок? Или читателям надо самим копировать этот текст и вставлять в строку поиска гугл?


    1. FanatPHP
      27.01.2023 15:20

      А зачем? Ну то есть статья ведь не про то, что находила, а про то что искала.
      Копировать, кстати, не нужно — даблклик, пкм, искать.


      1. clackx
        27.01.2023 15:38
        +1

        *триплклик


        1. megaslowpoke
          29.01.2023 09:06
          +1

          Если так считать, то суммарно четыре клика: вначале дабл чтобы выделить слово, если слово не одно — провести мышью до конца/начала и отпустить, клик правой, и клик на пункт в меню.


    1. Maccimo
      29.01.2023 08:29

      В оригинале они даже не подчёркнуты, просто наклонный шрифт. Кстати, оригинал по оформлению — тёплый, ламповый Web 1.0. Можно заходить просто чтобы поностальгировать.


    1. OptimumOption
      29.01.2023 11:30

      Если вы до сих пор не осилили технологию двойного-тройного клика и контекстное меню в браузере - у меня для вас плохие новости...


  1. ShadowOfCasper
    29.01.2023 15:56

    На самом деле с ростом опыта гуглишь всё меньше и меньше. Я сам с детства путаю больше с меньше. Но гуглить синтаксис доступа к объекту, называя себя инженером - это слишком