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

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

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

jqGrid — Динамические таблицы на jQuery. Сложный Поиск

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

Введение


На мой взгляд, jqGrid — самый успешный и удобный на данный момент плагин для jQuery, работающий с таблицами БД через AJAX запросы и PHP (Так же существует версия для ASP.NET).

Все подробности в данной статье я опущу, акцентируя ваше внимание лишь на вопросе, как сделать сложный поиск по таблице, используя этот плагин.
Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии48

Видеокурс по Kohana 3. Часть 2

Время на прочтение2 мин
Количество просмотров8.7K
видеокурс по Kohana 3

Приветствую уважаемое хабросообщество!

В предыдущей публикации я рассказывал о своем бесплатном видеокурсе по Kohana 3 для начинающих, где опубликовал первые 15 видеоуроков.

На прошлой неделе я закончил работу над видеокурсом. Видеоуроков получилось 27. Я считаю, что рассмотренного в них материала достаточно для преодоления порога вхождения новичка и дальнейшего самостоятельного изучения возможностей фреймворка.

Основываясь на знаниях, полученных из видеокурса, слушатель сможет самостоятельно запрограммировать функционал довольно сложного интернет-проекта.
Читать дальше →
Всего голосов 53: ↑43 и ↓10+33
Комментарии34

Быстрая автоматическая установка Ruby on Rails на IIS 7

Время на прочтение4 мин
Количество просмотров7.2K
Популярность фреймворка Ruby on Rails постоянно растет, общество становится шире и, если раньше об использовании Ruby на Windows говорилось редко, то сегодня это вполне реальная практика.

Такие проекты как RubyInstaller (http://rubyinstaller.org/) и RailsInstaller (http://railsinstaller.org/) значительно упрощают создание рабочей среды на Windows. Вы можете использовать нативный MRI 1.8 и 1.9, JRuby или даже IronRuby работающий на .NET. С Windows работает большинство gem-пакетов, причем благодаря DevKit (https://github.com/oneclick/rubyinstaller/wiki/Development-Kit) «сишные» джемы можно собирать прямо из исходников.

Однако, несмотря на активное развитие средств разработки, до сих пор Windows и в частности веб-сервер IIS практически не использовались как «продакшн» решение для развертки Rails приложений. Но с появлением нового инструмента Helicon Zoo на базе Web Platform Installer – эта ситуация поменялась.

Helicon Zoo


Helicon Zoo – это репозиторий веб фреймворков и приложений, позволяющий легко устанавливать и запускать Rails, Django (фактически любые rack, wsgi или FastCGI приложения) и Mojolicious на веб-сервере IIS.

Читать дальше →
Всего голосов 43: ↑32 и ↓11+21
Комментарии64

Работа с умом, а не руками: пример увеличения производительности редактирования текста в Emacs

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

История


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

Это был Bash-скрипт для автоматизации процесса сборки на различных Unix-ах и, реальность такова, что между моей средой и средой сервера сборки небыло ничего общего.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии26

Производительный и читабельный XSLT: сборник советов

Время на прочтение7 мин
Количество просмотров10K
В моей практике чаще всего в качестве шаблонизатора используется именно XSLT. Я не буду рассуждать о том, почему так происходит — о преимуществах данной технологии написано вполне достаточно. Но ещё больше написано о её недостатках. Считается, что XSLT является слишком многословным и тяжёлым для чтения, а также не самым производительным. В этой статье я постараюсь собрать несколько советов по улучшению качества XSLT-кода с точки зрения читабельности и выразительности. Некоторые из них также позволят XSLT работать несколько быстрее.

Именованные шаблоны

Многие «проблемы» XSLT связаны с тем, что мы слишком часто пытаемся писать на нём в процедурном стиле. Мы постоянно пытаемся сделать из него Smarty, но упираемся в один простой факт — XSLT является декларативным языком, как бы необычно это для нас не выглядело.
Например, мы пытаемся использовать именованные шаблоны, воспринимая их как процедуры, выводящие данные в определённом формате:

<xsl:template name="CreateItemLink">
    <xsl:param name="item"/>
    <a href="/item/?id={$item/id}">
        <xsl:value-of select="$item/name"/>
    </a><br/>
</xsl:template>


* This source code was highlighted with Source Code Highlighter.

Наверное, многие программисты именно так написали свой первый шаблон. И он неплохо решает свою задачу. Декларативный XSLT предлагает немного другой подход:

<xsl:template match="item">
    <a href="/item/?id={id}">
        <xsl:value-of select="name"/>
    </a><br/>
</xsl:template>


* This source code was highlighted with Source Code Highlighter.

Разница совсем не велика. Дело вкуса и стиля программирования. Давайте посмотрим, как шаблон будет использоваться в дальнейшем.

Читать дальше →
Всего голосов 60: ↑59 и ↓1+58
Комментарии50

WebSockets в Rails приложении

Время на прочтение3 мин
Количество просмотров17K
Недавно я столкнулся с необходимостью реализовать небольшой чат в одном из Rails-проектов. Существует много способов решения данной задачи, начиная от периодических опросов сервера с помощью AJAX и заканчивая использованием готовых решений сторонних сервисов. С целью минимизации трафика и времени отклика системы было принято решение использовать WebSocket API – одну из частей стандарта HTML 5, позволяющую серверу инициировать передачу данных, не дожидаясь запроса клиента. К сожалению WebSocket API поддерживается достаточно ограниченным числом браузеров, среди которых Google Chrome, Safari 5, Mobile Safari в iOS 4.2 и выше и пожалуй все (если я ошибаюсь – поправьте меня в комментариях). Конечно же этого недостаточно для боевого приложения, поэтому необходимо предложить запасной вариант для браузеров без нативной поддержки WebSocket API. Удобнее всего в этом случае использовать Flash Sockets. С помощью WebSocket API и Flash Sockets приложение покрывает большую часть возможных случаев, включая как настольные системы (MS Windows, Linux, Mac OS X), так и мобильные (Android, iOS).
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии11

Ускорение кода на Python средствами самого языка

Время на прочтение5 мин
Количество просмотров81K
Каким бы хорошим не был Python, есть у него проблема известная все разработчикам — скорость. На эту тему было написано множество статей, в том числе и на Хабре.

Что с этим можно сделать?
Всего голосов 98: ↑86 и ↓12+74
Комментарии46

Пишем модуль расширения для Питона на C

Время на прочтение9 мин
Количество просмотров27K
OMFG! — может воскликнуть читатель. Зачем писать что-то на С когда есть Python, и будет во многом прав. Однако, к счастьюсожалению наш зелёный друг не всесилен.
Итак...
Всего голосов 96: ↑93 и ↓3+90
Комментарии41

Новое в Ext GWT 3.0

Время на прочтение6 мин
Количество просмотров6.9K
JavaScript-библиотеки Ext JS и Ext GWT известны, помимо прочего, одним из лучших наборов визуальных компонентов — как по дизайну, так и по кроссбраузерности, да и по стабильности работы. Потому и руки сами тянутся к любому проекту на GWT добавить Ext и заменить скучные гугловые виджеты на симпатичные формы и окошки.

Однако интеграция Ext GWT и GWT до сих пор оставляла желать лучшего — по сути, вторая версия Ext GWT полностью вытесняет все средства компоновки интерфейса GWT, предлагая собственные API для всего, вплоть до обработки событий. Поэтому для третьей версии библиотеки, доступной сейчас в виде developer preview, разработчики из Sencha активно переписывают скриптовое наследие Ext JS, используя паттерны и идиомы, принятые в GWT. Главное ожидаемое преимущество — более корректная интеграция с GWT и, как следствие, более компактный и оптимизированный код интерфейса: генерация и обфускация JavaScript и CSS происходит на этапе GWT-компиляции, с использованием механизма deferred binding, за счёт чего исключаются фрагменты кода, не использующиеся в текущем проекте.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии8

Асинхронные задания в Django c помощью Celery

Время на прочтение5 мин
Количество просмотров65K
Приветствую!
Думаю, большинство разработчиков Django слышали о Celery — системе асинхронного выполнения заданий, а многие даже активно её используют.

Около года назад на хабре была довольная хорошая статья, рассказывающая о том, как использовать Celery. Однако, как было упомянуто в заключении, уже вышла Сelery 2.0 (на данный момент стабильной версией является 2.2.7), где интеграция с django была вынесена в отдельный пакет, а также произошли другие изменения.

Данная статья будет полезна прежде всего новичкам, которые начинают работать с Django, и им требутся что-то, способное выполнять асинхронные и/или периодические задания в системе (например очистку устаревших сессий). Я покажу как установить и настроить Сelery для работы с Django от начала до конца, а также расскажу про некоторые другие полезные настройки и подводные камни.
Итак, приступим.
Всего голосов 56: ↑51 и ↓5+46
Комментарии64

Подводные камни при работе с php-handlersocket

Время на прочтение4 мин
Количество просмотров4.7K
HandlerSocket — это noSQL-плагин для mySQL, позволяющий обращаться к базам данных в обход уровня SQL.

Данная статья предназначена для тех, кто успешно поставил HandlerSocket и php-handlersocket, а также столкнулся со скудным мануалом и странным поведением этого плагина для php.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии18

Резервное копирование Rails проектов без затей

Время на прочтение3 мин
Количество просмотров4.5K
Как известно, люди делятся на тех кто еще не делает резервных копий, тех кто уже делает, и тех кто уже делает и проверяет возможность восстановления

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

А делаем мы резервные копии через gem backup

Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии16

HBase + Thrift + PHP

Время на прочтение4 мин
Количество просмотров11K
Видимо так сложилось исторически, но на хабре не очень много статей о HBase, Thrift и тем более о том как их связать для работы с PHP клиентом. Давайте же ликвидируем этот пробел и пройдемся от инсталяции HBase до получения PHP клиентом примитивных данных из HBase.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии18

Android + Arduino = ♥

Время на прочтение4 мин
Количество просмотров145K
Не так давно Google открыл API для работы Android устройств с USB. Сегодня пришло время пощупать что же это такое и узнать какие возможности нам открываются.



Читать дальше →
Всего голосов 103: ↑100 и ↓3+97
Комментарии54

Архитектура контроллеров: простые советы на каждый день

Время на прочтение6 мин
Количество просмотров3.9K
То, что контроллеры должны быть «худыми» знают все, но по мере наращивания функционала поддерживать чистоту контроллеров становится все сложнее и сложнее. Мы хотим предложить несколько рекомендаций как содержать свои контроллеры максимально чистыми без ущерба для качества кода.
Читать дальше →
Всего голосов 51: ↑47 и ↓4+43
Комментарии44

Плавный переход сети компании на IPv6

Время на прочтение4 мин
Количество просмотров43K
Здравствуйте, хабрасообщество.

Хотелось бы осветить переход сети на IPv6, так как эта теме слабо освещена, тем более на русском языке. Сначала посмотрим на то, как выглядит наша сеть до перехода:

image
Читать дальше →
Всего голосов 86: ↑83 и ↓3+80
Комментарии42

Что почитать, чтобы повысить свой уровень JavaScript

Время на прочтение3 мин
Количество просмотров98K
От переводчика: Я думаю многие читали статью Rey Bango — What to Read to Get Up to Speed in JavaScript, но до хабра обсуждение так и не докатилось. Предлагаю закрыть этот пробел и поговорить о хороших книгах, блогах, тренингах и конференциях, посвященных в первую очередь клиентскому JavaScript и клиентской веб-разработке. Чтобы не копипастить оформляю статью в виде перевода.

Сейчас в рассылке JSMentors JavaScript идет обсуждение книг, который стоит прочитать, чтобы улучшить свои знания. Там было много позитивных отзывов и предложений. Я хочу показать вам те книги и интернет-ресурсы, который я считаю важными и которые помогут вам в обучении. На этой странице я перечислил большое количество источников, разделенных по уровням.

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

Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
Читать дальше →
Всего голосов 165: ↑161 и ↓4+157
Комментарии31

tinycmd — ввод нескольких символов вместо длинной команды в консоли

Время на прочтение2 мин
Количество просмотров1.2K
tinycmd

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

Гораздо проще в таких случаях просто попросить человека открыть терминал и набрать определённую строчку команд. Но как именно это сделать, если человек плохо знаком со столь привычными нам компьютерными понятиями? Если диктовать по телефону, то ему может быть сложно искать спец. символы на клавиатуре, и он может расставлять пробелы не в том месте, а если использовать текст, то может потребоваться сначала объяснить ему, что такое буфер обмена, и как выделять и копировать текст, а потом разбираться, почему команда не работает (а потом выяснить, что человек, например, скопировал команду целиком, за исключением последнего символа).

Только что я закончил работу над сервисом tinycmd. Этот сервис позволяет сокращать целую строчку команд до всего лишь нескольких символов, которые нужно набрать в терминале, и нажать Enter.

Такая команда может выглядеть например так:

t 2b3
Читать дальше →
Всего голосов 69: ↑61 и ↓8+53
Комментарии122

Кое-что о Wi-Fi

Время на прочтение7 мин
Количество просмотров304K
Недавно побывал на конференции на тему “Построение беспроводных сетей”. Не смотря на то, что довольно длительный период работаю администратором, мне не каждый день приходится разворачивать беспроводные сети. Спешу с вами поделиться некоторыми нюансами. Всех заинтересованных приглашаю под кат.

image
Читать дальше →
Всего голосов 176: ↑168 и ↓8+160
Комментарии62

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность