Как стать автором
Обновить
264
0
Павел Воронин @huze

Пользователь

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

Регистрация своей фирмы собственными руками, туду-лист

Время на прочтение12 мин
Количество просмотров51K
Дисклаймер: описываю только свой личный опыт и мнения автора могут не совпадать с мнением автора. Статья огромная, читать много.

Пишу эту статью, и представляю себе тебя, читателя Хабра, которой в обеденный перерыв залез почитать что-нибудь для развития. А этот читатель, т.е. ты (да, не отворачивай глаза от букв, именно ты) давно наслышан, что своё дело – это круто. И, может быть, как раз не хватало лёгкого пинка, чтобы выйти из зоны будничного комфорта и что-нибудь, да предпринять.

Эта статья адресована тем, кто уже «на грани». Она почти лишена философии и туманных ссылок, просто тупо туду-лист. Бери и делай. Намеренно избавляю тебя от объяснений, зачем молодому проекту нужна госрегистрация, такая ли уж это свобода – быть собственником и от куда взять деньги на госпошлину. Статья адресована московским стартаперам, гео-патчи от других городов приветствуются в комментариях.
Будем считать, что с формой собственности определились — это ООО и упрощенка 6%. Если кому нужно ИП – там проще, справишься и без этой статьи.

Для создания фирмы необходимо:

Минимальный реквизит для создания своей компании
Подробности под кОтом.
Всего голосов 372: ↑351 и ↓21+330
Комментарии248

Как подружить PHP с консолью Google Chrome

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

Внимание

Статья содержит информацию об устаревшей версии PHP Console.

О новой версии PHP Console 3.0 читайте тут.


PHP Console 1.0





Речь пойдёт об одном чудном расширении для Google Chrome, которое позволяет проксировать вывод ошибок и дебаг сообщений из PHP в консоль Google Chrome, а также отображать их в виде всплывающих popup-уведомлений.
Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии42

Электронная почта на сайтах-сервисах

Время на прочтение6 мин
Количество просмотров3.5K
Данный пост касается не только самих писем, но и способов их использования на пользовательских сервисах. При написании статьи я старался уходить от частностей, разве что приводя их в качестве примера.

Затрагиваемые темы:
  1. Зачем нужно посылать электронные письма пользователю
  2. Когда следует посылать почту
  3. От чьего имени должно приходить письмо
  4. Что необходимо писать в письмах
  5. Обработка ответных сообщений

Многобуквие инсайд
Всего голосов 67: ↑55 и ↓12+43
Комментарии65

Эволюция юнит-теста

Время на прочтение5 мин
Количество просмотров27K
Много слов сказано о том, как правильно писать юнит-тесты, и вообще о пользе TDD. Потом ещё и какое-то BDD замаячило на горизонте. Приходится разбираться, что из них лучше и между ними какая разница. Может, это и есть причина, почему большинство разработчиков решили не заморачиваться и до сих пор не используют ни того, ни другого?

Коротко: BDD — это дальнейшее развитие идей TDD, стало быть, его и надо использовать. А разницу между TDD и BDD я попробую объяснить на простом примере.

Рассмотрим 3 ревизии одного юнит-теста, который я нашёл в одном реальном проекте.

Попытка номер №1


Первая версия этого юнит-теста была такой:
Читать дальше →
Всего голосов 88: ↑84 и ↓4+80
Комментарии68

MRP — золотая жила для консультантов. Но не для бизнеса

Время на прочтение9 мин
Количество просмотров10K
Окончательный текст этой статьи сформировался у меня в голове, когда по телевизору увидел рекламу очередной бритвы. У нее пять лезвий и она — лучшее, что, когда либо, было в бритвенной промышленности. Так утверждает реклама. У меня бритва с тремя лезвиями, хотя до этого у меня была с двумя и прекрасно брила, но мне подарили с тремя. Зачем мне может понадобиться с пятью, я вообще ума не приложу. Но маркетинг побеждает здравый смысл, и люди, несомненно, эту штуку купят, хотя на вопрос «зачем она вам», ответить смогут не всегда. Одна сменная кассета к этой новой бритве из пяти лезвий наверняка будет стоить столько же, сколько вся моя бритва вместе с двумя сменными кассетами. Ниже вы поймете, почему именно этот пример я привел.

В бизнесе тоже маркетинг зачастую побеждает здравый смысл.

Читать дальше →
Всего голосов 84: ↑69 и ↓15+54
Комментарии56

Как поймать «поток», и как сделать так, чтобы он не сорвался

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

Вступление


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

Читать дальше →
Всего голосов 223: ↑212 и ↓11+201
Комментарии130

Настоящее скругление углов картинок на клиенте

Время на прочтение3 мин
Количество просмотров27K
О скруглении углов в html-верстке сказано уже столько, что я пойму тех кто прочитав заголовок иронично улыбнется и подумает «опять 25, ну сколько можно...». Поэтому я постараюсь кратко изложить суть, и сразу предупрежу, что этот метод вы едва ли могли видеть раньше.
Читать дальше →
Всего голосов 161: ↑143 и ↓18+125
Комментарии122

Удачная модель ветвления для Git

Время на прочтение10 мин
Количество просмотров994K
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →
Всего голосов 180: ↑171 и ↓9+162
Комментарии105

По сравнению с тобой большинство людей кажутся тупыми

Время на прочтение3 мин
Количество просмотров13K
В интернет-индустрии большинство людей знают разницу между Firefox и Internet Explorer. Мы также в курсе, что такое FTW и чем отличаются ASP, PHP и RoR. Ну или по крайней мере знаем, что разница есть.

Если ты встретишь стартапщика, который не слышал про Digg, Google Apps или фримиум, ты будешь удивлён. Правильно?

Но это лишь мы, маленькое подмножество дигерати, у которых есть время отслеживать почти всё новое по нашей индустрии. Остальной мир? Абсолютно несведущ в этом плане, и это нормально. Проблема возникает, когда вы пытаетесь предугадать потребности ваших пользователей. Есть вероятность, что они вообще вас не поймут. Несколько примеров.
Читать дальше →
Всего голосов 275: ↑250 и ↓25+225
Комментарии195

Макет бизнес модели

Время на прочтение1 мин
Количество просмотров31K
Недавно под руку попался png файл, позволяющий соориентироваться при создании бизнес-плана. Он представляет собой простой макет, в который нужно просто вписать значения, присущие вашему бизнесу. Для упрощения есть подсказки, примеры и ключевые вопросы. Так же этот документ может пригодится во время подготовки презентации для встречи с инвесторами. Под катом превью макетов и ссылки на оригинал, переведенный мною вариант и на него же в формате psd.
Читать дальше →
Всего голосов 63: ↑58 и ↓5+53
Комментарии26

Ну очень простая идея, которая повышает эффективность тестирования в разы

Время на прочтение3 мин
Количество просмотров14K
Как обычно строят процесс тестирования непросветлённые тест-менеджеры?

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

Релиз.

Не работает основной функционал.

Почему такое возможно?

1. Заведение всех подряд ошибок мешает разработке. Разработчики тратят своё время на исправление минорных ошибок и вносят новые, зачастую более серьёзные.

2. Потраченное на мелочи время не дало возможности проверить более серьёзные пользовательские сценарии и найти более критичные дефекты.

3. Обратная связь по статусу сборки предоставлялась разработчикам с запозданием: вместо критичных дефектов непрерывно сыпались миноры.

4. Проектный паттерн «дохлая рыба» сыграл своё дело: все участники команды прекрасно понимали, что протестировать всё нельзя, и это не могло не сказаться на качестве работы. А реалистичных целей им никто не поставил…

Что просветлённые тест-менеджеры делают по-другому?

Что они поменяют в первую очередь?
Читать дальше →
Всего голосов 87: ↑74 и ↓13+61
Комментарии55

Разбираемся с Notifications API

Время на прочтение2 мин
Количество просмотров7.3K
Продолжаю серию переводов статей сайта html5rocks. Мы уже говорили про то, как внедрять шрифты, как работать с видео, сегодня мы поговорим про то как делать всплывающие сообщения в браузере с помощью Notifications API. Работает оно к сожалению пока только в Хроме, но есть уже начальная версия спецификации. Под катом подробности.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии9

Когда не нужна тригонометрия

Время на прочтение4 мин
Количество просмотров53K
Просматривая различный код по выводу на экран какой-нибудь даже примитивной графики, я заметил чрезмерную любовь некоторых программистов к тригонометрии. Часто код пестрит синусами, косинусами и арктангенсами там, где без них можно обойтись. Этим грешат даже хорошие программисты, которые способны спроектировать сложную систему, но почему-то не освоили вектора в объёме школьной программы. Буквально азов векторной алгебры хватает для решения многих насущных проблем. В этом топике я хочу провести краткий ликбез, напомнить основные действия с векторами на плоскости и в качестве примера решить две задачи без тригонометрии: поиск отражённого луча по падающему лучу и произвольно расположенному зеркалу, а также рисование наконечника стрелки. Если вы можете представить в голове рисование произвольно направленной стрелки без синусов и косинусов, смело пропускайте этот топик. Для остальных постараюсь объяснять попроще.
Читать дальше →
Всего голосов 219: ↑209 и ↓10+199
Комментарии67

Непрерывная интеграция и TeamCity

Время на прочтение4 мин
Количество просмотров102K
Непрерывная интеграция (англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной. Она может непредсказуемо задержать окончание работ. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.

imageВ этом топике мы в общих чертах рассмотрим процесс реализации непрерывной интеграции на примере TeamCity Enterprise 6.0 EAP (build 15400) и обратим внимание на применении инструментов рассмотренных в прошлой теме: Обеспечение качества программного продукта.
Читать дальше →
Всего голосов 49: ↑44 и ↓5+39
Комментарии49

Рой дронов поднимет WiFi на месте катастрофы

Время на прочтение2 мин
Количество просмотров4K
В работе служб МЧС и спасателей, которые устраняют последствия стихийного бедствия иди техногенной катастрофы критически важный фактор — надёжная связь. Но иногда катастрофы происходят в чрезвычайно удалённой местности, где работают только спутниковые телефоны. Как поднять нормальную сеть для всей группы?



Лаборатория саморегулирующихся систем в Политехническом институте Лозанны разработала проект SMAVNET (The Swarming Micro Air Vehicle Network), который должен решить эту проблему. Они предлагают использовать роевую сеть из десяти беспилотных летательных аппаратов, которые в считанные минуты организуют беспроводную сеть на обширной территории. Достаточно бросить их в воздух (видеосъёмка процесса развёртывания сети под хабракатом).
Читать дальше →
Всего голосов 105: ↑96 и ↓9+87
Комментарии115

Запуск хостинга clodo.ru

Время на прочтение2 мин
Количество просмотров28K
clodo.ru
Привет, Хабрахабр!

С радостью сообщаем, что с 22 числа мы официально запустили наш облачный хостинг clodo.ru, о котором некоторые здесь уже знают.

Приглашаем всех зарегистрироваться на clodo.ru…
Читать дальше →
Всего голосов 99: ↑64 и ↓35+29
Комментарии384

phpDaemon и runkit: новый уровень

Время на прочтение3 мин
Количество просмотров3.9K
Сегодня я поведаю о новых вкусных плюшках phpDaemon, в том числе предоставленных PHP-модулем runkit.

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

Разверзнуть врата рая
Всего голосов 72: ↑63 и ↓9+54
Комментарии61

Evercookie — самые устойчивые куки

Время на прочтение1 мин
Количество просмотров74K
Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?
Читать дальше →
Всего голосов 111: ↑107 и ↓4+103
Комментарии68

Как работают алгоритмы сортировки

Время на прочтение1 мин
Количество просмотров22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами. Вы сможете посмотреть анимацию в зависимости от алгоритма, исходных данных.



Все это бегает и сортируется прямо на ваших глазах!

Работает на Google App Engine, видимо, поэтому и лежит от посетителей с «Хабра».
Всего голосов 185: ↑151 и ↓34+117
Комментарии63

Singleton (Одиночка) или статический класс?

Время на прочтение6 мин
Количество просмотров195K
Статья будет полезна в первую очередь разработчикам, которые теряются на собеседованиях когда слышат вопрос «Назовите основные отличия синглтона от статического класса, и когда следует использовать один, а когда другой?». И безусловно будет полезна для тех разработчиков, которые при слове «паттерн» впадают в уныние или просят прекратить выражаться :)

Что такое статический класс?


Для начала вспомним что такое статический класс и для чего он нужен. В любом CLI-совместимом языке используется следующая парадигма инкапсуляции глобальных переменных: глобальных перменных нет. Все члены, в том числе и статические, могут быть объявлены только в рамках какого-либо класса, а сами классы могут (но не должны) быть сгруппированы в каком-либо пространстве имен. И если раньше приходилось иммитировать поведение статического класса с помощью закрытого конструктора, то в .NET Framework 2.0 была добавлена поддержка статических классов на уровне платформы. Основное отличие статического класса от обычного, нестатического, в том, что невозможно создать экземпляр этого класса с помощью оператора new. Статические классы по сути являются некой разновидностью простанства имен — только в отличие от последних предназначены для размещения статических переменных и методов а не типов.

Готовимся к собеседованию дальше?
Всего голосов 70: ↑58 и ↓12+46
Комментарии84

Информация

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