В функциональных языках программирования есть возможность генерировать бесконечные последовательности значений (как правило чисел) и оперировать этими последовательностями. Реализуется это функцией, которая, не прерывая свою работу, генерирует значения одно за другим на основе своего внутреннего состояния.
Но, к сожалению, в обычных языках нет возможности «вернуть» значения в место вызова не выходя из функции. Один вызов — один результат.
Генераторы удобно было бы использовать совместно с возможностью Delphi по перечислению значений (GetEnumerator/MoveNext/GetCurrent). В этой статье мы создадим функцию-генератор (может даже бесконечную) и будем использовать ее с таким объектом для перечисления, чтобы всё работало прозрачно без необходимости вникать в реализацию.
Читать полностью »
Архив за 07 ноября 2012 - 3
Бесконечные генераторы значений на Delphi + Ассемблер
2012-11-07 в 17:20, admin, рубрики: Delphi, x64, Алгоритмы, ассемблер, генераторы, Программирование, функциональное программирование, метки: Delphi, x64, Алгоритмы, ассемблер, генераторы, функциональное программированиеVreen — простая и удобная библиотека для работы с vk.api
2012-11-07 в 16:25, admin, рубрики: qt, qutIM, vk.com, метки: Qt, qutIM, vk.com
Представляю вам новую Qt библиотеку для работы с vk api, которая может пригодиться вам при создании любых настольных и мобильных приложений, взаимодействующих с vk. Проект родился из vkontakte плагина для qutIM'а и перерос в отдельную независимую библиотеку, которой теперь может пользоваться каждый.
Читать полностью »
Фичи, применимые в Yii, которые использую я
2012-11-07 в 16:21, admin, рубрики: ajax, php, yii, кеширование, логи, транзакции, метки: ajax, PHP, yii, кеширование, логи, транзакцииЗа долгое время работы с Yii Framework накопилось некоторое количество полезного опыта. Хочу им поделиться с читателим. Всё что ниже написано — плоды рефакторинга и трезвого взгляда на код.
То, о чем я расскажу под катом:
- Открытие одной и той же странички: через ajax-запрос (без layout) и обычное открытие странички вместе с layout
- Кеширование моделей без кода в каждой модели
- Как сделать логирование логики с минимальным кодом
- Как обернуть всё в транзакции с минимальным кодом
- Как сделать так, чтобы на каждом сервере (с экземпляром приложения) не менять файл основного конфига приложения. Упрощаем деплой
Системные платы Gigabyte GA-H61M-DS2 HDMI и GA-H61M-DS2 DVI относятся к начальному уровню
2012-11-07 в 15:56, admin, рубрики: Новости, метки: новостиВ разделе новинок на сайте Gigabyte появилась системная плата GA-H61M-DS2 HDMI. Одновременно выпущена модель GA-H61M-DS2 DVI. Как несложно догадаться, различие между двумя моделями заключено в наборе видеовыходов.
Платы типоразмера microATX построены на чипсете Intel H61 Express и рассчитаны на процессоры Intel Core i7, Core i5, Core i3, Pentium и Celeron в исполнении LGA1155. Питание процессоров построено по четырехфазной схеме.
Клавиатура, идея, две руки
2012-11-07 в 15:55, admin, рубрики: DIY, diy или сделай сам, open source, Железо, клавиатура, Моддинг, стимпанк, метки: DIY, клавиатура, моддинг, стимпанкСлучалось-ли в твоей жизни, %username%, такое, когда тебе продолжительное время хотелось странного? Неважно чего — ведь у каждого разные вкусы и предпочтения. Моя страть сидела во мне долго, но однажды всё-таки вырвалась наружу. Мне нравится делать необычные вещи и мне всегда нравился моддинг как средство самовыражения. Несколько лет назад я вдохновился изделиями изделиями моддеров из разных стран и начал обдумывать несколько своих проектов. В частности, мне очень хотелось сделать стизованную под девятнадцатый век клавиатуру.
Мобильные сервисы, блобы и Windows 8. Храним данные в облаке
2012-11-07 в 15:52, admin, рубрики: .net, azure, blob, microsoft, mobile services, Windows 8, windows azure, WinRT, метки: .net, azure, blob, mobile services, Windows 8, winrt
Добрый день.
Мы живем в мире тотальной глобализации как в реальной жизни, так и в виртуальной. Я имею в виду, что нам хочется иметь одни и те же данные, одни и те же настройки и одно и то же поведение программ на разных устройствах. Такой синхронизации всего и вся в наше время легко добиться с помощью облаков. Об этом и пойдет речь в данной статье, а именно о скрещивании приложения для Windows 8 (WinRT) с облаком Windows Azure для хранения данных и метаданных.
Вводная
Итак, предположим, что у нас есть приложение для Windows 8 (пусть это будет сервис хранения неких текстовых записей), которое:
1) Должно отображать список записей с минимальной информацией о каждой из них (допустим, заголовок или дату создания). Назовем это метаданными.
2) Должно иметь возможность показать подробную информацию о записи (контент) при переходе к конкретному элементу. Назовем это данными.
3) Должно синхронизировать данные между различными устройствами под управлением Windows 8 (создал запись дома, просмотрел ее же на работе).
Наиболее правильный подход, который я вижу, это разбить данные и метаданные и хранить их в разных местах. Это позволит нам быстро получить небольшие по объему метаданные для отображения в виде списке, и подгружать «тяжелые» данные по запросу пользователя.
По ходу этой статьи мы познакомимся с Windows Azure Mobile Services для хранения метаданных и Windows Azure Blob Storage для хранения данных. Впереди много текста и картинки.
Читать полностью »
Приставка к роутеру (USB HUB + USB HDD + UPS)
2012-11-07 в 15:19, admin, рубрики: DIY, diy или сделай сам, роутер, метки: DIY, роутер
После приобретения достаточно мощного роутера с портами USB (это был ASUS RT-N16), задался вопросом — как использовать роутер по полной?
Что мне было нужно:
- сетевое хранилище,
- торрент-качалка,
- и конечно, чтобы всё это не падало при бросках/перебоях в сети электропитания.
Apacer относит флэш-накопители AH321 и AH322 к устройствам «промышленной приемки»
2012-11-07 в 15:17, admin, рубрики: Новости, метки: новостиАссортимент компании Apacer пополнился флэш-накопителями AH321 и AH322 с интерфейсом USB 2.0, которые сам производитель относит к устройствам «промышленной приемки», отмечая их высокую надежность. Кроме того, компания подчеркивает, что при производстве накопителей будет использоваться только тот набор комплектующих и версия встроенного ПО, которые прошли проверку заказчиком. Список поддерживаемых ОС включает Windows ME, XP, 2000, Vista, Mac OS 8.6, Linux 2.4.0.
IEC60027-2: Давайте использовать стандарты, или 1024 B == 1 KiB && 1024 B != 1 KB && 1000 B == 1 kB
2012-11-07 в 15:10, admin, рубрики: MiB, стандарты, метки: MiB, КИБ, стандартыДоброго времени суток, уважаемые!
В последнее время, читая различные статьи в хабре, всё больше стал замечать, что многие авторы до сих пор ничего не знают о ISO/IEC стандартах бинарных префиксов (KiB=кибибайт, MiB=мебибайт и т.д.) и постоянно путают их с SI префиксами (kB=килобайт, MB=мегабайт). Поэтому я решил ещё раз заговорить об этом в надежде, что, прочитав статью, ещё пара человек начнёт пользоваться стандартами!
Читать полностью »
MSI выпускает низкопрофильный вариант GeForce GT 640 с тремя видеовыходами
2012-11-07 в 15:02, admin, рубрики: Новости, метки: новостиПо данным источника, компания MSI анонсировала выпуск низкопрофильной 3D-карты GeForce GT 640 (N640GT-MD2GD3/LP), занимающей в корпусе ПК один слот.
В конфигурацию N640GT-MD2GD3/LP входит графический процессор GK107 с 384 ядрами CUDA. С помощью 128-разрядной шины GPU связан с 2 ГБ памяти DDR3. Тактовая частота процессора равна 900 МГц, памяти — 1782 МГц.
Изделие оснащено видеовыходами D-Sub, HDMI и DVI-D.
Ориентировочная цена N640GT-MD2GD3/LP — $90.
Источник: Читать полностью »