К сожалению не нашел на хабре достаточно интересных стаей про объектно-ориентированные базы данных (ООБД). Хотелось бы поднять эту тему, т.к. в последнее время все больше и больше идет разговоров об ООБД. Однако в одну статью всю информацию уложить не получится, поэтому приведу для начала небольшой обзор и свои размышления на эту тему. В этой статье я не буду рассматривать конкретные решения, основанные на каждой из технологий, а только постараюсь сравнить сами технологии.
Игнат Толчанов @Leeb
Backend developer
Галерея эффектов кэшей процессоров
10 min
26KTranslation

В этой статье мы рассмотрим ряд примеров иллюстрирующих различные особенности работы кэшей и их влияние на производительность. Примеры будут на C#, выбор языка и платформы не так сильно влияет на оценку производительности и конечные выводы. Естественно, в разумных пределах, если вы выберите язык, в котором чтение значения из массива равносильно обращению к хеш-таблице, никаких результатов пригодных к интерпретации вы не получите. Курсивом идут примечания переводчика.
+173
TBDB, или пишем базу данных на BASH
1 min
4.7KИзначально была идея написать скрипт, который помогал бы просто и универсально работать с некими группами данных в домашних скриптах-написал-и-забыл.
И вот перед вамимилая и прекрасная страшная и ужасная, но простая и удобная база данных для хранения небольшого количества данных в несложных домашних скриптах.
TBDB, она же — Terrible Bash Data Base.
Движок базы состоит из одного баш скрипта.
И вот перед вами
TBDB, она же — Terrible Bash Data Base.
Движок базы состоит из одного баш скрипта.
+58
Выполнение SQL-подобных запросов над данными — как в браузере, так и на сервере
1 min
2KЧитать дальше →
+24
Python в Visual Studio 2010
3 min
11K
Python становится ближе для тех, кто любит и использует Visual Studio 2010. Недавно, на сайте проекта IronPython были опубликованы бесплатные инструменты для работы с кодом Python в Visual Studio.
IronPython – это реализация языка Python 2.6 созданная Microsoft для платформы .NET, код которой может быть использован в других языках .NET и, наоборот, в IronPython возможно вызывать код из .NET-проектов.

Инструменты, которые теперь интегрируются в среду разработки Visual Studio 2010 теперь предлагают полноценную возможность разрабатывать проекты на языке Python. И для многих .NET-разработчиков эти инструменты станут прекрасной возможностью изучить новый для себя язык в знакомом окружении.
Рассмотрим возможности новых инструментов и то, как они интегрируются в Visual Studio.
+54
Реализация эффекта Philips Ambilight в превью изображений
16 min
4KВчера в топике «Модификация изображений для сайта, или какие бывают превьюшки» в комментариях diGreez предложил, как мне показалось, очень интересный способ организации превьюшек изображений. Реализовал на PHP функцию, которая занимается созданием таких превьюшек.
Функция документирована комментариями.
Функция документирована комментариями.
+63
Пишем драйвер для USB девайса. Pipe 0: что такое usb?
3 min
24KСлучилось так, что пришлось мне писать с нуля драйвер для usb дисплея под windows. Имея возможность — расскажу о деталях столь занимательного процесса.

Итак, почему же шина usb так удобна, и что скрывает за собой слово Universal в расшифровке аббревиатуры.

USB – это simple
Несмотря на то, что написание драйверов считается достаточно трудным, в сравнении с прикладным программированием – и в этом низкоуровневом мире программисты не были обделены вниманием, большим шагом в упрощении создания драйверов стала разработка шины usb.Итак, почему же шина usb так удобна, и что скрывает за собой слово Universal в расшифровке аббревиатуры.
+73
Квадрарный поиск
2 min
15KТернарный (или троичный) поиск — это алгоритм поиска минимума (или максимума) выпуклой функции на отрезке. Можно искать минимум (максимум) функции от вещественного аргумента, можно минимум (максимум) на массиве. Будем, для определённости, искать минимум функции f(x).
Он многим знаком, а для тех, кто не знает, расскажу вкратце.
Тернарный поиск заключается в следующем. Пусть есть рекурсивная функция search(L, R), которая по двум концам отрезка L, R определяет минимум на орезке [L, R]. Если R — L < eps, то мы уже вычислили точку, где достигается минимум, с точностью eps. Иначе, разделим отрезок [L,R] на три равных по длине отрезка [L, A], [A, B] и [B, R]. Сравним значение в точках А и В. Вспомнив, что функция f выпуклая, можно сделать вывод, что если f(A) > f(B), то минимум лежит на отрезке [A,R]. Иначе — на отрезке [L, B]. В соответсвии с этим, можно рекурсивно запуститься от одного из отрезков [L, B] или [A, R]. Каждый раз длина области поиска уменьшается в полтора раза, значит, минимум на отрезке длины X с точностью eps будет найден за время O(log(X/eps)).
А здесь я хочу рассказать о квадрарном (или четверичном) поиске.
Он многим знаком, а для тех, кто не знает, расскажу вкратце.
Тернарный поиск заключается в следующем. Пусть есть рекурсивная функция search(L, R), которая по двум концам отрезка L, R определяет минимум на орезке [L, R]. Если R — L < eps, то мы уже вычислили точку, где достигается минимум, с точностью eps. Иначе, разделим отрезок [L,R] на три равных по длине отрезка [L, A], [A, B] и [B, R]. Сравним значение в точках А и В. Вспомнив, что функция f выпуклая, можно сделать вывод, что если f(A) > f(B), то минимум лежит на отрезке [A,R]. Иначе — на отрезке [L, B]. В соответсвии с этим, можно рекурсивно запуститься от одного из отрезков [L, B] или [A, R]. Каждый раз длина области поиска уменьшается в полтора раза, значит, минимум на отрезке длины X с точностью eps будет найден за время O(log(X/eps)).
А здесь я хочу рассказать о квадрарном (или четверичном) поиске.
+23
Предложение по добавлению связывания данных
4 min
2KTranslation
Привет всем!
Я разработчик из команды Microsoft ASP.NET. Наша команда выдвигает предложение по поддержке связывания данных (data linking) в jQuery и мы хотели бы услышать ваши отзывы.
Ниже я расскажу про связывание в общем плане, более подробное объяснение вы можете найти на специальной wiki-странице:
http://github.com/nje/jquery-datalink/wikis/jquery-data-linking-proposal
Мы создали прототип связывания данных и опубликовали его на github:
http://github.com/nje/jquery-datalink
Репозиторий включает в себя demo-contacts.html, который показывает использование связывание данных на практике и который так же использует ранее предложенную нами библиотеку шаблонов jQuery (jQuery templating library). Я предлагаю вам попробовать демонстрацию, так как примеры опубликованные в wiki и в этой статье всего лишь показывают работу с API и не передают всей полезности плагина так, как это делает демонстрация.
Термин “связывание данных” (data linking) используемый в статье означает: “автоматическое связывание поля одного объекта с полем другого объекта”. Это означает, что когда два объекта связаны, при изменении значения одного из объектов (источника) автоматически изменяется значение другого объекта (цели). Связывание может происходить между любыми двумя объектами, такими как простые объекты (plain objects), массивы, элементы DOM или плагины браузера.
Я разработчик из команды Microsoft ASP.NET. Наша команда выдвигает предложение по поддержке связывания данных (data linking) в jQuery и мы хотели бы услышать ваши отзывы.
Ниже я расскажу про связывание в общем плане, более подробное объяснение вы можете найти на специальной wiki-странице:
http://github.com/nje/jquery-datalink/wikis/jquery-data-linking-proposal
Мы создали прототип связывания данных и опубликовали его на github:
http://github.com/nje/jquery-datalink
Репозиторий включает в себя demo-contacts.html, который показывает использование связывание данных на практике и который так же использует ранее предложенную нами библиотеку шаблонов jQuery (jQuery templating library). Я предлагаю вам попробовать демонстрацию, так как примеры опубликованные в wiki и в этой статье всего лишь показывают работу с API и не передают всей полезности плагина так, как это делает демонстрация.
Термин “связывание данных” (data linking) используемый в статье означает: “автоматическое связывание поля одного объекта с полем другого объекта”. Это означает, что когда два объекта связаны, при изменении значения одного из объектов (источника) автоматически изменяется значение другого объекта (цели). Связывание может происходить между любыми двумя объектами, такими как простые объекты (plain objects), массивы, элементы DOM или плагины браузера.
+32
Стандартный программист
3 min
17KПримерно неделю назад принимал участие в конкурсе на открытую вакансию Microsoft. И провалился. Прошла неделя, мысли в голове (как же так? не может быть!) немного улеглись и я сделал некоторые выводы из этого опыта, коими и хочу поделиться с хабражителями.
+296
Hiqus — HIerarhical QUery String
10 min
2.9KЭто формат представления древовидных структур данных в виде одной строки в удобном для человека виде. Является обобщением формата «application/x-www-form-urlencoded» и как следствие — обратно совместим с ним. В основе Hiqus лежит всё тот же принцип представления данных в виде пар «ключ-значение» с той лишь разницей, что ключ может быть составным или пустым.
Данный формат уже используется такими монстрами как Яндекс (http://yandex.ru/yandsearch?date=within&text=hiqus&from_day=28&from_month=4&from_year=2009), Гугл (http://www.google.ru/search?as_q=hiqus&hl=ru&num=10&as_qdr=all) и многими другими, кому требуется передавать иерархические данные в строке запроса. Исключение составляют PHP-сайты, для которых традиционно используется свой, не слишком наглядный формат (пример, навскидку не нашёл, но выглядит он примерно так: ?user%5Bid%5D=123&user%5Bname%5D=Nick).
Данный формат уже используется такими монстрами как Яндекс (http://yandex.ru/yandsearch?date=within&text=hiqus&from_day=28&from_month=4&from_year=2009), Гугл (http://www.google.ru/search?as_q=hiqus&hl=ru&num=10&as_qdr=all) и многими другими, кому требуется передавать иерархические данные в строке запроса. Исключение составляют PHP-сайты, для которых традиционно используется свой, не слишком наглядный формат (пример, навскидку не нашёл, но выглядит он примерно так: ?user%5Bid%5D=123&user%5Bname%5D=Nick).
+13
Почему юнит-тесты не работают в научных приложениях
7 min
8.2KВ этой статье я хочу поделиться своим опытом разработки научных приложений, и рассказать, почему Test-Driven Development и юнит-тесты не являются панацеей, как принято считать в последнее время, по крайней мере с точки зрения нахождения программных ошибок. Почему же?
+63
Генерируем QR-код на PHP
2 min
82K
QR-code, уже давно распространен повсеместно, во всех сферах человеческой жизни. Вроде такая популярная вещь, а нормальной библиотеки (Open Source) на PHP — нет. Товарища deltalab, очень напрягла эта проблема и он решил переписать имеющиеся в наличии С библиотеки ibqrencode от Kentaro Fukuchi, на более привычный ему язык PHP.
+50
Самостоятельное изучение схемотехники. Основные понятия. Часть 1
3 min
339KИзучение цифровой схемотехники нужно начинать с теории автоматов. В этой статье можно найти некоторые элементарные вещи, которые помогут не потеряться в дальнейших статьях. Я постарался сделать статью легкочитабельной и уверен, что неподготовленный читатель сможет в ней легко разобраться.


+177
Harumambu.ru — все фриланс-проекты рунета
1 min
1.3K
Решил сделать в свободное время доброе дело и немного облегчить жизнь фрилансерам. На сайте harumambu.ru отображаются все фриланс проекты рунета, причём:
- проекты отображаются мгновенно, то есть без задержки;
- при помощи поиска можно выделить проекты, которые подходят по ключевым словам;
- звуковой сигнал будет оповещать вас о поступлении нового подходящего проекта;
- не нужно обновлять страницу по 10 раз в минуту в надежде первым увидеть свежий проект, новые проекты отображаются автоматически.
UPD: Как не сложно заметить, оформление сайта хромает. Это из-за того, что я программист, а не дизайнер. Если у кого-то есть возможность в свободное время откарамелить сайт, буду очень признателен.
+59
TalkPad.ru — наш ответ Скайпу!
2 min
3.6KВсем доброго дня,
Сегодня мы хотим презентовать вам наш стартап TalkPad, который позволяет осуществлять звонки на городские и мобильные телефоны по всему миру прямо из браузера.

Предыстория
Активная тенденция переноса программных продуктов в web, которая наблюдается в последние годы, задала нам один вопрос: А есть хоть один нормальный сервис, позволяющий звонить из браузера?
Все полученные на этот вопрос ответы разделились на две группы:
Сегодня мы хотим презентовать вам наш стартап TalkPad, который позволяет осуществлять звонки на городские и мобильные телефоны по всему миру прямо из браузера.

Предыстория
Активная тенденция переноса программных продуктов в web, которая наблюдается в последние годы, задала нам один вопрос: А есть хоть один нормальный сервис, позволяющий звонить из браузера?
Все полученные на этот вопрос ответы разделились на две группы:
+126
Обзор FlashDevelop 3.1.0 RTM
1 min
2.2K
Вышла новая версия FlashDevelop, замечательного редактора кода для as3 и haXe. Самое приятное в новой версии это то, что появилась возможность использовать Debuger и Profiler.
+28
Авторизация для standalone-приложений
1 min
26KРады сообщить Хабрасообществу о запуске возможности использования VK API для standalone-приложений.

С сегодняшнего дня разработчики могут создавать различные Desktop-приложения, в том числе приложения для мобильных платформ (iPhone, Android и др.), виджеты и расширения для веб-браузеров. Подробная документация размещена в официальной группе — авторизация теперь не обязательна.

С сегодняшнего дня разработчики могут создавать различные Desktop-приложения, в том числе приложения для мобильных платформ (iPhone, Android и др.), виджеты и расширения для веб-браузеров. Подробная документация размещена в официальной группе — авторизация теперь не обязательна.
+51
Введение в разработку USB периферии
4 min
50KПоследние полгода я участвую в разработке первого в своей жизни USB-устройства и прикладного ПО к нему, и сейчас хочу поделиться своим пониманием того, как там всё работает: микроконтроллер, драйвер, прикладное ПО. Также затрону вопрос о выборе идентификаторов VID/PID. Список полезных ссылок для желающих более подробно разобраться в теме прилагается.
+103
Создание реалистичной кнопки средствами CSS3
3 min
7.7KTranslation

Цель — создание кнопки, как на изображении, не единой картинкой, а с помощью CSS3
+84
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Registered
- Activity