Как стать автором
Обновить
5
0
Alex @LIAL

Разработчик: Yii, iOS, Node.js

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

Канбан в IT (Kanban Development)

Время на прочтение7 мин
Количество просмотров283K
Я собираюсь написать несколько статей про новую методологию гибкой разработки Канбан (Kanban Development) в целях подготовки к Scandinavian Agile Conference 2009, где я буду делать один из докладов (кстати, заодно приглашаю всех на конференцию).
Сегодня публикую первую из статей.
Основная задача первой статьи — это как можно проще описать основы Канбан: что это такое, в чем отличие от других гибких методологий и зачем это нужно.
Также я хотел бы собрать как можно больше вопросов и сомнений в комментариях, чтобы ответить на них в следующих статьях, так что пишите всё, что вам непонятно, или что ещё вы хотели бы узнать про Канбан.
Я не то, чтобы большой специалист по этой новой методологии, но мы внутри команды пришли к Канбану самостоятельно и последовательно прошли все этапы мутации от SCRUM до Канбан, так что практический опыт есть.

Читать дальше →
Всего голосов 61: ↑58 и ↓3+55
Комментарии91

Курс лекций «Стартап». Питер Тиль. Стенфорд 2012. Занятие 1

Время на прочтение11 мин
Количество просмотров720K

Этой весной, Питер Тиль (Peter Thiel), один из основателей PayPal и первый инвестор FaceBook, провел курс в Стенфорде — «Стартап». Перед началом Тиль заявил: «Если я сделаю свою работу правильно, это будет последний предмет, который вам придется изучать».

Один из студентов лекции записывал и выложил транскипт. В данном хабратопике я делаю перевод первого занятия. Если пост покажется стоящим — продолжу переводить и выкладывать.

Конспект лекций — Питер Тиль (курс: CS183) Стартап — Стэнфорд, весна 2012 г.


Занятие 1: Вызов будущего
Занятие 2: Снова как в 1999?
Занятие 3: Системы ценностей
Занятие 4: Преимущество последнего хода
Занятие 5: Механика мафии
Занятие 6: Закон Тиля
Занятие 7: Следуйте за деньгами
Занятие 8: Презентация идеи (питч)
Занятие 9: Все готово, а придут ли они?
Занятие 10: После Web 2.0
Занятие 11: Секреты
Занятие 12: Война и мир
Занятие 13: Вы — не лотерейный билет
Занятие 14: Экология как мировоззрение
Занятие 15: Назад в будущее
Занятие 16: Разбираясь в себе
Занятие 17: Глубокие мысли
Занятие 18: Основатель — жертва или бог
Занятие 19: Стагнация или сингулярность?
Читать дальше →
Всего голосов 86: ↑76 и ↓10+66
Комментарии33

Ликбез по IonCube

Время на прочтение5 мин
Количество просмотров141K
IonCube — это набор утилит для командной строки, которые позволяют производить кодирование, обфускацию и лицензирование исходного кода, написанного на языке php.
Функционал IonCube очень обширен что бы о нем можно было написать в одной статье. Под катом я опишу основной функционал IonCube, который необходим для защиты кода от не лицензионного использования.

Читать дальше →
Всего голосов 24: ↑11 и ↓13-2
Комментарии18

На что нужно обращать внимание при открытии небольшого Интернет-магазина

Время на прочтение9 мин
Количество просмотров122K
На что нужно обращать внимание при открытии небольшого Интернет-магазина

В России рынок электронной коммерции растет очень быстро. Для тех, кто не имеет опыта открытия интернет-магазина, но задумывается об этом, описываю ключевые особенности построения данного бизнеса и основные моменты, на которые необходимо обращать внимание.
Большинство рекомендаций посвящены тем, у кого нет бюджета на создание крупного интернет-магазина. Примерная сумма затрат на небольшой магазин от 50 000 до 1 млн. руб.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии6

Простая замена phpMyAdmin для гиков

Время на прочтение2 мин
Количество просмотров14K
Довольно часто возникает ситуация, когда надо быстренько запустить пару запросов к MySQL базе у клиента на сервере. При этом есть только FTP и параметры соединения с СУБД. Самый простой выход — загрузить туда phpMyAdmin, ну а дальше дело техники. Обычно все это проиcходит на фоне того, что у клиента уже установлена какая-то CMS — WordPress, Drupal, Joomla…

Я люблю простые, красивые и удобные вещи. Я тепло отношусь к phpMyAdmin но в 90% моих Use Cases мне он не нужен. Нужно что-то простое. В идеале такое, что можно просто залить на сервер и открыть в браузере — не настраивая.

Пара вечеров и пакет готов.
Читать дальше →
Всего голосов 120: ↑114 и ↓6+108
Комментарии116

Наглядный пример использования замыканий в PHP

Время на прочтение2 мин
Количество просмотров12K
Начиная с версии 5.3, PHP позволяет создавать замыкания. К сожалению, пример их использования в официальной документации http://www.php.net/manual/en/functions.anonymous.php#example-163 (example 3) обладает редкой изощрённостью и надуманностью. Надеюсь, пример под катом поможет увидеть в замыканиях другое применение, кроме как с функциями типа array_map().
Читать дальше →
Всего голосов 60: ↑41 и ↓19+22
Комментарии40

Три ключевых принципа ПО, которые вы должны понимать

Время на прочтение13 мин
Количество просмотров233K

Разрабатывая приложения, мы постоянно сталкиваемся с новыми подходами, языками и концептами. И постоянно мы мечемся в сомнениях «смогу ли я быть на волне, оставаться конкурентоспособным, учитывая все изменения и тренды?». Давайте задумаемся на мгновение, вспомнив фразу из моего любимого фильма «Касабланка» — в любви законов новых нет — так создан свет.

Все, что касается любви, применимо и к коду. Новых законов в коде нет. Если вы четко понимаете основные идеи разработки, вы способны максимально быстро адаптироваться к новым подходам. В этой статье я расскажу вам о трех основных принципах, которые, наряду с другими, позволяют регулировать сложность разработки. Я поделюсь своим видением вопроса, которое, надеюсь, поможет вам в повседневной работе.
Читать дальше →
Всего голосов 142: ↑128 и ↓14+114
Комментарии56

RESTful API для сервера – делаем правильно (Часть 1)

Время на прочтение13 мин
Количество просмотров333K
В 2007-м Стив Джобс представил iPhone, который произвел революцию в высокотехнологичной индустрии и изменил наш подход к работе и ведению бизнеса. Сейчас 2012-й и все больше и больше сайтов предлагают нативные iOS и Android клиенты для своих сервисов. Между тем не все стартапы обладают финансами для разработки приложений в дополнение к основному продукту. Для увеличения популярности своего продукта эти компании предлагают открытые API, которыми могут воспользоваться сторонние разработчики. Пожалуй Twitter был первым в этой сфере и теперь число компаний, последовавших этой стратегии, растет стремительно. Это действительно отличный способ создать привлекательную экосистему вокруг своего продукта.

Читать дальше →
Всего голосов 73: ↑70 и ↓3+67
Комментарии57

Как повысить эффективность сайта или 5 причин начать использовать Google Analytics

Время на прочтение8 мин
Количество просмотров12K
К написанию этой статьи меня подтолкнул один из самых популярных вопросов, который я регулярно слышу от потенциальных клиентов: как моему бизнесу поможет внедрение системы веб-анализа, которую вы нам советуете использовать? Руководители компаний, директора и менеджеры по маркетингу и рекламе, у которых в России, по большей части, к сожалению, пока достаточно низкое понимание принципов веб-маркетинга, хотят видеть реальные примеры того, как внедрение таких систем как Google Analytics и Яндекс Метрика может помочь их бизнесу. Обычно клиенты имеют базовое представление о возможностях таких систем и используют их возможности по минимуму: следят за посещаемостью своих сайтов, знают, откуда к ним приходят посетители, имеют общее представление о показателе отказов и приблизительно знают значение конверсии на своих сайтах. Если и Вы, уважаемые читатели, считаете, что этого достаточно для измерения эффективности Вашего сайта и рекламных кампаний (будь то контекстная реклама, SEO или любой другой способ привлечения посетителей на Ваш сайт), то значит, что Ваши конкуренты, которые активно используют системы статистики, или уже Вас обогнали, или скоро обгонят.

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

Читать дальше →
Всего голосов 52: ↑45 и ↓7+38
Комментарии4

PHP. Собеседование в вопросах и ответах

Время на прочтение1 мин
Количество просмотров84K
imageНекто Андрей Шевченко составил, структурировал и выпустил в виде бесплатной PDF книги список вопросов, которые всенепрменнно могут встретится(и чаще всего встречаются) любому PHP программисту на самом стандартном собеседовании. Более того — каждый вопрос снабжен достаточно подробным ответом.

Читать дальше →
Всего голосов 118: ↑75 и ↓43+32
Комментарии432

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

Время на прочтение7 мин
Количество просмотров60K
Ну вот дошли руки до следующей части.
Сегоня расскажу что знаю про американский бухучет применительно к к нашей alien`ской конторе и налоги.

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

Немного о хэшах и безопасном хранении паролей

Время на прочтение4 мин
Количество просмотров71K
Upd. Если вы знаете, что такое BCrypt, можете дальше не читать. Если вы используете PHP 5.5+ то можете прочитать эту статью. Ниже же я изобрел свой велосипед, рабочий, но с двумя рулями, задний запасной. Молод был, горяч.

Привет, хабр! Сегодня, в процессе разработки системы аутентификации для своего проекта передо мной встал выбор — в каком виде хранить пароли пользователей в базе данных? В голову приходит множество вариантов. Самые очевидные:

  • Хранить пароли в БД в открытом виде.
  • Использовать обычные хэши crc32, md5, sha1
  • Использовать функцию crypt()
  • Использовать статическую «соль», конструкции вида md5(md5($pass))
  • Использовать уникальную «соль» для каждого пользователя.

Читать дальше →
Всего голосов 71: ↑57 и ↓14+43
Комментарии100

Защищаем сайт от атак на примере ХабраХабра

Время на прочтение5 мин
Количество просмотров16K


Рано утром Хабр «выкатил» своё новое обновление, и я с чистой совестью достаю эту статью из черновиков.
Вчера у меня случился epic fail и этот топик частично, включая строчку об апдейте выше, попал в паблик на пару секунд. За эти секунды топик успело плюсануть несколько человек.
Ещё раз, теперь публично, прошу прощения у администрации!
Совет остальным — НИКОГДА не храните в черновиках информацию вроде этой.


В последнее время в сети Интернет можно найти очень много пособий для «Начинающих хакеров», в которых подробно описываются все основные методы взлома сайтов. Думаете, веб-разработчики стали от этого умнее и предприняли все возможные методы для защиты? Я так не думаю.

В настоящей статье я хочу ещё раз поведать разработчикам о том, как ломают сайты, а чтобы вам не было скучно, я попутно буду ломать Хабр и подробно описывать, как я это делал. Мы рассмотрим такие интересные штучки, как «Активная XSS в профиле», «Бесконечное обнуление кармы», «Публикация топиков со значком 'Из песочницы'», «CSRF через Flash и дыру в Internet Explorer 6» и многое другое.

Все уязвимости уже исправлены. Ну или почти все. Поэтому, если вы найдёте очередную дыру, то пишите на support@habrahabr.ru — миф о том, что эту почту никто не читает всего лишь миф.
Читать дальше →
Всего голосов 256: ↑240 и ↓16+224
Комментарии82

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

Время на прочтение3 мин
Количество просмотров72K
Знаете ли вы, что письмо потенциальному клиенту с коммерческим предложением лучше всего отправлять с полудня и до трёх часов дня, лучший день для приглашения на вечеринку — пятница, а рекламные рассылки интернет-магазинов лучше всего делать с 19 и до 22 часов?

Наверняка многим знакома ситуация, когда ломаешь голову над тем, когда лучше отправить рассылку с оповещением, например, о новой акции или коммерческое предложение потенциальному клиенту. Если отправить в пятницу вечером — прочитают ли? Или подождать до утра понедельника? Что лучше — писать в канун праздника или в праздники, в разгар рабочего дня или вечером? К счастью, на эту тему накоплена огромная статистическая база и в этой статье мы поделимся с вами простыми правилами эффективного email маркетинга — в какой день и в какое время писать важные письма в зависимости от их темы.

Начнём с того, как выбрать день для отправки вашего письма.



Под катом — расшифровка данных и материал о выборе времени для отправки в течение дня.

Читать дальше →
Всего голосов 47: ↑42 и ↓5+37
Комментарии9

AssetManager: как форсировать получение пользователем обновленной статики

Время на прочтение5 мин
Количество просмотров19K
При разработке веб-приложений существует одна общеизвестная проблема. Мы, программисты, пишем новый javascript-код, стили в css, меняем статику… И статика эта как правило кешируется браузером пользователя и может оставаться в кеше на довольно долгое время (и это на самом деле правильно, ибо может ускорить загрузку страниц в разы).

Но что же делать, если мы поменяли статику? Как заставить пользователя сбросить кеш и обновить эти файлы? Существуют некоторые общепринятые способы, например, добавлять версионную метку к имени файла, или добавлять временную метку в GET-параметре при подключении файла.

В случае, если вы используете фреймворк Yii, вы также можете указывать версии или временные метки у файлов скриптов и стилей при подключении, однако за этим постоянно нужно следить, а в случае Yii еще и следить за отсутствием конфликтов (когда, допустим, виджет и вьюшка используют один и тот же скрипт, но с разными временными метками).
Собственно говоря, в Yii можно организовать более цивилизованный подход к этому делу.
Об этом то я и приглашаю вас почитать
Всего голосов 37: ↑36 и ↓1+35
Комментарии15

Начала отладки и профилирования веб-приложений

Время на прочтение8 мин
Количество просмотров19K

Вступление


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

Особенности веб-приложения делают его разделенным на две части: клиентскую и серверную. На стороне клиента работает код на JavaScript (может быть, где-то можно найти и VBScript, но мы, пожалуй, не будем рассматривать этот случай), на серверной же — много что, в принципе, но мы рассмотрим PHP, наиболее популярный язык для серверной части веб-приложений. Так же интересно было бы поговорить об отладке и профилировании Flash-приложений на клиентской стороне, но затронутая тема и так обширна, так что пока оставим это.

Так же можно отнести к задачам отладки клиентского кода анализ и валидацию HTML кода. Это, вроде бы, задача не совсем из области программирования, но также немаловажная.

Некоторые части рассмотренных задач уже рассматривались в других статьях, и я предоставил на них ссылки.
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Комментарии26

Техническое задание на сайт

Время на прочтение11 мин
Количество просмотров698K
UPD: Продолжение статьи с примером техзадания

Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

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

Большинство сайтов можно отнести к маленьким и очень маленьким проектам, масштаба единиц человеко-месяцев. В силу малости размеров такие проекты спокойно поддаются хорошему продумыванию и легко реализуются с помощью водопадной модели, достаточно просто не лениться на каждом этапе разработки (от написания ТЗ до сдачи проекта). Применять к этим проектам гибкие методологии разработки нет смысла, а как раз есть смысл применять хорошее ТЗ. К тем сайтам, которые не попадают под водопадную модель не стоит применять описанный ниже подход.

1. Обоснование необходимости ТЗ


А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



Далее много букв
Всего голосов 212: ↑209 и ↓3+206
Комментарии141

Легкий способ начать тестировать

Время на прочтение4 мин
Количество просмотров50K
Если вы PHP-разработчик, и по разным обстоятельствам тесты для своих приложений не пишете, то эта статья для вас. В ней я постараюсь вкратце показать с чего начать и что делать, чтобы написание тестов приносило вам радость, а вашему приложению стабильность.

Итак, первый совет. Забудьте всё что вы знаете о юнит-тестах. Швырните табуреткой в человека, который сказал вам, что без них не обойтись. Попробуем разобраться, в каких случаях нужно их использовать, а в каких — нецелесообразно.
Читать дальше →
Всего голосов 83: ↑61 и ↓22+39
Комментарии54

37signals: почему в нашей компании нет менеджеров

Время на прочтение5 мин
Количество просмотров25K
Перевод статьи Джейсона Фрида (Jason Fried) "Why I Run a Flat Company". Джейсон — один из основателей компании 37signals и соавтор книг "Getting Real" и "Rework".

Несколько месяцев назад в компании 37signals, которую я возглавляю, случилось необыкновенное событие: мы расстались с одним из наших сотрудников. Казалось бы, что в этом необычного? Но дело в том, что в нашей компании подобное происходит крайне редко. За 11 лет работы мы потеряли всего лишь пять человек, причем один из них вернулся к нам семь лет спустя.

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

Читать дальше →
Всего голосов 154: ↑145 и ↓9+136
Комментарии131

DNS сервер BIND (теория)

Время на прочтение21 мин
Количество просмотров498K
Основная цель DNS — это отображение доменных имен в IP адреса и наоборот — IP в DNS. В статье я рассмотрю работу DNS сервера BIND (Berkeley Internet Name Domain, ранее: Berkeley Internet Name Daemon), как сАмого (не побоюсь этого слова) распространенного. BIND входит в состав любого дистрибутива UNIX. Основу BIND составляет демон named, который для своей работы использует порт UDP/53 и для некоторых запросов TCP/53.

Основные понятия Domain Name System


Исторически, до появления доменной системы имен роль инструмента разрешения символьных имен в IP выполнял файл /etc/hosts, который и в настоящее время играет далеко не последнюю роль в данном деле. Но с ростом количества хостов в глобальной сети, отслеживать и обслуживать базу имен на всех хостах стало нереально затруднительно. В результате придумали DNS, представляющую собой иерархическую, распределенную систему доменных зон. Давайте рассмотрим структуру Системы Доменных Имён на иллюстрации:
Читать дальше →
Всего голосов 110: ↑102 и ↓8+94
Комментарии24

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность