Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

JavaScript *
Во-первых, все написаное ниже относится к клиентской части web-приложений, созданных на JavaScript.
Во-вторых, это относится к web-приложениям, использующим модульную архитектуру для расширения своей функциональности (подгрузка/выгрузка модулей).
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 773
Комментарии 15

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

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

Разработка модуля для Apache 2.x

Разработка веб-сайтов *

Предисловие



Недавно мне пришлось столкнуться с необходимостью разработать собственный небольшой модуль для веб-сервера Apache 2.2.x. Проведя несколько часов в поисках подходящей информации, я столкнулся с тем фактом, что по-русски об этом мало кто рассказывает. Поэтому и возникла идея написать эту статью. Ниже я постараюсь как можно подробнее поделиться накопленным опытом, пошагово описать этапы создания модуля и приведу различные полезные ссылки по данной теме.

Читать дальше →
Всего голосов 94: ↑93 и ↓1 +92
Просмотры 9.9K
Комментарии 24

Практикум Silverlight: Начинаем работать с Composite Application Library

.NET *

Для кого эта статья



Данный пост будет интересен для вас если:

  1. Вы нацелены на развитие
  2. Вы работаете с RIA средой, такой как Silverlight (так же WPF)
  3. Если вы уже где-то слышали такие слова как Composite Application Guidance, Composite Application Library
  4. Вы заинтересовались статьей Павла ИвченковаСоздание приложения на WPF с использованием принципов TDD 
  5. Вам было интересно прочитать статью AcervUse Case Driven Development и Composite UI Application Block

Читать дальше →
Всего голосов 33: ↑22 и ↓11 +11
Просмотры 1.6K
Комментарии 13

Debug Toolbar

Kohana *

Kohana Debug Toolbar

Debug Toolbar — это модуль для Коханы, который упрощает отладку приложений, написанных на этом PHP-фреймворке. Благодаря различной статистической и отладочной информации, процесс разработки становится проще и приятней для программиста.

Под катом краткая инструкция по установке, описание возможностей и ссылки на дополнительную информацию.
Читать дальше →
Всего голосов 33: ↑25 и ↓8 +17
Просмотры 3.1K
Комментарии 35

Модуль для Joomla 1.0 — вывод «код для блога»

Чулан
image
Написал простой в настройке и использовании модуль, который генерирует код для вставки в блог из текста открытой к просмотру статьи. В код включается — заголовок, 250 первых символов текста и ссылка «читать далее».
Есть несколько параметров настройки — а админ панели.
Пока написан для Joomla 1.0.xx. Если будет полезен и популярен напишу и для 1.5.

Скриншот модуля
Скачать модуль Eadd to blog
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 164
Комментарии 6

KO3: HMVC и роутинг

Kohana *
Не так давно вышла третья версия этого фреймворка. Еще до его выхода я делал небольшой обзор новых возможностей. Тогда я обошел тему роутинга и HMVC, но сегодня готов исправиться.
Читать дальше →
Всего голосов 57: ↑46 и ↓11 +35
Просмотры 9.9K
Комментарии 17

Импорт views из модуля

Drupal *

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

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

Читать дальше →
Всего голосов 15: ↑10 и ↓5 +5
Просмотры 1.3K
Комментарии 7

Импорт Content type вместе с CCK полями

Drupal *

Я как-то уже описывал процесс импорта Views, а теперь хочу расказать как импортировать Content type со всеми CCK полям.

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

Написал, чтобы самому не забыть, и другим помочь :)
Постарался максимально все описать, так что понятно будет даже новичкам.

Читать дальше →
Всего голосов 27: ↑23 и ↓4 +19
Просмотры 1.3K
Комментарии 14

Orchard CMS для разработчика

Разработка веб-сайтов *

На прямо сейчас проходящей в Лас-Вегасе конференции MIX11 была представлена новая версия Orchard CMS – open-source CMS от Microsoft включающая все самое вкусное и полезное из технологий MSFT, находящаяся, можно сказать, на острие. После первого взгляда – CMS вполне понравилась (сравниваю, в основном, с Umbraco) – и появилось желание разобраться — как же собственно происходит разработка для Orchard. Если в этом ваши желания совпадают с моими — читайте дальше.
Читать дальше →
Всего голосов 44: ↑27 и ↓17 +10
Просмотры 19K
Комментарии 7

Разработка модулей для Limbo на C (часть 1)

Софт
Tutorial
Модули для Limbo написанные на C так же иногда называют драйверами OS Inferno т.к. они встроены в ядро OS. Необходимость в таких модулях обычно вызвана либо желанием добавить к Limbo отсутствующую в Inferno функциональность (подключить существующие 3rd-party C/C++ библиотеки, дать доступ к специфичным для конкретной host OS syscall-ам) либо желанием выжать максимально возможную производительность (по моим наблюдениям разница в скорости между Limbo с включенным JIT и C примерно 1.3-1.5 раза, но иногда и это может оказаться критичным).
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 1.5K
Комментарии 9

Разработка модулей для Limbo на C (часть 2)

Софт
Tutorial
Часть 1

Содержание



Heap


Чтобы на C корректно создавать и уничтожать сложные структуры, с которыми будет работать код на Limbo, необходимо представлять себе как они хранятся в памяти, т.е. как организован heap в Inferno. Все упомянутые ниже функции для работы с heap описаны в libinterp/heap.c, а структуры в include/interp.h.
Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Просмотры 1K
Комментарии 0

Создаём модульное приложение

Разработка под Android *
Tutorial
Вы захотели сделать браузер с плагинами, программу с темами, игру с аддонами или какое-то другое модульное приложение для Android? Но как это сделать? Я расскажу, как сделать простое приложение, которое будет получать текст от модулей.
Читать дальше →
Всего голосов 12: ↑8 и ↓4 +4
Просмотры 6.8K
Комментарии 11

Установка Perl-модулей в Gentoo

Perl *
Tutorial
imageСамый большой недостаток экосистемы языка Perl — управление модулями (другой кандидат на эту роль — долгострой Perl6, но не будем о нём). Что любопытно, самое большое достоинство этой же экосистемы — наличие единого архива модулей CPAN. Поразительно, собрать и организовать модули смогли, а реализовать удобную установку/обновление/удаление — нет.

Богатство выбора… или очередное TIMTOWTDI


imageСуществует множество альтернативных подходов к этой задаче (и их количество тоже косвенно указывает на то, что ни один из них не решает проблему достаточно хорошо): cpan, cpanplus, cpanminus, pip, cpansite, minicpan/mcpani, perlbrew, cpan-outdated, cpan-listchanges, local::lib, …

Итак, у нас может быть:
  • Несколько версий самого perl (разумеется, каждая со своими глобальными модулями), в т.ч. установленные в домашний каталог юзера (см. perlbrew).
  • Глобальные (доступные при запуске perl) и локальные (подключаемые из любого каталога/каталогов, обычно располагающиеся внутри отдельного проекта или в домашнем каталоге пользователя) модули.
  • Глобальные модули бывают трёх типов: core (идущие вместе с perl), site (устанавливаемые вручную админом) и vendor (устанавливаемые менеджером пакетов вашей ОС).
  • Все глобальные модули находятся в подкаталогах «номер.версии.perl/», и эти каталоги никто автоматически не чистит. А при установке новой версии perl создаются новые аналогичные каталоги. И perl подгружает модули из каталогов всех доступных предыдущих версий. Так что умножьте core+site+vendor на количество обновлений perl — вот в таком количестве каталогов/вариантов находятся ваши глобальные модули.
  • Источники модулей тоже бывают разные: CPAN, локальные зеркала-оверлеи CPAN с приватными модулями, просто свои или скачанные из инета модули отсутствующие в CPAN-совместимой системе.
И всю эту радость надо администрировать: устанавливать, обновлять, … В Gentoo для упрощения администрирования глобальных Perl-модулей есть утилитка g-cpan, вот о ней я и хочу немного рассказать.
Читать дальше →
Всего голосов 38: ↑34 и ↓4 +30
Просмотры 5K
Комментарии 28

Простая минималистская реализация сложных JavaScript приложений

JavaScript *
Tutorial
Я хочу описать простой минималистский подход к разработке сложных JavaScript приложений. Из внешних библиотек будут использоваться только jQuery и мой js-шаблонизатор, причём из jQuery используются только $.ready(), $.ajax() и $.proxy() — т.е. суть не в библиотеках (их тривиально заменить на предпочитаемые вами), а в самом подходе.

В основе подхода лежат две идеи:
  1. JavaScript виджеты — небольшие модули, каждый из которых «владеет» определённой частью веб-странички (т.е. всё управление этой частью странички происходит исключительно через методы этого модуля, а не через прямую модификацию DOM — инкапсуляция). Виджет отвечает исключительно за функциональность, но не за внешний вид; поэтому прямая модификация части DOM, которым «владеет» виджет, снаружи виджета допускается — но только для чисто дизайнерских задач (для архитектуры и общей сложности приложения нет принципиальной разницы между коррекцией внешнего вида через CSS или jQuery).
  2. Глобальный диспетчер событий. Взаимодействие между виджетами осуществляется путём посылки сообщений глобальному диспетчеру (слабая связанность, паттерн Mediator/Посредник), а уже он принимает решение что с этим сообщением делать — создать/удалить виджеты, дёрнуть методы других виджетов, выполнить дизайнерский код, etc. В отличие от динамического подхода к обработке событий (когда обработчики конкретного события добавляются/удаляются в процессе работы) статический диспетчер сильно упрощает понимание и отладку кода. Безусловно, есть задачи, для которых нужны именно динамические обработчики событий, но в большинстве случаев это избыточное усложнение, поэтому всё, что можно, делается статическими обработчиками.

Читать дальше →
Всего голосов 63: ↑58 и ↓5 +53
Просмотры 8K
Комментарии 42

Учимся писать модуль ядра (Netfilter) или Прозрачный прокси для HTTPS

Системное программирование *
Из песочницы
Эта статья нацелена на читателей, которые начинают или только хотят начать заниматься программированием модулей ядра Linux и сетевых приложений. А также может помочь разобраться с прозрачным проксированием HTTPS трафика.

Небольшое оглавление, чтобы Вы могли оценить, стоит ли читать дальше:
  1. Как работает прокси сервер. Постановка задачи.
  2. Клиент – серверное приложение с использованием неблокирующих сокетов.
  3. Написание модуля ядра с использованием библиотеки Netfilter.
  4. Взаимодействие с модулем ядра из пользовательского пространства (Netlink)

P.S. Для тех, кому только хочется посмотреть на прозрачный прокси-сервер для HTTP и HTTPS, достаточно настроить прозрачный прокси-сервер для HTTP, например, Squid с transparent портом 3128, и скачать архив с исходниками Shifter. Скомпилировать (make) и, после удачной компиляции, выполнить ./Start с правами root. При необходимости можно поправить настройки в shifter.h до компиляции.
Читать дальше →
Всего голосов 56: ↑55 и ↓1 +54
Просмотры 30K
Комментарии 20

Публикация модуля на cpan

Perl *Разработка веб-сайтов *
Хочу поделиться опытом первой публикации своего модуля на cpan.org. Будем считать, что сам модуль уже написан. В моем случае это был модуль VK::App. Речь пойдет о том, как правильно собрать дистрибутив и опубликовать его на cpan.org.

Публикация модуля состоит трех этапов:
  • регистрация на pause.perl.org
  • сборка дистрибутива модуля
  • регистрация названия модуля и загрузка дистрибутива на сервер pause.perl.org.

Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 2.5K
Комментарии 3

ZF2 ActiveRecord Module

PHP *Zend Framework *
Всем привет.

Сравнительно недавно начал изучать Zend Framework 2. Так как имею большой опыт работы с первой версией, решил заодно написать что-то полезное. Посмотрел modules.zendframework.com и решил — это будет Zf2ActiveRecord.

В статье я не буду описывать как делаются модули (есть много статей на эту тему), а просто приведу некоторые примеры работы с Zf2ActiveRecord. Предполагается что Вы уже умеете работать с Git и Composer. Если нет, то можно почитать это и это. Будет мало текста и много кода. Итак, поехали.

Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 6.2K
Комментарии 16
1