Pull to refresh
-12
0
Алексей @murkin-kot

Программист

Send message

Для тех, кто подобно автору чего-то не знает, но хочет узнать от других.

  1. Не надо выкладывать сразу всё. Знающие люди перестанут читать после первой-второй глупости, поэтому ваш выстрел станет холостым.

  2. Не надо выкладывать свои теории в той области, про которую мало знаете. Это ещё сильнее оттолкнёт знающих.

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

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

Не нужно выставлять себя специалистом в той области, в которой вы не специалист. Даже если в какой-то другой области вы что-то понимаете. Ведь вы пришли в чужой дом, а не к вам пришли за помощью.

Но есть всё же важный момент вокруг затронутой автором темы помощи начинающим.

Как начинающему запросить плодотворную дискуссию?

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

Теперь позитивные подсказки.

  1. Располагайте к себе аудиторию. Если о вас известно, что вы отшиваете всех, кто вам чем-то не понравился, наверно аудитория вас не полюбит.

  2. Давайте экспертам какую-то выгоду. Это может быть как моральное удовлетворение от внимательного выслушивания, так и некая помощь в какой-то задаче, стоящей перед экспертом.

  3. Сделайте так, что бы юные дарования не заполонили комментарии экспертными заявлениями на пару осмысленных слов. Да, здесь нужно стать модератором. Возможно поэтому, вам может пригодиться какая-то другая площадка.

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

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

В предыдущем тексте вы показали обобщённое представление составных чисел через матрицы. Но не показали, почему матричные операции выбраны именно такими, какие они есть. В итоге обобщение пар чисел сводится к операциям, аксиоматически задаваемым на матрицах (в смысле без каких-либо видимых в тексте доказательств необходимости именно таких операций). Отсюда очевидно, что однажды выбрав матричную аксиоматику, включающую специфичные для тех же комплексных чисел операции, вы, разумеется, обнаружили что матрицы "подходят" для описания комплексных чисел. То есть показали, что масло, оказывается, масленое.

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

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

Всё это к тому, что вы хорошо углубились в обобщения, но корни показали недостаточно глубоко. Связь "системы + арифметика = новые числа (структуры)" можно показать глубже и нагляднее.

Чат бот, который не умеет разговаривать (тупо льёт простейшие заготовки), сегодня совсем не комильфо. Один скромный минус - он тупой. Но этот минус, почему-то, решено не замечать. Но почему? Есть честный ответ?

Ещё скромный минус - сколько людей нужно на его поддержку? Сколько людей нужно в службе поддержки для поддержания неподдержаных тупым ботом пользователей?

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

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

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

Отсюда лежит прямая дорога в сторону "начать думать".

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

Точность же остаётся многомерной - по каждому алгоритму своё время.

Далее каждый решает сам - у меня в среднем много таких-то задач, поэтому мне нужен вот такой интерпретатор. Хотя обычно решение всё же в сторону JIT, и потому все эти интерпретаторы идут лесом.

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

Поэтому призыв ко всем спорящим - а давайте посмотрим ещё шире, а?

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

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

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

Технологии - это занимательно. Но начинать надо с умения выстраивать процессы. Если в чём-то присутствует бардак - никакой вам эффективной медицины не будет.

Конкретно в Белой радуге был, да, в целом приятно-чисто-культурно, но с первого же посещения очевидно - процессы не выстроены. Это не бардак в колхозном понимании, разумеется, но, во первых, нет предела совершенству, и во вторых, отдал почти 500 т.р. другой клинике, в которой процессы лучше (хотя тоже не идеал).

Ну и общая причина такой ситуации - руководство (безотносительно конкретной фирмы). Может как врачи они просто супер, но вот когда касаются сложной и долговременной работы, которая требует кучу внимания к различным бесконечным мелочам - всё, тут у нас лапки, мы же должны когда-то отдыхать, и вообще у нас технологии на самом наипрекрасном уровне, чего вы к нам с глупостями лезете.

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

А в чём кризис-то?

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

Было что-то про "не тот" найм. Но какой бизнес от этого умер? ИП Иванов? Ну так таких ИП каждый день по тысяче умирает. Остальные здравствуют. И где кризис?

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

С точки зрения такого творца, безусловно, он хочет, а ему не дают - кризис!

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

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

Только причины ранее существовавшего режима найма "в лёгкую" лежат не в инновациях. Это всё опять и снова про науку, очень неуважаемую айтишниками. Про социологию.

Паразитирующая надстройка хочет денег. Где взять? Вспоминаем пузырь дот-комов. Или даже пузырь с тюльпанами в средневековой Голландии. Вот оно - надежда на бабло. И да, что бы получить много надо немного вложить. Вот и вливали в надежде в перспективный сектор. Чистая иллюстрация социального закона порождения волны на необоснованных ожиданиях. И на этой волне выросли зарплаты у айтишников. Хотя им самим кажется, что речь шла про то, какие они умные и какие прекрасные инновации они умеют делать. Но нет господа, вас позвали что бы тюльпаны бочками грузить, а не для инноваций. Корень тут немного другой.

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

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

В общем мораль простая - вас случайно прибило прибоем (не вами созданным) к кисельным берегам, а тут, внезапно, случился отлив. Но вы же знаете, что только из-за вас всё вокруг крутится! Какой отлив? Это кризис! АйТи пошло не туда! Надо срочно прекратить! Остановить! Мы негодуем!!!

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

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

Дельта температуры может быть 70, а может и 80 градусов. Это зависит от выбора фреона и качества проектирования. То есть в сутки будет кубометр воды. Плюс ночью кондей не нужен, так что меньше кубометра. Хотя если взять полную мощность в течении 24-х часов, то получим 24*7=168 руб (7 с чем-то я плачу за электричество). При этом за воду - 45 руб. То есть цена примерно повышается на одну четвёртую.

Очевидная экономия будет за счёт отсутствия вентилятора, который тратит ватт этак 100 на охлаждение радиатора. 0.1*24*7=16.8 руб. Плюс кпд компрессора на разнице температур 90-10 градусов повышается, так что меньше киловатта расход будет. Суммарно уже очень близко к потреблению сплит-системы.

Ну а про стоимость комплекта я выше написал - будет сильно меньше.

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

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

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

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

Когда же наука сумеет остановить цену?

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

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

Оценки базовых навыков так же субъективные, как со стороны кандидата, так и со стороны спрашивавшего. Поэтому не стоит воспринимать их как-то близко к сердцу.

База, на самом-то деле, вычисляется просто - вот ситуация, вот ограничения, как сделать так, что бы всё стало работать в десять раз быстрее? Здесь сразу видно, понимает человек, как оно внутри работает, или только заучил базовые конструкции, которые не помогут писать оптимальные по ресурсам программы. Ну а если такая база есть, то и как внутри устроена JVM, и многое другое человек будет понимать достаточно хорошо, что бы в большинстве мест сказали, что база нормальная.

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

Но это всё не отменяет необходимости наращивать базу в глубину. Так что вашему знакомому явно есть куда расти. Как минимум - сам он не дошёл до простейшей мысли - все эти спринги есть производная от именно базовых знаний, обладая которыми, он никогда бы не мешал в одну кучу спринг со всем остальным. Это как смешивать физику с математикой. Без математики ничего не посчитаешь. Но физики должны знать именно предметную область, то есть законы природы. Ваш знакомый же месит в куче квадратные уравнения с законом всемирного тяготения, хотя ещё в школе дети узнают, что это разные дисциплины. Так и в программировании.

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

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

Хотя возможность ответа в комментариях, в общем-то, проблему нивелирует.

Ну и до кучи, просто добавив в ваш комментарий указание "как видно из примера, перебирая точки, получаем на одно умножение полином первой степени, на три - третьей, на шесть - шестой, то есть степень полинома (или разрядность числа) растёт пропорционально количеству умножений, а не его квадрату" ваши затраты выросли бы очень незначительно, но ясность изложения была бы заметно улучшена.

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

БПФ получилось без китайской теоремы об остатках. И вывод быстрого умножения так же возможен без её привлечения. Хотя, возможно, вам известен вывод БПФ через упомянутую теорему?

И про увеличение длины на каждом шаге не понял. При одном умножении степень многочлена увеличивается на единицу. Какая длина при этом увеличивается вдвое?

Описание использования китайской теоремы в статье так же не дошло до моего мозга. Pn = P mod (многочлен) - здесь два неизвестных, Pn и P, многочлен известен, но получение Pn и P непонятно.

Более того, вы далее описываете способ подбора точек так, что бы они образовали мультипликативную группу. Затем эту группу вы находите в преобразовании Фурье. После чего переходите к рассуждениям о совпадении с Фурье лишь при конкретных значениях. Где здесь связь с шагами, которые дают нам степени двойки на каждом из них?

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

Может стоит добавить подробностей в статью?

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

Другое дело, как показать эту выгоду без привлечения подобных преобразований. Сейчас быстрое умножение выглядит как некая магия, считаем по каким-то формулам, и почему-то получается быстрее. Почему? Потому что так получается по формулам. А почему так получается по формулам?

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

На что обратить внимание?

На случай. Всё остальное - не работает. Удачно столкнётесь с правильной конторой/человеком - вам повезло.

У нас Java-джунов ищут годами. Требования минимальные, по сути базовое знание языка, плюс что-то из SQL, ну и хоть какая-то сообразительность. За полтора года нашли одного. Вакансий много. Почему так?

Как и почти везде - в корпоративе очень низка эффективность внутренних процессов. Найм - не исключение. В других местах не лучше. Хотя те, кто вакансии передаёт кадровикам, считают, что рынок пустой, плохой, холодный и т.д. А то, что система в целом неэффективна - никто никогда не скажет, ведь это и их самих в неприятное положение поставит.

Так что надежды джунов могут быть только на массовую рассылку и случай. А до наступления случая - качайте хард-скиллы, их реально нет у многих постучавшихся.

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

Авторам урок, стоит или нет увлекать местных высоким (кроме наивысших удовольствий, разумеется).

Вы думаете, западный софт не ориентирован на прибыль? или вы думаете, на западе не было периодов, когда в том или ином направлении складывалась ситуация, аналогичная нашему импортозамещению?

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

Разработка приклада - АД кромешный

Большие конторы это делают сами, ну а остальные в большинстве просто не понимают, что им на самом деле нужно. Хотя большие тоже не понимают, но удовлетворяются хотя бы фактом самостоятельного творчества, за которое винить посторонних не очень логично. Зато свои собственные решения для инфраструктуры даже толстые конторы не хотят взваливать себе на плечи. Привыкли, что осей на свете ровно две, и пилят их всегда другие. Запилить свою? Да вы что, это же не наши компетенции! А пилить микросервисы подразделениями в несколько тысяч человек - ну до чего же "своя" компетенция.

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

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

Что насчёт оптимальности предложенных для примера алгоритмов?

Доказать применимость можно для любого алгоритма, но эффективно решать задачу это не позволит. Для эффективности требуется нечто большее. Есть это нечто в описываемой структуре?

В примерах видим два этапа - построение структуры из статьи, а затем использование структуры в дополнительном алгоритме. Есть аналогичное по применимости множество индексных структур, позволяющих делать то же самое, но с доказанной оптимальностью (вычислено О большое и показано, что оно лучше других). Чем индексы хуже предложенной структуры? Точнее - собственно индексирование должно быть менее затратным в случае, если структура из статьи действительно полезна. Хотя возможно уменьшение затрат второго этапа при худших показателях первого. Но эти вопросы автор не осветил. А стоит подумать.

Критика статьи больше в том, что это тепличный и не массовый стиль управления

Это не стиль управления. Это один из способов мотивировать сотрудников. Управлять и мотивировать - очень разные вещи, видимо ортогональные.

Собственно управление, как и везде, осуществляют выборные начальники.

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

Хотя в тексте есть что-то про плоское распределение доходов. Возможно, вся мотивация в основе полностью эквивалентна привычной сдельной оплате, но вот этаким образом занимательно оформленной.

Что порекомендуете в тему "активации" участников к управлению?

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

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

Так что переориентируйтесь на готовое.

Information

Rating
6,278-th
Registered
Activity