Search
Write a publication
Pull to refresh
32
0
Игнат Толчанов @Leeb

Backend developer

Send message

Реляционные БД vs Объектно-ориентированные БД

Reading time5 min
Views30K
К сожалению не нашел на хабре достаточно интересных стаей про объектно-ориентированные базы данных (ООБД). Хотелось бы поднять эту тему, т.к. в последнее время все больше и больше идет разговоров об ООБД. Однако в одну статью всю информацию уложить не получится, поэтому приведу для начала небольшой обзор и свои размышления на эту тему. В этой статье я не буду рассматривать конкретные решения, основанные на каждой из технологий, а только постараюсь сравнить сами технологии.
Читать дальше →

Галерея эффектов кэшей процессоров

Reading time10 min
Views26K
Ядро PenrynПочти все разработчики знают, что кэш процессора — это такая маленькая, но быстрая память, в которой хранятся данные из недавно посещённых областей памяти — определение краткое и довольно точное. Тем не менее, знание «скучных» подробностей относительно механизмов работы кэша необходимо для понимания факторов влияющих на производительность кода.

В этой статье мы рассмотрим ряд примеров иллюстрирующих различные особенности работы кэшей и их влияние на производительность. Примеры будут на C#, выбор языка и платформы не так сильно влияет на оценку производительности и конечные выводы. Естественно, в разумных пределах, если вы выберите язык, в котором чтение значения из массива равносильно обращению к хеш-таблице, никаких результатов пригодных к интерпретации вы не получите. Курсивом идут примечания переводчика.
Читать дальше

TBDB, или пишем базу данных на BASH

Reading time1 min
Views4.7K
Изначально была идея написать скрипт, который помогал бы просто и универсально работать с некими группами данных в домашних скриптах-написал-и-забыл.
И вот перед вами милая и прекрасная страшная и ужасная, но простая и удобная база данных для хранения небольшого количества данных в несложных домашних скриптах.

TBDB, она же — Terrible Bash Data Base.

Движок базы состоит из одного баш скрипта.
Читать дальше →

Выполнение SQL-подобных запросов над данными — как в браузере, так и на сервере

Reading time1 min
Views2K
Marak Squires выпустил в свет JSLINQ — реализацию LINQ для JavaScript, работающую как на стороне браузера, так и на стороне сервера (к примеру, node.js). Поддерживаются такие конструкции, как JOIN, UNION, RANGE, DISTINCT, COUNT etc.

Смотрите:
Читать дальше →

Python в Visual Studio 2010

Reading time3 min
Views11K


Python становится ближе для тех, кто любит и использует Visual Studio 2010. Недавно, на сайте проекта IronPython были опубликованы бесплатные инструменты для работы с кодом Python в Visual Studio.

IronPython – это реализация языка Python 2.6 созданная Microsoft для платформы .NET, код которой может быть использован в других языках .NET и, наоборот, в IronPython возможно вызывать код из .NET-проектов.

image

Инструменты, которые теперь интегрируются в среду разработки Visual Studio 2010 теперь предлагают полноценную возможность разрабатывать проекты на языке Python. И для многих .NET-разработчиков эти инструменты станут прекрасной возможностью изучить новый для себя язык в знакомом окружении.

Рассмотрим возможности новых инструментов и то, как они интегрируются в Visual Studio.
Читать дальше →

Реализация эффекта Philips Ambilight в превью изображений

Reading time16 min
Views4K
Вчера в топике «Модификация изображений для сайта, или какие бывают превьюшки» в комментариях diGreez предложил, как мне показалось, очень интересный способ организации превьюшек изображений. Реализовал на PHP функцию, которая занимается созданием таких превьюшек.
Функция документирована комментариями.
Читать дальше →

Пишем драйвер для USB девайса. Pipe 0: что такое usb?

Reading time3 min
Views24K
Случилось так, что пришлось мне писать с нуля драйвер для usb дисплея под windows. Имея возможность — расскажу о деталях столь занимательного процесса.
image

USB – это simple

Несмотря на то, что написание драйверов считается достаточно трудным, в сравнении с прикладным программированием – и в этом низкоуровневом мире программисты не были обделены вниманием, большим шагом в упрощении создания драйверов стала разработка шины usb.
Итак, почему же шина usb так удобна, и что скрывает за собой слово Universal в расшифровке аббревиатуры.
Читать дальше →

Квадрарный поиск

Reading time2 min
Views15K
Тернарный (или троичный) поиск — это алгоритм поиска минимума (или максимума) выпуклой функции на отрезке. Можно искать минимум (максимум) функции от вещественного аргумента, можно минимум (максимум) на массиве. Будем, для определённости, искать минимум функции 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)).

А здесь я хочу рассказать о квадрарном (или четверичном) поиске.

Читать дальше →

Предложение по добавлению связывания данных

Reading time4 min
Views2K
Привет всем!

Я разработчик из команды 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 или плагины браузера.

Читать дальше →

Стандартный программист

Reading time3 min
Views17K
Примерно неделю назад принимал участие в конкурсе на открытую вакансию Microsoft. И провалился. Прошла неделя, мысли в голове (как же так? не может быть!) немного улеглись и я сделал некоторые выводы из этого опыта, коими и хочу поделиться с хабражителями.
Читать дальше →

Hiqus — HIerarhical QUery String

Reading time10 min
Views2.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).
ох, ну и порево же дальше

Почему юнит-тесты не работают в научных приложениях

Reading time7 min
Views8.2K
В этой статье я хочу поделиться своим опытом разработки научных приложений, и рассказать, почему Test-Driven Development и юнит-тесты не являются панацеей, как принято считать в последнее время, по крайней мере с точки зрения нахождения программных ошибок. Почему же?
Читать дальше →

Генерируем QR-код на PHP

Reading time2 min
Views82K

QR-code, уже давно распространен повсеместно, во всех сферах человеческой жизни. Вроде такая популярная вещь, а нормальной библиотеки (Open Source) на PHP — нет. Товарища deltalab, очень напрягла эта проблема и он решил переписать имеющиеся в наличии С библиотеки ibqrencode от Kentaro Fukuchi, на более привычный ему язык PHP.
Читать дальше →

Самостоятельное изучение схемотехники. Основные понятия. Часть 1

Reading time3 min
Views339K
Изучение цифровой схемотехники нужно начинать с теории автоматов. В этой статье можно найти некоторые элементарные вещи, которые помогут не потеряться в дальнейших статьях. Я постарался сделать статью легкочитабельной и уверен, что неподготовленный читатель сможет в ней легко разобраться.

image
Читать дальше →

Harumambu.ru — все фриланс-проекты рунета

Reading time1 min
Views1.3K
image

Решил сделать в свободное время доброе дело и немного облегчить жизнь фрилансерам. На сайте harumambu.ru отображаются все фриланс проекты рунета, причём:
  • проекты отображаются мгновенно, то есть без задержки;
  • при помощи поиска можно выделить проекты, которые подходят по ключевым словам;
  • звуковой сигнал будет оповещать вас о поступлении нового подходящего проекта;
  • не нужно обновлять страницу по 10 раз в минуту в надежде первым увидеть свежий проект, новые проекты отображаются автоматически.
Сейчас очень нужна обратная связь, чтобы понять, нужно ли развивать этот сайт, и если нужно, то в каком направлении.

UPD: Как не сложно заметить, оформление сайта хромает. Это из-за того, что я программист, а не дизайнер. Если у кого-то есть возможность в свободное время откарамелить сайт, буду очень признателен.

TalkPad.ru — наш ответ Скайпу!

Reading time2 min
Views3.6K
Всем доброго дня,

Сегодня мы хотим презентовать вам наш стартап TalkPad, который позволяет осуществлять звонки на городские и мобильные телефоны по всему миру прямо из браузера.

image

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

Авторизация для standalone-приложений

Reading time1 min
Views26K
Рады сообщить Хабрасообществу о запуске возможности использования VK API для standalone-приложений.



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

Читать дальше →

Введение в разработку USB периферии

Reading time4 min
Views50K
Последние полгода я участвую в разработке первого в своей жизни USB-устройства и прикладного ПО к нему, и сейчас хочу поделиться своим пониманием того, как там всё работает: микроконтроллер, драйвер, прикладное ПО. Также затрону вопрос о выборе идентификаторов VID/PID. Список полезных ссылок для желающих более подробно разобраться в теме прилагается.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity