Да, это было бы интересно. Только не совсем понятно, откуда там будут данные, например, по размещаемой на сайтах рекламе, партнерских программах и т.п.?
По затратам можно очень грубо, но сейчас не самый отстойный сервак вместе с трафиком стоит порядка $150/мес, а 10 лет назад все это было значительно дороже. В статье говорилось про полсотни серверов. Затраты на администрировани можно не считать, сославшись на то, что парни грамотные и сами все админили.
Потом зайдите сейчас на любой бесчисленных торренттракеров и посчитайте сколько там различного вида банеров и партнерок. Опять же по грубым прикидкам можно сказать, что очень вряд ли там получается меньше $100/день с одного сайта.
Финансистами я назвал таких людей, которые однажды приходят и говорят — «Вы классные парни! У вас востребованный контент. Хотите регулярно получать бабло и при этом нигде не светиться? — Давайте партнериться. Коммерческую маету берем на себя.»
Точных цен американского хостинга на тот период не помню, но содержание пары стоек с учетом трафика должно было обходиться в десятки тысяч $$ ежемесячно.
В то, что какая-то сборная группа людей за просто так стабильно финансировала сотни тысяч долларов в год на подсудное дело как-то слабо верится. И мой личный опыт общения с представителями высосокооплачиваемого американского ИТ это подтверждает.
На мой взгляд довольно интересная часть по монетизации варезных толкучек просто опускается из роментических статей про «робингудов».
Я полне допускаю, что отдельные «романтики» качали варез туда-сюда исключительно из спортивного интереса, но совсем не похоже, что это могло происходить без активной поддержки «финансистов».
В подобных статьях всегда почему-то скромно умалчивается, на какие средства товарищ долго время содержал десятки выделенных серверов. На свои собственные деньги, на добровольные пожертвования или еще на какие?
Биты команды раскладывались в группы по три — для обозначения регистров и типа адресации. Оттуда и 8-ричная система. В ней довольно легко писать прямо в кодах, даже без применения ассемблера.
Как реквест встает в очередь можно посмотреть в методе addRequest() и в каком случае не встает, а открывает новое соединение, там же. Как сокет реюзается из пула видно в его on('free'). Почему у них так сделан keep-alive написано в цитате, которую я приводил выше.
В строке 50 написано почему не обязательно делать своего агента, а в место него так же в точности работает дефолтный глобальный. У него тоже есть maxSockets, если уж очень хочется потюнить.
Извините, но мне уже надоело выступать тут комментатором чужого когда. Посмотрите его, пожалуйста, сами.
Чем глобалАгент не подошел, который подставляется сам собой по умолчанию? Он такой же в точности, только максСокетс по умолчанию стоит = 5. Я приводил выше цитату почему так сделано.
Вот так всегда на Хабре — если не потроллишь, то дискуссии не получится :)
Ничего не имею против пхпшников, но они ведутся обычно лучше.
Я написал «флаг», потому что на уровне приложения это так и есть — просто такая опция yes/no.
А по поводу keep-alive вот цитата:
The current HTTP Agent also defaults client requests to using Connection:keep-alive. If no pending HTTP requests are waiting on a socket to become free the socket is closed. This means that node's pool has the benefit of keep-alive when under load but still does not require developers to manually close the HTTP clients using keep-alive.
В nodejs флаг Keep-Alive чуть ли не по умолчанию установлен на http запросах, в Рубях та же история, Java программисты тоже про такой флаг знают. А вот у пхпшников, как обычно, впереди много замечательных открытий! :)
Выше я писал впечатления конечного пользователя. Платежных систем может быть сколько угодно, но надо учитывать, что каждый дополнительный клик уменьшает количество посетителей раза в два. А горячее желание подарить денег остывает пропорционально. Возможно, там и есть возможность сделать донейшен без регистрации, но она не очевидна. По крайней мере так было тогда, когда я пытался это сделать.
Извините, но в статье чувствуется какая-то однобокость и непонимание сути проблемы.
Нет однозначного ответа на вопрос «как вы загружаете скрипты?».
Загружаемая браузером асинхронно в общем случае из нескольких источников html страница представляет собой довольно сложный объект, и при для его нормальной работы используется масса разных способов.
То, без чего сложно обойтись, и что хорошо кэшируется ставится в head, а дельше уже начинается полет фантазии в зависимости от решаемой задачи. Тут делают и аснихронную загрузку с рестартом обломавшихся модулей, и используют localStorage, и ранее популярный трюк с setTimeout( my_lodaer, 1).
В общем, здесь можно много о чем поговорить, но не в духе «куда вы ставите тэги script — в начало или в конец».
nodejs интересен своей компактностью и одновременно наличием всего необходимого, причем, без излишеств.
rails, само собой, подход достойный внимания, только не надо перенимать оттуда привычку патчить core компонеты по поводу и без повода :)
python хорош своей простотой и «чистотой» по сравнению с рубями, здесь полезно освоить Django (сайтики строгать) или Tornado, если хочется нетрадиционностей.
Отдельно рекомендую обратить внимание на Clojure — и даже не на сам язык (он неопытных, как правило, не вставляет поначалу), а на те видео, где Рич рассказывает про правильный подход к программированию.
Настоятельно рекомендую поизучать другие языки программирования — откроете для себя много интересного и избавитесь от некоторых заблуждений.
Это ни в коем разе не совет «избавиться от этого гнусного пхп», а скорее для того, чтобы расширить собственный кругозор. Качество и красота кода зависят от него в первую очередь, а от выбранного языка/фреймворка во вторую.
Автор пишет «Все таки, тринадцать лет с языком — это долгий срок». И судя по статье ознакомиться, например, с экосистемой Java достаточно глубоко ему не удалось.
Нет, я ничего не имею против откровений «смотрите, при описании класса выполняется код с self», понимание это очень даже здорово и правильно. Даже если оно случается после стольких лет.
Просто на мой субъективный взгляд, те принципы, которые используются в большинстве популярных языков программирования, не плохо было бы осваивать в первые год-два актавной работы. Иначе это анабиоз какой-то.
После 13-и лет (!) ковыряния в одном языке (PHP тут не при чем, хотя и показатель) человек вдруг увидел другой мир. Мои поздравления, теперь можно развиваться дальше.
В опроснике не хватает самого главного пункта — «Я изучаю новое постоянно. Без этого я мертв, как ИТ профессионал.»
Именно, не «модные штуки», а просто «жизненно важное».
По затратам можно очень грубо, но сейчас не самый отстойный сервак вместе с трафиком стоит порядка $150/мес, а 10 лет назад все это было значительно дороже. В статье говорилось про полсотни серверов. Затраты на администрировани можно не считать, сославшись на то, что парни грамотные и сами все админили.
Потом зайдите сейчас на любой бесчисленных торренттракеров и посчитайте сколько там различного вида банеров и партнерок. Опять же по грубым прикидкам можно сказать, что очень вряд ли там получается меньше $100/день с одного сайта.
Финансистами я назвал таких людей, которые однажды приходят и говорят — «Вы классные парни! У вас востребованный контент. Хотите регулярно получать бабло и при этом нигде не светиться? — Давайте партнериться. Коммерческую маету берем на себя.»
В то, что какая-то сборная группа людей за просто так стабильно финансировала сотни тысяч долларов в год на подсудное дело как-то слабо верится. И мой личный опыт общения с представителями высосокооплачиваемого американского ИТ это подтверждает.
На мой взгляд довольно интересная часть по монетизации варезных толкучек просто опускается из роментических статей про «робингудов».
Я полне допускаю, что отдельные «романтики» качали варез туда-сюда исключительно из спортивного интереса, но совсем не похоже, что это могло происходить без активной поддержки «финансистов».
«прийдется», «на дынный момент».
В строке 50 написано почему не обязательно делать своего агента, а в место него так же в точности работает дефолтный глобальный. У него тоже есть maxSockets, если уж очень хочется потюнить.
Извините, но мне уже надоело выступать тут комментатором чужого когда. Посмотрите его, пожалуйста, сами.
Смотреть строку 50.
Ничего не имею против пхпшников, но они ведутся обычно лучше.
Я написал «флаг», потому что на уровне приложения это так и есть — просто такая опция yes/no.
А по поводу keep-alive вот цитата:
The current HTTP Agent also defaults client requests to using Connection:keep-alive. If no pending HTTP requests are waiting on a socket to become free the socket is closed. This means that node's pool has the benefit of keep-alive when under load but still does not require developers to manually close the HTTP clients using keep-alive.
Нет однозначного ответа на вопрос «как вы загружаете скрипты?».
Загружаемая браузером асинхронно в общем случае из нескольких источников html страница представляет собой довольно сложный объект, и при для его нормальной работы используется масса разных способов.
То, без чего сложно обойтись, и что хорошо кэшируется ставится в head, а дельше уже начинается полет фантазии в зависимости от решаемой задачи. Тут делают и аснихронную загрузку с рестартом обломавшихся модулей, и используют localStorage, и ранее популярный трюк с setTimeout( my_lodaer, 1).
В общем, здесь можно много о чем поговорить, но не в духе «куда вы ставите тэги script — в начало или в конец».
Фидбэк по этому поводу:
— не надо парить донейтера какими-то регистрациями на сайте, просто поставьте кнопку
«дай 300 рублей» (С) Яндекс, чтобы в один клик
— к тому же эти регистрации работают криво
PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'uid' at row 1: INSERT INTO {user_field_privacy_value} (fid, uid, private) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 58 [:db_insert_placeholder_1] => [:db_insert_placeholder_2] => 1 ) в функции user_field_privacy_exit() (строка 170 в файле /var/site/js/www/sites/all/modules/user_field_privacy/user_field_privacy.module).
Была бы там кнопочка donate от каких-нибудь Яндекс.Денег или ПейПалки, я бы нажал. Ради всеобщего блага, так сказать :)
rails, само собой, подход достойный внимания, только не надо перенимать оттуда привычку патчить core компонеты по поводу и без повода :)
python хорош своей простотой и «чистотой» по сравнению с рубями, здесь полезно освоить Django (сайтики строгать) или Tornado, если хочется нетрадиционностей.
Отдельно рекомендую обратить внимание на Clojure — и даже не на сам язык (он неопытных, как правило, не вставляет поначалу), а на те видео, где Рич рассказывает про правильный подход к программированию.
Это ни в коем разе не совет «избавиться от этого гнусного пхп», а скорее для того, чтобы расширить собственный кругозор. Качество и красота кода зависят от него в первую очередь, а от выбранного языка/фреймворка во вторую.
Нет, я ничего не имею против откровений «смотрите, при описании класса выполняется код с self», понимание это очень даже здорово и правильно. Даже если оно случается после стольких лет.
Просто на мой субъективный взгляд, те принципы, которые используются в большинстве популярных языков программирования, не плохо было бы осваивать в первые год-два актавной работы. Иначе это анабиоз какой-то.
В опроснике не хватает самого главного пункта — «Я изучаю новое постоянно. Без этого я мертв, как ИТ профессионал.»
Именно, не «модные штуки», а просто «жизненно важное».