Как стать автором
Обновить
25
0.1
AigizK @AigizK

Пользователь

Отправить сообщение

Забавляемся с хешами

Время на прочтение5 мин
Количество просмотров87K
Привет. Я хочу показать вам небольшой фокус. Для начала вам потребуется скачать архив с двумя файлами. Оба имеют одинаковый размер и одну и ту же md5 сумму. Проверьте никакого обмана нет. Md5 хеш обоих равен ecea96a6fea9a1744adcc9802ab7590d. Теперь запустите программу good.exe и вы увидите на экране следующее.
Попробуйте запустить программу evil.exe.
Что-то пошло не так? Хотите попробовать сами?
Тогда добро пожаловать под кат.
Всего голосов 264: ↑254 и ↓10+244
Комментарии123

Пишем софт для учёта финансов: Открытый API

Время на прочтение3 мин
Количество просмотров2.5K
Один из моих прошлых постов про домашнюю бухгалтерию, породил много обсуждений на тему — можно ли вести учёт финансов в интернете, или лучше по старинке использовать оффлайн приложения типа Excel?

Мнения разделились, но факт остаётся фактом — многие делают выбор в пользу онлайна. А мы подумали, так ли уж непримиримы онлайн с оффлайном?

И вот теперь, всякое приложение для учёта финансов, под любую ОС, может обмениваться данными с онлайном, используя открытое API от drebedengi.ru. А как вы думаете, нужно ли это людям?
Читать дальше →
Всего голосов 27: ↑20 и ↓7+13
Комментарии32

Рейтрейсер на JavaScript

Время на прочтение8 мин
Количество просмотров21K
TitleImage

Знаете ли вы что такое рейтрейсер? Это программа которая рисует трёхмерную сцену на экране так, как её бы увидели вы. Конечно, не совсем так, но некоторые рейтрейсеры умеют рисовать очень правдоподобные картинки, например как в "Аватаре".

Идея рейтрейсера очень простая и в этой статье я раcскажу как устроен этот алгоритм и даже напишу его на JavaScript. Картинки и пример прилагаются.

Читать дальше →
Всего голосов 249: ↑247 и ↓2+245
Комментарии102

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

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

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

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

Время на прочтение5 мин
Количество просмотров60K
example
Буквально на днях у меня появилась необходимость распознать простой текст на картинке и совсем не было желания реализовывать свой алгоритм, т.к. знаком с теорией и знаю, что это не такое простое дело, поэтому сразу решил изучить сначала рынок готовых библиотек. Буквально несколько запросов в гугл и я понял, что ничего более подходящего мне как библиотека tessnet2 невозможно найти. Постоянно читаю хабр и знаю, что тут есть уйма статей посвященных теории OCR и очень удивился, что нет ничего о библиотеке tessnet2.
Читать дальше →
Всего голосов 77: ↑70 и ↓7+63
Комментарии21

Структуры данных: двоичная куча (binary heap)

Время на прочтение4 мин
Количество просмотров232K
Двоичная куча (binary heap) – просто реализуемая структура данных, позволяющая быстро (за логарифмическое время) добавлять элементы и извлекать элемент с максимальным приоритетом (например, максимальный по значению).

Для дальнейшего чтения необходимо иметь представление о деревьях, а также желательно знать об оценке сложности алгоритмов. Алгоритмы в этой статье будут сопровождаться кодом на C#.

Введение


Двоичная куча представляет собой полное бинарное дерево, для которого выполняется основное свойство кучи: приоритет каждой вершины больше приоритетов её потомков. В простейшем случае приоритет каждой вершины можно считать равным её значению. В таком случае структура называется max-heap, поскольку корень поддерева является максимумом из значений элементов поддерева. В этой статье для простоты используется именно такое представление. Напомню также, что дерево называется полным бинарным, если у каждой вершины есть не более двух потомков, а заполнение уровней вершин идет сверху вниз (в пределах одного уровня – слева направо).



Читать дальше →
Всего голосов 72: ↑58 и ↓14+44
Комментарии58

Динамический favicon или отображаем карму, не обновляя страницу

Время на прочтение5 мин
Количество просмотров11K
image
У каждого из нас, полагаю, в любимом браузере постоянно открыты несколько вкладок одновременно. Не раз бывают случаи, что и заголовка вкладки не видно — лишь favicon'ки. Но часто они информации, кроме как отображения логотипа сайта, не дают. И, наверное, зря. Но мы постараемся и здесь использовать это место (целых 16px*16px!) так, как хотим. По крайней мере, будем знать, как это можно сделать.
Читать дальше →
Всего голосов 138: ↑133 и ↓5+128
Комментарии54

Загрузка файлов с помощью HTML5 и сколько раз мы сказали нехорошие слова

Время на прочтение3 мин
Количество просмотров7.2K
Стояла задача: найти или создать загрузчик файлов на сервер, использующий возможности HTML5 для мультизагрузки. Загрузчик должен:
  • отправлять методом POST любые параметры вместе с файлом;
  • отправлять куки;
  • предоставлять возможность выбора сразу нескольких файлов (или нескольких тысяч – тут как пользователь захочет);
  • отправлять файлы группами;
  • файлы собираются в группы до определенного количества мегабайт, или до определенного количества файлов в группе; (это связано с тем, что на сервере есть ограничение на размер POST запроса и на количество файлов в одном пакете)

Именно по причине отсутствия опыта работы с флешем, для создания загрузчика был выбран только JavaScript.

Итак, что из этого получилось

Читать дальше →
Всего голосов 87: ↑84 и ↓3+81
Комментарии67

Linq To Tasks и монада продолжения

Время на прочтение6 мин
Количество просмотров4.5K
После анонса C# 5.0 с его async и await, у меня появился небольшой интерес к асинхронному программированию, копание в сторону которого и послужило возникновению данного текста.
В процессе чтения статьи вы узнаете/омните.
  • Что есть монада на примере Maybe.
  • Что такое CPS и монада продолжения.
  • Как это связать с классом Task из TPL.

Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии20

Каркас сайта в один клик

Время на прочтение1 мин
Количество просмотров5.6K
Дизайнерская компания Volkside сделала подарок веб-разработчикам, выпустив бесплатный букмарклет Wirify, с помощью которого можно отобразить каркас (wireframe) любого сайта одним щелчком мыши. Полезная вещь, чтобы быстро оценить некоторые аспекты дизайна сайта: модульную систему вёрстки, визуальную иерархию, свободное пространство, симметрию, золотое сечение, правило третей и т.д.


Читать дальше →
Всего голосов 107: ↑101 и ↓6+95
Комментарии21

Html Agility Pack — удобный .NET парсер HTML

Время на прочтение5 мин
Количество просмотров163K
Всем привет!
Как-то раз мне пришла в голову идея проанализировать вакансии размещенные на Хабре. Конкретно интересовало, есть ли зависимость между размером зарплаты и наличия высшего образования. А еще сейчас у студентов идет сессия (в том числе и у меня), то возможно кому-то уже надоело трепать нервы на экзаменах и этот анализ будет полезен.
Так как я программист на .Net, то и решать эту задачу — парсить объявления на Хабре я решил на C#. Вручную разбирать строки html мне не хотелось, поэтому было придумано найти html-парсер, который помог бы осуществить задачу.
Забегая вперед скажу, что из анализа ничего интересного не вышло и сессию придется сдавать дальше :(
Но зато немножко расскажу про весьма полезную библиотеку Html Agility Pack
Читать дальше →
Всего голосов 58: ↑41 и ↓17+24
Комментарии69

Инструменты для дизайнеров и разработчиков

Время на прочтение2 мин
Количество просмотров4.8K


Предлагаю ознакомиться с небольшим набором инструментов для веб-разработки, которые могут сделать вашу жизнь проще. Все сервисы бесплатны и просты в использовании, но (как обычно) есть и минус – они все на английском, хотя когда и кого это останавливало?)

Смотрим
Всего голосов 155: ↑131 и ↓24+107
Комментарии41

Как на самом деле работает мозг

Время на прочтение4 мин
Количество просмотров98K
На хабре довольно популярны статьи о различных техниках повышения работоспособности, улучшения памяти, самомотивации и т.д. и т.п. Увы, зачастую авторы этих статей совершенно не представляют себе, что такое мозг, как он работает и почему всё устроено именно так.

Прежде всего, необходимо понять вот что:

Думать дорого
Всего голосов 340: ↑286 и ↓54+232
Комментарии465

Зачем на самом деле нужен мозг

Время на прочтение10 мин
Количество просмотров52K
В продолжение предыдущего топика "Как на самом деле работает мозг". На написание данного поста меня побудила, с одной стороны, замечательная книга «Grooming, Gossip, and the Evolution of Language» Робина Данбара (Robin Dunbar), а с другой — очередная порция «полезных» и «умных» советов в GTD и других блогах.

Для затравки — небольшая логическая задачка. Дан набор карточек; на каждой из них на одной стороне написана буква, на другой — цифра.
На столе лежат четыре карточки: «А», «Д», «5» и «6». Вам говорят: если на карточке (из числа лежащих на столе) на одной стороне гласная, то на обороте — чётная цифра. Какие из карточек достаточно перевернуть, чтобы однозначно подтвердить или опровергнуть это утверждение?

Подумайте немного, запишите ответ на бумажке и добро пожаловать под кат.

Читать дальше →
Всего голосов 234: ↑213 и ↓21+192
Комментарии465

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

Время на прочтение5 мин
Количество просмотров17K

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



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

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

Читать дальше →
Всего голосов 76: ↑66 и ↓10+56
Комментарии69

Расширяем возможности StyleCop

Время на прочтение6 мин
Количество просмотров18K

StyleCop — статический анализатор C# кода на предмет соответствия стилю — был официально представлен публике в начале 2008 года. По IT-меркам это довольно давно, однако этот полезный инструмент почему-то до сих пор не получил широкую популярность (по крайней мере ту, которую заслуживает).

Ниже я постараюсь проанализировать причины, а также расскажу о новом плагине к StyleCop.
Читать дальше →
Всего голосов 45: ↑34 и ↓11+23
Комментарии14

Хабраиндекс для статей по программированию под Android

Время на прочтение2 мин
Количество просмотров94K
Читать дальше →
Всего голосов 220: ↑204 и ↓16+188
Комментарии43

Google Maps API

Время на прочтение8 мин
Количество просмотров352K

Картографический сервис – зачем это? Ну например, я 10 лет жил в нашей маленькой провинции, а потом взял и понаехал в Москву, и всё для меня так ново. А где магазины, боулинг, кафешки, парки отдыха – надо знать же, где тратить московскую зарплату. Но вот беда, как узнать? Раньше был справочник «Желтые страницы» и там была карта и всё по адресам. Чтобы найти что-то уходило масса времени. Сейчас стало всё в разы проще. Вот прекрасный пример: http://www.pushkino.org/. Но это далеко не всё.
Я могу отслеживать погоду, пожары, пробки (кстати!) в реальном времени.
Мой заказчик может не вводить свой адрес, а попросту отметить его на карте и я буду знать куда доставить ему товар – какое классное решение, не надо всего этого – «Проспект маршала Блюхера, 43, г. Санкт-Петербург, Россия».

Далее...
Всего голосов 97: ↑83 и ↓14+69
Комментарии47

Книга MEF

Время на прочтение7 мин
Количество просмотров36K
imageЭтой статьей я начинаю цикл, цель которого – создание наиболее полного руководства по Managed Extensibility Framework (MEF) на русском языке. Результатом цикла, в моих планах, станет создание бесплатной электронной книги о MEF. Если у вас есть соображения или предложения по этому поводу – дайте мне знать в комментариях. Я надеюсь, что совместными усилиями мы можем создать отличное руководство.

Эта статья составлена по материалам моих докладов про MEF на разных встречах, в том числе на конференции DevConf.

Я ищу соавторов, критиков, просто людей, которые хотят помочь, в том числе с версткой документа.

Читать дальше →
Всего голосов 85: ↑71 и ↓14+57
Комментарии36

Визуальный редактор на jQuery

Время на прочтение2 мин
Количество просмотров14K
Визуальный редактор

В мире визуальных редакторов есть CKeditor, есть tinyMCE — монстрообразные, не гибкие, их сложно изменять под задачи сайтов и интерфейсов. Есть небольшие, простые, они часто с ужасным дизайном, не развиваются, не поддерживаются. Как настоящий разработчик, несколько лет назад я решил написать свой редактор и в течение этого времени постоянно развивал его и упрощал. Суть редактора постепенно свелась к простым требованиям:
  • он должен быть красивым и одновременно ненавязчивым, чтобы вписывался без внешних изменений почти в любой интерфейс;
  • обязательно быстрым и легкий, потому что никому не нравится сидеть даже полминуты в ожидании загрузки всех кнопок и плагинов;
  • гибкий для разработки, доработки и встраивания под все возможные нужды;
  • с простым и понятным интерфейсом. В идеале визуальный редактор — это просто поле для ввода текстов, без лишних кнопок и функций. Просто люди пишут тексты в вебе и это все что им нужно.

Читать дальше →
Всего голосов 212: ↑203 и ↓9+194
Комментарии190

Информация

В рейтинге
3 201-й
Дата рождения
Зарегистрирован
Активность