История о парсинге одного aspx сайта

Автор: admin от 5-05-2014, 09:40, посмотрело: 1031

Предыстория


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

  • Не запоминает логин, пароль и город — в результате после входа нужно дождаться загрузки всех заявок из дефолтного города, а потом переходить на свой.

  • Не вся необходимая информация доступна из общего списка заявок. За частью ее приходится заглядывать внутрь заявки, а каждая из них открывается в новом окне (там джаваскрипт и нет даже нормального атрибута href, представляете?).

  • Сделана эта прелесть на asp, и поэтому при каждом переходе гоняет по сети свои viewstate.

  • Ну и минимальная ширина сайта в полторы с чем-то тысячи точек не доставляет удовольствия.


  • Специфика же работы заставляет иногда заходить в систему с мобильного телефона и с мобильного же интернета.
    И если бы я работала с ней сама, то ничего не случилось бы — привыкла бы, адаптировалась, да и вообще, начальство же жаждет… Но близкого человека жалко, и возникла идея написать парсер заявок.

    Категория: Программирование

     

    Работа с регистрами внешних устройств в языке C, часть 2

    Автор: admin от 5-05-2014, 08:40, посмотрело: 351

    Наступила полночь и Шехрезада продолжила позволенные речи

    Для начала замечание к предыдущей статье — я там позволили себе неуважительно высказаться по поводу ASSERT — поясню свою позицию. Мне не очень нравится. что проверка в ASSERT проводится только на этапе исполнения, проверка на этапе компиляции эффективнее. Мне в личку сообщили о существовании конструкции, позволяющей сделать необходимые проверки именно на этапе компиляции (я проверил — действительно работает), думаю, что пост на эту тему скоро появится в песочнице.
    Итак, мы продолжаем…
    Как было сказано выше, регистры внешних устройств характеризуются расположением в адресном пространстве (тут мы уже определились) и составом управляющих элементов. Дело в том что многие управляющие элементы недостаточно велики для того, чтобы занять целое слово конкретного МК и, чтобы сэкономить адресное пространство, несколько управляющих элементов могут быть упакованы в один регистр. Такое решение позволяет также в определенных условиях несколько увеличить скорость работы программ, взаимодействующих с данным внешним устройством, потому и встречается весьма часто. В то же время данное решение вызывает определенные проблемы в отношении языка программирования, о которых мы и поговорим.

    Категория: Программирование

     

    Замолвим слово об отладке и профилировании [PHP]

    Автор: admin от 5-05-2014, 08:40, посмотрело: 622

    Все идет от лени. Вы получили чужой очень большой проект в котором нужно сделать небольшие правки, или же написали скрипт и сразу не очевидно, что в нем еще требует оптимизации. Как быть? Читать и анализировать код, выводить каждый шаг на экран или в файл (var_dump() и т.д.) не всегда эффективно, ведь можно воспользоваться средствами отладки, которых на сегодняшний день очень много. Кратко перечислю часто встречающиеся…

    Категория: Программирование

     

    Налоговый вычет для программистов (авторов программ)

    Автор: admin от 5-05-2014, 07:40, посмотрело: 978

    IT отрасль в целом и создание продуктов интеллектуальной собственности (компьютерные программы и многое другое) в частности – немалая движущая сила современной экономики и мирового прогресса.

    Специфика отрасли заключается в том, что профессионалы не всегда могут и не всегда хотят работать in-house и являются фрилансерами. Оно и закономерно – интеллектуальный труд не обязан предполагать рамки рабочего дня и стены офиса.

    Безусловно я понимаю общий градус нелюбви к нашим законам и законодателям и то, что львиная доля специалистов работает «в черную», однако почти любой крупный заказчик будет работать с вами на договорной основе (соблюдая в том числе и налоговое законодательство), да и вам, как физическому лицу или индивидуальному предпринимателю важно знать о тех расходах, которые вы можете вернуть себе обратно в карман, не отдавая их государству в виде налогов.

    Категория: Программирование

     

    CLRium: до конца регистрации — 4 дня

    Автор: admin от 5-05-2014, 07:40, посмотрело: 255

    CLRium: до конца регистрации — 4 дня Впереди череда выходных, на которых можно отлично и полезно провести время. И на мой скромный взгляд, когда современный человек имеет тысячи дел, отвлекающих его от возможности расширить свои знания, наличие мастер-класса будет очень полезным. Ведь это как минимум возможность прийти и не отвлекаясь на домашние хлопоты сделать что-то интересное, полезное, а главное – новое для себя.
    Несколько дней назад (а кажется, еще вчера) я опубликовал анонс мастер-класса по .Net Framework Internals, который сегодня был назван CLRium. На этой мини-конференции будет показано, как работает любое .Net приложение, и как внести в .Net приложение возможности, которые не закладывались при проектировании платформы. Зачем? Каждый из вас может преследовать свои интересы. Однако, на мой взгляд, можно вывести несколько групп интересов:


    • Вам очень интересно, как .Net Framework работает. Ведь если узнать как оно работает, можно понять ее сущность и начать как-то по-другому относиться в самой платформе. Без единорогов, розовых очков и фей в виде Garbage Collector’а;

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

    • Вам интересно понять как можно легко и непринужденно взламывать .Net приложения в режиме реального времени (в, конечно же, академических целях, не нарушая законодательства и без злого умысла. Ну вы поняли)



    Однако чем бы вы ни руководствовались, вы начнете понимать, почему в .Net Framework что-то сделано так или иначе. Откуда растут ноги не правильного подсчета count++ в разных потоках, почему сделали ThreadPool, почему есть потоки, а есть процессы… И на множество других вопросов, корни которых уходят за пределы платформы.

    Категория: Программирование

     

    Программирование — карьерный тупик?

    Автор: admin от 5-05-2014, 06:40, посмотрело: 386

    Программирование — карьерный тупик? Любите программировать? Тогда и не мечтайте о должности CEO, если только не начнете свой бизнес, и даже в этом случае, менеджмент, скорее всего, вытеснит кодинг из вашей жизни.

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

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

    Категория: Программирование

     

    Python-digest #25. Новости, интересные проекты, статьи и интервью [28 апреля 2014 — 4 мая 2014]

    Автор: admin от 4-05-2014, 17:30, посмотрело: 321

    Python-digest #25. Новости, интересные проекты, статьи и интервью [28 апреля 2014 — 4 мая 2014] Юбилейный 25-й выпуск для хабры подборки статей, релизов, описаний интересных проектов о python и близлежащих технологиях.

    Спасибо owlman75 за первомайскую иллюстрацию. Кстати, всех поздравляю с первомаем и наступающим днем Победы.

    Благодарю хабраюзеров за плюсики в прошлую публикацию их оказало неожиданно много, но правила я, оказывается, не дочитал и одного поста с 50+ недостаточно для вывода денежки — их должно быть минимум два. Но ничего, все равно очень приятно было.

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

    Категория: Программирование » Веб-разработка

     

    В чем разница между factory и provider в AngularJS (на пальцах)

    Автор: admin от 4-05-2014, 16:10, посмотрело: 2572

    Как-то давно переводил статью habrahabr.ru/post/190342/. На практике, конечно, не всё пригождается, поэтому в рамках понижения порога вхождения в Ангуляр, объясню проще.

    Категория: Программирование » Веб-разработка

     

    Последний день регистрации на Всеукраинский чемпионат UA Web Challenge VI для фронтенд разработчиков

    Автор: admin от 4-05-2014, 14:05, посмотрело: 363

    Последний день регистрации на Всеукраинский чемпионат UA Web Challenge VI для фронтенд разработчиков
    В этом году оргкомитет чемпионата принял решение разбить соревнования на малые чемпионаты по номинациям (мы их назвали полуфиналами). Чтобы больше участников могло поучаствовать и пройти в очный круг соревнований и ощутить атмосферу изнутри, а не только заочно.

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

    Категория: Программирование » Веб-разработка

     

    Монетизация игровых приложений

    Автор: admin от 4-05-2014, 02:13, посмотрело: 341

    Монетизация игровых приложений
    Привет, Хабр.

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

    Категория: Программирование » Game Development