Pull to refresh
62
0
Виктор Пряжников @bikutoru

Пользователь

Send message

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

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

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

Советы неплохие, но начинаются с середины, и еще сильно до того, как идти выбирать лицензию и т.д. по тексту, нужно для себя прояснить очень хорошо примерно следующее:
- какую именно проблему решает проект, является ли эта проблема реальной, нужно ли решение лично вам как автору, и кому еще это решение может пригодиться
- какие имеются альтернативы и в чем их фатальные недостатки, из за которых именно вам нужно решать проблему заново, и не будет ли лучше присоединиться к разработке уже существующего проекта, а не садиться за написание нового
- сколько у вас ресурсов и сможете ли вы тратить главный невосполнимый ресурс (время вашей жизни) не только на fun-части проекта (написание кода, решение проблемы, прием благодарностей и донатов), но и на slog-части (настройка и отладка сборочной системы, тестирование, создание и поддержка CI/CD-пайплайна, общение с пользователями, разгребание сообщений об ошибках, фич- и пулл-реквестов и т.п.).
- ожидаете ли вы роста пользовательской базы, и если да, то готовы ли к тому, что проект станет отнимать значительно больше ресурсов, чем в начале?
- готовы ли вы к конфликтам, форкам, драме, оскорблениям, необоснованным требованиям по немедленной доставке фич, немедленному исправлению багов, немедленной реакции на инциденты, потенциальным проблемам с патентами, адвокатами, письмами cease and desist, DMCA-тейкдаунами, GDPR-совместимостью, бану вашей юрисдикции гитхабом, неадекватам всех сортов и мастей, и прочим прелестям взаимодействия с большой группой бездельников в интернете?

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

У Стругацких в "Хищных вещах.." эта тема хорошо раскрыта. Они, конечно, как тогда водится, все описывали для условной западной страны, иначе просто цензура бы зарезала на подлете, но оно понятно что там не про капитализм а скорее про проблему в целом. Пока процентов 5% от человечества рвет жилы на достижении великих целей, оставшиеся люди просто живут жизнью обычных обывателей, и оттого что современная цивилизация сделала жизнь обывателей довольно сносной, они, если говорить прямо, с жиру бесятся. Начинают тратить жизнь на всякую бессмысленную, а то и просто опасную фигню, типа участия в разных мутных движениях за все хорошее, против всего плохого, посвящают себя гедонизму, или самое хреновое - начинают экспериментировать с наркотиками разного рода.

Всех на 100% космосом не займешь, да и сложно как-то объяснить обывателю, почему он должен вместо легкой и сытой жизни, корячиться на "Великих Стройках". В СССР, да и в капстранах, в США, например, в прошлом веке этих строек хватало и людей на них работало много, но и люди те не были избалованы цивилизацией и сытой жизнью. Даже в благополучных США, которые от войн двадцатого века только богаче становились, и то у них была масса людей, готовых работать много и тяжело, практически за еду. Сейчас это уже не взлетит, если только жизнь обывателей резко и сильно не ухудшиться.

У статьи два тэга: Python и Математика. Это прекрасно.

Начнем с питона, перепишем авторское решение, сохранив его идею:

from random import random

def estimate_pi(n):
    s = 0.
    for _ in range(n):
        x, y = random(), random()
        if 1. >= x * x + y * y:
            s += 4.
    return s / n

Хм, в CPython 3.10 это работает в 3.5 раза быстрее. Как же так, дружище? Как же тэг Python?

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

Я умею интегрировать трапециями!

from math import sqrt

def trapezoid_pi(n):
    s = .5  # значения в крайних точках интервала
    # берутся с весом 0.5, а значения эти - 1 и 0
    x = step = 1. / n
    for _ in range(n - 1):
        s += sqrt(1. - x * x)
        x += step
    return s * 4. / n

Я могу интегрировать по Симпсону!

from math import fsum

def simpson_pi(n):
    x, step, res = 0, 1. / n, [.5]
    for _ in range(n):
        x += step
        res.append(sqrt(1. - x * x))
    return (fsum(res[::2]) + fsum(res[1::2]) * 2.) * 8. / (n * 3)

Правда, это даёт выигрыш в точности против трапеции всего 2.5 раза. Всё из-за особенности в точке C - там касательная к окружности идёт отвесно. Так это можно обойти: отдельно посчитаем площадь сегмента AB и четырехугольника OABC.

from math import fsum, sqrt

def simpson45_pi(n):
    x, step, res, s5 = 0., 1. / n, [.0], sqrt(.5)
    for _ in range(n):
        x += step
        res.append(sqrt(1. - x * x * .5) - 1. + (1. - s5) * x)
    AB = (fsum(res[::2]) + fsum(res[1::2]) * 2.) * s5 * 2. / (n * 3)
    OABC = s5  # взял аналитически 
    return (OABC + AB * 2.) * 4.

Да, а как же цифры? Вот они:

Абсолютная погрешность против библиотечного значения π для n = 2 ** 3 == 8
(разбиение интервала на степень двойки дает мне выигрыш в точности)

estimate_pi   0.47564011559266456 # усредненно по большой выборке
trapezoid_pi  0.05177350923261992
simpson_pi    0.02040348381437518
simpson45_pi  0.00003003695260295


Погрешность для n = 2 ** 13, мельчить сильнее вроде незачем

estimate_pi   0.01486375361227077 # усредненно
trapezoid_pi  0.00000158604010281
simpson_pi    0.00000061939277884
simpson45_pi  0.00000000000000000

Ну что тут скажешь? Друзья, не суйте Монте-Карло куда попало.

А можно еще и с NumPy, но уж это как-нибудь в другой раз.

А знаете, почему никто не поднимает geth и пользуется вместо этого сторонними API? Потому что все эти альткоины (они же шиткоины) о децентрализации никогда не заботились и заботиться не будут. Их ноды потребляют неадекватное количество ресурсов, и дальше будет только хуже. 85 терабайт в год — это мелочи! Да и 128 Гб оперативки может позволить себе каждый.

Это делается намеренно, чтобы вытеснить простых людей из этих проектов и отбить у них желание как-то влиять на принимаемые решения. Ведь если система по-настоящему децентрализована, её очень сложно обновлять, потому что это требует явного осознанного согласия большинства участников. Из-за этого биткоин обновляется очень медленно, зато каждое изменение долго обсуждается и шлифуется, что позволяет сохранять децентрализацию и стабильность системы. При этом, сохраняется обратная совместимость, т.е. можно оставить и старый клиент, всё будет работать, но не все входящие транзакции можно будет проверить на 100%. А полная нода биткоина работает нормально даже на RPi 4, блокчейн растёт на ~65 Гб в год. 1 Тб хватит на 15 лет.

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

1) Difficulty bomb, которая отодвигается с каждым апдейтом (останешься на старой версии, и сложность майнинга быстро вырастет до такой степени, что намайнить блок станет невозможно)

2) Если же сделать форк без difficulty bomb, то у отцов-основателей имеется 70% премайна (доступный на всех форках), который они начнут продавать, утаптывая стоимость токенов на форке в ноль и отбивая желание им пользоваться.

А Web3 — это очередная попытка корпораций ещё больше централизовать веб, пользуясь успехом единственного по-настоящему децентрализованного проекта (биткоин), использующего блокчейн. Другого такого не будет, любой очередной *коин создаётся с целью пампа и дампа, либо для предоставления дико оверпрайснутых услуг, которые реализуются на порядки дешевле поверх обычной СУБД.

Никакой «криптоэкосистемы» не существует. Есть биткоин, и есть скам и шлак, измеряемый уже десятками тысяч, и с каждым годом его количество только растёт.

А если государство считает, что эта квартира принадлежит не вам (а, допустим, вашему родственнику в результате дележа наследства / раздела имущества / ликвидации вашего долга)?)

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

Увы, блокчейн не гарантирует право на имущество, какие бы замки вы не ставили.

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

Блокчейн и контракты - это лишь среда для обеспечения гарантий.

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

А тут другая среда, которая заменяет нотариусов на электронную подпись, а 90% клерков выкидывает в процессе.

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

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

Дык никто не спорит, что планирование и проектировка архитектуры нужны и полезны. Просто мне всегда казалось, что те самые "системные архитекторы" занимаются в том числе и этим. Просто как часть их ответственности. Одна из многих задач, особенно актуальная на самой ранней стадии. Ведь с не со структуры таблиц в СУБД же проект рождается. Вначале надо понять что мы хотим сделать. Кому мы это будем продавать. А что они на самом деле хотят? А что на самом деле им нужно? А что мы можем предложить такого, чтобы было лучше чем у конкурентов. А есть ли у нас на эти силы? Сколько потребуется людей и мощностей? Каков бюджет? Сколько планируем на этом заработать. Если всё ок — преходим к более конкретному планированию. Какие конкретные роли есть в системе. Каковы их потребности. Как мы будем их удовлетворять. Постепенно паззл складывается, рисуются всякие моки при необходимости, строются диаграммы, споры спорятся. Можно проводить опросы среди потенциальных потребителей. Заказать исследование рынка. По итогу появляется уже более детальное понимание будущего продукта и можно приступать к его имплементации. Уже другой уровень построения архитектуры. Более технический.


Вот исходя их статьи выше получается что почти всю вышеописанную работу выполняют solution архитекторы. На моём опыте этим занимаются все. В особенности СТО и "системные" архитекторы (a.k.a. "архитекторы"). Но привлекают всех чьё мнение имеет вес и опыт в этой сфере релевантен.


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


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

Привет, мы весной делали видеомитап с незрячим с рождения разработчиком, вот можно посмотреть, как человек работает с ide, там же про команду
и процессы много (он в итоге устроился в продуктовую компанию и переезал в Германию) https://youtu.be/bwD6dlVrd-w

Мне тоже кажется, что 10000 — это художественное преувеличение ツ Вообще, если без экстрима, этих двух настроек должно быть достаточно:


pragma journal_mode = WAL;
pragma synchronous = normal;
Если ваша почта находится в самом домене

Просто не надо так делать. Письма от регистратора — всегда за пределы домена. А письма от хостера — за пределы И домена И хостинга. А ещё хостер и регистратор должны быть независимы друг от друга.

Для начала стоит определиться с тем, что используется:
1) nginx — это внешний сервер.
2) fpm — это супервизор для php с fcgi гейтом.
3) systemd — это ещё один супервизор (и крон в т.ч.) под всё остальное.


Два из этих сервиса (fpm + systemd) — это супервизоры, а значит должны быть непосредственно прибиты к контейнеру, в котором они там что-то менеджерят. Ну или делать это снаружи (например systemd может мониторить докер контейнер), так?


Получается, что у нас только один контейнер с fpm, который открывает наружу порт к которому nginx уже коннектится через fcgi.


А если подобная ситуация не нравится по какой-либо причине, то они выкидываются, а nginx разворачивается как реверс прокси и/или балансер напрямую на пыховский сервер (благо их туча: amp, react, swoole, PEAR, etc).


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


P.S. А ещё вместо fpm можно взять roadrunner, он выполняет примерно ту же роль процесс менеджера, что и сабж. И вместо контейнера с fpm надо будет стартовать уже rr. Остальные телодвижения примерно те же самые.

Я вчера обнаружил, что ПФР начал в справку о трудовой деятельности включать отдельным разделом информацию о местах работы до 2020 года. То есть бумажная трудовая больше не нужна (за исключением совсем уж редких случаев типа подтверждения льгот, и то не факт).
Пилить микросервисную архитектуру на 1С никто не мешает

Это уже совсем сову на глобус. Мешает почти всё. Я прям аж завис от того с чего начать.


  1. Невозможность (ну или очень высокая сложность) интеграции с классическими инструментами MSA. Ввод-вывод в stdio — его нет, получение переменных окружения — нет (тут мы сразу прощаемся с Vault), поднятие неСУБД компонент как подов, сложность интеграции с kafka, низкая производительность HTTP, аутентификация/авторизация между микросервисами не такая лёгкая.
  2. "Неотчуждаемость" многих компонентов платформы. Вся 1С построена фактически вокруг пользовательских сеансов, начиная от лицензирования. Попробуйте сделать 3 конфигурации, так чтобы 2 из них были "микросервисами", а одна "фронтом" — у вас "фронт" либо начнёт бизнес-логику "МС" затягивать, либо вы упоретесь в интеграции.
  3. Модульность решений на уровне кода на встроенном языке почти никакая.
  4. Оверхед по производительности относительно монолита есть и в Java/.Net, что уж там, но в 1С это будет просто блокер проекта.
  5. РСУБД-центричность. Микросервис нередко вообще не требует РСУБД (файлы, кешики, простые key-value, плюс 1-5 табличек в постгре). Это быстро станет техническим ограничением.

Формально нельзя сказать, что совсем невозможно сделать MSA на 1C, но, право, найти более неподходящий инструмент непросто.

Синьёрность измеряется не только и не столько в сложных алгоритмах. У больших компаний есть неплохое описание уровней, например в Microsoft. Очень примерно это звучит так: уровень работника зависит от сферы его влияния. Джуниор/миддл работает в рамках своей задачи, части небольшого проекта. Синьор работает в рамках целого проекта, он принимает решения в соответствии с целями проекта и пытается двигать его вперёд, а также свою комнаду. Более высокие уровни оказывают влияние на соседние проекты и целые направления бизнеса. И это не значит, что они становятся менеджерами и отдают указания. Можно написать очень крутой алгоритм сжатия данных и использовать его в своей задачке или проекте и всё — это не синьор поведение, хотя алгоритм может быть супер сложным и идеальным кодом. А вот суметь объяснить соседним командам, а может и всему миру, что твой алгоритм лучше, продвинуть его и изменить подходы к сжатию данных — это синьор поведение.
Это невозможно прочитать в книжке, к этому приходят только с практическим опытом. Нужно работать на проектах, создавать новые вещи, общаться. Конечно же гениальный человек может это сделать быстрее, чем за 10 лет. Но есть также огромное количество людей, которые не делают ничего такого и за всю жизнь, потому что нужно оторвать зад с дивана и начать делать больше, чем от тебя требуется в задачке из таск трекера, больше чем от тебя требует твой босс зануда. А чтобы знать, что именно делать, нужно интересоваться, тем что происходит в мире, тем чем занята твоя компания, зачем она это делает и так далее
UFO landed and left these words here
Важно чтобы человеку было интересно идти на работу. Не потому, что за нее платят. Платить должны и хорошо, но важнее именно «интересно идти на работу». «Понедельник начинается в субботу» если вы понимаете о чем я. (+хорошие деньги).

А чтобы это произошло надо хорошо узнать друг друга. И это важно и работнику и работодателю. Причем в одинаковой степени. Это не иллюзии идеалиста, а фактический опыт. Если людям нравится то что они делают (и как) — результаты бывают поразительные. У меня опыт и команд о которых я пишу и… других.

Работник, которому важнее получить копейку за любой вздох чем найти то где ему будет интересно работать — будет так себе работник. Если на первом месте деньги — человека можно брать только на легкозаменяемые места. «Принеси-подай-патроны». И он свалит сразу как соседи дадут + 10% и бесплатный пончик ДВА раза в день.

Причем при всем при этом я однозначно на 146% за то, что любой труд должен адекватно оплачиваться.

В данном случае надо учитывать, что работодатель тоже тратит ресурсы и немалые. Меня коробит вот это «я выучил, прости господи, джаву, опыт 6 месяцев, где я тут у вас буду спать после обеденного халявного обеда. И да, я ничего не умею вообще, но я — огого». Или другой вариант — «Я афигенный арихитектар бальших систем. solid, ddd? не, не слышал». А таких много-много…

Ни один из серьезных разработчиков что ко мне приходили даже не заикались «где мои 100 евро за день что я тут к вам пришел искать работу». Зато молодежи, которые «знают ML потому что делали лабу в универе, не помню на чем» — только за прошлую неделю человек 25 прошло… (Ищу человека в R&D в своей стране) Половина из них хочет странного.
Выскажу просто свое, во многом философское, мнение, как человек, который в 2007 году в возрасте 27 лет поехал в Лондон и с тех пор успел там обзавестись женой, машиной, домом и британским паспортом. От четверти до трети года провожу в Москве, так что могу вполне объективно оценивать и плюсы, и минусы обоих городов. И, будете смеяться, действительно рассматриваю в какой-то перспективе возможность если не возвращения, то смещения центра жизненных интересов в сторону России.

В Лондоне действительно жизнь недешевая, но в конечном счете многое зависит от стиля жизни и потребностей, многие из которых просто надуманные. К примеру, не вижу ничего плохого в еде из ALDI: покупал там в 2007 году и покупаю сейчас. Не потому что не могу дороже, а потому что мне не нужно. Страховки на авто тоже дело наживное: цена на них падает камнем каждый год безаварийной езды. Да, начать нужно с около 1000£, но лет за 5 она снизится до 200£, если машина будет скромная. В общем все это на самом деле пустяки в масштабе жизни.

Вот что действительно дорого и будет отъедать огромную часть дохода: это жилье. Хорошее жилье очень дорого, а то, что недорогое — паршивое (даже по московским меркам). Поэтому в долгосрочной перспективе снимать хорошее жилье в Лондоне — это, на мой взгляд, путь в никуда. Рано или поздно доходы начнут снижаться (к той же пенсии), а аренда скорее расти. В общем грустно. Только покупать. А это вопрос не столько финансовый (влезть в ипотеку сейчас под 1.5% годовых много ума не требуется), сколько идеологический, так как это надолго и нужно быть уверенным в своих силах и возможностях (плюс иммиграционный вопрос закрыть как-то).

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

Если не ради денег, то ради чего тогда?

Тем, кому просто не нравится Россия, которую они обзывают всякими гадостями, объяснять не нужно: для них всегда трава зеленее в любой из 250 стран мира. А вот для тех, у кого этот вопрос не лежит в политической, экономической или идеологической плоскости, отвечу так: это достаточно уникальный опыт, который заставляет мобилизовать все свои возможности и навыки и выйти из стандартной схемы, по которой живет большинство людей. И будут возникать жизненные ситуации, решение которых ни в одной книжке не найдешь и не у кого спросить совета. Меня это вдохновляет, мне приятно, что было достигнуто что-то не совсем ординарное, мне приятно, что есть что рассказать, сидя за пивом в компании людей, и я точно знаю, что ничего подобного они в своей жизни не переживали и никогда не переживут. Впрочем, среди английских коллег я тоже могу рассказать много из своей российской жизни, о чем они слушают, раскрыв рот :)

Если все же ехать, то почему именно Англия/Лондон?

Здесь скорее вопрос вкуса. Штаты, Канада, Австралия и прочая Океания — это для меня просто слишком далеко от России, в которую я часто и с удовольствием езжу (как по личным делам, так и по рабочим), где у меня была, есть и будет существенная часть жизни. Если брать континентальную Европу, то, на мой взгляд, конкуренцию может составить только Германия/Австрия/Нидерланды. Все три страны мне симпатичны, бывал много раз, но во-первых, европейской столицей финтеха (где я и работаю) является все же Лондон, во-вторых дополнительное препятствие в виде нового языка, который надо учить.

Зачем возвращаться?

Я не говорю про возвращение, как распродажу всего там и окончательный переезд назад. Так же как не говорю про отъезд «туда», как распродажу всего в России. Территориально можно быть больше «там», чем «здесь», можно наоборот. Если не быть записным хейтером России, неужели нет никаких эмоций по поводу страны, где было проведено детство, юность и, возможно, часть молодости? Сомневаюсь, что у всех тут была такая тяжелая, угнетающая жизнь, чем можно было бы оправдать такой подход. Каждому свое, но мысль о том, что я откуда-то уезжаю и покидаю свой дом навсегда, вводит меня в депрессию.

Доклад закончил, можно начинать минусовать :)

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


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


Я 13 лет отработал отработал администратором баз данных. Дай мне сейчас задачу написать хитровывернутый запрос — с кончиков пальцев он у меня не слетит. Я его напишу, и он будет заоптимизирован по самые не балуйся, но это будет результатом вдумчивого анализа и чтения документации(да, я знаю, где и что искать), а не "галопам по европам" — авось прокатит. И я вас уверяю, что для работодателя я останусь на порядок более ценным сотрудником, чем вчерашний студент, который предложит то же решение но на 5 минут раньше, потому, что он вчера как раз такие задачки решал.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity