Обновить
104
0
Рей@printf

Девочка-волшебница

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

Вышла PIE 1.0 Beta 5

Время на прочтение1 мин
Охват и читатели1.5K


CSS3 PIE Beta 5


PIE делает Internet Explorer 6-9 способным отображать несколько наиболее полезных css3-свойств.


Новое:
— Поддержка линейных градиентов в ИЕ9. Используется svg, поэтому стало возможным использовать rgba в градиентах. Также можно использовать в сочетании с градиентами background-size/position/repeat;
— Поддержка border-image в ИЕ9 (используется svg), а также улучшенная поддержка этого свойства в старых ИЕ — теперь корректно скрывается настоящая граница, и border-width будет работать, если не задан border-style;
— Исправлена ошибка при указании непиксельных значений элементу, в результате чего он не мог иметь дочерние элементы;
— The background-origin и -clip корретно парсятся внутри -pie-background styles;
— Теперь padding у img-элементов рендерится корректно;
— Изменения стиля при срабатывании псевдо-классов :focus и :active теперь правильно обнаруживаются;
— Теперь можно использовать 'transparent' как цвет;
— В ИЕ с отключенным VML-движком не появятся ошибки, и будут использоваться не-ксс3-стили;
— Исправлены другие ошибки.
Читать дальше →

Создаем чат на Node.js и Socket.IO

Время на прочтение5 мин
Охват и читатели230K
В данной статье я попытаюсь показать, как можно создать простой чат, используя Node.js в связке с Socket.IO. Изначально я хотел построить чат на чистых Websockets, но столкнулся с практически полным отсутствием готовых реализаций сервера для них в Интернете. Так что решил не изобретать велосипед, а использовать готовую библиотеку.
В моем случае сервер работает под Ubuntu, поэтому все примеры будут для неё (и ссылки в примерах — на него же).

Установка компонентов

Первым делом нам потребуются собственно Node.js (инструкция по инсталляции и ссылки на скачивание здесь) и Socket.IO. Модули для Node.js проще всего устанавливать, используя менеджер npm —
curl http://npmjs.org/install.sh | sh
npm install socket.io

Серверная часть

Структура серверной части такова: сервер принимает сообщение, если это команда — выполняет определенные действия, если просто сообщение — рассылает всем остальным участникам.
Читать дальше →

Keymaster.js: простая микро-библиотека для «горячих клавиш»

Время на прочтение1 мин
Охват и читатели7.2K
На guthub'е появилась библиотека keymaster.js, с помощью которой можно добавить клавиатурные сокращения (shortkuts) на любую страничку. Конечно, для тех же целей предназначен модуль jQuery Hotkeys, но у keymaster.js есть свои преимущества: эта библиотека не имеет никаких зависимостей, она очень легковесная (всего 60 строчек кода) и лишена известных багов jQuery Hotkeys. В общем, определённо полезная вещь.

В ближайшее время для keymaster.js добавят ещё селектор INPUT / SELECT / TEXTAREA, это тоже будет полезное дополнение.
Пример скрипта

Полная русификация админки

Время на прочтение10 мин
Охват и читатели42K

Здравствуйте. На днях возникла задача русифицировать админку django включая названия моделей, полей и приложений. Основной целью было избежать модифицирования кода django. Продолжительное гугление не дало целостной картины этого процесса. Поэтому я решил собрать все в одном месте.
Сразу скажу, что еще в самом начале проекта поставил django-admin-tools и тем самым сохранил себе некоторое количество нервных клеток. А все манипуляции проводились над django 1.3.
Интерисующихся прошу под кат

The Noun Project: свободная иконка для каждого объекта в мире

Время на прочтение1 мин
Охват и читатели14K


Создатели проекта The Noun Project поставили целью собрать пиктограммы для всех объектов в мире. Коллекцию по мере сил пополняют десятки дизайнеров из разных стран. Все иконки публикуются в формате SVG, под лицензией Creative Commons Attribution 3.0 (CC BY) или Public Domain, разбиты на тематические категории, есть поиск на русском языке.

Как сделать один сайт для всех устройств (Responsive Web Design)

Время на прочтение3 мин
Охват и читатели295K
Вчера была опубликована хорошая статья «Веб-дизайн. Каждому устройству свое представление». Несмотря на неплохие размышления, к сожалению, вывод в ней довольно глупый. А именно:

«Нужно определить, какими устройствами могут пользоваться ваши посетители, проработать и создать для этих устройств представление вашего сайта, определить устройство посредством проверки заголовков браузеров, и отправить наиболее подходящее представление

Почему это глупо


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



Это скриншот из презентации «Beyond the mobile web by yiibu» (очень рекомендую).

Во-вторых, если вы не facebook или yandex, скорее всего, вы не потянете создание и поддержку разных версий сайта для каждого устройства. Да и это не имеет особого смысла. Потому что ситуация становится похожа на реалии пятнадцатилетней давности. Тогда делали сайт «под браузер», а сейчас автор предлагает делать сайт «под устройство».

Как сделать один сайт для всех устройств

Читать дальше →

Руководство: пишем интерпретатор с JIT на PyPy

Время на прочтение12 мин
Охват и читатели13K
Все исходные коды и примеры из этой статьи доступны здесь.

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

— набор инструментов для написания интерпретаторов языков программирования;
— реализация Питона с применением этого набора инструментов.

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

Я взялся за это руководство для того, чтобы лучше понять как работает PyPy и что он из себя представляет. Предполагается, что вы очень мало знаете о PyPy, поэтому я начну с самого начала.

Читать дальше →

Настраиваем окружение на Mac OS и собираем автономное приложение с PySide/PyQt

Время на прочтение5 мин
Охват и читатели28K
image
Сейчас все удобнее становится использовать HTML и JavaScript в интерфейсах приложений. И именно такая задача недавно появилась передо мной, с одним важным условием — на выходе должно быть полностью standalone приложение, не требующее установки дополнительных библиотек и способное запуститься в обычном пользовательском окружения.

В силу своего природного обаяния в качестве основного языка был выбран Python + PySide c WebKit на борту, для сборки app-бандла использовался py2app.

Проблемы появились, при первой же попытке запустить приложение на чистой системе — обнаружилось большое количество внешних зависимостей, которые py2app не смог самостоятельно разрешить. Под катом пошаговая инструкция как эта проблема была решена.
Читать дальше →

Вычисление простых чисел на шаблонах C++

Время на прочтение4 мин
Охват и читатели23K
В этом посте я расскажу как сделать совершенно бесполезную вещь — вычислять простые числа при помощи шаблонов C++.

Алгоритмы проиллюстрированы кодом на Scheme, поэтому осторожно: скобочки!

Читать дальше →

Асинхронные задания в Django c помощью Celery

Время на прочтение5 мин
Охват и читатели66K
Приветствую!
Думаю, большинство разработчиков Django слышали о Celery — системе асинхронного выполнения заданий, а многие даже активно её используют.

Около года назад на хабре была довольная хорошая статья, рассказывающая о том, как использовать Celery. Однако, как было упомянуто в заключении, уже вышла Сelery 2.0 (на данный момент стабильной версией является 2.2.7), где интеграция с django была вынесена в отдельный пакет, а также произошли другие изменения.

Данная статья будет полезна прежде всего новичкам, которые начинают работать с Django, и им требутся что-то, способное выполнять асинхронные и/или периодические задания в системе (например очистку устаревших сессий). Я покажу как установить и настроить Сelery для работы с Django от начала до конца, а также расскажу про некоторые другие полезные настройки и подводные камни.
Итак, приступим.

Bitstorm: самый простой битторрентовый трекер в мире

Время на прочтение2 мин
Охват и читатели3.5K
Всегда хотели быть админом трекера BitTorrent, но никогда не могли, потому что недоставало технических знаний? Тогда настал ваш счастивый день. При помощи Bitstorm кто угодно может настроить битторрентовый трекер буквально за несколько секунд, так как для Bitstorm нужен только хостинг, поддерживающий PHP. Просто загрузите единственный файл на вебсервер — и получите собственный действующий трекер BitTorrent.

Для начала давайте признаемся: запустить и поддерживать надёжный трекер с десятками тысяч пиров — это не каждому по плечу. Для этого надобны и навыки, и знания, чтобы всё действовало без сучка и задоринки. Кроме того, крупным трекерам (таким, как PublicBitTorrent) нужен гигабитный канал, а он есть не у всякого.

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

Пользуясь услугами какого угодно хостинга, поддерживающего PHP, запустить трекер можно быстрее, чем прочесть предыдущие два абзаца. Bitstorm раздаётся по лицензии GPL, состоит из единственного PHP-файла с немногими строками кода. Просто закачайте его к себе на сервер — и вот он, новорождённый трекер.

Разработчик, Питер Каприоли, разъяснил, что к созданию Bitstorm его подтолкнула неудача в поиске простого и безчепухового битторрентового трекера.

«Некоторое время тому назад мне надо было раздать пару крупных файлов паре десятков людей. Я предпочитал протокол BitTorrent — он и быстрый, и мне не понадобилось бы загружать все эти файлы по двадцать раз. Поэтому я начал искать трекер, чтобы установить его к себе на сервер».

«Некоторое время поискав, я не нашёл ни одного такого трекера, который работал бы, как я хотел. Во всех их была встроена куча добавочных функций, мне не нужных — мне-то нужен был простой трекер, просто обслуживающий пиры, и ничего больше. Почитав вон ту замечательную статью, я придумал Bitstorm», — добавляет Каприоли.

Читать дальше →

Эксперимент с голографическим кодированием/декодированием цветных изображений

Время на прочтение4 мин
Охват и читатели12K
image

Однажды я был поражён одним из удивительных свойств голограммы, которое заключается в том, что разбив голографический снимок объекта на осколки, по каждому из осколков можно восстановить изображение всего объекта, правда с несколько ухудшенным качеством. Прочитав топик «Эксперимент с голографическим кодированием и декодированием информации» товарища eresik я непременно сам захотел реализовать подобную цифровую голограмму. Взяв за основу его алгоритм, я запустил Delphi и принялся за дело. Наконец, немного повозившись с коэффициентами, я стал получать адекватные чёрно-белые картины похожие на те, которые получал eresik. При затирании части голограммы, как ни удивительно, исходное изображение восстанавливалось! Так каким же образом это может происходить? Я попытаюсь рассказать, как можно наглядно объяснить это свойство голограммы, не вдаваясь в физику и математику.
Читать дальше →

Знак рубля на сайте: экспресс-метод

Время на прочтение2 мин
Охват и читатели106K
Знак рубля

Задача


Без лишней головной боли начать использовать знак рубля на сайте.

Идея


В свободно распространяемых (в том числе для использования в вебе) шрифтах PT Sans и PT Serif среди символов есть и знак рубля. Если использовать эти шрифты на сайте, то для решения задачи можно обойтись без лишнего html-кода, css-бубнов, векторной графики и прочих джедайских извращений.

Читать дальше →

Веб-разработка на Go

Время на прочтение13 мин
Охват и читатели28K
Статья основана на codelab с сайта Go, но не ограничивается им. По ходу прочтения статьи можно будет узнать о структурах данных Go, динамических массивах, использовании библиотек http, template, regexp для создания веб-приложения, шаблонизации и фильтрации ввода, соответственно.
image
Для понимания статьи необходимо немножко уметь программировать, не пугаться слов unix и веб. Основы языка будут изложены в статье.
Go!

Скрипт резервного копирования vps серверов

Время на прочтение1 мин
Охват и читатели13K
В связи с событиями у Clodo, выкладываю свой скрипт для резервного копирования. Очень подходит для небольших vps. Заточен для Ubuntu, но думаю, это не проблема.

Скрипт создает 2 архива: в одном файлы, в другом директория с дампами всей БД по базам.
Нужно поменять настройки в начале.
Читать дальше →

Взлом матановой капчи на C# — это просто!

Время на прочтение4 мин
Охват и читатели42K
В этом топике я хочу вам рассказать о взломе т.н. «матан-капчи», пример которой был представлен в недавнем топике Матановая капча на PHP — это просто!.
Прочитав статью автора об этой замечательной капче, мне захотелось написать программу для её распознавания, как говорится just for fun ;)
Читать дальше →

IPO for dummies. Часть III: процесс IPO, его польза для компании, основателей и владельцев, а также почему у руководства компании при открытии торгов такой замученный вид

Время на прочтение9 мин
Охват и читатели8.9K
Начало и оглавление см. в первой части.

С акциями разобрались, теперь снова про IPO Яндекса… А откуда акции берутся изначально, при IPO, кто источник? Сам Яндекс?

Да.
Читать дальше →

JavaScript F.A.Q: Часть 1

Время на прочтение15 мин
Охват и читатели75K
image

Несколько дней назад мы с TheShock создали топик в котором собирали ваши вопросы, касательно JavaScript (архитектура, фрэймворки, проблемы). Настало время ответить на них. Мы получили очень много вопросов, как в комментариях так и по email. Эта первая часть ответов — те вопросы, которые достались мне.
Читать дальше →

Учим bash-скрипты, пишем Sokoban

Время на прочтение4 мин
Охват и читатели140K
Мне кажется, что на свете еще есть люди, которые хорошо знают несколько языков программирования, но при этом не пишут скриптов для bash, потому что скриптовый язык bash выглядит для них слишком странным. Чтобы доказать, что bash — это несложно, я написала игру Сокобан (или Грузчик, кому как нравится), и хочу рассказать, как она работает.
Краткая справка по bash, скриншот игры, исходный код и ссылка на файл - под катом

Техники сжатия кода

Время на прочтение5 мин
Охват и читатели5.9K
Джед Шмидт, Томас Фухс и Дастин Диаз — достаточно известные в JavaScript-коммьюнити ребята в последнее время нашли себе новую развлекуху — писать полезные штуки размером не больше одного твита, то есть 140 байт. Даже домен зарегали — 140byt.es, куда приглашаются все желающие попробовать свои силы в написании супер-компактных функций.

Естественно, в ход идут все самые изощренные способы и техники уменьшения размера исходника. У них есть вики-страничка с советами, которую я и решил перевести.

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

Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Кирибати
Зарегистрирован
Активность