Pull to refresh
39
0
Антон Мельников @antonsnowy

Программист

Send message

Реализация MVC паттерна на примере создания сайта-визитки на PHP

Reading time16 min
Views725K
mvc

Как вы уже догадались из названия статьи, сегодня речь пойдет о самом популярном, разве что после Singleton, шаблоне проектирования MVC, хотя такое сравнение не совсем уместно. Понимание концепции MVC может помочь вам в рефакторинге и разрешении неприятных ситуаций в которые, возможно попал ваш проект. Дабы восполнить пробел, мы реализуем шаблон MVC на примере простого сайта-визитки.

Читать дальше →
Total votes 80: ↑46 and ↓34+12
Comments175

Рекомендательные системы: теорема Байеса и наивный байесовский классификатор

Reading time4 min
Views61K
В этой части мы не будем говорить о рекомендательных системах как таковых. Вместо этого мы отдельно сконцентрируемся на главном инструменте машинного обучения — теореме Байеса — и рассмотрим один простой пример её применения — наивный байесовский классификатор. Disclaimer: знакомому с предметом читателю я вряд ли тут сообщу что-то новое, поговорим в основном о базовой философии машинного обучения.

image
Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments9

Как мы размещали IFrame-приложение в четырех социальных сетях (подводные камни модерации)

Reading time8 min
Views21K
Хочу поделиться опытом размещения приложений в социальных сетях.



Никого не удивлю, если скажу, что самые известные соцсети на территории нашей родины — это ВКонтакте, Одноклассники, Мой Мир и Facebook. Твиттер и YouTube в счет не берем, потому что там нет каталога приложений. Другие социальные сети не дотягивают по популярности и поэтому не представляют интереса.


Поедем вперед по списку. В качестве подопытного будет выступать наш Fresh Shop — магазин-приложение в социальных сетях.

Для удобства восприятия каждый кейс будет разбит на три шага, а в конце будут приведены итоги.
Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments32

Коллаборативная фильтрация

Reading time6 min
Views70K
В современном мире часто приходится сталкиваться с проблемой рекомендации товаров или услуг пользователям какой-либо информационной системы. В старые времена для формирования рекомендаций обходились сводкой наиболее популярных продуктов: это можно наблюдать и сейчас, открыв тот же Google Play. Но со временем такие рекомендации стали вытесняться таргетированными (целевыми) предложениями: пользователям рекомендуются не просто популярные продукты, а те продукты, которые наверняка понравятся именно им. Не так давно компания Netflix проводила конкурс с призовым фондом в 1 миллион долларов, задачей которого стояло улучшение алгоритма рекомендации фильмов (подробнее). Как же работают подобные алгоритмы?

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


Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments20

Цифровые SSL сертификаты. Разновидности, как выбрать?

Reading time13 min
Views476K
Существует достаточно много цифровых сертификатов, каждый из которых служит для своих целей. Самые распространенный тип сертификатов это естественно SSL сертификаты, которые также имеют несколько подвидов. Также существуют Code Signing сертификаты, Website Anti Malware Scanner сертификаты и Unified Communications сертификаты.

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

Так что если у вас стоит задача поднять защищенное https соединение для вашего сайта, то в этом посте я постараюсь раскрыть все тонкости и особенности SSL сертификатов, чтобы сделать правильный выбор было проще.
Как выбрать SSL сертификат
Total votes 109: ↑103 and ↓6+97
Comments146

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

Reading time4 min
Views17K
Написать этот пост меня привлекла эта статья. Многие ее помнят по вот этой картинке.
image
Статья затрагивает правильную тему, однако с точки зрения математики и здравого смысла она в корне не верна.
Читать дальше →
Total votes 133: ↑117 and ↓16+101
Comments62

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

Reading time5 min
Views92K


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

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


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

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

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

Читать дальше →
Total votes 458: ↑423 and ↓35+388
Comments134

Что такое Windows Azure Media Services и как их можно использовать

Reading time8 min
Views8.6K

Если вы следите за облачными новостями, наверное вы уже знаете, что Windows Azure Media Services использовались при трансляции Олимпийских Игр 2012 в Лондоне.
Давайте разберёмся, что они из себя представляют и как их можно использовать
Total votes 15: ↑9 and ↓6+3
Comments0

Авторизация пользователей, у которых заблокированы cookies

Reading time3 min
Views10K
Во всех браузерах есть опция, позволяющая запретить приём cookies со сторонних сайтов (например, из iframe с отличным от текущего доменом). В некоторых браузерах (привет, Apple) эта функция включена по умолчанию, но часто пользователи самостоятельно её включают и благополучно об этом забывают, вследствие чего разработчик не может записать необходимые данные в cookies или localstorage. Например, при разработке приложений для ВКонтакте вы можете столкнуться с такой проблемой.

Я хочу поделиться простым и изящным решением, как обойти это ограничение.
Читать дальше →
Total votes 17: ↑9 and ↓8+1
Comments14

Простой способ организации очереди e-mail с помощью Zend_Mail

Reading time4 min
Views3.7K
Всем привет.

Хочу поделиться очень простым и легким способом организации e-mail очереди с помощью Zend_Mail. Примеры в статье намеренно сделаны максимально простыми и не привязаны к фреймворку, т.к. цель статьи показать способ, а не конкретную реализацию. К тому же данное решение не обязательно должно быть использовано только в рамках Zend Framework, оно легко впишется в любой проект.
Читать дальше →
Total votes 18: ↑11 and ↓7+4
Comments29

«Сложно о простом». Типы данных JS. В поисках истины примитивов и объектов

Reading time6 min
Views47K
Я решил написать цикл статей, под названием «Сложно о простом». Этот цикл будет посвящён языку JavaScript. Почему «сложно о простом»? Потому что всё, что я буду рассказывать я буду рассказывать учитывая особенности работы интерпретатора, начиная с типов данных. Всё это будет делаться для того, что бы потом можно было рассказать просто о сложном, например, о способах наследования в JavaScript и прочих патернах.
Читать дальше →
Total votes 40: ↑28 and ↓12+16
Comments64

Различия асинхронной и многопоточной архитектуры на примере Node.js и PHP

Reading time9 min
Views91K
В последнее время наблюдается рост платформ, построенных на асинхронной архитектуре. На асинхронной модели построен самый быстрый в мире веб-сервер nginx. Активно развивается шустрый серверный javascript в лице Node.js. Чем же хороша эта архитектура? Чем она отличается от классической многопоточной системы? На эту тему было написано огромное множество статей, но полного понимания предмета они дали далеко не всем. Часто приходится наблюдать споры вокруг Node.js vs PHP+apache. Многие не понимают, почему некоторые вещи можно сделать на Node.js, но нельзя на PHP или наоборот — почему вполне правильный рабочий код на PHP сильно замедлится в Node.js, а то и повесит ее. В данной статье я бы хотел еще раз подробно объяснить разницу в их архитектуре. В качестве примеров двух систем, возьмем вебсервер с PHP и Node.js.
Читать дальше →
Total votes 82: ↑72 and ↓10+62
Comments173

Особенности проектирования тачевых интерфейсов

Reading time12 min
Views27K
Это перевод оригинальной статьи Designing for touch



Принципы управления привычными интерфейсами настольных систем оказываются перевернуты с ног на голову, когда дело касается интерфейсов сенсорных. В данной статье приводятся рекомендации специалиста по проектированию взаимодействий Джоша Кларка (Josh Clark) относительно разработки интерфейсов для сенсорных мобильных устройств и сравниваются сенсорные интерфейсы устройств Android, iPhone и iPad.

Чтобы добиться успеха при разработке мобильного интерфейса, недостаточно просто втиснуть его в рамки крошечного экрана мобильного устройства. Эффективные мобильные сенсорные интерфейсы позволяют приспособить для управления жесты наших неуклюжих пальцев. Особенности интерфейсов портативных устройств побуждают разработчиков выйти за пределы принципов графического и информационного дизайна и ступить на территорию дизайна промышленного. Здесь, в мире сенсорных устройств, на кону не что иное, как сама эргономика. Теперь на пиксели можно не только смотреть: их можно трогать, и они должны быть приятными на ощупь.
Читать дальше →
Total votes 18: ↑12 and ↓6+6
Comments16

Phing — сборка PHP проектов

Reading time4 min
Views46K
У многих из нас, бывают ситуации когда проект требует подготовки к выводу в продакшн, и зачастую эта подготовка состоит из множества действий, которые приходится выполнять много раз(например при сборке релизной версии). Зачастую задачи сводятся к выполнению простых консольных команд, очистке кеша, минификации JS и CSS или сборки их в один файл, но вся эта рутина может занять довольно продолжительное время, а так как выполняется, чаще всего, в конце рабочего дня, довольно легко опечататься и отправить несколько дней\часов\минут работы над проектом в небытие. В такой ситуации программисты стараются, как то автоматизировать сборку и подготовку проекта к рабочему состоянию, в чём им помогают различные системы сборки, об одной из которых и пойдёт речь в статье.
Читать дальше →
Total votes 77: ↑74 and ↓3+71
Comments45

Создание облачного сайта на PHP и MySQL и его развертывание с помощью Git

Reading time7 min
Views19K
Это руководство содержит сведения по созданию веб-сайта на базе PHP и MySQL в Windows Azure и его развертыванию с помощью Git. Для выполнения заданий нужно будет использовать установленные на компьютере PHP, средство командной строки MySQL (часть MySQL), веб-сервер и Git. Инструкции, содержащиеся в этом руководстве, можно выполнять в любой операционной системе, включая Windows, Mac и Linux. После выполнения всех действий будет создан веб-сайт PHP/MySQL, работающий на платформе Windows Azure.

О чем пойдет речь в данном руководстве:
  • Как создать веб-сайт Windows Azure и базу данных MySQL с помощью портала управления (предварительная версия). Поскольку на веб-сайтах Windows Azure технология PHP включена по умолчанию, для выполнения кода PHP никакие особые действия не требуются.
  • Как публиковать и повторно публиковать приложения на платформе Windows Azure с помощью Git.

Следуя инструкциям данного руководства, вы создадите простое веб-приложение на языке PHP для регистрации участников мероприятия. Это приложение будет размещено на веб-сайте Windows Azure. Ниже приведен снимок экрана готового приложения.

clip_image002
Читать дальше →
Total votes 26: ↑16 and ↓10+6
Comments11

Facebook Developer Hack в Москве

Reading time1 min
Views16K
Наконец-то в Москве пройдет настоящий Facebook Hack! Да-да, в том формате, в каком проводятся Facebook хакатоны во всем мире.



Facebook Developer Hack Moscow станет завершающим мероприятием в серии World Hack.
Итак — 1 октября, Москва, ты и Facebook. Это твой шанс отправиться в Калифорнию!

Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments17

ZFConf 2010: Как это было (видео докладов)

Reading time2 min
Views4.4K
По иронии судьбы, видео с самой первой — первопроходческой конференции 2010 года до сих пор пылилось в архиве (даже в неоцифрованном виде).

В предверии очередной конференции (ZFConf 2012, которая пройдет 21 апреля в Москве) мы решили заполнить этот пробел. Надо заметить, что большинство из докладов даже не потеряло своей актуальности.

Список докладов
Total votes 14: ↑11 and ↓3+8
Comments17

Как реанимировать ваш PHP-проект с помощью Symfony2 компонентов

Reading time7 min
Views10K
Данный пост является переводом не статьи, как принято, а доклада+презентации, поэтому текст поста достаточно вольный.

Думаю, всем хорошо известно и очевидно, что PHP — один из самых популярных языков программирования, на котором написано множество веб-проектов, начиная с персональных homepage-страниц и заканчивая мастодонтами типа Facebook, Vimeo, WordPress и даже YouPorn.

PHP появился в 1995 году, при этом полноценная поддержка ООП была реализована только в PHP5, который вышел в 2005 году. За это время было написано большое количество кода, как хорошего, так и плохого, а точнее сказать сильно устаревшего и тяжело сопровождаемого.

Многие проекты, как и экосистема PHP в целом, к настоящему моменту стали представлять подобие оживленного городского квартала.

Читать дальше →
Total votes 56: ↑47 and ↓9+38
Comments73

Google Analytics для сбора ошибок JavaScript

Reading time2 min
Views19K
image
Не так давно на Хабре была статья про навороченный стартап, заточенный на сбор ошибок JavaScript. Далеко не всегда нужно столько возможностей, но оказалось, что многие просто не знают про старый бородатый способ с Google Analytics. Про него я и попытаюсь кратенько рассказать.
Читать дальше →
Total votes 124: ↑121 and ↓3+118
Comments27

Information

Rating
Does not participate
Location
Кириши, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity