Java
d8671b56

Java

Основная идея, лежавшая в разработке технологии Enterprise JavaBeans -- создать такую инфраструктуру для компонент, чтобы они могли бы легко ``вставляться'' (``plug in'') и удаляться из серверов, тем самым увеличивая или снижая функциональность сервера. Технология Enterprise JavaBeans похожа на технологию JavaBeans в том смысле, что она использует ту же самую идею (а именно, создание новой компоненты из уже существующих, готовых и настраиваемых компонент, аналогиично RAD-системам), но во всем остальном Enterprise JavaBeans -- совершенно иная технология.

Как заставить AJAX читать между строк
Метод получения информации по неявному запросу может найти применение не только в словаре терминов. Обращали ли вы внимание на ссылки с двойным подчеркиванием в таких проектах как hotscripts.com и devarticles.com? Это контекстная реклама на основе движка IntelliTXT компании Vibrant Media.

Метод getTime
Значение, возвращаемое getMonth, является целым числом от 0 до 11. Ноль соответствует январю, один - февралю и так далее.

Объект Math
Встроенный объект, имеющий свойства и методы для математических констант и функций. Например, свойство PI объекта Math имеет значение Пи.

Прецеденты использования системы
В данной статье приводится пример простейшего, не защищённого WEB приложения реализованного в терминах MVC, и последовательность применения аспектов для реализации защиты данного приложения. Я уверен, что аспектно-ориентированные техники дают реальную возможность реализовать систему защиты, удовлетворяющую всем принципам, изложенным выше, но при этом оставить аспекты защиты слабо связанными с основной частью системы.

Java 2: второй шанс вавилонской башни
Существует не один способ написания универсальной программы, которая работала бы на различных платформах, таких как Windows, BSD, Linux и пр. Но, тем не менее, существует, и уже давно, один совершенно естественный для таких приложений подход - использование языка Java.

Многозадачная Java: наступление на системном фронте
До сих пор Java была изначально отделена от операционной системы с помощью Java Runtime. В результате этот язык программирования обладал многими полезными свойствами — но не теми, которые делали бы его пригодным для системного программирования. В частности, не предусматривалось никаких встроенных средств управления ресурсами.

Контекстное меню для Netscape Navigator и Internet Explorer
Почему-то на сайтах, посвященных программированию на JavaScript, традиционно считается, что создать контекстное меню для Netscape Navigator невозможно, так как Netscape по щелчку правой клавишей мыши создает собственное всплывающее меню. Попробуем развеять это заблуждение

JavaScript: создаем Человека
Умудренный опытом читатель, прочитав заголовок статьи, сразу, конечно, поймет, что это - не больше, чем шутка и речь дальше пойдет о какой-нибудь программке на JavaScript, которая поможет вам получить еще одного посетителя на сайт, или создаст интерфейс "с человеческим лицом", или...

Средства разработки Java-приложений
Прежде чем обсуждать эту категорию средств разработки, следует обратить внимание на то, что в настоящее время абсолютно неверно рассматривать Java лишь как язык программирования или как средство написания аплетов и иных простых приложений для настольных компьютеров и конечных пользователей, хотя они, естественно, с помощью Java по-прежнему создаются и описываются спецификацией J2SE (Java 2 Standard Edition).

Хранение данных на клиенте. DOM Storage и его аналоги
По мере того как web-странички превращаются в AJAX-приложения, им требуются все новые возможности. Сложные выборки элементов DOM обеспечиваются некоторыми браузерами и почти всеми распространенными Javascript-фреймворками. Кросс-доменные HTTP-запросы находят поддержку в стандартах и реализуются в новейших браузерах, включая Internet Explorer 8.

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

Создание динамических форм с помощью JavaScript
Очень часто при создании HTML-форм возникает потребность узнать у пользователя значения однотипных параметров, количество которых заранее неизвестно. Например, если это форма добавления сообщения в форум с возможностью прикрепить один или несколько файлов, например, с фотографиями. Другим примером может служить форма с анкетой, в которой есть сведения о детях

Project Looking Glass: новое измерение пользовательского интерфейса
Не секрет, что оконная система пользовательского интерфейса, некогда "изобретенная" в лабораториях Xerox, за последние двадцать лет практически не претерпела изменений, перекочевав во все известные операционные системы - начиная с Macintosh и MS Windows и заканчивая Unix и Linux, которые, как известно, не более "графические", чем Windows 3.11

Интеграция Tomcat с Apache. Развертывание веб-приложений Java2 на Linux-платформе
Итак - ваше веб-приложение готово для развертывания на сервере. Заказчик оповещен о том, что все работает и осталось только несколько штрихов, - и он просит продемонстрировать это веб-приложение, разместив его на вашем сервере или на сервере заказчика. Как правило, это Linux. Пока проект жил и творился под бдительным контролем RAD-среды, например JBuilder, все было хорошо. К счастью, эта или аналогичная ей среда может без труда сгенерировать строку со всеми необходимыми атрибутами для запуска вашего веб-приложения.

Настройка доменов контроля доступа в JBoss 3.х.х
Частые обращения и вопросы на форуме , связанные с заголовком данной страницы, "сподвигли" меня на написание этой статьи. Все что написанно здесь - это мой личный опыт, какие-то детали связанные с темой я понимаю "вполне прилично" (век живи - век учись), какие-то почти нет, но описанный здесь подход "вообщем-то" рабочий и "почти правильный", хотя он НЕ единственный.

Сборка сервера JBoss 3.x из исходного кода
Что касается любых версий сервера 3.x.x, то по информации от создателей (также проверено самостоятельно), он компилируется как на JDK 1.3.x, так и на JDK 1.4.x. При этом вы конечно же получаете либо один, либо другой код. Запускать его лучше на той же версии JDK, на которой он собирался, хотя это и не "железно". Код из 1.3 без проблем исполняется на 1.4, и можно попробовать кажется и наоборот (не помню, но кажется вполне получалось это делать с кодом JBoss-а).

Sun: от CDE к Java Desktop
Имя Sun широко известно благодаря значительному технологическому вкладу компании в мировой компьютинг - в том числе, благодаря оконной системе CDE, ставшей прототипом оболочки KDE. Новая инициатива Sun - создание программируемого графического интерфейса для Linux на основе Java - Java Desktop

Java наконец-то стала Mobile
Язык Java, как известно, изначально создавался для мобильных клиентов, работающих в гетерогенной среде. Проблема была в самой среде, точнее в ее отсутствии... но ситуация наконец-то изменилась.

.NET vs. Java
Что бы там ни говорили, но сегодняшний мир вычислений ориентирован в основном на сетевые приложения. В основе этих приложений лежит модифицированная архитектура клиент-сервер - так называемая трехуровневая архитектура. Отличительная ее черта - наличие на стороне сервера приложения, которое, собственно, и реализует бизнес-логику в среде сервера приложений

Сортировка таблицы средствами JavaScript
Достаточно часто пользователям интернет приходится сталкиваться с большим объемом информации, представленным в виде таблицы. Не менее часто требуется получить результаты в ином порядке, чем они представлены первоначально. Большинство web-мастеров решает эту проблему применением сортировки на сервере, для чего используется перезагрузка страницы. Действительно, серверные языки предоставляют гораздо больше возможностей отсортировать многомерный массив по определенному значению, чем скриптовые языки, выполняющиеся непосредственно на стороне клиента.

HTML Help ActiveX control: всплывающие окна
Чтобы разъяснить пользователю значение какого-нибудь слова в тексте документа HTML, одни веб-программисты пишут разъяснения в кавычках, другие создают закладки. Но есть более красивый способ - использовать всплывающие окна, не прибегая при этом к навороченным скриптам

Развертывание приложения с помощью Java Web Start
Что такое Java Web Start? Это небольшая, бесплатно распространяемая программа на клиентском ПК ассоциированная с веб-броузером. Когда пользователь щелкает в броузере на HTML странице ссылку, указывающую на специальный JNLP (Java Network Launching Protocol) файл запуска Java-приложения, это приводит к запуску Java Web Start, который в свою очередь автоматически скачивает файлы приложения с Web-сервера, кэширует их и запускает описанное Java-приложение. Java Web Start идет в стандартной инсталляции как JRE 1.4.х так и и JDK 1.4.x.

Текущая дата на страничке. Использование массивов

Сетевые средства Java

Для посылки дейтаграмм отправитель и получатель создают сокеты дейта-граммного типа. В Java их представляет класс DatagramSocket. В классе три конструктора:
* DatagramSocket ()
— создаваемый сокет присоединяется к любому свободному порту на локальной машине;
* DatagramSocket (int port)
— создаваемый сокет присоединяется к порту port на локальной машине;
* DatagramSocket(int port, InetAddress addr) — создаваемый СОКСТ присоединяется к порту port; аргумент addr — один из адресов локальной машины.
Класс содержит массу методов доступа к параметрам сокета и, кроме того, методы отправки и приема дейтаграмм:
* send(DatagramPacket pack)
— отправляет дейтаграмму, упакованную в пакет pack;
* receive (DatagramPacket pack)
— дожидается получения дейтаграммы и заносит ее в пакет pack.

Работа в WWW
Среди программного обеспечения Internet большое распространение получила информационная система WWW (World Wide Web), основанная на прикладном протоколе HTTP (Hypertext Transfer Protocol). В ней используется расширенная адресация, называемая URL (Uniform Resource Locator)

Переход к Swing
Поменяйте Frame на JFrame, Applet на JApplet, Component нa JComponent, Panel на JPanei. He расширяйте свои классы от класса canvas, используйте jpanei или другие контейнеры Swing. Замените компоненты AWT на близкие к ним компоненты Swing. Чаще всего надо просто приписать букву j: JButton, JcheckBox, JDialog, jList, JMenu и т. д. Закомментируйте временно строку import java.awt.*; и попробуйте откомпилировать программу. Компилятор покажет, какие компоненты требуют замены.

JFC: Почему именно так?
Почему нужно добавлять компоненты приложения в контейнер content окна приложения JFrame? Почему нельзя добавлять их непосредственно в окно, как в библиотеке AWT? Почему? - Потому, что так нужно.

Преобразование XML в HTML на сервере
Нужно, чтобы преобразование XML документа с использованием XSL происходило на сервере и чтобы клиент получал HTML документ вместо комбинации XML документа и описания стилей в формате XSL. Как лучше подойти к решению этой задачи

Можно создать многострочную кнопку!
Предположим, я хочу создать кнопку с меткой, как показано ниже: "Ваше Имя" "Имя" должно быть во второй строке. Я пытался написать: new JButton("Ваше \\n Имя"). К сожалению, у меня ничего не получилось. У вас есть какие-нибудь советы

Массивы массивов
В Java все объекты обрабатываются с помощью ссылок. Объект может иметь несколько ссылок и ссылка может указывать на разные объекты в разные моменты времени. В этом смысле ссылки напоминают указатели C/C++ (правда, они не поддерживают операции с указателями, которые заменены в Java семантикой массивов).

Firewall tunneling
Как мне соединиться с моим Java сервером через HTTP когда клиент находится за proxy/firewall? Я пробовал такое с апплетом, но он выдает в числе прочих исключение "host unreachable".

Семафоры
Единственные механизмы синхронизации, встроенные в Java-- это мониторы (monitors) и наборы задержек (wait sets), о которых большинство программистов даже не слышало, так как они скрыты в synchronized, wait() и notify(). К счастью, Java позволяет вам реализовать все знакомые схемы синхронизации на основе мониторов и наборов задержек.

Небылицы?
Я видел веб-сайт, на котором курсор мыши превратился в рыбу с 5-ю слоями. Это вдохновило меня на то, чтобы превратить курсор на моей домашней страничке в музыкальную ноту с использованием 3-х слоев

Help tips в Swing
В компьютерном мире достаточно распространены приложения, показывающие краткую справку (help tip) в строке статуса, когда пользователь выбирает один из элементов меню. Я был удивлен тем, что набор компонентов меню в Swing не поддерживает такую возможность. Есть ли способ создать такую функциональность, не создавая подкласс одного из огромных классов Swing

Использование нитей в Java
Только пользователь может решить, какой пакет поддержки нитей будет использоватся при запуске Java программы. Более того, когда программа запущена, нельзя переключится между green threads и native threads.

Минимизирование окна
Существует ли надежный способ для задания минимального размера окна? Я хочу, чтобы мои пользователи могли увеличить окно приложения, но при этом не могли сделать его меньше определенного минимального размера. Я просмотрел документацию API для иерархии JFrame и не нашел ничего подходящего.

Конструктор апплета
Для того, чтобы написать апплет, вы должны сначала создать подкласс класса Applet. Класс Applet точно такой-же, как и любой другой; следовательно, конструктор апплета -- это просто конструктор подкласса класса Applet.

Как заменить кофейную чашку
Для того чтобы заменить значок для окна -- как для апплета, так и для приложения -- вы должны сначала создать объект Image. Для этого существует несколько путей, но здесь мы воспользуемся объектом ImageIcon, так как его конструктор просто берет имя файла. ImageIcon image = new ImageIcon( "C:/images/your_image.gif");

Горячие клавиши
Пример ниже должен ответить на ваши вопросы о горячих клавишах в Java. Код показывает как установить быстрый доступ для меню, элемента меню, чек-бокса и кнопки. Вы можете выбрать горячую клавишу нажав Alt и код быстрого доступа

Статические классы
ля того, чтобы понять использование ключевого слова static в заголовке класса мы должны разобраться с заголовками классов вообще. Вы можете объявить два типа классов: обычные классы (верхнего уровня) и внутренние.



Динамическая память; классы Vector и StringBuffer
Требование добавлять компоненты в контейнер contentPane призывает придерживаться описанной структуры. Попытка поступить иначе будет противоречить принципам, заложенным разработчиками библиотека Swing.

Язык и архитектура Java
На сегодняшний день создание программного обеспечения представляет собой чрезвычайно тяжелое занятие. Трудности связаны с разнообразием архитектур машин, операционных систем, графических оболочек и т.д.. Кроме того, ваши приложения должны работать в распределенных системах. Стремительный рост технологий, связанных с Интернетом, WWW и "электронной коммерцией", дополнительно усложняют эту задачу.

Доступ к базам данных из Java программ и проблемы русификации
Разумеется, что организовать доступ к базам данных из современного языка программирования в наше время не представляет никакой сложности. Более того, и сами языки программирования более всего оцениваются разработчиками по типу и возможностям заложенных в них средств доступа к базам данных, удобству и полноте интерфейсов. В этом смысле Java не представляет исключения. Уже в версии JDK1.1 появился пакет классов java.sql, обеспечивающий больщинство функций, известных к тому времени разработчикам ODBC-приложений.

Немного Java - и страница ожила
Разновидностью приложений для WWW являются так называемые аплеты, они довольно часто применяются при оформлении Web-страниц. Аплеты оживляют страницы, добавляя в них анимацию или удобный интерфейс пользователя. Это намного улучшает внешний вид страниц и, как следствие, привлекает внимание посетителей сервера.

Методы и функции JavaScript
Непрофессиональное введение в JAVASCRIPT
Много людей полагают, что JavaScript есть Java из-за схожих имен. Но это не так. Я думаю, что зайду далеко в перёд, объясняя Вам все различия - поэтому просто запомините, что JavaScript это не Java

Фреймы и JavaScript
Сверху иерархии - окно броузера. Это окно дробится на два фрейма. Окно - родитель в этой иерархии, а два фрейма - потомки. Мы дали двум фреймам уникальные имена frame1 and frame2. С помощью этих имен мы можем обмениваться информацией между двумя фреймами.

Закрытие окон
Вы можете закрывать окна через JavaScript. Для этого Вам необходим метод close(). Давайте откроем новое окно как показано ранее.

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

Math-объект
Если Вы должны производить математические вычисления, Вы найдете некоторые методы в Math-объекте, который далее мог бы Вам помочь. Имеется например метода синуса sin(). Вы найдете полную справку в документации Netscape.

Проверка на некоторые символы
Иногда Вы хотите ограничивать форму ввода некоторыми символами или числами. Подумайте о номере телефона - ввод должен содержать только цифры (мы предполагаем, что номер телефона не содержит никакие символы). Мы могли бы проверить, является ли ввод числом. Но большинство людей использует различные символы в их номере телефона - например: 01234-56789, 01234/56789 или 01234 56789 (с пробелом между ними). Пользователь не должен быть вынужденным ввести номер телефона без этих символов.

Загрузка новых изображений
Хотя полезно знать, как получить размер изображения на web-странице, но не это является целью нашего урока. Мы хотим изменять изображения на web-странице. Для этой цели мы нуждаемся в src свойстве. Итак в теге img свойство src, представляет адрес отображаемого изображения. Теперь, с помощью JavaScript 1.1 Вы можете присваивать новые адреса уже загруженному изображению на web-странице.

Создание слоёв
Тег layer используется для слоев, которые могут быть установлены в позицию явным образом. Если Вы не определяете позицию (со свойствами left и top) слой будет помещён в верхний левый угол окна. Тег ilayer создает слой, позиция которого зависит от потока документа

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

Объект Event
В JavaScript1.2. был добавлен новый объект Event. Он содержит свойства, которые описывают событие. Каждый раз, когда происходит событие, объект Event передается в обработчик события. Если Вы используя Netscape Navigator 4.x, щелкните где-нибудь на следующем изображении, появится всплывающее окно, показывающее координаты события мыши

События провоцируемые мышью в JavaScript 1.2
Какие события мыши мы должны использовать? Мы не имеем MouseDrag но мы можем достигать этого же самого через события MouseDown, MouseMove и MouseUp. JavaScript 1.2 использует новую модель событий. Без этой модели событий мы не могли бы решить нашу задачу. Я говорил относительно новой модели события в последнем уроке. Но давайте еще раз посмотрим на важные части.

Семь уроков по PostScript
Язык PostScript был разработан Джоном Уорноком (John Warnock) в фирме Adobe Systems в 1982 г. История создания языка описана в предисловии одного из его авторов к "Справочному руководству по языку PostScript". PostScript создавался в качестве простого стандартного языка для описания вида текста, чертежей и простых изображений на печатаемой странице, что наложило определенный отпечаток на используемые в PostScript конструкции. Язык содержит около 250 операторов, что позволяет одни и те же действия запрограммировать самыми разными способами.

Кратко о HTML, JavaScript и WWW
Волна бурного развития технологий World Wide Web не обошла стороной и средства управления сценариями просмотра гипертекстовых баз данных. Сегодня авторы домашних страниц Web получили в свое распоряжение новые языки JavaScript и VBScript. Темой данной статьи станет краткое рассмотрение некоторых возможностей HTML и JavaScript, используемых для программирования сценариев просмотра страниц Web.

Инструкция - Адаптер на 2 сим карты

Адаптер выполнен по стандартным габаритам Sim карты, поэтому чтобы поместить в адаптер две Sim карты, из каждой Sim карты необходимо вырезать чип. Это можно сделать вручную или с помощью кусачек.
Если вы пользуетесь MultiSim картой и хотите объединить ее с Sim картой не сканируемого оператора, то адаптер - лучшее решение.
Необходимо вырезать чип из обычной Sim карты, а MultiSim карта режется несколько иным способом, так как в ней контакты больше чем в операторской Sim карте, и по другому организовано подключение проводников от схемы к контактным поверхностям.
Затем нужно вставить обрезанные карты в специальные пазы адаптера, для этого необходимо сдвинуть защитную металлическую шторку-крышку и установить карты внутри. При обрезке один из уголков карты отрезается - он поможет правильному расположению, кроме того латунная поверхность карты должна соприкасаться с контактами адаптера. После этого нужно задвинуть металлическую шторку-крышку и вставить адаптер в телефон на место Sim карты.
Адаптер несколько толще стандартной Sim карты, поэтому аккуратно помещаем его в разъем телефона. Если с работой адаптера возникли какие-то проблемы, то вероятнее всего, что дело в плохом прижиме к контактам телефона. В этом случае рекомендуется на адаптер под аккумулятор положить прокладку.

Универсальный адаптер "х3" на 2 Sim карты
Универсальный адаптер на две Sim карты имеет габариты обычной Sim карты и подходит для всех моделей телефонов стандарта GSM и позволяет иметь в одном телефоне две Sim карты любых операторов, в том числе и те, которые не сканируются и переключаться между ними через выключение/включение телефона.

Параллельный адаптер порта LPT на ПЛИС Altera
Параллельный адаптер изначально проектировался только в учебных целях. Я хотел «пощупать» что же такое ПЛИС. Однако получилось вполне работоспособное устройство, которое может быть использована в качестве отладочной платы или может войти в состав более сложных устройств.

Адаптер 2313
Адаптер предназначен для программирования ПЛИС ALTERA семейства MAX7000: EPM7032SLC44-10, EPM7064SLC44-10, с помощью кабеля

Адаптер K-Line
Этот вариант адаптера k-line отличается от предыдущего тем, что может быть установлен в автомобиле и позволяет подключать к нему не только персональный компьютер или ноутбук (для подключения используется стандартный линковочный кабель или переходник DB9F-DB9F, с распайкой один-в-один, изменив положение джамперов на плате адаптера), но и Palm.

Адаптер COM-порта
Адаптер предназначен для сопряжения различных электронных устройств с последовательным портом персонального компьютера.

Универсальная плата для адаптера 1-Wire
На плате предусмотрены разъемы, позволяющие ставить плату в разрыв линии 1-Wire, разъемы для подключения нагрузки, внешнего питания, и места для установки датчиков. Принципиальная схема предложена в общем виде, устанавливать на плату можно различные датчики, в зависимости от того что нужно в итоге получить.

Регулятор громкости и прочего на TEA6320 и PIC16F84

Почти каждый радиолюбитель собирал самодельный усилитель. Регулятор громкости как правило просто резистор, в лучшем случае с отводом для тонкомпенсации. Но хочется, чтобы усилитель хотя бы по своей начинке не отставал от Научно-Технического прогресса.
Регулировки их разнообразие и удобство вот, что главное. Решил это дело возложить на цифровую технику, чтобы кнопками оперировать, с перспективой применения дистанционного управления.
Первым делом собрал схему цифрового регулятора на 155 серии (6шт.) и две КР572ПА1, две 544УД1 плата 50x100 (только регулировка громкости). Оказалось не то, три питания +5в, +15в, -15в потребляемый ток великоват и все греется. Но работало все исправно.
Следующий шаг – попытка скрестить малость переделаный цифровой регулятор на 155 серии и TDA1524 (древность еще та), но TDA1524 сгорела и пришлось ее заменить на К174УН10 и К174УН12. Поодиночке УН10 и УН12 работали нормально, но в паре шипели как две змеи, шум частично устранил подбором наименее шумных экземпляров. Это регулятор меня еще больше разочаровал, четыре питания (+5в, +9в, +15в, -15в) потребляемый ток великоват и все очень сильно греется. Здесь было155 серии (24шт.) и 4шт. КР572ПА1, 4шт. 544УД1 этажерка из 5 плат 50x100 (регулировка громкости, баланса, тембра НЧ и ВЧ, светодиодная индикация регулировок).

Регулятор громкости и прочего на TEA6320 и PIC16F84
Следующий шаг – попытка скрестить малость переделаный цифровой регулятор на 155 серии и TDA1524 (древность еще та), но TDA1524 сгорела и пришлось ее заменить на К174УН10 и К174УН12. Поодиночке УН10 и УН12 работали нормально, но в паре шипели как две змеи, шум частично устранил подбором наименее шумных экземпляров. Это регулятор меня еще больше разочаровал, четыре питания (+5в, +9в, +15в, -15в) потребляемый ток великоват и все очень сильно греется. Здесь было155 серии (24шт.) и 4шт. КР572ПА1, 4шт. 544УД1 этажерка из 5 плат 50x100 (регулировка громкости, баланса, тембра НЧ и ВЧ, светодиодная индикация регулировок).

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

Импульсный стабилизирующий регулятор тока
Большой популярностью пользуются тиристорные регуляторы напряжения, позволяющие регулировать яркость свечения настольных ламп и т.п. Множество подобных схем было опубликовано в литературе, но мне не встречались варианты со стабилизацией напряжения на нагрузке или тока через неё. Сеть у нас "грязная", и мерцание настольной лампы действует на нервы. Это подвигло меня на разработку стабилизирующего регулятора яркости её свечения.

Простой регулятор мощности
Часто в радиолюбительской практике требуется достаточно мощный регулятор, для управления различными электроприборами. Например многие используют стрительный фен, для монтажа\демонтажа компонентов и есть опасность перегрева копонента. Предлагаемая ниже схема позволит снизить мощность фена. Схема достаточно проста и доступна даже начинающему радиолюбителю.

Регулятор мощности на КР1182ПМ1
Регулятор мощности на микросхеме КР1182ПМ1 - еще одно решение задачи регулирования мощности высоковольтных мощных нагрузок. Устройство можно применять для плавного включения и выключения электрических ламп накаливания и изменения яркости свечения, для управления более мощными полупроводниковыми переключающими приборами, для регулирования частоты вращения электрических двигателей.

Электронный регулятор громкости
Для замены довольно посредственного по шумам и искажениям электронного регулятора громкости К174УН12 (A273D) предлагается применять более удачную ИМС KA2250. Типовая схема ее включения обеспечивает синхронную регулировку громкости двух каналов двумя кнопками SB1 ("Тише") и SB2 ("Громче"). К достоинствам КА2250, кроме доступной цены, относится и невысокое напряжение питания (5 В), позволяющее применять ее в переносной аппаратуре

Сенсорный регулятор на 145АП2
Сенсорный регулятор собран на отечественной БИС 145АП2, и в отличии от сенсорного регулятора на AT2313 , управляется одним сенсором не обеспечивая плавного включения/выключения. Схема содержит минимум деталей (1,2), и при правильной сборке начинает работать сразу, не требуя дополнительных настроек. При кратковременном прикосновении к сенсору происходит включение(выключение) лампы.

MIDI-клавиатура на PIC16F84
Предлагаемая MIDI-клавиатура предназначена для применения совместно с ПК или с синтезаторами в бесклавиатурном исполнении. Клавиатура обслуживает 16 MIDI-каналов. Встроенный регулятор может использоваться либо для управления громкостью, либо для манипулирования одним из 31 контроллеров. Клавиатура рассчитана на подключение 48 клавиш.

LCD дисплей и матричная клавиатура 4х4 через LPT-порт
Если у вас завалялся системник с какой нибудь старой "мамкой" типа 286 или 386, и вы решили его приспособить, например, для поддержания температуры в аквариуме и своевременной раздаче корма рыбкам или управлением домашнего инкубатора по выведению цыплят, то использование со стандартными клавиатурой и дисплеем будет выглядеть громозко, особенно в условиях ограниченного пространства, а без таковых у вас не будет возможности контролировать процесс и вносить в него коррективы.