Pull to refresh
0
0
Жутаев Игорь @Mordred

User

Send message

От инженера до руководителя. Часть 2: Делегирование и постановка задачи

Reading time10 min
Views17K
В прошлой статье От инженера до руководителя. Часть 1: Чувство справедливости я рассказывал о чувстве справедливости. Возвращаясь к ней, хочу повториться, что чувство справедливости является основополагающим моментом. И если мне вздумалось о чём-то рассказать, то каждая моя неточность, а тем более ложь, неподкреплённое фактами мнение, орфографическая ошибка и агитация нашли бы своих недовольных. Что, собственно, можно наблюдать и тут и в жизни ежедневно. Одно дело придерживаться конкретной стороны в холиваре (парадигме, стандарте, процессе), получая тумаки от одних и поддержку от других; и совсем другое дело — описывать и следовать своей собственной точке зрения, опыту и выдерживая свою стилистику. Это — сродне минному полю, где известны правила игры, но за всё, что делаешь, несёшь сам ответственность. Такая же разница существует между исполнителем и руководителем, где последний при своей ошибке получит пинок из-за проявленой “несправедливости” и набьёт немало шишек сам, если будет ошибаться, хотя и спасая этим идущих за ним. Поэтому в моём понимании лучше набивать шишки загодя, с уровня сотрудника, ощупывая путь мягкими частями тела, не получая дополнительных пинков сзади — главное не отставать и не идти против руководителя, впрочем, если он не до конца неправ и не ведёт всех на обрыв. В противном случае, попридержите коней, ведь вы — рабочая лошадка — в одной упряжке. О том, как как поставить правильную цель и как исполнять работу совместно с другими и пойдёт речь в этой статье.



Читать дальше →
Total votes 29: ↑16 and ↓13+3
Comments19

Загрузка и инициализация JavaScript

Reading time10 min
Views43K

С появлением мобильного веба наш интернет стал снова плохим, а устройства медленными. 3G, 4G, Wi-Fi… — они, конечно, где-то есть, но когда очень надо, то как правило скорость падает до околомодемной и получается, что наши мобильный устройства «каменного века» попадают в условия современного объема информации. Даже в центре города (правда на 15-м этаже) значок мобильного интернета может показывать волшебную букву Е, намекающую о том, что уж лучше не тратить нервы и потерпеть. Лучше уж использовать нативную версию какого-то веб-сервиса, чем каждый раз ждать, загружать по мегабайту, чтобы отправить короткое сообщение. Нативную версию веб-сервиса... Понятное дело маркетинг, гонка приложений. Однако, же пользователи выбирают нативные веб-приложения, которые работают быстрее, не качают кучу ресурсов, хотя им приходится периодически его обновлять.

Эта статья о том какими путями можно оптимизировать загрузку и инициализацию JavaScript.
Читать дальше →
Total votes 136: ↑132 and ↓4+128
Comments40

Наш процесс разработки: 50 месяцев эволюции

Reading time9 min
Views44K
Нашей компании уже 6 лет. Она была основана на принципах agile и росла на них. Мы использовали Extreme Programming с самого первого дня, добавили немного Scrum позже и в конце концов переключились на Kanban. Хочется поделиться бесценным опытом и рассказать об изменениях нашего процесса разработки за последние 4 года.



Много ужасных таблиц и красивых картинок
Total votes 130: ↑114 and ↓16+98
Comments147

Проверка соблюдения стандартов кодирования РHP через git

Reading time3 min
Views5.3K
В разработке проекта зачастую принимают участие разработчики разного уровня. Это приводит к тому, что нет строгого формата написания кода. За качеством кода на проекте приходится постоянно следить старшим разработчикам и это отнимает у них кучу времени.

Для того чтобы наказать говнокодеров облегчить страдания тех, кто делает ревью кода, можно использовать автоматические средства проверки кода, которые всем давно известны. Это PEAR и PHP Code Sniffer.
Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments55

Постигаем Git

Reading time6 min
Views56K
От переводчика: в этой статье нет описания команд git, она подразумевает, что вы уже знакомы с ним. Здесь описывается вполне здравый, на мой взгляд, подход к содержанию публичной истории в чистоте и порядке.

Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
Читать дальше →
Total votes 126: ↑120 and ↓6+114
Comments91

Бизнес в США из России. Часть III. Бухучет и налоги

Reading time7 min
Views60K
Ну вот дошли руки до следующей части.
Сегоня расскажу что знаю про американский бухучет применительно к к нашей alien`ской конторе и налоги.

Это продолжение топиков HOWTO: свой бизнес в США из России,
и Бизнес в США из России. Часть II. Деньги и банки.
Читать дальше →
Total votes 71: ↑70 and ↓1+69
Comments56

Обеспечение качества программного продукта

Reading time4 min
Views11K
Дисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.
Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.
Читать дальше →
Total votes 127: ↑115 and ↓12+103
Comments43

PHPUnit: Mock объекты

Reading time7 min
Views92K
Довольно часто при написании модульных тестов нам приходится сталкиваться с тем, что тестируемый класс зависит от данных из внешних источников, состояние которых мы не можем контролировать. К таким источникам можно отнести далеко расположенную общедоступную базу данных или службу, датчик какого-нибудь физического процесса и пр. Либо нам необходимо убедиться, что некие действия выполняются в строго определенном порядке. В этих случаях к нам на помощь приходят Mock объекты (mock в переводе с английского — пародия), позволяя тестировать классы в изоляции от внешних зависимостей. Использованию Mock объектов в PHPUnit посвящается эта статья.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments7

Лекториум записал почти тысячу лекций за год

Reading time4 min
Views57K
Дорогой Хабр!



У нас для тебя небольшой подарок. Мы тут работали-работали и вот чего сделали.
Сняли и опубликовали почти тысячу лекций по IT и математике.

UPD2 Помогите, пожалуйста, оперативно решить вопрос насчёт организации торрентов на php.

Читать дальше →
Total votes 340: ↑333 and ↓7+326
Comments183

Недопонимание CAP-теоремы

Reading time3 min
Views30K
В последнее время я довольно часто натыкаюсь на данную теорему. Она довольно давно доказана и про нее много чего написано. Однако каждый раз когда я натыкаюсь на распределенную систему, претендующую в описании на CA в терминах данной теоремы, т.е. систему в которой жертвуют Partition Tolerance в угоду Consistency и Avalability, я зависаю, так как хоть убейте не могу себе представить такого зверя. После долгих раздумий я все же пришел к выводу, что такая система бессмысленна, о чем и хочу порассуждать в данном топике.

Читать дальше →
Total votes 39: ↑31 and ↓8+23
Comments77

Как преодолеть традиционные проблемы при внедрении Agile

Reading time3 min
Views5.4K
Прочитал пост "Проблемы при внедрении Agile" хабрапользователя adnotum, захотелось предложить несколько решений описанных проблем. Поскольку решения достаточно универсальные, решил оформить их в виде отдельного поста.
Большинство описанных проблем появляется, потому что Scrum является гибким фреймворком, а не полноценной методологией. Это является его недостатком и преимуществом одновременно. «Ванильный» или «кошерный» Scrum описан кратко в официальном авторитетном руководстве от Сазерленда и Шваббера. «Кошерный» Scrum — это когда ты все делаешь по правилам, а получается не очень вкусно, да и сам процесс не доставляет удовольствия. Такой сферический Scrum будет работать только идеальном вакууме, но его можно и нужно адаптировать, чем собственно этот фреймворк и хорош.
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments28

PHP-библиотека для работы с API Яндекс.Денег

Reading time6 min
Views11K
Yandex.Money APIМне давно хотелось попробовать что-нибудь новенькое, и вот, когда на работе предложили написать примеры использования API Яндекс.Денег на разных языках, я с удовольствием принял это предложение-challenge. Так как чаще всего подобный функционал используют в приложениях на различных хостингах, то было принято волевое решение первым делом попробовать написать сие на PHP. Причем API до этого я даже не видел; более того, никакого опыта работы с PHP, кроме как лабораторной в ВУЗе, у меня не было. Дело обещало быть интересным.
Читать дальше →
Total votes 61: ↑50 and ↓11+39
Comments14

История интернет-магазина, ставшего мировым монополистом за $5 000

Reading time10 min
Views85K
Прочитав много литературы по истории бизнеса и наблюдая рост популярности Интернет-торговли, автору этих строк хотелось реализовать свои знания на практике. Искали подходящую тему для проекта. Необходимыми условиями были:

1) Вложение не более $10 000
2) Прибыль не менее $1 000 в месяц
3) Минимальная рутина

По первым двум пунктам все понятно. А вот по третьему пункту поясню. К тому моменту я уже работал в собственной компании (сфера финансов). Это был 2009 год. Последствия кризиса еще сильно влияли на основной бизнес и работы было непочатый край. Много времени отвлекать на сторонний бизнес автор не мог.
Подходящий случай подвернулся в октябре 2009 года.
Читать дальше →
Total votes 646: ↑641 and ↓5+636
Comments189

Знакомимся с PayPal API

Reading time13 min
Views87K
На данный момент, PayPal — это самая популярная платформа электронных платежей. Именно то, насколько легко можно открыть счет и начать получать на него средства, по сравнению с традиционными способами получения платежей, и является причиной #1 его запредельной популярности. Второй причиной, многие со мной согласятся, является мощный API, предоставляемый PayPal. В этом топике я по порядку разложу все способы и трюки, связанные с работой PayPal API, чтобы вы избежали проблем с его интеграцией.
Читать дальше →
Total votes 190: ↑182 and ↓8+174
Comments51

Что делать, если вы застряли с Большой и Сложной Программистской Задачей?

Reading time5 min
Views8.6K
image

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

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

Со временем я выработал способ, позволяющий вернуть мне продуктивность в такой ситуации и суметь закончить непростую задачу. Этим опытом я и хочу поделиться.
Читать дальше →
Total votes 158: ↑145 and ↓13+132
Comments38

Будущее гибкой разработки ПО

Reading time14 min
Views21K

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

Проблема в том, что никто не знает, как на самом деле писать классный софт быстро и правильно. Waterfall благополучно скончался на рубеже веков, а новые методы разработки (agile) пока не могут решить фундаментальные проблемы.
Узнать, что нам всем делать и как с этим жить
Total votes 190: ↑180 and ↓10+170
Comments81

Ноутбук + 2 видеокарты — как жить?

Reading time4 min
Views224K
Последнее время у производителей появилась тенденция ставить на ноутбуки две видеокарты — одна какая-нибудь простенькая интеловская для экономии электроэнергии, а другая — навороченная для игр и видео. Насколько я знаю, таким точно грешит Lenovo, и под эту же тенденцию попал и я со своим HP TouchSmart tm2-1080er. Если на предустановленной Windows 7 Home x64 возможность переключаться между картами, разумеется, имелась, то Windows 7 Professional x32 вторую видеокарту включать уже не захотел. Не лучше обстояла ситуацию и в Ubuntu — видеокарты определяются-то обе, а вот использоваться предпочитает только дефолтная интеловская. И питание жрут, разумеется, обе — как результат, ноутбук работает намного меньше, чем должен. Как мы будем с этим бороться?
Читать дальше →
Total votes 85: ↑78 and ↓7+71
Comments62

Вставка изображения из буфера обмена в редактор TinyMCE

Reading time3 min
Views4.4K
Некоторое время назад у нас на проекте возникла необходимость вставить картинки из буфера обмена прямо в редактор. Задача оказалась нетривиальной, и простых решений не имела. По факту поиска в интернете было найдено всего два пути решения проблемы – либо менять редактор целиком на флешовый, что привело бы к переписыванию большой части проекта, либо – ява-аплет. Собственно, о последнем и пойдет речь ниже.

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments17

Установка и настройка функционального тестирования в Symfony2 с помощью Behat и Mink

Reading time6 min
Views16K
Идея о том, что веб-приложения написанные на PHP нуждаются в тестировании, не нова и постепенно входит в повседневную практику разработчиков. PHPUnit стал стандартом тестирования PHP приложений, в том числе и в новом фреймворке Symfony2. В установке из symfony-standard в AcmeDemoBundle для тестирования контроллера используется именно он1. Я хочу рассказать о альтернативном пути тестирования функционала, с применением Behat и Mink, и описать подробности процесса установки и тестирования.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments33

Статья-размышление про вход на сайт без пароля

Reading time6 min
Views7.3K
На Хабре уже не раз и не два публиковались статьи о необходимости разрешить пользователю войти через Google/Twitter/Facebook и т.д. Собственно говоря, прогрессивное человечество давно решило, что требовать от пользователя придумывать логины и пароли — вчерашний день. В данной статье я хочу обсудить возникающие проблемы и способы их решения.
Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments68

Information

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