Простой способ выловить ошибки на работающем сайте (на PHP)

На всех моих сайтах давно стоят logger'ы на 404-ую и прочие интересные ошибки, которые не только показывают соответствующую страницу, но также отправляют мне письмо с контекстом, в котором ошибка произошла. Недавно я придумал, как еще лучше выловить все ошибки, которые случаются при работе сайта.

Следующий код нужно вставить в какое-то общее для всех скриптов место (в конфиг, например).

function myErrorHandler($errno, $errstr, 
      $errfile, $errline, $errcontext) {
  $f = fopen('errors.txt', 'a');
  fwrite($f, 
    "Date: ".date('Y-m-d H:i:s')."\n".
    "Code: $errno\n".
    "ErrStr: $errstr\n".
    "$errfile:$errline\n\n".
    print_r($errcontext, true)."\n\n\n");
  return false;
}
set_error_handler("myErrorHandler");

На каждую ошибку он будет добавлять запись в файл errors.txt, который можно время от времени смотреть.

Как вариант - можно отправлять текст с описанием ошибки себе по почте.

Интервью с Алексом Орловым о своем бизнесе

Интервью с Алексом Орловым — автором книги «Секреты управления программистами» и проекта Happy PM, а также будущим самым известным тренером менеджеров программистов в России.

(Аудиозапись интервью также можно скачать с Яндекса: outcorp_interview_alex_orlov.mp3.)

Стас: Как ты пришел к тому, что нужно валить из корпорации?

Алекс: Это случилось не сразу. Я проработал в Intel 4.5 года менеджером проекта. Первые года 2.5 было очень интересно, и за это время я очень сильно вырос как менеджер. Команда была довольна, все получалось, но тут проект закончился, и так получилось, что в новом проекте мне пришлось заниматься тем же, что и в предыдущем. Я начал грустить, но тут один мой товарищ посоветовал мне прочитать «Путь к финансовой свободе» Бодо Шефера. Книгу я прочитал. Вообще, у меня есть принцип, читать книгу, а потом делать то, что там написано.

Стас: У меня точно такой же подход :).

Алекс: Что интересно, в моей команде образовался круг людей, которые прочли эту книгу и начали искать себя в другой области. И я тоже начал. Начал с чтения книг: прочел Кийосаки «Богатый папа, бедный папа», в голове что-то подвинулось, потом книгу Сергея Азимова (у него, кстати, есть сайт nerabota.ru) «Как зарабатывать деньги без стартового капитала», книгу Юрия Мороза «Бизнес-пособие для гениев». Потом начал ходить на семинары: сходил к Сергею Азимову, а потом вписался в тренинг к Андрею Парабеллума, который учит делать инфобизнес. Тренинг назывался «Как сделать инфобизнес за три месяца». Обещалось, что участники, которые успешно пройдут тренинг, через эти три месяца буду делать по $10 000 ежемесячно. Это было судьбоносным событием — из этого тренинга, собственно, и вырос мой проект happy-pm.com.

Стас: Через три месяца получилось $10 000?

Алекс: Нет, сразу скажу, что не получилось. Через три месяца у меня был сайт, аудиокурс, тренинг и рассылка, в которой на тот момент было человек 50, и еще понимание того, что делать дальше. Честно скажу, что из того, что было на тренинге, я сделал процентов 20%.

Стас: Ты это делал, пока был в Intel?

Алекс: Да.

Стас: То есть была крыша?

Алекс: Да, была крыша... Была жесть — те две недели, в которые я проводил свой онлайн тренинг, у нас был релиз в проекте, где я был QA-менеджер. Каждый день я утром готовил подкаст — объемом на три-шесть страниц текста, потом я его начитывал, давал домашнее задание. На следующее утро я проверял домашнее задание, писал следующий подкаст, и т.д. Параллельно мы с семьей еще перезжали на новую квартиру. Все это происходило одновременно.

Стас: У тебя, видимо, очень хорошо обстоят дела с тайм-менеджментом?

Алекс: Жизнь заставила :).

Стас: Угу, а дальше?

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

На тот момент я накопил достаточно денег, чтобы прожить примерно полгода. Меня не сократили (если б сократили, денег было бы гораздо больше — в Intel давали большой компенсационный пакет). Реально — сократили все окрестные проекты, кроме моего :).

Стас: Недостаточно плохо работал :).

Алекс: Да :). В итоге пришлось уйти самому. Мой менеджер удивился, но, тем не менее, отпустил. На момент увольнения у меня уже было проведено несколько живых тренингов, продалось несколько коробок с моими аудиокурсами — проект начал приносить какие-то деньги, и я понял, что это знак. Так я и ушел.

Стас: Было страшно?

Алекс: Нет. Знаешь, я принимаю решения необдуманыее и импульсивные, при этом меня по жизни обычно прёт — за всю мою карьеру мне сопутствовала удача. Когда я решил, что пора уходить, сообщил это жене. Она, конечно, напряглась, потому что у нас двое детишек маленьких, и еще висит кредит довольно большой. Но я ее успокоил, что мы справимся — в крайнем случае устроюсь обратно менеджером проекта. Еще так получилось, что жена у меня тоже немного задауншифтилась — училась на врача семь лет, поняла, что это не ее, и теперь занимается журналистикой, рекламой и PR. Так что мы с ней вместе решили вылезти и передвинуться — поддерживали друг друга в своих решениях.

Стас: Классно!

Алекс: Родители вот напряглись — люди советской закалки: «Что будет, что будет?». Да ничего не будет :). Знаешь, я не оставил себе пути назад: на работе пришел к своему HR-у и сказал: «Я собрался уходить и сделаю это через месяц». Потом я сказал это своему коллеге-менеджеру. И когда я всем рассказал, что ухожу, может и были какие-то рефлексии, но отступать было поздно — я пообещал.

Стас: Пацан сказал, пацан сделал :).

Алекс: Да :). Многие на работе поддержали, сказали: «Саня, ты молодец! Мы очень рады, что ты принял это решение». Как я мог их разочаровать? Всё. Самое интересно, через три месяца после меня ушел мой коллега-менеджер — причем в аналитики в другую компанию.

Стас: Если сейчас что-то, что может заставить тебя вернуться? Заставит, или побудит.

Алекс: Разве что какая-то острая нужда. Сейчас я очень хорошо понимаю, насколько хорошо не иметь над собой начальника. Я могу заниматься чем хочу. Ударило что-то в голову, и я раз — пошел заниматься чем-то другим. Вот, например, сейчас — я занимался тренингами, книжками, и тут пришла в голову идея делать другой бизнес. И мне не нужо никого спрашивать: «Можно я буду часть своего времени тратить вот на это?», — я пошел и начал делать, без проблем.

Если будет какая-то острая нужда, я, наверно, лучше пойду на машине побомблю. Я люблю с людьми общаться — вот и пообщаюсь. Бомбить тоже интересно. Один мой приятель из Sun — большой менеджер — как-то рассказывал, как он в Штатах ехал на такси, разговорился с таксистом и сказал, что из Sun Microsystems. На что таксист у него спросил: «Ну и как, появилась у вас там поддержка параллелизма в компиляторе?». Таксист, оказалось, работал в Sun, и бэйдж у него был № 25 — 25-ый сотрудник Sun, которому потом все надоело, и он ушел работать таксистом :).

(Смеемся :)

Стас: А если, допустим, тебе предложат занять какую-то высокую должность — CEO, например?

Алекс: Знаешь, я еще когда работал в Intel, размышлял о вариантах развития в рамках компании: «Хорошо, вот стану я менеджером второго уровня, и что?». Я посмотрел, и меня чего-то такая тоска взяла. Я понял, что мне это просто не интересно. Мне интересно общаться с людьми, интересно их зажигать, чтобы у них в результате что-то получалось, происходило в жизни что-то позитивное.

Больше всего вставляют не деньги (хотя деньги — это тоже приятно :), а когда люди тебе пишут отзыв: «Прочел твою книжку, сделал что там написано, и оно заработало». Это бодрит гораздо лучше денег. А вот быть CEO не бодрит :). Решать все эти проблемы, почему нет туалетной бумаги в туалете, и кого нужно за это отдрючить.

Стас: Думаешь это CEO должен решать? :))

Алекс: Ну, например, по факту у нас был такой управляющий филиалом... :).

Стас: Расскажи тогда о своих планах. Куда ты двигаешься?

Алекс: Планы все время меняются, а цель такая: хочется стать самым известным консультантом для менеджеров программистов в Росии. В качестве плана достижения этой цели есть много разных действий, например, писать статьи в журналы. Сейчас выйдет моя статья в журнале «Профессия директор» про то как ловить суперзвезд, потом статья в CNews на ту же тему но заточенная на программистов, с «Компьютеррой» мы договорились делать серию интервью с большими менеджерами — для меня это возможность познакомиться с интересными людьми. А интересные люди вдыхают в тебя энергию — люблю с ними разговаривать. Написать еще одну книжку — скорее всего, это будет книжка-интервью с менеджерами. Может быть еще какую-нибудь художественную книжку про программистов.

Стас: Типа «Дэдлайна»?

Алекс: Да. У меня была пара опытов: в статье «Почему менеджеры любят Agile» я делал художественные зарисовки — мне понравилось, не знаю как насчет тех, кто читал :). Хорошо писать книжки не для читателей — а для себя :).

Стас: Это самый лучший способ разработки чего угодно. Делаешь продукт для себя, и обязательно найдется кто-то, кому он тоже понравится :).

Алекс: Посмотрим. Есть еще интересные задумки работы с кадровыми агентствами, может быть сделаю свою конференцию — я пока еще не очень это продумал. Плюс параллельно у меня есть еще один бизнес-проект, уже никуда не дется, потому что оборудование приезжает через две недели. Деталей пока раскрывать не буду: идея в том, чтобы взять заполненную нишу в Штатах и привезти сюда — заполнить ее в России. Так пока и буду заниматься этими двумя проектами.

Стас: Когда уже можно будет рассказать, расскажешь?

Алекс: Да. Там такая ниша будет под людей, которые хотят начать свой бизнес, но не знают, чем заняться.

Стас: Ты, как человек, начавший свой бизнес, можешь дать какие-нибудь вдохновляющие советы тем, кто до сих пор в корпорациях, но думает о том, чтобы свалить. Твой пример предельно ясен, но может быть что-нибудь добавишь?

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

Помню, пример из одной книги очень сильно повлиял на мое восприятие: покупаю я пачку сахара в магазине — часть денег за нее капнет собственнику сахарного завода, часть — поставщику, часть — владельцу магазину. Т.е. люди выстроили систему, в которой деньги к ним приходят «автоматически», и делать ничего не надо (хотя, конечно, делать надо до фига). Это взорвало мой мозг: «Ёлки, почему я не могу так сделать?! Почему бы не делать то, что я хочу, то, что интересно, а о финансовой стороне жизни позаботится система, которую я выстрою».

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

Стас: Как Дэвид Блэйн? :)

Алекс: Ну почти, Дэвид Блэйн серьезней, конечно :). Тут фокусы простенькие — есть монетка, нет монетки.

Парнишке 16 лет. Он зарабатывает 40 000 евро в месяц. Еще в школе учится. Сам орагнизовал эту тему с фокусами в 9 или 10 классе. Сделал сайт, начал учить желающих. Сейчас у него семинар каждую неделю. На семинаре 25 человек, каждый приносит 10 000 рублей, плюс корпоративы, плюс индивидуальное обучение. Человек сделал это, учась в школе, а я — взрослый дяденька с двумя детьми, работаю в крупной корпорации и не имею этого всего. Это мне взорвало мозг.

Так вот, что делать? Читать много книжек, походить на семинары и вообще желательно завести друзей-знакомых, у которых есть свой бизнес. У меня, к сожалению, таких друзей нет, и я считаю, что мне очень помогло хождение на семинары — у меня сменился mindset — даже знакомые люди сказали: «Саша, ты теперь повсюду видишь деньги» — вижу какие-то ресурсы, возможности. Появляются бизнес-идеи.

И главное — начинайте что-то делать. Если делать, то все получится.

Интервью со мной для проекта "Happy-PM" Алексу Орлову

Интервью, понятное дело, в основном, про мотивацию. Были проговорены такие животрепещущие темы:
  • Что же, на самом деле, мотивирует программистов? :)
  • Какая компенсационная политика является идеальной?
  • Как распределять бонусы внутри команды?
  • Как избежать того, что к тебе, как к менеджеру приходят сотрудники и спрашивают: «А почему ты Пете поднял зарплату, а мне нет?» Что делать, когда такое спрашивают?
  • Как правильно проводить тим билдинги? Стоит ли вообще? Что делать, когда половина команда 25-летних, а половина 55-летних?
  • Практические примеры поднятия мотивации в команде.
  • Что делать компаниям в маленьких городах, чтобы удержать сотрудников от отбытия в Москву?

Крым. Часть вторая: Симферополь → Феодосия → Евпатория (окончание отчета о путешествии)

(Начало.)

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

Но у соло-путешествий лично для меня есть один минус — мне быстро наскучивает одиночество, и приходится либо все время перемещаться, чтобы «наполнить» глаза миром, либо возвращаться к людям. Так получилось и в этот раз.

К счастью, в Крыму у меня есть друзья, к которым я и приехал в гости. Классно, когда люди тебе рады. Спасибо, Вася, Ксюша и др. встречавшие меня товарищи (меня до сих пор прёт с той травы, ух! :-)). Про Симферополь мне рассказывать особо нечего — он для меня стал просто родным городом (за эту поездку я побывал в нем пять раз).

Феодосия

Погостив в Симферополе пару дней, я отправился в Феодосию к Сашке и Киру (моим бывшим коллегам по JetBrains и знатным специалистам по юзабилити и программированию — тем самым, которые сделали тот прикольный сервис для todo-списка). В Феодосии я ни разу еще не был, так что во все глаза смотрел по сторонам, когда ехал в автобусе (где-то сотня километров от Симферополя) и шел по городу в поисках дома. Феодосия — небольшой городок, с обязательным Лениным где-то в самом центре города и длинной набережной вдоль моря.

Местность холмистая, но пока еще не очень выскоая.

Из Феодосии я пошел пешком в сторону Коктебеля — если через холмы, там где-то километров 15, наверно.

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

Коктебель

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

Как только я их там увидел, вспомнил анекдот :).

Лезет альпинист на гору, долго, упорно карабкается... Наконец, из последних сил взбирается на вершину и видит, что с противоположной стороны два мужика летают в воздухе прямо над пропастью. Альпинист подходит к ним и в изумлении спрашивает:
— Офигеть, чуваки, как вы это делаете?!!
Один из них ему отвечает:
— Да ты понимаешь, тут такие сильные теплые восходящие воздушные потоки, что можно вот так вот летать.
Альпинист смотрит на них, делает шаг в пропасть, со свистом и криками падает вниз и разбивается. Один из парящих мужиков смотрит на другого укоризнено и говорит:
— Дурак ты Паша, хоть и апостол.

Коктебель — дыра дырой, не пойму, что в нем нашел Максимилиан Волошин :).

Рядом с Коктебелем находится Карадаг — потухший вулкан и закрытый заповедник, попасть в который можно только в сопровождении гида и за денюшку, что однозначно не мой вариант. В принципе, туда можно пролезть и так, и я даже забрался метров на 200-300 вверх. Можно было лезть и дальше, но я лишь заночевал там, а утром спустился вниз и пошел пешком в обход — через Курортное.

Курортное, вероятно, бурлит летом (судя по количеству мусора) и совершенно заброшенно осенью.

Лисья бухта

Если от Курортного идти вдоль берега моря — вскоре окажешься в Лисьей бухте. Там живут вольные жители, кто в палатке, а кто прямо так — под навесом из полиэтилена.

Из достопримечательностей там только платный туалет :)

Дальше я так и шел вдоль моря через заброшенные летние поселочки, съемочный лагерь (это не тут снимали первый эпизод «КПД Апокалипсиса»? :)

Через Солнечную долину, где стоит винный завод, через холмы и степи...

... я дошел до самого мыса Меганом (долго пытался вспомнить, с чем ассоциируется у меня это название — кажется с Мелафоном :). Это тоже заповедная территория, почему-то сплошь усеянная самостроем.

Это уже совсем близко от Судака.

Судак

Второй день, как я вышел из Феодосии, подходил к концу. Моя навязчивая идея дойти до Судака гнала вперед (очень хотелось плюшек с кефиром :), но долгий переход совершенно умотал, так что лечь спать пришлось где-то в километрах пяти от цели. Это была первая ночь, когда я спал не в гамаке — повесить его было не на что — крепкие кусты были лишь вдоль дороги. Спать было непривычно — чувствовалась вся тяжесть земли, которая с той стороны подстилки навалилась на меня своим весом — всю ночь ворочался и просыпался.

Но рассвет компенсировал все мои ночные болтания. Рассвет там охренительный.

Рядом с Судаком есть гора, с которой виден весь город.

И еще на ней практикуют свои энергетические практики практикующие :).

Судак мне понравился гораздо больше, чем Коктебель.

Там есть старинная крепость (вход платный :), расположенная на неприступной горе — лезть я не стал, потому что очень хотелось искупаться в море, а потом — было уже лень лезть обратно.

Новый Свет

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

В этих горах, кстати, растут настоящие кактусы :).

Новый Свет оказался самым оживленным — там были даже многочисленные загорающие на пляже. Минус Нового Света в том, что это тупик — дальше дороги нет, а посреди тропинки, которая, вероятно идет через горы дальше, сидел мужик в камуфляже и с кассой — проход в очреденой заповедник был платный (да что ты с ними будешь делать! :).

Обратно в Судак идти было влом, так что я просто полез напрямик через гору — по карте там близко до поселка Веселое, а от него до шоссе.

Кроме кактусов, в горах я нашел древнюю арку.

И глючные деревья.

И вообще ощущение там было необычно-энергичное. Через пару часов подъема и блуждания по тропкам, я вышел к вершине.

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

Энергичные места силы — отлично, но спать все же лучше в более спокойном месте :). В этот раз я ворочался чаще, а вся тяжесть навалившейся на меня земли давила гораздо сильнее — через верхушку горы. Ночью я проснулся от того, что пошел дождь. Тент не ставил, потому что небо было ясное, и спросонок пришлось в темноте его вытаскивать. Спотыкаясь о свои вещи, я кое-как им укрылся — вешать его тоже было не на что :).

Лежу, слушаю как дождь странно шуршит по тенту, и понимаю, что нифига он не помогает — капли дождя по-прежнему вокруг — будто бы проникают со всех сторон. Как в тумане, только капли больше. Откинув тент и поглазев по сторонам понимаю, что за верхушку горы зацепилось облако — лежит себе и не уходит. Фак :). В нем, кстати, еще и холодно.

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

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

В течение минуты показалась машина. Взмах руки, она тормозит, и еще через минуту я уже сижу на переднем пассажирском седенье Audi A8 (ого, подходящий транспорт для таких бомжей, как я :) и стараюсь не двигаться, чтобы пахнуть не очень сильно. Водитель периодически помогает мне в этом, убавляя температуру на панели климат-контроля :)).

Work the Pond!

За последние полтора года я раздал почти 500 визиток, но по-прежнему продолжаю удивляться, при каких неожиданных обстоятельствах встречаются интересные люди. Водитель Audi оказался директором небольшой компании по производству и установке ворот. Всю дорогу мы разговаривали про бизнес, мотивацию, зарплатные ожидания сотрудников, IT-решения для автоматизации бизнес-процессов и прочих вещах.

75 километров до Алушты пролетели незаметно. Мы обменялись визитками, и я вышел на троллейбусной остановке. Через пару минут приехал троллейбус, и я покатил в Симферополь, чтобы оттуда доехать до Евпатории.

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

В Евпаторию я приехал еще и потому, что Катерина любезно мне предложила пожить в домике, который сдает летом ее знакомая, а у моей подруги Blacky оказалось три отгула (смелая — не побоялась провести их с таким психом, как я :). Так что я решил немного разнообразить свое путешествие.

За три дня мы с Blacky успели погулять по Симферополю. Съездить в Бахчисарай.

Посмотреть там ханский дворец.

Слазить на Чуфут-Кале — это древний город-крепость, вырубленный в скале.

Побывать в Севастополе.

Полазить по мысу Херсонес, на котором находятся развалины еще одного древнего города.

Погулять по Евпатории.

И заполнить мусорное ведро в домике, где мы жили, бутылками из под вина :).

Алушта

Потом Blacky уехала, а я на троллейбусе снова поехал в Алушту, чтобы напоследок выспаться, позагорать и искупаться в море перед возвращением в Киев.

Выспался, позагорал, искупался в море.

Побродил по Алуште, а потом пошел пешком до Ангарского перевала —

самой высокой точке в мире, через которую едут троллейбусы :).

Чем выше в горы — тем холоднее и тем заметнее осень. На самом перевале был дубак, так что у меня чуть руки не отмерзли — шел я, понятное дело, в футболочке :). Дальше — троллейбус до Симферополя и поезд в Киев — выступать на HR-форуме «9 студий», о которой я расскажу в заключительной части своей истории :).

(Окончание.)

P.S. Если фотки вам еще не надоели, вот тут есть еще немного: fotki.yandex.ru/users/DavidovSV/album/60887/.