Рубрика «web» - 29

в 10:02, , рубрики: QML, web, Песочница, метки: ,

Примерно год назад я всерьез задумался над недавно пошумевшими на хабре темами про ненависть к html. Действительно, html — это просто средство разметки текста, его нельзя применять для построения UI, который на 90% состоит из layout'ов. Вернее можно, но получается ад. Кроме всего прочего, случай с html — это когда данные смешиваются с представлением. Не получится скачать отдельно html, а отдельно данные. Возникает идея парсеров.

И даже если в тысяче и одном шаблонизаторе это разделение явно, то оно перестает таковым быть на выходе. Кто-нибудь задумывался, а почему сервер занимается генерацией представления, которое нужно юзеру, но не нужно серверу? Вдобавок появляется проблема проверки данных, отображаемых для всех юзеров: эти xss и прочее. Не закрыл теги — убил сайт, который еще и упал на юзеров.

На мой взгляд, единственная задача html — это отображать br,strong,a, ну и так далее. Нет никакой необходимости пытаться верстать блочно, потому что блочная верстка — это попытка средставми html сделать layout. И вся эта идея иерархичности блочного контента рассыпается в пыль, когда child вылезает за пределы parent'a. Кому в голову вообще пришла такая издевательская над инкапусяцией идея, почему это вообще ВОЗМОЖНО? WYSIWYG с точки зрения кода какой-то странный получается — видишь один код, а отображаться он может как и где угодно. Зачем нужна эта двусмысленность?

И не получится сделать сложный блочный ui без костылей вида -999px и т.д. Кстати, почему до сих пор нет нативной поддержки layout'ов? Уже на языке низкого уровня быстрее описать интерфейс, чем на вебе. И заметьте: каждый дизайнер изголяется над созданием/стайлингом/размещением контролов, которые уже ДАВНО есть в ЛЮБОЙ ОС. Так зачем столько телодвижений для создания такого же, но другого? Чтобы что? Кстати, а для чего каждый сайт должен иметь уникальный дизайн? Разве это чем-то вынуждено? Почему desktop ui с одинаковыми контролами не приедается, а шибко пестрые-нестандартные интерфейсы на десктопе считаются моветоном? Ну да, можно написать еще штук 20 шаблонизаторов, позволяющих абстрагироваться от печальных реалий. А дизайнеры пускай сами своими -99999px гвоздями прибивают ui к html.

В комментариях предлагали запилить QML в браузеры. Это, имхо, очень интересный подход. Кстати, никто ведь не мешает генерить qml теми же методами, что и html.

Читать полностью »

Для начала немного уточним о чем идет речь. Wicket хранит последнюю просмотренную страницу в сессии, но в случае если страница очень большая, иногда это может стать проблемой. Для того что бы избежать этих проблем, можно попытаться сделать страницу Stateless(т.е. не имеющую состояния).
Итак, Stateless page — это страница не имеющая состояния, Statefull page — это страница с состоянием.

Stateless страницы не хранят никакого состояния из-за чего нет необходимости сохранять их от запроса к запросу.
Такие страницы не сохраняются ни в сессии ни в истории посещённых страниц хранящейся на диске, таким страницам не присваивается версия, как это происходит со statefull страницами. При каждом запросе к такой странице, её экземпляр создаётся заново.
Читать полностью »

в 9:17, , рубрики: gmail, Google, web, почта, метки: , ,

image
Руководство содержит описание поиска личных и корпоративных email различными методами с использованием специальных сервисов и поисковых систем. Включает практические примеры поиска email и рекомендации для начинающих.
Читать полностью »

image

Совсем недавно возникла интересная задача: реализовать закрытие доступа к веб-сайту из вне, на время технических работ. Мне показалось, что это довольно распространенная задачка, решение которой заинтересует многих.
Один из возможных вариантов решения — ниже.
Читать полностью »

image

Мы сделали всеобъемлющий огромный User Interface пак, содержащий более 300 элементов для дизайна, прототепирования и всего, что придет на ум! Все элементы пака размещены на 5 страницах. В паке есть: Edit Boxes, Check Boxes, Tabs, Buttons, Notification windows, Menus, Готовые решения для панелей, окон, форм, графики, слайдеры, информационные блоки и многое другое. Все элементы выполнены в фотошопе шэйпами. Соответсвенно, каждый элемент можно уменьшать и увеличивать без потери качества. Их можно использовать при создании сайтов, мобильных интерфейсов, программного обеспечения, иллюстраций. Все зависит от твоей фантазии. Ты можешь компоновать и группировать элементы, менять их размеры и расставлять в соответствии со своим вкусом. Это огромное поле для творчества, где каждый дизайнер может использовать готовую форму при создании дизайна, применять к ней новые стили, менять форму. Разумеется, каждый дизайн имеет свое лицо, характеризующее дизайнера. В этот пакет мы вложили больше 50 стилей, которые можно использовать на любом элементе в дизайне. Ты можешь придать свою форму, цвет и стиль любому компоненту и сделать что-то уникальное и красивое.

Читать полностью »

Незаметно наступила та пора, когда течение развития web-стандартов перестал определять Trident — движок Internet Explorer, который был стандартом де-факто более 15 лет. Согласно статистике Statcounter за февраль 2012 года, доля Chrome+Safari составляет 36.61% рынка, в то время как доля IE — лишь 35.75%. Разница (0.86%) пока не выходит за границы статистической погрешности, но достаточно посмотреть на скорость прироста популярности Chrome, чтобы понять, что к осени или — на крайний случай — к 21 декабря этого года Chrome станет браузером #1 по общемировой статистике, которая, напомню, может весьма отличаться от региональной.

image
Читать полностью »


Введение

Spring Data позволяет легче создавать Spring-управляемые приложения которые используют новые способы доступа к данным, например нереляционные базы данных, map-reduce фреймворки, cloud сервисы, а так же уже хорошо улучшенную поддердку реляционных баз данных.

В этой статье будет рассмотрен один из под-проектов Spring Data — JPA

Что может Spring Data — JPA

  • Создание и поддержка репозиториев созданных при помощи Spring и JPA
  • Поддержка QueryDSL и JPA запросов
  • Аудит доменных классов
  • Поддержка порционной загрузки, сортировки, динамимических запросов
  • Поддержка XML мэппинга для сущностей

Читать полностью »

Использование XSLT в качестве шаблонного движка очень привлекательно, поскольку, с одной стороны позволяет полностью вытащить представление из приложения, сконцентрировавшись на чистой логике, а с другой стороны позволяет гибко менять представление XML данных приложения, превращая их, например, в формы GTK.

Итак, что у нас есть — есть приложение, получающее или генерирующее некие данные, скажем, в форме хэша, есть XSLT шаблон, эти данные отображающий и есть nginx.

Шаг №1

Получаем данные, которые надо отобразить в виде хэша (так вы получите данные из большинства СУБД, например).

Шаг №2

Читать полностью »

Использование XSLT в качестве шаблонного движка очень привлекательно, поскольку, с одной стороны позволяет полностью вытащить представление из приложения, сконцентрировавшись на чистой логике, а с другой стороны позволяет гибко менять представление XML данных приложения, превращая их, например, в формы GTK.

Итак, что у нас есть — есть приложение, получающее или генерирующее некие данные, скажем, в форме хэша, есть XSLT шаблон, эти данные отображающий и есть nginx.

Шаг №1

Получаем данные, которые надо отобразить в виде хэша (так вы получите данные из большинства СУБД, например).

Шаг №2

Читать полностью »

У многих людей, как-либо связанных с безопасностью, периодически возникает желание заняться pentest'ом, то есть тестом на проникновение. И чаще всего начинают все с pentest'а веб-приложений. Порог вхождения довольно мал (простейшая sqli определяется добавлением кавычки в параметр и эксплуатируется не особо сложнее), но при этом встречаются и довольно сложные задания, которые заставляют потратить пару-тройку дней на ковыряние.
Но возникает вопрос — где применять теоретические знания, без страха внезапного появления маски-шоу? Под катом проведу небольшой обзор полигонов для экспериментов по pentest'у.
Вопросы безопасности в веб технологиях / Уязвимы по определению
<aЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js