#LLM
Claude и чтение скриншота с ошибкой:
⁃ Переврал домены в указанных урлах, приплел gcloud, когда там был только aws.
⁃ Переврал текст ошибки. Видим CORS - пишем стандартную cors ошибку, делаем стандартные подсказки. Ничего, что ошибка другая.
⁃ Прошу исправить текст ошибки, он мне снова врет, снова придумывает что-то свое.
⁃ Прошу еще раз прочитать ошибку, указываю пару слов из текста ошибки. Он снова врет, снова приплетает gcloud, когда его на скрине и близко нет.
Психанула, сходила в chatgpt. Тот выдал сразу все четко.
А мне всего лишь лениво было открыть внутреннюю сеть, авторизоваться и открыть браузер, чтобы скопировать текст ошибки из консоли.
Что за дичь?
Claude и чтение скриншота с ошибкой:
⁃ Переврал домены в указанных урлах, приплел gcloud, когда там был только aws.
⁃ Переврал текст ошибки. Видим CORS - пишем стандартную cors ошибку, делаем стандартные подсказки. Ничего, что ошибка другая.
⁃ Прошу исправить текст ошибки, он мне снова врет, снова придумывает что-то свое.
⁃ Прошу еще раз прочитать ошибку, указываю пару слов из текста ошибки. Он снова врет, снова приплетает gcloud, когда его на скрине и близко нет.
Психанула, сходила в chatgpt. Тот выдал сразу все четко.
А мне всего лишь лениво было открыть внутреннюю сеть, авторизоваться и открыть браузер, чтобы скопировать текст ошибки из консоли.
Что за дичь?
#Работа
Сижу, готовлю обновление для новых доменов. Решила глянуть что-то на проде. Зашла в систему, обновила хром, открыла iframe - все снова работает без каких-либо изменений…
Вспомнила шутку про вагоны.
https://www.youtube.com/watch?v=23fBoqQxSgQ
Сижу, готовлю обновление для новых доменов. Решила глянуть что-то на проде. Зашла в систему, обновила хром, открыла iframe - все снова работает без каких-либо изменений…
Вспомнила шутку про вагоны.
https://www.youtube.com/watch?v=23fBoqQxSgQ
YouTube
Фитиль №183-02 "Порожняк" (1969)
Сатирический киножурнал Фитиль №183-02 "Порожняк" (1969)
😁5 1
#Работа
Кто молодец? Я молодец ^_^
Раскатала на прод новые домены.
У нас в проекте с самого начала был монорепозиторий на несколько десятков лямбда функций. Когда я пришла, все обновления делали вручную через UI. Было множество сервисов в разном состоянии на разных стейджах, когда изменений на проде не было в репозитории, потому что они были сделаны прямо через редактор в UI и не перенесены в репозиторий. Иной раз даже целые сервисы были созданы и работали, но их не было в репозитории. Коллеги почти не коммитили в гит. Все доступы прописывались вручную для каждого стейджа прямо в коде.
Коллега, который был с самого начала на проекте говорил, что нет времени рефакторить, не дают доступы к другим сервисам, можно только лямбда функции. Он поработал еще пару месяцев и ушел.
Сначала я откопала задачу из беклога, которая провисела там пару лет, чтобы завести секрет менеджер. Сделала ее, параллельно потоку продуктовых задач в рабочее время (в смысле это не было чем-то невозможным). Потом написала на коленке баш-скрипт для деплоя, который паковал функцию и с помощью cli публиковал изменения. Нам дали ключи для этого и мы смогли хотя бы так деплоить, хотя все равно было много ручных операций.
Позже я еще несколько раз усовершенствовала этот скрипт и он работал довольно стабильно. У нас все еще была ручная работа, чтобы заводить сервисы, но в целом стало гораздо лучше. Добавился конфиг в каждую функцию, где по стейджам указывались версии слоев, подключение к vpc и другие базовые настройки. Мы смогли централизовано управлять базовым конфигом деплоя.
Я вынесла UI в отдельный сервис и мы сделали CICD для него на базе корпоративный пайплайнов, пройдя все круги ада, чтобы его настроить.
Потом появился человек, который расширил наши границы возможностей, показав, что можно сделать кастомный пайплайн в корпоративном дженкинсе и открыл для меня тулу https://www.serverless.com/, когда я смотрела на SAM и планировала использовать его.
Мы завели новую монорепу, где я прописала новый деплой процесс на базе IaC. Теперь мы потихоньку переносим туда старые сервисы.
Где-то ранее уже сыграло позитивно то, что я завела секреты и обновила большинство сервисов на них, когда мы переключали домен и обновили ключи для нашей основной платформы.
Теперь вот история с доменами. В такие моменты прям ощущаешь как важно иметь нормальный CICD, когда у тебя больше 100 сервисов. Где-то половина сервисов имеют свой UI, и их все надо было обновить. Я сегодня вмержила 2 пулреквеста и перекатила около 50 сервисов, 12 из них запуском скрипта с локальной машины.
Наш новый менеджер теперь всерьез задумывается о том, чтобы дать нам отдельное время, чтобы перетащить все легаси в новый репозиторий. Особенно в свете последних проблем сначала с регионом, а теперь с доменами.
Кстати, проблема с новыми ограничениями, кажется, решилась не на уровне обновления браузера, а на уровне обновления настроек dns внутри корпоративной сети, но нам об этих изменениях никто не рассказал. Что ж. Давно пора была привязать свои домены на самом деле. Но не факт, конечно, что они будут работать стабильнее.
Кто молодец? Я молодец ^_^
Раскатала на прод новые домены.
У нас в проекте с самого начала был монорепозиторий на несколько десятков лямбда функций. Когда я пришла, все обновления делали вручную через UI. Было множество сервисов в разном состоянии на разных стейджах, когда изменений на проде не было в репозитории, потому что они были сделаны прямо через редактор в UI и не перенесены в репозиторий. Иной раз даже целые сервисы были созданы и работали, но их не было в репозитории. Коллеги почти не коммитили в гит. Все доступы прописывались вручную для каждого стейджа прямо в коде.
Коллега, который был с самого начала на проекте говорил, что нет времени рефакторить, не дают доступы к другим сервисам, можно только лямбда функции. Он поработал еще пару месяцев и ушел.
Сначала я откопала задачу из беклога, которая провисела там пару лет, чтобы завести секрет менеджер. Сделала ее, параллельно потоку продуктовых задач в рабочее время (в смысле это не было чем-то невозможным). Потом написала на коленке баш-скрипт для деплоя, который паковал функцию и с помощью cli публиковал изменения. Нам дали ключи для этого и мы смогли хотя бы так деплоить, хотя все равно было много ручных операций.
Позже я еще несколько раз усовершенствовала этот скрипт и он работал довольно стабильно. У нас все еще была ручная работа, чтобы заводить сервисы, но в целом стало гораздо лучше. Добавился конфиг в каждую функцию, где по стейджам указывались версии слоев, подключение к vpc и другие базовые настройки. Мы смогли централизовано управлять базовым конфигом деплоя.
Я вынесла UI в отдельный сервис и мы сделали CICD для него на базе корпоративный пайплайнов, пройдя все круги ада, чтобы его настроить.
Потом появился человек, который расширил наши границы возможностей, показав, что можно сделать кастомный пайплайн в корпоративном дженкинсе и открыл для меня тулу https://www.serverless.com/, когда я смотрела на SAM и планировала использовать его.
Мы завели новую монорепу, где я прописала новый деплой процесс на базе IaC. Теперь мы потихоньку переносим туда старые сервисы.
Где-то ранее уже сыграло позитивно то, что я завела секреты и обновила большинство сервисов на них, когда мы переключали домен и обновили ключи для нашей основной платформы.
Теперь вот история с доменами. В такие моменты прям ощущаешь как важно иметь нормальный CICD, когда у тебя больше 100 сервисов. Где-то половина сервисов имеют свой UI, и их все надо было обновить. Я сегодня вмержила 2 пулреквеста и перекатила около 50 сервисов, 12 из них запуском скрипта с локальной машины.
Наш новый менеджер теперь всерьез задумывается о том, чтобы дать нам отдельное время, чтобы перетащить все легаси в новый репозиторий. Особенно в свете последних проблем сначала с регионом, а теперь с доменами.
Кстати, проблема с новыми ограничениями, кажется, решилась не на уровне обновления браузера, а на уровне обновления настроек dns внутри корпоративной сети, но нам об этих изменениях никто не рассказал. Что ж. Давно пора была привязать свои домены на самом деле. Но не факт, конечно, что они будут работать стабильнее.
👍7 3❤🔥1
#Жизнь #Сингапур
Скоро придет штраф за оверстей в Сингапуре. Я уже 1,5 месяца жду, когда мне продлят визу депенданта тут. Мне сделали короткую визу, чтобы я могла ждать тут, не выезжая. Я ее уже один раз продлила за 2 недели до окончания предыдущей и недавно подали заявление на второе продление на месяц. Но оказалось, что в прошлый раз они не продлили на месяц со дня окончания предыдущей визы, добавили месяц со дня подачи заявки, то есть продление закончилось на две недели раньше, чем я рассчитывала. Да, это было написано в бумажке. Да, я не прочитала это внимательно. Но кто черт возьми в здравом уме так делает? Где логика?
В общем, я сделала неделю оверстей без визы. Штраф до 6000 сингапурских долларов и в крайних случаях до 6 месяцев тюрьмы. Как-то так. Но вроде за несколько дней не должны давать большой штраф.
В любом случае неприятно. 🙁
Скоро придет штраф за оверстей в Сингапуре. Я уже 1,5 месяца жду, когда мне продлят визу депенданта тут. Мне сделали короткую визу, чтобы я могла ждать тут, не выезжая. Я ее уже один раз продлила за 2 недели до окончания предыдущей и недавно подали заявление на второе продление на месяц. Но оказалось, что в прошлый раз они не продлили на месяц со дня окончания предыдущей визы, добавили месяц со дня подачи заявки, то есть продление закончилось на две недели раньше, чем я рассчитывала. Да, это было написано в бумажке. Да, я не прочитала это внимательно. Но кто черт возьми в здравом уме так делает? Где логика?
В общем, я сделала неделю оверстей без визы. Штраф до 6000 сингапурских долларов и в крайних случаях до 6 месяцев тюрьмы. Как-то так. Но вроде за несколько дней не должны давать большой штраф.
В любом случае неприятно. 🙁
🤬3🙈3💩2
#Tools
Навайбкодила себе ради фана персональную страницу в стартапе мужа ardor.cloud
https://1337-2f44a51f-b730-404d-aca7-0c18c009a068.ardor.cloud/
Получилось несколько пафосно даже 🙂
Навайбкодила себе ради фана персональную страницу в стартапе мужа ardor.cloud
https://1337-2f44a51f-b730-404d-aca7-0c18c009a068.ardor.cloud/
Получилось несколько пафосно даже 🙂
🔥9😁1
#Работа
С утра одна из менеджеров меня спросила, о том как должна работать логика, которую я выкатила на демо стейдж, чтобы проверить ее. Я аж немного опешила. На самом деле забавно, что задача стояла из разряда - надо сделать хорошо. Я уже сделала несколько подходов к тому как это сделать хорошо. Делала логику - бекенд, фронтенд, показывала постановщику задачи и она просила меня изменить что-то под определенные кейсы. В итоге, я глобально изменила подход, выработала список сценариев на основе существующего пользовательского опыта, предложила и сделала решение. Получается, что нормально сформулировала пользовательскую историю я сама в ходе выяснения требований в процессе разработки.
Так вот, мне написала новая менеджер, которая была на моей демонстрации изменений вчера и сегодня она решила проверить то, что я сделала. Я ей написала список кейсов для проверки. Думаете она их добавила в задачу хотя бы? Нет… Пойду допишу что ль…
С утра одна из менеджеров меня спросила, о том как должна работать логика, которую я выкатила на демо стейдж, чтобы проверить ее. Я аж немного опешила. На самом деле забавно, что задача стояла из разряда - надо сделать хорошо. Я уже сделала несколько подходов к тому как это сделать хорошо. Делала логику - бекенд, фронтенд, показывала постановщику задачи и она просила меня изменить что-то под определенные кейсы. В итоге, я глобально изменила подход, выработала список сценариев на основе существующего пользовательского опыта, предложила и сделала решение. Получается, что нормально сформулировала пользовательскую историю я сама в ходе выяснения требований в процессе разработки.
Так вот, мне написала новая менеджер, которая была на моей демонстрации изменений вчера и сегодня она решила проверить то, что я сделала. Я ей написала список кейсов для проверки. Думаете она их добавила в задачу хотя бы? Нет… Пойду допишу что ль…
❤4🔥3😱1
#Работа
В прошлом посте я преувеличила слегка, постановка задачи на самом деле была на удивление больше обычного и довольно подробная, хотя и сценарии в итоге мы переделали. Однако, кажется, менеджер туда не заглядывала даже.
Вчера после двух созвонов, где я одного менеджера отговаривала от костыля, а а второму наоборот предлагала костыль, я задумалась о своей приемлемости костылей. Почему одним можно, а другим нельзя. Наверное, это потому что первый костыль значимо влияет на многие ключевые сервисы и большинство пользователей, а второй локальный и никому не помешает.
Получается, иногда костыли норм решение проблемы, а иногда ну совсем не норм и новая проблема.
Такая вот классификация костылей.
В прошлом посте я преувеличила слегка, постановка задачи на самом деле была на удивление больше обычного и довольно подробная, хотя и сценарии в итоге мы переделали. Однако, кажется, менеджер туда не заглядывала даже.
Вчера после двух созвонов, где я одного менеджера отговаривала от костыля, а а второму наоборот предлагала костыль, я задумалась о своей приемлемости костылей. Почему одним можно, а другим нельзя. Наверное, это потому что первый костыль значимо влияет на многие ключевые сервисы и большинство пользователей, а второй локальный и никому не помешает.
Получается, иногда костыли норм решение проблемы, а иногда ну совсем не норм и новая проблема.
Такая вот классификация костылей.
😁3👏2💯1
#Работа
В этом году с меня начали просить ежемесячные отчеты по команде по закрытым задачам. Каждое первое число я захожу в жиру и делаю скриншот на базе сохранненного фильтра. Я шарила этот фильтр менеджерам, но видимо, для них это слишком, и скриншот на почту им нравится больше. Хорошо, что у меня был опыт отчетов и это не стало для меня большой проблемой - написать запрос на jql.
Я все это время думала о том, что дают им эти отчеты. Хорошо это или плохо? Никто ведь не отслеживал раньше статистику, никто не смотрит динамику, никто особо не оценивает сложность задач. Это просто какой-то список.
У нас канбан доска, дейли митинги, задачи разнородные, процессы внутри ближе к стартапу, хотя подвижность как у корпы. Меня как ex-менеджера это не сильно заботит, потому что я сама создаю себе те процессы, которые мне нравятся.
Так вот, к концу года, я решила посмотреть суммарные данные и сравнить их с прошлыми годами. Думаю, что под конец года сделаю какую-нибудь короткую презентацию о том, как мы выросли.
И вот какие цифры мне удалось собрать:
| Год | количество человек в команде | количество закрытых задач | закрыто мной |
| 2021 | 2 | 28 | 0 | - я еще не работала в проекте
| 2022 | 2 | 59 | 21 | - я пришла в июле, в тот год в сентябре ушел разработчик, который проработал на проекте первые два года, у него было закрыто 31
| 2023 | 2 | 60 | 35 | - тут мы стабильно работали вдвоем
| 2024 | 3 | 109 | 64 | - в этот год мой коллега ушел и мы решили еще сделать +1
| 2025 | 4 | 128 | 70 | - недавно взяли еще одного человека в команду, поэтому правильнее сказать, что в этом году вносили профит втроем, хотя нас теперь 4.
Я, конечно, и так знала, что за счет того, что у меня больше всего знаний по проекту сейчас, я вношу больше профита, чем остальные, но если честно то не ожидала, что такая разница даже с самой собой в прошлые года. И это при том, что я дополнительно вела второй проект на полставки, плюс учусь в универе.
Ко всему прочему я занималась наймом, поддержкой пользователей, консультацией коллег, диагностикой проблем, участвовала во всех стратегических обсуждениях.
Горжусь собой 🙂
В этом году с меня начали просить ежемесячные отчеты по команде по закрытым задачам. Каждое первое число я захожу в жиру и делаю скриншот на базе сохранненного фильтра. Я шарила этот фильтр менеджерам, но видимо, для них это слишком, и скриншот на почту им нравится больше. Хорошо, что у меня был опыт отчетов и это не стало для меня большой проблемой - написать запрос на jql.
Я все это время думала о том, что дают им эти отчеты. Хорошо это или плохо? Никто ведь не отслеживал раньше статистику, никто не смотрит динамику, никто особо не оценивает сложность задач. Это просто какой-то список.
У нас канбан доска, дейли митинги, задачи разнородные, процессы внутри ближе к стартапу, хотя подвижность как у корпы. Меня как ex-менеджера это не сильно заботит, потому что я сама создаю себе те процессы, которые мне нравятся.
Так вот, к концу года, я решила посмотреть суммарные данные и сравнить их с прошлыми годами. Думаю, что под конец года сделаю какую-нибудь короткую презентацию о том, как мы выросли.
И вот какие цифры мне удалось собрать:
| Год | количество человек в команде | количество закрытых задач | закрыто мной |
| 2021 | 2 | 28 | 0 | - я еще не работала в проекте
| 2022 | 2 | 59 | 21 | - я пришла в июле, в тот год в сентябре ушел разработчик, который проработал на проекте первые два года, у него было закрыто 31
| 2023 | 2 | 60 | 35 | - тут мы стабильно работали вдвоем
| 2024 | 3 | 109 | 64 | - в этот год мой коллега ушел и мы решили еще сделать +1
| 2025 | 4 | 128 | 70 | - недавно взяли еще одного человека в команду, поэтому правильнее сказать, что в этом году вносили профит втроем, хотя нас теперь 4.
Я, конечно, и так знала, что за счет того, что у меня больше всего знаний по проекту сейчас, я вношу больше профита, чем остальные, но если честно то не ожидала, что такая разница даже с самой собой в прошлые года. И это при том, что я дополнительно вела второй проект на полставки, плюс учусь в универе.
Ко всему прочему я занималась наймом, поддержкой пользователей, консультацией коллег, диагностикой проблем, участвовала во всех стратегических обсуждениях.
Горжусь собой 🙂
🔥16👏13👍2
#UOL #Учеба
Всегда думала, что на старших курсах ты уже привыкаешь к учебе и должно быть несложно.
У меня сейчас предпоследний семестр, начались мидтермы и я открыла задания и такая, а что делать то? Это у меня есть опыт-знания, вот это все, и я сижу над этими заданиями и такая - я чет где-то потерялась.
Это просто чувство. Я головой то понимаю что надо делать, но меня удивляет собственное чувство потерянности и страха перед неизвестным.
У меня эти мидтермы, кажется, самые спокойные, учитывая, что раньше все время была какая-то движуха, все время чет происходило помимо учебы и работы.
У меня три предмета и все три довольно объемные, а времени до 7 января или 8 выходных, включая этот.
Хэштэг_соберись_тряпка!
Всегда думала, что на старших курсах ты уже привыкаешь к учебе и должно быть несложно.
У меня сейчас предпоследний семестр, начались мидтермы и я открыла задания и такая, а что делать то? Это у меня есть опыт-знания, вот это все, и я сижу над этими заданиями и такая - я чет где-то потерялась.
Это просто чувство. Я головой то понимаю что надо делать, но меня удивляет собственное чувство потерянности и страха перед неизвестным.
У меня эти мидтермы, кажется, самые спокойные, учитывая, что раньше все время была какая-то движуха, все время чет происходило помимо учебы и работы.
У меня три предмета и все три довольно объемные, а времени до 7 января или 8 выходных, включая этот.
Хэштэг_соберись_тряпка!
😁3❤2👀2
#Учеба #UOL #LLM
Как я пишу работы с помощью ЛЛМ?
Я несколько раз пыталась пойти по ленивому варианту и просто скормить задачу и посмотреть на результат. Это всегда был кошмар, в котором невозможно разбраться.
Поэтому я использую такой путь:
• Инициализация и план работ. Задаем агенту правила игры и заставляем написать план, чтобы потом его придерживаться. Там же хорошо указать критерии оценки.
• Заставить модель отложить документацию на последний шаг. Иначе это будет жесткий расход токенов, при этом бесполезный.
• Дальше идем по плану, я заставляю модель двигаться по маленьким шагам и проверяю каждый шаг, читаю каждую его мысль и заставляю постоянно сокращать, переписывать, постоянно уточняю, тыкаю в лучшие решения. К сожалению, первое предложенное решение моделью не всегда лучшее, редко учитывает нюансы.
• В конце документация и перепроверка, что ничего не продолбано по исходным критериям. Да, часто бывало, что модель просто игнорировала значимые требования.
На самом деле очень много приходится переделывать за сгенерированным. Это больше похоже на работу с джуном, чем на серьезную замену труда. Однако, это все равно удобнее, потому что информации у этого джуна больше. Это как человек-теоретик, но не практик.
Я сейчас использую claude, часто упираюсь в его лимиты, поэтому на время подготовки таких работ просто докидываю денег на него, чтобы использовать api, когда упираюсь в лимиты.
Из примеров улучшений после агента:
• Он забывает про кэширование и оптимизацию. Приходится его просить, вот тут тяжелая операция сделана, давай закэшируем результат, чтобы не повторять в будущем.
• Не пытается проверить результат, а сразу раскатывает на большие данные. Приходится останавливать и говорить, давай проверим для начала.
• Нашла проблему в текстах (я делаю работу по NLP), что в исходных текстах слова бывают слиты. Попросила разделить, указав примеры. Он мне предложил регулярки, которые не покрывают всего текста. Пришлось уточнять - нет ли модели, которая с этим справится и оказалось, что есть. Потом необходимость применения этой модели он предложил по длине слова, хотя есть у nltk словарь, чтобы можно было проверить существует такое слово или нет.
Ну, в общем, мелочи, но они изрядно заставляют включаться. Если бы я делала все сама, то было бы больше рутины, изучения документации. Тут быстрее в плане того, что я могу сразу что-то делать, но задачи встают другие - проверка, осмысление.
Как я пишу работы с помощью ЛЛМ?
Я несколько раз пыталась пойти по ленивому варианту и просто скормить задачу и посмотреть на результат. Это всегда был кошмар, в котором невозможно разбраться.
Поэтому я использую такой путь:
• Инициализация и план работ. Задаем агенту правила игры и заставляем написать план, чтобы потом его придерживаться. Там же хорошо указать критерии оценки.
• Заставить модель отложить документацию на последний шаг. Иначе это будет жесткий расход токенов, при этом бесполезный.
• Дальше идем по плану, я заставляю модель двигаться по маленьким шагам и проверяю каждый шаг, читаю каждую его мысль и заставляю постоянно сокращать, переписывать, постоянно уточняю, тыкаю в лучшие решения. К сожалению, первое предложенное решение моделью не всегда лучшее, редко учитывает нюансы.
• В конце документация и перепроверка, что ничего не продолбано по исходным критериям. Да, часто бывало, что модель просто игнорировала значимые требования.
На самом деле очень много приходится переделывать за сгенерированным. Это больше похоже на работу с джуном, чем на серьезную замену труда. Однако, это все равно удобнее, потому что информации у этого джуна больше. Это как человек-теоретик, но не практик.
Я сейчас использую claude, часто упираюсь в его лимиты, поэтому на время подготовки таких работ просто докидываю денег на него, чтобы использовать api, когда упираюсь в лимиты.
Из примеров улучшений после агента:
• Он забывает про кэширование и оптимизацию. Приходится его просить, вот тут тяжелая операция сделана, давай закэшируем результат, чтобы не повторять в будущем.
• Не пытается проверить результат, а сразу раскатывает на большие данные. Приходится останавливать и говорить, давай проверим для начала.
• Нашла проблему в текстах (я делаю работу по NLP), что в исходных текстах слова бывают слиты. Попросила разделить, указав примеры. Он мне предложил регулярки, которые не покрывают всего текста. Пришлось уточнять - нет ли модели, которая с этим справится и оказалось, что есть. Потом необходимость применения этой модели он предложил по длине слова, хотя есть у nltk словарь, чтобы можно было проверить существует такое слово или нет.
Ну, в общем, мелочи, но они изрядно заставляют включаться. Если бы я делала все сама, то было бы больше рутины, изучения документации. Тут быстрее в плане того, что я могу сразу что-то делать, но задачи встают другие - проверка, осмысление.
🔥4
#Учеба #UOL
Сделала классификатор для уровня позиций по описанию вакансий. Интересно смотреть результаты.
У стажировки довольно высокая точность при небольшом количестве исходных данных в датасете. Очевидно, что стажировка очень близка к начальному уровнию. Но забавно, что больше 10% ошибок в начальном уровне определяются как мидл-сеньор при довольно высокой точности и большом объеме данных.
Это как бы намекает на историю о том, что к джунам требования как к сеньорам.
Если что, исходные данные из линкедина, рассматривались вакансии все подряд на английском языке.
Сделала классификатор для уровня позиций по описанию вакансий. Интересно смотреть результаты.
У стажировки довольно высокая точность при небольшом количестве исходных данных в датасете. Очевидно, что стажировка очень близка к начальному уровнию. Но забавно, что больше 10% ошибок в начальном уровне определяются как мидл-сеньор при довольно высокой точности и большом объеме данных.
Это как бы намекает на историю о том, что к джунам требования как к сеньорам.
Если что, исходные данные из линкедина, рассматривались вакансии все подряд на английском языке.
❤5👏3
#AWS #Работа
Вот это квест…
Хотела закрыть проект, но в конце меня попросили привязать домен. И вот домен привязан, осталось совсем немного - переписать конфиги под этот новый домен. Меняю конфиги, пытаюсь запушить и тут Snyk пишет, что мол критическая уязвимость в версии urllib3 1.26.19 и фикс этой проблемы есть только в 2.6.0. Но я не выбирала эту версию, эту версию выбрал AWS и зафиксировал ее во всех лямбда функциях вплоть до python3.14.
Фаааааак…
Я использовала в проекте python3.12. Что ж… поехали обновляться. Меняю версию питона, пересоздаю окружение, вот это все. Запускаю тесты, но что-то падает с ошибкой. Решаю запустить дебаг режим. пам-пам! Дебаг режим не работает в pycharm для python3.14. Я такая - ЧТО???? Мне пишет - обновите версию pycharm, я несколько раз прожимаю проверку обновления и получаю - ничего. Уже полезла искать дальше и понимаю, что действительно есть версии свежее, но моя IDE их почему-то не замечает. Иду в JB тулбокс, а там… меня просто деавторизовало и поэтому мне не приходили обновления!!! Горит!
А я еще недавно на уязвимость в next.js думала на коллегу, ну что там стоит - версию в проекте обновить, чтобы дырку закрыть, чего он там возится. Мдааа…
Вот это квест…
Хотела закрыть проект, но в конце меня попросили привязать домен. И вот домен привязан, осталось совсем немного - переписать конфиги под этот новый домен. Меняю конфиги, пытаюсь запушить и тут Snyk пишет, что мол критическая уязвимость в версии urllib3 1.26.19 и фикс этой проблемы есть только в 2.6.0. Но я не выбирала эту версию, эту версию выбрал AWS и зафиксировал ее во всех лямбда функциях вплоть до python3.14.
Фаааааак…
Я использовала в проекте python3.12. Что ж… поехали обновляться. Меняю версию питона, пересоздаю окружение, вот это все. Запускаю тесты, но что-то падает с ошибкой. Решаю запустить дебаг режим. пам-пам! Дебаг режим не работает в pycharm для python3.14. Я такая - ЧТО???? Мне пишет - обновите версию pycharm, я несколько раз прожимаю проверку обновления и получаю - ничего. Уже полезла искать дальше и понимаю, что действительно есть версии свежее, но моя IDE их почему-то не замечает. Иду в JB тулбокс, а там… меня просто деавторизовало и поэтому мне не приходили обновления!!! Горит!
А я еще недавно на уязвимость в next.js думала на коллегу, ну что там стоит - версию в проекте обновить, чтобы дырку закрыть, чего он там возится. Мдааа…
🤣4👀3🤝1
#AWS #Работа
Пока все готовятся к новому году, я качу на прод новую версию питона (3.14) на основном проекте на 31 сервис.
Что же, я решила все же сделать это - обновить наши сервисы, заменить mypy на ty, обновить версию питона и соответственно labmda. На самом деле с самим питоном было меньше возни, чем скорее со сборкой под новый рантайм lambda, потому что это не только изменения питона, но и изменение OS, а значит пакеты с бинарниками пришлось тоже пересобирать. Плюс обновлять большую часть зависимостей на свежие, чтобы работали с новой версией питона.
Зато я наконец сделала нормальный сборщик в нашем CICD, на базе официального образа, а не притянутого за уши в стиле “и так сойдет”, который я сама и подключила ранее
Пока обновлялась, сделала еще одно важное открытие для себя. Оказывается AWS уже какое-то время назад сделали возможность для lambda функций отлавливать момент, когда они планируют выключить текущий контейнер, что позволяет закрыть открытые соединения к бд. Это просто праздник какой-то! Следующей задачей я обновлю это поведение, а то как-то было не оч. https://github.com/aws-samples/graceful-shutdown-with-aws-lambda
Пока все готовятся к новому году, я качу на прод новую версию питона (3.14) на основном проекте на 31 сервис.
Что же, я решила все же сделать это - обновить наши сервисы, заменить mypy на ty, обновить версию питона и соответственно labmda. На самом деле с самим питоном было меньше возни, чем скорее со сборкой под новый рантайм lambda, потому что это не только изменения питона, но и изменение OS, а значит пакеты с бинарниками пришлось тоже пересобирать. Плюс обновлять большую часть зависимостей на свежие, чтобы работали с новой версией питона.
Зато я наконец сделала нормальный сборщик в нашем CICD, на базе официального образа, а не притянутого за уши в стиле “и так сойдет”, который я сама и подключила ранее
Пока обновлялась, сделала еще одно важное открытие для себя. Оказывается AWS уже какое-то время назад сделали возможность для lambda функций отлавливать момент, когда они планируют выключить текущий контейнер, что позволяет закрыть открытые соединения к бд. Это просто праздник какой-то! Следующей задачей я обновлю это поведение, а то как-то было не оч. https://github.com/aws-samples/graceful-shutdown-with-aws-lambda
🔥9
Я использую подписку клауд MAX ради экономии, потому что поняла, что с текущим количеством использовании llm мне нужно больше токенов и подписка выходит значимо дешевле. Но она также ограничивает меня интерфейсами claude. Не скажу, что интерфейс неудобный, но claude code в терминале пайчарма хоть и удобен, но не очень. Если открыть отзывы на их плагин, можно увидеть очень много гнева. В общем, я решила навайбкодить свой интерфейс для управления агентом в виде плагина для пайчарма: https://github.com/mandrianova/jb-task-manager-extension
Я добавила в него таск-менеджер и список команд для клауда. Теперь у меня под рукой все нужные md файлы c планом и четким процессом выполнения задач, и даже ссылка на таск-менеджер, с помощью которой агент может, используя mcp, подключиться и обновить задачу.
Пока не стала публиковать плагин в маркетплейс джетов и загружаю через архив. Вот думаю, стоит ли заморочиться с публикацией.
Я добавила в него таск-менеджер и список команд для клауда. Теперь у меня под рукой все нужные md файлы c планом и четким процессом выполнения задач, и даже ссылка на таск-менеджер, с помощью которой агент может, используя mcp, подключиться и обновить задачу.
Пока не стала публиковать плагин в маркетплейс джетов и загружаю через архив. Вот думаю, стоит ли заморочиться с публикацией.
🔥9
Media is too big
VIEW IN TELEGRAM
#Сингапур
Это Сингапур, детка!
Это кадр из местной бытовухи. Смысл в том, что в Синге, как и в Малайзии, в тц в центральных проходах всегда меняются разные продаваны и проводятся движухи. Это могут быть фестивали, проведение киберспортивных турниров, танцы драконов, лавки с какой-то едой, продажа диванов и тп. И вот сегодня завезли пианино. ПИАНИНО! Не хотите случайно вдруг прикупить пианино? А какие у вас были самые неожиданные спонтанные покупки? У меня это была лама-стул из того же тц.
Это Сингапур, детка!
Это кадр из местной бытовухи. Смысл в том, что в Синге, как и в Малайзии, в тц в центральных проходах всегда меняются разные продаваны и проводятся движухи. Это могут быть фестивали, проведение киберспортивных турниров, танцы драконов, лавки с какой-то едой, продажа диванов и тп. И вот сегодня завезли пианино. ПИАНИНО! Не хотите случайно вдруг прикупить пианино? А какие у вас были самые неожиданные спонтанные покупки? У меня это была лама-стул из того же тц.
😁3
Приключение на 15 минут, вошли и вышли. #LLM #Стартап
Собрала для стартапа https://ardor.cloud/ тулу для агента, которая умеет собирать и публиковать статичный фронтенд на реакте как маленькие сайтики на S3. С версиями, публикацией и тп.
https://ardor-artifacts-prod-public.storage.googleapis.com/0dfb3891-e8636069/index.html
Это был как хакатон, давай соберем быстренько. Кстати, навайбкодила так, что уперлась в 7-часовые лимиты Claud Max, обнаружила, что у меня была включен extra usage и я еще и с него списала на 65 синг долларов! После этого пошла настроить ужимание контеста в клауд коде, чтобы он не ждал, пока дойдет до миллиона токенов. Стояла настройка 0.6, я поставила 0.2. Плюс поотключала все лишние mcp и прочая, все лишнее. В общем да, когда втягиваешься в этот процесс, токены летят незаметно.
Активно использую свой же плагин для IDE из прошлого поста. Немного продолжаю его улучшать.
А еще в процессе столкнулась с тем, что из-за небезопасного запуска докер-композа на локальной машине, кто-то добрался до бд в композе и пытался запустить там вредоносный код.
Используйте для прокидывания портов локалхост, чтобы докер не биндил все сетевые интерфейсы:
ports:
- "127.0.0.1:8000:8000"
В общем, было весело. Но зато теперь можно быстренько собрать сайтик и опубликовать его. И еще много идей, что можно сделать лучше.
Собрала для стартапа https://ardor.cloud/ тулу для агента, которая умеет собирать и публиковать статичный фронтенд на реакте как маленькие сайтики на S3. С версиями, публикацией и тп.
https://ardor-artifacts-prod-public.storage.googleapis.com/0dfb3891-e8636069/index.html
Это был как хакатон, давай соберем быстренько. Кстати, навайбкодила так, что уперлась в 7-часовые лимиты Claud Max, обнаружила, что у меня была включен extra usage и я еще и с него списала на 65 синг долларов! После этого пошла настроить ужимание контеста в клауд коде, чтобы он не ждал, пока дойдет до миллиона токенов. Стояла настройка 0.6, я поставила 0.2. Плюс поотключала все лишние mcp и прочая, все лишнее. В общем да, когда втягиваешься в этот процесс, токены летят незаметно.
Активно использую свой же плагин для IDE из прошлого поста. Немного продолжаю его улучшать.
А еще в процессе столкнулась с тем, что из-за небезопасного запуска докер-композа на локальной машине, кто-то добрался до бд в композе и пытался запустить там вредоносный код.
Используйте для прокидывания портов локалхост, чтобы докер не биндил все сетевые интерфейсы:
ports:
- "127.0.0.1:8000:8000"
В общем, было весело. Но зато теперь можно быстренько собрать сайтик и опубликовать его. И еще много идей, что можно сделать лучше.
❤8🔥5
#JS #LLM
Как правильногуглить вайбкодить.
Изменили на бекенде срок жизни токена, поставили почти бесконечный - на месяц жизни. Было 15 минут. UI после этого сошел с ума и ушел в бесконечную генерацию токена. При попытке поправить UI через вайбкод:
• Заход через кодекс от менеджера. Ответ ллмки: это все ваш бекенд виноват, там накосячили, неправильно присылают дату. И дальше все в таком духе, типа фронтенд не виноват, все проблемы на беке.
• Заход через клауд от меня. Ллм - дата считается правильно, пойду смотреть дальше. Я - не, нифига, что-то не так с датами, описываю конкретный кейс (код не смотрю, потому что там слишком много и быстро сложно разобраться). Ллм смотрит еще раз и потом выдает:
Блин, даже я бы не сразу догадалась о таком варианте проблемы. Для тех, кто не разработчик - у функции таймаута для запуска отложенных событий максимальное время чуть больше 24 дней, основанное на размере числовой переменной в милисекундах. Просто JS не смог отложить событие на 30 дней.
В итоге на фикс ушло 5 минут + проверка, + деплой. Я просто попросила убрать эти отложенные события, потому что они потеряли смысл в текущей логике - достаточно обновить токен при загрузке страницы.
Как правильно
Изменили на бекенде срок жизни токена, поставили почти бесконечный - на месяц жизни. Было 15 минут. UI после этого сошел с ума и ушел в бесконечную генерацию токена. При попытке поправить UI через вайбкод:
• Заход через кодекс от менеджера. Ответ ллмки: это все ваш бекенд виноват, там накосячили, неправильно присылают дату. И дальше все в таком духе, типа фронтенд не виноват, все проблемы на беке.
• Заход через клауд от меня. Ллм - дата считается правильно, пойду смотреть дальше. Я - не, нифига, что-то не так с датами, описываю конкретный кейс (код не смотрю, потому что там слишком много и быстро сложно разобраться). Ллм смотрит еще раз и потом выдает:
setTimeout max delay is 2^31-1 ms (~24.8 days); larger values fire immediately
Блин, даже я бы не сразу догадалась о таком варианте проблемы. Для тех, кто не разработчик - у функции таймаута для запуска отложенных событий максимальное время чуть больше 24 дней, основанное на размере числовой переменной в милисекундах. Просто JS не смог отложить событие на 30 дней.
В итоге на фикс ушло 5 минут + проверка, + деплой. Я просто попросила убрать эти отложенные события, потому что они потеряли смысл в текущей логике - достаточно обновить токен при загрузке страницы.
🔥8
#Жизнь
Сегодня на линке пришло такое сообщение. Перевод:
Ваш профиль привлек моё внимание
Привет, Маргарита,
Меня зовут Андреа, я Country Head в Lunch Actually Singapore.
Я наткнулась на ваш профиль в LinkedIn и заметила, что ваш профессиональный опыт хорошо соответствует типу клиентов, с которыми мы работаем. Можно спросить — вы сейчас свободны и открыты к поиску партнёра, который действительно будет вам подходить?
Если вы ищете серьёзные, искренние отношения, возможно, я смогу помочь.
Lunch Actually — ведущее брачное агентство в Азии. Мы не приложение для знакомств и не платформа для быстрых свиданий. Мы команда профессиональных матчмейкеров, которые помогают успешным людям вроде вас встретить подходящего человека через персональные консультации и тщательно подобранные, meaningful свидания.
Мы берём на себя всё: проверку потенциальных партнёров, организацию знакомств и даже выбор места для свидания. Вам нужно только прийти и получить удовольствие от опыта.
Если вы готовы дать любви шанс, я бы хотела пригласить вас на бесплатную консультацию, чтобы обсудить, как мы можем поддержать вас на пути к поиску подходящего партнёра.
А если вы уже замужем, можете поделиться этим с одинокими коллегами или друзьями — мы будем рады помочь и им тоже.
С уважением,
Андреа
www.lunchactually.com
Да, мне интересно! →
Сегодня на линке пришло такое сообщение. Перевод:
Ваш профиль привлек моё внимание
Привет, Маргарита,
Меня зовут Андреа, я Country Head в Lunch Actually Singapore.
Я наткнулась на ваш профиль в LinkedIn и заметила, что ваш профессиональный опыт хорошо соответствует типу клиентов, с которыми мы работаем. Можно спросить — вы сейчас свободны и открыты к поиску партнёра, который действительно будет вам подходить?
Если вы ищете серьёзные, искренние отношения, возможно, я смогу помочь.
Lunch Actually — ведущее брачное агентство в Азии. Мы не приложение для знакомств и не платформа для быстрых свиданий. Мы команда профессиональных матчмейкеров, которые помогают успешным людям вроде вас встретить подходящего человека через персональные консультации и тщательно подобранные, meaningful свидания.
Мы берём на себя всё: проверку потенциальных партнёров, организацию знакомств и даже выбор места для свидания. Вам нужно только прийти и получить удовольствие от опыта.
Если вы готовы дать любви шанс, я бы хотела пригласить вас на бесплатную консультацию, чтобы обсудить, как мы можем поддержать вас на пути к поиску подходящего партнёра.
А если вы уже замужем, можете поделиться этим с одинокими коллегами или друзьями — мы будем рады помочь и им тоже.
С уважением,
Андреа
www.lunchactually.com
Да, мне интересно! →
🤣7❤3