На установку, настройку и синхронизацию интернет-магазина PHPShop с 1С требуется 7 минут. Предлагаем вашему вниманию видео, которое это доказывает.
Маслов Александр @drakmail
SRE
Ripple — браузерный эмулятор для тестирования мобильных платформ
3 min
18K
+34
Пять бесплатных инструментов для выбора цветовой схемы сайта
2 min
234KTranslation
Один из самых важных факторов при создании уникального и узнаваемого дизайна — цвет. Грамотный выбор цветовой схемы может определить успех или провал сайта. Когда посетитель бросает первый взгляд на веб-страницу, то выбранные вами цвета посылают ему мгновенное сообщение об этой странице. К счастью, существует много инструментов, которые помогут выбрать правильную цветовую схему. Вот пять лучших из них.
+120
Открываем внутренний API сервиса SMS24X7 для разработчиков
2 min
2.3K
Надо отметить, что архитектурное решение по введению API в качестве backend'а для нашего WEB-сервиса СМС-рассылок доставило нам небольшую головную боль. Зато позволило естественным образом отделить процесс разработки WEB-интерфейса. Таким образом, всё, что есть в сервисе оказалось доступно через API.
Допустим, что рассказывать о том, зачем нужен СМС-шлюз никому не надо. Все эти СМС-напоминания, СМС-уведомления и СМС-информирование изрядно утомляют, когда заставляют, в основном, не по делу звенеть и дергаться Ваш телефон. Но как быть, если надо разместить форму сбора мобильных номеров на сайте, интегрировать СМС-рассылки к заказчику в личный кабинет или отобразить у себя статистики по использованию СМС-шлюза? Ответ простой — используйте наше API.
+41
Подборка генераторов CSS
2 min
50K
Не секрет, что писать CSS для многих стандартных кнопок, макетов, etc. бывает весьма лениво. Ниже представлена подборка генераторов CSS (и не только), которая, возможно, в некоторых случаях сможет упростить кому-то жизнь. Многими генераторами можно успешно пользоваться даже без глубоких познаний CSS.
(Осторожно! Много картинок)
+51
JNI, загрузка нативных библиотек. Меняем java.library.path на лету
3 min
40KВ подмножестве экосистемы Java, относящейся в основном к JNI (без которого никуда не деться, если приходиться интегрироваться с каким-то legacy или просто редким и специфическим кодом, написанном на С или каком-то другом языке), есть такое понятие, как java.library.path. Вкратце, это в некотором роде аналог classpath, только не для Java классов и *.jar файлов, а для нативных библиотек — системное свойство, которое указывает JVM, где искать эти самые нативные библиотеки (.dll в винде или .so под юниксами).
Свойство это устанавливается один раз, перед запуском JVM, через глобальные system properties, или как ключ -Dname=value для JVM, и после этого оно становится read-only. Точнее, менять-то его можно, но никакого эффекта на работу программы это не окажет, т.к. после того как вы обновите это свойство, JVM не перечитает его и не будет использовать новое значение.
Под катом — про то, как все таки поменять это свойство в рантайме, и немного о том, как собственно работает загрузка нативных библиотек в Java.
Свойство это устанавливается один раз, перед запуском JVM, через глобальные system properties, или как ключ -Dname=value для JVM, и после этого оно становится read-only. Точнее, менять-то его можно, но никакого эффекта на работу программы это не окажет, т.к. после того как вы обновите это свойство, JVM не перечитает его и не будет использовать новое значение.
Под катом — про то, как все таки поменять это свойство в рантайме, и немного о том, как собственно работает загрузка нативных библиотек в Java.
+24
Принципы дизайна страниц оплаты для интернет-магазинов
14 min
22KTutorial
Translation
Представляю вашему вниманию перевод статьи под названием "Fundamental Guidelines Of E-Commerce Checkout Design" от Christian Holst. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.
Грустная статистика систем электронной коммерции — согласно последним исследованиям, по крайней мере 59,8% потенциальных покупателей покидают сайт на этапе оформления заказа и его оплаты (у разных исследований разные показатели — от 59,8% у MarketingSherpa до 83% у SeeWhy).
Основной вопрос заключается в том, почему пользователи так часто и массово покидают свою корзину, не закончив оформление заказа? Причина заключена в какой-то фундаментальной ошибке дизайнеров, создающих интернет-магазины? А быть может есть какие-то формальные правила, которые усложняют жизнь простым пользователям и мешают им покупать продукты? Существует ли какая-то возможность улучшить ситуацию и повысить конверсию электронных магазинов?
+162
Коллеги! Друзья! Просьба к тем фрилансерам, кто живет и работает в Москве и Питере
1 min
977Очень хорошие люди задались целью открыть первый приличный коворкинг-центр в Москве и Питере. Подход у них очень правильный, и они хотят сделать все максимально заточено под нас, фрилансеров. Поэтому собственно и обращаются к нам с маленьким опросом.

Если по какой-то причине Гугл Докс вам не близок, уделите пожалуйста пару минут, заполните небольшую анкету, которую можно скачать по ссылке — http://narod.ru/disk/10459933001/QuestFinal2_Fill.pdf.html
Все очень просто. Надо:
1. Заполнить
2. Сохранить
3. Прислать сохраненную анкету мне по почте — alekseydruzhinin@yandex.ru
Заранее огромное спасибо,
+1000 вам в карму за помощь

UPD: учли все пожелания, сделали анкету в Google Docs
Если по какой-то причине Гугл Докс вам не близок, уделите пожалуйста пару минут, заполните небольшую анкету, которую можно скачать по ссылке — http://narod.ru/disk/10459933001/QuestFinal2_Fill.pdf.html
Все очень просто. Надо:
1. Заполнить
2. Сохранить
3. Прислать сохраненную анкету мне по почте — alekseydruzhinin@yandex.ru
Заранее огромное спасибо,
+1000 вам в карму за помощь
+5
Кое-что о Wi-Fi
7 min
306KНедавно побывал на конференции на тему “Построение беспроводных сетей”. Не смотря на то, что довольно длительный период работаю администратором, мне не каждый день приходится разворачивать беспроводные сети. Спешу с вами поделиться некоторыми нюансами. Всех заинтересованных приглашаю под кат.


+160
Простой способ резервного копирования Linux-сервера с выгрузкой файлов по FTP
3 min
66KЗдравствуйте.
О важности регулярного резервного копирования уже сказано очень много слов. В этой статье мы предлагаем вниманию читателей примеры простых скриптов для бэкапа файлов и баз данных MySQL с последующей выгрузкой архивов на удаленный FTP-сервер.
Несмотря на то что мы в NQhost предлагаем решения по сохранению snapshot'ов VPS-контейнеров, процесс бэкапа собственными силами — безусловно важнейшая вещь.
О важности регулярного резервного копирования уже сказано очень много слов. В этой статье мы предлагаем вниманию читателей примеры простых скриптов для бэкапа файлов и баз данных MySQL с последующей выгрузкой архивов на удаленный FTP-сервер.
Несмотря на то что мы в NQhost предлагаем решения по сохранению snapshot'ов VPS-контейнеров, процесс бэкапа собственными силами — безусловно важнейшая вещь.
+23
Работаем с модулями ядра в Linux
7 min
269K
Ядро — это та часть операционной системы, работа которой полностью скрыта от пользователя, т. к. пользователь с ним не работает напрямую: пользователь работает с программами. Но, тем не менее, без ядра невозможна работа ни одной программы, т.е. они без ядра бесполезны. Этот механизм чем-то напоминает отношения официанта и клиента: работа хорошего официанта должна быть практически незаметна для клиента, но без официанта клиент не сможет передать заказ повару, и этот заказ не будет доставлен.
В Linux ядро монолитное, т.е. все его драйвера и подсистемы работают в своем адресном пространстве, отделенном от пользовательского. Сам термин «монолит» говорит о том, что в ядре сконцентрировано всё, и, по логике, ничего не может в него добавляться или удаляться. В случае с ядром Linux — это правда лишь отчасти: ядро Linux может работать в таком режиме, однако, в подавляющем большинстве сборок возможна модификация части кода ядра без его перекомпиляции, и даже без его выгрузки. Это достигается путем загрузки и выгрузки некоторых частей ядра, которые называются модулями. Чаще всего в процессе работы необходимо подключать модули драйверов устройств, поддержки криптографических алгоритмов, сетевых средств, и, чтобы уметь это правильно делать, нужно разбираться в строении ядра и уметь правильно работать с его модулями. Об этом и пойдет речь в этой статье.
+106
Требования к html-верстке
6 min
76K1. Верстка, аутсорсинг и технические задания

Так сложилось, что мне часто приходилось отдавать эту работу субподрядчикам и, несмотря на предполагаемую однозначность результата, иногда верстальщики меня очень удивляли. Причем чаще — в негативном смысле.
Чтобы сэкономить трудовые ресурсы штатных верстальщиков, недостаточно просто переложить эту работу на плечи первого приглянувшегося фрилансера. Все намного проще, если вы постоянно отдаете работу на аутсорсинг одним и тем же исполнителям — в процессе длительного сотрудничества всегда складывается какой-то негласный свод стандартов и требований, выполнение которых входит в привычку. Но если вы работаете с человеком впервые — самое хорошее портфолио и рекомендации не гарантируют получения нужного результата и более того — даже не предполагают, что исполнитель вообще вас правильно поймет. Потому нужны детальные технические задания по верстке.
+179
Улучшаем интерфейс Java-приложения
27 min
100KTutorial

Достаточно много различной раздробленной информации существует на тему работы со Swing и графикой в просторах интернета, а также на тему интерфейсов Java-приложений. Кто-то твердит о том, что Java морально устарела и десктоп-приложения на Java не имеет смысла писать, кто-то с пеной у рта доказывает обратное. В то же время работа идет, приложения пишутся и встают очередные проблемы. В предыдущей статье я уже привел небольшой список полезных библиотек для исключительных случаев, но нередко бывает так, что никакая сторонняя библиотека не позволяет сделать то, что Вам нужно. Именно в такой момент стоит задуматься о возможной необходимости написания своих компонентов.
Итак, в данном посте я постарался изложить самые важные и значимые на мой взгляд моменты по работе со Swing и графикой — как создавать компоненты, как стилизовать интерфейс, чего делать не стоит и многое другое…
+108
Паять просто (комикс)
1 min
65K
В общем, потратив сутки я всё там перевёл, постаравшись сохранить оригинальную верстку и стиль.
Если вы давно хотели научиться паять сами, или планируете научить этому своих детей, то все необходимые ссылки под катом.
+216
Пайпы, the pythonic way
3 min
19KОдни питонисты любят код читаемый, другие предпочитают лаконичный. К сожалению, баланс между первым и вторым — решения по-настоящему изящные — редко случается встретить на практике. Чаще стречаются строки вроде
Не в Питоне?
my_function(sum(filter(lambda x: x % 3 == 1, [x for x in range(100)])))
Или четверостишья а ляxs = [x for x in range(100)]
xs_filtered = filter(lambda x: x % 3 == 1, xs)
xs_sum = sum(xs_filtered)
result = my_function(xs_sum)
Идеалистам же хотелось бы писать как-то такresult = [x for x in range(100)] \
| where(lambda x: x % 3 == 1)) \
| sum \
| my_function
Не в Питоне?
+79
DevPoint: Selenium в тестировании веб-приложений
7 min
46KЧто делать когда:
Забить и оправдываться, что такой код не должен жить?
С такими ситуациями очень часто сталкивался и меня это не устраивало. При поиске подходящего метода/инструмента тестирования я наткнулся на Selenium. И применяю его уже более 3-х лет.
В Киеве 9-го апреля прошла конференция DevPoint, посвященная web — разработке. Организатором данного мероприятия была компания Uniweb. В рамках ее, решил поделиться впечатлением про Selenium.
- Достался хард-кодный проект непокрытый тестами;
- код желает лучшего, а времени на рефакторинг нет;
- внесение правок в одном месте нарушает работу логики в другом;
- для покрытия *Unit тестами, проще переписать проект;
- бизнес логика размыта по коду и даже по шаблонам.
Забить и оправдываться, что такой код не должен жить?
С такими ситуациями очень часто сталкивался и меня это не устраивало. При поиске подходящего метода/инструмента тестирования я наткнулся на Selenium. И применяю его уже более 3-х лет.
В Киеве 9-го апреля прошла конференция DevPoint, посвященная web — разработке. Организатором данного мероприятия была компания Uniweb. В рамках ее, решил поделиться впечатлением про Selenium.
+25
Интеграция CMS Joomla и Ejabberd
1 min
1.7KНебольшая статейка по интеграции CMS Joomla (1.5.х. и 1.6.х.) и ejabberd (2.х.х.)
Есть пару статей по интеграции, но они актуальны только для старой версии Joomla.
Процесс довольно несложный и довольно быстрый
1) Устанавливаем Joomla (думаю не надо объяснять как (: );
2) Устанавливаем ejabberd используя пункты 5 и 6 из этого мана;
3) Качаем ejabberd4joomla.googlecode.com/files/plug_ejabberd.tar.gz;
4) Устанавливаем как обычный плагин к Joomla и включаем его;
5) Заходим, при помощи phpmyadmin или через консоль, в базу нашей jooml-ы и из /ejabberd-2.1.X/src/odbc импортируем файл mysql.sql (ну или файл под свою базу);
6) Настраиваем ejabberd.cfg под себя;
6.1) Находим раздел AUTHENTICATION, комментируем сточку
и раскомментим строку
6.2) Находим DATABASE SETUP, и раскомментим стоку под свою базу (у меня это выглядит так)
6.3) Запрещаем регистрацию через клиент
7) Регистрируемся на сайте, заходим на сайт, и только после этого мы уже сможем подключиться через свой любимый клиент (:
Есть пару статей по интеграции, но они актуальны только для старой версии Joomla.
Процесс довольно несложный и довольно быстрый
1) Устанавливаем Joomla (думаю не надо объяснять как (: );
2) Устанавливаем ejabberd используя пункты 5 и 6 из этого мана;
3) Качаем ejabberd4joomla.googlecode.com/files/plug_ejabberd.tar.gz;
4) Устанавливаем как обычный плагин к Joomla и включаем его;
5) Заходим, при помощи phpmyadmin или через консоль, в базу нашей jooml-ы и из /ejabberd-2.1.X/src/odbc импортируем файл mysql.sql (ну или файл под свою базу);
6) Настраиваем ejabberd.cfg под себя;
6.1) Находим раздел AUTHENTICATION, комментируем сточку
{auth_method, internal}.
и раскомментим строку
{auth_method, odbc};
6.2) Находим DATABASE SETUP, и раскомментим стоку под свою базу (у меня это выглядит так)
{odbc_server, {mysql, "localhost", "база сайта", "имя пользователя", "пароль"}}.;
6.3) Запрещаем регистрацию через клиент
%% In-band registration allows registration of any possible username.
%% To disable in-band registration, replace 'allow' with 'deny'.
%% {access, register, [{allow, all}]}.
% None username can be registered via in-band registration:
{access, register, [{deny, all}]}.
7) Регистрируемся на сайте, заходим на сайт, и только после этого мы уже сможем подключиться через свой любимый клиент (:
-4
Source Board — хостинг кода
2 min
2.6KМногим разработчикам в жизни рано или поздно требуется поделиться с кем-то кускомчастью кода, в тех или иных целях. Я не являюсь исключением, и в своё время выделил время на поиск такого сервиса под свои нужды.
История и описание
+21
Советы как подготовить справку пользователя для ПО на английском
5 min
8.4KПривет! Сегодня мы открываем блог на Хабре. Наша специализация – переводы на английский язык, написание и рассылка пресс-релизов в Рунете, а также создание справочных систем для ПО. За несколько лет работы накопились некоторые знания, которыми хотим поделиться с вами. Надеюсь, что блог будет вам полезен. Желаю приятного прочтения и жду вас в постоянных посетителях.

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

Начинаем мы с поста о создании руководств пользователя для софта на английском языке. Cправка пользователя – это важная составляющая программного продукта. Создание справки требует особой тщательности, т.к. ошибки и непонятные формулировки в ней часто воспринимаются как дефект самой программы и портят впечатление о продукте. Журналисты упоминают плохо написанную или переведенную справку как недостаток в обзорах, а пользователи голосуют рублем – если они с трудом или вообще не понимают инструкции в руководстве, то едва ли они зарегистрируют триал. С другой стороны программу с качественно переведенной справкой легче продать.
+34
API Яндекс.Денег
2 min
17K
Сегодня Яндекс.Деньги запускают новый сервис, который, как нам кажется, будет особенно интересен хабраюзерам.
Сегодня мы открываем API платежной системы.
API Яндекс.Денег позволяет использовать платежные функции в вашем приложении. Причем не только пассивные — просмотр баланса счета или истории платежей, но и активные — проведение платежей в магазины. Фактически, вы можете написать свой интерфейс к Яндекс.Деньгам (если вдруг в нашем вам чего-то не хватает).
Возможности API пока не так велики, как нам бы хотелось, но ведь это только начало. Надеемся, что хабрасообщество примет деятельное участие в развитии продукта. Мы с удовольствием выслушаем все ваши пожелания, фичреквесты и критику — и будем стараться активно развивать API.
Презентация новой технологии на базе API с первыми примерами реализации будет показана 22 апреля во время конференции «РИФ+КИБ 2011» в шатре Яндекс.Денег (в правом торце главного корпуса).
+87
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity