• Решить задачу: Найти подмножество сумма которого в общей сложности равна 100 000 000

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    4. Сделать самостоятельно
    Ответ написан
    Комментировать
  • Вы в браузере набрали адрес сайта, нажали Enter. Расскажите максимально подробно о технических процессах происходящих далее?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Действительно, уважаемый. Это слишком. Вряд ли я затрону все тонкости, но попробую наметить примерный путь:

    0) Пользователь вбивает в адресную строку браузера адрес сайта (нажимая клавиши на клавиатуре, которые замыкают определённую дорожку в матрице, по которой происходит определение нажатой клавиши, что через шину USB в какой-то момент передастся OS, где это поймает HID-драйвер и вызовет определённое прерывание, что OS передаст как событие/или_ещё_как в программу, которая вызовет соотвествующую функцию из API менеджера окон, которая изменит содержимое строки и в результате когда-то будет перерисован UI-элемент, а если нажат был Enter, то начнётся следующее).
    1) Браузер вытащит из input'а строку с запросом и посмотрит, похоже ли это на адрес. Если да, то добавит недостающие уточнения (например, http или file протокол, порт и подобные довольно стандартные вещи). Если нет - то скорее всего создаст запрос в поисковую систему, установленную по умолчанию (я более не буду опускаться до таких бессмысленных деталей, как вызовы API-функций, иначе я буду набирать это сообщение ОЧЕНЬ долго). В любом случае на выходе мы по сути получим URL, который надо загрузить. Протокол file:// мы рассматривать не будем, ftp далеко не везде есть, https:// на не хватит вечности, так что остановимся на http, который по сути есть tcp/ip по умолчанию на 80 порту с определённым форматом общения.
    2) Окей, url есть. Теперь нам нужен адрес, к которому обращаться. Так как http это tcp/ip - нам нужен ip адрес. Здесь нам помогают dns-сервера. Обычно, нормальный провайдер устанавливает у себя кэш-сервера dns, которые не обращаются по стопицот раз за vk.com к ответственному серверу com-зоны. Давайте не будем отвлекаться на то, как происходит там общение, если что - вот (вики тем хороша, что часто содержит внизу релевантные ссылки). Скажу лишь то, что на выходе мы получаем ip адрес(а).
    3) Имея адрес мы можем запросить страницу. Собственно, всё что после первого слэша - это как-бы параметры для http-сервера: какую именно страницу запрашивать, он всё же не телепат. Конечно, можно было бы немного схитрить и отправить читать про tcp/ip, но ведь существует и shared-hosting. Ограничемся лишь его упоминанием. Собственно, по полученному адресу отправляется GET запрос, который и обрабатывает сервер, находящийся по полученному IP-адресу.
    4) Сервер же, получив адрес, начинает распарсивать строку, медленно вытягивая нужные данные из баз-данных и настроек, выполняются сотни скриптов, иногда делается ещё не одна сотня различных запросов на другие сервера (здесь и разного вида метрики и разного вида HADOOP и т.д.). Пройдя сквозь скрипты и темплейторы в самом конце мы получаем html-страницу, готовую к употреблению. Её-то сервер и отправит в ответе (после заголовков, конечно).
    5) Вот и началось самое интересное. Получив html страницу браузер начинает жутко надругаться над CPU, HDD и GPU, попутно сжирая тонны RAM и мусоря в swap. Виной всему нереальные для полного соблюдения стандарты от небезызвестной w3c.org. Для облегчения многие делают костыли, вроде webkit, а некоторые и вовсе забивают на него и пилят свой стандарт с преферансом и картёжницами (впрочем, в последнее время становиться лучше). Здесь снова начинаются сотни вызовов API ОС, windows manager'а и прочих библиотек, вроде boost, qt или libpng. В ходе работы в RAM строится макет, по которому потом строится нечто вроде PDF (тоже сильно векторный), что, потом, обрабатываясь быстрыми шейдерами на GPU, выдаётся на экран. Опять же, многое пропущено, но вряд ли кому-либо, кроме парня в свитере с оленями, действительно интересно, как работает GDI, DirectX или OpenGL.
    6) Ах да, мы же забыли про тысячи js-скриптов, миллионы картинок и анимации с котиками, а также о таких дополнительных плюшках, как flash-player или java-weblets. В кратце, что js, то и flash и java - это виртуалка, со специальной архитектурой. Они, виртуалки, конечно разные (хотя flash и js довольно похожи, ещё бы - ECMAScript один и тот же). JS - самый интегрированный внутрь браузера, он же и самый медленный чисто визуально (ибо последние два имеют доступ к быстрому GPU), хотя самый быстрый в попугаях. Второй постепенно вымирает и представляет из себя, так же как и третий специальную shared-библиотеку, о которой браузер как-нибудь узнал и которой скармливает специальное содержимое помечанное специальным тегом html. Третий уже почти умер и встречается лишь изредка или в каком-нибудь энтерпрайзед со страшным legacy-базой. Ну здесь из сылок разве только гугл. Ибо сколько всего - даже не сообразишь. Да и вообще, эта тема ещё скучнее GDI, DirectX и OpenGL и к свитеру с оленями требуются ещё очки с толстенными стёклами, дающие стопицот к терпению и задроству над матаном. Если в кратце, то в случае JS, всё что было загружено в память и не думает выгружаться и формирует этакое дерево - DOM, над которым с помощью специального API и происходят модификации. При этом, перед тем как исполниться, весь JS-код компилируется, в нативный для VM байт-код. То же самое в общем-то и со вторым и третьим, разве только они не имеют доступа к DOM и организовать его - дело тех ещё костылей. Ах да, забыл ещё про Silverlight (или как оно там пишется), который сдох, не успев родиться. Так же как и Java, жив в серьёзном энтерпрайзе, не поскупившийся не "дешёвую" поддержку MS.
    7) Ну... А дальше пользователь нажимает на нужную гиперссылку и всё по новой.

    За кадром остались такие костыли, как ajax, websockets и прочая асинхронная ересь. С ней всё в миллионы раз сложнее. И к очкам со свитером потребуется ещё и... а чёрт их знает, что они там ещё носят. Ну да ладно, я искренне завидую тем парням (и девушкам), которые разбираются во всей этой машине. Целиком. Ибо это лишь верхушка айсберга. Разбавленная не лучшей памятью и ужасным гуглом.

    P.S. Не бейте сильно за грамматические и синтаксические ошибки. Спеллчекер приказал долго жить, да и 5 утра как никак.

    UPDATE
    На хабр выложили неплохой перевод дающий некоторое представление, как браузер ругается над памятью и процессором. Хотя и весьма поверхностное,
    Ответ написан
    26 комментариев
  • Как реализовать удаленный вход в GUI на Xubuntu?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Ключевые слова: vnc, nx. По локальной сети, если на локальной машине запущен xserver, можно запускать графические приложения прямо из ssh -X
    Ответ написан
    Комментировать
  • Что за странные приборы установлены на домах в Москве?

    @nuskas
    Golden (Beeline) WiFi передатчики.
    Внутри точки доступа Nortel Wireless Access Point 7220 или 7215.
    Nortel Wireless AP 7220 с фирменным кронштейном:
    ef200995680041549df06e5a3f2aeee9.jpg
    В Golden их называют: "шишка Брагина" в честь руководителя департамента услуг РОЛ (который тоже принадлежит ГТ) Дмитрия Брагина, курирующего в ГТ WiFi. Жители их назавают фонарями, грушами и ульями.
    Есть информация, что суммарная мощность этой шишки равна 1800мВт. Для сравнения, мощность домашней точки доступа не превышает 100мВт. А излучение данного оборудования в 18(!!!) раз больше максимально допустимого излучения для точек доступа, ввозимых в Россию.
    Ответ написан
    Комментировать
  • Какой есть хороший учебник по C++?

    @stpol
    Р. Лафоре "ООП C++"
    Ответ написан
    Комментировать
  • Что лучше - FTP или HTTP?

    svd71
    @svd71
    для закачки файлов, особенно в массом порядке а также ими управление лучше подходит ftp. Протокол специально для этого и создан.

    Для скачивания файлов лучше подходит протокол http. Если предполагается предоставлять доступ на скачивание всем, то безопасней для хостера именно http. В протоколе не предусмотрено управление и изменение файлов., что намного безопаснее ftp.

    Хоть оба протокола открыты, а требуется передавать секретные данные (не для всех), то можно воспользоваться их шифрованными аналогами sftp и https.
    Ответ написан
    5 комментариев
  • Что лучше - FTP или HTTP?

    Из серии "Что лучше: цветной холодильник или стиралка с wi-fi"
    Ответ написан
    2 комментария
  • Какие есть хорошие источники знаний тематики IT?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    лучшие источники знаний - работа над конкретной задачей, поисковик и пытливый ум. Как у Вас голова не лопается от такого количества ресурсов?
    Ответ написан
    3 комментария
  • Как написать алгоритм спирали?

    icelaba
    @icelaba
    Знаю и умею всё
    Заходите сюда
    ru.wikipedia.org/wiki/%D0%90%D1%80%D1%85%D0%B8%D0%...

    Если спираль устраивает
    записываете r = k*phi
    x = r*cos(phi)
    y = r*sin(phi)

    предположим точек N
    for(i=0;i!=N;++i){
    phi =i*some_const;
    r = k*i;
    x = r*cos(phi)
    y = r*sin(phi)
    draw(x,y, "что вы тут хотите рисовать")
    }
    константы
    k some_const подбираете сами
    Ответ написан
    Комментировать
  • Какой выбрать дистрибутив после Arch Linux?

    @kaasius
    Дебиан консервативен и потому весьма стабилен, в смысле, так, как в арче "обновил и что-то отломилось" не получится с очень высокой вероятностью.
    Ответ написан
    Комментировать
  • Может ли упасть uwsgi?

    stavinsky
    @stavinsky
    Если использовать мастер процесс, то он будет контролировать и перегружать дочерние процессы. Есть так же всяческие режимы ограничивающие время выполнения скрипта или изпользуемую оперативную память.
    Про преимущества сказать ничего не могу, хотя я везде использую именно uwsgi
    Ответ написан
    Комментировать
  • Как настроить коммутатор d‑link des‑3200‑10, если нет доступа к web-интерфейсу?

    rsgMitnik
    @rsgMitnik
    Так собственно, как Вы хотите попасть на 10.90.90.90 если находитесь в 192.168.137.0? Настройте интерфейс на адрес 10.90.90.x и подключайтесь напрямую к устройству... А лучше всего через консоль.
    Ответ написан
    Комментировать
  • Интернет-бизнес в белую - много ли вас?

    makol
    @makol
    Не оформляем, и тоже спим не хуже тех кто оформляет
    Ответ написан
    Комментировать
  • Использование символа # в django urls.py?

    то что после решетки и саму решетку не джанга отбрасывает а браузер
    Ответ написан
    Комментировать
  • Как организовать автоматичесукое переключение wi-fi на 3g usb modem?

    @kodi
    вопроса то нет, есть только ТЗ. это заказ работы?)
    Ответ написан
    Комментировать
  • Что почитать начинающему системному администратору?

    edinorog
    @edinorog
    Троллей не кормить!
    Честный ответ хошь? Не надо нефига по началу читать. Теория без практики труп. Заведи себе пару сервисов с режимом работы нонстоп. Потому же начнешь читать то что будет необходимо.

    Хабр читать однозначно каждый день! Не разделять книги на никсы или винду. Подходы в системном администрировании везде одни и те же. Регулярно посещать форумы по маршрутизаторам и виртуалкам которые ты выбрал. На данный момент усиливает свои позиции powershell. Проблема в том что он мертв без доменной сети. Прописаться http://www.microsoftvirtualacademy.com тут однозначно. Записаться на курсы http://skillfactory.ru/ или http://www.specialist.ru/ =)
    Ответ написан
    1 комментарий