Читать дальше →
Viktor @viktor_dev
User
eBay без заморочек
5 min
32KПривет, друзья!
С вами снова EbayToday.
В первой статье мы рассказали о нашем сервисе, коснулись вкратце своих преимуществ и постарались не забыть о недостатках. Когда число комментариев к статье перевалило за вторую сотню, мы решили не останавливаться на написанном и двинуться дальше.
В этой статье мы глубже коснемся преимуществ сервиса и расскажем о том, как нам удалось сделать сервис, покупать через который удобнее и не намного дороже, чем через сам eBay.
С вами снова EbayToday.
В первой статье мы рассказали о нашем сервисе, коснулись вкратце своих преимуществ и постарались не забыть о недостатках. Когда число комментариев к статье перевалило за вторую сотню, мы решили не останавливаться на написанном и двинуться дальше.
В этой статье мы глубже коснемся преимуществ сервиса и расскажем о том, как нам удалось сделать сервис, покупать через который удобнее и не намного дороже, чем через сам eBay.
+35
Выключаем монитор с клавиатуры
3 min
26KПредыдущий топик про ddccontrol, открыл для меня, что по DDC можно мониторы выключать. Не вгонять в сон, не включать энергосберегающий режим, а реально выключать. Так, чтобы гасла (и совсем не мигала!) лампочка питания на морде. Как от нажатия выкл на той же самой морде. Разумеется, можно не только выключать, но и включать. Программно!
1) Это можно сделать программно (ddccontrol)
2) Это можно прописать в скрипт
3) Скрипт можно повесить на хоткей
…
5) PROFIT??
В список профитов можно записать возможность включения/выключения ОДНОЙ кнопкой на клавиатуре ВСЕХ мониторов (у меня их сейчас два, и я планирую больше в будущем). Кнопка на клавиатуре куда приятнее для нажатия, чем кнопка монитора (по которой её целиться надо, да и монитор от нажатия может слегка поворачиваться, что раздражает).
1) Это можно сделать программно (ddccontrol)
2) Это можно прописать в скрипт
3) Скрипт можно повесить на хоткей
…
5) PROFIT??
В список профитов можно записать возможность включения/выключения ОДНОЙ кнопкой на клавиатуре ВСЕХ мониторов (у меня их сейчас два, и я планирую больше в будущем). Кнопка на клавиатуре куда приятнее для нажатия, чем кнопка монитора (по которой её целиться надо, да и монитор от нажатия может слегка поворачиваться, что раздражает).
+81
nginx — настройка фронтенда к ~username — public_html
2 min
4.4KКонечно понимаю, что это может быть и не нужно никому, коль не нашел должного решения на просторах Интернета. Однако раньше, когда компьютеры были большими, а мы маленькими, были популярны так называемые домашние странички. У гордого индейца даже модуль под это дело есть — userdir.
Недавно (июнь, 2009) решил индейца загнать в бекенд, а фронтендом настроить nginx. Так вот готового решения для организации фронтенда для nginx'а не обнаружил. Недолго думая, почесал подбородок и накатал следующую конфигурацию к nginx'у. Представьте испытанное мною счастье когда это заработало.
Итак, задача заставить в фронтенде отдавать содержимое из хомдира пользователя — /home/user/public_html. Запрос к которому в браузере выглядит как site.name/~user:
Недавно (июнь, 2009) решил индейца загнать в бекенд, а фронтендом настроить nginx. Так вот готового решения для организации фронтенда для nginx'а не обнаружил. Недолго думая, почесал подбородок и накатал следующую конфигурацию к nginx'у. Представьте испытанное мною счастье когда это заработало.
Итак, задача заставить в фронтенде отдавать содержимое из хомдира пользователя — /home/user/public_html. Запрос к которому в браузере выглядит как site.name/~user:
+15
Создание USB-гаджета с нуля или еще одна лампа настроения
6 min
58KКак-то на глаза попалась статья про лампу настроения. Будучи очень далеким от электротехники и абсолютно незнакомым с принципом работы микроконтроллеров, полученных из топика данных ну никак не хватало для понимания всех необходимых действий для создания лампы. Со временем на глаза попадались другие интересные проекты на микроконтроллерах, потому в один прекрасный момент появилось желание потратить часть свободного времени на покорение сей стихии.
В этой статье я попытался собрать информацию о первых шагах создания с нуля своего проекта на микроконтроллере.
В этой статье я попытался собрать информацию о первых шагах создания с нуля своего проекта на микроконтроллере.
+166
XSD — умный XML
3 min
568KXSD — это язык описания структуры XML документа. Его также называют XML Schema. При использовании XML Schema XML парсер может проверить не только правильность синтаксиса XML документа, но также его структуру, модель содержания и типы данных.
Такой подход позволяет объектно-ориентированным языкам программирования легко создавать объекты в памяти, что, несомненно, удобнее, чем разбирать XML как обычный текстовый файл.
Кроме того, XSD расширяем, и позволяет подключать уже готовые словари для описания типовых задач, например веб-сервисов, таких как SOAP.
Стоит также упомянуть о том, что в XSD есть встроенные средства документирования, что позволяет создавать самодостаточные документы, не требующие дополнительного описания.
Рассмотрим в качестве примера XSD документ, описывающий часть структуры аккаунта на хабре.

Такой подход позволяет объектно-ориентированным языкам программирования легко создавать объекты в памяти, что, несомненно, удобнее, чем разбирать XML как обычный текстовый файл.
Кроме того, XSD расширяем, и позволяет подключать уже готовые словари для описания типовых задач, например веб-сервисов, таких как SOAP.
Стоит также упомянуть о том, что в XSD есть встроенные средства документирования, что позволяет создавать самодостаточные документы, не требующие дополнительного описания.
Рассмотрим в качестве примера XSD документ, описывающий часть структуры аккаунта на хабре.

+39
Делаем качественный переплет книги, своими руками
4 min
138KКак известно специализированная литература, а в особенности литература связанная с IT стоит на порядок выше обычных книг, конечно, можно просто качать с интернета книжки и читать на всяческих устройствах, но не всегда есть эти устройства или не всегда они заряжены в нужный момент, а лично я практически не воспринимаю учебную литературу с дисплея, бумажная книга со всеми своими недостатками все еще лучше, как по мне. Поэтому, при отсутствии денег (распространенная проблема среди студентов), приглядев хорошую книгу я стараюсь распечатать ее и изучать уже в печатном виде.
Поначалу печатал просто на листах А4 и сшивал сбоку обычными нитками, книги получались неуклюжими и не очень удобными, но как то мне на глаза попалась брошюра 1989 года выпуска, под названием «Вторая жизнь книги», в брошюре были описаны множества методов реставрации и починки книг, а также описаны виды переплетов, вот именно это меня заинтересовало больше всего. В это время мне как раз нужна была книга Дэвида Флэнагана «JavaScript. Подробное руководство». Вот как раз о том как я делал переплет и твердую обложку для этой книги и расскажу.
Поначалу печатал просто на листах А4 и сшивал сбоку обычными нитками, книги получались неуклюжими и не очень удобными, но как то мне на глаза попалась брошюра 1989 года выпуска, под названием «Вторая жизнь книги», в брошюре были описаны множества методов реставрации и починки книг, а также описаны виды переплетов, вот именно это меня заинтересовало больше всего. В это время мне как раз нужна была книга Дэвида Флэнагана «JavaScript. Подробное руководство». Вот как раз о том как я делал переплет и твердую обложку для этой книги и расскажу.
+170
Как правильно использовать Zend_Paginator
2 min
5.2KМой друг написал в песочнице статью, которая оказалась для меня (и не только) полезной, но через 7 дней была удалена. С его разрешения привожу её ниже. Если кому она тоже будет полезной, то он просит выслать ему инвайт на alxsad@gmail.com .
Привет всем любителям Zend Framework. Хочу расказать как правильно использовать компонент Zend_Paginator. Я очень часто видел, как плохо с ним работают некоторые программисты. Давайте посмотрим на код, представленный ниже:
Данный код я встречал на очень многих блогах, и даже, если не ошибаюсь, в самом мануале по Zend Framework. Давайте теперь посмотрим на запрос, который у нас получиться в результате:

Видите? Проблема заключается в том, что люди сразу забирают ВСЕ записи из базы данных, а потом уже из них выбирают нужные. Это огромная ошибка. Поэтому читаем как это делается
правильно.
Привет всем любителям Zend Framework. Хочу расказать как правильно использовать компонент Zend_Paginator. Я очень часто видел, как плохо с ним работают некоторые программисты. Давайте посмотрим на код, представленный ниже:
$pages = new Model_Pages();
$paginator = Zend_Paginator::factory($pages->getRows());
$paginator->setItemCountPerPage(1);
$paginator->setPageRange(1);
$paginator->setCurrentPageNumber($this->getRequest()->getParam('page', 1));
Zend_Paginator::setDefaultScrollingStyle('Sliding');
$this->view->pages = $paginator;
$paginator->setView($this->view);
Zend_View_Helper_PaginationControl::setDefaultViewPartial('paginator.phtml');
$this->view->paginator = $paginator;
* This source code was highlighted with Source Code Highlighter.
Данный код я встречал на очень многих блогах, и даже, если не ошибаюсь, в самом мануале по Zend Framework. Давайте теперь посмотрим на запрос, который у нас получиться в результате:

Видите? Проблема заключается в том, что люди сразу забирают ВСЕ записи из базы данных, а потом уже из них выбирают нужные. Это огромная ошибка. Поэтому читаем как это делается
правильно.
+7
Fugue Icons 2.9.3a
1 min
2.4K
Совсем недавно существенно обновился набор замечательных иконок Fugue Icons от Yusuke Kamiyamane. Теперь их 2,926 (16х16) + 210 (24х24) + 46 (32х32) = 3182 качественные иконки для вашего сайта. В архиве также имеется версия без теней.
Лицензия Creative Commons Attribution 3.0 позволяет использовать иконки в любых целях со ссылкой на автора.
Превью 3Mb
Архив 4.9Mb
Архив+исходники 24.8Mb
+118
Аутичный onPHP: обзор
10 min
7.1KПриветствую, хабралюди.
OnPHP — это фреймворк, как не трудно догадаться, написанный на PHP. Как и любой подобный инструмент он обладает своими преимуществами и недостатками и, как я считаю, первых у него больше.
Как ни странно, на хабре я не нашел ни одного топика, посвященного этому фреймоврку. Видимо причина в том, что у фрейморка напрочь отсутствует документация, отчего он напоминает «фреймворк в себе» и «для своих». Однако это не совсем так, но об этом чуть позже.

Как ни странно, на хабре я не нашел ни одного топика, посвященного этому фреймоврку. Видимо причина в том, что у фрейморка напрочь отсутствует документация, отчего он напоминает «фреймворк в себе» и «для своих». Однако это не совсем так, но об этом чуть позже.
+35
Десктопные клиент-серверные приложения на PHP – SiteFusion
1 min
3KSiteFusion – Open Source платформа для разработки клиент-серверных приложений на PHP. В качестве оболочки для приложений использует XUL.


+36
Оформляем формы
3 min
21KУ форм в Django есть несколько предопределенных методов as_p(), as_table() и as_ul(), которые отображают форму как набор параграфов, таблицу или список. На практике этих методов не всегда достаточно, чтобы формы выглядели так, как нам хочется.
Допустим, верстальщик сверстал все формы div-ами. Документация предлагает в этом случае писать нужные теги в ручную в шаблоне. Если форма у нас только одна, можно поступить и так. Если форм несколько, то этот подход сразу же теряет все свое очарование. Решение очень простое — пронаследуем наш собственный класс форм от forms.Form или forms.ModelForm и обучим его рисовать формы так, как нужно нам.
Допустим, верстальщик сверстал все формы div-ами. Документация предлагает в этом случае писать нужные теги в ручную в шаблоне. Если форма у нас только одна, можно поступить и так. Если форм несколько, то этот подход сразу же теряет все свое очарование. Решение очень простое — пронаследуем наш собственный класс форм от forms.Form или forms.ModelForm и обучим его рисовать формы так, как нужно нам.
+31
Принцип «Mea culpa» в общении с заказчиком
7 min
2.9KСейчас, пожалуй, только староверы в глубокой тайге не знают, что такое фриланс. Причем те из них, кто еще не отдал добычу еды на аутсорсинг. И вместе с тем, как набирает обороты движение свободных разработчиков, рождается множество забавных, а, порою, опасных религий, с этим связанных. Про одну из них мне и хотелось бы поведать. Мотиватором для этого послужила данная статья на Хабре — habrahabr.ru/blogs/pm/95548.
NB: Статья, разумеется, шутливая и позже была перенесена в ХабраЮмор, но нас ведь не проведешь и мы прекрасно понимаем, что юмор используется для того, чтобы на рынок умов могло проникнуть то, что не пустят через парадный вход. Как говориться, политический анекдот — это тоже шутка. В общем обратите внимание, что рассматривается не упомянутая статья, а религия, частным порождением которой эта статья и является..
Итак, есть такаяпартиярелигия: заказчик — Враг, потому что он Виноват Во Всем. Именно так, с большой буквы «В». Иногда он Гад, Мерзавец и Подонок, но в итоге он все равно Виноват. Сорваны сроки — виноват заказчик, проснулись с больной головой — виноват заказчик, молоко убежало — виноват заказчик. Любое письмо от заказчика вызывает нервный тик, звонок — приступы бешенства, а уж встреча — это ринг микс-файтинга и DeathTrack'а без каких-либо правил.
Естественно, мы любим его, когда он нас выбирает в качестве подрядчика. Воодушевляемся, когда получаем аванс и т.п. Но речь идет о тех моментах, когда проект пошел не туда, куда мы его направляли. Или не направляли, но тайно в душе надеялись, что он туда пойдет. Вот в такие периоды и проявляется наша «темная сторона» и мы начинаем искать его вину… Впоследствии различные «виноватости» группируются, сортируются и каталогизируются, рождая множество притч, легенд и статей аналогичных вышеупомянутой. Но разрешите вам представить и другую точку зрения.
NB: Статья, разумеется, шутливая и позже была перенесена в ХабраЮмор, но нас ведь не проведешь и мы прекрасно понимаем, что юмор используется для того, чтобы на рынок умов могло проникнуть то, что не пустят через парадный вход. Как говориться, политический анекдот — это тоже шутка. В общем обратите внимание, что рассматривается не упомянутая статья, а религия, частным порождением которой эта статья и является..
Итак, есть такая
Естественно, мы любим его, когда он нас выбирает в качестве подрядчика. Воодушевляемся, когда получаем аванс и т.п. Но речь идет о тех моментах, когда проект пошел не туда, куда мы его направляли. Или не направляли, но тайно в душе надеялись, что он туда пойдет. Вот в такие периоды и проявляется наша «темная сторона» и мы начинаем искать его вину… Впоследствии различные «виноватости» группируются, сортируются и каталогизируются, рождая множество притч, легенд и статей аналогичных вышеупомянутой. Но разрешите вам представить и другую точку зрения.
+68
Подводные камни при выборе хостера
2 min
2.3KПрофессионалы безусловно знакомы со всеми нюансами настройки сайта на хостинге, поэтому публикую свою заметку в персональный блог, чтобы с одной стороны предупредить новичков о возможных проблемах и с другой стороны не навлечь на себя гнев профессионалов, которые все эти вещи, конечно, давно знают.
P.S. Сам не ожидал, но вроде не такую уж глупость написал. Перенес в «Хостинг».
Не так давно передо мной встала задача выбора нового хостинга для моего проекта Russian Creators. Задача не самая сложная, учитывая небольшую посещаемость, максимум 1000 человек в день. Почитав на Хабре несколько топиков про выбор хостинга я остановился на Инфобоксе. Списался со службой поддержки, сообщил им необходимые данные и выбрал вариант размещения сайта на виртуальном выделенном сервере по тарифу стоимостью 2600 рублей в месяц. Получив от них выставленный счет и оплатив его в Сбербанке я окунулся в самый настоящий российский сервис.
P.S. Сам не ожидал, но вроде не такую уж глупость написал. Перенес в «Хостинг».
Не так давно передо мной встала задача выбора нового хостинга для моего проекта Russian Creators. Задача не самая сложная, учитывая небольшую посещаемость, максимум 1000 человек в день. Почитав на Хабре несколько топиков про выбор хостинга я остановился на Инфобоксе. Списался со службой поддержки, сообщил им необходимые данные и выбрал вариант размещения сайта на виртуальном выделенном сервере по тарифу стоимостью 2600 рублей в месяц. Получив от них выставленный счет и оплатив его в Сбербанке я окунулся в самый настоящий российский сервис.
+23
Кеширование блоков с помощью nginx
6 min
15K
- Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
- Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
- Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
+98
Как я ремонтировал аккумулятор ноутбука
2 min
253KПосле моего поста с рассказом о моей небольшой коллекции ноутбуков, благодаря хабрачеловеку McStrauth нашего полку прибыло — в моей коллекции появился очень интересный экземпляр — Micron TransPort XKE 1995 года, очень харизматичный и интересный ноутбук надо сказать, но у него была проблема — абсолютно мертвый аккумулятор. Все мои попытки его «раскачать» не увенчались успехом, и было принято решение его разобрать и попробовать отремонтировать. Сказано — сделано, аккум разобран, и перед моим взором предстала удручающая картина:

Что же было дальше? (осторожно — траффик)

Что же было дальше? (осторожно — траффик)
+158
Chrome App. Создание приложения для chrome (пример)
2 min
10KКак все прекрасно помнят, на прошедшей IO, Google анонсировал свой Web Store. А для заполнения его представил т.н. web-приложения.
Сегодня речь пойдёт о том, как создать простенькое приложение и подготовится к открытию Web Store.
Для примера будем создавать приложение из ряда Hello World, а именно — калькулятор.

Сегодня речь пойдёт о том, как создать простенькое приложение и подготовится к открытию Web Store.
Для примера будем создавать приложение из ряда Hello World, а именно — калькулятор.

+82
SIP телефония для дома — реализация, опыт, фишки
9 min
205KВсем привет.
В комментариях к различным топикам на Хабре нередко видел вопросы класса «А зачем вам нужна SIP-телефония дома» и «Как все это безобразие работает». Некоторые темы на хабре уже раскрывались, но многое осталось в тени. Посему решил описать используемую мной схему SIP-устройств и сервисов, и набросать некоторые планы на будущее.
Просто повторять аксиому, что SIP – это далеко не только дешевые междугородние звонки через sipnet или других операторов я не буду, и постараюсь в данном топике раскрыть все многообразие возможных вариантов применения SIP в быту.
В комментариях к различным топикам на Хабре нередко видел вопросы класса «А зачем вам нужна SIP-телефония дома» и «Как все это безобразие работает». Некоторые темы на хабре уже раскрывались, но многое осталось в тени. Посему решил описать используемую мной схему SIP-устройств и сервисов, и набросать некоторые планы на будущее.
Просто повторять аксиому, что SIP – это далеко не только дешевые междугородние звонки через sipnet или других операторов я не буду, и постараюсь в данном топике раскрыть все многообразие возможных вариантов применения SIP в быту.
+93
Дошли до Беларуси
1 min
668К аэрофотоснимкам периода Второй Мировой добавлена Беларусь: Брест, Гомель, Гродно, Минск.
На текущий момент уже доступны 30 городов России, Беларуси, Украины, Эстонии: WWII.sasgis.ru
Отдельные фоторгафии довольно четкие, сравнимые по разрешению с современными спутниковыми снимками выкладываемые гуглом.
В Минске видны машины:
На текущий момент уже доступны 30 городов России, Беларуси, Украины, Эстонии: WWII.sasgis.ru
Отдельные фоторгафии довольно четкие, сравнимые по разрешению с современными спутниковыми снимками выкладываемые гуглом.
В Минске видны машины:

+38
Дьявольский конкурс «Юзабельный вебпроект»
1 min
11KВсем категорический хабрапривет. Если вы натыкались ранее на наш блог, то не могли не заметить, как пристрастна наша компания в вопросах веб-дизайна и юзабилити. За последние восемь тысяч лет работы на отечественном SEO-рынке мы насмотрелись всякого. Появились стальная хватка и орлиный глаз, позволяющие без тепловой карты и прочего айтрекинга определить, насколько юзабелен тот или иной сайт.
Нас сложно чем-то удивить. Но скука и хандра – оборотная сторона опыта и профессионализма. Начинаешь чувствовать себя эдаким Мефистофелем.

А потому мы решили предложить вам конкурс. Мы будем совершенно бесплатно оценивать юзабилити молодых сайтов, стартапов и интернет-магазинов, а победители получат совершенно бесплатную SEO-книжку и совершенно бесплатный SEO-аудит от нашей компании.
Условия для участия (мелким шрифтом, читать необязательно, просто поставьте подпись):
Нас сложно чем-то удивить. Но скука и хандра – оборотная сторона опыта и профессионализма. Начинаешь чувствовать себя эдаким Мефистофелем.

А потому мы решили предложить вам конкурс. Мы будем совершенно бесплатно оценивать юзабилити молодых сайтов, стартапов и интернет-магазинов, а победители получат совершенно бесплатную SEO-книжку и совершенно бесплатный SEO-аудит от нашей компании.
Условия для участия (мелким шрифтом, читать необязательно, просто поставьте подпись):
+11
Information
- Rating
- Does not participate
- Location
- Харьков, Харьковская обл., Украина
- Registered
- Activity