Pull to refresh
35
0
paradoxs @paradoxs

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

Send message

Плавающая контентная область сайта.

Reading time5 min
Views2.2K
Приветствую Хабр.
По мотивам cайта, сделанного сами знаете кем :)
В свое время увидел, такой эффект – слева сайта находятся ссылки, при клике на которые контентная область сайта плавно перемещается к указанному идентификатору. Эффект запомнился — решил повторить.
Для реализации плавного перемещения взял JQuery.

Читать дальше →
Total votes 125: ↑108 and ↓17+91
Comments78

Иерархические структуры данных и Doctrine

Reading time15 min
Views81K

Введение



Хранение иерархических данных (или попросту — деревьев) в реляционных структурах задача довольно нетривиальная и вызывает некоторые проблемы, когда разработчики сталкиваются с подобной задачей.

В первую очередь, это связано с тем, что реляционные базы не приспособлены к хранению иерархических структур (как, например, XML-файлы), структура реляционных таблиц представляет из себя простые списки. Иерархические же данные имеют связь «родитель-наследники», которая не реализована в реляционной структуре.

Тем не менее, задача «хранить деревья в базе данных» рано или поздно возникает перед любым разработчиком.

Ниже мы подробно рассмотрим, какие существуют подходы в организации хранения деревьев в реляционных БД, а также рассмотрим инструментарий, который нам предоставляет ORM Doctrine для работы с такими структурами.
Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments41

Parallel Extensions для .net 3.5

Reading time8 min
Views5.8K
Aquafresh :-)Количество ядер у процессоров растет год от года. Но многие программы до сих пор умеют использовать только одно. В небольшой заметке хочу рассказать о дополнении к библиотеке System.Threading, которое называется Parallel Extensions. Это дополнение позволяет на высоком уровне выполнять задачи на всех доступных ядрах/процессорах.

Данная статья является лишь кратким вводным обзором в Parallel Extensions. Так же в конце статьи вы найдете ссылки на ресурсы, которые раскрывают тему во всех деталях.

Если интересно, то смело ныряем под кат.
Читать дальше →
Total votes 67: ↑62 and ↓5+57
Comments69

14 бесплатных Web-приложений для совместной работы

Reading time4 min
Views77K
«Люди не являются островами в открытом океане». Это высказывание успешно можно использовать особенно в том случае, если вы — дизайнер или разработчик. Несмотря на существование платных средств, как Basecamp и Zimbra, вы можете использовать ещё и бесплатные, которые, пожалуй, не уступают платным (а порой и обгоняют их).

В этой статье мы рассмотрим 14 бесплатных Web-приложений для совместной работы в сети Интернет. Нужен вам простой редактор с самыми основными возможностями или полнофункциональное приложение для управления проектами, вы сможете обнаружить здесь по крайней мере одно приложение, удовлетворяющее вашим требованиям.

Читать дальше →
Total votes 129: ↑123 and ↓6+117
Comments59

Анонс YUI 2.6.0

Reading time1 min
Views1.5K
Обновилась javascript-библиотека Yahoo! User Interface (YUI) до версии 2.6.0.
Кроме исправлений предыдущих элементов управления, добавлены два новых:

The Carousel Control



Живой пример

The Paginator Control



Живой пример

Прочие исправления перечислены здесь

Скачать новую версию с sourceforge.net (10.5 Mb)
Архив включает документацию, многочисленные примеры и собственно библиотеку YUI.

Ссылка на анонс
Официальный сайт проекта

Total votes 27: ↑22 and ↓5+17
Comments22

MySQL Performance real life Tips and Tricks

Reading time9 min
Views37K
Пообещал вчера написать статью о реальных случаях оптимизации БД MySQL.
Пришлось сегодня вставать утром пораньше чтобы воплотить обещанное в жизнь.
Централизованное управление мыслями поддерживать еще сложно, поэтому не судите строго за казусы и ляпсусы в моей статье.

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

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

Читать дальше →
Total votes 143: ↑139 and ↓4+135
Comments93

Основы NHibernate. Часть 1

Reading time10 min
Views61K
Не так давно попался под руки новый проект. До сих пор, в основном, приходилось допиливать старые. В проекте предполагалось использование БД. Погуглив немного решил отказаться от старых методов работы с данными в пользу ORM. Да, есть много кодогенераторов(например, CodeSmith), которые в считанные секунды создадут уровень доступа к данным, но такие решения не отличаются гибкостью, а при дальнейшем развитии грозят превратиться в кошмар. Хотя и у ORM тоже есть свои недостатки. Но обо всем по порядку. Сейчас же я хочу поделиться с вами моим опытом в освоении одного из представителей мира ORM — NHibernate. Почему из всех возможных ORM я выбрал для изучения NHibernate? Во-первых, потому что надо было выбрать что-то одно. Во-вторых, история NHibernate уходит глубоко корнями в ORM-фреймвокр Hibernate для Java и является достаточно зрелым решением. Больше пока, вроде, и нет аргументов, но, думаю, они появятся позже при более близком знакомстве с NHibernate.
Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments66

Вопросы зала

Reading time1 min
Views865
Идя навстречу общественным пожеланиям, мы решили компенсировать несостоявшуюся запись подкаста с разработчиками проведением встречи с заинтересованными людьми здесь, в доступном виде, общаясь средствами текстовых комментариев. Как было правильно подмечено ранее, это куда более информативно и просто, чем прослушивание многочасовой болтовни и вылавливание оттуда частиц смысла.

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

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

Внимание! Название блога говорит за себя: предпочтение отдаётся вопросам о технической стороне дела
Total votes 65: ↑60 and ↓5+55
Comments256

Города России в именительном, предложном (местном) и родительном падеже.

Reading time1 min
Views8.6K
Приняв во внимание все замечания из предыдущего поста с базой городов, мы обновили ее и добавили еще родительный падеж. Теперь база отвечает на вопрос «Откуда?». Например: Вася из Ярославля.

Скачать:
  1. CSV
  2. MySQL

Автоматическая обработка: Jetfish
Вычитка и ручная корректировка Sofrus

Как и в прошлый раз, при желании, выражайте респект и уважуху им, а не мне. Я просто их прикрываю.
Total votes 111: ↑103 and ↓8+95
Comments24

14 модулей для Drupal, о которых вы должны знать

Reading time2 min
Views12K
В продолжении темы о Drupal’е хочу предоставить несколько расширенный обзор модулей. С помощью некоторых из них можно строить уже не просто standalone-блог, а сообщество с элементами социальности. Список, конечно же, не претендует на полноту и основывается лишь на личном опыте автора.

Итак, вот они:
Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments55

Интерфейсы vs. классы

Reading time4 min
Views284K
Обсуждая с различными людьми — в большинстве своём опытными разработчиками — классический труд «Приёмы объектно-ориентированного проектирования. Паттерны проектирования» Гаммы, Хелма и др., я с изумлением встретил полное непонимание одного из базовых подходов ООП — различия классов и интерфейсов.

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments161

Основы Hibernate

Reading time17 min
Views431K


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

Долго думал, о чем же написать свой «первый» топик… Слово первый не зря взял в кавычки, так как первый топик на самом деле уже был, опыт был к сожалению неудачный — дело закончилось баном.  Решил больше не копипастить. Уверенности тому, что надо написать что-то свое, придал вот этот топик. Решил твердо — пусть это будет и редко, но буду писать сам.

Ну, едем дальше!

Совсем недавно, по роду свой деятельности, мне пришлось столкнуться с таким понятием как ORM — (англ. Object-relational mapping). В двух словах ORM — это отображение объектов какого-либо объектно-ориентированного языка в структуры реляционных баз данных. Именно объектов, таких, какие они есть, со всеми полями, значениями, отношениями м/у друг другом.
Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments112

Коридоры в нашей голове

Reading time2 min
Views2.8K
Коридоры в нашей голове
Я сбрасываю кожу, буду утром в другой.
Я ничего тут поделать не могу.
Никто мне не поможет разобраться с cобой,
Если сам себе не помогу.
Захар Май, «Сбрасываю кожу».

Попробую уравновесить свой жесткий пост этими размышлениями, не менее жесткими, но намного облегчающими жизнь. Для меня эти идеи работают «на все сто».
Ко мне часто приходят новые идеи. Как правило, я какое-то время вынашиваю новую идею внутри. Потом начинаю доставать окружающих с обсуждением этой идеи (например, в ЖЖ, этом блоге или в реальной жизни). Обсуждение позволяет отсеять лишнее, иногда просто выстроить мысли, иногда родить новые.
Очень часто (в большинстве случаев) я слышу вариации одного и того же ответа – «У тебя ничего не получится!»
Почему, черт возьми? Я общаюсь с неглупыми людьми. Многих я считаю умнее себя. Но ответ в большинстве случаев один.

Недавно я задумался над этой проблемой. Это проблема, потому что мне гораздо легче развивать существующие идеи и придумывать новые, не когда я отражаю негативные нападки, а наоборот – чувствую поддержку собеседника.
Читать дальше →
Total votes 48: ↑35 and ↓13+22
Comments32

10 лучших вебсайтов по обучению Photoshop

Reading time1 min
Views56K
Вместо того, чтобы тратить впустую время, обыскивая сеть, в поисках хороших уроков по Photoshop, придерживайтесь этого списка.

PS Heroперейти


PSD tutsперейти


Tutorial 9перейти

Читать дальше →
Total votes 83: ↑73 and ↓10+63
Comments61

Indeed

Reading time3 min
Views2.2K
Существует огромное количество рейтингов языков программирования, некоторые измеряют скорость(Debian Shootout), другие пытаются определить популярность(TIOBE Index), третьи считают количество поисковых запросов(Google Trends) но всё же самым актуальным для любого человека, который зарабатывает программированием на жизнь, является состояние рынка труда. Сайт indeed.com предоставляет очень удобное средство для просмотра различных трендов, в данном случае мы запросили у него динамику спроса на самые популярные языки для Web:



Какие же можно сделать выводы?
Total votes 46: ↑42 and ↓4+38
Comments125

Верстка: реализация «резиновых» кнопок

Reading time2 min
Views6.6K
Практически на каждом сайте нужно реализовывать меню. Обычно в этом нет никакой проблемы — заворачиваем все в ненумерованный список — ul, прописываем все наобходимые стили и готово.
Но очень часто дизайнеры, пытаясь создать очередной мегаопупительный макет, делают какие-либо 3D кнопки, либо кнопки с закругленными краями и кучей градиентов, либо еще что либо ужасное :)

Речь в данном топике пойдет о том, как реализовать такое меню, с учетом того, что размеры каждого пункта меню не фиксированны, то есть могут «тянуться».

Читать дальше →
Total votes 56: ↑49 and ↓7+42
Comments56

Trojan-Dropper.Win32.Agent.rek: «легальный» руткит

Reading time4 min
Views22K
В заметке описывается драйвер, который загружается вирусом, рассмотренным в предыдущей части. Драйвер работает на уровне ядра операционной системы, и обеспечивает «привилегированное» прикрытие основной функциональности трояна, которая работает в режиме пользователя (авторское название компоненты — winnt32.dll. Подробнее о ней см. habrahabr.ru/blog/virus/43787.html).

Краткое описание.
Программа представляет собой nt-драйвер (так же известны, как legacy-драйвера, то есть не связанные ни с каким физическим устройством). Является руткитом: используя механизмы ядра ОС, лишает другие программы доступа к некоторым файлам и ключам реестра.
Детектируется касперским как Trojan-Dropper.Win32.Agent.rek. Размер 27548 байтов.
Лирическое отсутпление. «Обычный» руткит может использовать недостатки в реализации ОС для сокрытия объектов: файлов, сетевых соединений, и так далее вплоть до секторов жесткого диска. Для этого в простейшем случае делается перехват системного вызова. Системный вызов по сути — это вызов функции, а вызов функции — это передача управления по указанному адресу. Руткит записывает по этому адресу свой код, который трансформирует результат оригинальной функции. К примеру, проверяет, пытается ли кто-то открывать файл с телом вируса, и возвращает какой-нибудь код ошибки, например «доступ заперещен».
Руткит перехватывает обращения с реестру и файлам, используя легальные методы самой ОС.
Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments62

Применение Золотого сечения в Web

Reading time5 min
Views49K
К сожалению, в наше время перенасыщенное рекламой, у многих сложился стереотип, что дизайн – это просто симпатичная и яркая картинка.

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

Сделав сногсшибательную картинку, иногда видишь, что все-таки в ней что-то не так. И это отражается на потребителе, когда продажи товара просто не идут. В отличие от конкурента, у которого совершенно пустая белая картинка, с парой выражений (скажем с рекламным слоганом) и логотипом.

На тему эффективного дизайна можно привести несколько ссылок:

10 принципов эффективного веб-дизайна
Пять дизайнерских правил применяемых в Web

Это из того что вспомнилось. Рекомендуется почитать блог Дизайн пользовательских интерфейсов и юзабилити.

Это, скажем так преамбула, которую можно отнести к любому направлению дизайна. В этой статье мы поговорим о Web-дизайне и о применении Золотого Сечения и Правила Третей.

Одной из главных задач эффективного дизайна в Web – это ясность и интуитивность. А также концентрация внимания пользователя на нужных местах страницы. Как этого добиваются?

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

Но в любом случае, Вы должны быть уверены, что у пользователей присутствует ощущение баланса, порядка, гармонии и комфорта. Как раз в этом случае, применение золотого сечения становится важным этапом при разработке дизайна web-страницы.

Читать дальше →
Total votes 116: ↑106 and ↓10+96
Comments57

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity