Как стать автором
Обновить
8
0
EcoDark @EcoDark

Пользователь

Отправить сообщение

Безразмерная разметка с помощью relative (без float)

Время на прочтение2 мин
Количество просмотров4.1K
Навеянно этой темой.
Пример, как это работает.

1. Введение


Представим, мы имеем класс relative, внутри которого имеется текст, и не задаём ему width:
#bar{
position:relative;
border:5px solid #00FFFF;
padding:10px;
height:200px;
}
мы получим резиновый блок:
<div id="bar">
text
</div>


При этом, блок обладает неизменными padding+border и резиновым width, таким, что width_px+padding_px+border_px = 100%.
Для absolute блоков, такой трюк не прокатывает.
Читать дальше →
Всего голосов 74: ↑62 и ↓12+50
Комментарии77

Сообщение об ошибках. Мой вариант.

Время на прочтение2 мин
Количество просмотров452
Недавно захотелось мне сделать, что бы на моем проекте ошибки отображались именно там, где они были совершены. Т.е. если вы не верно ввели e-mail, то и ошибка должна отображаться именно рядом с «инпутом» для ввода e-mail’а. Так в чем проблема? Писать прям под этим «инпутом» и все. Нет! А если не хватает места? Вот именно такая ситуация возникла у меня, в некоторых местах «впендюрить» ошибку просто некуда из-за отсутствия места для нее.

В связи с этим, мы понимаем, что нужно использовать подобие JavaScript’ового «алерта». Знаю, «алерт» — это не кошерно. Поэтому необходим выскакивающий-плавающий «див», причем привязанный в месту престпуления совершения ошибки.

Поискав немного среди плагинов для «jQuery» я не нашел ничего путного. Либо я плохо искал, либо действительно ничего подходящего нет. Поэтому прошу взглянуть на мой вариант:

Читать дальше →
Всего голосов 38: ↑24 и ↓14+10
Комментарии69

Сравнение PHP IDE

Время на прочтение1 мин
Количество просмотров69K
Вместе с Владимиром Стаценко сделали достаточно подробное сравнение популярных PHP IDE.
В сравнение вошли: Eclipse PDT, Zend Studio, NetBeans и Aptana.

Однозначно лучшую IDE называть не будем: для кого-то главное одно, для другого — иное. Определяйте сами.

HTML-версия таблички с фиксированным заголовком
PDF-версия

UPDATE
Расшарил исходник в Google Docs всем на чтение. Там более свежие данные, где учтены комментарии, а так же добавлена dev-версия NetBeans 7.
Всего голосов 66: ↑58 и ↓8+50
Комментарии161

Сравнение средств проектирования

Время на прочтение3 мин
Количество просмотров91K

Учёба в универе и работа наложили свой отпечаток, оказалось, что нужно не только «кодить», но и уметь проектировать те или иные «задачи». Знакомство моё с UML началось с State Machine(конечный автомат, если по русски и приближённо).
Читать дальше →
Всего голосов 55: ↑48 и ↓7+41
Комментарии86

Новая хеш-функция MD6

Время на прочтение2 мин
Количество просмотров12K
MD6 — алгоритм хеширования переменной разрядности, разработанный профессором Рональдом Ривестом из Массачусетского Технологического Института в сентябре 2008 года. Предназначен для создания «отпечатков» или дайджестов сообщений произвольной длины. Предлагается на смену менее совершенному MD5. По заявлению авторов, алгоритм устойчив к дифференциальному криптоанализу. MD6 не обладает достаточной стойкостью к коллизиям первого рода. Используется для проверки подлинности опубликованных сообщений, путем сравнения дайджеста сообщения с опубликованным. Эту операцию называют «проверка хеша» (hashcheck).
Читать дальше →
Всего голосов 93: ↑82 и ↓11+71
Комментарии89

DDoS — мысли вслух…

Время на прочтение2 мин
Количество просмотров1.6K
Здравствуй хабрачитатель. Сегодня я решил поделиться с тобой своими мыслями по поводу DDoS- атак. Что это такое я не буду рассказывать – об этом сегодня знает, по-моему, даже школьник. В общем, отражая в очередной раз могучую атаку хулиганов на один из моих ресурсов, я подумал, а не предложить ли мне сообществу образованных людей ряд идей по борьбе с одним из наиболее распространенных методов подобных атак – HTTP – флуд.

Суть данной атаки сводится к следующему – зараженные компьютеры, управляемые головным сервером генерируют огромное количество запросов вида:

"GET / HTTP/1.1" XXX XXXX "


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

И что дальше ???
Всего голосов 71: ↑43 и ↓28+15
Комментарии83

Прекращено распространение PHP 5.2.7

Время на прочтение1 мин
Количество просмотров738
Due to a security bug found in the PHP 5.2.7 release, it has been removed from distribution. The bug affects configurations where magic_quotes_gpc is enabled, because it remains off even when set to on. In the meantime, use PHP 5.2.6 until PHP 5.2.8 is later released.

Краткий пересказ:
В связи с найденным в PHP 5.2.7 багом, касающимся безопасности, было прекращено распространение релиза. Баг заключается в том, что не включается magic_quotes_gpc.
Решение — откатиться на PHP 5.2.6 и ожидать PHP 5.2.8.
Всего голосов 48: ↑43 и ↓5+38
Комментарии44

Блокировки в MySQL

Время на прочтение4 мин
Количество просмотров108K
На хабре часто обсуждаются принципы работы MySQL. Данный хабратопик посвящен механизмам блокировок, используемым в MySQL. Топик поможет начинающим изучать MySQL и, в некоторой степени, опытным хабралюдям.

Механизм блокирования в MySQL


Одновременный доступ нескольких клиентов к хранилищу данных может приводить к ошибкам различного типа. Например, одновременное чтение одним клиентом и запись другим клиентом одной и той же строки таблицы с большой вероятностью приведет к сбою или чтению некорректных данных. Механизмы блокировок позволяют избежать ситуаций одновременного доступа к данным, регламентируя механизм взаимодействия пользователей между собой.
Читать дальше →
Всего голосов 65: ↑62 и ↓3+59
Комментарии18

Задачи на собеседовании — от простого к сложному.

Время на прочтение2 мин
Количество просмотров27K
Да, это крик души. Потому что в среднем за неделю я собеседую несколько, которые претендуют на должность php-программиста.

Крик души, собственно в следующем:
из, предположим, 10 человек простейшие тесты сдают максимум двое (один — наполовину или на две трети). Вот такая простая статистика.

Может быть, я задаю слишком сложные вопросы ( несколько видоизмененные вопросы под катом )?

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

Может быть, кто-то поделится своими задачами, или в комментариях каким-то образом родится что-то удивительно-простое, но позволяющее понять уровень человека?

Читать дальше →
Всего голосов 63: ↑54 и ↓9+45
Комментарии364

Курсоры в Mysql.

Время на прочтение6 мин
Количество просмотров109K
По долгу службы мне пришлось сталкиваться с курсорами. Хотелось бы рассказать, что это такое и о некоторых особенностях работы с ними. Официальная документация тут — dev.mysql.com/doc/refman/5.1/en/cursors.html Википедия даёт такое определение курсору курсор:
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии13

Верстка скругленных границ и острых углов

Время на прочтение4 мин
Количество просмотров21K
Сложность элементов интерфейса увеличивается с каждым новым макетом, что доставляет немало хлопот верстальщикам. Развивающиеся технологии позволяют создавать в WEBе сложные приложения (Google не даст мне соврать), поэтому дизайнеры себя не сдерживают и рисуют всё более навороченные вещи. Как правило, это приводит к большому количеству графики на страницах.

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

Читать дальше →
Всего голосов 190: ↑183 и ↓7+176
Комментарии96

PHP, PREG и UTF-8

Время на прочтение6 мин
Количество просмотров16K
В этом посте речь пойдет о работе РНР5 с multibyte строками посредством preg_*() функций.

Заметил интересное положение дел, вобщем-то давным давно описанное в интернете, но актуальное и по сей день (вопрос всплыл всвязи с недавним постом про trim()).
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии17

Введение в Zend Framework (продолжение)

Время на прочтение12 мин
Количество просмотров17K
Продолжаем рассказ о Zend Framework. В первой части статьи была описана концепция программной архитектуры MVC, рассмотрена структура типового веб-приложения, базирующегося на Zend Framework и выполнена демонстрационная реализация контроллера и вида на его основе. Во второй части будет раскрыта тема модели и приведен пример взаимодействия приложения с базой данных.
Читать дальше →
Всего голосов 35: ↑27 и ↓8+19
Комментарии29

MySQL Performance real life Tips and Tricks. Part 3-rd.

Время на прочтение14 мин
Количество просмотров23K
Решил продолжить цикл заметок по данной тематике. В данной статье особое место хотел уделить профайлингу MySQL запросов. Описать средства, которые предоставляются MySQL для профайлинга, и что нужно делать для определения узких мест запроса.

Также, после опубликования первых двух статей я получил пару отзывов и вопросов, связанных с проектированием БД / расстановкой индексов / составлением запросов. На многие вопросы старался отвечать. С некоторыми из них поделюсь и в этой статье.

Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии40

Функция echo в PHP может выполняться более 1 секунды

Время на прочтение6 мин
Количество просмотров13K

Или об особенностях управления отдаваемым контентом в PHP.


Поводом для данной статьи послужило двухдневное исследование, результаты которого показали, что безобидные по своей производительности функции echo и print на самом деле могут работать очень долго и их производительность зависит от качества интернета конечного пользователя.

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

Читать дальше →
Всего голосов 167: ↑153 и ↓14+139
Комментарии161

MySQL и JOINы

Время на прочтение6 мин
Количество просмотров147K
Поводом для написания данной статьи послужили некоторые дебаты в одной из групп linkedin, связанной с MySQL, а также общение с коллегами и хабролюдьми :-)

В данной статье хотел написать что такое вообще JOINы в MySQL и как можно оптимизировать запросы с ними.

Читать дальше →
Всего голосов 85: ↑83 и ↓2+81
Комментарии67

Безопасная загрузка изображений на сервер. Часть вторая

Время на прочтение7 мин
Количество просмотров28K
Это вторая часть перевода. Начинать прочтение лучше с первой.

Итак, после применения описанных в первой части методов, мы можем прекратить волноваться? К сожалению, нет. То, какие расширения файла будут переданы транслятору PHP, будет зависеть от конфигурации сервера. Разработчик часто не знает и не контролирует конфигурацию веб-сервера. Мы видели веб-серверы, с такой конфигурацией, что файлы .html и .js выполнялись как php. Некоторые веб-приложения могут потребовать, чтобы файлы .gif или .jpeg интерпретировались PHP (это часто случается, когда изображения, например графы и диаграммы, динамически строятся на сервере самим PHP).

Даже если мы знаем точно, какие расширения файла интерпретируются PHP, у нас нет никакой гарантии, что это не изменится в будущем, когда другие приложения будут установлены на сервер. К тому времени можно забыть, что безопасность нашего сервера зависит от этих изменений.
Читать дальше →
Всего голосов 63: ↑59 и ↓4+55
Комментарии31

Иерархические (рекурсивные) запросы

Время на прочтение10 мин
Количество просмотров510K
Дерево объектов

Чтобы понять рекурсию, сначала надо понять рекурсию. Возможно, поэтому рекурсивные запросы применяют так редко. Наверняка вы представляете что такое SQL-запрос, я расскажу, чем рекурсивные запросы отличаются от обычных. Тема получилась объемная, приготовьтесь к долгому чтению. В основном речь пойдет об Oracle, но упоминаются и другие СУБД.

Читать дальше →
Всего голосов 108: ↑103 и ↓5+98
Комментарии159

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность