Задать вопрос
  • Объясните что такое полиморфизм простыми словами ?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Да ладно, парни. Ну хватит уже, к чему такие сложности? Берём и читаем. Вообще совсем не обязательно читать про архитектуру и абстракции именно по своему языку, хотя javascript в этом плане родился уродом.

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

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

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

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

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

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

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

    Таким образом, абстракция невозможна без инкапсуляции и наследовании, как невозможен полиморфизм без, собственно, наследования. Ну а полиморфизм невозможен ещё и без инкапсуляции, которая банально бесполезна без наследования и полиморфизма. Вот такие тут треугольники с пирогами. Жаль только про пирог наврали. И про день рожденье.
    Ответ написан
    3 комментария
  • Почему не работают 3 монитора одновременно?

    Столкнулся с такой же проблемой дома. Решением стало подключение 3го монитора через встроенную видеокарту, работает и объединяется с остальными без проблем.
    Как я понял, проблема к том, что несмотря на 3 физических выхода, в самой видеокарте поддерживается 2 независимых канала, один из которых представляет лишь вилку на 2 типа выходов.
    Ответ написан
    Комментировать
  • Можно ли выкупить красивый IP в личное пользование и использовать его вместо домена?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Продам 192.168.1.0. Недорого. К лотку приучен. Жрёт мало.
    Ответ написан
    Комментировать
  • Можно ли выкупить красивый IP в личное пользование и использовать его вместо домена?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    Можно, но к нему в нагрузку придется купить еще 254 штуки, свою AS, зарегистрироваться в RIPE, принять это все счастье на BGP, раздать на свой сервер, оплачивать каждый год использование и прочие прелести, да и цена, менее чем со свободными 20 000$ можете даже и не начинать это мероприятие, а так покупайте, кто же не дает.
    Ответ написан
    Комментировать
  • Можно ли выкупить красивый IP в личное пользование и использовать его вместо домена?

    edinorog
    @edinorog
    Троллей не кормить!
    можно. легче стало?) а теперь забудь о этой идее. ибо у тебя столько денег нет.
    Ответ написан
    Комментировать
  • Какие книги стоит почитать, чтобы понять, что такое маршрутизатор, коммутатор, точка доступа, как устроены компьютерные сети?

    Сети для самых маленьких - все статьи с красочными иллюстрациями, написано очень грамотно и легко читается. Лучше материала по сетям нет ни в одной книге!
    часть 0 Планирование linkmeup.ru/blog/11.html
    часть 1 Подключение к оборудованию cisco linkmeup.ru/blog/12.html
    часть 2 Коммутация linkmeup.ru/blog/13.html
    часть 3 Статическая маршрутизация linkmeup.ru/blog/14.html
    часть 4 STP linkmeup.ru/blog/15.html
    часть 5 NAT и ACLlinkmeup.ru/blog/16.html
    часть 6 Динамическая маршрутизация linkmeup.ru/blog/33.html
    часть 7 VPN linkmeup.ru/blog/50.html
    часть 8 BGP и IP SLA linkmeup.ru/blog/65.html
    Ответ написан
    Комментировать
  • Почему при подключении YOTA к маршрутизатору не работают некоторые сайты?

    @throughtheether
    human after all
    В чем может быть дело
    Предполагаю, дело в неправильном значении MTU (точнее, MSS в TCP-сегментах). Оно может порождаться излишними настройками фаерволла (отбрасывает ICMP-пакеты "Fragmentation needed", из-за чего не работает определение минимального MTU на маршруте следования пакета, "Path MTU discovery"). Вот дающая представление статья.
    и куда стоит копать
    Разрешить в настройках фаерволла маршрутизатора прохождение пакетов ICMP "Fragmentation needed" (Type 3, Code 4). Если в настройках WAN-порта/модема есть опция "clamp MSS" - активировать ее. Если есть опция "set MSS" - установить (временно) значение около 1000. Пронаблюдать ситуацию.
    Можно, если есть желание, задействовать wireshark. Для этого снять дамп трафика (в формате .pcap) при открытии проблемного сайта через браузер (только пароли свои не надо вводить) при подключении через маршрутизатор и при подключении напрямую. Выложить сюда.

    Другой вариант - колхозное "решение безопасности" на маршрутизаторе - IDS, IPS, UTM и прочая. Вполне может быть, что устройство пытается искать сигнатуры в HTTP-трафике (хотя google, насколько мне известно, использует HTTPS даже на странице поиска), нагружая процессор. При использовании VPN такого трафика устройство не видит, ресурсы использует более рационально. Стоит проверить настройки безопасности.

    Есть и другие варианты, но пока разумнее проверить актуальность вышеизложенных.
    Ответ написан
    2 комментария
  • Какие преимущества у xfs?

    opium
    @opium
    Просто люблю качественно работать
    Основное преимущество это то что она появилась раньше екста4, поддерживает из коробки хранилища больше 16 терабайт , на порядок быстрее работает с удалением файлов.
    Ходят слухи что плохо работает с большим количеством мелких файлов. но сказать честно на картинках у меня прекрасно с ними работала, ни чуть не хуже чем екст4.
    Ещё у неё нет некоторых проблем с айнодами и количеством файлов в папке как у екстов.
    В целом приятная файлуха для продакшена.
    Ответ написан
    3 комментария
  • Как и на чем реализовать администрирование n машин через интернет?

    @larrabee
    Вам нужно установить openvpn на шлюзе и правильно настроить маршрутизацию, тогда не будет кучи впн клиентов, впн будет всегда запущен. Далее всем клиентам добавить статик dhcp лизы. Вы будете знать их ip и в любой момент сможете подключиться.
    Ответ написан
    Комментировать
  • Какую выбрать отказоустойчивую распределенную сетевую файловую систему (linux,need advice)?

    sm1ly
    @sm1ly Автор вопроса
    beardman
    если кому любоптыно, то изначально я все же решил остановиться на glusterfs, сейчас тестирую nfs от netapp с резервированием на уровне netapp
    Ответ написан
    Комментировать
  • Стоит ли использовать малоизвестные технологии при разработке, чтобы "привязать" к себе заказчика?

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

    Помимо этого есть вопрос репутации. Довольный клиент рассказывает 1-2 людям. Недовольным - 10рым.
    Это относится к вообще любым серым приемам. Можно и исходный код зашифровать, что уж стесняться.
    Ответ написан
    Комментировать
  • Как заставить ходить траффик по впн узлам?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    Из простого можно теоретически попробовать разрулить статической маршрутизацией, но тогда все 3 сервера по VPN должны выдавать клиенту IP из разных подсетей и между серверами для всех этих клиентских сетей должен быть отключен нат. То-есть как-то так:
    Юзер попадает на сервер 3, получает IP из диапазона 192.168.3.0/24, на сервере стоит статическая запись заворачивать всю эту сетку не в шлюз по умолчанию, а в ВПН1, там для этой же сети также стоит роутинг не в дефолт, а в ВПН2 и только в впн2 для этой сети нет отдельного роутинга и уже есть нат, для других вариантов по аналогии.
    Ответ написан
    5 комментариев
  • Как настроить ЛВС с двумя роутерами?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    Переведите роутер 2 в режим точки доступа - все сразу решится, зачем городить маршрутизацию там, где она не нужна.
    Ответ написан
    Комментировать
  • Как запретить Ping-пакеты от LAN-порта на mikrotik?

    @quad1k
    Вряд ли в этом причина. Зачем mikrotik посылает пинг? Мало вероятно. Но в любом случае попробуйте
    Полная блокировка от роутера в сторону вашего wd если его ip 192.168.0.2

    /ip firewall filter
    add action=drop chain=output dst-address=192.168.0.2

    или только пинг
    /ip firewall filter
    add action=drop chain=output dst-address=192.168.0.2 protocol=icmp
    Ответ написан
    1 комментарий
  • Как сделать на Mikrotik tagged/untagged vlan на порту?

    @sk011 Автор вопроса
    вообщем все намного проще
    логика моих действий правильная, но прошивка стояла из 5 ветки, обновился до RouterOS 6.15
    и все заработало.
    для примера, на 1 порт приходит 2 tag влана 10 и 20, на второй порт 10 tag 20 untag
    создаем вланы V10, V20 на ether1, V10-TAG-E2 на ether2, объединяем их в бриджи
    BR10 <--- V10 + V10-TAG-E2 - vlan10 tag
    BR20 <--- V20 + ether2 - vlan20 native
    Ответ написан
    Комментировать
  • Какие коммутаторы и маршрутизаторы Cisco мне подходят?

    Вам и микротиков с головой хватит.
    Ответ написан
    Комментировать
  • Что выбрать, если не возможности выбрать IPSEC?

    Archangel
    @Archangel
    Железок с IP Base/UC у меня нет, но если верить фиченавигатору, то единственный вариант - L2TP туннель без шифрования (и то, не уверен, что ASA со своей стороны даст так настроить), т.к. ASA GRE не поддерживает.

    Что касается триала лицензии - то канало это, на сколько я помню, только на 15.1, да и то не на всех.
    Ответ написан
    5 комментариев
  • Можно ли поставить пароль на внешний HDD?

    zmeyjr
    @zmeyjr
    Дисклеймер в профиле.
    TrueCrypt https://truecrypt.ch/ как бы закрылся, как бы "большой брат" добрался до создателей, но вроде проверили код-чисто, по ссылке народ перехватил инициативу по разработке, так что все должно быть хорошо. Подробнее на хабре посмотрите, много статей было.
    Я пользовался и собираюсь дальше пользоваться.
    Ответ написан
    1 комментарий
  • Каков план личностного развития 1С программиста с нуля?

    ifaustrue
    @ifaustrue
    Пишу интересное в теллеграмм канале @cooladmin
    План такой:
    Начать изучать .Net
    Начать изучать WEB
    Начать изучать NoSQL
    Не изучать 1С

    Потом мне спасибо ещё скажете =)
    Ответ написан
    17 комментариев