Мой редактор (since 2021) и моя жена (since 2023) сказала, что надо сделать мои посты более читаемыми. Так что теперь моё утро начинается не с кофе, который я варю для редактора, а сам не пью, а с чтения вот этой книжки.
Подозреваю, что после её прочтения, столько знаков препинания в одно предложение мне уже не удастся впихнуть. А пока - мучайтесь 😂
Подозреваю, что после её прочтения, столько знаков препинания в одно предложение мне уже не удастся впихнуть. А пока - мучайтесь 😂
👍12😁4✍3🥰2❤1🙏1🤡1🤣1🤗1
Половина отведенного времени уже прошла, а у меня всё ещё нет никаких собранных в картинге данных. С этими мыслями началась третья неделя проекта по разработке приложения для сбора телеметрии. Я понимал, что если за эту неделю данных не появится, то научиться считать время круга за месяц, у меня уже вряд ли получится.
Из-за ограниченности времени по будням я решил тестировать работоспособность приложения в домашних условиях по-максимуму. Сначала просто ходил по дому с телефоном в кармане и выяснил, что ChatGPT мне кое-что не договорил про Foreground Service. Чтобы сбор данных действительно продолжался в фоновом режиме, надо было не просто создать сервис, а перенести в него всю логику сбора данных. Когда я начал переносить сбор данных в сервис, сломалось обновление списка сохраненных гонок. А ещё за время “домашних тестов” выяснилось, что через несколько минут приложение и сервис могут убиваться, как энергозатратные.
К выходным я пришёл с полностью разломанным приложением и списком проблем, о которых ChatGPT знал, но сам ничего не говорил. Мне даже стало казаться, что я работаю не с джуном из своей команды, а с аутсорсерами, которые все, что не сказано в требованиях, трактуют так, как им удобно. Но за субботу и половину воскресенья мы с ChatGPT объединили усилия и пофиксили все эти проблемы. В процессе тестирования я успел походить по дому, поездить на машине и даже навернуть несколько кругов по району на электросамокате. Приложение не вылетало ни через 10, ни через 15, ни даже через 20 минут. Осталось только доехать до картинга и записать 10 минут данных с датчиков, с которыми я буду работать в Google Colab на следующей неделе.
На тестовый заезд выбрался только вечером в воскресенье. Экипировался, запустил приложение, положил телефон в карман, проехал заезд, достал телефон из кармана и обнаружил, что сервис не запущен. До этого момента я был уверен, что каким бы образом ни завершалась работа фонового сервиса, он должен был записать файл с показаниями датчиков на диск. Запустил приложение и выяснил, что это не так и никаких данных не сохранилось.
Итог недели оказался смешанным: я узнал много нового про Foreground Service и взаимодействия через Intent в Android-приложениях, но насколько сильно продвинулся к цели — неясно. Впереди осталась одна неделя, за которую надо данные и собрать, и обработать. В успех уже не очень верится, потому что проанализировать данные с датчиков это отдельная большая задача. Но небольшая надежда на один красивый хак по вычислению времени круга, который не поможет в общем случае, но подходит конкретно для картинга в Пафосе, осталась. Если данные соберутся, с ним всё должно получиться очень просто.
#chatgpt_driven_development
Из-за ограниченности времени по будням я решил тестировать работоспособность приложения в домашних условиях по-максимуму. Сначала просто ходил по дому с телефоном в кармане и выяснил, что ChatGPT мне кое-что не договорил про Foreground Service. Чтобы сбор данных действительно продолжался в фоновом режиме, надо было не просто создать сервис, а перенести в него всю логику сбора данных. Когда я начал переносить сбор данных в сервис, сломалось обновление списка сохраненных гонок. А ещё за время “домашних тестов” выяснилось, что через несколько минут приложение и сервис могут убиваться, как энергозатратные.
К выходным я пришёл с полностью разломанным приложением и списком проблем, о которых ChatGPT знал, но сам ничего не говорил. Мне даже стало казаться, что я работаю не с джуном из своей команды, а с аутсорсерами, которые все, что не сказано в требованиях, трактуют так, как им удобно. Но за субботу и половину воскресенья мы с ChatGPT объединили усилия и пофиксили все эти проблемы. В процессе тестирования я успел походить по дому, поездить на машине и даже навернуть несколько кругов по району на электросамокате. Приложение не вылетало ни через 10, ни через 15, ни даже через 20 минут. Осталось только доехать до картинга и записать 10 минут данных с датчиков, с которыми я буду работать в Google Colab на следующей неделе.
На тестовый заезд выбрался только вечером в воскресенье. Экипировался, запустил приложение, положил телефон в карман, проехал заезд, достал телефон из кармана и обнаружил, что сервис не запущен. До этого момента я был уверен, что каким бы образом ни завершалась работа фонового сервиса, он должен был записать файл с показаниями датчиков на диск. Запустил приложение и выяснил, что это не так и никаких данных не сохранилось.
Итог недели оказался смешанным: я узнал много нового про Foreground Service и взаимодействия через Intent в Android-приложениях, но насколько сильно продвинулся к цели — неясно. Впереди осталась одна неделя, за которую надо данные и собрать, и обработать. В успех уже не очень верится, потому что проанализировать данные с датчиков это отдельная большая задача. Но небольшая надежда на один красивый хак по вычислению времени круга, который не поможет в общем случае, но подходит конкретно для картинга в Пафосе, осталась. Если данные соберутся, с ним всё должно получиться очень просто.
#chatgpt_driven_development
💔8⚡6👍4❤3👏1🦄1
Вот и закончилась решающая неделя, и можно подводить итоги проекта с картинговой телеметрией. Напомню, что к её началу я пришёл с приложением, которое пишет показания датчиков ровно до тех пор, пока я не приезжаю в картинг. И ещё идеей, как можно считерить, чтобы решить задачу подсчёта времени круга не в общем виде, а для конкретного картинга в Пафосе. Сегодня, выдохнув после этой финишной прямой, я решил, что следующие 7 дней посвящу размеренной рефлексии, так что итоги буду подводить постепенно.
Начну с рассказа про приложение. Если кратко, то по прошествии четырёх недель с начала разработки, приложение продолжало падать в картинге, но несмотря на это мне удалось собрать показания датчиков больше чем с 10 кругов. То есть минимальную задачу, поставленную перед приложением, мы с ChatGPT решили, но довольно странным путём.
Помните, я уже писал, что мой единственный до этого опыт разработки приложений на Андроиде был связан с проведением мастер-класса по сборке крэшей с помощью AppMetrica? Несмотря на это, мысль о том, что надо вставить крэш-аналитику в приложение, чтобы понять, как пофиксить проблему, пришла мне только в разговоре с другим посетителем картинга, когда я тестировал очередную новую версию.
А что я поменял в этой новой версии? Просто научился периодически дампить сохраненные с датчиков данные на диск. Мне снова пришлось порефакторить и попереносить логику из одной сущности в другую, но через несколько итераций общения с ChatGPT, мы добились того, что сервис в фоне пишет файлики раз в 30 секунд. Проверка новой версии приложения прошла относительно успешно и, несмотря на то, что оно всё ещё падало, у меня сохранялись данные датчиков с 5-6 кругов из каждого заезда.
Что хочется сказать про ChatGPT в контексте разработки приложения на Андроиде? Без бекграунда в управлении мобильной разработкой и обширного опыта проектирования разных приложений, я бы не справился с поставленной перед собой задачей. По сравнению с человеком без опыта у меня было два основные преимущества:
- Я знал какие вопросы ему задавать (И то не всегда. Привет, крэши!)
- Часто я мог исправить или заметить его ошибки самостоятельно
При этом второе не только фича, но и бага. Когда я сам правлю какие-то ошибки и не говорю об этом своему AI-помощнику, он теряет контекст. И следующий кусок кода, который он мне выдаст, не будет учитывать моих изменений. А значит мне либо снова придётся исправлять его код, либо придётся всё-таки рассказать о правках, которые я внёс. Пока не знаю, как эффективнее. Если бы речь шла про живого человека, я бы видел смысл в том, чтобы его поправлять, так как в следующий раз он сможет дальше продвинуться самостоятельно. А вот ChatGPT это не просто джун — это вечный джун! И поправляя его сегодня, ты не сделаешь его лучше для той задачи, которую нужно будет решать с нуля завтра.
#chatgpt_driven_development
Кстати, думаю о том, выкладывать ли код приложения на GitHub. Поставьте 👾, если вам интересно на него посмотреть.
Начну с рассказа про приложение. Если кратко, то по прошествии четырёх недель с начала разработки, приложение продолжало падать в картинге, но несмотря на это мне удалось собрать показания датчиков больше чем с 10 кругов. То есть минимальную задачу, поставленную перед приложением, мы с ChatGPT решили, но довольно странным путём.
Помните, я уже писал, что мой единственный до этого опыт разработки приложений на Андроиде был связан с проведением мастер-класса по сборке крэшей с помощью AppMetrica? Несмотря на это, мысль о том, что надо вставить крэш-аналитику в приложение, чтобы понять, как пофиксить проблему, пришла мне только в разговоре с другим посетителем картинга, когда я тестировал очередную новую версию.
А что я поменял в этой новой версии? Просто научился периодически дампить сохраненные с датчиков данные на диск. Мне снова пришлось порефакторить и попереносить логику из одной сущности в другую, но через несколько итераций общения с ChatGPT, мы добились того, что сервис в фоне пишет файлики раз в 30 секунд. Проверка новой версии приложения прошла относительно успешно и, несмотря на то, что оно всё ещё падало, у меня сохранялись данные датчиков с 5-6 кругов из каждого заезда.
Что хочется сказать про ChatGPT в контексте разработки приложения на Андроиде? Без бекграунда в управлении мобильной разработкой и обширного опыта проектирования разных приложений, я бы не справился с поставленной перед собой задачей. По сравнению с человеком без опыта у меня было два основные преимущества:
- Я знал какие вопросы ему задавать (И то не всегда. Привет, крэши!)
- Часто я мог исправить или заметить его ошибки самостоятельно
При этом второе не только фича, но и бага. Когда я сам правлю какие-то ошибки и не говорю об этом своему AI-помощнику, он теряет контекст. И следующий кусок кода, который он мне выдаст, не будет учитывать моих изменений. А значит мне либо снова придётся исправлять его код, либо придётся всё-таки рассказать о правках, которые я внёс. Пока не знаю, как эффективнее. Если бы речь шла про живого человека, я бы видел смысл в том, чтобы его поправлять, так как в следующий раз он сможет дальше продвинуться самостоятельно. А вот ChatGPT это не просто джун — это вечный джун! И поправляя его сегодня, ты не сделаешь его лучше для той задачи, которую нужно будет решать с нуля завтра.
#chatgpt_driven_development
Кстати, думаю о том, выкладывать ли код приложения на GitHub. Поставьте 👾, если вам интересно на него посмотреть.
👾6🔥3❤2😁1🦄1
Сегодня хочется немного поговорить о том, зачем вообще я взялся именно за этот проект. О том, чтобы сделать какой-то трекинг картинговых заездов я задумался больше 10 лет назад, когда мне на 25-летие подарили сертификат в картинговую школу. Я с огромным удовольствием отходил все занятия, после чего продолжил иногда заниматься с тренером и участвовать в любительских соревнованиях.
Уже тогда я стал мечтать о том, чтобы положить телефон в карман, воткнуть гарнитуру в ухо и слушать подсказки от электронного помощника про точки торможения, траектории и другие нюансы пилотажа. Потом был период работы в Microsoft, Hololens и мечты о том, чтобы это был не голосовой помощник, а augmented reality, в которой, как в компьютерной игре, тебе рисуют идеальную траекторию и, возможно, дают собирать какие-нибудь монетки, как в Super Mario Kart.
При этом я отлично понимал, что речь в большинстве случаев идёт про крытый картинг (привет, Москва с полугодовым межсезоньем для уличных гонок), а значит никаких точных данных с GPS не будет, и полагаться можно только на инерциальные системы телефона, т.е. акселерометр, гироскоп и компас. Но физики-практики мне быстро объяснили, что такое накопление ошибки и почему на инерциалках оно не взлетит.
Верил ли я им? Да, верил! Думал ли я, а вдруг всё-таки взлетит? Конечно, думал. И вот спустя много лет соблазн проверить — а что за данные можно таким образом собрать, победил. Так что даже та часть, про которую я рассказал в понедельник, для меня уже победа. Я получил данные, на которые хотел посмотреть своими глазами все эти 10 лет! А значит, даже если в этот раз ничего не получится, в следующий раз, когда у меня снова будет начинать зудеть “а что если взлетит, ведь технологии шагнули вперёд”, у меня будет возможность быстро сравнить качество данных и сделать выводы.
А что с теми данными, которые я собрал в этот раз? Об этом ещё обязательно расскажу на этой неделе.
Уже тогда я стал мечтать о том, чтобы положить телефон в карман, воткнуть гарнитуру в ухо и слушать подсказки от электронного помощника про точки торможения, траектории и другие нюансы пилотажа. Потом был период работы в Microsoft, Hololens и мечты о том, чтобы это был не голосовой помощник, а augmented reality, в которой, как в компьютерной игре, тебе рисуют идеальную траекторию и, возможно, дают собирать какие-нибудь монетки, как в Super Mario Kart.
При этом я отлично понимал, что речь в большинстве случаев идёт про крытый картинг (привет, Москва с полугодовым межсезоньем для уличных гонок), а значит никаких точных данных с GPS не будет, и полагаться можно только на инерциальные системы телефона, т.е. акселерометр, гироскоп и компас. Но физики-практики мне быстро объяснили, что такое накопление ошибки и почему на инерциалках оно не взлетит.
Верил ли я им? Да, верил! Думал ли я, а вдруг всё-таки взлетит? Конечно, думал. И вот спустя много лет соблазн проверить — а что за данные можно таким образом собрать, победил. Так что даже та часть, про которую я рассказал в понедельник, для меня уже победа. Я получил данные, на которые хотел посмотреть своими глазами все эти 10 лет! А значит, даже если в этот раз ничего не получится, в следующий раз, когда у меня снова будет начинать зудеть “а что если взлетит, ведь технологии шагнули вперёд”, у меня будет возможность быстро сравнить качество данных и сделать выводы.
А что с теми данными, которые я собрал в этот раз? Об этом ещё обязательно расскажу на этой неделе.
🔥8❤3⚡2🤩2👀1
Пришло время поговорить о том, как я обрабатывал данные с датчиков телефона. Не буду тянуть резину и скажу сразу — время круга мне посчитать не удалось. Но тем не менее, мне хочется немного углубиться в то, что именно я делал.
Первый способ которым не удалось посчитать время круга — это через восстановление траектории движения. Это не было для меня сюрпризом, так как с датчиков я получаю ускорение, а это вторая производная от перемещения в пространстве. Т.е. сначала нужно интегрированием восстановить скорость с накоплением ошибки, а потом, проинтегрировав скорость, восстановить координату. Никаких сюрпризов — получилась полная хрень.
Но был и второй способ, в который я верил сильно больше. Дело в том, что картинговая трасса в Пафосе не плоская, а значит на ней есть самая высокая и низкая точки. То есть чтобы узнать время круга достаточно найти время между прохождением через самые высокие или самые низкие точки. Да, это будет не точно то же самое время круга, которое мы получили бы, если бы мерили от стартовой линии, но достаточно неплохое приближение к нему. И свой прогресс по нему точно можно будет отслеживать.
Когда я понял этот хак, в список датчиков, логи с которых должно собирать приложение, я добавил датчик давления. Но, несмотря на то, что я подписался на получение давления каждую миллисекунду, в логе появилась только одна новая строчка:
То есть Андроид дал мне подписаться на показания, но самого датчика в телефоне не оказалось. Пришлось вернуться к интегрированию ускорений, но на этот раз мне достаточно было найти точки изменения знака у вертикальной скорости. То есть вместо двух интегрирований задача свелась к одному. Увы, это снова ни к чему не привело. На графики скоростей в течение заезда по разным осям можно посмотрять на прикрепленной картинке. И ни одна из скоростей не переходит через ноль с похожей на время круга периодичностью.
При дальнейшем анализе я понял свою главную ошибку. Я тупо брал данные акселерометра, а надо было сначала их сметчить с компасом и гироскопом, чтобы ускорение по оси Z было действительно вертикальным ускорением, а не ускорением вдоль вертикальной оси телефона. Но быстрых ответов, какие взять библиотеки, чтобы сделать этот sensor fusion в пару вызовов функций, ChatGPT мне не подсказал. Стало понятно, что обработка данных с датчиков телефона — это само по себе интересный проект на месяц.
Буду ли я брать такой проект на следующий месяц? Точно нет. После постов про этот проект ко мне в личку пришли друзья и накидали гоночных приложений, которые решают эту задачу с помощью GPS. И только в этот момент я вспомнил, то, о чем писал в прошлом посте. В Москве я катался в крытом картинге и ни на какой GPS рассчитывать не мог, а значит и те приложения для меня не работали. Сейчас же они отлично отвечают на вопрос — какое у меня время круга. А значит решение, которое я смогу найти, никакой дополнительно ценности не принесёт. Так что мы с ChatGPT пока пойдём порешаем другие задачи!
Первый способ которым не удалось посчитать время круга — это через восстановление траектории движения. Это не было для меня сюрпризом, так как с датчиков я получаю ускорение, а это вторая производная от перемещения в пространстве. Т.е. сначала нужно интегрированием восстановить скорость с накоплением ошибки, а потом, проинтегрировав скорость, восстановить координату. Никаких сюрпризов — получилась полная хрень.
Но был и второй способ, в который я верил сильно больше. Дело в том, что картинговая трасса в Пафосе не плоская, а значит на ней есть самая высокая и низкая точки. То есть чтобы узнать время круга достаточно найти время между прохождением через самые высокие или самые низкие точки. Да, это будет не точно то же самое время круга, которое мы получили бы, если бы мерили от стартовой линии, но достаточно неплохое приближение к нему. И свой прогресс по нему точно можно будет отслеживать.
Когда я понял этот хак, в список датчиков, логи с которых должно собирать приложение, я добавил датчик давления. Но, несмотря на то, что я подписался на получение давления каждую миллисекунду, в логе появилась только одна новая строчка:
Data Source: Pressure
То есть Андроид дал мне подписаться на показания, но самого датчика в телефоне не оказалось. Пришлось вернуться к интегрированию ускорений, но на этот раз мне достаточно было найти точки изменения знака у вертикальной скорости. То есть вместо двух интегрирований задача свелась к одному. Увы, это снова ни к чему не привело. На графики скоростей в течение заезда по разным осям можно посмотрять на прикрепленной картинке. И ни одна из скоростей не переходит через ноль с похожей на время круга периодичностью.
При дальнейшем анализе я понял свою главную ошибку. Я тупо брал данные акселерометра, а надо было сначала их сметчить с компасом и гироскопом, чтобы ускорение по оси Z было действительно вертикальным ускорением, а не ускорением вдоль вертикальной оси телефона. Но быстрых ответов, какие взять библиотеки, чтобы сделать этот sensor fusion в пару вызовов функций, ChatGPT мне не подсказал. Стало понятно, что обработка данных с датчиков телефона — это само по себе интересный проект на месяц.
Буду ли я брать такой проект на следующий месяц? Точно нет. После постов про этот проект ко мне в личку пришли друзья и накидали гоночных приложений, которые решают эту задачу с помощью GPS. И только в этот момент я вспомнил, то, о чем писал в прошлом посте. В Москве я катался в крытом картинге и ни на какой GPS рассчитывать не мог, а значит и те приложения для меня не работали. Сейчас же они отлично отвечают на вопрос — какое у меня время круга. А значит решение, которое я смогу найти, никакой дополнительно ценности не принесёт. Так что мы с ChatGPT пока пойдём порешаем другие задачи!
💔5👏4❤3
Определенно одна из главных моих точек роста как менеджера — это навык управления ожиданиями. Смотрите сами — с последнего моего поста про картинговую телеметрию прошёл ровно месяц, а в нём я обещал ссылку на гитхаб, где можно будет посмотреть на получившийся проект. За 4 недели до того поста я писал, что решил брать по одному проекту в месяц под реализацию силами ChatGPT. Т.е. по идее ровно сейчас должен был подойти к завершению второй месячный проект, который для меня закодил AI-ассистент.
Но жизнь, как обычно, внесла свои коррективы — как раз месяц назад на своей основной работе в inDrive я резко поменял роль. И вместо того, чтобы сразу рассказать об этом здесь и перестроить ожидания читателей канала, я просто молча закопался в новый продукт, менеджером которого я теперь являюсь. Хорошо, конечно, что это просто телеграм-канал и единственный человек, перед которым у меня действительно есть обязательства, связанные с этим каналом — это я сам. Но, на самом деле, публичное изменение коммита пошло бы на пользу и мне. Потому что вместо того, чтобы спокойно отдыхать в выходные после резко потяжелевших рабочих недель, все прошедшие выходные я отдыхал с чувством невыполненного долга.
Ну, что ж, пожар погружения в новый продукт и новую команду можно считать локализованным, хотя отдельные очаги возгорания, конечно, сохраняются и всё ещё регулярно дают жару. Но всё-таки сейчас заканчиваются первые за последний месяц выходные, когда в голове ощущается мыслительная активность, а не подгоревшее маршмеллоу на месте мозга. Поэтому я пришёл вам сказать вот что: ещё как минимум месяц я не возьмусь за следующей AI-driven-development проект. Потому что через 10 дней я лечу в долгожданный двухнедельный отпуск в Перу.
Но за время молчания у меня скопилось несколько классных тем, про которые хочется написать и послушать ваши комментарии. Так что следующий пост я рассчитываю написать раньше, чем в середине августа. А пока — можете посмотреть, что там за Андроид-приложение наваял ChatGPT. Исходники тут. Тестовый APK следующим постом.
Но жизнь, как обычно, внесла свои коррективы — как раз месяц назад на своей основной работе в inDrive я резко поменял роль. И вместо того, чтобы сразу рассказать об этом здесь и перестроить ожидания читателей канала, я просто молча закопался в новый продукт, менеджером которого я теперь являюсь. Хорошо, конечно, что это просто телеграм-канал и единственный человек, перед которым у меня действительно есть обязательства, связанные с этим каналом — это я сам. Но, на самом деле, публичное изменение коммита пошло бы на пользу и мне. Потому что вместо того, чтобы спокойно отдыхать в выходные после резко потяжелевших рабочих недель, все прошедшие выходные я отдыхал с чувством невыполненного долга.
Ну, что ж, пожар погружения в новый продукт и новую команду можно считать локализованным, хотя отдельные очаги возгорания, конечно, сохраняются и всё ещё регулярно дают жару. Но всё-таки сейчас заканчиваются первые за последний месяц выходные, когда в голове ощущается мыслительная активность, а не подгоревшее маршмеллоу на месте мозга. Поэтому я пришёл вам сказать вот что: ещё как минимум месяц я не возьмусь за следующей AI-driven-development проект. Потому что через 10 дней я лечу в долгожданный двухнедельный отпуск в Перу.
Но за время молчания у меня скопилось несколько классных тем, про которые хочется написать и послушать ваши комментарии. Так что следующий пост я рассчитываю написать раньше, чем в середине августа. А пока — можете посмотреть, что там за Андроид-приложение наваял ChatGPT. Исходники тут. Тестовый APK следующим постом.
GitHub
GitHub - dmgritsan/pocket-telemetry
Contribute to dmgritsan/pocket-telemetry development by creating an account on GitHub.
🔥8⚡3❤2👍2🗿1
app-debug.apk
32 MB
Он прям правда тестовый. Там логи пишутся, как не в себя и удаляются только руками потом. Андроид-разработчиков прошу строго не судить. Хотя уважительное (чтобы не устроить восстание машин) ревью очень приветствуется!
🔥4❤3👍2👏1🤯1
Когда я стал обставлять свой “кабинет” в доме на Кипре, первым делом я купил себе большой монитор. Мне хотелось, чтобы он обязательно был 4K и заряжал ноут по type-C проводу. Я долго искал оптимальный по цене и качеству вариант, нашёл, привёз, подключил и предпочёл не обращать внимание на то, что нижний край монитора перекрывается верхней частью стоящего под ним ноутбука.
Первое время радость от монитора зашкаливала. Пока я жил в Сербии мне приходилось ездить в офис, чтобы посидеть за широким экраном. А тут вот они 28 дюймов дома. Но спустя какое-то время я стал раздражаться на звонках, когда шарил экран и терял мышку. Потом, когда писал код на одном экране и искал подсказки на StackOverflow на другом. Когда на одном экране писал заметки, а на другом просил ChatGPT их перевести. Когда много других разных когда.
Но монитор уже куплен, выбор сделан и вообще перекрываются какие-то несчастные 5% экрана. Ну разве это не мелочь? И что мне теперь признать, что я неправильно выбрал монитор? Продать этот и купить новый? А как узнать, что тот по высоте нормальный будет? Да они же, наверное, все так высоко не поднимаются. Поменяю, столкнусь с той же проблемой, только хуже сделаю.
Примерно такой диалог с самим собой был закопан где-то глубоко внутри. А я просто раздражался-раздражался, пока мне в чате не попалась подставка под монитор. Немного размышлений и поисков и решение эволюционировали из подставки в стойку. 10 минут на машине, 50 евро, 3 минуты с отверткой в руках и вот оно счастье.
Только поставив монитор на стойку, я смог понять, как же сильно меня бесил этот перекрывающийся кусок экрана. А знаете, когда я особенно сильно обратил на это внимание? Когда писал тот самый первый за месяц пост пару дней назад. Оказалось, что это была настолько не мелочь, что я подсознательно избавился от любого времяпрепровождения за ноутом дома кроме совсем уж необходимого, т.е. рабочего. И только спустя несколько недель после покупки, когда все-таки сел написать пост, удивился, насколько же это оказалось эмоционально легче, чем до этого.
И вот теперь вся эта история у меня вызывает вопрос — а как обнаруживать те вещи, которые ты рационально называешь мелочью, но они отнимают у тебя очень много эмоциональных сил? Как научиться засекать такие штуки и вместо того, чтобы раздражаться, просто находить способы избавления от них? Как перестать говорить себе “тебе показалось” или “забей” и на их место принести “ща мы всё быстро исправим”?
Первое время радость от монитора зашкаливала. Пока я жил в Сербии мне приходилось ездить в офис, чтобы посидеть за широким экраном. А тут вот они 28 дюймов дома. Но спустя какое-то время я стал раздражаться на звонках, когда шарил экран и терял мышку. Потом, когда писал код на одном экране и искал подсказки на StackOverflow на другом. Когда на одном экране писал заметки, а на другом просил ChatGPT их перевести. Когда много других разных когда.
Но монитор уже куплен, выбор сделан и вообще перекрываются какие-то несчастные 5% экрана. Ну разве это не мелочь? И что мне теперь признать, что я неправильно выбрал монитор? Продать этот и купить новый? А как узнать, что тот по высоте нормальный будет? Да они же, наверное, все так высоко не поднимаются. Поменяю, столкнусь с той же проблемой, только хуже сделаю.
Примерно такой диалог с самим собой был закопан где-то глубоко внутри. А я просто раздражался-раздражался, пока мне в чате не попалась подставка под монитор. Немного размышлений и поисков и решение эволюционировали из подставки в стойку. 10 минут на машине, 50 евро, 3 минуты с отверткой в руках и вот оно счастье.
Только поставив монитор на стойку, я смог понять, как же сильно меня бесил этот перекрывающийся кусок экрана. А знаете, когда я особенно сильно обратил на это внимание? Когда писал тот самый первый за месяц пост пару дней назад. Оказалось, что это была настолько не мелочь, что я подсознательно избавился от любого времяпрепровождения за ноутом дома кроме совсем уж необходимого, т.е. рабочего. И только спустя несколько недель после покупки, когда все-таки сел написать пост, удивился, насколько же это оказалось эмоционально легче, чем до этого.
И вот теперь вся эта история у меня вызывает вопрос — а как обнаруживать те вещи, которые ты рационально называешь мелочью, но они отнимают у тебя очень много эмоциональных сил? Как научиться засекать такие штуки и вместо того, чтобы раздражаться, просто находить способы избавления от них? Как перестать говорить себе “тебе показалось” или “забей” и на их место принести “ща мы всё быстро исправим”?
👍4⚡3❤2🙈2🤩1🤝1
Я постоянно говорю о том, что ChatGPT (Claude, Gemma, подставьте любого помощника на свой вкус) — это джун. Но следующая мысль, которая почему-то мне не приходила в голову, звучит так: чтобы стать соло-предпринимателем с IT-продуктом, разработанным LLM’кой, нужно знать какие-то основные технические концепции, на которых строится IT-разработка. А навёл меня на эту мысль мой товарищ, который спросил, что ему делать с кодом, который по мнению ChatGPT реализовывает ту функциональность, которую он хочет получить.
Естественно, я на автомате ответил, что тот же самый ChatGPT сможет ему ответить на вопрос, куда этот код вставить. Но потом я стал размышлять дальше, и понял, что если не задать правильные вопросы, то LLM’ка тебе не даст правильные ответы. Поэтому я уточнил, что путь, которым я пошёл бы (и не раз ходил) при разработке бота для телеги, это разворачивание простых скриптов в AWS Lambda. После этого я хотел написать ещё несколько уточнений про базы данных, заведение токенов бота и прочие детали реализации, но потом предложил Лёше попробовать пройти с ChatGPT настолько далеко, насколько получится. А исходя из результата, я попробую сделать вывод — какие концепции нужно знать тем, кто хочет, написать собственного телеграм-бота при поддержке ChatGPT, чтобы увеличить шанс на то, что они справятся с задачей.
Что у Лёши получилось за 14 часов общения с AI-джуном, читайте у него в канале. Я вот после этого поста очень жду доступ к репозиторию в GitHub, чтобы посмотреть более детально, что там получилось. А к вам у меня вопрос — пришли бы вы на воркшоп про то, как при поддержке ChatGPT собрать бекенд для телеграм-бота и развернуть его в AWS?
P.S. После отпуска в Перу и последовавшей почти сразу же за ним командировки в Караганду столько наблюдений, переживаний и мыслей, что собрать из них что-то понятное и осмысленное для внешнего наблюдателя очень сложно. Если бы Лёша не пришёл ко мне с этим вопросом, так бы и молчал дальше, пытаясь переварить новый опыт.
Естественно, я на автомате ответил, что тот же самый ChatGPT сможет ему ответить на вопрос, куда этот код вставить. Но потом я стал размышлять дальше, и понял, что если не задать правильные вопросы, то LLM’ка тебе не даст правильные ответы. Поэтому я уточнил, что путь, которым я пошёл бы (и не раз ходил) при разработке бота для телеги, это разворачивание простых скриптов в AWS Lambda. После этого я хотел написать ещё несколько уточнений про базы данных, заведение токенов бота и прочие детали реализации, но потом предложил Лёше попробовать пройти с ChatGPT настолько далеко, насколько получится. А исходя из результата, я попробую сделать вывод — какие концепции нужно знать тем, кто хочет, написать собственного телеграм-бота при поддержке ChatGPT, чтобы увеличить шанс на то, что они справятся с задачей.
Что у Лёши получилось за 14 часов общения с AI-джуном, читайте у него в канале. Я вот после этого поста очень жду доступ к репозиторию в GitHub, чтобы посмотреть более детально, что там получилось. А к вам у меня вопрос — пришли бы вы на воркшоп про то, как при поддержке ChatGPT собрать бекенд для телеграм-бота и развернуть его в AWS?
P.S. После отпуска в Перу и последовавшей почти сразу же за ним командировки в Караганду столько наблюдений, переживаний и мыслей, что собрать из них что-то понятное и осмысленное для внешнего наблюдателя очень сложно. Если бы Лёша не пришёл ко мне с этим вопросом, так бы и молчал дальше, пытаясь переварить новый опыт.
Telegram
Favorable Innovador. Лёша про тренды, идеи и первых клиентов
🧑💻 Ставлю эксперимент: можно ли использовать GPT-4 вместо разработчика для твоего проекта?
Коротко:
Думаю, что технический сооснователь всё ещё нужен. Но с появлением GPT планка начала работы над продуктом заметно снизилась.
Длинно:
После 14 часов…
Коротко:
Думаю, что технический сооснователь всё ещё нужен. Но с появлением GPT планка начала работы над продуктом заметно снизилась.
Длинно:
После 14 часов…
❤5🔥3👨💻1
Может код ChatGPT пока пишет не очень, но вот мемы объясняет отлично прям.
Так что теперь на любой вопрос теперь правильно отвечать — "что тебя в OpenAI забанили?"
Этот мем состоит из двух твитов, где пользователь по имени "Daniel" рассказывает, что встретил свою жену в обсуждении проблемы на GitHub (платформа для совместной работы над программным кодом). В ответ на это другой пользователь "Mickey Friedman" комментирует, что рад за Даниэля, потому что он нашел девушку, которая "может закоммититься" ("could commit").
Шутка основана на игре слов. В программировании "commit" означает сохранение изменений в коде на GitHub, а в обычной жизни "commit" означает "обязаться" или "серьезно отнестись" (например, в отношениях). Таким образом, комментарий смешивает технический и повседневный смысл слова, создавая юмористический эффект.
Так что теперь на любой вопрос теперь правильно отвечать — "что тебя в OpenAI забанили?"
😁9❤2🔥2🤓1
Пока мой товарищ наступает на грабли во время написания кода силами ChatGPT вслепую, я делегирую AI-джуну работу не только разработчика, но и DevOps. LLM’ка все так же пишет за меня код подо всякие разные задачи, решающиеся в облаке AWS, но теперь я пытаюсь от неё добиться ещё и части с разворачиванием этого пайпланйами GitHub Actions и шаблонами AWS Cloud Formation.
Сегодня столкнулся с забавной ситуацией и в очередной раз понял, что пока не представляю, как даже с несколькими автономными агентами стабильно решать произвольные задачи на разработку без вмешательства технических специалистов. Потому что ChatGPT просто зациклился.
Он выдал мне код для разворачивания нескольких ресурсов в AWS, я его запустил, получил ошибку. Скормил ему ошибку, он выдал мне новый код, я запустил его, получил другую ошибку. Опять скормил ему, он сделал вид, что понял, как всё исправить, и вернулся к первому варианту. В итоге, пока я явно ему не сказал, что в текущей версии есть ошибка, но нельзя её исправлять тем способом, которым он её захочет исправить, потому что тогда будет другая ошибка, он не смог выйти из цикла.
Т.е. из этой ситуации ему не помог бы выйти ни человек, который не понимает, что за код ему написали, ни автономный агент, который никак не анализирует его код, а просто сообщает об ошибках, возникших во время выполнения.
Кстати, ещё он регулярно теряет какой-нибудь кусок кода, поэтому я в очередной раз убедился, что хочу, чтобы он мне этот код не в чат присылал, а пулл-реквестами на гитхаб. Тогда я мог бы быстро увидеть diff с предыдущей версией кода и либо окнуть изменения, либо в коммент к этому PR написать ему, что он зачем-то лишний кусок кода удалил.
А вы бы хотели, чтобы вы текстом писали в телеграм, что нужно исправить, а вам в ответ сразу ссылочка на пулл-реквест?
Сегодня столкнулся с забавной ситуацией и в очередной раз понял, что пока не представляю, как даже с несколькими автономными агентами стабильно решать произвольные задачи на разработку без вмешательства технических специалистов. Потому что ChatGPT просто зациклился.
Он выдал мне код для разворачивания нескольких ресурсов в AWS, я его запустил, получил ошибку. Скормил ему ошибку, он выдал мне новый код, я запустил его, получил другую ошибку. Опять скормил ему, он сделал вид, что понял, как всё исправить, и вернулся к первому варианту. В итоге, пока я явно ему не сказал, что в текущей версии есть ошибка, но нельзя её исправлять тем способом, которым он её захочет исправить, потому что тогда будет другая ошибка, он не смог выйти из цикла.
Т.е. из этой ситуации ему не помог бы выйти ни человек, который не понимает, что за код ему написали, ни автономный агент, который никак не анализирует его код, а просто сообщает об ошибках, возникших во время выполнения.
Кстати, ещё он регулярно теряет какой-нибудь кусок кода, поэтому я в очередной раз убедился, что хочу, чтобы он мне этот код не в чат присылал, а пулл-реквестами на гитхаб. Тогда я мог бы быстро увидеть diff с предыдущей версией кода и либо окнуть изменения, либо в коммент к этому PR написать ему, что он зачем-то лишний кусок кода удалил.
А вы бы хотели, чтобы вы текстом писали в телеграм, что нужно исправить, а вам в ответ сразу ссылочка на пулл-реквест?
❤4👾3🔥2
Отвлекусь ненадолго от ChatGPT и поговорю о своих галлюцинациях искажениях сознания. На прошлой неделе в диалоге с коучем откопал одну мысль, которая показалась мне очень интересной. Уровень неопределенности, при котором мне комфортно принимать решения, влияет на то, до какого уровня в иерархии компании я могу дорасти.
Кручу эту мысль в голове уже несколько дней и она раскрывается всё с новых и новых сторон. Во-первых, база — чем выше поднимаешься по карьерной лестнице, тем больше неопределенности во всём. Куда идём? Как идём? Зачем идём? На все вопросы никто кроме тебя самого не ответит. Хорошо, если хотя бы какие-то ограничения сформулируют, но и то не факт.
Тут открывается второй слой. Нет правильного ответа на все вопросы сразу. Как минимум, нет единственного правильного. Можно до бесконечности пытаться что-то уточнять, откладывать решения, искать идеальное, анализировать риски и последствия. Но в какой-то момент времени решение принять придётся. И чем с бОльшей неопределенностью ты можешь работать, тем быстрее это решение получится принять. И тем выше ты сможешь подняться.
Почему я так думаю? Потому что даже если это решение будет абсолютно дурацким, многим покажется, что ты готов взять на себя много ответственности, а это и значит быть руководителем. Качество этих решений гораздо больше сказывается не на тебе, а на тех, кто на ступеньках ниже. А уж если решения не совсем очевидно плохие, то шансы на рост очень высоки.
Попробовал посмотреть на себя со стороны — а как я решения принимаю? Откладываю, пока не соберу достаточно данных. Стрессую, когда дедлайн пришёл, потому что данных всё ещё мало. Постоянно переживаю постфактум, что можно было собрать больше вводных и сделать лучше. И очень часто совершенно не задаюсь вопросом, чем я рискую, если я не угадаю. Мой внутренний математик постоянно стучится в мой мозг и говорит — у уравнений не бывает плохих решений. Решения либо есть, либо их нет. Если решений много, то выбрать из них нельзя, потому что они все равноценны.
И я продолжаю собирать фактуру, чтобы усложнять постановку задачи. Ведь если решений у системы уравнений много, значит можно добавить в неё ещё несколько условий. Была система из 3 уравнений, а вот она уже из 5, из 10, из 120. А красивого решения, да ещё и единственного, всё нет и нет.
Не знаю пока, что с этим делать. Пока буду просто стараться обращать на это внимание. Возможно, и какой-то подход к решению этой проблемы со временем нарисуется. Не алгебраический, конечно, а какой-то байесовский, с вероятностями.
А как вы принимаете решения при высоком уровне неопределенности?
Кручу эту мысль в голове уже несколько дней и она раскрывается всё с новых и новых сторон. Во-первых, база — чем выше поднимаешься по карьерной лестнице, тем больше неопределенности во всём. Куда идём? Как идём? Зачем идём? На все вопросы никто кроме тебя самого не ответит. Хорошо, если хотя бы какие-то ограничения сформулируют, но и то не факт.
Тут открывается второй слой. Нет правильного ответа на все вопросы сразу. Как минимум, нет единственного правильного. Можно до бесконечности пытаться что-то уточнять, откладывать решения, искать идеальное, анализировать риски и последствия. Но в какой-то момент времени решение принять придётся. И чем с бОльшей неопределенностью ты можешь работать, тем быстрее это решение получится принять. И тем выше ты сможешь подняться.
Почему я так думаю? Потому что даже если это решение будет абсолютно дурацким, многим покажется, что ты готов взять на себя много ответственности, а это и значит быть руководителем. Качество этих решений гораздо больше сказывается не на тебе, а на тех, кто на ступеньках ниже. А уж если решения не совсем очевидно плохие, то шансы на рост очень высоки.
Попробовал посмотреть на себя со стороны — а как я решения принимаю? Откладываю, пока не соберу достаточно данных. Стрессую, когда дедлайн пришёл, потому что данных всё ещё мало. Постоянно переживаю постфактум, что можно было собрать больше вводных и сделать лучше. И очень часто совершенно не задаюсь вопросом, чем я рискую, если я не угадаю. Мой внутренний математик постоянно стучится в мой мозг и говорит — у уравнений не бывает плохих решений. Решения либо есть, либо их нет. Если решений много, то выбрать из них нельзя, потому что они все равноценны.
И я продолжаю собирать фактуру, чтобы усложнять постановку задачи. Ведь если решений у системы уравнений много, значит можно добавить в неё ещё несколько условий. Была система из 3 уравнений, а вот она уже из 5, из 10, из 120. А красивого решения, да ещё и единственного, всё нет и нет.
Не знаю пока, что с этим делать. Пока буду просто стараться обращать на это внимание. Возможно, и какой-то подход к решению этой проблемы со временем нарисуется. Не алгебраический, конечно, а какой-то байесовский, с вероятностями.
А как вы принимаете решения при высоком уровне неопределенности?
❤4🤓3🤔2🙈1🤗1
Fullstack Manager with Cursor
Я постоянно говорю о том, что ChatGPT (Claude, Gemma, подставьте любого помощника на свой вкус) — это джун. Но следующая мысль, которая почему-то мне не приходила в голову, звучит так: чтобы стать соло-предпринимателем с IT-продуктом, разработанным LLM’кой…
Короче, эксперимент с написанием чего-то осмысленного при помощи ChatGPT человеком, который никогда до этого не программировал, объявляю успешно завершённым. Лёшин бот вот уже несколько дней присылает мне на почту изменения в списке подписчиков этого канала.
По дороге Лёше пришлось ознакомиться с несколькими концепциями и фичами AWS — Lambda, API Gateway, CloudWatch, DynamoDB. Помимо этого понять, что такое GitHub и деплой. И, конечно, научиться работать с логами из прода, когда что-то идёт не так. Очень хорошо понимаю, когда он говорит, что написание кода это дофаминовая наркомания — сталкиваешься с проблемами, решаешь их и сразу получаешь фидбек.
При этом мы с ним пришли к выводу, что совсем уж все вопросы задать LLM'ке не получилось бы. Гораздо эффективнее, когда самую базу объясняет человек, а вот уже детали можно и у ChatGPT выяснить. По крайней мере это помогает сэкономить кучу времени на старте, чтобы сразу поставить в разговоре с LLM нужные рамки. Поэтому родилась мысль пособирать идеи небольших проектов, которые разные люди хотели бы сделать, но не понимают как. Сгруппировать их по темам и устроить воркшоп или несколько с разбором базовых вещей, которые нужно знать про разработку программных продуктов (так звучит как-то посерьёзнее, чем "IT-проектиков"), чтобы пойти реализовывать свой проект с ChatGPT.
Если у вас есть идеи проектов, которыми вы готовы поделиться, пишите в комментах или закидывайте в личку. И го обсуждать)
По дороге Лёше пришлось ознакомиться с несколькими концепциями и фичами AWS — Lambda, API Gateway, CloudWatch, DynamoDB. Помимо этого понять, что такое GitHub и деплой. И, конечно, научиться работать с логами из прода, когда что-то идёт не так. Очень хорошо понимаю, когда он говорит, что написание кода это дофаминовая наркомания — сталкиваешься с проблемами, решаешь их и сразу получаешь фидбек.
При этом мы с ним пришли к выводу, что совсем уж все вопросы задать LLM'ке не получилось бы. Гораздо эффективнее, когда самую базу объясняет человек, а вот уже детали можно и у ChatGPT выяснить. По крайней мере это помогает сэкономить кучу времени на старте, чтобы сразу поставить в разговоре с LLM нужные рамки. Поэтому родилась мысль пособирать идеи небольших проектов, которые разные люди хотели бы сделать, но не понимают как. Сгруппировать их по темам и устроить воркшоп или несколько с разбором базовых вещей, которые нужно знать про разработку программных продуктов (так звучит как-то посерьёзнее, чем "IT-проектиков"), чтобы пойти реализовывать свой проект с ChatGPT.
Если у вас есть идеи проектов, которыми вы готовы поделиться, пишите в комментах или закидывайте в личку. И го обсуждать)
🔥5👾3❤1🤓1
Forwarded from Устрой деплой 🤘
Уже в субботу 05.10, в 10:00, будет первый прямой эфир с разбором:
aamik поделится, как почти год вынашивал идею, а потом за месяц написал код телеграм-бота с помощью GPT, и за этот продукт уже можно брать деньги;
dmgritsan расскажет про тех. базу в создании такого продукта и как вам не надо становится прогером, а продукт всё равно случится.
Полезно всем менеджерам, предпринимателям и если у вас давно есть зудящие идеи, но страшно приступать к созданию — это шанс зарядиться и наконец-то запилить крутую штуку 🚀
В конце ответим на вопросы и подскажем, можно ли вашу идею реализовать с GPT за вменяемое время, если вы пока не дружите с питоном и прочим зоопарком.
Ссылка на созвон
Добавить в календарь
aamik поделится, как почти год вынашивал идею, а потом за месяц написал код телеграм-бота с помощью GPT, и за этот продукт уже можно брать деньги;
dmgritsan расскажет про тех. базу в создании такого продукта и как вам не надо становится прогером, а продукт всё равно случится.
Полезно всем менеджерам, предпринимателям и если у вас давно есть зудящие идеи, но страшно приступать к созданию — это шанс зарядиться и наконец-то запилить крутую штуку 🚀
В конце ответим на вопросы и подскажем, можно ли вашу идею реализовать с GPT за вменяемое время, если вы пока не дружите с питоном и прочим зоопарком.
Ссылка на созвон
Добавить в календарь
❤4👍2🔥2👏2
Меньше чем за неделю мы не только провели первый эфир, на котором поделились тем, как через год наших еженедельных созвонов с aamik, он силами ChatGPT написал и задеплоил бота для телеграма, но и попробовали провести свой первый AI-разгон с одним из слушателей. Рзагоняли почти два часа и, если честно, пока не начали подводить итоги, было ощущение полного провала. Но зато потом смогли сформулировать то, что с большой вероятностью станет первым шагом нашего фреймворка по анализу проекта на реализуемость силами AI.
Важная часть ответа на вопрос — а смогу ли я это сделать с помощью AI заключается в конкретизации этого самого вопроса. А что именно ЭТО? И один из довольно неплохих способов уточнить этот вопрос, это определить, а какая команда нужна была бы, если бы это делали люди. И дальше уже по каждой человеческой роли можно отдельно посмотреть — какую часть работы и с каким качеством мы сможем закрыть на текущем уровне развития AI.
И хоть мы и выложили уже видео сегодняшнего разговора в YouTube, смотреть его я точно не рекомендую. А если тема интересна и интересно не только моё мнение по ней, то лучше подписаться на канал Устрой деплой, где мы обязательно напишем свои выводы. А ещё можно вступить в его чатик. Там не только комменты к постам, но и самые разные люди делятся своими успехами в работе с AI-инструментами. И это очень поддерживает)
Важная часть ответа на вопрос — а смогу ли я это сделать с помощью AI заключается в конкретизации этого самого вопроса. А что именно ЭТО? И один из довольно неплохих способов уточнить этот вопрос, это определить, а какая команда нужна была бы, если бы это делали люди. И дальше уже по каждой человеческой роли можно отдельно посмотреть — какую часть работы и с каким качеством мы сможем закрыть на текущем уровне развития AI.
И хоть мы и выложили уже видео сегодняшнего разговора в YouTube, смотреть его я точно не рекомендую. А если тема интересна и интересно не только моё мнение по ней, то лучше подписаться на канал Устрой деплой, где мы обязательно напишем свои выводы. А ещё можно вступить в его чатик. Там не только комменты к постам, но и самые разные люди делятся своими успехами в работе с AI-инструментами. И это очень поддерживает)
🔥5👍2🤷♂1❤1🙈1😇1
Кстати, после того, как Лёша показал мне, как работает Cursor, я проникся и перестал писать код в чатах с ChatGPT и начал пользоваться им. Продуктивность работы с кодом резко возросла, так как у него есть контекст. А когда он предлагает исправить какой-то кусок кода, он его умеет подсвечивать как дифф в гите — такие строчки добавились, такие удалились. Никакой больше рандомной переделки всего подряд по ошибке. А в остальном это просто кастомная сборка VS Code, что для меня является огромным плюсом.
А ещё вчера нашёл статью о том, что вам больше не нужны фронтендеры, если у вас есть Cursor. Верится с трудом, конечно, но когда мне понадобится реализовать какой-нибудь небольшой фронт, попробую воспользоваться советами из нее. Тем более, что там прям пошаговая инструкция есть. Примерно такая, которую хочется на собвственном опыте написать про какой-то другой класс задач с бекендами на AWS. Вот думаю, попробовать упороться дальше в ТГ-ботах или скомпилировать свой обширный финтех-опыт, включающий AI-кодинг всяких странных сценариев поверх страйпа.
А ещё вчера нашёл статью о том, что вам больше не нужны фронтендеры, если у вас есть Cursor. Верится с трудом, конечно, но когда мне понадобится реализовать какой-нибудь небольшой фронт, попробую воспользоваться советами из нее. Тем более, что там прям пошаговая инструкция есть. Примерно такая, которую хочется на собвственном опыте написать про какой-то другой класс задач с бекендами на AWS. Вот думаю, попробовать упороться дальше в ТГ-ботах или скомпилировать свой обширный финтех-опыт, включающий AI-кодинг всяких странных сценариев поверх страйпа.
Cursor
Cursor - The AI Code Editor
Built to make you extraordinarily productive, Cursor is the best way to code with AI.
❤3👍3🔥3🤓1
Пропал отсюда на три недели, но не переставал искать способы делать разные MVP силами AI-помощников 🤖. В очередной раз понял, что те области, в которых у меня есть навык разворачивания микро-решений в AWS, отлично подходят для экспериментов — телеграм-боты и парсеры. И там, и там можно обойтись без UI, т.е. нужно настроить работу только бекенда.
Lambda-функции, SQS-очереди, S3-хранилища и базы данных DynamoDB в каком-то смысле заменяют модные микросервисные архитектуры. Но и проблемы с ними те же, что и с микросервисами — нужно описать и формализовать все взаимодействия, а лучше ещё и покрыть их тестами 🛠. Без этого никакой MVP до продакшна не доедет.
В вопросе формализации взаимодействий сервисов ChatGPT мне помог, предложив несколько классных решений. Теперь будем с ним развертывать сервисы через AWS CDK и описывать их взаимодействия в Strukturizr. Правда, с последним AI-ассистенты пока справляются не идеально, но после небольшой доработкинапильником человеком схемы получаются весьма информативными ✨.
А как вы храните данные о взаимодействиях между сервисами? А деплоите всякие замороченные штуки в AWS?
Lambda-функции, SQS-очереди, S3-хранилища и базы данных DynamoDB в каком-то смысле заменяют модные микросервисные архитектуры. Но и проблемы с ними те же, что и с микросервисами — нужно описать и формализовать все взаимодействия, а лучше ещё и покрыть их тестами 🛠. Без этого никакой MVP до продакшна не доедет.
В вопросе формализации взаимодействий сервисов ChatGPT мне помог, предложив несколько классных решений. Теперь будем с ним развертывать сервисы через AWS CDK и описывать их взаимодействия в Strukturizr. Правда, с последним AI-ассистенты пока справляются не идеально, но после небольшой доработки
А как вы храните данные о взаимодействиях между сервисами? А деплоите всякие замороченные штуки в AWS?
❤7👍4🔥2
... а потом мне прислали ссылку на сервис bolt.new. И мне в очередной раз показалось, что всё, что я рисёрчил до этого на тему AI-помощников в разработке можно забыть. Ведь этот сервис создаёт весь проект сам. Прям вот раскладывает по файликам, пишет конфиги и предлагает задеплоить или коммитнуть в github-репозиторий. Ну вот прям то, что я хотел построить сам.
Но первый вопрос, который я себе задал, это какие у него границы применимости. Насколько я понял, его основной сценарий — это разработка чего-то, что можно развернуть в WebContainer на stackblitz, Т.е. речи про какие-то сложные бекенды идти не должно. Хотя, определить конкретно, где заканчиваются простые и начинаются сложные бекенды, непросто.
А дальше его ждало главное испытание. Я попросил его покрыть тестами код, который он только что для меня написал. Он быстро создал файлы с тетами, я их запустил и они зафейлились! Фух. Ладно. Всё было не зря. Исследуем дальше.
Но первый вопрос, который я себе задал, это какие у него границы применимости. Насколько я понял, его основной сценарий — это разработка чего-то, что можно развернуть в WebContainer на stackblitz, Т.е. речи про какие-то сложные бекенды идти не должно. Хотя, определить конкретно, где заканчиваются простые и начинаются сложные бекенды, непросто.
А дальше его ждало главное испытание. Я попросил его покрыть тестами код, который он только что для меня написал. Он быстро создал файлы с тетами, я их запустил и они зафейлились! Фух. Ладно. Всё было не зря. Исследуем дальше.
bolt.new
Bolt AI builder: Websites, apps & prototypes
Prompt, run, edit & publish apps
❤4😁3👍1🤡1
Посмотрел ещё раз на bolt.new и на replit agent, ссылку на который мне прислали в комментариях к предыдущему посту. И тот, и другой (и, наверняка, ещё какое-то количество аналогичных сервисов) — это инструменты для того, чтобы нагнать побольше проектов хоститься на их родительских сервисах. ChatGPT объяснил мне что они умеют:
Ну а так как я всё пытаюсь собрать для себя похожую автоматику, только для разворачивания AWS-hosted проектов, решил у него спросить, про границы применимости. Он мне накидал большой список типов проектов, для которых они не подойдут и резюмировал:
А я теперь сижу с противоречивыми чувствами — вроде, я хочу как раз быстро прототипировать небольшие проекты. Но при этом меня не покидает ощущение, что StackBlitz и Replit слишком сильно ограничивают меня по тому, что в них можно сделать. И вместо того, чтобы под каждый проект подбирать свою платформу, где оно может хоститься, хочется остановиться на максимально универсальной мощной платформе. Но вот не оверкилл ли это?
Есть тут у кого-нибудь опыт разворачивания проектов на таких вот платформах для быстрого прототипирования? Я бы с удовольствием созвонился, вопросы позадавал.
StackBlitz более ориентирован на веб-разработку и предлагает инструменты для быстрого создания и тестирования приложений на популярных фронтенд-фреймворках.
Replit поддерживает множество языков и типов проектов, ориентирован на образовательные цели и коллаборацию, что делает его более универсальным.
Ну а так как я всё пытаюсь собрать для себя похожую автоматику, только для разворачивания AWS-hosted проектов, решил у него спросить, про границы применимости. Он мне накидал большой список типов проектов, для которых они не подойдут и резюмировал:
StackBlitz и Replit подходят для быстрого прототипирования и небольших проектов, в то время как AWS — мощная платформа для построения и масштабирования сложных приложений и распределенных систем.
А я теперь сижу с противоречивыми чувствами — вроде, я хочу как раз быстро прототипировать небольшие проекты. Но при этом меня не покидает ощущение, что StackBlitz и Replit слишком сильно ограничивают меня по тому, что в них можно сделать. И вместо того, чтобы под каждый проект подбирать свою платформу, где оно может хоститься, хочется остановиться на максимально универсальной мощной платформе. Но вот не оверкилл ли это?
Есть тут у кого-нибудь опыт разворачивания проектов на таких вот платформах для быстрого прототипирования? Я бы с удовольствием созвонился, вопросы позадавал.
❤3🔥2👍1