Прекрасная подача материала, легко и увлекательно, спасибо за ваш труд и ждем новых роликов по гошке.
@goldenriver5958 Жыл бұрын
Отличная подача, смотреть реально в удовольствие. Хотелось бы еще выпусков по Go
@egorpoltoruhin21702 жыл бұрын
Спасибо, отличное видео, и приятная подача. За медицинскую компанию - лайк)
@alexeykuznetsov5436 Жыл бұрын
Очень понравился практический кейс и подача материала с последующим рефакторингом (видимо под "чистую архитектуру"), главное нет воды и все уместилось в 40 минут. Очень жду еще в том же стиле!)
@MIXREC2 жыл бұрын
Давай ещё разбор, это очень познавательно ✨
@glitchesInTheRainbow2 жыл бұрын
Спасибо большое, очень полезно, и у тебя подача материала такая прям приятно и интересно слушать
@asmr_codster Жыл бұрын
Отдельное спасибо за разъяснение того, что такое middleware !
@AlexanderPoznanski3 ай бұрын
Чудесный урок. Спасибо! Понятно тому, кто знаком с C, C++, Java, Node.js.
@nikolaykozlov488810 ай бұрын
просто то, что искал. Огромное спасибо! просто - огонь!
@yehortverytinov5478 Жыл бұрын
Я редко пишу комментарии под такими видео, но тут просто не могу пройти мимо не оставивши коммент. Очень круто, что ты разжевываешь, а не бежишь по своему тексту.
@colormix.0294 Жыл бұрын
Очень хорошо объясняете легко понят спасибо 🙏🏻 добавьте в проектах транзакции 🙏🏻
@dadagj728 Жыл бұрын
Заметил, что видео длится 40 минут только когда начал читать комментарии. Вообще на одном дыхании
@AlexTomashevich Жыл бұрын
Это самый лучший разбор кода который я только видел💥 Огромное спасибо что рассказываешь комбинации в ide это правда очень помогает при обучении 🙏🏻
@АзатФ-в3ф Жыл бұрын
Отличная подача, внятно, содержательно, в меру кратко. Благодарю!
@parvizyuldashev46682 жыл бұрын
Даёшь больше такого контента))))) Прям на пальцах объяснил. Спасибо!
@zhivart Жыл бұрын
Шикарный материал, ещё бы похожее только с БД объяснение как правильно подключать
@MrDnovik Жыл бұрын
Очень хорошее и понятное объяснение. Спасибо большое! Делай еще!
@paveltarasov4011 Жыл бұрын
Наконец-то узнал как раскидать проект по директориям микросервиса
@МаргаритаОдородько Жыл бұрын
Спасибо ! Ждём ещё разборы ))
@xewuss37502 жыл бұрын
Очень хорошо рассказываете. Без запинки. Далеко не все так умеют.Даже отбросил метлу и го учить го.
@timofeybodyagin70742 жыл бұрын
Всё классно, только одно но: в задании CONTAINS admin, а не EQUALS admin, т.е. "Super-admin" строка тоже должна проходить :-)
@SeverSiter12 жыл бұрын
Кстати, хороший поинт!
@ЕрболУтегенов-й5ю Жыл бұрын
очень понятно рассказывает автор, интересно смотреть!
@andreysokolov2335 Жыл бұрын
Отличное объяснение, спасибо вам )
@genaposikin4330 Жыл бұрын
Спасибо за видео, всё круто. Единственное чтобы я поменял, так это 36:10 Вы тут проверяете не просто роль, а конкретно, то что пользователь админ, можно сделать более явное название у метода, но это не критично :)
@КириллКутузов-з2п Жыл бұрын
s.g.r.t.y.r.GetDays() это так в озоне нейминг делают?
@Максим-й3ш6и2 жыл бұрын
Благодарю за Вашу прекрасную работу! ждем новых роликов)
@Levelord92 Жыл бұрын
Заржал, когда увидел логотип) "Медицинская компания" Спасибо большое) но хотелось бы задачек на уровень повыше
@hentan4912 Жыл бұрын
Главное чтобы куда-нибудь в Африку в командировку не отправили)
@ArtemCYOU2 жыл бұрын
да это действительно так, лайк, буду советовать данный видос)
@МаксимКоновалов-ь4ж2 жыл бұрын
балдёжно объясняет
@nurmukhanbetrakhimbayev5154 Жыл бұрын
Отличное видео. Спасибо большое.
@N0DStyle2 жыл бұрын
Я обычно пишу на другом языке, первый раз увидел Go. материал хорошо рассказан. Правда мне не понравилось логика коротких названий s, e и тд а также названием ендопоинта) а так большое спасибо было интересно.
@SeverSiter12 жыл бұрын
Привет! Спасибо за отзыв😅 Короткие названия для переменных и полей структур это визитная карточка go. Даже исходный код компилятора языка изобилует таким подходом.
@slivabananov45852 жыл бұрын
@@SeverSiter1 все же это не оправдание
@johnsc4521 Жыл бұрын
У нас в Go буквы платные. На самом деле это такой конвент. Чем ближе реализация, тем короче именование.
@dmitriym4620 Жыл бұрын
Я тоже пишу на другом языке, сейчас посматриваю в сторону Go. И меня аж подбесили эти буквы в полях и методах, это максимально нечитаемо, у нас бы код ревью точно не прошло ;))
@stefano_schmidt Жыл бұрын
@@dmitriym4620а на каком языке сейчас пишите, и почему решили на Го перейти?
@АндрейПопов-ф4и9ц Жыл бұрын
Ещё 20 минут осталось, чтобы тесты написать)
@q0art2 жыл бұрын
прекрасная подача материала
@GeatMaximus2 жыл бұрын
Меняю профессию, хочу перейти на го, работаю строителем, и вижу у тя та же проблема, никак с люстрой не определишься;)
@АнтонАнисимов-х2ф9 ай бұрын
"Запрети ! Не запретил. Я упаковал." Смеюсь 🤣
@МарияЦыкина-н3ь2 жыл бұрын
Спасибо за урок!!!
@MenuMoscow10 ай бұрын
Спасибо большое, очень полезно 🍉🍉🍉🍉
@xyanmatus Жыл бұрын
чтобы отправлять заголовок из браузера можно поставить расширение типо ModHeader и в путь
@alexeysenchev8554 Жыл бұрын
вообще класс спасибо
@Ilya-xm5dm2 жыл бұрын
Видео крутое. Хотелось бы добавить, что конструкцию ``` if err != nill { return err } return nill ``` можно заменить на простое ``` return err ``` смысл не поменяется.
@trashmylife78322 жыл бұрын
Очень даже поменяется. Это стандартная обработка ошибок в го. Ретурн без условий всегда будет возвращать
@AnwarSaginbai Жыл бұрын
Можете объяснить следующий код с минуты 29:40 - почему так надо писать (примерно понимаю, что это связано с концепцией чистого кода, паттернами и т.д), но хотелось бы простым языком получить детальное объяснение
@DarkRavenStyle2 жыл бұрын
Пытаюсь освоить Go сейчас. Если такая реализация соответствует требованиям для джуна, то я пожалуй просто рядом с офисом компании постою, в окна позаглядываю.
@denisbogdanov89762 жыл бұрын
Что, всё так плохо?
@DarkRavenStyle2 жыл бұрын
@@denisbogdanov8976 Нет, ещё хуже)
@ivankosolapov430Ай бұрын
Ну как дела, освоили?
@myyymmyyym217511 ай бұрын
Решил задание, взяли на работу. Когда понял что эта медицинская компания делает-решил уволиться. Теперь за мной гоняется какой-то верзила без глаза в кожаном плаще (затирает про какой-то старс) и какой-то недоариец (так-же в плаще и еще в очках солнцезащитных, хз зачем они ему). Дальше -то что делать?
@prayer46759 ай бұрын
Несколько замечаний: 1. Количество дней вычисляется неправильно, отбрасывая дробную часть теряется один день. Правильно перед преобразованием в целое вызвать math.Ceil() на результат деления 2. Однобуквенные переменные выглядят очень нечитаемо, по крайне мере для меня Senior Java разработчика. Неужели в Go так принято? 3. Не хватает тестирования. 4. Не хватает файла .gitignore со строкой .idea/ 5. Название корпорации выдуманное (из фильма Resident Evil), то есть задание придумал автор ролика. Поэтому вопрос: зачем вообще использовать какие либо сторонние библиотеки, когда стандартного net/http из самого Go хватит более чем полностью?
@Meelf_Hunter4 ай бұрын
зачастую действительное однобуквенные названия используются, потому что в го все сводят к минимализму. Например, d := time.Date(...) -> и так понятно, что мы получим. Аналогично и если мы пишем функцию New в пакете server. Нам не надо писать NewServer(), ибо и так понятно, что New() вернет нам объект server, а вызов будет таким: s := server.New(). Можно записать и так: server := server.NewServer(), но зачем, если и так было понятно, но только длиннее стало. Сам раньше писал на Java и когда в Go пришел то не понимал, а че все пишут переменные из 1-2 символов, особенно в приемниках методов структур. Потом со временем понял всю прелесть такого подхода)
@Iongjump Жыл бұрын
Я только начал ради интереса осваивать го. Не стоило ли задать для функции DaysLeft параметр для указания даты, количество дней до которой считаем? Например, func DaysLeft(year int64, month int16, day int16). Или не?)
@shoxbozjabbarov893410 ай бұрын
Подскажите пожалуйста профессию и школу для новичков, где меньше "воды" и больше практики❤
@denisgrbnk4054 Жыл бұрын
Мммда, есть ощущение, что чистый код прошел мимо данного кода. Кто-то будет говорить, что однобуквенные переменные это ОК для го, но я работаю с го в бигтех компании и это далеко не так
@MaximBondarenko Жыл бұрын
Как говорится, есть только две сложные задачи - кэширование и нейминг переменных :)
@denisgrbnk4054 Жыл бұрын
@@MaximBondarenko отличная фраза)
@linuxoidovich Жыл бұрын
@@MaximBondarenkoа чем кеширование сложное?
@serobrine7 ай бұрын
@@linuxoidovichнаверное речь о том, что сложно решить когда обновлять данные в кеше, т.к. они устаревают
@DrZeD136 ай бұрын
Правильной инвалидацией
@zhaisan Жыл бұрын
Меня больше всего напрягяет его одежда😂😂😂
@ivansarokin2 жыл бұрын
Если бы я увидел в коде функцию названную "MW", переменные "a, e, s" - закрыл бы и выбросил в корзину.
@ВалерийТкачев-к1к2 жыл бұрын
Это нормально для го
@IgorYegorkin Жыл бұрын
@@ВалерийТкачев-к1к это нормально только для обфускаторов и для BASIC в школе 😅
@srr_ Жыл бұрын
this is Go
@kirillbezrodny5107 Жыл бұрын
@@IgorYegorkinпочти все примеры кода на Го в интернете, именно такие
@РоманЗ-з8ю Жыл бұрын
Это как если увидеть программиста в рубашке белой .) парень очень круто объясняет , ждём новых видео
@MikhailRumyantsev-r1n Жыл бұрын
Вряд ли такое расположение пакетов в директории internal сделано верно. Я искал проекты с таким же расположением, чтобы убедить себя в обратном, но увы, не нашел. А вот, что говорит ридми-файл на том проекте, который вы взяли за пример: Your actual application code can go in the /internal/app directory (e.g., /internal/app/myapp) and the code shared by those apps in the /internal/pkg directory (e.g., /internal/pkg/myprivlib). Перевод: Фактический код вашего приложения может находиться в каталоге /internal/app (например, /internal/app/myapp), а код, используемый этими приложениями, - в каталоге /internal/pkg (например, /internal/pkg/myprivlib). myapp - это имя вашего приложения: umbrella-test-task. Как я это узнал? В ридми есть другая отсылка: The directory name for each application should match the name of the executable you want to have (e.g., /cmd/myapp). Подытожив, раз ваш главный пакет имеет путь: /cmd/umbrella-test-task То тогда и остальные пакеты должны быть расположены по таким путям: /internal/app/umbrella-test-task /internal/pkg/endpoint /internal/pkg/mw /internal/pkg/service Возможно, вы и получите сочный офер, сделав подобное расположение пакетов и у вас заработает приложение. Но, всегда не лишне будет подумать своей головой, и проверить информацию.
@ipavlyukov Жыл бұрын
Привет! Спасибо вам большое, очень подробно расписали расположение, со ссылкой на рекомендации (!) go-project-layout. Каюсь, привычка остаётся со мной ещё со времен Ozon'а, и во всех проектах, с которыми мне приходилось и приходится работать часто вижу её воплощение как у меня. Однако, приведённый вами пример мне кажется даже более логичным. Единственное, что я бы не стал в реальном проекте уносить в internal/pkg что-то типо endpoint'ов и сервисного слоя, ибо они прямо реализуют логику приложения. А вот middleware могло бы знатно там уместиться.
@MikhailRumyantsev-r1n Жыл бұрын
@@ipavlyukov А что, если размещать endpoint'ы там же - в internal/pkg, только делать субдиректроии? Когда я писал REST-проект, то мне нужно было уместить по 3 слоя (пакета) для каждого эндпоинта и инициализировать их всех в специальном для этого месте. На данный момент пишу другое "большое" приложение, где поначалу думал, что возможно стоит разделить его на 2 - каждое со своими внутренними пакетами-эндпоинтами. Но, подумав о пакетах в субдиректроиях и едином месте их инициализации, решил оставить монолит. UPD: фигню написал, упустив суть, что вам надо держать эндпоинты открытыми (не находящимися в internal).
@ipavlyukov Жыл бұрын
@@MikhailRumyantsev-r1n Главная мысль здесь, это достичь предсказуемого положения кода для тех, кто работает над проектом.
@MikhailRumyantsev-r1n Жыл бұрын
@@ipavlyukov Это да, безусловно.
@QuickOkay Жыл бұрын
7:57 зачем в функции Handler писать всю эту лишнюю ерунду если можно сделать сразу return ctx.String(...). Если будет ошибка, он вернут ошибку, нет ошибки вернет nil. Но вместо этого мы написали всякую ерунду по типу, если есть ошибка возвращаем ошибку, иначе nil. Что с логикой?
@leshi_12 ай бұрын
Логика была при Сталине, сейчас время абсурда
@obereg22826 ай бұрын
Разбор задания нужен, где в ТЗ есть спецификация сваггера
@АлексейБондаренко-т8т2 ай бұрын
Огонь
@vahemuradyan72584 ай бұрын
как твой app.New() роботает если не нописал какие аргументи должен возврошат функция New(), почемы у темя роботает ?
@JIexaPol Жыл бұрын
Балдёж!
@КириллРр-ы1т2 жыл бұрын
Собеседование в амбреллу, интересно.
@artishoo22 күн бұрын
Ну что, ваши сервера стали отдавать отрицательные значения?)
@daglibdaglib56442 жыл бұрын
Круто, спасибо за видео. Как раз учу го, и код который был написан сначала я бы тоже смог бы написать. Но код после разделения на файлы и раскидывания по разным папкам, использование методов и интерфейсов (итоговый код) вгоняет меня в уныние, тем что я, наверное, никогда, как джун, не напишу такой код. И возникает вопрос: если так должен писать джун, то какие тогда требования к синьорам???
@SeverSiter12 жыл бұрын
Такие же требования к сеньорам по коду. К ним просто ужесточаются требования обосновать почему они положили код в эти папочки и сделали эти интерфейсы :)
@Meelf_Hunter4 ай бұрын
да ладно, такое стажер написать же может свободно... Использование интерфейсов - база, разложить правильно по пакетикам - база. Есть стандартные практики, как это делать. Я имею всего 4 месяца опыта работы с go, но использование интерфейсов и пакетов - слишком базово для джуна, джун такое должен уметь
@frust17992 жыл бұрын
а калькулятор как написать не подскажите саму концепцию написания особенно с римскими цифрами
@adskfksefn2 жыл бұрын
service - s, app -a и тд, а вы точно сеньор-помидор?)
@vvasystem Жыл бұрын
А как же swagger, config, graceful shutdown и многое другое?
@TimurSevimli Жыл бұрын
То что в 11-13 минутах рассказываешь, называется обертка (wrap, wrap function, wrapper)
@МаксимЯкушев-ю9жАй бұрын
на тоненького про umbrella corporation
@Berkeli2 жыл бұрын
почему даже упоминания нету о тестах?
@johndoe20975 Жыл бұрын
Very good!
@gigavaxer65575 ай бұрын
Объясните плиз не гоферу почему вот так a := &App{} a.s = service.New() a.e = endpoint.New(a.s) А не a := App{service.New(), endpoint.New(service.New())} Так, например
@SeverSiter15 ай бұрын
Потому что два разных сервиса создается во втором примере
@Antonio-ib6ii2 жыл бұрын
Подача очень хорошая. Единственное мне не нравится что вы сокращаете название переменных до s вместо того чтобы написать полностью. Если взять из контекста эту функцию и показать кому либо вряд ли человек поймет что там ожидается какой то сервис или что либо еще.
@Antonio-ib6ii2 жыл бұрын
особенно это заметно когда вы вызываете e.s.DaysLeft()
@SeverSiter12 жыл бұрын
Краткость именования полей - визитная карточка Go. Но, конечно, стоит опираться на стандарты компании в которой вы работаете.
@respise Жыл бұрын
А зачем мы добавляем endpoint в App? Ну тут, понятно, мы показываем, что умеем. Но вот если представить реальное приложение с несколькими endpoint'ами, то есть ли смысл их вообще определять в структуре App, если мы их используем только в рамках app.New()?
@runningbathattendantprogra95822 ай бұрын
Не вижу новых задачек для оффера(
@SeverSiter1Ай бұрын
Есть новое видео про таймслоты, но на другом канале
@КоньЛюдоед-ф6ф Жыл бұрын
но в школе не вижу курса по golang
@butcher_of_Blaviken Жыл бұрын
Не работайте на Umbrella Corporation! Они не те, за кого себя выдают
@DormidontMalevich Жыл бұрын
Скоро будут языки , где каждой функции - отдельный файл. И три тонны импортов в хедере Все к этому идет.
@ianvaramba64042 жыл бұрын
подскажите для винды как обновить сервер?
@AirBuilder Жыл бұрын
Для http-сервера с hello word тащить левый "фреймворк" с гитхаба - ну-ну, отличный вкус ))
@Thief19877 ай бұрын
Так задание оговаривало использование именно echo а не стандартного пакета
@kamegatze65687 ай бұрын
middleware это proxy? очень похоже
@EVELJUST2 жыл бұрын
Класс
@lol-q1v11 ай бұрын
Он так сочно рассказывает как тот повар из мема который говорит "Еее, бой"
@fenderbender20964 ай бұрын
За усилия плюс, за суть скорее минус.
@sandwichgames886310 ай бұрын
а что дома в пальто?
@DRanduletti4 ай бұрын
чтобы получать сочные оферы надо скипать тестовые задания.
@delay_gryaz_chisto2 жыл бұрын
счас бы назвать spring-like архитектурой "когда есть эндпоинт, сервис, репозиторий" но главное что синьор и работал везде-везде
@JustMe-y8d Жыл бұрын
А где DI и тесты ?
@magnat70452 жыл бұрын
извиняюсь но у меня кажется с самого начала ничего не получается . скачал я все что нужно для GO но visual studio у меня хз как работает и саблайм . в терминале вс я написал го мод инит и у меня пишет ошибка какая та :go : Имя "go" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути , после чего повторите попытку. и вот после такого уже вообще какой язык учить
@SeverSiter12 жыл бұрын
Нужно убедиться, что go установлен в систему и может быть вызван из командной строки.
@magnat70452 жыл бұрын
@@SeverSiter1 как
@SeverSiter12 жыл бұрын
@@magnat7045 следуя инструкциям с официального сайта
@magnat70452 жыл бұрын
@@SeverSiter1 C:\Users\user>go install 1.19.4@latest go: 1.19.4@latest: unrecognized import path "1.19.4": https fetch: Get "1.19.4/?go-get=1": dial tcp: lookup 1.19.4: no such host
@SeverSiter12 жыл бұрын
@@magnat7045 думаю проще с сайта скачать установщик
@sullamagnus2 жыл бұрын
Так, где смотреть твои уроки?
@ipavlyukov2 жыл бұрын
Если есть спрос, то могу разобрать и другие темы. Предлагай их прямо здесь, в комментариях!
@sullamagnus2 жыл бұрын
@@ipavlyukov блин, сегодня к вам в команду не взяли)) Тема голанг в принципе интересна, может задачки на литкоде поразобрать. Ты очень прикольно подаёшь материал. Доступно.
@SavenkoRoman Жыл бұрын
@@ipavlyukov это понятно, что можешь разобрать другие темы и можно предлагать их в коментах. а смотреть-то где? вроде умный чел, а на вопрос не ответил =)
@ipavlyukov Жыл бұрын
@@SavenkoRoman привет, друг! Потому что не на что кидать ссылку. Ведение своего блога очень большая работа. Чаще я публикуюсь на вот таких каналах как этот, поэтому следовало бы ожидать тут 💀
@SavenkoRoman Жыл бұрын
@@ipavlyukov привет! Я пока нашел только 2 ролика твоих. Где другие глянуть?
@tryrp6 ай бұрын
Это уровень джуна?
@immickful2 жыл бұрын
Прекрасный симбиот в стиле для чайников с последующей полной жестью!)) Нихрена не понял...
@AshJWilliams6 ай бұрын
Меня одного смущают названия переменных из одной буквы? Дядя Боб не одобрил бы... Хотя видос по делу.
@LeonRussia8ypa5 ай бұрын
Согласен: хотя и есть общепринятая практика что переменные, если контекст их использования ограничен, например в пределах видимости нескольких строк на экране, допускают короткие наименования (и однобуквенные). Но тут человек явно переборщил. Особенно дико выглядят эти `a.s = ...; a.e = ...`, мне кажется в структуре такой нейминг не допустим.
@host_admin9 ай бұрын
Посоветуйте норм курс по го
@ivanaktau2 жыл бұрын
Спасибо, интересно. Но почему int64? Можно было int32, или даже int16
@toyz_37522 жыл бұрын
А если дата поменяется и кол-во дней будет большое?
@Thief19877 ай бұрын
Больше чем 32768? Нет ну может в теории... В любом случае int32 точно бы хватило.
@pjpodx2 жыл бұрын
👍 HO на фейс не обязательно переключать кажд 5 мин , главное код
@delay_gryaz_chisto2 жыл бұрын
вопрос: а если бы мы в эндпоинте не описывали интерфейс, а просто передали бы сервис - это уже не был бы депенденси-инжекшион?
@ipavlyukov2 жыл бұрын
Был бы, но ведь нам нужно показать, что мы знаем как применить интерфейс для инъекции зависимости. Не буду лукавить, видео неполное, изначально в планах были еще юнит тесты.
@dvalejo Жыл бұрын
Я бы еще добавил блокчейн и кубер
@andreysakharov62102 жыл бұрын
ужасная несправедливость. почему рассказано как открыть ссылку в браузере на маке и на винде, а как на линукс не сказано?
@erik_james Жыл бұрын
Тыж на линуксе) Напиши свой бразуер просто
@andreysakharov6210 Жыл бұрын
@@erik_james видимо поэтому и не сказано, что написание браузера не умещается в хронометраж видео))
@erik_james Жыл бұрын
@@andreysakharov6210 все таки приятно ж быть пользователем линуха) все по умолчанию думают что ты запросто можешь писать свои драйвера на ассемблере, вот лишний раз и не рассказывают как там ссылочки открывать😁😅
@nicolaep7 ай бұрын
В руби это задание делается за 2 минуты Очень много бойлерплейта
@alexsh.8080 Жыл бұрын
Всё отлично, но нет тестов
@zorkin222 жыл бұрын
Топ
@Timmy-z3y4 ай бұрын
Найс компания 😂
@torburgmax Жыл бұрын
это просто жесть. для кого это? для новичков? они ничего не поймут? те, кто уже что-то могут, копирование документации ничего не даст
@MassEffecn2 жыл бұрын
Смотрю видео и задаюсь одним вопросом - не жарко ли сидеть в свитере и пиджаке в квартире?
@Smolandgor2 ай бұрын
блин подгорает как то немного...не нужно сокращений этих....лучше всего переменные полностью называть duration, server, timeUntill и так далее
@alexk39292 жыл бұрын
Но ведь работы для джунов тем более на Го нету))) Месяц ищу, 60 высланных, 0 результата.
@SeverSiter12 жыл бұрын
Сейчас вакансий действительно меньше, но это не значит, что ниша исчезла и тем более навсегда. Знакомые джуны за последние недели получали офферы и из Гермпании и из Великобритании.
@alexk39292 жыл бұрын
@@SeverSiter1 Рад за них. Я пишу лично свой опыт, они наверное сениоры в других языках и с опытом в несколько лет? Просто свитчнулись на го, да? Ну тогда понятно)
@SeverSiter12 жыл бұрын
@@alexk3929 я лишь к тому, чтобы у тебя не опускались руки. Уверен, ты найдешь лучший оффер 😇
@alexk39292 жыл бұрын
@@SeverSiter1 уже опустились. Работаю в другой сфере, потому что надо оплачивать счета и жильё. Поищу летом мб рынок стабилизируется
@ЕрмекРысбеков-ф8ч2 жыл бұрын
@@alexk3929 а если не секрет в какой сфере работаешь?