Pull to refresh
-18
0
Send message

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

Reading time1 min
Views28K


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

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

Reading time9 min
Views117K
Сегодня, благодаря господам спам-ботам и иже с ними, в сети практически невозможно что-либо сделать без ввода символов со сгенерированного изображения — CAPTCHA (далее — капча). Фактически, это предотвращает выполнение какого-либо скрипта без участия человека, и в этом топике я расскажу, как такую капчу создать средствами PHP, а так же упомяну очень полезный топик другого хабраюзера, который пригодится при разработке изображения-капчи.
Читать дальше →
Total votes 116: ↑83 and ↓33+50
Comments98

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

Reading time3 min
Views3.1K

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


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

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


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

Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments17

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

Reading time3 min
Views63K
Один из довольно частых вопросов на различных околониксовых ресурсах — вопрос о том, какую схему разбивки дисков использовать. С виду простой вопрос на самом деле таит в себе множество подводных камней. Если, конечно же, дело касается серверов. На десктопах все гораздо скучнее и серее.

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

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

Reading time4 min
Views36K
UPD: репозиторий теперь на Гитхабе.

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

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

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

Основные возможности и особенности класса от конкурентов:
Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments3

Opera Dragonfly 1.0

Reading time1 min
Views11K


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

Читать дальше →
Total votes 103: ↑93 and ↓10+83
Comments99

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

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

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

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

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

Reading time6 min
Views58K

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

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

Читать дальше →
Total votes 212: ↑200 and ↓12+188
Comments40

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

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

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

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

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

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

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

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

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

Reading time1 min
Views28K
«Лаборатория Касперского» и все ее эксперты рады присоединиться к эфиру, будем постить на актуальные темы, и не рекламу, а стараться давать вам полезные и интересные вещи.

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

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

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

Пайпы, the pythonic way

Reading time3 min
Views18K
Одни питонисты любят код читаемый, другие предпочитают лаконичный. К сожалению, баланс между первым и вторым — решения по-настоящему изящные — редко случается встретить на практике. Чаще стречаются строки вроде
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

Не в Питоне?
Зря так думаете...
Total votes 83: ↑81 and ↓2+79
Comments81

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

Reading time2 min
Views50K


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

(Осторожно! Много картинок)
Читать дальше →
Total votes 141: ↑96 and ↓45+51
Comments41

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

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


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

Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments34

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

Reading time19 min
Views252K

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

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

Приступим
Total votes 64: ↑63 and ↓1+62
Comments39

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

Reading time2 min
Views1K
Это подборка статей на тему веб-разработки на платформе .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);
Читать дальше →
Total votes 88: ↑47 and ↓41+6
Comments6

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

Reading time9 min
Views327K
Здравствуйте!

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

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

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

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

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

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

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

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

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

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

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

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

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

Подробности
Total votes 39: ↑37 and ↓2+35
Comments18

Information

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