Как стать автором
Обновить
-18
0

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

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

64-битная ОС на ассемблере

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


Разработчики из канадской компании Return Infinity специализируются на низкоуровневом программировании и экспериментальных разработках. На днях они выкатили новую версию BareMetal, 64-битной операционной системы, написанной полностью на ассемблере. Цель этого проекта — избавиться от неэффективного машинного кода, который генерируют компиляторы высокоуровневых языков вроде C/C++ и Java. Если изначально писать на ассемблере, то код получается более производительным и компактным. Вся ОС занимает 16384 байт, а программка “Hello World!” компилируется в файл 31 байт.
Читать дальше →
Всего голосов 98: ↑92 и ↓6+86
Комментарии181

Разработка CAPTCHA своими руками

Время на прочтение9 мин
Количество просмотров119K
Сегодня, благодаря господам спам-ботам и иже с ними, в сети практически невозможно что-либо сделать без ввода символов со сгенерированного изображения — CAPTCHA (далее — капча). Фактически, это предотвращает выполнение какого-либо скрипта без участия человека, и в этом топике я расскажу, как такую капчу создать средствами PHP, а так же упомяну очень полезный топик другого хабраюзера, который пригодится при разработке изображения-капчи.
Читать дальше →
Всего голосов 116: ↑83 и ↓33+50
Комментарии98

Простой пример реализации фонетического поиска

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

Постановка проблемы


Имеется база данных, содержащая список российских и украинских имён-фамилий в английской транскрипции, как она записана в туристических паспортах. Поскольку некоторое время назад правила транскрибирования для оных паспортов в России поменялись (толи с английских на французские, толи наоборот), имеется вполне реальная и даже официальная возможность того, что какое либо ФИО может быть записано иначе. Кроме того, данные порой могут браться из морского паспорта, что делает ситуацию ещё запутанней.
А теперь представьте, что вам нужно быстро найти в этой базе человека по фамилии, ну например, Щеглов… (смайл)

Варианты решения


Существующие алгоритмы не понравились либо ориентацией на чистый английский, либо полной невозможностью «горячего поиска» (фамилию нужно вводить целиком, и только потом сравнивать). И тут я вспомнил об одном достаточно простом алгоритме, который написал лет много тому назад для одного греческого проекта, где подобная проблема стояла даже в более жостком варианте: фамилии (греческие) операторам там приходилось ловить на слух, по телефону. Описание алгоритма мне дал мой тогдашний компаньон, назвав его «воэл». Греческий и русский, конечно, похожи мало, но каши с транскрибированием вполне схожи, и я решил рискнуть переделать упомянутый «воэл» под российские нужды.

Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии17

Как и почему следует разбивать диск в никсах

Время на прочтение3 мин
Количество просмотров63K
Один из довольно частых вопросов на различных околониксовых ресурсах — вопрос о том, какую схему разбивки дисков использовать. С виду простой вопрос на самом деле таит в себе множество подводных камней. Если, конечно же, дело касается серверов. На десктопах все гораздо скучнее и серее.

Универсального решения в данном вопросе нету, просто есть некоторые аспекты, которыми следует руководствоваться при выборе схемы разбивки.
Читать дальше
Всего голосов 236: ↑213 и ↓23+190
Комментарии141

Класс-клиент goo.gl и настройка API

Время на прочтение4 мин
Количество просмотров36K
UPD: репозиторий теперь на Гитхабе.

Здравствуйте, коллеги!

Помню, в свое время меня очень обрадовала новость, что у гугловской сокращалки урлов появились официальные API. В то время я как раз разрабатывал приложение, которому часто требовалось сокращать ссылки новостных лент. Я как раз прикручивал bit.ly, но испытал соблазн попробовать новый сервис от Гугла. Воспользовавшись документацией, я за несколько часов набросал базовый функционал и встроил скрипт в проект.

С течением времени в скрипт вносились изменения, и, наконец, я решил дополнить код комментариями, написать простую документацию и выложить всё на гуглокод.

Основные возможности и особенности класса от конкурентов:
Читать дальше →
Всего голосов 54: ↑50 и ↓4+46
Комментарии3

Opera Dragonfly 1.0

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


Сегодня вышла финальная версия инструментов для разработчика Opera Dragonfly 1.0, встроенных в браузер Opera. Открыть их проще простого: просто нажмите Ctrl + Shift + I или ⌘ + ⌥ + I, в зависимости от вашей системы, или выберите «Проинспектировать элемент» для любого блока на странице. Opera Dragonfly представляет собой HTML5-приложение, которое запускается в браузере и может работать как онлайн (поэтому у вас всегда будет актуальная версия), так и офлайн при помощи технологии AppCache из спецификации HTML5. Исходники приложения доступны на Bitbucket.

Читать дальше →
Всего голосов 103: ↑93 и ↓10+83
Комментарии99

Построение отказоустойчивой (fault tolerant) системы

Время на прочтение8 мин
Количество просмотров48K
В разработке банковского ПО данному аспекту системы уделяется наибольшее внимание. Часто, описывая отказоустойчивую систему, используют слова: Fault Tolerance, Resilience, Reliability, Stability, DR (disaster recovery). Данная характеристика — суть способность системы продолжать корректно работать при падении одной или нескольких подсистем, от которых она зависит. Я кратко опишу какие подходы могут применяться в данной области и приведу пару примеров.
Читать дальше →
Всего голосов 75: ↑68 и ↓7+61
Комментарии10

Пять бесплатных инструментов для выбора цветовой схемы сайта

Время на прочтение2 мин
Количество просмотров233K
Один из самых важных факторов при создании уникального и узнаваемого дизайна — цвет. Грамотный выбор цветовой схемы может определить успех или провал сайта. Когда посетитель бросает первый взгляд на веб-страницу, то выбранные вами цвета посылают ему мгновенное сообщение об этой странице. К счастью, существует много инструментов, которые помогут выбрать правильную цветовую схему. Вот пять лучших из них.
Читать дальше →
Всего голосов 148: ↑134 и ↓14+120
Комментарии41

Как устроен jQuery: изучаем исходники

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

jQuery однозначно стал стандартом в индустрии веб-дева. Есть много отличных js-фреймворков, которые заслуживают внимания, но jQuery поразил всех своей лёгкостью, изящностью, магией. Люди пишут с использованием jQuery, люди пишут плагины для jQuery, люди даже пишут статьи про jQuery, но мало кто знает (особенно из новичков), КАК устроен jQuery.

В этой статье проведем небольшой экскурс во внутренности этого фреймворка и разберем, что внутри.
Статья рассчитана на базовые знания Javascript. Задумайтесь и, если вы знаете, как написать клон jQuery, то, скорее всего, вы тут не найдёте ничего нового. Остальным — добро пожаловать под кат

Читать дальше →
Всего голосов 212: ↑200 и ↓12+188
Комментарии40

Переменные в Фотошопе или как импортировать внешние PSD-файлы влёгкую

Время на прочтение5 мин
Количество просмотров20K
Во время работы над крупными проектами с множеством макетов и видов объекта даже минимальное изменение в повторяющемся компоненте может потребовать времени. Проход по множеству макетов и подстройка цвета или начертания у подобного повторяющегося элемента может стать изнуряющим делом. Конечно же, если у вас есть подмастерье, выполняющий всю грязную работу за вас, то вы, определённо, везунчик, но что же делать нам, фрилансерам?

Неужели нам остаётся лишь сносить эту му́ку? Что ж, теперь нет! Недавно я обнаружил подход, который позволит дизайнерам распрощаться с открытием 23 PSD-файлов только ради смены цвета элемента в шапке. Вместо этого мы можем поступать разумно, как наши коллеги, разработчики, и импортировать внешние файлы при помощи кое-чего с названием «Variables (Переменные)».

Сие позволит поместить многократно используемый компонент в отдельный файл и просто импортировать его во все макеты. Теперь, когда нам понадобится внести изменение, мы будем просто вносить его в одном месте.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Комментарии37

Нужен ли нам язык?

Время на прочтение6 мин
Количество просмотров50K
image Почти полгода назад, в день грамотности, мы писали о тестах по русскому языку. Как известно, правила русского языка меняют, ввели ЕГЭ и прочее. Как оказалось, и в образовании США происходят интересные изменения. Недавно издание ABC News опубликовало новость о том, что во многих штатах США исключили пропись из программы обучения. Теперь американские дети будут писать печатными буквами.

В 41 штате пропись не является обязательной. Штаты могут продолжать обучение слитному письму по собственному желанию (и за свой счёт). Например, Массачусетс и Калифорния оставили этот предмет в программе обучения. Кстати говоря, родители и представители образования продолжают считать обучение слитному письму необходимым, особенно для ребят, у которых написание текста сводится к набору СМС и чату в Facebook.

Как сказал Мэтт Кардоза, представитель Департамента образования штата Джорджия, — «Процесс обучения слитному письму довольно трудоемкий и занимает много времени, но пользы от него гораздо меньше, чем от овладения навыками набора текста на клавиатуре, что более необходимо учащимся в средней и старшей школе. При тестировании более не будет учитываться слитное написание, а если что-то не важно, значит и не имеет смысла этому обучать».
Читать дальше →
Всего голосов 127: ↑84 и ↓43+41
Комментарии218

Здравствуй, Хабрахабр!

Время на прочтение1 мин
Количество просмотров28K
«Лаборатория Касперского» и все ее эксперты рады присоединиться к эфиру, будем постить на актуальные темы, и не рекламу, а стараться давать вам полезные и интересные вещи.

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

А вообще, это специальный пост, где мы особо охотно принимаем вопросы и пожелания в комментариях, и поскольку это все-таки наш первый пост — готовим удвоенные комментаторские силы для ответов.

С уважением и прочими дружескими чувствами,
команда «Лаборатории Касперского»
Всего голосов 235: ↑181 и ↓54+127
Комментарии363

Пайпы, the pythonic way

Время на прочтение3 мин
Количество просмотров18K
Одни питонисты любят код читаемый, другие предпочитают лаконичный. К сожалению, баланс между первым и вторым — решения по-настоящему изящные — редко случается встретить на практике. Чаще стречаются строки вроде
my_function(sum(filter(lambda x: x % 3 == 1, [x for x in range(100)])))
Или четверостишья а ля
xs = [x for x in range(100)]
xs_filtered = filter(lambda x: x % 3 == 1, xs)
xs_sum = sum(xs_filtered)
result = my_function(xs_sum)
Идеалистам же хотелось бы писать как-то так
result = [x for x in range(100)] \
    | where(lambda x: x % 3 == 1)) \
    | sum \
    | my_function

Не в Питоне?
Зря так думаете...
Всего голосов 83: ↑81 и ↓2+79
Комментарии81

Подборка генераторов CSS

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


Не секрет, что писать CSS для многих стандартных кнопок, макетов, etc. бывает весьма лениво. Ниже представлена подборка генераторов CSS (и не только), которая, возможно, в некоторых случаях сможет упростить кому-то жизнь. Многими генераторами можно успешно пользоваться даже без глубоких познаний CSS.

(Осторожно! Много картинок)
Читать дальше →
Всего голосов 141: ↑96 и ↓45+51
Комментарии41

Написание приложений, основаных на Qt, на языке Python

Время на прочтение5 мин
Количество просмотров120K
Доброе время суток.
Недавно решил изучить ещё один язык программирования. Выбор пал на python. Написал несколько маленьких скриптов. Но прежде всего я хотел писать приложения с графическим интерфейсом. В интернете наткнулся на этот небольшой туториал, прочтение которого вылилось в предлагаемый Вашему вниманию перевод. Надеюсь, что кому-нибудь он будет полезен.


Это руководство нацелено на получение представления о том как писать маленькие приложения на python, использующие библотеку Qt.

Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии34

Захват видео с сетевых камер, часть 2

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

В первой своей статье «измерение расстояния до объекта и его скорости» я рассмотрел захват изображений с веб-камер через Video4Linux2 и через DirectX. В следующей статье «захват видео с сетевых камер, часть 1» я рассмотрел как работать с сетевыми Motion-JPEG камерами. Сейчас я поведаю Вам о захвате изображений с сетевых RTSP камер, в частности поток Motion-JPEG по RTSP.

Задача эта более сложная нежели Motion-JPEG по HTTP, так как необходимо больше действий, больше подключений, но взамен мы получаем большую гибкость, скорость, функциональность и даже некую универсальность. Честно говоря, RTSP для простых задач избыточен, но я не сомневаюсь, что найдутся ситуации, где он будет необходим.

Приступим
Всего голосов 64: ↑63 и ↓1+62
Комментарии39

Что почитать на выходных? Рекомендуем, выпуск №8

Время на прочтение2 мин
Количество просмотров1K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Темы номера:ASP.NET MVC/WebMatrix:
  • Glimpse — серверный firebug для проектов ASP.NET (link);
  • WebMatrix- работа с пакетом определения мобильных клиентов от 51Degrees.mobi (link);
  • ASP.NET MVC 3- использование скаффолдинга контроллеров (link);
  • Модуль импорта/экспорта рецептов в Orchard CMS 1.1 (link);
  • ReSharper 6 предложит глубокую поддержку Razor (link);
  • Демонстрационное приложение MVC Music Store v3.0 для изучения ASP.NET MVC (link);
  • Razor- вывод секций в мастер-страницах мастер-страниц (link);
  • ASP.NET MVC 3 Tools Update, now with Drop-Down Lists! (link);
Читать дальше →
Всего голосов 88: ↑47 и ↓41+6
Комментарии6

Популярные вопросы на собеседовании по C++ и ответы на них

Время на прочтение9 мин
Количество просмотров339K
Здравствуйте!

Те, кто занимается программированием рано или поздно сталкивается с необходимостью прохождения технического собеседования у потенциального работодателя.

О том, что спрашивают на собеседовании у C++ программистов, а также об ответах на эти вопросы и пойдет речь в данном посте.
Читать дальше →
Всего голосов 199: ↑196 и ↓3+193
Комментарии174

Ощущения как обратная связь

Время на прочтение3 мин
Количество просмотров1.7K
Все мы к чему-то стремимся. Кто-то старается больше успевать и эффективнее работать. Другой следит за своими расходами и оптимизирует денежные траты. Иной пытается изменить какую-либо привычку — например, стать жаворонком.

Чувство времени

Как правило, нам предлагаются различные методики, что и как следует делать в том или ином случае — записывать план раз в неделю, или каждый день вставать в одно и то же время, а ложиться, когда хочешь спать. А вот проверке правильности выполнения действий не всегда уделяется должное внимание. Вина то самих людей, невнимательно читающих, или же формулировок в книгах и руководствах, не сильно важно. Важно то, что в результате немало людей не достигают целей.

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

Почему это работает и как появляется, описание внутри.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии7

re2c — компилятор регулярных выражений

Время на прочтение3 мин
Количество просмотров8.3K
Задача выделения из потока символов определенных лексем является весьма распространенной. Часто ее решают с помощью лексических анализаторов, конфигурируемых регулярными выражениями. Многие анализаторы построены по принципу генерации программного кода, который в свою очередь реализует логику регулярных выражений. Фактически, это компиляция языка регулярных выражений в код языка программирования.

Например, flex — это один из таких анализаторов. Старый, но проверенный годами.

Я много пользовался flex'ом, он имеет и плохие и хорошие стороны, но по большому счету, жаловаться не приходилось.

Но вчера наткнулся на интересный проект — re2c. По сути, на этой штуке можно писать лексические анализаторы прямо на коленке за несколько минут.

Подробности
Всего голосов 39: ↑37 и ↓2+35
Комментарии18

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность