#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
#Работа
Сегодня прилетел запрос на то, что мы выгрузили битый json при экспорте данных с прода. При попытке разобраться почему JSON битый оказалось, что он еще и с дев окружения, которое ну никак не должно по идее пересекаться с продом. Волосы зашевелились, пытаясь понять как это вообще возможно. Стейджи друг от друга изолированы, пересечений быть не должно было…
Причина оказалась прозаичной и идиотично простой - пользователь на проде в свои данные залил файл из дев окружения, скорее всего по ходу пьесы изменив их, из-за чего JSON стал битым. А выглядело все реально так, будто у нас где-то косяк в экспорте, либо система дала сбой.
Было весело.
Сегодня прилетел запрос на то, что мы выгрузили битый json при экспорте данных с прода. При попытке разобраться почему JSON битый оказалось, что он еще и с дев окружения, которое ну никак не должно по идее пересекаться с продом. Волосы зашевелились, пытаясь понять как это вообще возможно. Стейджи друг от друга изолированы, пересечений быть не должно было…
Причина оказалась прозаичной и идиотично простой - пользователь на проде в свои данные залил файл из дев окружения, скорее всего по ходу пьесы изменив их, из-за чего JSON стал битым. А выглядело все реально так, будто у нас где-то косяк в экспорте, либо система дала сбой.
Было весело.
👍5😱1🤣1
#Работа
На работе мне некоторое время назад придвинули дяденьку 60+ с просьбой ввести его в курс дела. Дядечка из Бельгии, всю жизнь писал на .Net, работал на винде, использовал для работы полноценный VisualStudio не путать с VS Code, деплоил в ажуру, а для системы контроля версий у него был SVN. Короче, мне предстояло сломать всю его устоявшуюся жизнь. Мы начали с перехода с svn на git, доступов и тп. Недавно ему рассказывала как cicd на дженкинсе сделать теперь. И вот у него появилась задачка, маленькая такая, которую решено было сделать на нашем стеке. Теперь он осваивает wsl (Linux). Сделать задачу самой - 1-2 часа, обучать дядечку - бесценно. Сижу, придумываю ему гайды, скидываю статьи, помогаю решать его проблемы.
Морали нет, просто очень интересный и необычный квест, так сказать. Дядечке респект, кстати, он реально старается и не унывает, а еще постоянно благодарит меня 🙂
На работе мне некоторое время назад придвинули дяденьку 60+ с просьбой ввести его в курс дела. Дядечка из Бельгии, всю жизнь писал на .Net, работал на винде, использовал для работы полноценный VisualStudio не путать с VS Code, деплоил в ажуру, а для системы контроля версий у него был SVN. Короче, мне предстояло сломать всю его устоявшуюся жизнь. Мы начали с перехода с svn на git, доступов и тп. Недавно ему рассказывала как cicd на дженкинсе сделать теперь. И вот у него появилась задачка, маленькая такая, которую решено было сделать на нашем стеке. Теперь он осваивает wsl (Linux). Сделать задачу самой - 1-2 часа, обучать дядечку - бесценно. Сижу, придумываю ему гайды, скидываю статьи, помогаю решать его проблемы.
Морали нет, просто очень интересный и необычный квест, так сказать. Дядечке респект, кстати, он реально старается и не унывает, а еще постоянно благодарит меня 🙂
❤10👍6😁1
#LLM
Услышала про новую версию открытой ллм модели Google Gemma 4 и решила локально потестить современные модели на конкретной задаче, чтобы понять на сколько вообще имеет смысл делать себе агента на локальной модели. В том числе хочу сделать eval для универа в дипломной работе в рамках сравнения локальной модели и какого-нибудь флагмана по api, чтобы сравнить качество результатов.
Чатгпт собрал мне топ последних моделей. Я установила себе Gemma 4 31b QAT, Nvidia Nemotron 3 Nano Omni 30B A3B, Qwen 3.6 35B A3b, OpenAI/GPT OSS 120B.
Для всех 4 моделей делала запрос на русском языке, потому что хочу, чтобы был русский язык, без промптов, с дефолтными настройками, с mcp modelcontextprotocol/server-filesystem, чтобы модели в LM Studio имели доступ к фалйовой системе.
Первый запрос был просьбой описать картинку:
Gemma - дал довольно подробное описание на русском языке с деталями и настроением
Nemotron - описал в общих чертах на английском языке
Qwen - описал на русском языке, я бы сказала, что чуть подробнее, чем Gemma
GPT - нет функции чтения изображений 🙁
Итого - с задачей справились Gemma и Qwen. Nemotron может, но слабо.
Второй запрос: изучи файлы по пути [lectionsPlugin - мой проект плагина для браузера] - что это за проект и какие там решения сделаны.
Gemma - подробное изучение, чтение файлов, достаточно подробное описание на русском языке. Задача решена хорошо. На русском языке
Nemotron - главное разочарование. Использовал тулы 2 раза - список директорий и дерево файлов. Ответил на английском, используя свои догадки о том, что ему кажется зачем нужен этот сервис. Догадки неплохие, но очень буквальные и топорные. Уровень старых локальных моделей, чуть лучше.
Qwen - Хороший результат на русском языке, использовал только три тулы - дерево и массовое чтение файлов, самое интересное, что он прочитал именно файлы для агентов, а не файлы проекта. Были догадки, но в целом справился плюс/минус неплохо. Однако, кмк хуже, чем Gemma.
GPT - Батарея вызовов тулов и размышлений. Очень глубокое погружение, самый большой расход по токенам и по времени. Очень развернутый, форматированный, структурированный ответ. Он детально описал структуру проекта, архитектуру, выделил стек технологий, описал как пользоваться. Все четко, по делу. Никаких проблем не замечено. Идеальный ответ на русском языке.
Третий запрос: а сделай код-ревью и найди ошибки/проблемы в коде. Чтобы ты улучшил
Gemma - обнаружил критические проблемы с архитектурой, предложил годные улучшения в плане кода, неплохая структура ответа. Объем ответа средний. На русском языке
Nemotron - Впервые полноценно ответил на русском, использовал форматирование в ответе и подходящие эмоджи. Не использовал тулы, выводы делал на основе того, что ему было уже известно из истории (дерево проекта). Выводы поэтому бесполезны.
Qwen - Ответ на русском, использовал тулы, чтобы прочитать файлы с кодом, но не все. Предложений по улучшению немного и они вообще не в тему. Я бы сказала, что он провалил эту задачу.
GPT - Переиспользовал контекст, уже не повторял вызовы тулов, очень долго думал - пости 43 секунды, а затем выдал структурированный подробный отчет с приоритезацией. Правда, весь отчет на английском языке, но здесь я его прощаю, так как в остальном отчет очень хороший. Блин, топовый отчет, на самом деле. Мне даже клауд код, кажется, делал код-ревью хуже, с учетом промптов и тп.
Услышала про новую версию открытой ллм модели Google Gemma 4 и решила локально потестить современные модели на конкретной задаче, чтобы понять на сколько вообще имеет смысл делать себе агента на локальной модели. В том числе хочу сделать eval для универа в дипломной работе в рамках сравнения локальной модели и какого-нибудь флагмана по api, чтобы сравнить качество результатов.
Чатгпт собрал мне топ последних моделей. Я установила себе Gemma 4 31b QAT, Nvidia Nemotron 3 Nano Omni 30B A3B, Qwen 3.6 35B A3b, OpenAI/GPT OSS 120B.
Для всех 4 моделей делала запрос на русском языке, потому что хочу, чтобы был русский язык, без промптов, с дефолтными настройками, с mcp modelcontextprotocol/server-filesystem, чтобы модели в LM Studio имели доступ к фалйовой системе.
Первый запрос был просьбой описать картинку:
Gemma - дал довольно подробное описание на русском языке с деталями и настроением
Nemotron - описал в общих чертах на английском языке
Qwen - описал на русском языке, я бы сказала, что чуть подробнее, чем Gemma
GPT - нет функции чтения изображений 🙁
Итого - с задачей справились Gemma и Qwen. Nemotron может, но слабо.
Второй запрос: изучи файлы по пути [lectionsPlugin - мой проект плагина для браузера] - что это за проект и какие там решения сделаны.
Gemma - подробное изучение, чтение файлов, достаточно подробное описание на русском языке. Задача решена хорошо. На русском языке
Nemotron - главное разочарование. Использовал тулы 2 раза - список директорий и дерево файлов. Ответил на английском, используя свои догадки о том, что ему кажется зачем нужен этот сервис. Догадки неплохие, но очень буквальные и топорные. Уровень старых локальных моделей, чуть лучше.
Qwen - Хороший результат на русском языке, использовал только три тулы - дерево и массовое чтение файлов, самое интересное, что он прочитал именно файлы для агентов, а не файлы проекта. Были догадки, но в целом справился плюс/минус неплохо. Однако, кмк хуже, чем Gemma.
GPT - Батарея вызовов тулов и размышлений. Очень глубокое погружение, самый большой расход по токенам и по времени. Очень развернутый, форматированный, структурированный ответ. Он детально описал структуру проекта, архитектуру, выделил стек технологий, описал как пользоваться. Все четко, по делу. Никаких проблем не замечено. Идеальный ответ на русском языке.
Третий запрос: а сделай код-ревью и найди ошибки/проблемы в коде. Чтобы ты улучшил
Gemma - обнаружил критические проблемы с архитектурой, предложил годные улучшения в плане кода, неплохая структура ответа. Объем ответа средний. На русском языке
Nemotron - Впервые полноценно ответил на русском, использовал форматирование в ответе и подходящие эмоджи. Не использовал тулы, выводы делал на основе того, что ему было уже известно из истории (дерево проекта). Выводы поэтому бесполезны.
Qwen - Ответ на русском, использовал тулы, чтобы прочитать файлы с кодом, но не все. Предложений по улучшению немного и они вообще не в тему. Я бы сказала, что он провалил эту задачу.
GPT - Переиспользовал контекст, уже не повторял вызовы тулов, очень долго думал - пости 43 секунды, а затем выдал структурированный подробный отчет с приоритезацией. Правда, весь отчет на английском языке, но здесь я его прощаю, так как в остальном отчет очень хороший. Блин, топовый отчет, на самом деле. Мне даже клауд код, кажется, делал код-ревью хуже, с учетом промптов и тп.
🔥3
Итого по 2-3 задаче:
1 - GPT - безусловный лидер. Форматирование на топовом уровне, глубокое использование тулов, расширенные ответы на высоком уровне. Я бы сказала, что он отстает от флагманов по апи, но справлется неплохо. Жаль не может читать картинки и весит очень много (63.4 GB)
2 - Gemma - справляется хуже GPT, но все еще дает хороший результат. Весит гораздо меньше (18.85 GB)
3 - Qwen - выглядит как пародия, если честно. То есть по-моим ощущениям, он вроде пытается подстроиться и показать, что он чет делает, но результат как будто бесполезный. Подойдет под простые описательные задачи, где не надо придумывать ничего нового и решать какие-то сложные задачи. Думаю, что нет смысла его использовать, учитывая, что Gemma справляется лучше. (20.43 GB)
4 - Nemotron - Когда я впервые запустила локально llm модели еще на старом ноуте, где у меня не было столько памяти, результат был примерно такой же, как у Nemotron. Я бы его вообще не рассматривала для применения. Но может быть мои тесты были слишком топорные. (26.1 GB)
Мой анализ очень поверхностный и я не претендую на то, что я сделала какой-то супер-отчет. Это все субъективный обзор. Однако, начинаю думать о том, что запускать агента на локальной ллмке, может, не такая уж плохая идея, учитывая такие неплохие результаты. Всем тем, у кого нет столько ресурсов, чтобы запускать у себя GPT на 120B, попробуйте Gemma 4, она в целом неплоха, и чтобы не держать к GPT отдельно модель для картинок, я бы может использовала ее.
А вы что пробовали гонять локально? Какие модели нравятся?
1 - GPT - безусловный лидер. Форматирование на топовом уровне, глубокое использование тулов, расширенные ответы на высоком уровне. Я бы сказала, что он отстает от флагманов по апи, но справлется неплохо. Жаль не может читать картинки и весит очень много (63.4 GB)
2 - Gemma - справляется хуже GPT, но все еще дает хороший результат. Весит гораздо меньше (18.85 GB)
3 - Qwen - выглядит как пародия, если честно. То есть по-моим ощущениям, он вроде пытается подстроиться и показать, что он чет делает, но результат как будто бесполезный. Подойдет под простые описательные задачи, где не надо придумывать ничего нового и решать какие-то сложные задачи. Думаю, что нет смысла его использовать, учитывая, что Gemma справляется лучше. (20.43 GB)
4 - Nemotron - Когда я впервые запустила локально llm модели еще на старом ноуте, где у меня не было столько памяти, результат был примерно такой же, как у Nemotron. Я бы его вообще не рассматривала для применения. Но может быть мои тесты были слишком топорные. (26.1 GB)
Мой анализ очень поверхностный и я не претендую на то, что я сделала какой-то супер-отчет. Это все субъективный обзор. Однако, начинаю думать о том, что запускать агента на локальной ллмке, может, не такая уж плохая идея, учитывая такие неплохие результаты. Всем тем, у кого нет столько ресурсов, чтобы запускать у себя GPT на 120B, попробуйте Gemma 4, она в целом неплоха, и чтобы не держать к GPT отдельно модель для картинок, я бы может использовала ее.
А вы что пробовали гонять локально? Какие модели нравятся?
🔥7
#Жизнь
Про блог. Я веду этот канал с сентября 2020 года. Временами очень сильно забиваю писать сюда, так как не всегда есть настроение. Я никогда не продвигала этот канал, иногда лишь шарила свои посты в группах, плюс у меня везде стоит ссылка на канал в моих профилях. Этот канал реально просто дневник, куда я пишу больше даже для себя как летопись моего развития, моих взглядов, изменений. Иногда вайбово полистать наверх и понастольгировать о прошлом, иногда я ссылаюсь на свои посты, когда кому-то хочу пояснить/пошарить свои идеи или просто рассказать про то, что я делала когда-то.
С некоторых пор иногда начала писать в линкедин. Там пишу только на английском. Часто пишу базу на русском, а потом прошу ллмку адаптировать пост, переведя на английский. У меня в линке почти 1,5к фолловеров, но большую часть из них я набрала искусственно, поэтому активность там почти никакая. Однако, на линке мои почты набирают по несколько тысяч просмотров, хотя лайков и комментов почти нет. В телеге посты набирают по 200-500 просмотров, и как мне кажется, в большинстве случаев это только подписчики. Хз откуда могут быть другие просмотры, учитывая алгоритмы телеги.
Не скажу, что линк прям дал мне какой-то буст или эффект от того, что я периодически пишу туда, но недавно менеджер сказала мне, что гендир обратил на меня внимание (он даже лайкнул один из моих постов), хотя мы с ним ни разу не пересекались по работе за эти 4 года, если только может быть супер-формально и поверхностно.
Все думаю о том, что если реально активно развивать линк, то можно, наверное, получить реальный профит, но каждый раз, когда думаю - надо бы написать пост, я давно не писала, - ощущение полной пустоты - нет идей о чем писать. Поэтому продолжаю делать это все также спонтанно, набегами. И да, я знаю как можно решить этот вопрос и писать стабильно. Но мне так лень. 🙂
И я просто смотрю как медленно утекают подписчики с дневника, когда у меня молчание месяцами. Не то, чтобы это было критично. Но, мама, я недоблоггер. ^_^
Про блог. Я веду этот канал с сентября 2020 года. Временами очень сильно забиваю писать сюда, так как не всегда есть настроение. Я никогда не продвигала этот канал, иногда лишь шарила свои посты в группах, плюс у меня везде стоит ссылка на канал в моих профилях. Этот канал реально просто дневник, куда я пишу больше даже для себя как летопись моего развития, моих взглядов, изменений. Иногда вайбово полистать наверх и понастольгировать о прошлом, иногда я ссылаюсь на свои посты, когда кому-то хочу пояснить/пошарить свои идеи или просто рассказать про то, что я делала когда-то.
С некоторых пор иногда начала писать в линкедин. Там пишу только на английском. Часто пишу базу на русском, а потом прошу ллмку адаптировать пост, переведя на английский. У меня в линке почти 1,5к фолловеров, но большую часть из них я набрала искусственно, поэтому активность там почти никакая. Однако, на линке мои почты набирают по несколько тысяч просмотров, хотя лайков и комментов почти нет. В телеге посты набирают по 200-500 просмотров, и как мне кажется, в большинстве случаев это только подписчики. Хз откуда могут быть другие просмотры, учитывая алгоритмы телеги.
Не скажу, что линк прям дал мне какой-то буст или эффект от того, что я периодически пишу туда, но недавно менеджер сказала мне, что гендир обратил на меня внимание (он даже лайкнул один из моих постов), хотя мы с ним ни разу не пересекались по работе за эти 4 года, если только может быть супер-формально и поверхностно.
Все думаю о том, что если реально активно развивать линк, то можно, наверное, получить реальный профит, но каждый раз, когда думаю - надо бы написать пост, я давно не писала, - ощущение полной пустоты - нет идей о чем писать. Поэтому продолжаю делать это все также спонтанно, набегами. И да, я знаю как можно решить этот вопрос и писать стабильно. Но мне так лень. 🙂
И я просто смотрю как медленно утекают подписчики с дневника, когда у меня молчание месяцами. Не то, чтобы это было критично. Но, мама, я недоблоггер. ^_^
👍12🥰5❤1🔥1