История ЦВТ и Эпам в Ижевске

В рамках встреч Yodiz Life прошла лекция основателя ЦВТ и Эпама в Ижевске Олега Витальевича Вылегжанина. Вылегжанин рассказал о том как появился ЦВТ. Какие были первые заказы. При каких обстоятельствах возник офис Эпама в Ижевске. Также была затронута тема ИТ-парка в Удмуртии.

ZF2 .htaccess in built-in PHP server

ZF2 .htaccess in built-in PHP server

Для нормального функционирования zf2-приложения требуется наличие модуля mod_rewrite. В .htaccess все запросы через mod_rewrite зарулены на public/index.php

В документации запуск встроенного сервера описан так:

$ cd public
$ php -S localhost:80

Но т.к. .htaccess не подхватится, то при вызове, например, каптчи «http://localhost/user/captcha/ad291fb77e7c0cca7c3bd1f47aa2964e.png» сервер, вместо того, что бы отправить запрос в index.php попытается найти такой файл и выдаст 404-ю ошибку.

Решение простое. При запуске нужно явно указать вызов index.php при любых запросах. Так:

$ cd public
$ php -S localhost:80 index.php

PHP sendmail в Windows

PHP sendmail в Windows

Для отправки почты php использует утилиту sendmail. Те кто работает в linux, уже готов к этому. А вот у windows-пользователей возникают проблемы, потому как они ни как не ожидают, что нужно что то настроить. Опишу по шагам:

1) Скачать sendmail отсюда и распакуйте, например, в папку с:\sendmail

2) Откройте sendmail.ini и укажите smtp_server(почтовый сервер), auth_username, auth_password и force_sender(будет подставляться в поле from). Обратите внимание на error_logfile=error.log — сюда будут писаться ошибки, если что то пойдет не так(например, если укажите неправильный пароль)

3) Откройте ваш php.ini и укажите sendmail_path = «[путь_до_папки]\sendmail\sendmail.exe -t». Проверьте, значение SMTP = localhost и smtp_port = 25

4) Перезапустите apache или другой используемый вами сервер

«Контент перестал быть королём на сайте» — мнение дизайнера об изменениях в отрасли

«Контент перестал быть королём на сайте» — мнение дизайнера об изменениях в отрасли

Ресурс Louder Than Ten опубликовал материал дизайнера Трэвиса Герца о том, как профессионалов из отрасли постепенно вытесняют машины, какова связь между интерфейсом и контентом и почему представителям дизайн-сферы важно задуматься об этом. Коллеги из Faino Interactive перевели статью для рассылки дизайнеров интерфейсов UX Fox.

VC публикует материал с разрешения переводчика.

Статья о наступающем кризисе в дизайне. О дизайне не для людей, а для машин. Не от людей, а от машин.
Почему так много похожих друг для друга сайтов. Зачем повсеместно используются шаблоны и гайды? Почему дизайн оторван от контекста?

Дерьмовый контент продаёт дерьмовый продукт

Но не все так плохо…

«Контент перестал быть королём на сайте» — мнение дизайнера об изменениях в отрасли

Что должен уметь и делать ПМ

Что должен уметь и делать ПМ

Недавно Дмитрий Плетнев(@dpletnev) высказался на тему что должен уметь и делать ПМ на izhit.slack.com :

Проект для разработчика выглядит как процесс разработки и итог разработки — качественный продукт.
Проект для менеджера это система которая состоит из балансировки между: командой, продуктом, деньгами и клиентом. То есть задача пиэма
1. Отслеживать работу команды, состояние членов команды, формировать эту самую команду вместе с лидом и создавать атмосферу в которой команад разработки может спокойно заниматься проектом, комфортно и ей никто и ничто не мешает. В общем виде ПМ должен знать каждого человека внутри команды, его личную жизнь, проблемы, увлечения, сильные/слабые стороны, личную систему мотивации и интересов каждого специалиста.
Дополнительно он должен представлять общую информацию по тех.скиллам всей остальной компании, чтобы понимать каким образом, если надо, он может масштабировать команду.
Если ПМ не может поднять команду когда надо на оверы или наоборот объяснить руководству, что надо дать отдых/бонусы/етц это провал.
Специалист приходит в компанию, а уходит от менеджера, это факт.
2. Продукт — задача ПМ не просто собирать инфу от заказчика, но и фильтровать ее, очень и очень часто заказчики не врубаются в lean-подход, ограничения по возможностям команды. У нас были дикие проблемы, когда мы не умели с этим работать, загоняли команду разработки, в итоге люди просто увольнялись.

Ну и ПМ как обычно является переводчиком запросов клиента, в программисто-понятный язык. Это может делать и аналитик, если команда и проект оч.большие.
Ну и какбэ ответствтенность за продукт перед клиентом лежит на ПМе.
3. Бабло. Ну тут наверное понятно и так — задача ПМа сделать проект в бюджет как минимум, если он фиксированный, отслеживать попадание спецов в оценки и своевременно начинать махать флагом, когда идет перерасход часов, бюджета, составление отчетов по часам. Бла бла тут понятно, что разрабы про это думать вообще не должны в принципе.
4. Последнее это собственно гхм, без клиента разработчик не работает. Если клиент не счастлив, у всех нет работы, денег, интересных задач, все это понимают. Тут по факту система похожая на работу с командой. ПМ знает о клиенте все — где он работал, кем, когда куда он ушел, как зовут его домашнюю собачку, где он отдыхал, какие у него личные KPI, какие возможности роста внутри компании, какие показатели успеха у проекта и как это на всех влияет. У нас были ситуации, когда мы не были в курсе о KPI менеджера, как итог неправильно расставили приоритеты в разработке пока он в отпуске чалился, оп ПМ на стороне клиента лишился полугодового бонуса, всем пока. А дальше естественно — развитие клиентов, с точки зрения бизнеса.
Вообще по нашему опыту работы — хорошие отношения с клиентом дают намного больше чем конкретный успешный кейс продукта. Даже если продукт не запустился по черт знает каким причинам, разработчиков будут переносить из компании в компанию, если сформировались внятные отношения и то, что мы делали было охуенного качества.

Фото взято со страницы Дмитрия вконтакте.

Exception’ы в PHP

Exception’ы в PHP

Если вы еще не используете исключения, то читать статью «Правильное использование Exception’ов в PHP» обязательно! А если уже используете — тем более. Вот содержание:

Почему мы не умеем пользоваться эксепшенами
Преимущества эксепшенов
    Контекстная логика
    Упрощение логики и архитектуры приложения
    Использование объектов
    Обработчик по умолчанию, логирование
    Невозможность не заметить и перепутать
    Прекращение ошибочной операции
Когда следует вызывать эксепшены
Эксепшн vs возврат null
Технические эксепшены
Эксепшены утверждений
Изменение логики для избегания эксепшна
Собачки