Ilia Malashko, вы показываете через замочную скважину фото автомобиля с открытым капотом издалека и хотите, чтобы я объяснил вам почему он не заводится.
Нифига не понятно какое состояние вашего репозитория, что вы делали уже, а что нет, есть ли ваши изменения в локальной ветке...
Вот статья по основам гита. Почитайте. https://git-scm.com/book/ru/v2/%D0%92%D0%B2%D0%B5%...
Вы сделали pull. ok. А push?
Может бросьте уже всё это? Если вам всё настолько не понятно, что вам не понятно даже что мне может быть непонятно из ваших скудных сообшеницй, то может надо чем-то другим заняться?
Или статью почитать, а не пытаться методом тыка и некорректными вопросами тут постигать в общем-то несложную, но довольно запутанную концепцию?
pgamesorg, вам Antonio Solo хорошо пояснил.
Но по существу происходит там то, что вы написали. Просто полиморфизм позволяет пользоваться объектом не зная его внутренней структуры.
Представьте, что вы программируете очень крутого робота гиноида.
Она будет настолько крута, что сможет помимо всего прочего писать вам записки от руки красивым почерком.
Вот вы её учите пользоваться карандашом (различать, его, брать в руку, писать), потом ручкой... Вы можете научить робота пользоваться АбстрактнымПишущимСредством, различать его, брать в руку, писать. Когда роботу предложат стилус и планшет, она сможет написать вам записку благодаря полиморфизму. При этом у объектов остаются свои особенности. Стилус пишет только на планшете, карандаш не пишет на полиэтилене и коже человека, ручка так себе пишет на коже, но хуже пишет и не на всяком полиэтилене, а фломастер везде пишет нормально.
Разрабатывая робота вы могли бы и не знать, что появится в продаже световой микро-меч для письма по камню. Но там уже другая история с активацией. Да и обычная автоматическая ручка тоже требует включения. В реальной жизни интерфейсы сложнее простых примеров
pgamesorg, ты - это не тот ты, который всё знает. А тот ты, который наперёд не знает.
Ну в смысле ты пишешь код для других программистов. Не знаешь зачем им понадобится твой код и как они его будут использовать и расширять. Но примерно предполагаешь.
pgamesorg, не знаем - это было в смысле с точки зрения стороннего кода.
Идея в том, что ваша программа, например графический редактор, умеет рисовать на холсте разные фигуры. Изначально это круг и квадрат в комплекте.
Но редактор позволяет делать плагины. Объявлен абстрактный класс, который фактически описывает интерфейс.
Вы реализовали новый плагин, который добавляет новую фигуру - треугольник. Редактор изначально не знал как рисовать треугольник. Он просто вызывает метод "нарисовать" который описан в абстрактном классе и не знает что там будет выполняться в вашем классе треугольника. Это и есть полиморфизм.
Такими же полиморфными могут быть методы сохранения (сериализации или маршаллинга), десериализации. Благодаря всему этому вы можете расширять ваш редактор добавляя туда плагинами новую функциональность.
Питон - интерпретируемый язык. В нём есть так называемая "утиная типизация", когда вызывая какой-то метод ты не знаешь наверняка есть ли он у объекта. Если нет такого метода, то будет ошибка не в компиляции, а в рантайме. Это позволяет работать с объектом "как с уткой" независимо от того является ли он потомкам утки, может быть он потомок гуся или робо-цыпа.
Но абстрактные классы позволяют описать интерфейс явно, позволяют вынести общий код. Например код перемещения объекта будет одинаковый у круга и квадрата, его можно описать в абстрактном классе. А метод рисования разный и у каждого потомка он свой.
Итого. Когда вы пишете свой редактор вы и знать не знаете какие объекты добавит в палитру пользователь плагинами. Вы знаете лишь (дали понять это в описании интерфейса через абстрактный класс-предок), что у нового объекта будут методы нарисовать, сохранить, загрузить. Ну условно. С десериализацией там всё чуточку интереснее.
Afafks123132132165, что криво, что всё равно? Тут экстрасенсов не водится.
Что за ленивые пошли люди, а...
Посмотрите, может ширину с высотой перепутали?
Antonio Solo, есть еще варианты:
г) его деятельность пока легальна, а потом можно не успеть подтереться.
д) его деятельность легальна, но почему-то не нравится каким-нибудь богатым влиятельным лицам. Не сильно успокаивает факт нелегальности их возможных действий против тебя и твоей семьи. Влиятельность и деньги могут сделать многое.
е) его деятельность легальна, но связана с хайпом и может заинтересовать очень большое количество упоротых личностей, которые будут стараться деанонимизировать, буллить и всячески мешать жить.
ж) его деятельность легальна в какой-то стране, а в другой нет. Возможно автору не хочется, чтобы его соотносили с этой деятельностью где это опасно.
з) его деятельность легальна, но репутационно-деструктивна. Может быть автор собирается стримить шансон или Диму Билана, а сам стесняется этого среди друзей. Друзья бывают разные=).
и) автор изучает аспекты рынка, чтобы написать интересную статью о том, как бывает и что возможно в этой области. Никакого домена, возможно, он не собирается заводить, просто изучает вопрос..
Это только чистые случаи. А есть же ещё суперпозиции, сочетания, смешения и градиенты...
Когда мир в голове человека черно-белый - это еще можно как-то понять. Ну не видел человек разных цветов. Может не знает об их существовании. Но вы уже видите три варианта, наверно должна закрасться мысль, что мир сложнее чем кажется и всегда есть много-премного вариантов.
Вы плохо сформулировали вопрос. Из него ничего не ясно. не ясно какие у вас проблемы и как устроена ваша игра, где и как хранятся данные пользователей.
Ilia Malashko, то, что вы закоммитили вы уже не потеряете. Пулл подмешает к текущему состоянию состояние сервера. Если будут конфликты, то вы увидите интерфейс устранения коллизий для ручного разруливания.
GET-запрос должен быть идемпотентным, то есть не должен менять состояние сервера. А вы, как я понял, хотите по факту get-запроса увеличивать счетчик проголосовавших.
В чем проблема штатно использовать POST запрос для этого?
Алексей selftrips.ru, для себя тем более.
Мало того, что get каждый дёрнуть может просто так на всякий случай, так ещё и он закеширован без спросу агрессивно может быть. Прокси, браузеры... на любом этапе такой запрос может либо сработать непроизвольно, либо не сработать, когда это явно было инициировано. Учесть все нюансы будет сложнее, чем сделать правильно.