Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

Информационная безопасность *Управление медиа *Социальные сети и сообщества

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

Читать далее
Всего голосов 20: ↑16 и ↓4 +12
Просмотры 7.3K
Комментарии 11

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

Чулан
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>


Читать дальше →
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 572
Комментарии 28

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

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


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


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

Top 25 Шаблонных движков

PHP *
Перевод
(по версии WhenPenguinsAttack.Com)

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

Читать дальше →
Всего голосов 14: ↑8 и ↓6 +2
Просмотры 9.2K
Комментарии 31

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

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

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

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

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

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

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

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



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

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

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

читать дальше на webo.in →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры 1K
Комментарии 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
Всего голосов 9: ↑5 и ↓4 +1
Просмотры 3K
Комментарии 4

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

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

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

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

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

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

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

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

Ознакомиться с заклинаниями
Всего голосов 47: ↑45 и ↓2 +43
Просмотры 98K
Комментарии 61

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

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

Ну да ладно, к делу.
Читать дальше →
Всего голосов 25: ↑5 и ↓20 -15
Просмотры 509
Комментарии 3

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

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

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

А что это такое?
Всего голосов 44: ↑35 и ↓9 +26
Просмотры 24K
Комментарии 23

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

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

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

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

Да, я не прочь почитать ещё
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 3.7K
Комментарии 4

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

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

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

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

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

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

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

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

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

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

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

Скачать (.zip, 20 кб)
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 8.8K
Комментарии 8

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

Чулан
Потребовалось тут недавно иметь возможность обращаться к полю в структуре по её имени — записать, прочитать значение. И так, чтобы производительность тех мест, где это не используется не изменилась.
Вот что получилось:
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++, который «умеет» шаблоны.

Читать дальше →
Всего голосов 17: ↑8 и ↓9 -1
Просмотры 373
Комментарии 30