Обновить
2
0
Максим Мирошниченко@maxwp

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

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

Отдаем файлы эффективно с помощью PHP

Время на прочтение3 мин
Охват и читатели291K
Если Вам потребовалось отдавать файлы не напрямую веб сервером, а с помощью PHP (например для сбора статистики скачиваний), прошу под кат.
Три способа отправить пользователю файл и не повесить сервер

Вавилонская башня менеджмента

Время на прочтение5 мин
Охват и читатели30K
Развитие компании может происходить разными путями. Руководители строят бизнес-процессы, опираясь на личный опыт, или заимствуя готовые решения. Чем крупнее компания, тем сложнее ее структура, витиеватее информационный обмен, и проблемы носят все более систематический характер.

Я часто слышу фразы, что «начальник урод», «ПМ *** и требует от нас невозможного», «мы боремся с адовым количеством проблем из-за того, что руководство стелется под заказчика», «нас сделали виноватыми и оштрафовали ни за что» и так далее. Разработчики возмущены действиями и решениями своих менеджеров (или же их отсутствием), управленцы проводят карательные операции по отношению к «тунеядцам» и «раздолбаям», топ-менеджмент проводит рейды вазилинирования всех подряд, чтобы процесс зарабатывания денег не прекращался.

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

Пользователи и клиенты. В чем разница?

Время на прочтение2 мин
Охват и читатели20K
Я в своей жизни неоднократно сталкивался с тем, что многие в ИТ не видят и не понимают разницы между пользователями (users) и клиентами (customers). Думаю, будет полезно прояснить этот момент в небольшой статье, хотя для многих тема, которую я попытаюсь раскрыть, будет очевидной. Итак, приступим. Готовы?
Читать дальше →

Сайт сделали, что дальше? Организация службы поддержки web-студии

Время на прочтение5 мин
Охват и читатели26K


Очень часто при заказе сайта клиенты выбирают компанию (или фрилансера) только по соотношению “цена/качество”. При этом на такой важный параметр, как дальнейшее сопровождение, внимание не обращают. Хотя именно быстрая, профессиональная и недорогая поддержка чаще всего является залогом успеха сайта и удовлетворенности заказчика.

Что происходит при отсутствии выделенной службы поддержки? Клиент ждет ответа, ждет доработок — да хоть какой-то реакции! — и не получает ее в ожидаемое время с ожидаемым качеством. Тогда клиент ищет другие варианты.

Он обращается в одну студию, потом в другую. Везде ему в поддержке предыдущего сайта отказывают. И предлагают создать новый, более навороченный, лучше прежнего…

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

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

Таблицы с данными в адаптивном дизайне

Время на прочтение1 мин
Охват и читатели102K
Одна из постоянных проблем верстальщиков адаптивных сайтов — это задача удобно представить обычные таблицы на мобильных устройствах. Вот как выглядят такие таблицы чаще всего:


Не очень удобно, правда? К счастью уже существует несколько хитрых способов решить такую проблему.
Читать дальше →

RedBeanPHP — CodeFirst PHP фреймворк

Время на прочтение6 мин
Охват и читатели33K
RedBeanPHP
В данном посте речь пойдет об весьма интересном ORM фреймворке RedBeanPHP. Примечателен он, прежде всего, возможностью создавать структуру базы данных на лету. К тому же фреймворк прост в использовании как две копейки. Моё повествование будет разделено на 3 части.
Во второй части основная тема будет — модели. В третей — изменение логики работы фреймворка.

Перед написанием поста я потрудился и сделал тестовое приложение с 15 000 записей, для того, что бы убедиться на своем опыте в возможности невероятно облегчить работу. Ведь я наверно не один, кто прописывает поля в нескольких местах с жутким осознанием бессмысленности этой работы, особенно на начальном этапе разработки. Наконец появился аналог Entity Framework Code First из .NET, который в свое время вызвал у меня дикий восторг. Итак по порядку.
Читать дальше →

«Див» блоки одинаковой высоты

Время на прочтение2 мин
Охват и читатели44K

На днях столкнулся с задачей:


Сделать две одинаковые по высоте -колонки, не зависимо от количества текста в какой либо из них.

Условия:


  1. Никаких таблиц;
  2. Поддержка IE6+ и т.д;
  3. Резиновая верстка;
  4. Никакого JavaScript, чистый HTML и CSS.

Дизайн:


В дизайне изображены две колонки с отступом друг от друга. Каждый из них имеет свой фон и border с округленными уголками. На вид все просто.

Поиск решений:


Искал и естественно нашел очень полезный пост, где описаны все самые действенные способы решения данной задачи: http://habrahabr.ru/post/64173/.
Собственно 4-е решение из этого поста было наиболее приемлемым, но с помощью него мне так и не удалось вывести два разных фона для своих колонок.

Решение

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

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

Время на прочтение2 мин
Охват и читатели19K
image
Не так давно на Хабре была статья про навороченный стартап, заточенный на сбор ошибок JavaScript. Далеко не всегда нужно столько возможностей, но оказалось, что многие просто не знают про старый бородатый способ с Google Analytics. Про него я и попытаюсь кратенько рассказать.
Читать дальше →

СRM vs lead-management

Время на прочтение5 мин
Охват и читатели19K
Так получилось не случайно, для этого есть предпосылки, термин «CRM» в России понимают превратно и применяют для обозначения двух важнейших процессов, структурирующих продажи. Эти процессы – отделены друг от друга, каждый из них имеет свое назначение, свою методологию, свой инструментарий и, следовательно, свой термин для обозначения:

Lead-management — термин, который определяет цикл продажи;

СRM – система отношений с текущими клиентами, а точнее – с покупателями (customer).

«СRM» по-русски — это перепутанные, срощенные между собой 2 процесса: процесс управления лидами (контактами) и процесс работы с текущими клиентами.

История вопроса

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

Тестирование — это не поиск ошибок!

Время на прочтение5 мин
Охват и читатели157K
Многие считают, что тестирование ПО — это поиск ошибок. Иногда я говорю тестировщикам: «не старайся найти как можно больше ошибок, старайся пропустить как можно меньше!», и меня не понимают: а в чём разница?

А разница огромная! В этой статье я хочу рассказать, в чём она заключается, и какие инструменты необходимо использовать для настоящего полезного тестирования.
Читать дальше →

Меню с плавной инверсией цвета

Время на прочтение1 мин
Охват и читатели20K

Представляю вашему вниманию меню с плавной инверсией цвета при перетекании курсора.


image
Под катом сам плагин и немного о концепции.
Читать дальше →

Доступ к Skype API используя PHP на *nix системах

Время на прочтение4 мин
Охват и читатели41K
Еще давно я хотел иметь свой автоответчик или бота для скайпа, называйте как вам угодно. В гугле я ничего найти не мог, да еще из-за того, что я пользуюсь Ubuntu, задача становилась сложнее в несколько раз. А если учесть, что я знаю только PHP, и то, не очень хорошо, моя мечта становилась нереальной.

Но недавно, просматривая официальную документацию по API скайпа, я обратил внимание на «D-BUS messaging», не знаю, почему я раньше не обращал на него внимание. Разобравшись со всем, я наконец сделал то, что давно хотел! Я получил доступ к Skype API на PHP. Об этом я и хочу рассказать в своей статье.

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

Сетки без заморочек

Время на прочтение4 мин
Охват и читатели80K
Подавляющее большинство сайтов создано с использованием сеточных макетов. Они могут не использовать их в явном виде, но если на сайте присутствует блок с основным контентом, расположенный справа, и боковой блок (сайдбар), расположенный слева, то это и есть простейшая сетка.

Если требуется реализовать более сложные сетки, то люди прибегают к помощи фреймворков. Они считают, что сетки это сверх сложная вещь, которую лучше доверить настоящим знатокам CSS. Уверенность в этом укрепляется тем фактом, что большинство сеточных фреймворков, с которыми они имеют дело, являются очень сложными.

В этой статье я расскажу вам, как я верстаю сеточный макет. Это не так уж и сложно. И даже сделать резиновые сетки не составит большого труда.
Читать дальше →

10 признаков сайта, заслуживающего доверие

Время на прочтение5 мин
Охват и читатели36K
Trustworthy website by Zfort Group

Это адаптативный перевод статьи. Оригинал находится по ссылке: «10 Signs of a Trustworthy Website».

В Интернете находятся миллионы сайтов. Надежность некоторых из них не вызывает сомнений: к примеру, если речь идет об Интернет-магазине Macy’s или о новостном портале BBC. Но сколько раз в поисках определенного продукта или сервиса вы сталкивались с компаниями, о которых никогда раньше не слышали? И сколько раз вы задумывались: безопасно ли иметь с ними дело?

Можно поспорить, что в большинстве случаев вы принимали решение, опираясь исключительно на сайт компании как таковой. Вы не звонили друзьям и не читали отзывы на сайтах типа Yelp (хотя это может быть очень полезным). В конечном итоге, просмотрев сайт, вы либо закрывали его в поисках другого ресурса, либо принимали решение о покупке продукта или заказе услуги – ведь так? Я сам делал так не один раз.

Почему? Чем мы руководствуемся?
Читать дальше →

Работа с Gmail используя PHP

Время на прочтение6 мин
Охват и читатели3.7K
Доброго времени суток, коллеги. В этой статье я расскажу об опыте использовании Gmail API. Как оказалось, данная тема не очень освещена в интернете, да и документация далека от идеала.

Недавно у меня появилась задача: написать PHP приложение для поиска сообщений на Gmail ящике пользователя. Притом не просто поиск, а поиск по параметрам, благо Gmail имеет неплохую строку поиска, позволяющую написать что то вида “is:sent after:2012/08/10”. Да и в API есть расширения IMAP протокола X-GM-*
Читать дальше →

Несколько интересных приемов и особенностей работы с MySQL

Время на прочтение3 мин
Охват и читатели89K
Я думаю, что в процессе изучения той или иной СУБД каждый из вас не раз изобретал велосипеды для решения своих задач, не зная о существовании той или иной функции или приема, которые бы могли в разы ускорить выполнение запросов и уменьшить объем кода. В данной статье я хочу поделиться с вами своим опытом работы с очень «добрым» и «отзывчивым» MySQL, часто позволяющему программисту делать вещи, которые другие СУБД переварить бы не смогли. Материал будет полезен скорее тем, кто только решил углубиться в чудесный мир запросов, но возможно и опытные программисты найдут тут что-то интересное.
Читать дальше →

Ключевое слово this в javascript — учимся определять контекст на практике

Время на прочтение4 мин
Охват и читатели187K
По просьбам некоторых читателей решил написать топик про контекст в javascript. Новички javascript часто не понимают значение ключевого слова this в javascript. Данный топик будет интересен не только новичкам, а также тем, кто просто хочет освежить данный аспект в памяти. Посмотрите пример ниже. Если вы затрудняетесь ответить на вопрос «что будет выведено в логе» хотя бы в одном из пунктов или хотите просто посмотреть ответы — добро пожаловать под кат.

var f = function() {
    this.x = 5;
    (function() {
        this.x = 3;
    })();
    console.log(this.x);
};

var obj = {x: 4, m: function() {
    console.log(this.x);
}};


f();
new f();
obj.m();
new obj.m();
f.call(f);
obj.m.call(f);

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

Ваш сайт тоже позволяет заливать всё подряд?

Время на прочтение4 мин
Охват и читатели53K
Один французский «исследователь безопасности» этим летом опубликовал невиданно много найденных им уязвимостей типа arbitrary file upload в разных «написанных на коленке», но популярных CMS и плагинах к ним. Удивительно, как беспечны бывают создатели и администраторы небольших форумов, блогов и интернет-магазинчиков. Как правило, в каталоге, куда загружаются аватары, резюме, смайлики и прочие ресурсы, которые пользователь может загружать на сайт — разрешено выполнение кода PHP; а значит, загрузка PHP-скрипта под видом картинки позволит злоумышленнику выполнять на сервере произвольный код.

Выполнение кода с правами apache — это, конечно, не полный контроль над сервером, но не стоит недооценивать открывающиеся злоумышленнику возможности: он получает полный доступ ко всем скриптам и конфигурационным файлам сайта и через них — к используемым БД; он может рассылать от вашего имени спам, захостить у вас какой-нибудь незаконный контент, тем подставив вас под абузы; может, найдя параметры привязки к платёжной системе, отрефандить все заказы и оставить вас без дохода за весь последний месяц. Обидно, правда?

Как ему это удастся?

Система распределения заказов среди исполнителей методом ангелов

Время на прочтение8 мин
Охват и читатели25K
Представим, что в компании есть отлаженный процесс регулярного поступления заказов (звонков, заявок). И есть несколько возможных исполнителей, которые могут выполнить эту работу.
Задача усложняется, если исполнитель выполняет работу на территории заказчика. А услуга, которую он оказывает — вполне может быть выполнена без поддержки компании работодателя. Скажем, договорившись за полцены от официальной цены. Знакомо? Сантехники, репетиторы или даже девушки по вызову – все эти бизнесы остаются халтурами низкого уровня, во многом из-за сложности контроля со стороны работодателя. А диспетчеру, выполняющему эту работу, придется стать ангелом, чтобы распределить все заказы и никого не обидеть.

Наша задача — выбрать оптимального исполнителя, среди нескольких возможных.
Читать дальше →

JsRender: Новое поколение jQuery Templates

Время на прочтение3 мин
Охват и читатели38K
Буквально пару месяцев назад, мы начали переписывать весьма крупный сайт, с момента прошлого крупного релиза прошёл не один год, конечно, сайт дорабатывался, правились баги и в итоге в настоящее время создаётся новая версия. В ней будет активно использоваться AJAX, поэтому весьма остро стоял вопрос с генерацией контента на клиенте, полученного в формате JSON. Прошлые шаблоны были собственной разработки, так как на то время вариантов было не так много, которые по разным причинам не подходили, базировались наши шаблоны на jquery, с помощью атрибутов происходило заполнение.

Прежде всего было решено провести тест, при генерации списка из 1500 элементов было получено превосходство в 20 раз, похожие результаты показывает сравнение с jQuery Template (страница с тестами).
Читать дальше →

Информация

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