Pull to refresh
17
0

Руководитель проектов

Send message

Хранение иерархических данных в плоском виде

Reading time3 min
Views7.6K
На примере хранения дерева комментариев.

Многие наверняка сталкивались с проблемой хранения комментариев, по крайней мере задумывались об этом. Очевидным решением «в лоб» является ссылка на родительский комментарий и, как следствие, рекурсивные вызовы при необходимости отобразить дерево. Современные СУБД поддерживают иерархические запросы, но мне кажется, что это просто перенос проблемы за пределы области видимости, может быть я не прав. В любом случае я писал для Google Application Engine, там разговора об иерархических запросах не идёт вообще.

Мне очень не нравилась перспектива рекурсии и множество мелких запросов к базе, поэтому я стал изобретать какой-то способ получить все комментарии одним простым запросом. И такой способ я довольно быстро «изобрёл». Опросил нескольких знакомых, оказалось, что мало кто на эту тему задумывался, поэтому возьму на себя смелость описать что именно я реализовал.

Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments110

10 способов улучшить свои навыки программирования

Reading time4 min
Views88K

1. Выучить новый язык программирования


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

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

Читать дальше →
Total votes 239: ↑227 and ↓12+215
Comments96

Обзор C# библиотек для работы с PDF

Reading time5 min
Views168K
topic image
На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.

Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
Читать дальше →
Total votes 87: ↑77 and ↓10+67
Comments24

Знакомство с OCR библиотекой tessnet2 (язык C#)

Reading time5 min
Views60K
example
Буквально на днях у меня появилась необходимость распознать простой текст на картинке и совсем не было желания реализовывать свой алгоритм, т.к. знаком с теорией и знаю, что это не такое простое дело, поэтому сразу решил изучить сначала рынок готовых библиотек. Буквально несколько запросов в гугл и я понял, что ничего более подходящего мне как библиотека tessnet2 невозможно найти. Постоянно читаю хабр и знаю, что тут есть уйма статей посвященных теории OCR и очень удивился, что нет ничего о библиотеке tessnet2.
Читать дальше →
Total votes 77: ↑70 and ↓7+63
Comments21

Тонкости регулярных выражений. Часть 2: возвраты и их количество

Reading time9 min
Views12K
Часть 1: метасимволы внутри и вне символьных классов.

В этой части я хотел бы рассказать про то, как же работают движки регулярных выражений, почему некоторые люди считают, что регулярные выражения очень медленные, и почему авторы многих движков не соблюдают стандарт POSIX.
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments6

Дайте мне железа! Часть 1

Reading time4 min
Views19K
Дайте мне железа!

Часть 2

На хабре есть много статей, посвященных созданию прикольных самопальных девайсов на базе микроконтроллеров, взять хотябы замечательную серию про необычный подарок (1, 2, 3) и дополнение про сенсорную клавиатуру. Они вызывают энтузиазм, побуждают к экспериментам, но вот возникает примерно такая фраза: «А теперь, значит, рисуем схему, разводим плату, травим, запаиваем, пишем прошивку, заливаем, и дело в шляпе». Вот тут-то у меня, как кодера, ни разу не державшего в руках паяльника, эти самые руки и опускались, ибо все пункты кроме написания прошивки были недоступны.

Но все меняется, когда желание пересиливает лень! В этой статье я расскажу, с чего начать, чтобы приобщиться к экспериментам с микроконтроллерами.

Под катом чуть менее мегабайта картинок
Мне интересно, давай рассказывай!
Total votes 135: ↑122 and ↓13+109
Comments87

Методы распознавания текстов

Reading time6 min
Views59K
Несмотря на то, что в настоящее время большинство документов составляется на компьютерах, задача создания полностью электронного документооборота ещё далека до полной реализации. Как правило, существующие системы охватывают деятельность отдельных организаций, а обмен данными между организациями осуществляется с помощью традиционных бумажных документов.
Читать дальше →
Total votes 85: ↑73 and ↓12+61
Comments59

Ветвления. Что с ними можно сделать

Reading time11 min
Views8.2K
Мой прошлый пост вызвал огромный резонанс. Комментариев было не много, но я получил множество писем, а некоторые читатели выступили даже с открытыми заявлениями (там, правда, преобладают наезды на меня лично и на хабр в целом, но есть и мысли по существу вопроса). Поэтому я решил продолжить писать в жанре «мои мысли по поводу вопросов известной компании». Этим постом я постараюсь решить две задачи: (i) ответить на вопросы и возражения читателей предыдущего поста и (ii) толкнуть в некотором смысле философскую мысль о безIFовом программировании. Букв получилось довольно много, но те, кому интересно только что-то одно из поста, могут пропустить половину.

И ещё: этот топик (как и прошлый) — не наезд ни на кого. Просто интересно порассуждать об интересных вопросах. Здесь нет подтекста, намёка, вызова. Параноиков и сторонников теорий заговоров попрошу расслабиться.

В этот раз хотел бы взглянуть на вопрос 4.
Читать дальше →
Total votes 60: ↑49 and ↓11+38
Comments35

Тонкости регулярных выражений. Часть 1: метасимволы внутри и вне символьных классов

Reading time5 min
Views17K

Вместо вступления



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

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

Читать дальше →
Total votes 76: ↑66 and ↓10+56
Comments69

Знакомимся с OpenGL

Reading time8 min
Views295K

OpenGL


Знакомство с OpenGL нужно начать с того, что OpenGL — это спецификация. Т.е. OpenGL лишь определяет набор обязательных возможностей. Реализация же зависит от конкретной платформы.
OpenGL является кроссплатформенным, независимым от языка программирования API для работы с графикой. OpenGL — низкоуровневый API, поэтому для работы с ним неплохо иметь некоторое представление о графике в целом и знать основы линейной алгебры.
Читать дальше →
Total votes 96: ↑81 and ↓15+66
Comments47

Новые материалы по IIS на русском языке (160+ статей)

Reading time1 min
Views2K
image

Привет, хабрасообщество! Мы, как и обещали, продолжаем ударными темпами пополнять наши ресурсы полезной информацией и все на русском языке. Вчера мы опубликовали большой пакет статей на русском языке по ASP.Net (150 статей), а сегодня мы разместили 161 статью на русском языке в Техническом центр по IIS. В центре вы найдете материалы по следующим темам:

Читать дальше →
Total votes 70: ↑43 and ↓27+16
Comments19

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity