Как решать задачи как программист. Не пиши код, не посмотрев это видео
Написание программы начинается не с написания кода, а с чего? Сегодняшнее видео именно об этом. Приятного просмотра!
Курс о котором говорит Сергей: 🎓 PYTHON Start - go.foxminded.ua/3MgZDhD
Есть вопросы по обучению в FoxmindEd? Пишите нам в телеграм - t.me/foxminded
Вы можете стать спонсором канала и получать плюшки - / @sergeynemchinskiy
❤ FoxmindEd в Instagram: / foxminded.ua
Курсы для будущих JS-разработчиков:
JavaScript Start - go.foxminded.ua/3OneHgo
FRONT-END (ANGULAR, REACT) - go.foxminded.ua/3OnJ9XG
NODE.JS - go.foxminded.ua/3Mjophl
Курсы для будущих Java-разработчиков:
JAVA Start - go.foxminded.ua/3odIqO7
Инструментарий JAVA - go.foxminded.ua/3Il6s0n
JAVA - go.foxminded.ua/41L7VUV
Обучение на проекте - go.foxminded.ua/3MHGDdR
Курсы для будущих С#-разработчиков:
C# START - go.foxminded.ua/3pVYo05
C#/.NET - go.foxminded.ua/41Sdml1
Обучение на проекте - go.foxminded.ua/3MHGDdR
C# NEXT - go.foxminded.ua/3OoSvSZ
Курсы для будущих Python-разработчиков:
PYTHON Start - go.foxminded.ua/3MgZDhD
PYTHON - go.foxminded.ua/3WkLnJe
🎓 Другие направления:
ANDROID - go.foxminded.ua/3pZ5tg3
SALESFORCE Developer - go.foxminded.ua/43sCUq7
UI/UX дизайн - go.foxminded.ua/45djuHj
Unreal Engine - go.foxminded.ua/3Mb8EIY
QA Automation - go.foxminded.ua/45coDiS
IOS разработка - go.foxminded.ua/43crpTi
PHP - go.foxminded.ua/3oh9cFs
Unity - go.foxminded.ua/3Wllh9m
GOLANG - go.foxminded.ua/3pY2rbT
🎓Продвинутые курсы для состоявшихся девелоперов:
Enterprise patterns - go.foxminded.ua/3OnWGOU
Алгоритмы и структуры данных - go.foxminded.ua/43aWbMp
C# NEXT - go.foxminded.ua/3OoSvSZ
🔧 Пробное техническое собеседование со специалистом уровня Senior Developer/ Team Leader - go.foxminded.ua/45dXpbs
👔 Карьерная консультация с Сергеем Немчинским - go.foxminded.ua/42Lk9hs
Сайт FoxmindEd для новичков: go.foxminded.ua/3WkCYWz
Сайт для разработчиков уровня мидл+: go.foxminded.ua/42RoJLh
FoxmindEd в ФБ: / foxmindedco
FoxmindEd в Instagram: / foxminded.ua
Мой Telegram: t.me/nemchinskiyOnBusiness
Для деловых запросов: youtube@foxminded.ua
Тайминг:
00:00 - Вступление
00:43 - Правильный алгоритм действий программиста.
Анализ задачи
02:38 - Уточнение задачи
04:09 - Анализ текущего состояния
07:57 - Построение архитектуры решения первой саб-задачи
09:38 - Реализация
10:32 - Тестирование
11:28 - Рефакторинг
12:35 - Python Start
13:28 - Поиск решения проблемы
14:11 - Можно ли его гуглить?
15:11 - Если нет - спросить
15:58 - Если да - гуглим
16:49 - Вертим в руках
17:33 - Пробуем решение в чистых условиях
19:06 - Сила слабых связей
Пікірлер: 133
Регистрируйся на Python Start - go.foxminded.ua/3MgZDhD
@ValeraKeyBrown2Channel
Жыл бұрын
флаг мерцает, тонирнул бы. Кстати, питон+ си шарп норм набор?
@ermeka8313
Жыл бұрын
Здравствуйте, подскажите пжл.сколько будет длится Курс Питон, цена соблазняет )))
@alexandrapersukova
Жыл бұрын
@@ermeka8313 Добрый день. Стартовый курс состоит из видео лекций и практических заданий. Пройти его реально за 2-4 недели.
@ermeka8313
Жыл бұрын
@@alexandrapersukova получается это мини курс и он единоразовый ?
@AssanTrasso
Жыл бұрын
У день, коли вийшло відео, я звернувся до Вас з запитанням у комментарі. Якщо коротко, то скільки є часу для реєстрації на курсі (1), та чи є сенс записуватися с відсутністю знань в программуванні(2)! Мій коментар зник без відповіді. Чому?
Проджект утром спрашивает: "почему ты вчера по задаче нихрена не сделал?" Говорю: "я ещё видео не посмотрел" 🤣
@alexandrapersukova
Жыл бұрын
надеюсь вопрос был снят?)))
@vladimirprivalov8434
Ай бұрын
Ххххххх
@muggzzzzz
Ай бұрын
@@alexandrapersukova ага, вместе с вакансией ))
Сергей, Вы прелесть! Так аккуратно и по факту, кратко. Роскошное преподношение и информация! Спасибо большое! Единственное, о чем я пожалела за последние несколько, - что учиться не к вам пошла)
Я б добавил про этап анализа - иногда оказывается, что задачу и делать не нужно, так как составитель задачи мог не знать о том что нужный функционал уже есть, или он к примеру не нужен.
@hallgamal6302
Жыл бұрын
понять что уже написано... это как раз о том что вы пишете...
@denzeroneYT
7 ай бұрын
Так в том суть, что ты понимаешь примерно, что хочешь сделать, а вот реализацию не знаешь как сделать, там столько ньюансов надо включать, надо продумывать все детали, чтобы это не ломалось и т. д. Ну в смысла делать не нужно, но люди же до этого её как-то сделали, почему ты этого не можешь? В этом то и суть, если я не хочу гуглить? Ведь загуглить, посидеть поразбираться с кодом каждый может, а когда будет уникальная задачка, то ты все равно ничего не сможешь решить, я думаю это так примерно работает.
@limtbk
7 ай бұрын
@@denzeroneYT а мне нравятся как раз уникальные задачи, которые никто не решал раньше. Потому и работаю в R&D - на все такие новые задачи пишу прототипы, а потом ребята из другой команды на их основе доводят все до продукта.
Спасибо за хороший ролик, Сергей!
Спасибо Сергей за ваши видео. У вас прям талант доходчиво разжовывать информацию 😊
@FFR3IZ4ITt
Жыл бұрын
в суффиксах глаголов после шипящих пишем ё разжЁвывать может душню нл лучше я это скажу чем заказчик/етк
@vitalijdao724
Жыл бұрын
@@FFR3IZ4ITt Чаффо чаффо ти Ноунейм ляплулЫ? тобыж сказалЫ. Идди ужО . Гуляй отседА.
@FFR3IZ4ITt
Жыл бұрын
@@vitalijdao724 ок
!!! Поддерживаю ВСЕ идеи, озвученные в этом видео. Всё ёмко рассказано, даже добавить нечего )
Наверное самое полезное видео на KZread которое я видел. Побольше такого контента!
Спасибо, очень полезная инфа !
По кайфу ❤❤ прям отдых для ушей и много адекватности
Первое видео с реально полезными советами 😀👌
Спасибо! Очень основательно! Говорю с высоты 45-ти лет в области программирования!
@denzeroneYT
7 ай бұрын
Если прям такой опыт, у вас тоже были такие проблемы, когда начинали? Как решили эту проблему? Например, когда есть идеи, что можно сделать, например, поиск, удаление елемента по характеристикам, но ты вообще не понимаешь как это работает, никогда не видел как искать елементы, как удалять, что делать? Просто посмотреть/поискать то можно, но люди же до этого как-то смогли сами это решить, почему я не могу, и должен гуглить? Ладно, загуглю, но способов решения одной задачи может быть куча, а я всего узнаю один например, а с другими все равно буду тупить..
Прямо про меня видео. Спасибо)
@alexandrapersukova
Жыл бұрын
😊
Легло в душу, спасибо
Класне відео, а швидше слухаво. І, головне, все правда в концентрованому вигляді. Я недавно пройшов курс "Практичний Реакт" на СофтСерві, ну той що раніше був Реакт онлайн марафоном і от усі озвучені проблеми для мене були полем граблів, але ближче до останнього спринта я вже усе це систематизував і почав отримувати кайф від кодингу і ґуґління проблем, та ще й чат GPT якраз посеред курсу підвернувся.
Сергей лучший!
Ёмаё, да у нас в стоматологии тоже самое, такой же подход!
Подумав, що Сергій скотився до клік-бейтних заголовків. Але ... Дуже інформативне і корисне відео для мене, як для початківця студента))
Как раз есть проблема со сторонним модулем, спасибо за дельный совет с тестированием в стерильных условиях:)
В случае неразрешимые проблемы с библиотекой, попробовать как это библиотека работает "в чистых условиях " 17:27 Очень правильный совет! Я держу отдельные мини-проэкты, иногда даже с подключением к той же самой базе данных. Специально для этого.
Спасибо за пайплайн! Сам из CG, с желанием перейти в програмирование. Тоже часто использую прием "пробы в чистой среде" (называю это локализацтей проблемы))
Мотивашки в конце видео - очень классная мысль!
Тут ещё надо добавить пункт о chatGPT в реализации задачи, где надо дотошно спросить нейросетку за все детали. И вот тока потом начать лютый копипизд с дальнейшим ревью и дебагом кода.
Я вивчив базу пайтон і sql. Чи є у вас курс по фреймворкам і додаткових скілам?
Спасибо!
@alexandrapersukova
Жыл бұрын
Программирую 20 лет, на разных языках, ни на одной работе не встречал написания тестов. Работал в EU в двух странах, там тоже не было никаких тестов. А в описании вакансий они часто встречаются и про них часто говорят. Интересно, их правда редко используют или мне так [не] везло? (Да, я посмотрел это видео и теперь имею право писать код).
@geowatermap
Жыл бұрын
Аналогично.
@meteysh
Жыл бұрын
Такая же херня, но на собесах в 30% случаев спрашивали жёстко и глубоко
11:26 ну.. если юнит тесты уже есть, то вероятно в процессе рефакторинга их также придется поправлять, что добавляет накладные расходы. Лучше тогда Е2Е тесты перед рефакторингом писать
Вчу джаваскрипт, майже рік вже, мало вірю що за пів року можна досягнути рівня джуніор будь де,так от, щодо «досить довго вертіти річ у руках», майже місяць завис на створенні слайдера, з усіх сил старався не запитувати готового рішення у бінга, і одного дня побудував план його створення і засів його робити… Минуло три дні, і я нарешті переміг це завдання! Самотужки і навіть без підказок ші. Відчуття - неймовірні, мотивації потроюється. Ваші поради дуже доречні, потрібно придивитись пристальніше до інших.😊
Спасибо, довольно ценно и интересно. Хотел заметить, что постоянно слышны клики мышкой, вряд ли так задумано)
@alexandrapersukova
Жыл бұрын
Это кликер для суфлера
@SergeyNemchinskiy
Жыл бұрын
это не клики мышкой, это монтажер добавил звуки при появлении титров :) Вы, наверное просто звук слушаете. на экране это выглядит вполне органично
На самом деле говорит все очень правильно, единственное что хотел бы сказать, это то, что понимание данного приходит спустя время возле кода, и после набитых шишок на бошке. Это же сводится к тому - почему нужен комерческий опыт))
Я, конечно, только учусь. Однако темы у Вас крайне интересные! Спасибо 🎉
@SergeyNemchinskiy
3 ай бұрын
Спасибо, я старался :)
Спасибо
Я думаю для новичков это мало поможет, так как пока не решишь кучу задач, все равно будешь делать медленно и косячить. А со временем каждый сам себе алгоритм подхода выработает, так как это все еще и от характера зависит и от кучи других параметров. Хотя в основе, конечно, у всех одно и то же.
@ivanpopov3607
Жыл бұрын
Я пришел к тому же выводу - новичку хоть кол на голове теши, пока сам не прочувствует, не поймет ни слова.
@hallgamal6302
Жыл бұрын
кому то не хватает всей жизни чтобы выработать приемлемый алгоритм действий...
@oleksandrlutovych2062
8 ай бұрын
Все верно :)
@denzeroneYT
7 ай бұрын
В этом то и сложно, задачи бывают очень разные, часто с которыми ты не сталкивался, я одну задачу, которую не мог решить, нашел в интернете, разобрал, и понял, откуда я мог знать как это решать, если например, при нахождении второго макс числа, я даже не знал, что на создать переменную, которая так же будет обновлять значение -_- я хз, я до сих пор к этому не пришел@@ivanpopov3607
З питання тестування свого коду, тобто крім юніт-тестів перевірити загальну роботу, краще мінімально перевіряти: збирається, запускається, повертає значення потрібного типу - в принципі цього достатньо, більш глибокі тест-кейси повинні робити тестувальники, інакше будете затягувати час виконання завдання. Коли був джуніором - тестував результати своєї роботи, тест-кейси різні проганяв, витрачав +50% часу і мав зауваження від тімліда по затягуванню часу на виконання задач. Як тільки перестав займатись цим, перестав тестувати всі тест-кейси - зарплату підняли, так як почав швидше працювати 😅
10:34 от одних юнит тестов мало толку, все равно они не покажут что модули дружат между собой. Другое дело, когда разработчики пишут интеграционные тесты, и называют их юнит тестами 😆
Добрий день! Чи можна вчитися на автоматизоване тестування без досвіду мануального? Якщо так, то якими скілами володіти! Мені 43 роки, досвіду в ІТ не маю.
@olegbychko3405
Жыл бұрын
Вижу цель, не вижу препятствий. Это все, что вам нужно. Вы без предыдущего опыта уже научились: ходить, говорить, обслуживать себя, ...
Спросить у тестировщиков далеко не всегда получается. На больших проектах часто бывает так что тестировщиков множество и кто именно будет смотреть -неизвестно. И что характерно -тестировщик может понимать как оно должно работать еще меньше вашего. Как на меня - лучше всего спрашивать у создателя тикета -часто это БА/продакт овнер/или кто-то в этом роде. И есть смысл создать митинг с БА и тестерами и все уточнить, потому что видение БА/тестера и ваше того как все должно работать может сильно отличаться и сдавать такую работу можно очень долго.
@PivDen-jv3th
Жыл бұрын
Часто тестировщики приходят сами уточнять что должно было измениться у меня как у программиста)
Час? 😂 У меня обычно день уходит
👍
А я это и так знал. Тут очевидно же все. Но всё равно спасибо за лайфхаки
Я так ленив и не работаю. Не знаю даже, что с этим делать…
Мне очень не хватает удобной программы для преобразования С кода в блок схему, есть несколько но они платные и с ограничениями..
Было бы инетесно узнать о налогах для фрилансеров, ограничениях, когда что надо открывать(ип, самозайнятый) в Украине
Для якого рівня це відео? Трохи збентежило, що нема кого спитати (на 16 хвилині). Виходить ти тоді вже сіньор як мінімум, чи я щось не так розумію?
Зашёл только чтобы убедиться что ты ещё Сергей Немчинский
1:35 Часто, если сразу все вопросы задаешь, даже их красиво оформив, то отвечают на парочку последних. И приходится переспрашивать повторно. Так что может и по одному-два вопроса задавать эффективнее получается.
@woodzimierz9621
Жыл бұрын
Їх треба підготувати списком, а видавати потроху. А ще треба уважно слухати, бо Сергій наголошував на тому, що інколи відповідь на одне питання скасовує деякі інші.
@alexandershcheglov4653
Жыл бұрын
@@woodzimierz9621 ну как раз в этом месте Сергей говорит, что задавая вопросы по одному выглядит детским садом. Но на моем проекте, людям прям надо задавать вопросы по одному-два, потому что на большее количество они не отвечают просто. И как раз, при таком подходе и решается проблема, когда ответ на один вопрос отменяет другой, ну или ведет к новому, которого ранее в списке не было.
@alexandershcheglov4653
Жыл бұрын
Если давать вопросы списком, тогда человек на них отвечающий, должен внимательно к этому относиться и отвечать по списку. А это контролировать мы не можем, надо подстраиваться под ситуацию.
@user-pc2vu4wj9l
Жыл бұрын
@@alexandershcheglov4653 вот и ответ, ситуации разные и нужно подстраиваться, в видео просто самая средняя базовая ситуация описывается, но иногда нужно по одному вопросу задавать а иногда человек который может ответить на вопросы увольняется и у тебя есть один день задать вопросы и чем больше тем лучше
@alexandershcheglov4653
Жыл бұрын
@@user-pc2vu4wj9l Ответ на какой вопрос? В видео Сергей говорит - что если ты по одному вопросу задаешь, то это "детский сад", намекая на то, что, типа, так не надо делать, что это не профессионально и тп А то что под ситуацию надо подстраиваться, это я в своем комментарии выше говорю.
норм якщо я на C++ пишу в visual studio?
@Shirirudesu_
Жыл бұрын
Ми так і писали у коледжі, напевно норм)
вже є чат джпт, забули про нього?)) стара школа)
Сергей у меня к вам возможно тупой но для меня крайне интересный вопрос, начинающему фронтендеру впринцыпе для меня понятно чем заниматься и какие пет проекты можно писать, но я все таки больше склоняюсь к Бекенду и вот для меня не совсем ясно какие проекты можно пробравшись писать в таком случае
@alexanderten9540
Жыл бұрын
Разобравшись можно писать API для пользвания любыми фронтэндерами
Постановщик задач не может сформулировать что нужно сделать - возможно следует его уволить?)))
Сергей, а можно флаг прям вот на весь экран и на превью ставить, чтобы я скипал видео сразу😮
@ok-ls7ix
Жыл бұрын
В чем проблема ?
Не согласен с подходом "спросить тестировщика". Во-первых в каждой задаче должны быть прописаны Acceptation Criteria. Их как раз и устанавливает заказчик. Далее скрам разбивает большую задачу на тикеты (если это нужно) и прописывает AC. Если АС не написаны или не понятны, скрам должен их дополнить. Лично я не беру задачу или не начинаю ее решать пока она не описана должным образом (разумеется в зависимости от ситуации). Мы даже на estimate/refinement такие таски стараемся не оценивать. Во-вторых откуда тестировщику знать как тестировать эту фичу, если в задании не указано какой результат ожидаем? И в-третьих если регулярно поступают задачи, которые программисты не понимают, с этим нужно что-то делать. В нашей команде это решается на refinement (не знаю как это по-русски). Каждую задачу кратко объясняет ее автор. Все слушают и понимают о чем это. Если нужно просим автора дополнить описание и прочее.
спасибо, хорошее видео ╰(*°▽°*)╯
СЕООНЛИ ставит лайк
полезное видео, построю фреймворк для себя на его основе. На самом деле относится не только к программированию, к другим сферам тоже (автоматизации, систем инженирингу).
Добрый день, очень странный подход к решению проблем 16:50 - 19:06, мне кажется 95% проблем решает дебагер.
топ контент тільки б ще звук хтось добавив 😂
Ага, попробуйте погуглить что-то если проблема на GWT
@SergeyNemchinskiy
Жыл бұрын
ой, да ладно, нормально там все гуглится
А я писал код до просмотра этого видео, я теперь все? Мне не стать программистом?(😢
@SergeyNemchinskiy
Жыл бұрын
все, теперь ничего не выйдет :)
В конце сказал как отрезал!
ОБРАЩЕНИЕ К С. НЕМЧИНСКОМУ. Вопрос к вам (как тема для ролика). Я уже много лет программирую, но это больше как хобби (профессионально занимаюсь SEO продвижением в Гугле, но это не важно), в последнее время решил подтянуть свой уровень в программировании до хорошего уровня. И вот столкнулся с паттернами. И вот что обнаружил, что запомнить их - ну не возможно. Во-первых их достаточно много, во-вторых формализованное объяснение, без прикладывания к определенной задачи - трудно запомнить да и выглядит бесполезно (ну например - Фабрика, без приложения к задаче - это тупо набор слов "ни о чем") В процессе работы над проектами, часто сам выходишь на ту же логику, только не знаешь, что оказывается это паттерн какой-то там ))) Больше того, ладно я, типа самоучка, но общался с программистами которые имеют за плечами много лет коммерческой разработки (уверенные мидлы), они отвечают примерно тоже самое (типа а хрен его, в целом я применяю какую-то логику, которая как выясняется является одним из паттернов) И вот просьба - сделайте ролик по патернам, как их учить. Я понимаю, что вещь это нужная (такие себе - абстрактные алгоритмы частых архитектурных задач), но как держать в памяти их огромное множество?
Да, если ты ( в смысле - я) программируешь уже более 20 лет, то эти истины сами собой понятны. Но лучше их усвоить в самом начале, чтобы "шишки" были поменьше.
Не соглашусь на счет говнокода.
готовят к галерам)) делайте как я, пишу левой пяткой, ковыряясь в носу. А через месяц хз че там написано, проще переписать чем понять)) Работаю в маленькой конторе уже много лет, и все норм
+
"не пиши код, не посмотрев это видео" Исправьте, пожалуйста
@user-lh6xe3zi1t
Жыл бұрын
ты русский?
Сергію, дякую Вам, за ваші відео! Переходьте на українську ;) ви зірвете куш по переглядам, це ж зараз в тренді… та і взагалі приємно було б почути від вас українську, хоча б в якості експеременту ))
Якщо чесно, то трошки про сферичного коня в вакуумі, інколи доводиться писати гарний код серед поганого, а перед цим ще і рефакторити те що там вже було, і першим пунктом іде об'єм правок який треба розтягнути в часі щоб правити їх потрошку походу (типу ти в команду приходиш на етапі коли замовник зрозумів, що команда його обманює, а ще команда дуже проти щоб ти знайшов як вони обманюють клієнта, знущаються з тебе веде себе токсично, потім починає розповідати про перфоманс, а потом про те що так було швидше, а потім ну ми накосячили але ж у нас працює, і ти ідеш і правиш бо вони вивалюють замовнику типу ну це ж його проблема з інтеграцією а не наша в нас нехай і 3 фрейма в секунду але ж працює...ну і там норм так можна отримати в комплекті з задачею ще 50 задач)
@ChinaraIbr
Жыл бұрын
Жах. Чим закінчилася історія? )
@woodzimierz9621
Жыл бұрын
Якась маячня. Чи це Ваші реалії? За що Ви себе так караєте? Run, Forest! Run!
@user-qz4te9so5b
Жыл бұрын
@@ChinaraIbr та це одна з тих історій яка ще триває, але там буде хепіенд 😅
@user-qz4te9so5b
Жыл бұрын
@@woodzimierz9621 ринок такий чоловіче зараз, в мене календарів малувато, тому всім пофіг, що там зі скілом, їм же продукт не робити, а голову продати, тому дівчинка звірила в резюме так не вистачає календарного року , чи наприклад 2 тижні (теж таке було)ну тебе і не кличуть на співбесіду технічну та і на скрін також, скидуєш цінник, ідеш на співбесіду а тобі кажуть чувак ну ти оверхед з твоїми скілами тіко дисципліну розлагати, ти збіжиш а нам потім шукати, от і доводиться 😕
9:00 Очень спорное утверждение, что по умолчанию, нужно писать плохой код, если вокруг плохой код. Это множит количество плохого кода в проекте, усложняет интеграцию новых людей в команду, приводит к деградации сотрудников (вместо того, чтобы шарить лучшие практики люди продолжают писать плохой код). По умолчанию нужно следовать принятым договоренностям в команде, а не просто действовать по примеру и продолжать множить говнокод.
Мои две копейки: планирование нужно делать от конца к началу, а выполнение - от начала к концу. Сергей частично это упомянул: рекомендовал спросить у тестировщиков, как код будет тестироваться до начала его написания.
Безцінне відео для початківців!!!
Юнит тесты - маст хэв! Минимум 75%! У нас очень высокое покрытие, уволили тестировщика - и хуже не стало!
представьте: просыпаетесь первого апреля, открываете ютабчик и там видос от сергея. смотрите, смотрите и тут вдруг он говорит "меня зовут *** немчинкий". вы смеётесь, ведь это первое апреля, явно шутка.. а потом понимаете, что для теста приложухи откатывали время на телефон/компьютере на день ранее.. и сегодня второе число.. жизнь никогда не станет прежней
Виявляється щоб бути програмістом, треба щоб дах потрохи почав з'їзджати😂
Тудушка ?
Когда ж ты уже нажрешься.
чел, какие же у тебя ужимки стремные
неплохо, но флаг мерцает, а это плохо
противно смотреть видео
Информация правильная. Только непонятно какого чёрта решили всобачить украинский флажок сюда. Сегодня это символ раздора и русофобии, незачем его сюда тащить.
const char* SergeyNemchinskiy = "SergeyNemchinskiy"
По опыту скажу програмист это настойчивость, настойчивость и ещё раз настойчивость. Поэтому у них и большие зп.то что ты сдался это никого не волнует.
Спасибо
@alexandrapersukova
Жыл бұрын