Архив за 06 января 2013

Разбираемся с REST API Prestashop
На днях была получена задача сделать импорт товаров в Prestashop. С данной CMS дела ранее не имел, а посему стал искать привычные API для добавления/изменения товаров. Каково же было мое удивление когда я их не нашел, ну или не сильно искал. Решение описанное здесь не подходило однозначно, так как требовалась работа с комбинациями товара, и кучей других параметров. Замечу что вариант изменения файлов ядра или создания кучи файлов переопределяющих системные классы были отброшены сразу. И тут я обратил внимание на REST API, оно как я понял появилось недавно, и информации по нему мало, но это показалось мне лучшим вариантом. Замечу что в данном материале я не ставлю цель повторить описанное в документации, а лишь упорядочить информацию и дополнить некоторые моменты.
Читать полностью »

diFireplace: Новогодний хабракамин Камин — такая вещь, которая олицетворяет собой необычайное тепло, уют родного дома, конфеты, подарки, зимние вечера, да и вообще приятная штука. Сегодня мы построим настоящий хабракамин — в компьютерном корпусе, на нанотехнологичных светодиодах и «теплых ламповых» технологиях — pic12f683, Hi-Tech PICC в IDE Hi-Tide.

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

Допустим возникла задача написать простой RESTful api сервер для iOS/Android устройств.

Что дано:
База данных интернет-магазина (базу трогать нельзя)
Инструментарий:
Sinatra, mysql2, json

Количество строк: 47
Время: ~ 5 мин

Читать полностью »

Лаборатория робототехники Технологического института Иллинойса представила свою разработку: HyTAQ Robot (Hybrid Terrestrial and Aerial Quadrotor). Привычный квадрокоптер они поместили в колесо, которое напоминает птичью клетку.

Читать полностью »

Как известно, в Django предусмотрен очень лёгкий и простой механизм уведомления разработчиков о возникающих проблемах. Когда проект развёрнут на локальном компьютере и в настройках DEBUG имеет значение True, то отчёты об ошибках просто выводятся в виде HTTP-ответа, в виде удобной страницы с возможностью копирования traceback'а.

Если же это production-сервер, и DEBUG имеет значение False, то отчёты по умолчанию отправляются по электронной почте всем, кто указан в настройке ADMINS (кстати, если вы используете SMTP-сервер, то письма могут не приходить, так как SMTP-сервер не принимает адрес root@localhost — в этом случае просто укажите любой другой адрес, который будет принимать ваш SMTP-сервер, с помощью настройки SERVER_EMAIL).

Разумеется, ничего не мешает также написать свой logging handler (обработчик журналирования) и сохранять отчёты об ошибках в любом нужном виде — создавать задачу в баг-трекере, например.

Тем не менее, если для вас важна безопасность ваших пользователей, то возникает вполне закономерный вопрос — как сделать так, чтобы отчёты об ошибках были для них безопасны? То есть как сделать, чтобы никакая личная информация в них не сохранялась, и не отправлялась кому-либо по почте (ведь дело даже не в том, что кто-то из разработчиков может вести себя недобросовестно, а скорее в том, что подобную информацию вообще лучше не сохранять где-либо за пределами сервера — ведь почтовый ящик и взломать могут, а сервер обычно защищён лучше).
Читать полностью »

Компания Озон решила провести рекламную кампанию и выслала некоторому количеству клиентов промо–коды, дающие скидку в 500 баллов (=500 рублей). В скором времени оказалось, что по трагической для компании ошибке промо–коды не привязаны к аккаунту, а значит могут быть использованы неограниченным количеством людей.

Русская душа — широкая, поэтому кодами поделились в интернете. Поток заказов с кодами, дающими 50% скидку на заказы до 6000 рублей, посыпался, и только через 12 часов Озон проснулся, сначала заблокировав коды, а затем начав процесс по аннулированию заказов, в том числе оплаченных.

Читать полностью »

Уже примерно три месяца при загрузке Ubuntu всем пользователям предлагается перед скачиванием отправить Canonical некоторую сумму денег (по умолчанию 16 долларов).

При этом пользователи могут сами выбирать, на что именно они хотели бы перевести деньги (по умолчанию у всех 8 вариантов выбрано по два доллара). Выбрав некоторую сумму денег, пользователь видит, с чем эту сумму можно сравнить (например, сумма в 30 долларов сравнивается со стоимостью сковородки из нержавеющей стали с медным дном, а сумма в 500 долларов сравнивается со стоимостью авиабилета из Нью-Йорка в Лондон, в одну сторону).

О том, что в 2013 году компания Intel представит новый процессор для смартфонов, известный под кодовым обозначением Merrifield, стало известно еще в мае прошлого года. Затем воцарилась тишина — в Сети не появилась даже ни одного слуха о новом CPU, не говоря уже о данных о готовых устройствах на его базе. И вот сейчас появилась информация о том, что на CES 2013 вероятен дебют смартфона Lenovo K5, построенного как раз на Merrifield.

Читать полностью »

Ещё одна «Солнечная cистема» на HTML5 Canvas
Перед Новым годом на хабре были опубликованы два топика (первый, второй) о создании «Солнечной системы» на HTML5 Canvas. Бегло прочитав их и изучив результаты профилирования я удивился тому что такая простенькая программа так неэффективно работает. Вооружившись Notepad++ решил проверить всё ли так плохо, написав свою реализацию.

ТЗ остаётся всё тем же. 12 планет, скорость вращений первой — 40 секунд, каждой последующей на 20 секунд дольше. Изначально планеты имеют случайное расположение на своих орбитах. У каждой планеты есть описание, которое отображается при наведении курсора на неё. При клике на планету она останавливается. Если курсор находиться над орбитой — подсветить её. Всё это должно работать в Opera 12+, IE9+, Chrome и FF.

— Я не хочу ничего читать, давай результат!
— Держи: жмякЧитать полностью »

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

Читать полностью »