TGViewer
Channel Public Channel
Next Level Dev

Next Level Dev

@andrdevnotes

Делюсь опытом с ИИ, менторю начинающих android-разрабов

Roadmap для начинающих андроид-разрабов в личке @ilia_a_popov
Там же запись на менторство и консультации

О менторстве: https://androidmentor.ru
Subscribers
619
Photos
32
Videos
2
Links
60

Showing posts older than #182 · Back to latest

Older Posts 20 shown
Post #181 1.29K
А вот щас будет больно. Взбодрю вас, с утра пораньше, чтоб въёбывалось получше. Слабым, нервным и слабонервным советую уже заносить палец над кнопкой "Покинуть канал".

В IT вы, скорее всего, сейчас не войдёте.

5-7 лет назад, чтобы войти в IT, было нужно, чтобы у вас горели глаза, и у вас были минимальные навыки.

Сейчас, чтобы войти в IT, надо иметь навыки, близкие к миддлу. А ещё надо быть очень, очень зубастым и цепким, вот как питбуль с картинки. Вас это не устраивает? Считаете это несправедливым? Тогда даже не пытайтесь.

Вы можете удивлять самого Уортона своими знаниями о Даггере, а Елизарова стыдить за плохое знание корутин, но если вы сидите на хх и думаете, что устроитесь так на работу – я вас разочарую.

Если вы думаете, что быстро устроитесь на оплачиваемую работу – разочарую вас ещё раз. Вообще сильно не факт, что вам будут платить на первой работе.

Если вы идёте в IT за баблом – это норм затея, но готовьтесь к тому, что бабло будет через год бесплатной или очень низкооплачиваемой работы.

Затея "Эхх да щас уволюсь с нелюбимой работы, 3 месяца повъёбываю, да устроюсь на джуна" – это утопия. Нужно быть сраным гением – раз, и нужно быть питбулем – два. Где вы видели гениальных питбулей? Вот то-то же.

За 3 месяца вы и на бесплатную стажировку не устроитесь. Полгода – более реальный срок. И то, если знать, куда копать, а не тыкаться, как слепой котёнок.

Я вам так скажу: посмотрите или пересмотрите фильм В погоне за счастьем. Крис Гарднер там не сидел на хх, не так ли? И не ныл "ой рынок сложный у меня не получится((" ? Вот вам нужно быть таким же замотивированным и отбитым, как Крис Гарднер.

У меня такие были среди учеников. Все устроились, или на стажировки, или на работы. Их было очень мало от общей массы.

Готовьтесь к тому, что в IT все места заняты, и вам нужно убедить работодателя в том, что ради вас надо выпихнуть какого-нибудь отъявленного андерперформера. А вы, незнакомец, будете работать лучше.

Поймите, тех, кто ещё не начал, я щас не отговариваю, а тех, кто не закончил – не обвиняю. Это, скорее, мои мысли по поводу того, кого в будущем стоит брать себе в ученики, а кого – нет.

Потому что мне очень больно вкладывать в людей кучу сил, а потом видеть, как они не получают того, что хотели. Я ещё не постиг того наставнического дзена, при котором ты смотришь на то, насколько ты человеку помог, а не на то, чего он достиг. Поэтому с ними и я не получил того, что хотел.

И теперь на своих ознакомительных созвонах я буду отбирать учеников куда жёстче, чем до этого. А с теми, кто фильтр пройдёт, будем ебашить, как не в себя.

Найдутся ли такие? Хер его знает.
  • 🔥 12
  • 💯 6
  • ❤ 5
Post #180 900
В последние недели немного выдохнул. Ученики закончились, на работе без пожаров. Появилось побольше времени на себя, и я активно его использую: начал регулярно ходить на тренировки по сквошу и по бегу.

На обоих типах тренировок ловлю кучу инсайтов, как правильно управлять своим телом. А на беге ещё и мозг ломается, когда надо синхронизировать разные движения ногами и руками.
Зато бегаю теперь сильно правильнее и безопаснее для здоровья, что радует.

А, да, ещё иногда хожу на цигун, или дома практикую. Оттуда словил инсайт "неподвижные медитации хреново работают из-за того, что на них ты все равно работаешь головой, как ни крути, хоть ты её типа и разгружаешь. А медитации в движении позволяют энергию спустить от постоянно работающей головы до постоянно простаивающего тела, отцентрироваться".

Нравится синергия в этом всём: в беге учат правильно дышать, в цигуне учат правильно дышать. Движения в цигуне и в сквоше местами сильно похожи, потому что работа идёт по совпадающим осям.

Эхх, ещё бы занятия по вокалу сюда накатить! Но боюсь это уже совсем перебор будет, 2-3 обучений пока всё же хватит =)

P.S.: а ещё иногда находится время даже в старенький вархаммер погамать, вот же радость! Потом на очереди перепрохождение второго старкрафта, думаю.
  • 🔥 9
  • ❤ 5
  • 🆒 3
Post #179 884
Если вы думали, что костыли только в программировании, то нет: ребята по сути отодрали часть станка и используют её, как костыль для удержания угла при ручной заточке =)) Так и назвали – "Костыль", что ещё больше доставляет))
  • 😁 9
  • 🤣 4
  • 🌚 2
  • 🔥 1
Post #178 1.25K
Сформулировал для себя главное правило эффективного использования нейросетей: ты должен в точности знать, что должно быть на выходе. Иначе нейросеть тебя наебёт, она это умеет делать очень убедительно.

Как-то я пытался отдать чатугпт задачу, с которой сам не мог справиться (это было связано с отрисовкой теней на канвасе), и он мне последовательно выдал с десяток решений, объяснив каждую строчку так, что сам дьявол бы в это поверил. И, разумеется, ничего из этого не сработало, и через часок я плюнул.

P.S.: а потом пришёл айосер (бывший андроидер), который за час это сделал. И я в очередной раз почувствовал себя никчёмным дауном. UI-ные штуки мне до сих тяжело даются, ну мало у меня опыта в них, особенно в анимациях. То ли дело решить сложную архитектурную задачу, чтоб потом 50 следующих поколений разработчиков меня благодарили и восхищались (ну или проклинали, как пойдёт), вот это завсегда!
  • 🔥 15
  • 👍 7
  • ❤ 4
  • 😁 3
Post #177 1.29K
Наткнулся на странную дичь.

В http-логах вижу, что запрос заканчивается в X, при этом в rx / корутине результат запроса я получаю через X + 1 секунду.

Я канеш понимаю, запрос тяжёлый, респонс там почти на 5 Мб. Но ё-маё, целую секунду на этом терять ваще не круто. К тому же, потом наткнулся на кейс, когда респонс в 10 раз меньше, а простой почти такой же, 0.9с.

При этом я пробовал мокать в проксимене респонс на маленький, больше ничего не меняя – и запрос отдаётся сразу, то есть причина простоя точно в размере респонса.

Пока в раздумьях, что с этим делать. Нашёл старую статью со старым костылём на rx, мб попробую. Но хотелось бы и на уровне корутин решение найти.

Ставь 👻, если понятия не имеешь, как замокать респонс в проксимене, или даже не знаешь значение этой фразы.
  • 👻 26
  • 👍 4
  • 🔥 2
  • 🤔 2
  • 👀 2
Post #176 1.65K
Любопытной Варваре на ревью нос оторвали

В одном из проектов, над которым я работаю, я нашёл баг во внешней библиотеке. Я выяснил, что баг появился в конкретном релизе библиотеки.

Что нужно сделать? Правильно, залезть в их мердж-коммит с этим релизом и попытаться понять, а чо они там сломали =)

Параллельно я, разумеется, общался с самими разрабами по поводу бага, и они выкатили фикс в следующем релизе.

И знаете что? Когда я смотрел их код, который я видел впервые в жизни, я за 5 минут предположил возможный источник проблемы и путь её решения.

И их мердж-коммит с новым релизом мою гипотезу подтвердил =)

Лишнее подтверждение тому, что если ты шаришь в computer science и сеньоришь в одном из нормальных ООПшных языков, тебе в целом уже пофиг, на каком языке и что писать – онбординг 5 мин и погнали =)

Ну 5 мин на любой язык это я конечно загнул, но суть вы думаю уловили :)

А у вас было такое, что бэкендеры или айосеры что-то наворотили, а потом ушли в отпуск / уволились, и вам пришлось за ними баги фиксить?)
  • 👍 7
  • 🔥 3
  • 👏 3
  • 🌚 2
  • 👀 1
Post #175 1.48K
Кого куда зачем делить, нормально же общались((

Чем крупнее и сложнее приложение, и чем больше над ним работает команд и разработчиков разного уровня, тем важнее уметь изолировать части кода друг от друга, и тем важнее становится скорость сборки приложения.

Если у вас 2 разработчика, то увеличение скорости сборки на 5 минут будет выигрывать компании пару часов в день, а если у вас 50 разработчиков – то у компании дневной КПД вырастет в несколько раз.
Stonks! 📈

С этим и помогает многомодульность (если правильно организована🌚). Задумка такая: делим приложение на несколько мелких независимых частей, и тогда изменения в одной части не потребуют пересборки всего проекта для запуска – потребуется пересобрать только изменённую часть и её зависимости. Так мы и время сэкономим, и сможем отдать какую-нибудь новую часть новому джуну, не боясь, что он в процессе разработки пол-проекта нам поменяет. Пусть сидит там чудит себе на здоровье, на код-ревью посмотрим 😎

Есть два способа деления:
– по слоям Clean-архитектуры (модули app, domain, data и presentation)
– core-feature деление.

С первым всё понятно: тут главное удобство в том, что ты учишься жить по клину, и прям на уровне модулей можешь прописать, что в domain нельзя тащить android-классы, и что domain не зависит от остальных модулей-слоёв. Удобно для начинающих и для тренировки, но в плане масштабирования не очень удобная история: в какой-то момент вам захочется делить на более мелкие части, чем 4 модуля, захочется выносить отдельные фичи в отдельные модули, и приложение начнёт постепенно превращаться в кавардак.

Core-feature деление – более удобная история: в core пихаем всё общее и используемое всеми модулями, а в feature... Тут опять 2 варианта:
– либо один экран – одна feature, либо один флоу – одна feature. Флоу – группа экранов, объединённых общим смыслом – например флоу авторизации или флоу покупки. Чаще всего делят по флоу.

И внутри каждая feature живёт своей жизнью: если там нет работы с данными, а только презентейшн-логика, то там из клин-слоёв только presentation, а если есть и работа с данными, и своя бизнес-логика – то в feature будут все 3 своих clean-слоя. Под каждый слой своя папка внутри фичи.

Во "взрослом" core-feature делении к feature-модулю, в котором лежит вся логика фичи, делают ещё feature-api модуль – это модуль-прослойка, состоящий только из интерфейса модуля, отражающего то, что от этого модуля нужно всем остальным. Если модуль состоит из одной активити и всей сопутствующей логики – значит, скорее всего, апи фичи будет состоять из старта этой активити. И все остальные модули не будут ничего знать о том, что происходит в самой фиче – а будут только использовать апи этой фичи.

Звучит всё это заманчиво, но на деле и в реальной компании вас все равно ждёт кавардак, это я вам обещаю. У вас точно часть общего будет в core, часть в каком-нибудь "временном" common, а часть вообще "временно" рассована по отдельным фичам с задачей по рефакторингу в бэклоге, которую однажды вечером пятницы наконец закэнселят и примут неизбежную бренность бытия.

Готов поспорить, что ни у кого не найдётся идеального мультимодульного проекта в проде, и чтоб у него было хотя бы тыщ 50 активных юзеров 😏
  • 👍 6
  • 🔥 4
  • 👏 2
  • 🌚 1
  • 💯 1
Post #174 1.05K
☁️Офлайн-встречи мобильных разработчиков уже в эти выходные!

😉Привет! На связи Coffee&Code — международное сообщество мобильных разработчиков.

😎Приглашаем вас на бесплатные встречи мобильных разработчиков в формате дружеской беседы. Будем обсуждать разработку, делиться опытом, задавать вопросы и просто приятно проводить время в кругу единомышленников.

🤪Пообщаемся на технические темы, обсудим интересные события из мобильной разработки, разберем вопросы с собеседований и поделимся опытом!

🤖 Android | 📱 Mobile | 🍏 iOS

📍СПИСОК ГОРОДОВ

💃Также мы выкладываем интересные технические/полезные видосики в наш YouTube канал и записываем Подкаст! Ждем тебя на встречах!
  • 🔥 5
  • ❤ 4
  • ⚡ 2
  • 👌 2
Post #173 1.01K
Вы ж помните, я был самоучкой, а на первой серьёзной работе через 3 месяца уволился лид и оставил меня одного. На 4 года =) Ну как, команда у меня была, но из бэкендеров-фронтендеров-дизайнеров-тестировщиков. Ни одного мобильщика больше не было всё это время.

И хотя я не то, чтобы дофига социально активный, мне все равно сильно не хватало общения "со своими". У меня были какие-то потуги это общение найти, но кроме каких-то англоязычных форумов я ничего не увидел, в итоге взгрустнул, да и забил.

И одним из главных пунктов, которые я называл при собеседовании в Белку, было "чтоб была команда разрабов, с которыми можно перетереть за андроид, походить на конференции и вот это вот всё".

И эти слова шли реально от души, как сейчас помню =)

Так вот – однажды, когда мы сплавлялись с друзьями по Тверце, один знакомый айосер мне сказал, что есть такое сообщество – КофеКод, на котором мобильные разрабы встречаются попить кофейку и потереть за жизу.

Крутой проект, как по мне. 10 лет назад мне бы это сильно помогло, хотя бы психологически. А если вы прямо сейчас ищете работу – вы, думаю, в курсе, что "по знакомству" устроиться куда проще, особенно если вы джун.

Так что советую сходить к кофекотовцам на встречи: заведёте полезные знакомства, ну или просто поболтаете в кругу своих =) 👇
  • 🔥 9
  • 💯 5
  • ❤ 4
Post #172 1.04K
Мои трудовыебудни:

Надо было вместо вертикального списка с элементами во всю ширину сделать список, в котором у каждого элемента ширина по контенту, а в каждой строке списка должно быть столько элементов, сколько влезает по ширине.

Реализован старый список был на RecyclerView, так что я решил его и переделать. Решил, что надо найти решения двух разных задач: динамическая ширина элемента и динамическое количество элементов в строке, а потом смёрджить два решения в новый SuperAdapter и дело в шляпе.

Сказано – сделано.
Да хрен там, в итоге я понял, что если делать это вручную, то я в рамки этой таски точно не умещусь, и пошёл искать другое решение.

В итоге я наткнулся на гугловский FlexboxLayoutManager, казалось бы, предназначенный как раз для этой задачи. Довольный, затащил его в проект и реализовал.

А потом на ревью мне коллега покрутил пальцем у виска и сказал, что для этой задачи куда проще и удобнее сделать через ChipGroup, который как раз для этой цели и создан.

Но этот чёртов ChipGroup мне на мой запрос в гугле ни разу не вылез =)
Век живи, век учись. Оказалось, реально удобная штука, возьмите на заметку.

Особенно радует, что в ChipGroup можно с помощью addView добавлять не только наследников Chip, а любые вьюхи, и они все равно будут норм выстраиваться. Но часть методов / атрибутов правда перестанет работать, например singleSelection – потому что он работает только на Chip.

А вот к FlexboxLayoutManager есть вопросики: странновато он настраивается, странноватые дефолтные отступы между элементами, и сходу тоже непонятно, как их настраивать.

А вы бы как пошли эту задачу решать?) Я один такой тугой?)
  • 😁 10
  • 👍 7
  • 👏 2
  • 🌚 2
  • 😈 1
Post #171 1.29K
🤔 Однажды мы с коллегами плотно зарубились на вопросе: "А как нам назвать юзкейс?"

Сначала мы холиварили, является ли логика ретрая запроса частью юзкейса, или же ей место в презентейшне.

📌 С одной стороны, один и тот же юзкейс может понадобиться ретраить по-разному в разных случаях. Где-то надо бесконечно запрос повторять no matter what, где-то надо в какой-то момент ошибку показать, где-то вообще не надо ретраить. И если во всех юзкейсах будет разная логика ретраев, то по обычному названию юзкейса GetUserUseCase будет совершенно непонятно, ретраится ли он внутри – тогда мы теряем атомарность юзкейса, а это его важная часть. Получается, логичнее выносить ретрай из юзкейса в presentation-слой, из которого он вызывается.

📌 С другой стороны, ретрай может быть частью бизнес-логики, и тогда где ж ему ещё быть, как не в юзкейсе.

В итоге пришли к тому, что если уж помещаем ретрай в юзкейс – надо точно указать это в его названии.

И вот как назвать юзкейс, в котором делается бесконечный перезапрос? GetUserWithInfiniteRetryUseCase как-то долго, сложно и не метко.

😏 В итоге пришли к названию GetUserOrDieTryingUseCase и, довольные, разошлись. С тех пор нейминг так и живёт уже 3 года =)
  • 😁 15
  • 🔥 7
  • ✍ 4
  • ❤ 2
Post #170 1.14K
Как правильно страдать хернёй

Когда мы с женой приехали после офигенного отпуска, в первые же пару дней стала очевидна разница между нашими типами мышления.

Жена, после почти месяца полного расслабления и отключения головы, со свежими силами принялась за дела, и начала делать всякое полезное, как пчёлка.

А я приехал и практически слёг в кровать под тяжестью невидимого груза. С удивлением взирая на порхающую вокруг жену.

Из-за перегруженной префронталки (по крайней мере я так это называю, могу быть не прав) я несколько дней не мог делать ничего, кроме как пырить в стену.

Потому что вся голова была занята обдумыванием того, чем бы я хотел заняться дальше. В этом году и в целом по жизни. И пока эта куча мыслей не доварилась, пока я её не упорядочил, не выложил на бумагу и не осознал, я нихрена толкового делать не мог.

Но я себя знаю давно, и доверяю себе в таких случаях. "Если у меня нет никаких осознанных мыслей, но есть ощущение забитой головы – значит оно варится глубже, и надо просто ждать и не мешать, занимаясь какой-нибудь рутиной, не задействующей голову." – к этой мысли я приходил почти лет 30.

А вы себе верите?

Даёте себе часами и днями "страдать хернёй" (так это видят окружающие, на самом деле вы делаете огромную работу, просто не осознаёте. Но устаёте вы от этого как и от физического труда) ?
  • 😁 8
  • 👍 7
  • 👏 3
  • 🌚 1
  • 😎 1
Post #169 1.82K
Полезные ссылки для подготовки к собеседованию на junior

Продолжаем полюбившуюся вам рубрику.

Пишите в комментариях, если есть, что улучшить, будем с вами вместе собирать базу знаний.

📍 Концепция многопоточности 📍

Чёткого знания и понимания контента из трёх статей ниже для джуна будет вполне достаточно.

Дисклеймер: речь именно о концепции многопоточности. Понятно, что нужно ещё знать о куче реализаций типа корутин, залуперов, сервисов и прочего.

📚 Введение в многопоточность очень простым языком. Важно, что там нормально объяснён volatile и synchronized

📚 Более углубленно и исчерпывающе, но не упарываясь

📚 И на закуску концепция атомарности на базовом уровне и понятных примерах

Если такой контент вам полезен, ставьте лайк!

#android #БазаЗнаний

@andrdevnotes | Обучение android
  • 👍 22
  • ❤ 7
  • 🔥 4
  • 🙏 2
  • 😍 2
Post #168 1.2K
Простой способ определить, стоит ли использовать найденную технику

Сам знаю, как соблазнительно инфоцыгане зазывают:
"Я дам вам технику, используя которую раз в день, вы получите такие-то результаты"

И сам знаю, к каким дерьмовым результатам это может приводить.

Вплоть до психологической травмы, которая может испортить часть жизни.

Поэтому важно не бросаться исполнять все подряд "техники миллионеров" или "модели мышления", а задаться сперва важным вопросом:
а указал ли автор ограничения этой техники? Для кого она работает, для кого нет? Какие у неё принципы работы, как приспособить под себя?

Если всего этого нет, и автор говорит, что техника работает для всех в 100% случаев – это буллшит, бегите от этого дерьма подальше.

Пример: если чувствуете, что у вас загружена голова, мало энергии – значит в голове слишком много варится: идите и просто выгрузите на бумагу всё то, что в голове есть, и освободите голову и энергию!

Проблемка тут, например, в том, что если просто выгрузить всё из головы близкого к депрессивному состоянию человека – есть большой риск только усугубить состояние. Выгружать ему можно, но не хаотично, а в заранее правильно составленную табличку – тогда техника сработает.

И это лишь один подводный камень. А сколько их там ещё?

Поэтому когда в следующий раз услышите что-то в духе "дисциплина всегда ебёт мотивацию", или "мотивация всегда ебёт дисциплину", "просто возьми и сделай, тряпка", и в ограничениях этих спорных утверждений не пахнет даже простейшим Майерс-Бриггс – забейте на этот буллшит и даже не пытайтесь корить себя за то, что у вас оно не работает.
  • ❤ 5
  • 👌 5
  • 💯 4
  • 🔥 2
Post #167 997
Короче. Сижу я тут, в Бильбао, остались последние несколько дней охеренного отпуска.

Отпуска, в котором я впервые увидел океан, и охренел, насколько он отличается от моря.

Отпуска, в котором я погрузился в колорит страны Басков, который я, как оказалось, органически не переношу (но после второго бокала чаколи ваще норм).

И я максимально старался оградить себя от всего, что бы связывало меня с работой в Белке или телеграм-каналом (второй работой) или менторством (третьей работой).

Зачем? Чтобы максимально отдохнуть. И, если честно, меня заебала эта мысль про максимизацию отдыха. Я хочу отдыхать так, как отдыхается, и тогда, когда мне этого хочется. А не 28 дней в году.

И меня изнутри точит одна мысль: я недостаточно реализовался. Я мало пользы приношу. Мало стараюсь. Слишком дохуя хочу и слишком недостаточно отдаю.

Хотя вроде я хреначу по максимуму, как могу. Но всё недостаточно эффективно что ли. Хотя положительная динамика налицо, но хочется сильно больше и быстрее.

Я пиздец как хочу сделать какую-то активность или продукт, которые:

а) отсортируют реально заряженных начинающих разрабов от тех, кого занесло сюда ветром популярности индустрии

б) докажут всем, что начинающий разработчик, прошедший менторство Ильи Попова – это не говнарь со скиллбокса, а охуенная боевая единица, готовая выстоять в схватке с реальным миром андроид-разработчика. И это реально тот самый «разраб с горящими глазами», который быстро станет приносить бизнесу пользу.

Даже если он на ваших супертрумегатехсобесах от волнения перепутал single с observable. Да блять, куда важнее то, что у него в голове чёткая картина того, в какую сторону ему копать при возникающих проблемах.

Когда я слышу от своих учеников «ну вот тут на собесе я ошибся несколько раз, но быстро додумал, где-то догадался, где-то докрутил, и собеседующий сказал, что в правильную сторону», и после этого им отказывают, я хочу собеседующих головой об стол побить, и влить им в горло калимочо.

Вать машу, один тот факт, что они на собесах (а это весьма волнительное мероприятие, ю ноу) смогли вырулить в правильную сторону после того, как запутались или что-то забыли, стоит пятидесяти вызубренных учебников.

Потому что PM’у и вашему лиду будет насрать на то, что там было в учебниках.

P.S.: буду продолжать думать, как нам с вами победить нынешнюю ситуацию с рынком найма, безо всяких идиотских накруток. Если вам это близко – оставайтесь со мной и помогайте, своей активностью, лайками и комментариями.

А, да. С Новым Годом, друзья!
  • 👍 23
  • ❤ 6
  • ❤‍🔥 5
  • 🍾 4
  • 😍 2
Post #166 1.27K
Как охуенно быть разработчиком

Что сделает обычный человек, столкнувшись с вылетом на одном из диалогов побочного квеста в игре? Забьёт и пойдёт дальше, ну ломаный квест, да и хрен бы с ним.

А вот я нашёл и открыл файл диалога, который написан не то на C++, не то на C. Засучил рукава и пошёл смотреть, где там накриворучили разработчики.

Будет ещё эта чёртова машина мне указывать, какие квесты проходить, а какие нет, хрен ей!

Потом правда жена вернулась и мы пошли ужинать, так что продолжу в следующий раз.

И это – не случайность, это – парадигма мышления. Решить можно любую проблему, если достаточно хорошо изучить причину. Нет никакой магии, со всем можно разобраться. Ты устанавливаешь правила, а не подчиняешься магическим чёрным ящикам.

Делаем ставки, господа. Кто победит, я или Корсары 2? 🌚
  • 😁 17
  • 🔥 5
  • 💯 3
  • ❤ 1
Post #165 1.2K
Заметил тут интересную закономерность:

1) когда работника сокращают и выставляют "на мороз", при определённых навыках всегда можно выторговать компенсацию в размере зарплаты за 5 месяцев

2) средний срок "от нуля до иду на собесы" у моих менти составляет 5 месяцев

Я, канеш, ни на что не намекаю, но... 😏
androidmentor.ru Главная Главная cтраница
  • 🤯 4
  • 👀 2
  • 😁 1
  • 🤔 1
  • 🌚 1
Post #164 1.43K
Post #163 1.45K
Днём сидишь думаешь про Барселону, ночью сидишь прислушиваешься к звукам, похожим на одиночные салюты, и думаешь, а салюты ли это… Вайбы современной России)

А учитывая, что к нам в Жуковский «подарки» уже прилетали… Спокойной ночи, Илья, как говорится
  • ❤‍🔥 4
  • 👍 1
Post #162 1.37K
Окей гугл chatGPT, как работать, если до отпуска неделя, а ты мысленно уже ешь тапасы и запиваешь гарначей в каком-нибудь баре Барселоны…
  • 👏 3
  • 😁 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →