2 первых месяца работы:
• 140 коммитов,
• Десяток мелких задачек,
• Пару баш скриптов для деплоя,
• Немного рефакторинга.
• Пачка найденных проблем, частично решенных.
… И мой отвратительный английский… “Насяльника, не понимать!”
Без автоматизации и оптимизации вообще, наверное, погрязла бы в рутине. Это тебене мешки ворочать не стартапы запускать.
На самом деле в целом хорошо, довольно много самостоятельности и свободы. Нет тестирования, нет ограничений по доступам (на тест ходи, на прод не ходи), нет придирок к мелочам. Самое забавное, что и код приходится писать и письма пользователям. Конечно, есть менеджер, который гораздо больше общается с пользователями и все решения принимает он, но и я как разработчик довольно много общаюсь с людьми (много для разработчика).
Повторяюсь на самом деле. Но мне нравится рефлексировать свои ощущения как разработчика.
Так вот к чему я это все? В cansay за пару месяцев я развернула продукт на AWS, значимо его перестроив. Когда делала Noctua, я за пару месяцев собрала основной функционал. При этом я тогда только начинала и мне казалось, что я так МЕДЛЕННО все делаю. Боже, как я ошибалась. Блин, при том что я могла бы вспомнить свой опыт как менеджера и среднюю скорость разработки проектов.
Знаете почему начинающие разработчики ошибаются в сроках? Не только потому что не знают всех подводных камней и тп. Они просто еще НЕ НАСТОЛЬКО НАГЛЫЕ! Вот смотришь на задачу и думаешь, ну она ж простая, как ее можно оценить в неделю? Я вот сейчас мелкую задачку на пару часов делала несколько дней. Трындец стыдно на самом деле. И нет, я не потому что я балду гоняла, я просто решила солому подложить для развития, чтобы потом можно было красиво и быстро подобные штуки делать (за те же пару часов, но поддерживать будет проще). И вот пока я сделала все это гибко, пока проверила, пока отладила, пока улучшила, туда-сюда - оп, прошло несколько дней. Не, если честно задачка минорная и у меня ничего не горит, плюс базовый функционал я постаралась быстренько задеплоить на тест, чтобы его могли потыкать, но все ж. За это время можно было бы десяток таких задачек закрыть... и захлебнуться потом в их поддержке, наверное.
Интересно, через год работы у меня получится внедрить значимые изменения в работу? Я уже на самом деле сделала два огромных шага - скрипты для деплоя и внедрение secret менеджера. Но пока это только вершина айсберга. Главное, наверное, чтобы не накрыло безразличием.
Перестала учиться. Если не считать подготовки к лекциям по JS и занятий английским. Просто тупо нет сил и желания сейчас. Слишком много всего надо, а еще хочется анимешки позырить 🙂
Надо бы подумать чего я хочу дальше, куда двигаться, поискать новую цель, а то как-то живу в чистом потоке. #AWS, #Работа
• 140 коммитов,
• Десяток мелких задачек,
• Пару баш скриптов для деплоя,
• Немного рефакторинга.
• Пачка найденных проблем, частично решенных.
… И мой отвратительный английский… “Насяльника, не понимать!”
Без автоматизации и оптимизации вообще, наверное, погрязла бы в рутине. Это тебе
На самом деле в целом хорошо, довольно много самостоятельности и свободы. Нет тестирования, нет ограничений по доступам (на тест ходи, на прод не ходи), нет придирок к мелочам. Самое забавное, что и код приходится писать и письма пользователям. Конечно, есть менеджер, который гораздо больше общается с пользователями и все решения принимает он, но и я как разработчик довольно много общаюсь с людьми (много для разработчика).
Повторяюсь на самом деле. Но мне нравится рефлексировать свои ощущения как разработчика.
Так вот к чему я это все? В cansay за пару месяцев я развернула продукт на AWS, значимо его перестроив. Когда делала Noctua, я за пару месяцев собрала основной функционал. При этом я тогда только начинала и мне казалось, что я так МЕДЛЕННО все делаю. Боже, как я ошибалась. Блин, при том что я могла бы вспомнить свой опыт как менеджера и среднюю скорость разработки проектов.
Знаете почему начинающие разработчики ошибаются в сроках? Не только потому что не знают всех подводных камней и тп. Они просто еще НЕ НАСТОЛЬКО НАГЛЫЕ! Вот смотришь на задачу и думаешь, ну она ж простая, как ее можно оценить в неделю? Я вот сейчас мелкую задачку на пару часов делала несколько дней. Трындец стыдно на самом деле. И нет, я не потому что я балду гоняла, я просто решила солому подложить для развития, чтобы потом можно было красиво и быстро подобные штуки делать (за те же пару часов, но поддерживать будет проще). И вот пока я сделала все это гибко, пока проверила, пока отладила, пока улучшила, туда-сюда - оп, прошло несколько дней. Не, если честно задачка минорная и у меня ничего не горит, плюс базовый функционал я постаралась быстренько задеплоить на тест, чтобы его могли потыкать, но все ж. За это время можно было бы десяток таких задачек закрыть... и захлебнуться потом в их поддержке, наверное.
Интересно, через год работы у меня получится внедрить значимые изменения в работу? Я уже на самом деле сделала два огромных шага - скрипты для деплоя и внедрение secret менеджера. Но пока это только вершина айсберга. Главное, наверное, чтобы не накрыло безразличием.
Перестала учиться. Если не считать подготовки к лекциям по JS и занятий английским. Просто тупо нет сил и желания сейчас. Слишком много всего надо, а еще хочется анимешки позырить 🙂
Надо бы подумать чего я хочу дальше, куда двигаться, поискать новую цель, а то как-то живу в чистом потоке. #AWS, #Работа
🔥16
"Ты когда-нибудь думала, что программирование это не твое?"
Нет, блин, но я думала: "Какого черта это так сложно понять, учитывая, что программирование это точно мое!"
Я не из тех, кто переживает на счет математики и логики, потому что с этим всегда было все в порядке. Но дико не хватало базы. И все еще многое надо изучить. И каждый собес как чертов экзамен с кучей заковыристых вопросов с совершенно незнакомыми экзаменаторами и без билетов. Тестовые задания, технические интервью, попробуй подготовься! Отсутствие высшего как клеймо - недоучка! Да блин, офигеть, все жизнь учусь, но вот это недоучка все равно догоняет.
Когда кто-то говорит что наличие высшего неважно, я отрицаю. Если есть возможность его получить, то лучше это сделать. Чтобы потом не пришлось мучительно всем доказывать, что и без него ты норм. Ну, и та же база, фундамент важны. Без них гораздо сложнее продираться через все самому. Хотя лично я предпочитаю учиться сама.
Когда училась на журналистике, ничто так не забустило как опыт собственного проекта, когда пришлось резко разобраться в куче вещей самостоятельно вперед программы. Правда ведь, господин преподаватель? 🙂 Это забавно, прошло 10 лет и мы пересеклись уже на теме программирования. Как успехи c JS?
Больная тема) Пора бы уже переключиться.
Как же чертовски все медленно! Сегодня катнула на прод по-быстренькому небольшое обновление. Нельзя было так резко, надо было соблюсти все формальности. Хотя нет никаких регламентов, говорящих как можно и нельзя. Просто знаю по менеджерскому опыту (по щучьему веленью, по моему хотенью!), что надо бы тикет, согласование, апрув изменений. Но черт возьми, слишком долго для мелкой доработки. На самом деле хотелось еще больше протащить в прод. Опыт и осознание задач говорит о том, что это можно катать, но и тот же опыт говорит, что не надо брать на себя слишком много ответственности, когда ты не СТО, а линейный разработчик.
Наверное, это самое ощутимая разница между привычной позицией и текущей - отсутствие свободы в принятии решений. Не страшно в целом, терпимо, просто непривычно.
Поделюсь немного техническим, давно ничего такого не шарила. Писала кастомный middleware для aws lambda function в виде декоратора для функции lambda_handler. По сути делала просто обработку исключений при выполнении с отправкой уведомлений.
Логирование исключений. Почему-то никогда ранее не использовала logging.exception() https://docs.python.org/3/library/logging.html#logging.Logger.exception для логирования. Полезная штука, которая логирует еще и трейс.
Обработка неотловленных исключений. Познакомилась еще с такой штукой как sys.excepthook https://docs.python.org/3/library/sys.html#sys.excepthook
Пример использования можно найти тут https://stackoverflow.com/questions/5191830/how-do-i-log-a-python-error-with-debug-information
Когда у тебя довольно необычная архитектура проекта, построенная на одних лямбда функциях и слоях к ним, какие только не приходится придумывать решения 🙂
В итоге о внеплановых ошибках должно приходить уведомление на почту с описанием ошибки и ссылкой на cloud watch. Я же уже писала, что изобретаю велосипеды? 🙂
Но блин, это интересно. Люблю этот чудесный мир программирования. #AWS, #Работа, #Python
Нет, блин, но я думала: "Какого черта это так сложно понять, учитывая, что программирование это точно мое!"
Я не из тех, кто переживает на счет математики и логики, потому что с этим всегда было все в порядке. Но дико не хватало базы. И все еще многое надо изучить. И каждый собес как чертов экзамен с кучей заковыристых вопросов с совершенно незнакомыми экзаменаторами и без билетов. Тестовые задания, технические интервью, попробуй подготовься! Отсутствие высшего как клеймо - недоучка! Да блин, офигеть, все жизнь учусь, но вот это недоучка все равно догоняет.
Когда кто-то говорит что наличие высшего неважно, я отрицаю. Если есть возможность его получить, то лучше это сделать. Чтобы потом не пришлось мучительно всем доказывать, что и без него ты норм. Ну, и та же база, фундамент важны. Без них гораздо сложнее продираться через все самому. Хотя лично я предпочитаю учиться сама.
Когда училась на журналистике, ничто так не забустило как опыт собственного проекта, когда пришлось резко разобраться в куче вещей самостоятельно вперед программы. Правда ведь, господин преподаватель? 🙂 Это забавно, прошло 10 лет и мы пересеклись уже на теме программирования. Как успехи c JS?
Больная тема) Пора бы уже переключиться.
Как же чертовски все медленно! Сегодня катнула на прод по-быстренькому небольшое обновление. Нельзя было так резко, надо было соблюсти все формальности. Хотя нет никаких регламентов, говорящих как можно и нельзя. Просто знаю по менеджерскому опыту (по щучьему веленью, по моему хотенью!), что надо бы тикет, согласование, апрув изменений. Но черт возьми, слишком долго для мелкой доработки. На самом деле хотелось еще больше протащить в прод. Опыт и осознание задач говорит о том, что это можно катать, но и тот же опыт говорит, что не надо брать на себя слишком много ответственности, когда ты не СТО, а линейный разработчик.
Наверное, это самое ощутимая разница между привычной позицией и текущей - отсутствие свободы в принятии решений. Не страшно в целом, терпимо, просто непривычно.
Поделюсь немного техническим, давно ничего такого не шарила. Писала кастомный middleware для aws lambda function в виде декоратора для функции lambda_handler. По сути делала просто обработку исключений при выполнении с отправкой уведомлений.
Логирование исключений. Почему-то никогда ранее не использовала logging.exception() https://docs.python.org/3/library/logging.html#logging.Logger.exception для логирования. Полезная штука, которая логирует еще и трейс.
Обработка неотловленных исключений. Познакомилась еще с такой штукой как sys.excepthook https://docs.python.org/3/library/sys.html#sys.excepthook
Пример использования можно найти тут https://stackoverflow.com/questions/5191830/how-do-i-log-a-python-error-with-debug-information
Когда у тебя довольно необычная архитектура проекта, построенная на одних лямбда функциях и слоях к ним, какие только не приходится придумывать решения 🙂
В итоге о внеплановых ошибках должно приходить уведомление на почту с описанием ошибки и ссылкой на cloud watch. Я же уже писала, что изобретаю велосипеды? 🙂
Но блин, это интересно. Люблю этот чудесный мир программирования. #AWS, #Работа, #Python
🔥9👍2
Прошло 2 года с того момента, как я начала вести этот дневник.
Даже не думала, что он станет частью моей рутины. Просто хотелось писать о своих мыслях и впечатлениях. Страшно было со временем потерять интерес и восторг от погружения в программирование. Пока выгорание не ощущается.
Недавно листала старые записи и наткнулась на предновогоднюю заметку, в которой писала "Разве что не уехала в другую страну", и ведь тогда даже не думала об этом. Что ж, прошло всего 4 месяца с момента записи до переезда в Турцию. Когда ты впервые едешь в Турцию, но не отдыхать, а жить. И нет, это не был вынужденный переезд, скорее спонтанное решение.
Эти два года превратились в странный калейдоскоп событий, вроде был ковид и дома все время просидела. Но за это время сидения дома я познакомилась с многими интересными людьми. У меня третья работа, а ведь в предыдущих трех компаниях я работала не меньше, чем по 2 года в каждой. Что ж дальше.
Сейчас.
Как наставница испытала недавно восторг от применения студенткой рекурсии в проекте. Она прямо годно ее использовала для обработки вопросов/ответов теста. Блин, я сама поняла логику рекурсии только спустя несколько месяцев, наверное. В текущем курсе о рекурсии на самом деле ни слова, я про нее постаралась рассказать на созвоне и показала не самый удачный пример на самом деле. Вообще задачка с тестами на текущем проекте моих студенток оказалась весьма интересной и красивой. Я считаю, что им прям повезло с практикой. Вообще девчонки крутые, я вижу, что не боятся сложностей и наоборот видят челлендж в задачах. Обожаю такое.
Мне предложили собрать "продвинутый" курс на базе школы. Рассказать про применение паттернов, алгоритмов, структур данных. Сейчас в курсе нет этих тем, чисто основы фронтенда. Но как же напряжно! Серьезно, так лениво чет делать. "Иногда так хочется стать облаком, плыть, куда влечёт ветерок."
Работа.
Курица или яйцо? Даже в процессе написания текущей заметки думаю о реализации задачки. И кажется пришла таки к определенному видению. Лямбда функции в амазоне не имеют постоянного инстанса и имеют свою специфику типа легковесности и должной простоты. Так вот, еще они имеют версионность и мне казалось, что решение обновлений должно было быть связано с версиями функций, что они не должны быть разделены по стейджам. Я хотела собрать все стейджи в одну функцию. И с этим были связаны некоторые мои решения в коде. Теперь же я подумала, что все же нормально разделить функции по стейджам. Тогда надо переделать некоторые мои решения и все встанет на место. Пойду переделывать. Хотя все же кажется, что так быть не должно. Но иногда приходится соглашаться с не лучшими решениями, потому что нельзя изменить сразу все. Завтра будет. Лучше.
BANKAI! #Работа, #Жизнь
Даже не думала, что он станет частью моей рутины. Просто хотелось писать о своих мыслях и впечатлениях. Страшно было со временем потерять интерес и восторг от погружения в программирование. Пока выгорание не ощущается.
Недавно листала старые записи и наткнулась на предновогоднюю заметку, в которой писала "Разве что не уехала в другую страну", и ведь тогда даже не думала об этом. Что ж, прошло всего 4 месяца с момента записи до переезда в Турцию. Когда ты впервые едешь в Турцию, но не отдыхать, а жить. И нет, это не был вынужденный переезд, скорее спонтанное решение.
Эти два года превратились в странный калейдоскоп событий, вроде был ковид и дома все время просидела. Но за это время сидения дома я познакомилась с многими интересными людьми. У меня третья работа, а ведь в предыдущих трех компаниях я работала не меньше, чем по 2 года в каждой. Что ж дальше.
Сейчас.
Как наставница испытала недавно восторг от применения студенткой рекурсии в проекте. Она прямо годно ее использовала для обработки вопросов/ответов теста. Блин, я сама поняла логику рекурсии только спустя несколько месяцев, наверное. В текущем курсе о рекурсии на самом деле ни слова, я про нее постаралась рассказать на созвоне и показала не самый удачный пример на самом деле. Вообще задачка с тестами на текущем проекте моих студенток оказалась весьма интересной и красивой. Я считаю, что им прям повезло с практикой. Вообще девчонки крутые, я вижу, что не боятся сложностей и наоборот видят челлендж в задачах. Обожаю такое.
Мне предложили собрать "продвинутый" курс на базе школы. Рассказать про применение паттернов, алгоритмов, структур данных. Сейчас в курсе нет этих тем, чисто основы фронтенда. Но как же напряжно! Серьезно, так лениво чет делать. "Иногда так хочется стать облаком, плыть, куда влечёт ветерок."
Работа.
Курица или яйцо? Даже в процессе написания текущей заметки думаю о реализации задачки. И кажется пришла таки к определенному видению. Лямбда функции в амазоне не имеют постоянного инстанса и имеют свою специфику типа легковесности и должной простоты. Так вот, еще они имеют версионность и мне казалось, что решение обновлений должно было быть связано с версиями функций, что они не должны быть разделены по стейджам. Я хотела собрать все стейджи в одну функцию. И с этим были связаны некоторые мои решения в коде. Теперь же я подумала, что все же нормально разделить функции по стейджам. Тогда надо переделать некоторые мои решения и все встанет на место. Пойду переделывать. Хотя все же кажется, что так быть не должно. Но иногда приходится соглашаться с не лучшими решениями, потому что нельзя изменить сразу все. Завтра будет. Лучше.
BANKAI! #Работа, #Жизнь
🔥8
Если вовремя не решить ошибку в приложении, то можно получить счет на 377 долларов (+ налоги) за две недели перерасхода по логам.
Никогда не думала, что селери способна нагенерить логов на 760 гигов за пару недель.
Грущу. #AWS
Никогда не думала, что селери способна нагенерить логов на 760 гигов за пару недель.
Грущу. #AWS
😱12🔥3😢1
Медленно, но верно выстраиваю архитектуру проекта и с каждым шагом все больше кайфую от того, что в итоге получается.
В начале пути я не видела конечной цели, хотя это важно для проектирования. Я просто планомерно выстраивала кусочки, как паззл.
- скрипт деплоя вместо ручной заливки - раз, уже можно автоматизировать конфиги и тп
- создание общего формата респонса, обработка реквестов, создание middleware - раз, уже можно в одном месте поменять заголовки
- создание стандартов для формирование путей, базового шаблона, структур данных - раз, имеем быстрый способ запускать новый простой функционал
- внедрение secret manager для хранения доступов и тп...
- использование sqs для работы с очередями
Вишенкой на торте вынесла фронтенд в отдельный репозиторий и собрала отдельное приложение на react для него, теперь статика хранится в s3 и работает через CloudFront. Теперь можно безболезненно разрабатывать сложный фронтенд.
Если что, я сейчас работаю на aws lambda function и до этого фронтенд отдавался просто с помощью python скриптов.
Кажется, что все это с самого начала должно было быть на проекте, но этого не было. Спасибо менеджеру, что дал всем этим заниматься. И вроде функционально это не дало особого профита, но разработка стала реально приятнее и удобнее. Надеюсь, в следующем году получится это все использовать на полную.
Когда я пришла в компанию, я думала, что будет скучно писать маленькие скриптики на AWS Lambda Function. Никак не ожидала, что доведется столько всего освоить и разрабатывать столько разнообразного функционала.
Недавно чертила схему архитектуры для реализации одной из задач и офигела от того какая она получилась, в ней задействовано 7 разных сервисов AWS, 5 из них внедрила я.
Не усложняю ли я? Думаю, что нет. Подобную задачу коллеги решали через смесь python и js. Это, конечно, кажется просто, но абсолютно невозможно поддерживать и масштабировать. Мое решение удобно будет переиспользовать и легко поддерживать.
Черт, какой же кайф заниматься архитектурой - выстраивать систему, наблюдать как все приходит в порядок и формируется логика. Уруруру!
Новогоднее (офтоп).
Я привыкла в конце года подводить итоги сравнивать с предыдущим годом, находя то, что опять случилось в моей жизни совершенно непредсказуемо. Это заставляет оптимистично смотреть вперед, потому что неожиданные перемены в жизни вдохновляют. Если еще взглянуть на 5 лет назад, так вообще понимаю, что я живу очень насыщенно :)
В середине года я угорала над собой, что в конце прошлого года написала тут, что "разве только в другой стране не жила". И в прошлом году я даже не планировала этого. Что ж, привет Турция, я никогда тут не была до этого года, а теперь считаю домом и уезжать не очень хочется.
Долгое время я сомневалась в своем английском и считала, что не готова работать с иностранными коллегами. А теперь как-то пришлось. И это тоже значимое достижение для меня за этот год.
И самое главное, я в этом году решила проблему ВСЕЙ СВОЕЙ ЖИЗНИ! Я вылечила зубы! И это тоже не было плановым решением. Я лечилась в рандомной турецкой клинике у одного врача. Мне просто понравился доктор и я ему доверилась. Врач, который не говорит по-русски, зато по нему чувствуется, как его прет его дело. Это невероятно круто. Мы общались через ассистента и он поделился, что для работы учил C#, чтобы иметь возможность работать с программами для обработки снимков и тп.
Я не строю планов на следующий год. Я вообще не представляю каким он будет. Я так стремилась к стабильности, а теперь я будто отказалась от фундамента в свои 33. Посмотрим, что из этого выйдет. Зато интересно :)
Всех с наступающим!
Лети! #Работа, #AWS, #Жизнь
В начале пути я не видела конечной цели, хотя это важно для проектирования. Я просто планомерно выстраивала кусочки, как паззл.
- скрипт деплоя вместо ручной заливки - раз, уже можно автоматизировать конфиги и тп
- создание общего формата респонса, обработка реквестов, создание middleware - раз, уже можно в одном месте поменять заголовки
- создание стандартов для формирование путей, базового шаблона, структур данных - раз, имеем быстрый способ запускать новый простой функционал
- внедрение secret manager для хранения доступов и тп...
- использование sqs для работы с очередями
Вишенкой на торте вынесла фронтенд в отдельный репозиторий и собрала отдельное приложение на react для него, теперь статика хранится в s3 и работает через CloudFront. Теперь можно безболезненно разрабатывать сложный фронтенд.
Если что, я сейчас работаю на aws lambda function и до этого фронтенд отдавался просто с помощью python скриптов.
Кажется, что все это с самого начала должно было быть на проекте, но этого не было. Спасибо менеджеру, что дал всем этим заниматься. И вроде функционально это не дало особого профита, но разработка стала реально приятнее и удобнее. Надеюсь, в следующем году получится это все использовать на полную.
Когда я пришла в компанию, я думала, что будет скучно писать маленькие скриптики на AWS Lambda Function. Никак не ожидала, что доведется столько всего освоить и разрабатывать столько разнообразного функционала.
Недавно чертила схему архитектуры для реализации одной из задач и офигела от того какая она получилась, в ней задействовано 7 разных сервисов AWS, 5 из них внедрила я.
Не усложняю ли я? Думаю, что нет. Подобную задачу коллеги решали через смесь python и js. Это, конечно, кажется просто, но абсолютно невозможно поддерживать и масштабировать. Мое решение удобно будет переиспользовать и легко поддерживать.
Черт, какой же кайф заниматься архитектурой - выстраивать систему, наблюдать как все приходит в порядок и формируется логика. Уруруру!
Новогоднее (офтоп).
Я привыкла в конце года подводить итоги сравнивать с предыдущим годом, находя то, что опять случилось в моей жизни совершенно непредсказуемо. Это заставляет оптимистично смотреть вперед, потому что неожиданные перемены в жизни вдохновляют. Если еще взглянуть на 5 лет назад, так вообще понимаю, что я живу очень насыщенно :)
В середине года я угорала над собой, что в конце прошлого года написала тут, что "разве только в другой стране не жила". И в прошлом году я даже не планировала этого. Что ж, привет Турция, я никогда тут не была до этого года, а теперь считаю домом и уезжать не очень хочется.
Долгое время я сомневалась в своем английском и считала, что не готова работать с иностранными коллегами. А теперь как-то пришлось. И это тоже значимое достижение для меня за этот год.
И самое главное, я в этом году решила проблему ВСЕЙ СВОЕЙ ЖИЗНИ! Я вылечила зубы! И это тоже не было плановым решением. Я лечилась в рандомной турецкой клинике у одного врача. Мне просто понравился доктор и я ему доверилась. Врач, который не говорит по-русски, зато по нему чувствуется, как его прет его дело. Это невероятно круто. Мы общались через ассистента и он поделился, что для работы учил C#, чтобы иметь возможность работать с программами для обработки снимков и тп.
Я не строю планов на следующий год. Я вообще не представляю каким он будет. Я так стремилась к стабильности, а теперь я будто отказалась от фундамента в свои 33. Посмотрим, что из этого выйдет. Зато интересно :)
Всех с наступающим!
Лети! #Работа, #AWS, #Жизнь
🔥20👍3
Английский
Я открываю для себя новый виток погружения в английский язык. Я занималась в skyeng, в lingualeo, пробовала busuu когда-то, у меня подписка на ororo.tv, сейчас занимаюсь с преподавателем на preply.
Никак не могла выстроить себе понятную систему занятий и дотащить себя до какой-то понятной планки. Вроде говорю, вроде пишу, вроде читаю, вроде понимаю, но все как-то бессистемно.
Решила попробовать иной путь. Вот только начинаю, поэтому не могу точно сказать на сколько он толковый. Если не заброшу, то буду отписывать сюда о своих ощущениях, процессе и результатах.
Идея вообще не нова, просто я никогда не думала раньше об этом. Хочу подготовиться к экзамену IELTS и сдать на уровень 7+. Это кажется очевидным, но почему-то не приходило раньше в голову.
Я уже начала изучать материалы для подготовки к экзамену. Все они начинаются с того, что рассказывается про структуру теста. Он состоит из 4 блоков - listening, reading, writing, speaking. В первых двух по 40 вопросов, writing - надо написать два текста на 1150 и 2250 слов минимум. Speaking - 12-15 минут. Я еще не добралась до проработки примеров теста, но уже видела некоторые кусочки listening и поняла, что они чертовски хорошо покрывают необходимые базовые скиллы, которые почему-то прошли мимо меня во всех моих попытках обучения ранее.
Тест разработан в Кембридже, поэтому, как я понимаю, он хорошо заточен под адекватную оценку навыков английского. Из чего следует, что подготовка к этому тесту как раз даст нужные навыки.
В плане подготовки я пошла проторенной тропой - купила один из популярных курсов на udemy для подготовки к IELTS. Впрочем, на Youtube тоже есть подобные. Уже начала смотреть первые лекции, где очевидный совет - купите и используйте книги Кембриджа для подготовки. Я уже заказала, вот жду когда привезут (на этой неделе должны доставить). Второй момент, которому был посвящена первая секция курс подготовки - разбор причин стресса на экзамене и как с этим справляться. Говорят, что люди часто пишут плохо тест, потому что они не готовы к самому формату теста.
Самое главное, что я уже осознала в рамках начала подготовки, что есть курсы по английскому, а есть курсы подготовки к тесту и это разные вещи.
Сроки. Пока не знаю какой срок для подготовки себе поставить. Как лимит - хочу справиться до конца года, но на самом деле хочу быстрее, не думаю, что потребуется прям год на все. Промежуточно ориентируюсь сделать это до конца весны.
Вообще это вызов для меня, потому что кажется, у меня знания значимо ниже желаемого уровня, надо пополнить словарный запас, натренировать грамматику, ну и натаскаться проходить тест.
Я думаю, что буду сдавать Academic вариант, потому что он принимается в университетах, а у меня в голове все еще остается идея когда-нибудь где-нибудь получить высшее образование, которого у меня нет. Для работы, полагаю, будет неважно какой тип экзамена я сдала, да и в целом, думаю, что большинство компаний не требуют подтверждения уровня языка.
Что ж, погнала дальше.
PS. Не считаю эту тему офтопом, так как английский - это один из базовых навыков нашей сферы. Думаю, что многие страдают по этой теме так же как и я. Да и в целом, мой дневник, пишу тут что хочу :-P #Учеба
Я открываю для себя новый виток погружения в английский язык. Я занималась в skyeng, в lingualeo, пробовала busuu когда-то, у меня подписка на ororo.tv, сейчас занимаюсь с преподавателем на preply.
Никак не могла выстроить себе понятную систему занятий и дотащить себя до какой-то понятной планки. Вроде говорю, вроде пишу, вроде читаю, вроде понимаю, но все как-то бессистемно.
Решила попробовать иной путь. Вот только начинаю, поэтому не могу точно сказать на сколько он толковый. Если не заброшу, то буду отписывать сюда о своих ощущениях, процессе и результатах.
Идея вообще не нова, просто я никогда не думала раньше об этом. Хочу подготовиться к экзамену IELTS и сдать на уровень 7+. Это кажется очевидным, но почему-то не приходило раньше в голову.
Я уже начала изучать материалы для подготовки к экзамену. Все они начинаются с того, что рассказывается про структуру теста. Он состоит из 4 блоков - listening, reading, writing, speaking. В первых двух по 40 вопросов, writing - надо написать два текста на 1150 и 2250 слов минимум. Speaking - 12-15 минут. Я еще не добралась до проработки примеров теста, но уже видела некоторые кусочки listening и поняла, что они чертовски хорошо покрывают необходимые базовые скиллы, которые почему-то прошли мимо меня во всех моих попытках обучения ранее.
Тест разработан в Кембридже, поэтому, как я понимаю, он хорошо заточен под адекватную оценку навыков английского. Из чего следует, что подготовка к этому тесту как раз даст нужные навыки.
В плане подготовки я пошла проторенной тропой - купила один из популярных курсов на udemy для подготовки к IELTS. Впрочем, на Youtube тоже есть подобные. Уже начала смотреть первые лекции, где очевидный совет - купите и используйте книги Кембриджа для подготовки. Я уже заказала, вот жду когда привезут (на этой неделе должны доставить). Второй момент, которому был посвящена первая секция курс подготовки - разбор причин стресса на экзамене и как с этим справляться. Говорят, что люди часто пишут плохо тест, потому что они не готовы к самому формату теста.
Самое главное, что я уже осознала в рамках начала подготовки, что есть курсы по английскому, а есть курсы подготовки к тесту и это разные вещи.
Сроки. Пока не знаю какой срок для подготовки себе поставить. Как лимит - хочу справиться до конца года, но на самом деле хочу быстрее, не думаю, что потребуется прям год на все. Промежуточно ориентируюсь сделать это до конца весны.
Вообще это вызов для меня, потому что кажется, у меня знания значимо ниже желаемого уровня, надо пополнить словарный запас, натренировать грамматику, ну и натаскаться проходить тест.
Я думаю, что буду сдавать Academic вариант, потому что он принимается в университетах, а у меня в голове все еще остается идея когда-нибудь где-нибудь получить высшее образование, которого у меня нет. Для работы, полагаю, будет неважно какой тип экзамена я сдала, да и в целом, думаю, что большинство компаний не требуют подтверждения уровня языка.
Что ж, погнала дальше.
PS. Не считаю эту тему офтопом, так как английский - это один из базовых навыков нашей сферы. Думаю, что многие страдают по этой теме так же как и я. Да и в целом, мой дневник, пишу тут что хочу :-P #Учеба
🔥16🤣2
Ахах. Пришла книжка с диском... Где взять дисковод? =) #Техника
😁8👏2
Прочитала "Вы, конечно, шутите, мистер Фейнман!" и я в восторге. Нахожу в своей жизни множество аналогий, пусть и не столь успешных и ярких, но все же. Книжка пробудила желание упарываться также как автор, наслаждаться жизнью, своим делом, своими увлечениями. Захотелось купить барабан :)
Про работу.
Недавно пришла задачка - сделать временное решение, интеграцию с десктопным приложением, в которое надо прокидывать данные из нашей системы по запросу пользователей, получать обновленные и сохранять в системе. В голове сразу нарисовалось решение, какие сервисы использовать, какой должен быть порядок действий. Забавно, кажется задачка очень простая, но по факту будет задействовано довольно много всего. Процесс примерно такой:
1. Пользователь в интерфейсе системы (ELN) открывает наш фрейм (ELN -> CloudFront -> S3).
2. Внутри нашего UI (React -> API Gateway) идет запрос для получения данных по объекту, в котором находится пользователь.
3. На бэкенде (API Gateway -> AWS Lambda Function -> ELN) отправляется запрос к исходной системе за данными и формирует результат с ссылками на запуск десктопного приложения (кастомная ссылка, которая внутри операционной системы запустит именно приложение, а не новое окно в браузере).
4. UI отображает данные и позволяет выбрать из списка, что конкретно надо передать в десктопное приложение. Пользователь запускает приложение по ссылке
5. Запущенное десктопное приложение обращается по указанному урлу, который передается как параметр при вызове, для получения данных (приложение -> API Gateway -> lambda Function).
6. Приложение позволяет пользователю редактировать данные, а потом при сохранении передает измененные данные к нам в очередь (API Gateway -> SQS). Очередь нужна, чтобы настроить стабильную работу и не терять данные. Плюс она дает определенную гибкость и скорость. Можно было бы и напрямую сделать вызов функции, но приложению должно быть пофиг на наш дальнейший процесс, поэтому от них уехало и Добби свободен.
7. Очередь запускает бэкенд, внутри которого мы обрабатываем измененные данные в нужный формат и передаем обратно в исходную систему (SQS -> Lambda function -> ELN).
Для обеспечения процесса данные об источнике планирую хранить в DynamoDB.
К чему я это? На самом деле хотелось привести пример задачи и ее реализации на нашей архитектуре. Код, конечно, я не могу пошарить, но процессом и технологиями могу поделиться. Мне кажется, что реальные кейсы на AWS Lambda Function должны быть довольно интересными, потому что хоть и не каждый решится на такой способ решения задач, но он реально рабочий и на самом деле удобный. И даже если базовая архитектура проекта запускается на стандартных инстансах, то иногда бывают небольшие MVP-задачки, которые можно собрать на лямбде и клево, кажется, понимать как это можно сделать.
Фронтенд.
Пока работала наставницей (уже не работаю, так как решила больше времени тратить на себя), увидела в гайде от react-router-dom использование сборщика vite https://vitejs.dev. Раньше им никогда не пользовалась, ведь по умолчанию все юзают webpack, но решила загуглить и в итоге применить. Сначала собрала на нем тестовый проектик и в целом все прошло гладко. Что мне больше всего понравилось, так это то, что не надо отдельно ставить/запускать create-react-app. Так себе аргумент на самом деле, но все же это реально удобно.
Наше фронтовое приложение также запустила на нем. Чисто технически, если будет необходимость всегда можно переехать на webpack, поэтому почему бы и не попробовать vite. Пока полет нормальный.
Хотела бы завести наше приложение на Angular, но для простоты и скорости вхождения решила все же взять React. Осознала, что мне в целом стало пофиг какой фреймворк/библиотека. Никак не могу понять, почему многие так зацикливаются на инструменте, я про тех разработчиков, кто работает только на одном фреймворке. Типа react-разработчик. Это бы имело смысл, если ты работаешь над библиотекой/фреймворком. #Работа, #AWS, #JS
Про работу.
Недавно пришла задачка - сделать временное решение, интеграцию с десктопным приложением, в которое надо прокидывать данные из нашей системы по запросу пользователей, получать обновленные и сохранять в системе. В голове сразу нарисовалось решение, какие сервисы использовать, какой должен быть порядок действий. Забавно, кажется задачка очень простая, но по факту будет задействовано довольно много всего. Процесс примерно такой:
1. Пользователь в интерфейсе системы (ELN) открывает наш фрейм (ELN -> CloudFront -> S3).
2. Внутри нашего UI (React -> API Gateway) идет запрос для получения данных по объекту, в котором находится пользователь.
3. На бэкенде (API Gateway -> AWS Lambda Function -> ELN) отправляется запрос к исходной системе за данными и формирует результат с ссылками на запуск десктопного приложения (кастомная ссылка, которая внутри операционной системы запустит именно приложение, а не новое окно в браузере).
4. UI отображает данные и позволяет выбрать из списка, что конкретно надо передать в десктопное приложение. Пользователь запускает приложение по ссылке
5. Запущенное десктопное приложение обращается по указанному урлу, который передается как параметр при вызове, для получения данных (приложение -> API Gateway -> lambda Function).
6. Приложение позволяет пользователю редактировать данные, а потом при сохранении передает измененные данные к нам в очередь (API Gateway -> SQS). Очередь нужна, чтобы настроить стабильную работу и не терять данные. Плюс она дает определенную гибкость и скорость. Можно было бы и напрямую сделать вызов функции, но приложению должно быть пофиг на наш дальнейший процесс, поэтому от них уехало и Добби свободен.
7. Очередь запускает бэкенд, внутри которого мы обрабатываем измененные данные в нужный формат и передаем обратно в исходную систему (SQS -> Lambda function -> ELN).
Для обеспечения процесса данные об источнике планирую хранить в DynamoDB.
К чему я это? На самом деле хотелось привести пример задачи и ее реализации на нашей архитектуре. Код, конечно, я не могу пошарить, но процессом и технологиями могу поделиться. Мне кажется, что реальные кейсы на AWS Lambda Function должны быть довольно интересными, потому что хоть и не каждый решится на такой способ решения задач, но он реально рабочий и на самом деле удобный. И даже если базовая архитектура проекта запускается на стандартных инстансах, то иногда бывают небольшие MVP-задачки, которые можно собрать на лямбде и клево, кажется, понимать как это можно сделать.
Фронтенд.
Пока работала наставницей (уже не работаю, так как решила больше времени тратить на себя), увидела в гайде от react-router-dom использование сборщика vite https://vitejs.dev. Раньше им никогда не пользовалась, ведь по умолчанию все юзают webpack, но решила загуглить и в итоге применить. Сначала собрала на нем тестовый проектик и в целом все прошло гладко. Что мне больше всего понравилось, так это то, что не надо отдельно ставить/запускать create-react-app. Так себе аргумент на самом деле, но все же это реально удобно.
Наше фронтовое приложение также запустила на нем. Чисто технически, если будет необходимость всегда можно переехать на webpack, поэтому почему бы и не попробовать vite. Пока полет нормальный.
Хотела бы завести наше приложение на Angular, но для простоты и скорости вхождения решила все же взять React. Осознала, что мне в целом стало пофиг какой фреймворк/библиотека. Никак не могу понять, почему многие так зацикливаются на инструменте, я про тех разработчиков, кто работает только на одном фреймворке. Типа react-разработчик. Это бы имело смысл, если ты работаешь над библиотекой/фреймворком. #Работа, #AWS, #JS
🔥4❤2👍1
На самом деле, лично я бы с радостью поработала бы на каком-нибудь другом языке, если была бы такая задача. Не ради резюме, а ради расширения кругозора. Какая в целом разница? Берем документацию, гугл и погнали. Не так уж и много нужно времени, как мне кажется, чтобы переключиться. Конечно, скорость решения задач на неизвестной технологии будет ниже, но если это оправдано, то почему бы и нет?
Английский.
Прошла неделька со старта моего плана и я сильно тормознула, если честно. Я внезапно переключилась на планы по дальнейшей миграции, разбиралась с визами, документами, финансами, изучала какие вообще есть варианты. В итоге было не до английского. Кажется, меня с начала года понесло. Выхожу из временного анабиоза. Так вот, план по английском по ходу придется менять, так как возникла идея поехать в Малайзию по визе от языковой школы и там на месте уже придется по 3-4 часа в день учить английский. Тем не менее, материалы по IELTS хочу продолжить проходить.
Как же бесят долгосрочные планы, хочется взять и прямо сейчас уже реализовать. Хоп и оказаться уже в Малайзии, а не вот это вот все и ждать аж до мая.
Фыр! #Работа, #Учеба
Английский.
Прошла неделька со старта моего плана и я сильно тормознула, если честно. Я внезапно переключилась на планы по дальнейшей миграции, разбиралась с визами, документами, финансами, изучала какие вообще есть варианты. В итоге было не до английского. Кажется, меня с начала года понесло. Выхожу из временного анабиоза. Так вот, план по английском по ходу придется менять, так как возникла идея поехать в Малайзию по визе от языковой школы и там на месте уже придется по 3-4 часа в день учить английский. Тем не менее, материалы по IELTS хочу продолжить проходить.
Как же бесят долгосрочные планы, хочется взять и прямо сейчас уже реализовать. Хоп и оказаться уже в Малайзии, а не вот это вот все и ждать аж до мая.
Фыр! #Работа, #Учеба
🔥11❤3
Кстати, либа от самого AWS для работы с lambda function https://awslabs.github.io/aws-lambda-powertools-python/2.5.0/
Очень похоже на то, что мы фактически делаем вручную. Смотрю на эту либу и думаю, как бы на нее мигрировать.
Чуть позже испробую ее на чем-нибудь, отпишу о впечатлениях. Но судя по документации функционал у нее - огонь. #AWS, #Tools
Очень похоже на то, что мы фактически делаем вручную. Смотрю на эту либу и думаю, как бы на нее мигрировать.
Чуть позже испробую ее на чем-нибудь, отпишу о впечатлениях. Но судя по документации функционал у нее - огонь. #AWS, #Tools
👍3
Всю дорогу работала внутри workspace на винде с wsl. Недавно коллега надоумил, что можно работать и с локальной машины, что технически наше подключение работает и вне внутренней сети.
Решила перебраться к себе, так как workspace все же иногда сильно подлагивает. Порой по часу и более не могу подключиться 🙁
Но история моя не про это. Когда я только пришла, я почти сразу написала скрипты для деплоя наших функций на баше. Честно, это был мой первый опыт настолько замороченного скрипта на баше, где я использовала разные аргументы, условия, циклы, работу с массивами и функции. Обычно все ограничивалось парой команд, а тут я пыталась сделать что-то многофункциональное.
Когда решила писать скрипт подумывала, почему бы это не сделать на питоне, ведь у AWS есть своя библиотека boto3 и на ней можно скорее всего сделать все тоже самое. Но решила, что баш будет универсальнее. Вот про эту ошибку и хочется сказать.
Да, если готовить скрипт под одну OS, проще было бы сделать его на баше. Когда же я свой скрипт деплоя попыталась запустить на маке вместо wsl, то узнала, что баш башу рознь. И дело тут даже не в установленных дополнительных приложениях, а в некоторых нюансах базовых команд. Например, приведение букв к верхнему регистру.
Плюс баш не удобно все же поддерживать и развивать. Любая обработка строк или данных на баше, на мой взгляд, - сущий ад. В итоге я осознала, что надо было сразу писать на питоне и не страдать.
Кусок скрипта для добавления слоев к функции при деплое (для примера):
Не самая приятная штука с точки зрения читабельности, но я в первую очередь добивалась функциональности, когда это писала. Поясню что тут происходит. На входе приходит строка со списком слоев, где может быть указано просто название или название:версия. В первом варианте мы запрашиваем последнюю версию указанного слоя, ее ARN. Во втором варианте мы просто формируем ARN для указанной версии слоя и добавляем его как аргумент в команду.
Пока писала пост, осознала, что я случайно вчера затерла все свои исправления скрипта под zsh на маке. Теперь точно не выдержу и перепишу все на питон, чтобы второй раз не отлаживать 🙁
Но! Вот только недавно общались с другом и он делился впечатлениями как ему вручную приходится катать что-то на окружения, хотя там вполне постоянная последовательность действий, и как это стрессово на самом деле. И хочу сказать, что скрипты рулят. Все, что имеет больше двух шагов и повторяется, на мой взгляд, лучше автоматизировать.
Осталось еще порешать проблему с тем, что вне внутренней сети у нас почему-то не удается подключиться к S3, хотя у акка доступы к S3 есть и в сети все ок. Подозреваю, что это настройки бакета. Надо глянуть и поправить. А то фронтенд не катается 🙁
А еще мы продолжаем улучшать наш проект. Недавно коллега намутил роутер по аналогии fast api с подвязкой на структуру данных, которую мы получаем из api gateway, вдохновившись библиотекой от самого aws. Теперь осталось подумать и договориться о базовых принципах построения путей и разделения логики на функции.
Проекту больше 3 лет… Мы только сейчас реализуем базовые вещи, хе-хе. Хорошо, что мы с коллегой в этом плане на одной волне, а не вот это все - сделали и забыли. #AWS, #Работа
Решила перебраться к себе, так как workspace все же иногда сильно подлагивает. Порой по часу и более не могу подключиться 🙁
Но история моя не про это. Когда я только пришла, я почти сразу написала скрипты для деплоя наших функций на баше. Честно, это был мой первый опыт настолько замороченного скрипта на баше, где я использовала разные аргументы, условия, циклы, работу с массивами и функции. Обычно все ограничивалось парой команд, а тут я пыталась сделать что-то многофункциональное.
Когда решила писать скрипт подумывала, почему бы это не сделать на питоне, ведь у AWS есть своя библиотека boto3 и на ней можно скорее всего сделать все тоже самое. Но решила, что баш будет универсальнее. Вот про эту ошибку и хочется сказать.
Да, если готовить скрипт под одну OS, проще было бы сделать его на баше. Когда же я свой скрипт деплоя попыталась запустить на маке вместо wsl, то узнала, что баш башу рознь. И дело тут даже не в установленных дополнительных приложениях, а в некоторых нюансах базовых команд. Например, приведение букв к верхнему регистру.
Плюс баш не удобно все же поддерживать и развивать. Любая обработка строк или данных на баше, на мой взгляд, - сущий ад. В итоге я осознала, что надо было сразу писать на питоне и не страдать.
Кусок скрипта для добавления слоев к функции при деплое (для примера):
ADD_LAYERS=()
if [[ ! "${LAYERS}" == "" ]]; then
ADD_LAYERS+=(--layers)
IFS=',' read -r -a array <<< "${LAYERS}"
for element in "${array[@]}"
do
IFS=':' read -r -a l_v <<< "${element}"
if [ ${#l_v[@]} == 1 ]; then
tmp=$(
aws lambda list-layer-versions --layer-name "${element}" \
--output json --max-items 1 --query 'LayerVersions[0].LayerVersionArn'
)
tmp=${tmp:1:-1}
else
tmp="arn:aws:lambda:us-east-1:${account_id}:layer:${element}"
fi
ADD_LAYERS+=("${tmp}")
done
echo "Layers: ${ADD_LAYERS[*]}"
fi
Не самая приятная штука с точки зрения читабельности, но я в первую очередь добивалась функциональности, когда это писала. Поясню что тут происходит. На входе приходит строка со списком слоев, где может быть указано просто название или название:версия. В первом варианте мы запрашиваем последнюю версию указанного слоя, ее ARN. Во втором варианте мы просто формируем ARN для указанной версии слоя и добавляем его как аргумент в команду.
Пока писала пост, осознала, что я случайно вчера затерла все свои исправления скрипта под zsh на маке. Теперь точно не выдержу и перепишу все на питон, чтобы второй раз не отлаживать 🙁
Но! Вот только недавно общались с другом и он делился впечатлениями как ему вручную приходится катать что-то на окружения, хотя там вполне постоянная последовательность действий, и как это стрессово на самом деле. И хочу сказать, что скрипты рулят. Все, что имеет больше двух шагов и повторяется, на мой взгляд, лучше автоматизировать.
Осталось еще порешать проблему с тем, что вне внутренней сети у нас почему-то не удается подключиться к S3, хотя у акка доступы к S3 есть и в сети все ок. Подозреваю, что это настройки бакета. Надо глянуть и поправить. А то фронтенд не катается 🙁
А еще мы продолжаем улучшать наш проект. Недавно коллега намутил роутер по аналогии fast api с подвязкой на структуру данных, которую мы получаем из api gateway, вдохновившись библиотекой от самого aws. Теперь осталось подумать и договориться о базовых принципах построения путей и разделения логики на функции.
Проекту больше 3 лет… Мы только сейчас реализуем базовые вещи, хе-хе. Хорошо, что мы с коллегой в этом плане на одной волне, а не вот это все - сделали и забыли. #AWS, #Работа
🔥8🥰2👎1
Сегодня меня попросили сделать нагрузочное тестрование (НТ) для блокчейн нод на пару методов. Я ни разу не делала НТ сама и почти ничего не знаю про внутрянку блокчейна. Что ж…
Сначала попробовала погуглить, но на меня вывалилось большое разнообразие инструментов, что я поняла - выбирать буду долго. Тогда постучала к другу, который ранее делился со мной впечатлениями, когда сам делал НТ, и попросила его пошарить чем он пользовался.
Что же, и вот документация по locust https://docs.locust.io/en/stable/index.html. Немного повозилась с установкой, потому что давно не юзала venv и в целом на маке, если честно, бардак в плане версий python и библиотек. Нашла пример простого конфига и залипла в подготовку сценариев, так как почти вообще не шарю в контексте блокчейна. Благо уже проходила по просьбе кое-какие гайды и уже создавала базовые контракты, поэтому хоть чуток ориентируюсь.
Предоставленные хосты - отдельная песня, на один и тот же запрос, то 502, то 503, то 200. Может это норма для блокчейна?
Провозившись часа 2, я все же запустила, немного офигела от RPS до 2000 без ошибок, долго игралась с параметрами как сделать плавный запуск. Не уверена, что я все сделала как надо, так как реально не хотела сильно погружаться в эту задачу. Скорее всего, если копнуть глубже, то можно настроить более корректный сценарий проведения НТ, но мне нужны были базовые цифры.
Потом еще долго снимала показатели и собирала отчеты по разным методам (можно, кстати, автоматизировать, там вроде вообще есть запуск в фоне).
А потом решила по фану зайти в чатгпт и попросить помочь. После чего эта радость выдает мне нужный скрипт для locust с первого запроса со всеми параметрами и тп. Ну, черт, какой же все-таки это прикольный зверь. Почему я не сделала это сразу?
Еще момент, помню в бытность менеджером проведение НТ вызывало много страданий и мало кто его нормально мог сделать. И вот сижу я и не понимаю, какого черта. Ну? Ведь не надо быть супер-инженером, чтобы это сделать. Пусть на коленке, но это уже может дать пищу для ума. Я помню как мы проводили НТ, я помню эти “красивые отчеты”, которые вот, я собрала на раз-два-три. Очень сложная задача! И я понимаю, что дать нагрузку это не вся задача, надо бы посмотреть логи, проанализировать ошибки, узкие места, но это тоже не рокет саенс…
Ну да лан. Дорогу осилит идущий, вот что я хочу сказать.
К прошлой теме. Хочу поделиться, переписывая скрипт деплоя на питон, наткнулась на встроенную библиотеку в питоне специально для вызова скриптов из терминала argparse. Удобная штука, позволяет конфигурировать аргументы, которые ожидаешь при вызове скрипта и работать с ними. Вообще на питоне, конечно, намного веселее было собрать все, что нужно. Плюс еще удобнее собирать архив с помощью опять же встроенной библиотеки zipfile, тут отличный пример для сборки архива https://stackoverflow.com/questions/1855095/how-to-create-a-zip-archive-of-a-directory
Кстати, chatGPT приобрела платную версию. Но посты сюда пишу сама! 🙂 Спрашивала, конечно, рекомендации по каналу и тп, советы прикольные. Однако, я сюда пишу не ради аудитории или репутации, или еще чего-то. Это просто место для излияния души, так сказать. Поэтому не, генерить или специально задротить на посты здесь я не буду. Это мой уютный дневничок и пока есть настроение, я буду продолжать графоманить сюда всякое накопившееся, накипевшее.
Но с сеткой довольно интересно общаться, да! Мне нравится.
Фыр #ChatGPT, #Python, #Tools
Сначала попробовала погуглить, но на меня вывалилось большое разнообразие инструментов, что я поняла - выбирать буду долго. Тогда постучала к другу, который ранее делился со мной впечатлениями, когда сам делал НТ, и попросила его пошарить чем он пользовался.
Что же, и вот документация по locust https://docs.locust.io/en/stable/index.html. Немного повозилась с установкой, потому что давно не юзала venv и в целом на маке, если честно, бардак в плане версий python и библиотек. Нашла пример простого конфига и залипла в подготовку сценариев, так как почти вообще не шарю в контексте блокчейна. Благо уже проходила по просьбе кое-какие гайды и уже создавала базовые контракты, поэтому хоть чуток ориентируюсь.
Предоставленные хосты - отдельная песня, на один и тот же запрос, то 502, то 503, то 200. Может это норма для блокчейна?
Провозившись часа 2, я все же запустила, немного офигела от RPS до 2000 без ошибок, долго игралась с параметрами как сделать плавный запуск. Не уверена, что я все сделала как надо, так как реально не хотела сильно погружаться в эту задачу. Скорее всего, если копнуть глубже, то можно настроить более корректный сценарий проведения НТ, но мне нужны были базовые цифры.
Потом еще долго снимала показатели и собирала отчеты по разным методам (можно, кстати, автоматизировать, там вроде вообще есть запуск в фоне).
А потом решила по фану зайти в чатгпт и попросить помочь. После чего эта радость выдает мне нужный скрипт для locust с первого запроса со всеми параметрами и тп. Ну, черт, какой же все-таки это прикольный зверь. Почему я не сделала это сразу?
Еще момент, помню в бытность менеджером проведение НТ вызывало много страданий и мало кто его нормально мог сделать. И вот сижу я и не понимаю, какого черта. Ну? Ведь не надо быть супер-инженером, чтобы это сделать. Пусть на коленке, но это уже может дать пищу для ума. Я помню как мы проводили НТ, я помню эти “красивые отчеты”, которые вот, я собрала на раз-два-три. Очень сложная задача! И я понимаю, что дать нагрузку это не вся задача, надо бы посмотреть логи, проанализировать ошибки, узкие места, но это тоже не рокет саенс…
Ну да лан. Дорогу осилит идущий, вот что я хочу сказать.
К прошлой теме. Хочу поделиться, переписывая скрипт деплоя на питон, наткнулась на встроенную библиотеку в питоне специально для вызова скриптов из терминала argparse. Удобная штука, позволяет конфигурировать аргументы, которые ожидаешь при вызове скрипта и работать с ними. Вообще на питоне, конечно, намного веселее было собрать все, что нужно. Плюс еще удобнее собирать архив с помощью опять же встроенной библиотеки zipfile, тут отличный пример для сборки архива https://stackoverflow.com/questions/1855095/how-to-create-a-zip-archive-of-a-directory
Кстати, chatGPT приобрела платную версию. Но посты сюда пишу сама! 🙂 Спрашивала, конечно, рекомендации по каналу и тп, советы прикольные. Однако, я сюда пишу не ради аудитории или репутации, или еще чего-то. Это просто место для излияния души, так сказать. Поэтому не, генерить или специально задротить на посты здесь я не буду. Это мой уютный дневничок и пока есть настроение, я буду продолжать графоманить сюда всякое накопившееся, накипевшее.
Но с сеткой довольно интересно общаться, да! Мне нравится.
Фыр #ChatGPT, #Python, #Tools
🔥13👍1
Хочу еще докинуть про переезд на макось из воркспейса. Раньше pre-commit был для меня болью (https://pre-commit.com/). Ну, правда, бесило ждать хз сколько пока он там все скрипты прогонит. Перелезла на мак и офигела о того, что он начал работать в считанные секунды. Что? Это реально перестало быть болью. Тык-тык, вжух, погнали!
Но! Что с оперативкой? Как же обещанное - вам за глаза хватит 16 ГБ оперативки на макоси? Третье окно пайчарма начинает уже верещать, что не хватает памяти. Какого хрена? И самое обидное, что ее не расширишь же просто так. Это подстава! Следующий ноут будет не меньше 32! А лучше сразу 64, чтобы не думать об этом. Да, я зажралась! Но черт, оперативка - это не то, во что хочется упираться при работе. Я и так ее привыкла экономить внутри проектов. Да, у меня 2 окна с кучей вкладок в хроме и одно окно эджа, пару проектов в пайчарме, докер и прочие радости жизни. Я не хочу ограничивать себя. Хех(
Запустили скрипт loctus для НТ на винде, при тех же параметрах макось справлялась без проблем, а вот виндовый супер-крутой ноут с супер-процом ушел в полку и пришлось запускать несколько воркеров, чтобы распределить нагрузку. Хы, вот ранее ни разу не упиралась в проц, а тут приветики-привет!
Как-то так. #Техника, #Tools
Но! Что с оперативкой? Как же обещанное - вам за глаза хватит 16 ГБ оперативки на макоси? Третье окно пайчарма начинает уже верещать, что не хватает памяти. Какого хрена? И самое обидное, что ее не расширишь же просто так. Это подстава! Следующий ноут будет не меньше 32! А лучше сразу 64, чтобы не думать об этом. Да, я зажралась! Но черт, оперативка - это не то, во что хочется упираться при работе. Я и так ее привыкла экономить внутри проектов. Да, у меня 2 окна с кучей вкладок в хроме и одно окно эджа, пару проектов в пайчарме, докер и прочие радости жизни. Я не хочу ограничивать себя. Хех(
Запустили скрипт loctus для НТ на винде, при тех же параметрах макось справлялась без проблем, а вот виндовый супер-крутой ноут с супер-процом ушел в полку и пришлось запускать несколько воркеров, чтобы распределить нагрузку. Хы, вот ранее ни разу не упиралась в проц, а тут приветики-привет!
Как-то так. #Техника, #Tools
ChatGPT и Copilot
Я на старте пробовала copilot и мне не понравилось, так как он советовал что-то не то и в целом мешал.
Сегодня решила все же попробовать его снова и поняла, что я ошибалась, сильно ошибалась на его счет. Это реально круто и удобно. Писать ридми, комментарии, делать какой-нибудь маппинг и тп, невероятно круто.
А вчера я проходила один курс на Курсере, и там очень много надо было писать всякого на английском. Так как у меня уровень не очень и пишу я довольно медленно, то я вовсю юзала чатгпт, набрасывая свои мысли и получая отформатированный красивый текст. После сдачи там требуется проверить чужие работы… И большая часть работ очевидно создана с помощью чатгпт. Хы
И я не скажу, что это плохо, так как это реально удобнее, сетка делает мысль читабельной 🙂
Как же сейчас горит у всех проверяющих пукан по этому поводу, наверное.
Опубликовала репозиторий по НТ https://github.com/mandrianova/eth_locust_test
Изначально была идея сделать скрипт, который полностью будет работать в фоне, но меня попросили оставить ручное управление через веб-интерфейс. В целом несложно доработать под автоматический запуск.
Самое главное, что прописала в скрипте - это запуск воркеров под мастер автоматически. Странно, что этого не учли в cli самого locust. Возможно стоило бы сделать форк либы, доработать, а потом сделать им pr по этому функционалу, но я пока не чувствую в себе готовности проворачивать такие вещи. Да и в целом, у меня не было каких-то серьезных намерений на эту задачу.
Я эту заметку пишу отрывками второй день, собираю кусочки так сказать, обычно пишу одним разом, а тут чет отвлекли.
Так вот, к чем я про Курсеру. Я нашла там вариант закончить бакалавриат онлайн на Computer Science с дипломом и всеми делами, вот хочу вписаться. Уже даже заявку подала. На входе надо пройти 3 курса от вуза/колледжа, это что-то вроде вступительных испытаний. Я прошла первый - “How Computers Work. University of London, Goldsmiths, University of London”. Он был прикольным, но ничего нового мне не дал в принципе. Прошла за несколько часов и начала второй.
Второй тоже простой, но там много рутинной возни - надо разметить на картинках с помощью координат всякое, и таких картинок 16 штук. И это только начало. Думаю, на этой неделе пройду. Курс вроде как вводный в программирование, но черт, лучше бы я какие-нибудь задачки на алгоритмы решала, чем считать расстояние между пикселями 🙁
Третий курс предвкушаю больше всего, оставила его на десерт. Там математика. Надеюсь будет интересно, потому что я люблю математику, но уже ничего не помню почти. Кое-что уже пришлось освежить, когда проходила курс по ML, но все же.
Я на своем пути бросила 3 вуза. Чаще на самом старте. Никак не могла удержаться и дойти до финала. Я легко справлялась с учебой, но каждый раз находилось что-то, из-за чего я скипала учебу в универе. Первый раз был МАДИ, я как-то быстро осознала, что не хочу быть инженером (!?), хы. Потом филфак/журналистика, где я сначала набрала на себя много всего и просто не выдержала нагрузки. Третий раз, уже работая в рекламном агентстве руководителем отдела, я влезла на вечерку, но уже на старте поняла, что мне не до учебы, я тогда слишком много работала.
Но без высшего я ощущаю на себе клеймо. Будто диплом дает тебе значок некоторой элитарности. Да и бумажка действительно является пропуском в некоторых случаях. Поэтому у меня всю дорогу остается желание получить эту заветную корочку. Только точно не офлайн. А вот с онлайн образованием какая-то дичь. Казалось бы CS - первая сфера, которая должна быть с онлайн образованием, но нет, первые менеджеры) Не хочу получать корку как менеджер, это вообще какая-то дичь, кажется. Нет, я не обесцениваю, хотя нет обесцениваю. Дичь! 🙂
Так вот, смогу ли я в этот раз дойти до конца? Челлендж моей жизни! Кажется, после 30 я начала реализовывать все свои желания в полную силу. Может, к 40 стану бабочкой 🙂
Блин, как же круто, что жизнь продолжается. Помню в 20 все казалось, что после 30 жизни нет, а тут вот оно как, все очень даже есть и гораздо интереснее. ^_^
Расширение территории! #Истории
Я на старте пробовала copilot и мне не понравилось, так как он советовал что-то не то и в целом мешал.
Сегодня решила все же попробовать его снова и поняла, что я ошибалась, сильно ошибалась на его счет. Это реально круто и удобно. Писать ридми, комментарии, делать какой-нибудь маппинг и тп, невероятно круто.
А вчера я проходила один курс на Курсере, и там очень много надо было писать всякого на английском. Так как у меня уровень не очень и пишу я довольно медленно, то я вовсю юзала чатгпт, набрасывая свои мысли и получая отформатированный красивый текст. После сдачи там требуется проверить чужие работы… И большая часть работ очевидно создана с помощью чатгпт. Хы
И я не скажу, что это плохо, так как это реально удобнее, сетка делает мысль читабельной 🙂
Как же сейчас горит у всех проверяющих пукан по этому поводу, наверное.
Опубликовала репозиторий по НТ https://github.com/mandrianova/eth_locust_test
Изначально была идея сделать скрипт, который полностью будет работать в фоне, но меня попросили оставить ручное управление через веб-интерфейс. В целом несложно доработать под автоматический запуск.
Самое главное, что прописала в скрипте - это запуск воркеров под мастер автоматически. Странно, что этого не учли в cli самого locust. Возможно стоило бы сделать форк либы, доработать, а потом сделать им pr по этому функционалу, но я пока не чувствую в себе готовности проворачивать такие вещи. Да и в целом, у меня не было каких-то серьезных намерений на эту задачу.
Я эту заметку пишу отрывками второй день, собираю кусочки так сказать, обычно пишу одним разом, а тут чет отвлекли.
Так вот, к чем я про Курсеру. Я нашла там вариант закончить бакалавриат онлайн на Computer Science с дипломом и всеми делами, вот хочу вписаться. Уже даже заявку подала. На входе надо пройти 3 курса от вуза/колледжа, это что-то вроде вступительных испытаний. Я прошла первый - “How Computers Work. University of London, Goldsmiths, University of London”. Он был прикольным, но ничего нового мне не дал в принципе. Прошла за несколько часов и начала второй.
Второй тоже простой, но там много рутинной возни - надо разметить на картинках с помощью координат всякое, и таких картинок 16 штук. И это только начало. Думаю, на этой неделе пройду. Курс вроде как вводный в программирование, но черт, лучше бы я какие-нибудь задачки на алгоритмы решала, чем считать расстояние между пикселями 🙁
Третий курс предвкушаю больше всего, оставила его на десерт. Там математика. Надеюсь будет интересно, потому что я люблю математику, но уже ничего не помню почти. Кое-что уже пришлось освежить, когда проходила курс по ML, но все же.
Я на своем пути бросила 3 вуза. Чаще на самом старте. Никак не могла удержаться и дойти до финала. Я легко справлялась с учебой, но каждый раз находилось что-то, из-за чего я скипала учебу в универе. Первый раз был МАДИ, я как-то быстро осознала, что не хочу быть инженером (!?), хы. Потом филфак/журналистика, где я сначала набрала на себя много всего и просто не выдержала нагрузки. Третий раз, уже работая в рекламном агентстве руководителем отдела, я влезла на вечерку, но уже на старте поняла, что мне не до учебы, я тогда слишком много работала.
Но без высшего я ощущаю на себе клеймо. Будто диплом дает тебе значок некоторой элитарности. Да и бумажка действительно является пропуском в некоторых случаях. Поэтому у меня всю дорогу остается желание получить эту заветную корочку. Только точно не офлайн. А вот с онлайн образованием какая-то дичь. Казалось бы CS - первая сфера, которая должна быть с онлайн образованием, но нет, первые менеджеры) Не хочу получать корку как менеджер, это вообще какая-то дичь, кажется. Нет, я не обесцениваю, хотя нет обесцениваю. Дичь! 🙂
Так вот, смогу ли я в этот раз дойти до конца? Челлендж моей жизни! Кажется, после 30 я начала реализовывать все свои желания в полную силу. Может, к 40 стану бабочкой 🙂
Блин, как же круто, что жизнь продолжается. Помню в 20 все казалось, что после 30 жизни нет, а тут вот оно как, все очень даже есть и гораздо интереснее. ^_^
Расширение территории! #Истории
🔥4👍3
Как же утомляет возня с числами в разных системах счисления. Для меня было в новинку то, как считать дроби в двоичной системе, типа 1,01. Это 1 + 0 * 2 ** (-1) + 1 * 2 **(-2) = 1,25. Обратный перевод еще интереснее, надо умножать дробь на 2, забирать целую часть в очередную цифру и повторять это, пока не достигнешь 0, либо не воткнешься в период.
Удобнее делать с помощью перевода дробной части в простую дробь. Типа 0,25 = 1/4.
шаг 1: 1 * 2 / 4 меньше 1, пишем 0
шаг 2: 2 * 2 / 4 = 1 без остатка пишем 1 и заканчиваем.
Получаем 0,01 в двоичной.
Все становится еще интереснее с восьмеричной и шестнадцатеричной. Я, конечно, имела представление об этом, но давно не развлекалась расчетами в столбик. Мозг уже забыл даже таблицу умножения, даже на сложении двух чисел залипаю, потому что давно таким не занималась. Помню в школе нам давали арифметический диктант, где надо было в уме быстренько умножать, складывать, делить. Это было фаново и быстро. А сейчас приходится вспоминать все эти хаки с трудом, типа 256*3 это как 250 * 3 + 6 * 3 и в итоге 768, только не забыть бы еще, что 3 * 6 это 18 :)
Но с дробями, конечно, это особое удовольствие.
Хочу сказать, что чатгпт считает отвратительно. С этим выдает очень много ошибок. Кажется, что с кодом у нее тоже есть такие проблемы. Не со всем, конечно, но когда дело доходит до нюансов, она выдает ошибки. В целом неудивительно. #Математика, #Учеба
Удобнее делать с помощью перевода дробной части в простую дробь. Типа 0,25 = 1/4.
шаг 1: 1 * 2 / 4 меньше 1, пишем 0
шаг 2: 2 * 2 / 4 = 1 без остатка пишем 1 и заканчиваем.
Получаем 0,01 в двоичной.
Все становится еще интереснее с восьмеричной и шестнадцатеричной. Я, конечно, имела представление об этом, но давно не развлекалась расчетами в столбик. Мозг уже забыл даже таблицу умножения, даже на сложении двух чисел залипаю, потому что давно таким не занималась. Помню в школе нам давали арифметический диктант, где надо было в уме быстренько умножать, складывать, делить. Это было фаново и быстро. А сейчас приходится вспоминать все эти хаки с трудом, типа 256*3 это как 250 * 3 + 6 * 3 и в итоге 768, только не забыть бы еще, что 3 * 6 это 18 :)
Но с дробями, конечно, это особое удовольствие.
Хочу сказать, что чатгпт считает отвратительно. С этим выдает очень много ошибок. Кажется, что с кодом у нее тоже есть такие проблемы. Не со всем, конечно, но когда дело доходит до нюансов, она выдает ошибки. В целом неудивительно. #Математика, #Учеба
🔥3🤔1
Второй курс из трех пройден, кстати. Он был нудный, пришлось много ковыряться с координатами. Но в нем хорошо так помог copilot, сняв часть рутины с однотипными повторениями и копипастой значений. А еще сертификат как-то выскочил экстерном, не требуя просмотра лекций 2 и 3 недели. Тупо сдала работу первой недели и зачтено. Думаю, что пролистаю видео позже, чтобы не совсем уж скипнуть 2/3 курса.
Я пока укладываюсь в рамках бесплатного демо-периода на курсере по этим курсам. 🙂 Хочу закончить до конца недели. Надеюсь, что успею.
На выходных надо бы еще тест по английскому сдать на уровень. Хех. Последнее время чет снова дико туплю, как будто откатилась назад. Хотя целыми днями смотрю лекции на английском, работаю на английском, пишу письма и тп. Преподаватель, с которым я занимаюсь, кажется, устал от меня, потому что я его использую как разговорную практику, но в остальное вообще почти не вкладываю. Ленивая жопа 🙁 Рассчитываю на Малайзию!
Еще на выходных хочу вырубить свой проект, может быть сохранив какие-то куски на лямбда функциях и других дешевых технологиях. Чет слишком дорого выходит платить за инфру. Время пришло закрывать это все.
А так, сижу жду ответа по визе, ответа на заявку в институт. Починяю примус. Поливаю кактус. #Учеба, #Курсы, #Жизнь
Я пока укладываюсь в рамках бесплатного демо-периода на курсере по этим курсам. 🙂 Хочу закончить до конца недели. Надеюсь, что успею.
На выходных надо бы еще тест по английскому сдать на уровень. Хех. Последнее время чет снова дико туплю, как будто откатилась назад. Хотя целыми днями смотрю лекции на английском, работаю на английском, пишу письма и тп. Преподаватель, с которым я занимаюсь, кажется, устал от меня, потому что я его использую как разговорную практику, но в остальное вообще почти не вкладываю. Ленивая жопа 🙁 Рассчитываю на Малайзию!
Еще на выходных хочу вырубить свой проект, может быть сохранив какие-то куски на лямбда функциях и других дешевых технологиях. Чет слишком дорого выходит платить за инфру. Время пришло закрывать это все.
А так, сижу жду ответа по визе, ответа на заявку в институт. Починяю примус. Поливаю кактус. #Учеба, #Курсы, #Жизнь
🔥4👍2👏1
Я тут подумала… если ChatGPT может писать код, но не может решать математические задачки, значит ли это, что программисты - гуманитарии? #ChatGPT
😁9🔥6🤔1
Прекоммит.
https://pre-commit.com/
Когда коллега поставил его, я впервые столкнулась с этим злом 🙂 Шучу, не злом, конечно, но в начале он хорошо так напрягал. Пришлось подстроиться под него и в конце концов споры у нас (с прекоммитом) возникали только из-за количество пропущенных строчек и типа кавычек, из-за чего просто приходилось дважды коммитить. Но недавно коллега докинул туда новых правил и тут внезапно как назло во время очень большого коммита мне привалило СТОЛЬКО правок, что я выпала в осадок. Я потратила на исправление 50% от времени на изначальную подготовку коммита.
С другой стороны если бы не это, то я не узнала бы о некоторых нюансах, которые, как я понимаю, довольно важны в командной работе и в работе над крупными долгосрочными проектами.
1. Код наоборот. Как-то для меня было логично, что сначала мы пишем функции, потом их используем. Соответственно функция, использующая другую функцию, будет ниже. Но оказалось, что дядюшка Мартин завещал иначе и многие придерживаются этого обратного подхода. https://github.com/mobility-university/flake8-newspaper-style. Мне реально придется переучиваться под это. И я все еще внутренне протестую против этого правила и моя логика сломана. Может быть позже поменяю свою точку зрения. Стараюсь быть открытой к переменам.
2. В логировании не использовать f-строки. https://github.com/globality-corp/flake8-logging-format. Типа вместо `logger.info(f”{name}: {result}”)` пишем `logger.info(“%s: %s”, name, result)`. Потому что… а дальше я залипла в поисках причин. Говорят в этом случае sentry может группировать записи (а что без не? не работала с сентри, у меня всю дорогу cloud watch). Еще видела аргумент про безопасность, что так не возникнет исключение в случае чего. А еще чет читала про то, что когда настраиваешь уровень логирования и у тебя f- строки, то они формируются независимо от настроенного уровня логирования и типа идет дополнительный ненужный расход памяти. В целом аргументов и правда достаточно, чтобы перестроиться под такой формат. f-строки удобный синтаксический сахар, но как-то очень много но с ними 🙁
3. Докстринги. Да и фиг с ними, копайлот прекрасно справляется с описаниями. Теперь документировать код стало прям приятно. https://github.com/peterjc/flake8-rst-docstrings
Это, конечно, не все проверки, но я перечислила именно те, которые вызвали у меня попаболь.
Но что меня радует в нашей маленькой команде, так это свобода и скорость в применении улучшений. То есть да, мой коллега не сильно то согласовывал, а я не сильно отслеживала набор правил для прекоммита. Он добавил, залил. Я попробовала и уже после мы обсудили что-куда-зачем, на практике, скажем так, без долгих холиваров перед на тему надо-не надо. Хотя холивары все же были, но скорее это был мой поток эмоций, когда я долго-долго приводила код к новым требованиям.
Такой подход позволяет нам очень быстро внедрять изменения и пробовать их в деле. Конечно, код, от которого многое зависит, мы не меняем опрометчиво, но вот новый функционал строим довольно гибко и быстро.
Я просто слушаю иногда коллег и кажется, что у многих в командах так не работает. Нужно пройти 7 кругов ада, чтобы что-то поменять или внедрить новое. Искренне не хочется тухнуть в такой неповоротливой системе.
Кон!
PS. Надо бы дальше поучиться, а то все последние дни вожусь с планами переезда. Остался месяц до отправления в Малайзию. Немного нервничаю. Вроде все это весело, но и диковато в то же время. Сегодня заглянула на обзор улиц в google map в Куала Лумпуре и пока это кажется чем-то далеким и сложно представить, что уже скоро я буду там вживую 🙂
Хы. #Жизнь, #Работа, #Tools, #Python
https://pre-commit.com/
Когда коллега поставил его, я впервые столкнулась с этим злом 🙂 Шучу, не злом, конечно, но в начале он хорошо так напрягал. Пришлось подстроиться под него и в конце концов споры у нас (с прекоммитом) возникали только из-за количество пропущенных строчек и типа кавычек, из-за чего просто приходилось дважды коммитить. Но недавно коллега докинул туда новых правил и тут внезапно как назло во время очень большого коммита мне привалило СТОЛЬКО правок, что я выпала в осадок. Я потратила на исправление 50% от времени на изначальную подготовку коммита.
С другой стороны если бы не это, то я не узнала бы о некоторых нюансах, которые, как я понимаю, довольно важны в командной работе и в работе над крупными долгосрочными проектами.
1. Код наоборот. Как-то для меня было логично, что сначала мы пишем функции, потом их используем. Соответственно функция, использующая другую функцию, будет ниже. Но оказалось, что дядюшка Мартин завещал иначе и многие придерживаются этого обратного подхода. https://github.com/mobility-university/flake8-newspaper-style. Мне реально придется переучиваться под это. И я все еще внутренне протестую против этого правила и моя логика сломана. Может быть позже поменяю свою точку зрения. Стараюсь быть открытой к переменам.
2. В логировании не использовать f-строки. https://github.com/globality-corp/flake8-logging-format. Типа вместо `logger.info(f”{name}: {result}”)` пишем `logger.info(“%s: %s”, name, result)`. Потому что… а дальше я залипла в поисках причин. Говорят в этом случае sentry может группировать записи (а что без не? не работала с сентри, у меня всю дорогу cloud watch). Еще видела аргумент про безопасность, что так не возникнет исключение в случае чего. А еще чет читала про то, что когда настраиваешь уровень логирования и у тебя f- строки, то они формируются независимо от настроенного уровня логирования и типа идет дополнительный ненужный расход памяти. В целом аргументов и правда достаточно, чтобы перестроиться под такой формат. f-строки удобный синтаксический сахар, но как-то очень много но с ними 🙁
3. Докстринги. Да и фиг с ними, копайлот прекрасно справляется с описаниями. Теперь документировать код стало прям приятно. https://github.com/peterjc/flake8-rst-docstrings
Это, конечно, не все проверки, но я перечислила именно те, которые вызвали у меня попаболь.
Но что меня радует в нашей маленькой команде, так это свобода и скорость в применении улучшений. То есть да, мой коллега не сильно то согласовывал, а я не сильно отслеживала набор правил для прекоммита. Он добавил, залил. Я попробовала и уже после мы обсудили что-куда-зачем, на практике, скажем так, без долгих холиваров перед на тему надо-не надо. Хотя холивары все же были, но скорее это был мой поток эмоций, когда я долго-долго приводила код к новым требованиям.
Такой подход позволяет нам очень быстро внедрять изменения и пробовать их в деле. Конечно, код, от которого многое зависит, мы не меняем опрометчиво, но вот новый функционал строим довольно гибко и быстро.
Я просто слушаю иногда коллег и кажется, что у многих в командах так не работает. Нужно пройти 7 кругов ада, чтобы что-то поменять или внедрить новое. Искренне не хочется тухнуть в такой неповоротливой системе.
Кон!
PS. Надо бы дальше поучиться, а то все последние дни вожусь с планами переезда. Остался месяц до отправления в Малайзию. Немного нервничаю. Вроде все это весело, но и диковато в то же время. Сегодня заглянула на обзор улиц в google map в Куала Лумпуре и пока это кажется чем-то далеким и сложно представить, что уже скоро я буду там вживую 🙂
Хы. #Жизнь, #Работа, #Tools, #Python
🔥6👍1
Сегодня решила кое-что поделать в проекте, собранном на докере. Выкачала репку, настраиваю интерпретатор и тут у меня падает странная ошибка:
WARN[0000] The “rs” variable is not set. Defaulting to a blank string.
Из-за этого Pycharm не принимает сервис из докер-композа в качестве источника интерпретатора. Стаковерфлоу не помог, гугл не помог, чатгпт не помог. Я пробовала разные настройки, запускать отдельно образ, при чем сам образ запускается ок, все работает, но warning все равно вылезает. Я перепроверила нет ли где-то ожидания такой переменной среды, но нет, везде все ок!
Открыла другой проект на докере и получила аналогичные ошибки при попытке создать новый источник для интерпретатора (старые настройки запускались ок). И получила похожие ошибки:
WARN[0000] The "h" variable is not set. Defaulting to a blank string.
WARN[0000] The "q" variable is not set. Defaulting to a blank string.
ЧТО ЗА ПЕРЕМЕННЫЕ??!!!
И почему из-за этих warnings я не могу настроить интерпретатор?
В итоге просто путем догадок я начала смотреть в файл .env и чекать значения своих переменных. Знаете что там? В SECRET_KEY для Django внутри значения были такие кусочки “…$rs…” и “…$h…$q…”. Я их вырезала и все заработало. Серьезно? 🙂
Ловите решение, если возникнет такая проблема. Не используйте “$” в переменных среды Оо #Docker
WARN[0000] The “rs” variable is not set. Defaulting to a blank string.
Из-за этого Pycharm не принимает сервис из докер-композа в качестве источника интерпретатора. Стаковерфлоу не помог, гугл не помог, чатгпт не помог. Я пробовала разные настройки, запускать отдельно образ, при чем сам образ запускается ок, все работает, но warning все равно вылезает. Я перепроверила нет ли где-то ожидания такой переменной среды, но нет, везде все ок!
Открыла другой проект на докере и получила аналогичные ошибки при попытке создать новый источник для интерпретатора (старые настройки запускались ок). И получила похожие ошибки:
WARN[0000] The "h" variable is not set. Defaulting to a blank string.
WARN[0000] The "q" variable is not set. Defaulting to a blank string.
ЧТО ЗА ПЕРЕМЕННЫЕ??!!!
И почему из-за этих warnings я не могу настроить интерпретатор?
В итоге просто путем догадок я начала смотреть в файл .env и чекать значения своих переменных. Знаете что там? В SECRET_KEY для Django внутри значения были такие кусочки “…$rs…” и “…$h…$q…”. Я их вырезала и все заработало. Серьезно? 🙂
Ловите решение, если возникнет такая проблема. Не используйте “$” в переменных среды Оо #Docker
🔥3👍2
Я добила этот странный вступительный курс https://coursera.org/share/4c1ae44b4720a3175f74f45d9d32721e. Не могу его советовать для расширения кругозора, если честно, потому что есть много более годных курсов в открытом доступе.
Из интересного, что я забрала из него было:
⁃ Понимание как считаются дроби в других системах исчисления и наконец осознание сути проблемы с float. Почему-то раньше я всегда проходила только перевод целых чисел в ту же двоичку, поэтому дроби для меня были откровением (писала выше про них).
⁃ Понимание и некоторые нюансы работы с целочисленным делением и остатками. Про шифрование с приватными и публичным ключом, про псевдослучайные числа и тд. Хотя в других источниках можно найти инфы больше и глубже.
⁃ Познакомилась с GeoGebra - прикольная тулза, а еще заморочилась использовать Latex в Xmind.
⁃ Вспомнила, а что-то узнала нового про последовательности и работу с ними, немножко всковырнула в памяти пределы. Чет помню мне нравилось когда-то развлекаться с пределами.
Вообще вся математика, конечно, была подобрана очень годно под нужды CS. Но курс ознакомительный, поэтому все довольно поверхностно. Интересно, что будет уже в образовательной программе универа.
Ну, и да, мне прислали приглашение на BSc Computer Science (Performance Based Admission). Это мне нужно будет сдать первые два модуля программы, чтобы меня точно взяли на всю остальную программу. Я уже зарегистрировалась и оплатила эти первые два модуля.
Нашла людей, которые учились в этом вузе, оказывается у ВШЭ есть совместные проекты с ним и многие учились как раз через ВШЭ. Также нашла одну девушку, которая заканчивала также этот University of London, но по другой специальности. Она рассказала мне свои увлекательные истории и поделилась ссылкой на свою статью-отзыв об этом вузе и учебе в нем. https://vas3k.club/post/1768/
Она же рассказала, что ее программу готовил универ с высокими рейтингами, а вот я влезла в программу от университета Goldsmiths, которые не блещет (чет там 600+ место среди универов по миру). Но пофиг, тут же больше самообразование, а все что нужно, можно будет добрать из других источников. Зато онлайн.
Учеба кажется начнется в апреле. Почему-то пока доступ к модулям еще не выдали, хотя оплату приняли и отписали, что все. Кажется, что все просто должно быть по расписанию. Жду.
Я все еще плаваю в английском, поэтому сложно иногда ухватить и понять все нюансы, которые от меня хотят. Нужно перестраиваться и сильнее погружаться в язык, потому что учиться все равно придется на английском.
До вылета в Куала Лумпур осталось 24 дня. Эмоциональные качели по этому поводу уже, кажется, замерли, потому что ну невозможно столько переживать.
Хей-хей-хей!
Пошла я поработаю. А то вот откладывала все пост до получения бумажки, чтобы похвастаться 🙂 Поэтому пишу сразу после сдачи последнего теста. Но работа не волк, работа ворк. 🙂 #Курсы, #Жизнь, #UOL
Из интересного, что я забрала из него было:
⁃ Понимание как считаются дроби в других системах исчисления и наконец осознание сути проблемы с float. Почему-то раньше я всегда проходила только перевод целых чисел в ту же двоичку, поэтому дроби для меня были откровением (писала выше про них).
⁃ Понимание и некоторые нюансы работы с целочисленным делением и остатками. Про шифрование с приватными и публичным ключом, про псевдослучайные числа и тд. Хотя в других источниках можно найти инфы больше и глубже.
⁃ Познакомилась с GeoGebra - прикольная тулза, а еще заморочилась использовать Latex в Xmind.
⁃ Вспомнила, а что-то узнала нового про последовательности и работу с ними, немножко всковырнула в памяти пределы. Чет помню мне нравилось когда-то развлекаться с пределами.
Вообще вся математика, конечно, была подобрана очень годно под нужды CS. Но курс ознакомительный, поэтому все довольно поверхностно. Интересно, что будет уже в образовательной программе универа.
Ну, и да, мне прислали приглашение на BSc Computer Science (Performance Based Admission). Это мне нужно будет сдать первые два модуля программы, чтобы меня точно взяли на всю остальную программу. Я уже зарегистрировалась и оплатила эти первые два модуля.
Нашла людей, которые учились в этом вузе, оказывается у ВШЭ есть совместные проекты с ним и многие учились как раз через ВШЭ. Также нашла одну девушку, которая заканчивала также этот University of London, но по другой специальности. Она рассказала мне свои увлекательные истории и поделилась ссылкой на свою статью-отзыв об этом вузе и учебе в нем. https://vas3k.club/post/1768/
Она же рассказала, что ее программу готовил универ с высокими рейтингами, а вот я влезла в программу от университета Goldsmiths, которые не блещет (чет там 600+ место среди универов по миру). Но пофиг, тут же больше самообразование, а все что нужно, можно будет добрать из других источников. Зато онлайн.
Учеба кажется начнется в апреле. Почему-то пока доступ к модулям еще не выдали, хотя оплату приняли и отписали, что все. Кажется, что все просто должно быть по расписанию. Жду.
Я все еще плаваю в английском, поэтому сложно иногда ухватить и понять все нюансы, которые от меня хотят. Нужно перестраиваться и сильнее погружаться в язык, потому что учиться все равно придется на английском.
До вылета в Куала Лумпур осталось 24 дня. Эмоциональные качели по этому поводу уже, кажется, замерли, потому что ну невозможно столько переживать.
Хей-хей-хей!
Пошла я поработаю. А то вот откладывала все пост до получения бумажки, чтобы похвастаться 🙂 Поэтому пишу сразу после сдачи последнего теста. Но работа не волк, работа ворк. 🙂 #Курсы, #Жизнь, #UOL
🔥6