Pull to refresh
0
0
Send message

HTML5 Canvas Map — реализация картографического движка

Reading time3 min
Views19K
В рамках большого интерактивного веб-ориентированного проекта (подробнее о котором возможно в другом посте) я занимаюсь разработкой картографического движка, реализованного на HTML5 CANVAS. Его разработка дошла до стадии беты и, с одобрения моего руководства, появилось желание продемонстрировать данные карты широкой публике.

image
Читать дальше →
Total votes 55: ↑53 and ↓2+51
Comments54

Читаем и пишем NFC Tag на MeeGo Harmattan

Reading time14 min
Views13K
Этот пост участвует в конкурсе „Умные телефоны за умные посты

Введение


Что такое NFC?

Если верить Википедии, NFC(Near Field Communication) — это технология беспроводной высокочастотной связи малого радиуса действия, которая дает возможность обмена данными между устройствами, находящимися на расстоянии около 10 сантиметров.

Существует три наиболее популярных варианта использования NFC технологии в мобильных телефонах:
эмуляция карт — телефон прикидывается картой, например пропуском или платежной картой;
режим считывания — телефон считывает пассивную метку (Tag), например для интерактивной рекламы;
режим P2P — два телефона связываются и обмениваются информацией.

Мы будем рассматривать второй способ использования, а именно чтение пассивной метки, мало того, мы также научимся записывать информацию на такие метки с помощью телефона

О чем рассказ?

Я буду рассказывать не только о методах работы с NFC, но и о пользовательском интерфейсе разработанной мной специально для этой статьи программы. То есть в процессе чтения вы пройдете полный путь создания приложения для работы с NFC Tag для MeeGo Harmattan.

Оглавление




Qt Ambassador
UPDATE: Сегодня, 20.12.2011, пришло письмо, что приложение приняли в Qt Ambassador
UPDATE: Прошла ночь и проект был опубликован в программе: Qt Ambassador Showcase

Очень много текста и кода
Total votes 44: ↑33 and ↓11+22
Comments6

Что такое «асинхронная событийная модель», и почему сейчас она «в моде»

Reading time15 min
Views54K
Сейчас в тематических интернетах модно слово «Node.js». В этой небольшой статье мы попробуем понять («на пальцах»), откуда всё это взялось, и чем такая архитектура отличается от привычной нам архитектуры с «синхронным» и «блокирующим» вводом/выводом в коде приложения (обычный сайт на PHP + MySQL), запущенного на сервере приложений, работающем по схеме «по потоку (или процессу) на запрос» (классический Apache Web Server).
Читать дальше →
Total votes 163: ↑153 and ↓10+143
Comments130

Мгновенный поиск в 75 гигабайтах

Reading time8 min
Views34K
Речь пойдет о том, как был реализован быстрый поиск по большим объемам данных на этой страничке. Там можно искать пароль по хешу, для игрового сервера PvPGN, и генерировать эти же хеши.
Поиск написан на чистом PHP, без использования модулей и сторонней БД. В принципе, таким образом можно наращивать объемы до многих терабайт, было бы место — скорость от этого не сильно пострадает.

Далее от начала до конца описан весь процесс, который включает в себя брутфорс, создание хеш таблицы, её сортировка и, собственно, поиск.


Читать дальше →
Total votes 143: ↑122 and ↓21+101
Comments115

Git и публикация сайта

Reading time4 min
Views114K
При попытке отредактировать этот старый пост слетело всё форматирование. Может быть я его когда-нибудь исправлю.

Я потратил несколько месяцев на борьбу с глюками Git-svn и обдумывание разных вариантов, прежде чем пришёл к этому методу организации рабочего процесса с сайтом — простому, гибкому и удобному в работе.

Основные преимущества:
  • Делая push из удалённой копии мы автоматически обновляем live-копию сайта
  • Правки файлов на сервере не будут разрушать историю коммитов
  • Простота, не нужны особые правила выполнения коммитов
  • Можно применить к уже запущенному сайту, без повторного деплоя или перемещения файлов
посмотреть, что там такое
Total votes 99: ↑88 and ↓11+77
Comments49

Новости LibCanvas

Reading time2 min
Views1.6K
Где-то полгода назад я выкладывал несколько топиков про LibCanvas. Потом было затишье на Хабре, но не в репозитории. Работа активно продвигалась и библиотека обрела новые силы, возможности и базовую документацию.
Читать дальше →
Total votes 71: ↑66 and ↓5+61
Comments22

О том, как я заставлял Ubuntu работать 10 часов от батареи

Reading time11 min
Views192K
imageЯ являюсь рядовым линукс-пользователем и поэтому не стоит от этой статьи ожидать очень умных ходов или нестандартных программистских решений. Все по мануалам. Но раз результат достигнут, значит кому-то кроме меня это может оказаться полезным.

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

Устанавливал я Ubuntu 10.10 на ноутбук Acer Aspire Timeline 5810TG. Эта машина обладает экраном в почти 16 дюймов и относительно производительным железом, зато батарея достаточно емкая, чтобы ставить с ней личные рекорды.
Читать дальше →
Total votes 296: ↑285 and ↓11+274
Comments124

Украшаем списки

Reading time5 min
Views24K
В 2002 году Марк Ньюхаус (Mark Newhouse) опубликовал статью «Укрощение списков» ("Taming Lists"), довольно-таки интересную часть которой он посвятил объяснению того, как создавать собственные списки, украшенные псевдо-элементами. Почти десять лет спустя Николас Галлахер (Nicolas Gallagher) изобрел технику, которая использует псевдо-элементы из спрайтов, для создания фоновых изображений.
Сегондя, основываясь на опыте гигантов, мы постараемся развить эту тему. Мы обсудим, как можно украсить элементы без дополнительной разметки, используя только технику CSS-спрайтов. Результат будет работать также в Internet Explorer 6 и 7 версии.
Читать дальше →
Total votes 113: ↑107 and ↓6+101
Comments27

CANVAS шаг за шагом: Основы

Reading time6 min
Views526K
CANVAS шаг за шагом:
  1. Основы
  2. Изображения
  3. Понг
  4. Пятнашки

Если верить англо-русскому словарю, то можно узнать что canvas переводится как холст, а если верить википедии, то можно узнать что тег canvas, это элемент HTML 5, который предназначен для создания растрового изображения при помощи JavaScript. Тому как создать это растровое изображение и будет посвящен мой небольшой текст. Прежде чем начинать пробовать свои силы в этом не легком деле рекомендуется уже иметь базовые знания о том что такое HTML и с чем едят JavaScript.
Читать дальше →
Total votes 84: ↑82 and ↓2+80
Comments48

Evercookie — самые устойчивые куки

Reading time1 min
Views73K
Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?
Читать дальше →
Total votes 111: ↑107 and ↓4+103
Comments68

Ноутбук не для всех, но для каждого

Reading time8 min
Views103K
   Пословица гласит — как новый год встретишь, так его и проведешь. Вообще, я в эти штучки не особо-то верю, но все же решил оставить на конец года самый-самый интересный ноутбук — ничего подобного в блоге компании ASUS еще не было.

image

Взгляните хотя бы на характеристики ;)
Читать дальше →
Total votes 174: ↑100 and ↓74+26
Comments196

MongoDB или как разлюбить SQL

Reading time6 min
Views66K
Введение

Коллеги, при разработке приложений, мы каждый день сталкиваемся с потребностью в гибком хранении информации (обновлении, поиске по ней, и т.д.). Класс продуктов, которые решают этот круг задач, как все мы знаем — Базы данных. Но что это такое в нашем понимании? У многих «база данных» твердо ассоциируется с MySQL, таблицами и SQL-запросами. И это устраивает до определенного момента. Действительно, реляционные базы данных дают массу преимуществ в работе: поскольку данные имеют сильную связанность, не нужно контролировать целостность базы данных. Используя простой под-запрос можно выбрать количество комментариев к каждому посту в блоге. Используя JOIN нетрудно делать сложные связанные выборки и получать данные сразу о нескольких сущностях.
Читать дальше →
Total votes 129: ↑122 and ↓7+115
Comments99

extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)

Reading time4 min
Views21K
Хочу Вам рассказать о штуке, которую я изобрел сегодня, чтобы ускорить процесс загрузки сайтов. Все вы знаете, что <script src="..."></script> задерживает отрисовку страницы, пока не загрузится этот скрипт. Если их десятки — это может сереьезно замедлить работу сайта — в результате пользователь 20 секунд пялится на пустую (или недорисованную) страницу из-за какого-нибудь тупящего социального виджета (умножить на десяток этих виджетов).

Не правда ли было бы круто, если бы можно было сказать <script extsrc="..."></script> ("extsrc" = "грузи потом"), чтобы скрипты загружались после того как страница отрисована?

Все бы хорошо, но есть document.write… Сегодня я наконец решил его проблему — представляю extsrc.js — скрипт, который запустит все скрипты после отрисовки страницы (даже если они содержат document.write — и правильно отрисуется все).

Результат? Супер-быстрая загрузка страниц, даже если там море всяких внешних скриптов.

Использование:

Заменяем <script src="..."> на <script extsrc="...">.

Итого получается:

<script src="http://whiteposts.com/extsrc_js/extsrc.js"></script>
<script extsrc="..."></script>

все остальное под катом
Total votes 171: ↑157 and ↓14+143
Comments131

Памятка дизайнеру сайтов

Reading time10 min
Views244K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

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

Первоначально эта памятка писалась мною для внутреннего пользования но, обрастая материалами, выросла в самостоятельную статью. Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе проектирования и оформления сайта.

Читать дальше →
Total votes 453: ↑444 and ↓9+435
Comments231

Впечатляющие анимационные эффекты

Reading time2 min
Views115K
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
Читать дальше →
Total votes 262: ↑246 and ↓16+230
Comments78

Требования к html-верстке

Reading time6 min
Views75K

1. Верстка, аутсорсинг и технические задания


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

Чтобы сэкономить трудовые ресурсы штатных верстальщиков, недостаточно просто переложить эту работу на плечи первого приглянувшегося фрилансера. Все намного проще, если вы постоянно отдаете работу на аутсорсинг одним и тем же исполнителям — в процессе длительного сотрудничества всегда складывается какой-то негласный свод стандартов и требований, выполнение которых входит в привычку. Но если вы работаете с человеком впервые — самое хорошее портфолио и рекомендации не гарантируют получения нужного результата и более того — даже не предполагают, что исполнитель вообще вас правильно поймет. Потому нужны детальные технические задания по верстке.
Читать дальше →
Total votes 228: ↑204 and ↓24+180
Comments296

Уязвимость связки PHP+nginx с кривым конфигом

Reading time1 min
Views60K

Summary


Announced: 2010-05-20
Credits: 80sec
Affects: сайты на ngnix+php с возможностью загрузки файлов в директории с fastcgi_pass




Background


Зачастую How-To по настройке связки nginx с php-fpm / php-cgi есть подобные строчки:

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    include fastcgi_params;
}

Читать дальше →
Total votes 163: ↑146 and ↓17+129
Comments109

Тюнинг nginx

Reading time8 min
Views96K
Статья написана по материалам моего доклада на CodeCamp 2009.

Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...

У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.

Пришло время оптимизировать nginx...

Читать дальше →
Total votes 102: ↑100 and ↓2+98
Comments69

Склад бесплатных иконок

Reading time1 min
Views164K
Прошелся по закладкам и образовалась такая толстенькая подборочка ресурсов с бесплатными и качественными иконками, с которой спешу поделиться с тобой %username%!

Iconfinder


image


Читать дальше →
Total votes 168: ↑151 and ↓17+134
Comments39

50 монохромных образцов дизайна web-сайтов

Reading time1 min
Views16K
Выбор цвета является ключевым элементом для успеха любого дизайна. Он определяет атмосферу и задает настроение. Один из способов отображения цвета, использование только оттенков, который называется монохроматической цветовой схемой.

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

Одной из самых популярных монохроматических схем является голубой. Это скорее всего потому, что синий считается легким, живым и натуральным цветом. Однако не только синий является успешной цветовой схемой: зеленые, пурпурный, коричневый, красные также могут установить надлежащее настроение.

В этой статье мы рассмотрим 50 монохроматических вариантов дизайна, сайты разбиты на категории в зависимости от преобладающих цветов, которые они используют (все варианты кликабельны).

Монохромные варианты дизайна
Total votes 98: ↑77 and ↓21+56
Comments58

Information

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