Pull to refresh
10
0
Богдан Головченко @fantom_ua

User

Send message

PastryKit: средство разработки сайтов для iPhone, написанное в Apple

Reading time1 min
Views1.2K
Обратите внимание вот на какую картинку:

[пример web-приложения PastryKit]

На экране этого iPhone вы видите приложение, которое выглядит как обычное приложение; тем не менее оно запущено через Интернет, оно является сайтом, который просматривается в мобильной версии браузера Safari. Этот эффект достигается использованием библиотеки PastryKit, разработанной в Apple: библиотека отключает адресную строку Safari, библиотека обеспечивает фиксированное позиционирование панелей инструментов, библиотека даже заменяет способ прокрутки сайтов Safari, добавляя к нему такое «сохранение импульса», которое свойственно именно приложениям iPhone, а не сайтам Safari.

Библиотека PastryKit состоит из CSS и джаваскриптов. Она используется в «iPhone User Guide», а также, до некоторой степени, в LP-файлах iTunes, но ещё не очень ясно, собирается ли Apple пропагандировать и документировать использование PastryKit; блоггер и разработчик Джон Грубер (John Gruber; это тот самый, который придумал язык разметки Markdown) сравнительно случайно обнаружил библиотеку PastryKit на сайте Apple и дал знать о её существовании другим заинтересованным разработчикам.

Подробнее обо всём этом вы можете прочесть во блоге Ajaxian; там же рассказывается, как и где можно скачать и подключить PastryKit.
Total votes 54: ↑34 and ↓20+14
Comments20

Установка PHP-FPM на Debian из пакетов

Reading time3 min
Views13K
PHP-FPM — патч к PHP, предоставляющие альтернативный интерфейс FastCGI. Обычно используется с nginx в проектах с высокими нагрузками или дефицитом ресурсов. Для удобной и упрощенной инсталляции мы собрали PHP-FPM в пакет для Debian 5 Lenny. Последнюю пару недель тестировали и тюнили, сейчас выложили в публичный доступ. Над пакетами в поте лица трудился viliar, которому дружно направляем за это благодарности и карму. Багрепорты и замечания приветствуются, лучше комментами к посту.

Инструкция по установке


Читать дальше →
Total votes 42: ↑32 and ↓10+22
Comments59

jk-навигация

Reading time3 min
Views1.8K
jk-navigation services

Что объединяет эти сервисы? Удобная навигация клавишами 'j' и 'k'.

Недавно Pamela Fox (сотрудница Google, специалист по связям с разработчиками) в своем твиттере дала совет, что клавиша пробела в Google Wave переводит на непрочитанный блип. Я поинтересовался у нее, нет ли в планах ввода jk-навигации, на что она ответила, что не знает, что это за навигация такая. Pamela — замечательный гик. В какой-то мере благодаря ее постам на технических форумах, Google Maps API стал популярен среди разработчиков. Этот эпизод убедил, что рассказывать о таком удобном дополнительном функционале в гиковских сообществах имеет смысл.

Такая навигация присутствует и в почте, и в ридере от Google. jjjjj — так удобно пробегаться по ленте ридера. А чистить почту при помощи клавиатуры для меня намного приятнее и эффективнее, чем при помощи мыши. В обоих сервисах есть много других удобных клавиатурных сокращений, о которых можно узнать, нажав '?'.

Еще о прелестях jk-навигации и как ее воплощать
Total votes 50: ↑44 and ↓6+38
Comments80

Ubuntu Customization Kit, свой LiveCD убунту за полчаса без плясок с бубном

Reading time4 min
Views31K
Устанавливая Ubuntu или пользуясь LiveCD Ubuntu, встречались ли Вы хотя бы с одной из этих проблем:
 — необходимость каждый раз после установки ubuntu доустанавливать нужный софт, подключать дополнительные репозитории;
 — однообразная и длительная настройка внешнего вида gnome после установки;
 — Вам нравится openbox, lxde или любой другой desktop, на базе которого нет ни одного дистрибутива ubuntu;
 — Ваше оборудование требует дополнительной настройки и установки дополнительных драйверов после установки Ubuntu;
 — LiveCD не содержит необходимый для Вашей работы софт или Вы наоборот хотите облегчить его, удалив все ненужное.

А может Вы просто хотите сделать оригинальный подарок другу/подруге в виде шуточного, красочного, собственноручно оформленного дружелюбного дистрибутива Linux. Если Вы еще не слышали о Ubuntu Customization Kit, то разрешите представить его Вам.
Читать дальше →
Total votes 86: ↑76 and ↓10+66
Comments20

А давайте подружимся с SSH

Reading time7 min
Views1.9K
Многие мои знакомые так или иначе используют протокол SSH (заходя на свои роутеры, веб хостинги и непосредственно на собственные компьютеры дома и в офисе), при этом не все об этом знают.



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

В этой заметке вы узнаете:
  • как прописать псевдонимы для соединений
  • как настроить авторизацию без пароля
  • как передавать файлы по SSH
  • как запускать графические приложения по SSH
  • а так же получите общие советы по опциям SSHD


Читать дальше →
Total votes 205: ↑187 and ↓18+169
Comments96

DSL и динамические вкусности Ruby

Reading time5 min
Views13K
В этой статье я проиллюстрирую основные возможности Ruby для построения Domain Specific Languages(DSL). DSL, это небольшие, узкоспециализированные языки для решения конкретных задач. В отличие от языков общего назначения, таких как C++ или Java, DSL обычно очень компактны, и обладают высокой выразительностью в контексте решаемой задачи.

Различные DSL широко распространены в библиотеках и фреймворках для Ruby. Например в Rails DSL используются для создания миграций.

А теперь, давайте посмотрим какие возможности Ruby предоставляет для построения DSL
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments43

Делаем gem для RubyGems

Reading time3 min
Views2.7K

Собираем камешки для Ruby


Зачастую бывает так, что таскаешь из проекта в проект какие-то куски кода. Такие куски очень удобно выносить во внешние файлы, модули. Для этого в Ruby существует RubyGems — менеджер приложений и библиотек, оформленных в один файл-пакет — gem. И собрать такой гем, а главное, сделать его доступным для любой машины, подключенной к интернету, оказалось очень просто.

Итак, gem за пол-часа
Total votes 32: ↑27 and ↓5+22
Comments17

Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)

Reading time12 min
Views58K
image Недавно на Хабре была опубликована статья под провокационным заголовком и призывом к прекращению изобретений велосипедов в API-строении. Поскольку тема мне интересна, то я просто не мог пройти мимо.
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)

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

В повествовании будут рассмотрены следующие вопросы:
  1. Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
  2. Дао вебсервиса
  3. Просветленные API
  4. Как отличить сайтовое API от говна
  5. Выводы

Кто не испугался суровых реалий - вперед
Total votes 315: ↑289 and ↓26+263
Comments206

RAR: создание store-архива

Reading time2 min
Views6.2K
На днях я рассказывал, как получить список файлов, что содержит rar-архив без использования сторонних расширений или библиотек. В одном из комментариев промелькнула мысль, что в принципе, не смотря на закрытость алгоритма RAR, можно вручную создать архив без сжатия. Посидев один вечер над кодом, я представляю вашему вниманию класс для создания stored-RAR архивов.
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments44

Работаем с SQLite в AIR приложениях

Reading time7 min
Views4.1K


Здравствуйте ценители (и не только) Flash, Flex и AIR.

Сегодня я расскажу как работать с локальной базой данных (SQLite) в AIR приложениях.

Для работы нам понадобится Flex Builder, какой-нибудь, редактор SQLite (я использую приложение для FireFox SQLite Manager) и немного терпения.

Подробности под катом...
Total votes 34: ↑29 and ↓5+24
Comments46

Интерактивный редактор для jQuery — прорыв?

Reading time1 min
Views4.9K
Странно, что такое шикарное событие не взбудоражило умы Хабровчан. Эта новость достойна твоего внимания, %username%!

Внимание — видео!



Понравилось? Тогда беги и качай бесплатно прямо сейчас: www.ixedit.com
Total votes 238: ↑216 and ↓22+194
Comments93

15 советов по Ubuntu для опытных пользователей Linux (перевод)

Reading time7 min
Views40K
Оригинал статьи на английском. Перевод: Boten, Deniska, MaxElc

Несколько дней назад я (здесь и далее — автор оригинальной статьи — Прим. пер.) написал о книгах, которые могут скачать начинающие пользователи, и прочитать их, чтобы изучить Linux самостоятельно. Сегодня в секции о Linux у нас есть кое-что и для опытных пользователей. Перед вами несколько советов, которые вы должны попробовать, если вы опытный пользователь Ubuntu Linux
Читать дальше →
Total votes 143: ↑96 and ↓47+49
Comments90

Программирование для AVR в Ubuntu

Reading time1 min
Views22K
Для интересующихся программированием микроконтроллеров подсказываю про существование замечательного плагина для Eclipse, упрощающего разработку софта: AVR Eclipse plug-in. Он позволяет выбрать из списка процессор, создать hex и с помощью avrdude загрузить прошивку, плюс различные бантики с просмотром и редактированием отдельных битов в регистрах и фьюзах.

Про IDE Eclipse я здесь рассказывать не буду — большинство присутствующих его знают и используют, а для тех, кто с ним пока не знаком, найдется немало мануалов по установке.
Вначале установим все необходимое для разработки под AVR:

apt-get install avr-gcc avr-binutils avr-libc avrdude

Теперь запускаем Эклипс, заходим в Help->Software updates->Add site… и вписываем туда адрес сайта плагина avr-eclipse.sourceforge.net/updatesite
Жмем Ok, перезапускаем Эклипс и видим в мастере проектов новый пункт «AVR Cross Target Application». Выбираете процессор, тактовую частоту — и вперед!

Успешной работы и правильных фьюзов ;)
Total votes 44: ↑28 and ↓16+12
Comments6

Шустрая гляделка для Nautilus'а

Reading time3 min
Views4.1K
В своих бесконечных поисках найти быструю гляделку графических файлов, наткнулся на замечательную программу Gloobus, которая наверняка порадует счастливых обладателей нетбуков с Линуксом на борту. Сразу оговорюсь, затачивается все под файловый менеджер Nautilus, но никто не мешает прикрутить это чудо к чему угодно.

image
Читать дальше →
Total votes 89: ↑83 and ↓6+77
Comments60

Стэнфордские ученые представили Open Source-фотокамеру

Reading time1 min
Views997
Ученые из Стэнфорда представили цифровую фотокамеру Frankencamera, позиционируемую как Open Source-проект.

Дизайн прототипа камеры был разработан аспирантом Эндрю Адамсом (Andrew Adams). Он на фото вместе со своим профессором Марком Левой (Marc Levoy):



Камера состоит из следующих компонентов: электронная схема SoC (system on chip) от Texas Instruments с двумя процессорами (общего назначения и для обработки изображений) и небольшим LCD-экраном; модуль камеры из телефона Nokia N95; линзы Canon. Корпус устройства был изготовлен самостоятельно в Стэнфорде. Камера работает под управлением операционной системы GNU/Linux.

Проект Frankencamera получил поддержку компаний Nokia, Adobe Systems, Kodak и Hewlett-Packard.

Стоит также напомнить о существовании компании Elphel, основанной россиянином и специализирующейся на создании открытых цифровых фото- и видеокамер.

via nixp.ru
Total votes 39: ↑32 and ↓7+25
Comments41

Список полезных PHP классов и библиотек

Reading time4 min
Views65K

Email


  • Swift Mailer
    Swift Mailer легко интегрируется в любое PHP-приложение. Это гибкий и элегантный ООП-подход к отправке писем с множеством функций: отправка эл.почты, используя SMTP, SendMail, Postfix, поддержка серверов и др.
  • PHPMailer
    Лучший класс для работы с эл. почтой. Поддерживает сообщения в цифровой форме, S/MIME шифрование, текстовые и HTML-письма, изображения, поддерживает несколько Email’ов, SMTP-аутентификация.

Читать дальше →
Total votes 175: ↑145 and ↓30+115
Comments75

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Total votes 375: ↑368 and ↓7+361
Comments105

Настройка nginx

Reading time5 min
Views292K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности
Total votes 88: ↑78 and ↓10+68
Comments53

Про Git на пальцах (для переходящих с SVN)

Reading time8 min
Views279K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...
Total votes 179: ↑175 and ↓4+171
Comments100

Простой скрипт для рассылки СМС

Reading time1 min
Views8.5K
Я продолжаю изучать Питон. Язык красивый, меня радует что когда мой коллега — непрограммист, садится за мой код он его может прочитать и понять. Встала задача сделать СМС оповещение клиентов (ну о просрочке, новых услугах итд). Мы купили GSM модем Teleofis. Для работы с ним пошукали проги, не особо нашли, а уж бесплатного и тем более. Пришлось открыть мануалы и написать простенькую прогу под Винду, которая открывает COM порт, на котором сидит модем и пишет в него AT команды.

Сам скрипт требует pySerial для работы под виндоус.

Чтобы запустить скрипт, надо воткнуть в комп модем, установить дрова, открыть файлик sms_sender.py и отредактировать там строку 90:

a = Sender(('790864x0807',),u"Признанный критикой всего мира величайшим эпическим произведением новой европейской литературы, «Война и мир» поражает уже с чисто технической точки зрения размерами своего беллетристического полотна. Только в живописи можно найти некоторую параллель в огромных картинах Паоло Веронезе в венецианском Дворце дожей, где тоже сотни лиц выписаны с удивительною отчётливостью и индивидуальным выражением[источник не указан 91 день].",1,115200,2)

* This source code was highlighted with Source Code Highlighter.

Первый параметр — кортеж адресатов, второй — текст сообщения. Третий — номер порта. Остальные нам не нужны — это скорость и таймаут ожидания ответа.
А потом сделать из Командной строки вызов команды
python sms_sender.py

Вы увидите:
more PDU to go…
more PDU to go…


Это скрипт рассылает части вашего сообщения адресатам. Вот и все.
Сам скрипт доступен по ссылке. Ограничений на его использование никаких, он сильно простой и маленький чтобы как-то ограничивать его использование.
Total votes 43: ↑36 and ↓7+29
Comments21

Information

Rating
Does not participate
Location
Николаев, Николаевская обл., Украина
Date of birth
Registered
Activity