Pull to refresh
  • by relevance
  • by date
  • by rating

Викивандал добавил свастику на 53 тысячи страниц «Википедии»

Information Security *Media management *Social networks and communities

В «Википедии», в том числе на страницах известных политиков, неизвестный заменил текст на полноэкранную нацистскую свастику на красном фоне. Викивандализм затронул 53 тысячи страниц.

Читать далее
Total votes 20: ↑16 and ↓4 +12
Views 7.3K
Comments 11

XOWML, который преобразуется в XHTML

Lumber room
XOWML, — новый язык разметки, разработанный в студии Onlyweb. Читается, — хоумл.

Язык имеет единственное предназначение, — дать XHTML верстальщику возможность быстро и эффективно писать валидный XHTML код. Т.е. работает это так: пишешь код в XOWML, нажимаешь сохранить, автоматически появляется .html файл, его можно просматривать в браузере.

Вот первые примеры XOWML:
.BriefDescription{{
.Image{%img src="images/elephant.jpg" width="240" height="181"{}}
.Description{
.Date{10 августа}
%p{В этой плашке пишем краткую аннотацию, о статье.
Это позволит поситителям сайта понимать о чём идёт речь.}
%p{Надо сразу определится и размерами фотографии.
Необходимо жёстко зафиксировать ширину (я предлогаю использовать ту что сейчас)
а высота фото может меняться без ущерба для внешнего вида страницы.
А без фото на внутренних будет плохо — изначально дизайн соориентирован
на получ. инф. и быстрый прогруз.}
%a href="#"{читать полностью...}
}
.Clear{}
}}


Преобразуется в XHTML код:
<div class="BriefDescription"><div class="BriefDescriptionInside0">
<div class="Image"><img src="images/elephant.jpg" width="240" height="181" /></div>
<div class="Description">
<div class="Date">10 августа</div>
<p>В этой плашке пишем краткую аннотацию, о статье.
Это позволит поситителям сайта понимать о чём идёт речь.</p>
<p>Надо сразу определится и размерами фотографии.
Необходимо жёстко зафиксировать ширину (я предлогаю использовать ту что сейчас)
а высота фото может меняться без ущерба для внешнего вида страницы.
А без фото на внутренних будет плохо —
изначально дизайн соориентирован на получ. инф. и быстрый прогруз.</p>
<a href="#">читать полностью...</a>
</div><!-- .Description -->
<div class="Clear"></div>
</div></div>


Читать дальше →
Total votes 7: ↑4 and ↓3 +1
Views 572
Comments 28

100 OpenSource инструментов для Web-мастера.

Lumber room
Translation
В этой статье, опубликованной позавчера на DesignVitality, авторы приводят 100 инструментов для Вэб-мастера, включающих программы для дизайнера с открытым кодом, открытые шаблоны и ресурсы.


Лучшие порталы с открытыми шаблонами сайтов


В сети есть множество бесплатных шаблонов, но искать подходящий часто может быть очень долго, поэтому мы предлагаем вам посетить сначала следующие четыре портала:
Читать дальше →
Total votes 56: ↑51 and ↓5 +46
Views 5.6K
Comments 42

Молчаливое согласие

Lumber room
Translation
Представьте себе, что ваш ребенок проказничает прямо на ваших глазах, а вы молчите. Или представьте, что вы управляете людьми на работе и замечаете, что один из ваших подчиненных совершает серьезную ошибку, а вы не пошевелите и пальцем чтобы указать ему или ей на это. Это и есть молчаливое согласие.

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

С какими из проблем в жизни вы часто сталкиваетесь, и, вместо сознательной работы с ними, отворачиваетесь от них? Может быть, у вас низкий уровень энергии из-за того, что вы не упражнялись и плохо кушали. Возможно, ваши отношения с родными не такие, каких вам хотелось бы. Может, ваша карьера терпит полнейший крах. Когда вы используете молчаливое согласие по отношению к себе, вы говорите вашему подсознательному, что ваши текущие стандарты производительности вполне приемлемы. Ну, так не удивляйтесь, если вы продолжаете получать одни и те же результаты год за годом.
Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Views 557
Comments 3

Практический JS: избавляемся от утечек памяти в IE

Client optimization *
Translation
Примечание: ниже находится перевод статьи Understanding and Solving Internet Explorer Leak Patterns", в которой автор рассматривает некоторые характерные случаи утечек памяти в IE и предлагает методы для их избежания и устранения. Рассмотренные проблемы не являются чем-то новым или революционным, однако, знать об их существовании должен любой уважающий себя программист клиентских интерфейсов. Мои комментарии далее курсивом.

Опубликована: июнь 2005

Развитие веб-разработок



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

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

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

читать дальше на webo.in →
Total votes 34: ↑32 and ↓2 +30
Views 1K
Comments 13

Шаблон оформления для MaxSite CMS

CMS *
Сегодня закончили работу над своим шаблоном для MaxSite CMS. За основу был взят шаблон clouds от MaxSite. Структура шаблона-исходника оказалась настолько продуманной, что практически все оформление удалось заменить с помощью картинок и CSS, за исключением формы контактов (там потребовалось небольшое вмешательство в type).

Посмотреть результат можно здесь

Наш шаблон распространяется свободно и доступен для скачивания:
xora.ru/uploads/xora-maxsite-template-1.0.zip

Кстати, сегодня же вышла новая версия MaxSite 0.23, об изменениях можно прочитать здесь: max-3000.com/page/maxsite-cms-023
Total votes 9: ↑5 and ↓4 +1
Views 3K
Comments 4

Ответы модулей

CMS *
Доброе время суток!

Наверно, говорить о том, что я пишу свою CMS не надо, лишь хочу уточнить, что это Explay. В связи с этим я буду писать о том, что уже реализовано и доступно в исходниках.

В этой статье речь пойдет об «ответах» модулей (более умного названия, к сожалению, придумать не смог). Грубо говоря под ответом я подразумеваю return $var некого метода или функции. Здесь надо оговориться, что используется шаблон проектирования MVC, где модуль — это, естественно, модель. Далее немного общих слов от том, как в моей CMS работает MVC.
Читать дальше →
Total votes 11: ↑7 and ↓4 +3
Views 694
Comments 12

Применение наследования в шаблонах Mason

Perl *
Mason — достаточно известный и распространенный фреймворк для разработки Perl-приложений. Несмотря на простой синтаксис, он обладает достаточно широкими возможностями и высокой производительностью; имеет встроенные средства для интеграции с mod_perl и memcached. Освоить работу с mason очень просто — система хорошо документирована. В то же время, есть ряд интересных тонкостей, до которых документацию дочитывают не все. Возможно, именно поэтому код, который мне доводилось видеть, до боли напоминал неудачную поделку на PHP, в которой для упрощения жизни разработчик не использовал ничего сложнее разбивки на инклюдники. Можно ли на масоне писать лучше? По-моему, да.
Попробуем?
Total votes 17: ↑14 and ↓3 +11
Views 1.9K
Comments 9

Трюки со специализацией шаблонов C++

C++ *
imageСпециализация шаблонов является одной из «сложных» фичей языка с++ и использутся в основном при создании библиотек. К сожалению, некоторые особенности специализации шаблонов не очень хорошо раскрыты в популярных книгах по этому языку. Более того, даже 53 страницы официального ISO стандарта языка, посвященные шаблонам, описывают интересные детали сумбурно, оставляя многое на «догадайтесь сами — это же очевидно». Под катом я постарался ясно изложить базовые принципы специализации шаблонов и показать как эти принципы можно использовать в построении магических заклинаний.

Ознакомиться с заклинаниями
Total votes 47: ↑45 and ↓2 +43
Views 97K
Comments 61

Итератор по кортежу (boost)

Lumber room
Итератор по кортежу И так, нам нам нужно огранизованно пройтись по всем членам кортежа. Мне это понадобилось для сохранения в xml — файл конструкций типа std::vector<boost::tuple<...>>. Кстати, пишу я это в Qt.

Ну да ладно, к делу.
Читать дальше →
Total votes 25: ↑5 and ↓20 -15
Views 497
Comments 3

Text Template Transformation Toolkit (T4): генератор кода в Visual Studio

.NET *
Приветствую, Хабр!

Сегодня мы поговорим о рутине. Время от времени каждому программисту приходится совершать много нудной, объемной и шаблонной работы, которую постоянно так и хочется автоматизировать, да руки не доходят. Вот об одном малоизвестном способе упростить себе жизнь с помощью кодогенерации я и хочу сегодня рассказать сообществу дотнетчиков. Способ известен как Text Template Transformation Toolkit или попросту T4.

А что это такое?
Total votes 44: ↑35 and ↓9 +26
Views 24K
Comments 23

Text Template Transformation Toolkit (T4), часть 2: генераторы шаблонов

.NET *
Приветствую, Хабр!

Эта статья продолжит тему автоматической кодогенерации в Visual Studio с помощью T4 — Text Template Transformation Toolkit. Часть №1, чуть ранее опубликованная в этом блоге, описывала синтаксис T4 и элементарные принципы его использования. В этот же раз я решил подробнее осмотреть блог уважаемого Олега Сыча и ещё немного адаптировать к хабрааудитории некоторые из его наработок. В частности, сегодня обсудим следующие темы:
  • Создание повторно используемых и параметризируемых шаблонов
  • Создание генераторов шаблонов
  • Отладка, тестирование и расширение генераторов (ссылки)

Я не стал изобретать каких-то особенных примеров. История развития запроса с созданием хранимой процедуры, описанная Олегом, идеально подходит для иллюстрации проблемы, при которой могут потребоваться генераторы. Причем, что характерно, — не надуманной проблемы. Также статья придерживается принципа «меньше слов — больше кода».
Здесь и далее предполагается, что у вас установлена Visual Studio 2005/2008/2010, а также T4 Toolbox.

Да, я не прочь почитать ещё
Total votes 9: ↑7 and ↓2 +5
Views 3.7K
Comments 4

Прикручиваем django-registration

Django *
Нужно было прикрутить регистрацию на сайт. Вспомнил про django-registration (классический django reusable app). Первое, что удивило — в исходниках не было шаблонов. Пришлось немного покопаться в интернете, поискать ответы на вопросы и поделиться результатом.
Читать дальше →
Total votes 34: ↑30 and ↓4 +26
Views 53K
Comments 53

Реализация ToString() на С++

C++ *
Для вывода в лог (да и не только для этого, но это то, с чем я сам столкнулся) нужно конвертировать значение переменной в строку.

В C++ это обычно делается выводом в поток (как вариант — использование boost: lexical_cast<> — что в нашем случае практически одно и тоже).

Для встроенных типов это не проблема, а вот как быть, если нужно вывести скажем std: vector? Увы, но у std: vector нет оператора вывода в поток.

В результате решения этой проблемы написал код, которым хочу поделиться с сообществом.
Читать дальше →
Total votes 45: ↑36 and ↓9 +27
Views 15K
Comments 39

Golden Grid CSS: PSD-шаблон

CSS *
Относительно недавно познакомился с CSS-сеткой Golden Grid. Мне она понравилась небольшим весом и использованием правила «золотого сечения». Golden Grid более простая, чем Blueprint. Я не настаиваю на том, что она более удобная, но для моих задач подходит как нельзя лучше.

Вместо обозначений классов span-1, span-2… используются более интуитивные g160, g320 и т.д. Кроме того, неплохая типографика, подстроенная специально под сетку.

Сетка относительно новая (2009), поэтому не хватает многих важных деталей. Например, psd-шаблона. Решив заполнить столь значимый пробел, я создал такой шаблон, благо много времени это не занимает. Проведены и линейки, и серые прозрачные прямоугольники. Это сделано для того, чтобы сетку можно было ставить поверх основного дизайна.

Скачать (.zip, 20 кб)
Total votes 8: ↑5 and ↓3 +2
Views 8.8K
Comments 8

C++ и reflection на коленке

Lumber room
Потребовалось тут недавно иметь возможность обращаться к полю в структуре по её имени — записать, прочитать значение. И так, чтобы производительность тех мест, где это не используется не изменилась.
Вот что получилось:
Copy Source | Copy HTML
  1. TUser user;
  2. user.StoreValue();
  3. double SalaryRef;
  4. user.SetField("Salary", SalaryRef); // сохранили 
  5. user.GetField("Salary", SalaryRef); // загрузили - передача по ссылке
  6.  
  7. // можно ещё и так, но сами понимаете - не удобно
  8. double Salary = user.GetField<double>("Salary");


Весь секрет в «волшебных пузырьках» — в классе от которого наследуется TUser, и одной функции — StoreValue().
Подробности под катом.

Важно: Данное решение кросплатформенно, требует только STL и компилятора C++, который «умеет» шаблоны.

Читать дальше →
Total votes 17: ↑8 and ↓9 -1
Views 362
Comments 30