Сейчас в тематических интернетах модно слово «Node.js». В этой небольшой статье мы попробуем понять («на пальцах»), откуда всё это взялось, и чем такая архитектура отличается от привычной нам архитектуры с «синхронным» и «блокирующим» вводом/выводом в коде приложения (обычный сайт на PHP + MySQL), запущенного на сервере приложений, работающем по схеме «по потоку (или процессу) на запрос» (классический Apache Web Server).
User
Alpha-blending за одно умножение на пиксель на Windows Mobile
4 min
3.7KТе, кто занимался графикой на Windows Mobile, наверняка слышали о графической библиотеке GapiDraw. Если заглянуть в их Feature List, то в разделе High Performance можно обнаружить следующие слова: «drawing surfaces with opacity will only require one multiplication per pixel». То есть, они утверждают, что для рисования полупрозрачных картинок требуется всего по одному умножению на каждый пиксель.
В данной статье я попытаюсь объяснить, как это возможно.
В данной статье я попытаюсь объяснить, как это возможно.
+47
Генерация ландшафта как в MineCraft
2 min
35K
Всем доброго времени суток.
Я хотел бы поделиться личным опытом по поводу генерации ландшафтов. Всё началось с того что я поиграл в Minecraft и больше всего меня поразил ландшафт, это был случайно генерируемый и при этом красивый ландшафт. Вообще признаюсь честно давно я не получал такого эстетического удовольствия глядя на уходящие в даль кубообразные холмы.
Конечно мне стало интересно, а как же такое вообще работает, на каких именно алгоритмах и все в этом духе. Долго ковыряясь с самой игрой, а так же облазив многие сайт с модами я узнал не так много, как хотелось бы, но позже нашел статью в блоге разработчиков о там как они раньше создавали свой ландшафт. Естественно я тоже решил попробовать создать свою версию ландшафта. Скажу честно, даже после прочтения той статьи пришлось долго искать на предмет других алгоритмов генерации ландшафтов, эрозии, биомов и сглаживания.
+21
Пишем живые обои с часами
4 min
25K
+73
Сканирование по сети – это просто
7 min
184KЭта статья «для чайников» о том, как настроить сканирование изображений по сети с помощью роутера Asus WL-500gpv2, МФУ Samsung SCX-4220 и Windows. С картинками.
Рассказывать буду на примере прошивки OpenWrt Backfire 10.03.1-rc5. От знаменитой прошивки Олега она отличается возможностью более детальной настройки программного обеспечения и возможностью управления пакетами из веб-интерфейса.
Cписок совместимого с прошивкой оборудования тут.
Эта инструкция скорее всего подойдет к любом у роутеру из этой таблицы, у которого не менее 8мб флеш-памяти и не менее 32мб оперативной.
Рассказывать буду на примере прошивки OpenWrt Backfire 10.03.1-rc5. От знаменитой прошивки Олега она отличается возможностью более детальной настройки программного обеспечения и возможностью управления пакетами из веб-интерфейса.
Cписок совместимого с прошивкой оборудования тут.
Эта инструкция скорее всего подойдет к любом у роутеру из этой таблицы, у которого не менее 8мб флеш-памяти и не менее 32мб оперативной.
+40
Как я перешел со Smarty на Twig
5 min
25KРаньше я был ярым поклонником Smarty. У Smarty достаточно много достоинств, он распространен, с ним просто, он привычен и так далее. Но так вышло, что для одного из проектов Smarty оказался слишком уж тяжелым и слегка тормозным. Я не говорю, что Smarty плох или что он негодный, нет. Просто в некоторых условиях его производительность оказалась недостаточной, и надо было искать альтернативу. Альтернатива нашлась и я очень рад, что мне выпала возможность работать с Twig.
+39
Любительская КВ радиосвязь, часть 1 — наблюдатель
6 min
97KРедкое в наше время, почти ушедшее понятие «радиолюбитель», «КВ радиоспортсмен» еще каких-то 15-20 лет назад было интригующим. Энтузиасты с паяльником в руках разбирали схемы, обменивались идеями, новыми конструкциями приемо-передающих устройств. Проявляли недюжинную смекалку в поисках нужных радиодеталей в условиях всеобщего дефицита.

В условиях, когда и обычный стационарный телефон был не в каждой квартире возможность устанавливать связь, общаться с тысячами радиолюбителей и познавать мир было настоящим чудом. Именно так я и приобщился к этой большой семье.
Увлечение началось с похода в местный клуб ДОСААФ при котором была радио-школа, радиоклуб и коллективная радиостанция RZ4AWB. Именно там меня заинтересовали многогранностью любительской связи на КВ волнах. Это и просто работа в эфире, и охота за DX станциями (редкими и дальними), наблюдение за работой радио-экспедиций и участие в соревнованиях. Да и просто возможность связаться с разными континентами земного шара. Одна мысль о такой возможности будоражила воображение.

В условиях, когда и обычный стационарный телефон был не в каждой квартире возможность устанавливать связь, общаться с тысячами радиолюбителей и познавать мир было настоящим чудом. Именно так я и приобщился к этой большой семье.
Увлечение началось с похода в местный клуб ДОСААФ при котором была радио-школа, радиоклуб и коллективная радиостанция RZ4AWB. Именно там меня заинтересовали многогранностью любительской связи на КВ волнах. Это и просто работа в эфире, и охота за DX станциями (редкими и дальними), наблюдение за работой радио-экспедиций и участие в соревнованиях. Да и просто возможность связаться с разными континентами земного шара. Одна мысль о такой возможности будоражила воображение.
+82
Разработка простого расширения для google chrome
6 min
47K
В данной статье я хочу рассказать о том как я написал небольшое расширение для google chrome в личных целях. А цель статьи — помощь молодому программисту, с трудом понимающему английский язык. Не каждый на 3ом курсе сможет читать гугловскую документацию, которая есть только на английском. А сделать расширение хочется.
Если поискать, то на русском языке нет ничего толкового по разработке расширений для chrome, только лишь эта статья доступно описывает самые основы.
Данный пост будет более продвинутой версией.
+97
Стационарный сотовый телефон в дачных условиях
4 min
85K
Этим летом мне посчастливилось провести много времени на даче, работая удаленно. Живем мы в обычном садовом товариществе, и никаких благ цивилизации и хайтека, кроме электричества, в доме нет. Пришлось обустраивать рабочее место самостоятельно.
О борьбе за стабильный и быстрый интернет я скоро напишу отдельную статью. А сейчас хочу рассказать про небольшой полезный гаджет, который удалось раздобыть в процессе модернизации дачи под офис.
Это стационарный сотовый телефон. Вообще, проводной телефон – вещь, казалось бы, архаичная и громоздкая. Но, во-первых, я, например, очень привык иметь на столе обычный офисный аппарат с трубкой. А, во-вторых, такая конструкция имеет кое-какие преимущества перед мобильным телефоном.
Оказалось, что существует довольно много таких телефонов. Мне досталась одна из базовых моделей – Мастер Кит MK303. Сам аппарат собран, как это часто водится, в Китае, но продается под нашим брэндом.
Внешне аппарат отличается от обычного домашнего телефона наличием GSM-антенны.
+7
Оптимизация PNG и JPEG без потери качества. Часть 2
5 min
26KЗдравствуй Хабр!
Вот и настало время второй, и, надеюсь, долгожданной части. Настоятель рекомендую ознакомится с первой частью, ибо без этого будет тяжело понять, о чем я буду писать. В этой части я отойду от теории к практике, а именно покажу небольшое проект для комплексной оптимизации изображений.
Вот и настало время второй, и, надеюсь, долгожданной части. Настоятель рекомендую ознакомится с первой частью, ибо без этого будет тяжело понять, о чем я буду писать. В этой части я отойду от теории к практике, а именно покажу небольшое проект для комплексной оптимизации изображений.
+77
Кое-что о соглашениях об именах почтовых ящиков
4 min
55K
Заведя для себя «почту для домена» на Яндексе, я решил открыть свободную регистрацию посторонним юзерам почтовых ящиков на своем «модном» домене. Помимо включения функции catch-all, которая направляет всю входящую почту несуществующих ящиков моего домена на мой основной ящик, предо мной встала необходимость зарезервировать за собой все «стандартные» названия ящиков, чтобы не было недоразумений, когда какое-то имя уже забил посторонний, и вся «служебная» почта уходит совсем не вам. В П.Д.Д. можно, конечно, в любой момент экспроприировать любой ящик подконтрольного домена, но ведь осадочек-то остается. Я озадачился: какие же имена почтовых ящиков являются стандартными и системными? Техподдержка Яндекса ответила, что они резервируют для себя только имя postmaster@ на каждом домене, чтобы отслеживать жалобы и проблемы с почтой, и что на данный момент вопрос о наборе резервированных имен у них остается открытым. Далее, результат поиска в интернете оказался немного предсказуем.
+87
Дерево ван Эмде Боаса
6 min
19K
Сегодня я расскажу вам об одной интересной структуре данных, про которую слышали лишь немногие и про которую очень незаслуженно мало написано в рунете, да и в англоязычном информации, в общем-то, тоже негусто. Решено было исправить ситуацию и поделиться с общественностью в доступной форме этой достаточно экзотической структурой данных.
Дерево ван Эмде Боаса (van Emde Boas tree) — ассоциативный массив, который позволяет хранить целые числа в диапазоне [0; U), где U = 2k, проще говоря, числа, состоящие не более чем из k бит. Казалось бы, зачем нужно еще какое-то дерево, да еще позволяющее хранить только целые числа, когда существует множество различных сбалансриованных двоичных деревьев поиска, позволяющих выполнять операции вставки, удаления и прочие за O(log n), где n — количество элементов в дереве?
Главная особенность этой структуры — выполнение всех операций за время O(log(log(U))) независимо от количества хранящихся в ней элементов.
+189
Аудит. «Черный ящик»
6 min
13K
Естественно, статью можно перевести и в технику взлома ресурсов. Но чтобы знать, как защищать — надо знать, как взламывать. Ответственность за приобретенные знания вы берете на себя ;)
И если вы, как разработчик, будете знать хотя бы некоторые принципы и техники, что используют хакеры — думаю вам станет чуть спокойнее за них (ресурсы) и результат вашей деятельности приобретет более высокий уровень
В статье отображен аудит базового уровня, сохраняем низкий порог для чтения и понимания.
+79
Алгоритм определения попадания точки в контур на основе комплексного анализа
4 min
131KПривет всем Хабра людям. Хочу представить уважаемым читателям пример, когда сухая и далекая от жизни в нашем понимании высшая математика дала не плохой практический результат.


+77
Избегаем распространенных ошибок в HTML5 разметке
8 min
120KTranslation

+119
В Windows 7 и Vista появилась поддержка RAW-файлов от 120+ камер
2 min
7.3KПо последней статистике, примерно 25% всех фотографий в мире на зеркальных цифровых камерах сохраняются в формате RAW, то есть в несжатом виде с возможностью продвинутого обратимого редактирования. Это самый удобный формат, который используют все профессионалы и многие продвинутые фотографы. Приятной новостью для них будет то, что теперь поддержка RAW от более 120 моделей фотоаппаратов внедрена в фоторедактор Windows Live Photo Gallery 2011 под Windows 7 и Windows Vista. Пользователям этих операционных систем нужно скачать и установить Microsoft Camera Codec Pack, после чего они могут просматривать RAW-фотографии как в Photo Gallery, так и в Проводнике Windows.
Кроме просмотра, в Photo Gallery возможно и редактирование фотографий. При этом RAW-оригинал остаётся нетронутым, а редактор работает с копией фотографии в формате JPEG или JPEG-XR (HD Photo).
Вышеупомянутый пакет добавляет возможность просмотра и редактирования в Windows и других форматов, включая PNG и TIFF.
Кроме просмотра, в Photo Gallery возможно и редактирование фотографий. При этом RAW-оригинал остаётся нетронутым, а редактор работает с копией фотографии в формате JPEG или JPEG-XR (HD Photo).
Вышеупомянутый пакет добавляет возможность просмотра и редактирования в Windows и других форматов, включая PNG и TIFF.
+20
Imperavi: удобный и действительно красивый JS WYSIWYG редактор
1 min
22KВ продолжение темы о красивой и удобной JS визуализации (http://habrahabr.ru/blogs/javascript/124899/) хочу рассказать вам о WYSIWYG редакторе, на который сегодня случайно наткнулся.
Вы наверное часто используете различные WYSIWYG редакторы в ваших проектах. Я их тоже часто использую, так уж получается, что они очень нравятсясекретаршам и т.д. нашим пользователям.
Таких редакторов существуют десятки, но все они мне почему-то не нравилисись: то выглядит уж очень топорно, то работает совершенно криво. В конце концов я остановился на TinyMCE. Он хоть и ужасен на вид, но рабоет стабильно.
И вот сегодня я совершенно случано наткнулся на редактор, который мне полностью подходит:
Имя этому чуду – Imperavi.
Попробуйте сами и думаю, что вам понравится.
Скриншот:

UPD
Более новая версия редактора: http://imperavi.ru/redactor/.
Вы наверное часто используете различные WYSIWYG редакторы в ваших проектах. Я их тоже часто использую, так уж получается, что они очень нравятся
Таких редакторов существуют десятки, но все они мне почему-то не нравилисись: то выглядит уж очень топорно, то работает совершенно криво. В конце концов я остановился на TinyMCE. Он хоть и ужасен на вид, но рабоет стабильно.
И вот сегодня я совершенно случано наткнулся на редактор, который мне полностью подходит:
- работает стабильно
- выглядит очень стильно
- написан на jQuery
Имя этому чуду – Imperavi.
Попробуйте сами и думаю, что вам понравится.
Скриншот:

UPD
Более новая версия редактора: http://imperavi.ru/redactor/.
+100
Решение проблемы часовых поясов в веб-приложении
2 min
31K
Запуская наш проект в регионе, где часовой пояс был отличен от московского, мы столкнулись с проблемой разницы местного времени и времени сервера (московский часовой пояс). Надо сказать, что логика работы проекта сильно привязана к датам и времени и оставлять дату в московском времени было нельзя. Практически все даты у нас хранились в MySQL базе в формате DATETIME, что, как в последствии оказалось, не лучшим образом подходит для организации работы приложения в нескольких часовых поясах.
+49
Магический квадрат
1 min
3.9KМногим известно понятие Магический квадрат (МК) — квадратная таблица N x N заполненная натуральными числами от 1 до N^2 таким образом, что сумма чисел в каждой строке, диагонали и столбце равна… N*(N^2 + 1)/2.
+10
10 способов улучшить свои навыки программирования
4 min
89KTranslation
1. Выучить новый язык программирования
Изучение нового языка программирования разовьет новые способы мышления, особенно если новый язык программирования использует парадигмы, с которыми Вы еще не знакомы. Многие из приобретенных способов мышления могут быть применены к языкам, которые уже знаете. Возможно, вы даже полюбите новый для Вас язык программирования настолько, что начнёте использовать его для серьёзных проектов.
Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).
+215
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Registered
- Activity