Pull to refresh
-1
0
egorinsk @egorinsk

User

Send message
Интересно, вычтя из получаемых 24 млрд в год 5 млрд и прибыли и, допустим, еще 5 на расходы на исходные компоненты еды, получаем 14 млрд в год, делим на 1,2 млн. человек, получаем $12000.человека в год, минус налоги, получается около $9000 в год на человека. Они что, рабов из Африки до сих пор ввозят? Где они берут людей на такую зарплату?

То ли дело, если фейсбуквоский миллиард поделит на число работников… получается более приятная сумма.

Так что долой макдаки.
> А ведь она у нас пишется в очень свободной форме на C#

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

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

Что касается дырок в формах — ну не надо использовать абсолютное позиционирование. Это конечно, было актуально во времена Windows 3.11 и 8 Мб памяти, но точно не сегодня.

Если у вас задача сделать форму с зависимостями на HTML/JS, взгляните на Zforms (написано человеком из студии Лебедева). Эта система не требует ни монстра ExtJS, ни jQuery, а точно так же позволяет скрывать/дизаблить поля по условию, убирать и добавлять пункты в селекты. Логика зависимостей в ней хранится в виду аттрибутов тегов.
Да уж, что возьмешь с флеш-программистов :) очевидно, что параметры объекта надо не инкрементить, а вычислять по формуле value = initial_value + change_speed * (time — start_time). Я не знаю, насколько во флеше гарантируется стабильность частоты вызова ENTER_FRAME, возможно, надо брать время, возможно, достаточно брать номер текущего кадра.

Но, конечно, сокруглением до 0.05, флеш выкидывает интересные коленца.

Люди странные. Какие в роутере могут быть настройки, кроме кнопки включить/выключить интернет?
> Бегло пробежавшись по скрипту, я увидел что используются уязвимости Acrobat Reader'а и Java.

Неужели кто-то, после десятков найденных уязвимостей, до сих пор еще использует Acrobat, тем более встроенный в браузер (и запускающийся без ведома пользователя) и Java в браузере? Люди, вы странные.
Вижу, все и так поняли, какой код генерирует скаффолд :) Он по дефолту генерирует где-то в контроллере действие update, которое передает пришедшие POST-параметры в метод модели update_attributes(), соответственно, если есть право на обновление модели (например, обновление своего профиля или своего поста), и нет защищенных аттрибутов или дополнительных проверок (а в автогенерированном коде их нет), можно обновить себе аттрибут is_admin или что-нибудь в этом роде.

Есди подумать, этот тип бага не только в RoR может встретиться, но и в другом идеологически схожем MVC фреймворке, не обязательно на Руби, но и на PHP тоже.
Уязвимость же не совсем в рельсах, а в скаффолдере: он генерирует код с

@

Соответственно, можно легко обновить все аттрибуты модели, если юзер имеет право на обновление модели и результат пройдет валидацию. Хоть рельсовики и будут говорить, мол, надо читать мануал, использовать всякие схемы защиты аттрибутов, но давайте будем честными — а кто читает мануалы от корки до корки? да никто не читает. Разработчики фреймворков и языков программирования должны ориентироваться на пользователей-идиотов, а не профессоров, которые тщательно прочтут 10 томов документации, прежде чем написать первую строчку.

Точно также, безответственно было у нас в PHP не встроить простое средство для плейсхолдеров, а дать людям mysql_query() — в итоге почти любая открытая наугад книга по PHP содержит пример типа:

mysql_query(«SELECT * FROM user WHERE id = $id»)

и мутное примечание про безопасность и фильтрацию данных (которую начинающий с вероятностью 99% пропустит — ведь код и так работает). Точно также безответственно в PHP-шаблонах выводити сырые значения перемнных — надо было по дефолту встроить контекстный escaping, как например делает в своем шаблонизаторе Гугл.

Ну что, приятно, и Рубивские фреймворки не блещут идеалом, будет чем упрекнуть рубиста.
Что за подход? Для ИЕ можно сделать через старый добрый одноразовый CSS expression вставку тега IMG.
Вообще, хороший вариант, лучше чем приведен в статье, и чем приведен у меня (просто раньше внешние шрифты не всеми браузерами поддерживались, вот с тех времен я этот способ и использую), единственное, что может быть иногда ради 10 букв тянуть шрифт (пусть даже порезанный) неоправданно. Плюс, надо еще проверить, не будет ли это тормозить в ИЕ6/7.

Это все плохие решения. Почему? Потому, что надо исходить не из абстрактной «семантики», а из решения минимум 2 задач: корректного отображения текста на разных устройствах (в т.ч. при отключеннных картинках) и корректного понимания текста поисковыми системами.

Этот способ не решает ни первой проблемы (если отключить картинки, текст не виден), ни второй (поисковики, увидев что у текста нулевой размер шрифта, могут игнорировать его).

Потому я обычно делаю так: спан с position:relative, display: inline-block, overflow: hidden, в нем текст, поверх него спан с position: absolute и фоном в виде картинки (с непрозраным фоном). Если картинка не загрузилась, виден текст под ней.

Но этот способ не позволяет использовать прозрачную картинку (так как через нее будет просвечивать текст). Может, можно его как-то доработать? Чтобы, например, поместить текст и картинку в общий контейнер и картинка при загрузке сдвигала текст за пределы видимости? Что-то у меня нет решения.
Тогда надо дать серверу права на запись в /etc, что небезопасно. Проблема массового обновления конфигов тоже остается.
Ваше решение имеет очень серьезные недостатки.

По моему, так те, кто серверную папку ставят в /home, недалеко ушли от тех, кто в Windows все валят в корень c:. А как это папку потом вынести на сетевое хранилище? Как обеспечить доступ других пользователей?

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

Плюс, в вашей схеме надо руками создавать конфиг для каждого сайта. Не надоест? А если все 100 конфигов надо будет обновить? Вот, в нгинксе, например можно как-то регуляркой все эти хосты описать. (в апаче тоже есть nameVirtualHost, но он 100% неюзабелен).

> Процесс установки соединения с 1С в зависимости от конфигурации может занять от 1 до 8 секунд (в моем случае — 6 секунд). Стоит ли говорить, что установка соединения на каждый запрос приведет к тому, то каждая страница будет загружаться 8 секунд.

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

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

Вообще, статья интересная. Как хорошо, что мне с этим проприетарным ужасом работать не приходится.
Давайте будем объективными — если он удаляет треш-темы для вконтакта, мерзкий квип, отвратительный яндекс-бар (позор вам, вроде компания хорошая, а такую дрянь впариваете всем) или рамблер — это однозначно разработчикам mail.ru на страшном суде засчитают в плюс.

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

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

И кстати, что сложного удалить этот гард? Новое поколение хабраюзеров не умеет использовать утилиты sysinternals типа autoruns? (или просто купите себе мак :) )
А аватарки — что, статику выгоднее тем же ява-монстром отдавать, или просто исторически сложилось, что они в базе хранятся?
Самое забавное, что теперь айфон поддерживает (так ведь?) этот самый ГЛОНАСС и никакой убийца ему не страшен.
У вас не очень понятно из описания, что именно вы храните вне кучи? Модельки с данными и коллекциями? Как хранятся связанные записи?

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

И да, это вот

> Нам будет также очень интересно узнать о вашем опыте решения проблем пауз GC на больших объемах heap.

выглядит как троллинг :)
Ну и неграмотные (тут было другое слово) их админы. В дефолтном же конфиге апача стоит Deny для файлов, начинающихся с .ht, нет, они это отключили.

Да и программисты не лучше, написали 20 реврайтов в htaccess, вот не лень-то было. И потом такие PHP-разработчики идут на Хабр ругать Яву, паттерны проектирования, ООП, MVC и прочие достойные вещи.
Вариант 1. делаем скрытое поле-приманку с названием email — сразу же отваливается 95% ботов. Вариант 2. Отправляем форму не через submit формы, а аяксом, заодно заменяем submit button на div с onclick="..." (а в action у формы указываем адрес ловушки). Сразу же отваливается оставшаяся часть ботов (ну и юзеры без яваскрипта, вроде меня, но я все равно не заполняю веб-формы).

А проверять реферер/куки — не работающая хрень.

Information

Rating
Does not participate
Date of birth
Registered
Activity