Pull to refresh
0
voland_2003 @voland_2003read⁠-⁠only

User

Send message

Полезные инструменты для web-разработчиков

Reading time2 min
Views2.4K
Хотелось бы просто поделиться ссылкой на простейшие инструменты, которые могут помочь web-разработчикам, облегчив их рутинные процедуры.

MailLink


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

Конечно у него есть и свои минусы:
  1. адрес будет показываться только при всключенном JavaScript
  2. если у робота есть поддержка JS, то он может распознать скрываемый e-mail
Насчет первого, то скорее всего выключенный JS — это паранойя во времена веб два нуль и выше. Насчет второго, то как показала практика — писателям таких пауков очень лень пытаться распознать закодированные адреса, когда на просторах сети полным полно не закодированных. Так что данных алгоритм работает в большинстве, чем 99.5% случаев.

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

Устанавливаем и настраиваем LAMP и Trac+SVN на Ubuntu

Reading time4 min
Views16K
Прочитав эту статью, я осознал, что Trac+SVN очень помогут в работе и решил настроить эту связку у себя на машине.

С недавних пор я использую Убунту линукс, потому установка и настройка проходили с учетом особенностей данной системы. LAMP у меня уже был установлен ранее, так же как и inadyn. В итоге я получил достаточно гибкую и удобную систему управления своими проэктами, к которой есть доступ по сети. Интересно, как сделать?
Делюсь опытом

Версия 0.3.5

Reading time4 min
Views575
Web Optimizer (Веб Оптимизатор) — приложение, автоматизирующее все действия по клиентской оптимизации для произвольного сайта. На данный момент оно существует в виде отдельного приложения (которое нужно самостоятельно установить на сайт). Приложение протестировано и установлено на таких CMS как Drupal 5 и 6, Joomla 1.0 и 1.5, Wordpress 2.7 и многих других.

Подробное руководство по установке.
Загрузить версию 0.3.5.
Загрузить мини-установщик версии 0.3.5.
Читать дальше →

Основы репликации в MySQL

Reading time10 min
Views333K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →

Винные Трюки или установка компонентов Windows в Wine

Reading time1 min
Views34K
Удивлен, что на Хабре все еще нет описания программы winetricks и плюсов, которые она может дать.

Многие сталкивались с ситуацией, когда Windows-программе требуется какой-то компонент для запуска. Например, .NET, Mono или DirectX.

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

Сообщество Wine решило эту проблему.

Рассмотрим подробнее.

Прописываем dpi в PNG с помощью PHP

Reading time2 min
Views5.3K
Понадобилось мне тут вдруг для одной прикладной задачи генерировать PNG-шки на PHP, чтобы затем их можно было вставлять в документы и распечатывать. Но вот проблема, никак с помощью GD в PHP при сохранении нельзя задать разрешение в dpi, а ведь это очень важно при печати. С ImageMagick мне связываться не хотелось, поэтому я быстренько нагуглил PNG (Portable Network Graphics) Specification и написал вот такой код:
Читать дальше →

Оптимистичные примитивы синхронизации, очереди и все-все-все. Трагикомедия в трёх действиях

Reading time4 min
Views8.8K
Заранее предупреждаю, для тех кто в теме, интересного будет не очень много. :)

У меня появилась актуальная задача реализовать базовые примитивы синхронизации(мьютекс, семафор и read/write lock), используя только синхронную очередь — единственный доступный примитив. Заодно по пути я расскажу как устроены спинлоки и мы даже соберём маленького франкенштейна.

Часть 1: Всё — очереди

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

Многоуровневое дерево с маркерами (HTML, CSS). Продолжение с jQuery

Reading time7 min
Views42K
Посмотреть в работе многоуровневое дерево с маркерами.В продолжение темы про дерево немного переделал код и подключил jQuery. Теперь дерево живое, узлы разворачиваются, как этого многие ожидают видя подобное дерево.
Теперь оформление дерева делает скрипт — сам расставляет маркеры для элементов с вложенными узлами.
Благодаря использованию скрипта HTML стал проще.

UPD 05.04.2009: обновлены скрипты, есть несколько вариантов скриптов.
UPD 09.04.2009: продолжение
Читать дальше →

Введение в объектно-ориентированные базы данных

Reading time9 min
Views59K
ООСУБДОбъектно-ориентированные базы данных – базы данных, в которых информация представлена в виде объектов, как в объектно-ориентированных языках программирования.

Применять или не применять объектно-ориентированные системы управления базами данных (ООСУБД) в реальных проектах сегодня? В каких случаях их применять, а в каких нет?

Вот преимущества использования ООСУБД:
  • Отсутствует проблема несоответствия модели данных в приложении и БД (impedance mismatch). Все данные сохраняются в БД в том же виде, что и в модели приложения.
  • Не требуется отдельно поддерживать модель данных на стороне СУБД.
  • Все объекты на уровне источника данных строго типизированы. Больше никаких строковых имен колонок! Рефакторинг объектно-ориентированной базы данных и работающего с ней кода теперь автоматизированный, а не однообразный и скучный процесс.
Интересно? Тогда стоит попробовать!

В статье описано все, что требуется для начала работы с ООСУБД db4o.

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

2D игры на XNA теперь можно запускать через браузер!

Reading time1 min
Views2.7K
Если вы пишите 2D игры под PC, Zune и XBOX, пользуясь средствами Microsoft XNA, то у меня для вас очень приятная новость: теперь в ваши игры можно будет играть через браузер!
На Codeplex (хостинг для opensource проектов от Microsoft) появилась библиотека, которая эмулирует функции XNA на платформе Silverlight, называется она XN4SL.

image

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

Отладка в Django

Reading time4 min
Views29K
Новичкам в Django будет полезно узнать об очень полезном инструменте отладки — debug-toolbar. Он настолько крут, что его называют Firebug for Django. На больших проектах без него (или другого отладчика) не обойтись.
Посмотрите, как это работает.

Простое сравнение изображений с помощью php

Reading time3 min
Views27K
Алгоритм возможно не новый, и не является идеалом, но, на удивление, работает. Никаких графов и корелляции.

Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
Читать дальше →

Многоуровневое дерево с маркерами (только HTML, CSS, без Javascript)

Reading time5 min
Views24K
Многоуровневое дерево с маркерами (только HTML, CSS)До того как заняться верской гитарных аккордов (статьи 1,2,3) я столкнулся с необходимостью сделать человеку на сайте меню-дерево. Рисовать не хотелось вообще, поэтому я взял старый добрый HTML с CSS и начал делать это дерево, начал с простого одноуровневого, а позже сделал многоуровневое с маркерами, которое и представлю.

Позже это дерево дало мне плоды в виде habrahabr.ru/blogs/css/53792
Читать дальше →

Атака на беспроводные сети. Чуть меньше теории и чуть больше практики

Reading time6 min
Views316K
image
В общих чертах теорию и процесс атаки хорошо описал юзер n3m0 в своих статьях «Атаки на беспроводные сети», поэтому я не буду заострять внимание на многих теоретических моментах.
Я же хочу описать самые простейшие способы обхода защиты, но более подробно.
Читать дальше →

«Подарки» в соцсетях — новые идеи

Reading time3 min
Views6.3K
Многие социальные сети предлагают пользователям такую платную услугу как «подарки». Обычно это символические знаки внимания, представленные в виде картинок, которые можно подарить другому пользователю, оплатив подарок sms-кой. Типичная стоимость подарков лежит в диапазоне от доллара до $7 за штучку.



Мы задумались: а что можно изобрести нового, необычного, интересного в этой области? И посвятили теме подарков недавнюю встречу клуба Brain Exchange. Участники встречи генерили новые мысли в формате мозгового штурма, поэтому часть идей может показаться странными или не подходящими — но наверняка их можно развить во что-то полезное. Мы делимся этими идеями со всеми желающими.
Итак, что мы придумали ...

Q4wine — установка Windows-игры в Wine в картинках

Reading time2 min
Views27K
В этой статье я опишу установку Windows-игры в Wine через Q4Wine.
Для примера я возьму TrackMania Nations Forever.

Я думаю, что Q4Wine у вас уже установлен. Если нет, посетите страничку программы, или возьмите из GIT-репозитория.
Ебилды для Gentoo доступны в оверлее qting-edge.

Итак,
Читать дальше →

Реинициализация кластера баз данных PostgreSQL

Reading time4 min
Views33K

Предмет описываемой проблемы



При работе с базой данных в PostgreSQL необходимо не забывать, в какой локали (locale) был инициализирован кластер БД — так в постгре называется директория (обычно /var/lib/pgsql/data), в которой хранятся данные всех баз этой установки PostgreSQL.

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

Ещё один php шаблонизатор

Reading time9 min
Views13K

Доброго времени суток,

Хочу рассказать о своём шаблонизаторе для проектов на PHP.
Понимаю, что рискую быть обвинённым в изобретении велосипеда, поэтому объясню свои мотивы: Большинство шаблонизаторов меня не устраивают изначально, среди них Smarty, Quicky и все им подобные, причина — мне кажется, что шаблонизатор должен избавлять от использования логики в шаблонах, а не навязывать свой синтаксис для той же логики.
Иначе говоря, такой:
  1. {?$x = 2+2}
, или такой
  1. {foreach name=my from=array('One','Two','Three') key="i" item="text"}
подходы для меня абсолютно неприемлимы!
Пожалуй, из всех шаблонизаторов больше всех удовлетворяет моим требованиям xtemplate, но у него есть целый ряд недостатков которые меня раздражают, например то, что все страницы нужно обрамлять в блоки, или то, что он интерпретирует шаблоны, а не компилирует, благодаря чему скоростью похвастаться не может. Ну и последнее — я решил написать шаблонизатор так, чтобы не было никаких проблем с добавлением функционала, а также, чтобы он был совместим с нативным шаблонизатором, который я использовал до этого, и к которому привык. Дело в том что конструкция 
  1. $tpl->assigned_var='abc';
которую часто используют нативные шаблонизаторы, мне нравится гораздо больше чем что-нибудь вроде:
  1. $thl->assign('assigned_var','abc');
Читать дальше

Версия 0.3

Reading time2 min
Views432
Web Optimizer (Веб Оптимизатор) — приложение, автоматизирующее все действия по клиентской оптимизации для произвольного сайта. На данный момент оно существует в виде отдельного приложения (которое нужно самостоятельно установить на сайт). В качестве базы для Web Optimizer использовался PHP Speedy.

Подробное руководство по установке.
Загрузить версию 0.3.
Читать дальше →

Вводный курс по Drupal

Reading time1 min
Views12K
Многие начинающие работать с Drupal, говорят что система очень сложная, что в Joomla все проще. Так вот, специально для начинающих осваивать эту CMS хабрый пользователь Infanty составил не большую инструкцию на 75 страниц с большим количеством скриншотов.Краткое содержание:
  1. Установка пакета программ — Денвер
  2. Установка CMS Drupal
  3. Перевод языка CMS Drupal и её модулей на язык отличный от английского языка
  4. Установка модуля редактора текстов
  5. Создание сайта визитки
  6. Создание портала на Drupal
Так же кратко рассматриваются вопросы переноса с локального компьютера на сервер, обновление модулей и самого движка Drupal, оптимизация работы сайта и оптимизация под поисковые системы. В общем — весь джентельменский набор в одном файле. Инструкция в самом деле очень подробная, но находится в стадии формирования, поэтому ваши отзывы и критика будут очень полезны. Автор материала планирует написание и перевод еще нескольких интересных статей по Drupal, за что я лично ему весьма благодарен.Скачать Вводный курс по Drupal

Information

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