Pull to refresh
0
0

User

Send message

Юнит-тестирование в PHP

Reading time13 min
Views186K
Язык PHP очень легок для изучения. Это, а так же обилие литературы «Освой _что_угодно_ за 24 часа» породило большое количество, мягко говоря, некачественного кода. Как следствие, рано или поздно любой программист, который выходит за рамки создания гостевой книги или сайта-визитки сталкивается с вопросом: «а если я здесь немножко добавлю, все остальное не ляжет?» Дать ответ на этот вопрос и на многие другие может юнит-тестирование.

В самом начале хочется оговориться — здесь речь не будет идти о TDD и методологиях разработки ПО. В данной статье я попробую показать начинающему PHP-разработчику основы использования модульного тестирования на базе фреймворка PHPUnit
Начнем?..
Total votes 97: ↑90 and ↓7+83
Comments90

Про Git на пальцах (для переходящих с SVN)

Reading time8 min
Views279K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...
Total votes 179: ↑175 and ↓4+171
Comments100

Идеальная CRM. Часть 2

Reading time2 min
Views4.5K
После написания статьи о потребностях «продажников» в CRM, я стал более плотно заниматься этой темой + на мое удивление, мне пришло много предложений от хабраколлег написать такую систему и вместе ее продавать, посмотреть на их, уже готовую CRM-ку.
image
Напомню, что мои основные требования были: online + удобство + малая цена

Кому интересна тема CRM применительно к небольшим компаниям — мои находки и мысли на этот счет.

Итак, что же такое CRM и кому и зачем она нужна. По сути CRM нужна не только отделу продаж, но и всем сотрудникам компании, которые связаны с работой с клиентами. В больших компаниях (телеком, банки) это такие большие системы как Oracle Siebel, MS Dynamics CRM и прочие монстры. В таких системах помимо автоматизации операционной работы (завести контакты, вести учет переговоров, выставлять счета и заводить кейсы) существует много наворотов типа BI, маркетинговых кампаний или совместной работы.

В небольших же компаниях чаще всего продажникам и другим сотрудникам, работающим с клиентом чаще всего нужны:
  1. База аккаунтов (организаций) и контактов
  2. Возможность быстрого доступа к ней лучше online
  3. Ведение истории переговоров
  4. Напоминалки (типа, через 3 месяца не забыть позвонить клиенту)
  5. Ведение протоколов встреч, записи звонков, короче видеть всю историю взаимоотношений


Под катом хорошие варианты:
Читать дальше →
Total votes 42: ↑32 and ↓10+22
Comments56

Как вовремя узнать, что ваш сервер не работает?

Reading time3 min
Views20K
Случается, что сайты перестают работать. Причины могут быть самые разные: в датацентре «упал» канал, сервер вырубился, кто-то что-то намудрил с базой или файлами на сервере, сисадмин неудачно обновил ПО или переносил аккаунты. Или кое-кто забыл оплатить хостинг.

В большинстве случаев такая ситуация нежелательна, а устранить ее надо как можно скорее. Для этого нужно как можно скорее узнать о случившемся. Но как? Для себя и для наших клиентов мы используем сервисы мониторинга сайтов. О них я сегодня и расскажу.
Читать дальше →
Total votes 86: ↑71 and ↓15+56
Comments71

Шрифты, общие для всех (актуальных) версий Windows, и их Mac-эквиваленты

Reading time3 min
Views339K

Введение


В данном списке перечислены шрифты, общие для всех актуальных на данный момент операционных систем Windows (фактически начиная с Windows 98), и их эквиваленты в Mac OS. Такие шрифты иногда называют «безопасными шрифтами для браузеров» (browser safe fonts). Это небольшой справочник, которым я пользуюсь, когда делаю Web-страницы и думаю, что он будет полезен и Вам.
Читать дальше →
Total votes 69: ↑58 and ↓11+47
Comments24

Когда Photoshop отображает совсем не то, что надо

Reading time3 min
Views288K
example

Такая вот ситуация: дизайнер присылает макет, а у верстальщика открывается какая то лабуда светлая, или темная (если верстальщик испольует МасOS, а дизайнер Win.). Или же верстальщик сохраняет картинку, а там цвета другие стали.

Разберемся почему так и как с этим жить.

Читать дальше →
Total votes 173: ↑158 and ↓15+143
Comments139

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

Reading time3 min
Views3.3K
Вступление. Эту статью написал мой друг — Семён Шторкин, владелец нижегородского сайта-коммьюнити для фотографов (фотогорький). Пока его, к сожалению, нет на Хабре, но попробую этим топиком заработать для него инвайт :)

Добрый день. Хочу поделиться с уважаемым хабрасообществом весьма объективной системой оценок и рейтингов, основанной на средневзвешенной системе с оценками по пятибалльной шкале.
Читать дальше →
Total votes 111: ↑107 and ↓4+103
Comments61

WEB Optimizator: от beta до zeta

Reading time2 min
Views567
Прошло чуть больше месяца с последней публикации о проекте webo.in, полностью посвященном клиентской оптимизации веб-сайтов и веб-приложений, и чуть больше 2 месяцев с момента его появления в сети.

Хочется сказать огромное спасибо всем, кто написал свои замечания и комментарии. Без вашей помощи нам бы вряд ли удалось так далеко продвинуться. Список новых возможностей и найденных ошибок вышел достаточно объемным, но весь его удалось реализовать. Однако, статья посвящена не совсем этому.

Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments26

Определение размеров текста

Reading time2 min
Views14K
Возможно, кто-нибудь из вас сталкивался с задачей в которой крайне необходимо было бы узнать размер текстового блока в пикселях.

После небольшого исследования выяснилось, что не всегда данный размер возможно получить обычными способами. Будь то методы jQuery, prototype или обычное обращение к параметрам DOM.

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

Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments35

Vim как IDE для веб-разработки, и не только.

Reading time12 min
Views101K
В данной статье рассматриваются мощные плагины, позволяющие повысить удобство разработки в VIM, а также даются ценные указания по их доработке и использованию. В том числе, используемых команд и горячих клавиш.

Рассмотрена настройка через конфигурационный файл vimrc и приведены ссылки на статьи с описанием отдельных моментов.

Кого-то VIM оттолкнет, показавшись поначалу слишком сложным или неудобным. Однако не стоит недооценивать его гибкость и возможность настройки себя, ведь из VIM можно буквально вылепить идеальный редактор/IDE, таким, каким вы представляете его себе.

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

Я постарался писать как можно компактней, но без потери содержательной части, но статья все-равно вышла довольно объемной. Материал логически разбит на несколько разделов и совсем не обязательно читать его по порядку. Тем не менее, прочитать сведения по установке плагинов и настройке vimrc я рекомендую настоятельно.


Читать дальше →
Total votes 78: ↑75 and ↓3+72
Comments62

Демон конвертации видео в FLV

Reading time3 min
Views3.6K
Решил поделиться недавно написанным кодом демона для видеохостинга.
Принцип демона прост. Демон смотрит в папку, куда загружаются видеофалы, и при появлении там новых, копирует в другую папку, запускает в фоне процесс конвертации, создает превьюшку, и копирует полученное видео в папку пользователя.
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments31

Школа, тренинги, мегатренинги и супертренинги

Reading time2 min
Views590
В последняя время заметна повышенная активность различных онлайн тренингов. Такие интернет-тренинги имеют интересную специфику и становятся популярными при достаточно простой организации.

image

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

image

Оценка работы. В большинстве тренингов практически нет системы оценок, а с ней возможно улучшить отдачу от тренинга и повысить качество участия. Тем более можно оценивать не столько качество работы, сколько усердие обучающегося.
Читать дальше →
Total votes 38: ↑30 and ↓8+22
Comments20

Постраничная навигация с MySQL при большом количестве записей

Reading time7 min
Views40K
Рано или поздно многие крупные проекты сталкиваются с проблемами производительности при постраничной навигации по записям. Некоторые из них решают эту проблему ограничением количества доступных для просмотра записей (скажем, не больше 1000). Вполне приемлемое решение. Но в этом случаем могут возникнуть проблемы с индексированием сайта сторонними поисковиками, которые и представляют наибольшую угрозу. В этой статье я хотел бы отказаться от привычной для всех панели навигации вида «1..2..3..4..» в пользу простой «вперед… назад» (будет проще объяснить), но это не проблема реализовать подобное и с первым вариантом.
Более точно определить тему, назвав, какое количество записей считать достаточно большим для появления тормозов, не получится, так как эта цифра для всех разная и сильно зависит от того, насколько быстрые у Вас жесткие диски, сколько памяти, и какая часть Ваших данных уже закеширована в ней и тд. Но если Вы и Ваши сервера ощущают, что n-ная страница при выводе даётся тяжелее первой, и при этом не знаете, что с этим делать – статья для Вас. Но для начала, я хотел бы на пальцах объяснить, почему ОНО работает медленно.

Кстати, тест происходит на виртуальной машинке, работаю я с СУБД под рутом, версия MySQL – 5.0.32.
Читать дальше →
Total votes 139: ↑135 and ↓4+131
Comments81

Как готовить презентацию проекта для инвесторов

Reading time3 min
Views2K
За два месяца мы, проект Comindwork, провели 11 презентаций для инвесторов. Три из них — при личной встрече и на заседании украинского клуба бизнес-ангелов, UABAN, остальные 8 — в рамках ISDEF, форума независимых разработчиков программного обеспечения. Полезный опыт. Сначала презентация была в 10 слайдов. Теперь их 4. Как говорят англичане, «Less is more», то есть «меньше это больше».
Не буду говорить, как я в действительности готовился. Скажу, как надо было :)
Читать дальше →
Total votes 49: ↑42 and ↓7+35
Comments42

О том, как гипербола помогла придумать новую систему рейтингов

Reading time2 min
Views1.3K

Здравствуй.

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

Последние несколько постов я рассуждал о системах рейтингов и в первой заметке на эту тему была система +1/-1. Очень простая для понимания, от того любимая многими. Я хочу улучшить ее, а точнее улучшить алгоритм подсчета. Визуально для пользователя ничего не изменится, он по прежнему будет иметь на выбор два варианта «+» либо «-».

Итак начнем. Для начала договоримся об одной условности — нередко встречаются топики у которых количество плюсов или количество минусов несравненно выше средних показателей. Это конечно приятно их авторам но совершено бесполезно для разработчиков и пользователей. Куда проще ввести абсолютный плюс и абсолютный минус, достичь которые крайне сложно, но каждый из топиков стремится к одному из них постоянно.

Итак пусть в нашей системе абсолютный плюс это «+100», а абсолютный минус это «-50».
Читать дальше →
Total votes 3: ↑2 and ↓1+1
Comments105

nginx, пользовательские поддомены и rewrite

Reading time3 min
Views47K
В самых разнообразных веб-проектах возникает задача организации пользовательских поддоменов «на лету». При использовании nginx приходит на помощь следующая конструкция:
Читать дальше →
Total votes 1: ↑1 and ↓0+1
Comments27

IE PNG Fix 2.0 Alpha 2 — теперь с поддержкой background position и background repeat

Reading time1 min
Views2.5K
— Кросс-пост из моего блога
Всем известный IE PNG Fix, который был всем хорош, но который не умел работать с background position и background repeat, наконец — таки исправил этот изъян.
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments51

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity