Как стать автором
Обновить
26
0
Dzen Marketing @Dzen_Marketing

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

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

Проверка соблюдения стандартов кодирования РHP через git

Время на прочтение3 мин
Количество просмотров5.4K
В разработке проекта зачастую принимают участие разработчики разного уровня. Это приводит к тому, что нет строгого формата написания кода. За качеством кода на проекте приходится постоянно следить старшим разработчикам и это отнимает у них кучу времени.

Для того чтобы наказать говнокодеров облегчить страдания тех, кто делает ревью кода, можно использовать автоматические средства проверки кода, которые всем давно известны. Это PEAR и PHP Code Sniffer.
Читать дальше →

SELinux на практике: DVWA-тест

Время на прочтение4 мин
Количество просмотров18K
После публикации предыдущей статьи про SELinux поступило много предложений «на практике доказать полезность» этой подсистемы безопасности. Мы решили произвести тестирование. Для этого мы создали три уязвимых стенда с типовыми конфигурациями (Damn Vulnerable Web Application на CentOS 5.8). Отличия между ними были лишь в настройках SELinux: на первой виртуальной машине он был отключен, на двух других были применены политики «из коробки» — targeted и strict.

В таком составе стенд виртуальных машин подвергся тестированию на проникновение. Взглянем на результаты?

Читать дальше →

User experience design: как построить сайт для клиентов, а не для себя

Время на прочтение8 мин
Количество просмотров76K
В конце апреля я делал доклад на РИФ 2012 про этапы проектирования пользовательского интерфейса. Так как видео нет, попробую представить доклад в виде слайдов с моими комментариями.

UX

Я расскажу как процесс разработки сайта или приложения выглядит с точки зрения дизайнера. Как вы сможете только за счет интерфейса улучшить впечатление пользователя от вашего стартапа.

Читать дальше →

QuickBlox — backend для мобильных приложений

Время на прочтение4 мин
Количество просмотров4.4K
Здравствуйте, Хабраюзеры! image

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

8 июня на конференции mobile developer day #moco я буду рассказывать о нас и хотел бы, чтоб те, кто будут присутствовать, уже имели представление о нашем продукте.

Итак, QuickBlox — это набор модулей и блоков с заранее установленной логикой. Программист мобильного приложения может сконцентрироваться на разработке самого приложения, а не заботиться о хостинге для бекенда. Самые нужные задачи авторизации пользователя, хранения его данных и файлов, картинок и аватарок, рейтингов игр и многого другого уже не будут требовать реализации серверного приложения.

Инфраструктура QuickBlox полностью расположена на Amazon Web Services. На хабре у меня есть несколько неплохих статей об этих сервисах, но главное то, что мы имеем огромные и почти безграничные ресурсы для масштабирования.

По REST API доступны следующие модули проекта:
  • Users
  • Ratings
  • Content
  • Chat
  • Messages
  • Location

Подробнее обо всех модулях будет рассказано в отдельных статьях, там же будут приведены куски кода под самые распространённые платформы, примеры вызовов API и другие полезности. В этой статье я пройдусь по модулям коротко.
Читать дальше →

Руководство по оформлению HTML/CSS кода от Google

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

От переводчика


С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод.

Введение


Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

Это относится к рабочим версиям файлов использующих HTML, CSS и GSS

Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено.
Читать дальше →

Lake.js: плагин к jQuery для отражения иллюстраций как бы в воде озера

Время на прочтение1 мин
Количество просмотров2.6K
[скриншот]Стал известен скрипт lake.js плагин jQuery, который берёт иллюстрацию (элемент <img>) и помещает её на холст (вставляет элемент <canvas>), располагая сразу под нею зеркальное отражение, идущее волнами — будто в воде озера.

Речь идёт не о застывших волнах, а об идущих по воде волнах — их фаза динамически изменяется джаваскриптом. (Понятно, что на Хабрахабре этот эффект не воспроизводим, так что я вставляю статический скриншот.)

Холст имеет ту же ширину, что и обрабатываемая иллюстрация, и вдвое бóльшую высоту.

Вызов плагина выглядит сравнительно просто и самоочевидно:

<script src="jquery.js"></script>
<script src="lake.js"></script>
<script>
$(function() {
   $('#lake-img').lake({
      'speed': 1,
      'scale': 0.5,
      'waves': 10
   });
});
</script>
...
<img id="lake-img" src="lake.png" style="display: none;"/>

Читать дальше →

Ищем идеальную службу доставки для интернет-магазина

Время на прочтение3 мин
Количество просмотров57K
Почтальон Печкин окончательно проиграл.
Вы используете для доставки заказов из интернет-магазина Почту России? Это зря.

Посмотрим. Какую службу доставки можно нанять за сопоставимые деньги? Имеем:
  1. Склад в Петербурге
  2. 80% покупателей – в Москве и Петербурге.
  3. Средний вес посылки –1кг

Читать дальше →

О том как хаос претворить в порядок, делать это каждый день, и не тратить на это время

Время на прочтение3 мин
Количество просмотров12K
Обращаюсь к тебе, коллективный хабраразум, вот с каким вопросом. Имеет ли право на жизнь моя идея, или место ей в чулане с другими «велосипедами»?

А идея вот о чем.
Я менеджер проекта веб-студии. И ежедневно в процессе обработки у меня находится не меньше десятка задач. От мелких оперативных до более серьезных и длительных. На грамотное ранжирование чаще всего нет ни времени, ни желания. Как следствие, хаос.
То же самое происходит с исполнителями. Исполнителю назначены несколько задач, и его чаще всего не интересует, на какие сроки они назначены. Он может начать делать задачу, срочность которой небольшая, просто потому что не увидел ее сроки. Или получить задачу заранее, но к моменту ее актуальности про нее забыть. Определение последовательности выполнения задач, напоминание и контроль ложится на плечи менеджера, у которого и без того задач хватает.
В итоге все сводится к тому, что ежедневно приходится составлять детальный план действий не только для себя, но и для каждого исполнителя. А ведь это время, усилия. И хочется как-то эту рутинную задачу оптимизировать.
И вот собственно идея: создать систему, которая автоматически создает и актуализирует последовательный список задач, исходя из данных проектных графиков.


Читать дальше →

Dropbox как Git репозиторий

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


Хочу поделиться хорошим способом хранения главного репозитория.

Делается это созданием bare—репозитория в папке Dropbox'a:

~/Project $ git init
~/Project $ git add .
~/Project $ git commit -m "first commit"
~/Project $ cd ~/Dropbox

~/Dropbox $ mkdir Repos/YourProject.git
~/Dropbox $ cd Repos/YourProject.git
~/Dropbox $ git init --bare
~/Dropbox $ cd ~/Project

~/Project $ git remote add origin ~/Dropbox/Repos/YourProject.git
~/Project $ git push origin master

Клонируем проект из Вашего репозитория, привязанного к Dropbox аккаунту:

clone ~/Dropbox/Repos/YourProject.git

Теперь можно совершать любые Git операции, которые будут синхронизированы со всеми рабочими машинами.
Все то же самое можно сделать с любым gui клиентом для Git.
Читать дальше →

Как повысить эффективность сайта или 5 причин начать использовать Google Analytics

Время на прочтение8 мин
Количество просмотров12K
К написанию этой статьи меня подтолкнул один из самых популярных вопросов, который я регулярно слышу от потенциальных клиентов: как моему бизнесу поможет внедрение системы веб-анализа, которую вы нам советуете использовать? Руководители компаний, директора и менеджеры по маркетингу и рекламе, у которых в России, по большей части, к сожалению, пока достаточно низкое понимание принципов веб-маркетинга, хотят видеть реальные примеры того, как внедрение таких систем как Google Analytics и Яндекс Метрика может помочь их бизнесу. Обычно клиенты имеют базовое представление о возможностях таких систем и используют их возможности по минимуму: следят за посещаемостью своих сайтов, знают, откуда к ним приходят посетители, имеют общее представление о показателе отказов и приблизительно знают значение конверсии на своих сайтах. Если и Вы, уважаемые читатели, считаете, что этого достаточно для измерения эффективности Вашего сайта и рекламных кампаний (будь то контекстная реклама, SEO или любой другой способ привлечения посетителей на Ваш сайт), то значит, что Ваши конкуренты, которые активно используют системы статистики, или уже Вас обогнали, или скоро обгонят.

Ниже, я постарался привести пять, на мой взгляд, серьезных причин, почему Вам просто необходимо не только полностью внедрить и настроить систему веб-анализа на свой сайт, но и научиться самому и научить своих сотрудников активно ее использовать (на примере Google Analytics).

Читать дальше →

Как правильно сортировать контент на основе оценок пользователей

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


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


Вы занимаетесь веб программированием. У вас есть пользователи, которые оценивают контент на вашем сайте. Вы хотите разместить высоко оцененный контент наверху, а низко оцененный — внизу. Для этого на основе пользовательских оценок вам нужно вычислить некий «рейтинг».

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →

Балансировка нагрузки с LVS

Время на прочтение6 мин
Количество просмотров103K
Итак, у вас есть нагруженный сервер и вам вдруг захотелось его разгрузить. Вы поставили и залили такой же (такие же), но пользователи упорно ходят на первый. В этом случае конечно же нужно задуматься о балансировке нагрузки.

Читать дальше →

Как умирал стартап

Время на прочтение7 мин
Количество просмотров1.7K
Введение:
Где-то полтора года назад столкнулся в проекте с рядом проблем, которые решить традиционным способом не получалось.

Пришлось проделать следующую «махинацию», под предлогом нового сотрудника в коллектив был внедрен – психолог, специалист по кадровому аудиту. Мы с ним успешно отработали несколько лет в перекрещивающихся проектах, он показал себя как хороший специалист, сложились хорошие отношения, но жизнь нас развела в разные области, его в область управления персоналом, а в частности кадровый аудит. Так что когда я ему рассказал, в чем проблема, он с радостью вызвался помочь.
Читать дальше →

Введение в SELinux: модификация политики targeted для сторонних веб-приложений

Время на прочтение8 мин
Количество просмотров33K
Привет, коллеги!
Многие из нас занимаются настройкой рабочих серверов для веб-проектов. Я не буду рассказывать о том, как настроить Apache или Nginx: вы знаете об этом больше меня. Но один важный аспект создания frontend-серверов остается неосвещенным: это настройки подсистем безопасности. «Отключите SELinux», — вот стандартная рекомендация большинства любительских руководств. Мне кажется, что это поспешное решение, ибо процесс настройки подсистем безопасности в режиме «мягкой» политики чаще всего весьма тривиален.

Сегодня я расскажу вам о некоторых методах настройки подсистемы безопасности SELinux, применяемой в семействе операционных систем Red Hat (CentOS). В качестве примера мы настроим связку для веб-сервера Apache + mod_wsgi + Django + ZEO на CentOS версии 5.8.

Читать дальше →

JavaScript API Яндекс.Карт — версия 2.0

Время на прочтение3 мин
Количество просмотров31K
Всем привет! Меня зовут Сергей Константинов, и я руководитель группы разработки алгоритмов API Яндекс.Карт.

Сегодня мы запустили новую версию JavaScript API — 2.0. Вообще, в этом месте должна быть перепечатка поста из блога Яндекса, но мы решили в этот раз отступить от традиции :).

Вместо сухого официального сообщения, я попробую в тёплой ламповой обстановке рассказать вам, как и зачем мы делали JavaScript API 2.0.

Читать дальше →

Что такое Grab:Spider?

Время на прочтение4 мин
Количество просмотров16K
Никак не могу дописать документацию по Grab:Spider — это часть библиотеки Grab — для написания асинхронных пауков. Подумал выкладывать куски документации на хабрахабр. Думаю, с некоторым фидбэком дело быстрей пойдёт. На данный момент в документации есть лишь введение, описывающие в общих чертах, что за это за зверь такой Grab:Spider. Его и выкладываю.
Читать дальше →

Искусство публичных выступлений

Время на прочтение9 мин
Количество просмотров107K
Эта статья открывает серию статей — если окажется, что Хабраколлеги сочтут ее интересной, ибо первое правило публичных выступлений гласит: рассказывай людям о том, что им интересно!

Если вы раньше не выступали на публике или боитесь это делать — вам под кат. Если вы считаете себя опытным докладчиком, для вас будет вторая статья серии.

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

Историческая справка: на Хабре по этой теме уже было небольшое обсуждение год назад.

Читать дальше →

Mosh — SSH 2012 года

Время на прочтение1 мин
Количество просмотров9.1K
Mosh — замена(или дополнение) SSH. Он быстрее и отзывчивее, особенно на линках с высокой задержкой, например, в мобильных сетях. Набираете символ, и моментально видите его на экране, так же, как и в локальном терминале. Почему? Потому, что в Mosh реализован так называемый local line editing, который не дожидается ответа от сервера, а сразу все отображает на экране. Работает даже в полноэкранных приложениях, вроде vim или emacs. И это далеко не единственный плюс!
Читать дальше →

Meteor — Новый способ создания приложений

Время на прочтение2 мин
Количество просмотров23K
Meteor представляет собой набор новых технологий для быстрого создания высококачественных веб-приложений, с которым справятся не только опытные разработчики но даже и новички.

Чистый JavaScript.


Пишите всё приложение полностью на чистом JavaScript. Все API, доступны на клиенте и на сервере — в том числе API базы данных! — Так что один код может легко работать на клиенте и на сервере.

Живые обновления страниц.


Просто напишите ваши шаблоны. Они автоматически обновляются при изменении данных. Meteor поддерживает любой язык шаблонов.

Чистая, мощная синхронизация данных.


Пишите ваш код клиентской части, как если бы она была запущена на сервере, и имела прямой доступ к базе данных. Больше не придется получать данные через REST.
Читать дальше →

Упражнения по взлому Linux-систем

Время на прочтение2 мин
Количество просмотров16K
Для тех, кто интересуется вопросами безопасности и уязвимостями Linux, создан обучающий проект exploit-exercises.com с подборкой виртуальных Linux-машин, описаниями уязвимостей, документацией и практическими заданиями.

1. Виртуальная машина Nebula
торрент-файл
прямая ссылка

Самые общие уязвимости, связанные с эскалацией привилегий в Linux: это SUID-файлы, разрешения, состояние гонки (race conditions), метапеременные оболочки, уязвимости $PATH, уязвимости скриптовых языков, ошибки компиляции бинарных файлов.
Читать дальше →

Информация

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