Pull to refresh
9
0
Борис @xdevel

User

Send message

Используем движок Javascript от IE9 без самого IE9

Reading time4 min
Views4.5K
    По следам моего хабратопика про тестирование ServerSide решил опубликовать небольшой информационный пост о том, как использовать движок Microsoft JScript 9.0 вне IE 9. А точнее самым доступным способом — через Windows Script Host.
     Какая от этого может быть польза? Да хотя бы для тестирования производительности исключительно JavaScript, вне зависимости от рендеринга HTML. Можно протестировать свою будущую <подставь свое>-killer JavaScript библиотеку в более приспособленном для автоматического тестирования окружении. Да мало ли применений может придумать хабрачитатель для свежей версии Javascript движка.
В общем, тем кто заинтересовался, добро пожаловать под кат.
Читать дальше →

Векторные иконки на HTML5 + JS

Reading time1 min
Views10K


На первый взгляд это обычные одноцветные иконки, но если призумить — их качество не ухудшится. Очевидный профит таких иконок: с ними можно свободно экспериментировать и не переживать за высоту и ширину, компактный вид, а не куча файлов в папке icons, ну и наверное маленький размер, хотя с этим поспорить можно. Есть некоторые ограничители в цвете, возможен один цвет либо градиент (но думаю с конвертером нарисованного вектора в js код, возможно и больше цветов)

Смотреть иконки

Если вы хотите использовать эти иконки или создавать свои на подобной основе, кликайте по иконке — внизу появится код выбранной иконки, он вставляется в:

paper.path(<код иконки>).attr({fill: "#000", stroke: "none"});

Поддержку иконок на себя берет Raphaël JS Lib

Источник

Google Maps API

Reading time8 min
Views356K

Картографический сервис – зачем это? Ну например, я 10 лет жил в нашей маленькой провинции, а потом взял и понаехал в Москву, и всё для меня так ново. А где магазины, боулинг, кафешки, парки отдыха – надо знать же, где тратить московскую зарплату. Но вот беда, как узнать? Раньше был справочник «Желтые страницы» и там была карта и всё по адресам. Чтобы найти что-то уходило масса времени. Сейчас стало всё в разы проще. Вот прекрасный пример: http://www.pushkino.org/. Но это далеко не всё.
Я могу отслеживать погоду, пожары, пробки (кстати!) в реальном времени.
Мой заказчик может не вводить свой адрес, а попросту отметить его на карте и я буду знать куда доставить ему товар – какое классное решение, не надо всего этого – «Проспект маршала Блюхера, 43, г. Санкт-Петербург, Россия».

Далее...

Новый мультибар, 7 новых программ и подарок вебмастерам. Та-да!

Reading time2 min
Views11K
Всех хабражителей с наступающим!

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

Разгрузив вагон, понял, что на самом деле новостей всего 3:
1. новый сайт www.ticno.com и 7 новых программ
2. мультибар с 20ю новыми возможностями
3. подарок всем вебмастерам + шампанское на Новый Год



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

PHP + BDD = Behat, или сказ о чудо-библиотеке

Reading time8 min
Views41K
Каждый, кто всерьез занимался разработкой на Ruby, знает про замечательный гем Cucumber. Вкратце — это библиотека для автоматизированного тестирования, заточенная под BDD. Подробнее можно почитать в топике хабраюзера dapi, а еще лучше посмотреть подкаст от Райна Бэйтса. Основная прелесть «огурца» состоит в том, что он позволяет писать тесты на понятном человеку языке, и даже не обязательно английском. Выглядит это так:

Feature: Addition 
  In order to avoid silly mistakes 
  As a math idiot 
  I want to be told the sum of two numbers 

  Scenario: Add two numbers 
    Given I have entered 50 into the calculator
      And I have entered 70 into the calculator
     When I press add
     Then The result should be 120 on the scree

Благодаря Cucumber я подсел на BDD на рельсах. Но вот на PHP, с которым приходится работать основную часть времени, отношения с BDD как-то не сложились. И в первую очередь из-за отсутствия достойного инструментария. Но однажды судьба завела меня на страницу библиотеки Behat (написанной, кстати говоря, хабраюзером everzet). И на меня свалилось счастье…
Читать дальше →

GeoIP – страны и города, декабрь 2010

Reading time1 min
Views2.7K
Вышла в свет новая версия русскоязычной базы данных стран и городов. Основные изменения:
— база maxmind.com была объединена с базой городов России ipgeobase.ru (идея sky_lord)
— с помощью Переводчика Google были переведены на русский язык ~60,000 названий (идея neytrino), а затем с помощью Яндекс.Карт из них были отсеяны артефакты типа «Инь молодых» и «Авиаторов деревня»
— были удалены дубли и произведена оптимизация структуры базы.
Результат этой работы доступен для свободного скачивания.
Читать дальше →

Cветодиодная лампа с регулировкой яркости

Reading time4 min
Views56K
Самодельная светодиодная лампа снабжена увеличительным стеклом, и предназначена для комфортного мелкого монтажа и разборок с миниатюрными радиодеталями — многие радиолюбители знают, что на некоторых SMD-деталях трудно разглядеть маркировку даже под увеличительным стеклом. Наличие качественно рассеянной подсветки значительно улучшает чтение маркировки, и упрощает визуальный поиск дефектов в электронных приборах. Коротко характеристики лампы:
— напряжение питания 12 вольт постоянного тока, максимальная потребляемая мощность около 6..7 Вт, количество светодиодов — 20 шт.
— встроенный режим автоматической калибровки под напряжение источника питания.
— плавное включение и выключение лампы.
— плавная регулировка яркости от нуля до заранее запрограммированного предела — с помощью ручки энкодера. Метод регулировки мощности — ШИМ (широтно-импульсная модуляция).
— энергонезависимое запоминание всех параметров лампы и последней установленной яркости.
— встроенное сервисное меню, доступное через подключение по USB. Меню позволяет настраивать рабочие параметры лампы и просматривать её текущее состояние.
Читать дальше →

Плагин добавления изображений в текст

Reading time2 min
Views2.5K
Доброе утро.
По ходу разработки очередного проекта понадобился простой плагин для стандартного редактора Ext.form.HtmlEditor, который бы добавлял изображения в текст. Собственно его и пришлось сделать. Очередной велосипед, но может быть пригодится ещё кому-нибудь.

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

Теперь о том, как его использовать.

AtomJS — миниатюрный JavaScript фреймворк

Reading time3 min
Views15K

Всем привет! Вторая часть про миниатюрный javascript фреймворк Atom (бывший Nano).
Теперь из Core убрано всё лишнее, вес — 1 кб.
Как и прежде — полный отказ от устаревших браузеров.
Dom, Class, Ajax и т.п. — подключаются как плагины.
Поменялся адрес репозитария: github.com/theshock/atomjs
Под катом — расскажу, что нового и опишу, как создавать плагины
Читать дальше →

VirtualBox 3.2: теперь можно запускать MacOS X в виртуальной машине. Под windows и linux

Reading time2 min
Views73K
logoНеожиданно тихо прошел релиз новой версии virtualbox, в котором впервые появилась возможность запускать в виртуальной машине MacOS X. Официально. С оригинального диска. Не хакинтош.

Почитать что получилось а что нет

QooxDoo 1.3 — очередной релиз JS-фреймворка

Reading time1 min
Views1.2K
imageНа прошлой неделе вышел очередной релиз QooxDoo. Основная задача фреймворка — предоставить возможность проектировать многофункциональные кросс-браузерные веб-приложения. При этом, как сказано на qooxdoo.org, знания HTML, CSS, DOM не требуются.
Каких-то принципиальных новшеств в новом релизе лично я для себя не отметил. Хотя, безусловно, есть некоторые полезные плюшки, такие как Tri-state CheckBox.
В целом библиотека очень функциональна, хорошо продумана, реализована и задокументирована. Для тех кто впервые слышит о ней — отмечу несколько моментов.
Читать дальше →

CSS трюки — пишем сайт без html

Reading time2 min
Views16K
В качестве предисловия к переводу. Открываем Firefox/Opera, переходим по ссылке, смотрим исходный код страницы и удивляемся. Потому что его нет. Под катом рассказ, как такое можно сделать.
Читать дальше →

Обновлён ModularGrid — удобный инструмент для HTML-верстальщиков

Reading time1 min
Views2.7K
Демо-страница
Спешу сообщить, что наконец-то обновил ModularGrid — небольшой javascript, который рисует гайды и модульную сетку поверх вёрстки:
  • появилась панель с контролами для тех, кто не любит хоткеи;
  • состояние сетки теперь сохраняется в cookie;
  • было исправлено несколько досадных ошибок.

Демо-страница | проект на GitHub | предыдущая статья

Анализ проникновения бота через эксплоит в старых версиях phpmyadmin и рекомендации по настройкам безопасности php-хостинга

Reading time11 min
Views13K
Имею на администрировании несколько серверов, на которых хостятся восновном свои проекты, но кроме них ещё довольно много пришлось разместить левых сайтов — клиентов, знакомых, знакомых знакомых и т.п. За время администрирования встречались разные проблемы, поэтому настроены кое-какие мониторинги (zabbix и самописные скрипты).

И вот вчера на одном из серверов скрипт, проверяющий активные соединения, забил тревогу: постоянно висит исходящее соединение на неизвестный хост на порт 433, уже более 9 часов на момент когда я осилил прочитать почту в понедельник утром ;)

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

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

PHPLego: Плагины к сайту своими руками

Reading time11 min
Views14K


Доброго утра, дорогие Хаброчитатели!

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

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

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

Итак, для себя я сформулировал задачу по следующим криетриям:

1) Каждый модуль должен содержать все необходимое для работы в одной папке — и шаблоны, и модель, и контроллер. Дабы его легко можно было скопипастить, подправить — и вуаля — новый модуль.
2) Модуль ничего не должен знать о тех, кто его создает — все необходимые ему для работы данные он получает через конструктор. Это для того, чтобы модуль работал не только на моем сайте, но и на всех сайтах моих друзей и клиентов без всякого допиливания напильником.
3) Для того, чтобы пользоваться модулем его не должно быть нужно где-либо регистрировать или инклудить дополнительные файлы. Это тупо раздражает.
4) Модуль может состоять из модулей. Т.е. должна быть поддержка вложенных модулей.
5) Ссылки (a href=...) внутри шаблонов модулей должны быть относительными, не зависящими от того, на какой глубине вложенности находится модуль. Чтобы банально не править шаблоны, если мы перемещаем модуль из одного родительского модуля в другой.
6) Сам сайт тоже должен быть модулем, раз уж на то пошло. Дабы можно было купить у друга уже рабочий сайт, положить себе в папку и встроить весь его на какую-нибудь страницу без лишних переделок.

Ну вот, для одной статьи я думаю достаточно, приступим к реализации.
Читать дальше →

Тюнинг меню Оперы

Reading time2 min
Views7.4K
Привет %username%! Я много раз слышал, как люди просили убрать встроенную почту или другие фичи и делал это несколько раз сам, на что каждый раз все пытавшиеся получал отказ. Но ведь это не мешает самостоятельно убрать с поля зрения всё то, что нам не нравится?
Читать дальше →

Вышел MODx Revolution 2.0.5

Reading time2 min
Views1.1K
Спустя всего лишь пару месяцев после выхода 2.0.4, а также благодаря растущему числу разработчиков использующих MODx Revolution мы имеем один из самых «напичканных» релизов.

Настройка Форм (Form Customization) была полностью переосмыслена и переделана, чтобы ей было намного проще пользоваться. В 2.0.5 мы также включили шаблоны Политик Доступа, которые позволят вам проще управляться с правами пользователей.

Вот основные изменения в Revolution 2.0.5:
Читать дальше →

Бульбулятор травилка. Ускоритель травления печатных плат

Reading time3 min
Views31K
Помню ещё в 12 лет, когда травил свою первую печатную плату, просто изнывал от нетерпения произвести этот процесс быстрее. Тогда раствор был старым и травление шло почти сутки. Ныне я травлю, конечно, значительно быстрее, но всё же не за пару минут. А ведь так хочется узрить результат своих трудов и перейти к более интересной стадии – сверлению и запайке деталей. И вот поселилась в моей голове мысль, как же ускорить данный процесс. Собственно говоря, все кто травит печатные платы, знают, что ускорение травления обеспечивают два фактора: повышение температуры раствора и постоянное его перемешивание. Первый фактор легко достижим – залил хлорное железо кипяточком и получил профит. А для реализации второго, каких только конструкций я не встречал: и мешалки, и качалки, и педальки и т.п. бред. Но на самом деле, всё оказалось значительно проще, дешевле, а главное доступнее.

image
Бульбулятор собственной персоной

Для изготовления потребуется:
— поллитровая пластиковая бутылка любимого напитка;
— дешевый аквариумный компрессор;
— вертикальная прямоугольная ёмкость, желательно прозрачная (я использовал ёмкость от старого аккумулятора, можно использовать квадратную вазу, главное чтобы была не металлическая);
— шланг для компрессора, длинной метр (покупается в том же магазине, где и сам компрессор);
— прямоугольная пластина, для сборки (можно использовать фанеру, или железо, я же использовал толстый гетинакс).

Из инструментов нам потребуется только термоклей с термопистолетом.

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

Watir: простой парсинг сложных сайтов

Reading time4 min
Views51K
imageКаждый, кто пишет парсеры, знает, что можно распарсить сто сайтов, а на сто-первом застрять на несколько дней. Структура очередного отмороженного сайта может быть сколь угодно сложной, и, когда дело касается сжатых javascript-ов и ajax-запросов, расшифровать их и извлечь информацию с помощью обычного curl-а и регекспов становится дороже самой информации.

Грубо говоря, проблема в том, что в браузере работает javascript, а на сервере его нет. Нужно либо писать интерпретатор js на одном из серверных языков (jParser и jTokenizer), либо ставить на сервер браузер, посылать в него запросы и вытаскивать итоговое dom-дерево.

В древности в таких случаях мы строили свой велосипед: на отдельной машине запускали браузер, в нем js, который постоянно стучался на сервер и получал от него задания (джобы), сам сайт грузился в iframe, а скрипт извне отправлял dom-дерево ифрейма обратно на сервер.

Сейчас появились более продвинутые средства — xulrunner (crowbar) и watir. Первый — безголовый firefox. У crowbar есть даже ff-плагин для визуального выделения нужных данных, который генерит специальный парсер-js-код, однако там не поддерживаются cookies, а допиливать неохота. Watir позиционируется разработчиками как средство отладки, но мы будем его использовать по прямому назначению и в качестве примера вытащим какие-нибудь данные с сайта travelocity.com.

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

Nano — миниатюрный JavaScript фреймворк

Reading time3 min
Views6.3K
Привет, читатель. Есть много прекрасных и мощных JavaScript-фреймворков. JQuery, MooTools, ExtJS, и множество других. Они кроссбраузерны и громадны. И пользоваться ими — одно удовольствие.

Но иногда, бывает, хочется написать какой-нибудь небольшой скриптик на 5 килобайт и как-то совесть мучает подключать JQuery, который весит в сжатом виде 75 килобайт. И каждый раз начинаешь писать свой мини-фреймворк:
var dom = {
	id  : function (id)  { return document.getElementById(id); },
	tag : function (tag) { return document.getElementsByTagName(tag); },
};


Вроде бы, больше для начала и не надо. А потом вспоминаешь про createElement, легкий способ присвоить CSS, наследование, расширение прототип. И в общем каждый раз пишешь свой велосипед.
В этот раз я решил написать миниатюрный фреймворк, который можно было бы без зазрений совести подключать даже к самым маленьким проектам. В сжатом виде он весит всего 4 килобайта (в 20 раз меньше JQuery).
И в нём есть еще одно преимущество по сравнению со всеми современными фреймворками — полный отказ от устаревших браузеров, за счёт чего в эти 4 килобайта вместилася половина JQuery.

Итак, приветствуйте, JavaScript-фреймворк Nano

Читайте актуальную вторую часть!



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

Information

Rating
Does not participate
Location
Пятигорск, Ставропольский край, Россия
Date of birth
Registered
Activity