Как стать автором
Обновить
0
0
ProstoDesign @ProstoDesign

Пользователь

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

Как легализовать доход от Google AdSense для ИП

Время на прочтение3 мин
Количество просмотров56K
Относительно недавно у Google AdSense появился новый способ выплаты, а именно — перевод средств на валютный счет в USD. Пока данный способ является экспериментальным и устанавливается по запросу в службу поддержки. Так уж получилось, что я стала участником эксперимента и расскажу о своем опыте перевода денег от гугл напрямую на ИП в России.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии58

Размеры экранов

Время на прочтение2 мин
Количество просмотров548K
Планшеты и смартфоны оснащаются экранами с разными соотношениями сторон и разной плотностью пикселей, однако эти параметры редко указываются в технических характеристиках.

Попробуем разобраться со всеми хитростями, связанными с этими параметрами. Начнём с планшетов.
Вот соотношение размеров экранов, использующихся в большинстве современных планшетов.



Обратите внимание, насколько экран 8" с соотношением сторон 4:3 визуально больше широкого экрана 7". А широкий экран 10.1" на сантиметр меньше экрана 9.7" по высоте.

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



Текст на экранах с низким PPI (количеством точек на дюйм) читается не комфортно. Я бы не стал покупать планшет с экраном, имеющим PPI ниже 150. Даже 164 PPI экрана iPad mini многим кажутся недостаточными. Отлично воспринимаются экраны с PPI больше 200.

Для меня было большим открытием, что экран 9.7" 1024x768 имеет даже меньшее PPI, чем экран 7" 800x480.

Читать дальше →
Всего голосов 157: ↑147 и ↓10+137
Комментарии69

Год с Roomba

Время на прочтение6 мин
Количество просмотров198K

Около года назад мне довелось стать счастливым обладателем iRobot Roomba 564 pet, с тех пор он исправно несёт боевое дежурство на просторах нашей 4-х комнатной квартиры по схеме: 4 раза в неделю (минимум). Намедни, мои руки наконец добрались и до него, я решил досконально почистить «борца за чистоту», а заодно провести фотосессию и рассказать Хабру о некоторых особенностях обслуживания сего зверя.
Надеюсь, что топик поможет вам выбрать оптимальный для себя робот-пылесос, а я приложу максимум усилий, что бы поведать — какие подводные камни ожидают Вас в пылесосах Roomba.

Осторожно!
Под катом много фото разобранного пылесоса, шерсти и чуть-чуть плавленой пластмассы.

Читать дальше →
Всего голосов 177: ↑170 и ↓7+163
Комментарии177

Креативный спам

Время на прочтение1 мин
Количество просмотров1.2K
Давно не читал заголовки спама, но появившиеся недавно заголовки заставили перелопатить всю папку «Спам». Я не знаю кто ты креативный спамер, но я готов на тебя подписаться!

Подробности под катом.

Читать дальше →
Всего голосов 164: ↑131.5 и ↓32.5+99
Комментарии40

О том, как стартап может вылететь из индекса в одночасье

Время на прочтение6 мин
Количество просмотров44K
Здравствуй, Хабр!

Год назад мы столкнулись с проблемой. Если в двух словах — нас взломали. Взломали творчески, так, что мы не сразу поняли, что вообще происходит. В процессе решения проблемы получилось овладеть полезными навыками: составлять abuse-обращения и результативно общаться с хостерами, в т.ч. — зарубежными, больше радеть о безопасности нашего ресурса, постоянно мониторить наличие нашего сайта в индексе Яндекс и Google, и внимательно относиться к мелочам. В описываемом случае обычный символ «-» (дефис, минус, тире, черточка, палочка, дефисоминус) сыграл с нами злую шутку.

Мы столкнулись с проблемой взлома впервые, возможно, какие-то вещи с самого начала были очевидны, а мы их не видели, или наши шаги в поисках решения вызовут улыбку, или непонимание у профи. А может, наш опыт станет полезным для тех, кто сталкивается с проблемами в сфере информационной безопасности.
Читать дальше →
Всего голосов 106: ↑80 и ↓26+54
Комментарии49

Крик опыта неудач

Время на прочтение3 мин
Количество просмотров130K
Я написал такой пост, которые обычно сам не читаю. Нет времени. В голове много идей, и не знаю какую реализовать в первую очередь. Некогда читать не техническую информацию.

Это не success-story, а какой-то «way of the failures» человека, который хочет создать что-то свое, что-то классное и полезное для многих, быть честным, свободным и работать на самого себя. Если это про вас, то прошу вас, прочитайте этот пост и не наступайте на мои грабли. Уделите 10 минут. Я постараюсь говорить коротко и по существу.
Читать дальше →
Всего голосов 200: ↑161 и ↓39+122
Комментарии104

Google Web Starter Kit: конструктор мобильных сайтов

Время на прочтение1 мин
Количество просмотров51K


Google Web Starter Kit — конструктор и шаблоны для быстрой разработки отзывчивых мобильных сайтов, которые хорошо работают на любой платформе и почти в любом браузере (кроме самых старых). Такие сайты везде выглядят, как нативные приложения.

Основные особенности:
  • HTML-шаблоны, оптимизированные для мобильного применения;
  • отзывчивый макет для разных мобильных устройств
  • руководство по стилю визуальных компонентов;
  • поддержка Guilp.js (по умолчанию), Node.js, Ruby и Sass.
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии16

Инструментарий фондового рынка: что такое опционы, и как они работают

Время на прочтение6 мин
Количество просмотров96K
image

В предыдущих материалах нашего блога уже неоднократно поднималась тема производных финансовых инструментов (деривативов), также несколько топиков были посвящены фьючерсным биржевым контрактам (например, один и два). Фьючерсы сегодня являются одним из основных финансовых инструментов на срочном рынке, однако ими дело не ограничивается, и современные биржевые площадки невозможно представить себе и без опционных контрактов. Сегодня речь пойдет именно о них.
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии23

Защита подъезда методом организации разумного видеонаблюдения без консьержа

Время на прочтение13 мин
Количество просмотров258K
Так получилось, что какой бы ни был аккуратный микрорайон, он всегда с чем-нибудь соседствует, плюс всегда есть праздношатающиеся, непраздношатающиеся и «этождети». Это если забыть про наркоманов, целенаправленных воров и разбойников. Твой дом — твоя крепость. Подъезд твоего дома — тоже твой дом. (Да, этот пункт многие не понимают, но учиться никогда не поздно). Классические методы защиты подъезда — установка укреплённых дверей; установка домофона; инсталляция консьержки; организация видеонаблюдения над входами.

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

Однако, если включить мозги и подумать, на самом деле можно весьма небольшими вложениями получить очень эффективный результат.
Читать дальше →
Всего голосов 298: ↑294 и ↓4+290
Комментарии314

Двухпанельный веб-файл менеджер Cloud Commander

Время на прочтение9 мин
Количество просмотров62K
Файловых менеджеров много, но есть один, о котором, думаю, будет многим интересно узнать. Ведь он двухпанельный, работает в браузере, оснащён редактором (с подсветкой синтаксиса) и консолью, состоит из клиента и сервера, а написан на JavaScript/Node.js.



Читать дальше
Всего голосов 96: ↑86 и ↓10+76
Комментарии50

Спидран по 13 уязвимостям на сайтах. Основные понятия, и средства защиты

Время на прочтение8 мин
Количество просмотров70K
Недавно по работе собирал своего рода лекцию по веб-безопасности, ознакомился с известным рейтингом уявзимостей OWASP 2013 года, но с удивлением обнаружил, что корректной инфы на русском языке крайне мало, или её практически нет.

Это, собственно, и стало поводом написать такую статью, в которой тезисно будут описаны основные уязвимости, причины, примеры и решения.

Некоторые из предоставленных в списке уязвимостей уже расписаны и не раз — известный факт, но без них список был бы неполным. Поэтому сразу дам небольшое содержание поста:

Читать дальше →
Всего голосов 68: ↑57 и ↓11+46
Комментарии29

Как мы реализовали DKIM в «Mail.Ru для бизнеса»

Время на прочтение5 мин
Количество просмотров23K


Недавно на Хабре уже была статья о том, как «Mail.Ru для бизнеса» становится лучше благодаря вашим комментариям: мы рассказывали, как реализовывали ваши пожелания. Сегодня я хочу остановиться на одной из воплощенных хотелок — возможности настройки собственной DKIM-подписи. Для нас она была одним из приоритетов: настройка DKIM позволяет владельцам доменов верифицировать отправителя того или иного письма. В этом посте я расскажу о том, как мы внедряли эту возможность, и о том, как настроить DKIM-подпись для своего домена.
Читать дальше →
Всего голосов 49: ↑40 и ↓9+31
Комментарии11

Реализация быстрого импорта из Excel на PHP

Время на прочтение3 мин
Количество просмотров68K
Мы продолжаем рассказывать о технологиях, используемых на нашем сервисе email-маркетинга Pechkin-mail.ru. Одной из ключевых задач любого сервиса, связанного с данными клиентов, является загрузка этих данных на сервис. Для Печкина очень важно быстро и без проблем для пользователя загружать адресные базы, содержащие email-адреса, имена, фамилии и другие дополнительные данные.

Что использовать в качестве инструмента?


В качестве базового стандарта, используемого при импорте адресных баз, мы взяли Microsoft Excel. Объясняется это просто:
  • это стандартный инструмент, которым на базовом уровне владеют 100% пользователей компьютеров. Более того, в бизнесе — это де-факто корпоративный стандарт и используется даже, если на рабочих компьютерах Mac или Linux.
  • Практически все CRM-, CMS-, облачные или десктопные системы имеют экспорт в Excel или CSV, который простым пересохранением приводится к формату XLS или XLSX.
  • Известно также, что “90% ошибок ПО сидит в полуметре от монитора”. Не в обиду будет сказано рядовым пользователям, но мы должны учитывать самый базовый уровень подготовки и тех. поддержке для объяснения достаточно сказать “Загрузите Excel-файл”, а не объяснять процедуру подготовки файла в нужном формате.


Проблему пользователей при импорте адресных баз сняли. Но тут возникает уже проблема непосредственно разработки.
Прочитать о быстрой реализации импорта из Excel на PHP и LibXL
Всего голосов 32: ↑25 и ↓7+18
Комментарии23

Взгляните на свою страницу глазами робота Googlebot

Время на прочтение2 мин
Количество просмотров94K
Уровень подготовки веб-мастера: любой

Функция «Просмотреть как Googlebot» в Инструментах для веб-мастеров позволяет понять, как ваша страница выглядит для роботов Googlebot. Заголовки серверов и код HTML помогают выявить ошибки и последствия взлома, но иногда разобраться в них бывает затруднительно. Веб-мастера обычно хватаются за голову, когда им приходится заниматься решением таких проблем. Чтобы помочь вам в подобных ситуациях, мы усовершенствовали эту функцию, и теперь она может показывать страницу с помощью того же алгоритма, который использует робот Googlebot.
Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии1

RESTful API на Yii framework с RBAC и тестами

Время на прочтение19 мин
Количество просмотров29K
Существует множество готовых решений для реализации RESTFul API на Yii framework, но при использовании этих решений в реальных проектах понимаешь что все красиво выглядит только на примерах с собачками и их хозяевами.

Возможно, за время подготовки и написания статьи она немного потеряла актуальность с выходом Yii2 со встроенным фреймворком для создания RESTful API. Но статья по прежнему будет полезна для тех, кто пока не знаком с Yii2, или для тех, кому необходимо быстро и просто реализовать полноценное API для уже существующего приложения.

Для начала приведу список некоторых возможностей, которых мне очень не хватало для полноценной работой с серверным API при использовании существующих расширений:

  1. Одна из первых проблем с которой я столкнулся — сохранение различных сущностей в одной таблице. Для получения таких записей уже не достаточно просто указать имя модели как это предлагается, например тут. Один из примеров такого механизма — таблица AuthItems, которая используется фреймворком в механизме RBAC (если кто-то не знаком с ним — есть замечательная статья на эту тему). В ней содержатся роли, операции и задачи которые определяются флагом type, и для работы с этими сущностями через API мне хотелось использовать url не такого типа:
    GET: /api/authitems/?type=0 - получение списка операций
    GET: /api/authitems/?type=1 - получение списка задач
    GET: /api/authitems/?type=2 - получение списка ролей

    а такого:
    GET: /api/operations - получение списка операций
    GET: /api/tasks - получение списка задач
    GET: /api/roles - получение списка ролей

    Согласитесь, второй вариант выглядит очевиднее и понятнее, тем более для человека не знакомого с фрейморком и устройством RBAC в нем.
  2. Вторая немаловажная возможность — механизм поиска и фильтрации данных, с возможностью задавать условия и комбинировать правила. Например, мне хотелось иметь возможность выполнить аналог такого запроса:
    SELECT * FROM users WHERE (age>25 AND first_name LIKE '%alex%') OR (last_name='shepard');
    

  3. Порой не хватает возможности создания, обновления, удаления коллекций. Т.е. изменение n-ого количества записей одним запросом опять же используя поиск и фильтрацию. Например, зачастую требуется удалить или обновить все записи, попадающие под какое-либо условие, а использовать отдельные запросы слишком накладно.
  4. Еще одним важным моментом была возможность получать связанные данные. Например: получить данные роли вместе со всеми её задачами и операциями.
  5. Конечно невозможно хоть сколько-нибудь комфортно работать с API не имея возможности ограничить количество получаемых записей (limit), сместить начало выборки (offset), и указать порядок сортировки записей (order by). Так же не плохо бы иметь возможность группировки (group by).
  6. Важно иметь возможность для каждой из операций проверять права пользователя (метод checkAccess все в том же RBAC).
  7. Ну и наконец, все это дело нужно как-то тестировать.

В результате анализа примерно такого списка «хотелок» и появился на свет мой вариант реализации API на этом замечательном фреймворке!
Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии18

Mediabox

Время на прочтение5 мин
Количество просмотров26K
Mediabox – GPL3 web-приложение, позволяющее хранить файлы, воспроизводить audio и video в форматах, которые воспроизводит medialement js, показывать изображения, делать пометки на них, добавлять теги и писать комментарии.



Mediabox продолжает идеи прошлых Ostora FM и Photo, а также является немного измененным Mediabox, созданной для компании Xvid.

Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии49

Ускоряем PHP (с ReactPHP)

Время на прочтение11 мин
Количество просмотров80K
В этом посте я хотел бы поделиться не совсем обычным, для мира PHP, способе построения приложения, если угодно — архитектурой. Данный подход позволяет средствами PHP увеличить количество обрабатываемых запросов в разы. Так же я поделюсь своими наработками в этом направлении. Конечно данный подход не бесплатен, в плане требований к коду, но давайте всё по порядку.
Читать дальше →
Всего голосов 51: ↑44 и ↓7+37
Комментарии64

Устраняем ошибки при получении от пользователя массива вместо строки

Время на прочтение2 мин
Количество просмотров15K
Недавно я заметил, что на многих сайтах сделанных на Yii Framework есть одна и та же ошибка:
Если в каком нибудь поле ввода в атрибуте name добавить квадратные скобки и отправить форму, то можно получить сообщение об ошибке, типа:
htmlspecialchars() expects parameter 1 to be string, array given
Иногда даже можно увидеть исходный код PHP файлов, если разработчик забыл убрать константу YII_DEBUG.

Эта ошибка присутствует и на крупных проектах и даже на самом yiiframework.com/search/?q%5b%5d=
Читать дальше →
Всего голосов 38: ↑26 и ↓12+14
Комментарии5

8 двухколёсных советов по MODX Revolution

Время на прочтение4 мин
Количество просмотров47K
С MODX Revolution я работаю не так уж давно, но, тем не менее, на данный момент, для меня это CMS-жемчужина. Гибкость, расширяемость и интуитивность (Если на минутку забыть о злополучном MODX Manager), привлекают в ней всё так же, как и в самом начале.
Ниже представлены заметки, которые я делал по ходу работы с MODX Revolution на протяжении прошлого года. Эти несложные приёмы, знай я о них раньше, помогли бы мне сэкономить неимоверное количество времени. Целевая аудитория этих заметок — новички, лишь недавно разобравшиеся в том, что же такое MODX. Откровенные «велосипеды», из уважения к вам, в заметки включать не стал.
Читать дальше →
Всего голосов 26: ↑17 и ↓9+8
Комментарии12

Запуск приложения во Вконтакте

Время на прочтение8 мин
Количество просмотров48K
image Статья нацелена на начинающих разработчиков, которые хотят запустить свое приложение в социальной сети.

В статье описывается личный опыт создания IFrame-приложения, с нуля, для «Вконтакте», а так же все события которые произошли во время запуска и после, ну и конечно же совершённые ошибки. Можно даже сказать что это не совсем статья, а скорее рассказ.

Помимо рассказа, здесь присутствуют отчеты о нагрузке, попытка монетизации, информация о сервере и разбор кода. Поэтому вы можете переключаться, к интересующим вас пунктам.
Читать дальше →
Всего голосов 41: ↑33 и ↓8+25
Комментарии21

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность