Pull to refresh
0
0
Александр Ганский @gandi

User

Send message

Tesla Motors огласила план европейской экспансии

Reading time1 min
Views95K


В преддверии Женевского автосалона американская компания Tesla Motors огласила план широкомасштабного расширения бизнеса в Европе.

Tesla намерена открыть более 30 сервисных центров и автосалонов на континенте. Кроме того, компания будет продолжать расширение сети электрозаправочных станций Supercharger. Сейчас таких станций всего 14, из них 11 расположены в Германии и Норвегии. К концу 2014 года Tesla обещает увеличить их количество в несколько раз и расширить «зону доступности» почти на всю территорию Западной Европы.
Читать дальше →
Total votes 68: ↑63 and ↓5+58
Comments115

ВКонтакте раскрыла свою статистику

Reading time1 min
Views137K
11 сентября сайт vk.com переходит с TNS на LiveInternet и ComScore, а также раскрывает свою статистику посещений, которую можно посмотреть тут. Из этой статистики мне показалось интересным статистика по браузерам, OC и разрешениям экранов.

Читать дальше →
Total votes 78: ↑72 and ↓6+66
Comments211

GodMode in Backyard Monsters или «А как вы обмениваетесь данными с приложением»

Reading time3 min
Views11K
Публикация со слов знакомого.

Однажды меня пригласили поиграть в игру Backyard Monsters на Google+. Игра не плохая, в интернетах пишут что это чуть ли не #1 игра в соцсетях. Играл я себе играл, и однажды (как любому программисту) стало скучно играться дальше. Долгие ожидания выполнения заданий, высокая стоимость действий (апгрейды, захват новых баз) превратили игру в некое подобие фермы — зашел, «собрал урожай» (пофармил нубов, неписей), поставил апаться какой нибудь домик на много часов (некоторые по неделе и больше апгрейдятся). Возникла мысль о написании бота. Тут и начались удивления от ДЫРЫ в безопасности.
Как стать богом
Total votes 21: ↑20 and ↓1+19
Comments5

Плакаты на IT тематику

Reading time1 min
Views29K
Почитывая «Банду четырех», всё чаще думаю как хорошо было бы иметь отдельный плакат на стену в офисе, резюмирующий и объясняющий шаблоны проектирования. Как здорово было бы не держать все их в голове, а имея проблему, взглянуть и найти подходящее решение. Но найти подходящий постер оказалось не так то просто, да и тот оказался не идеальным.
Читать дальше →
Total votes 69: ↑57 and ↓12+45
Comments38

Проектирование и реализация функционала: протоптанные тропинки и проложенные дорожки

Reading time3 min
Views2.3K
Хочу начать с описания одного случая:

Святослав Фёдоров лично руководил строительством своей больницы. И вместо того, чтобы заранее обдумывать расположение дорожек и асфальтировать их, он подождал, пока люди сами протопчут тропинки там, где им удобно ходить. Потом осталось просто проложить дорожки на месте тропинок.

Задумайтесь и вспомните, сколько раз вы видели по-идиотски проложенные дорожки и тропинки, которые люди протаптывают в обход, как им удобно.

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

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

К сожалению, многие не просто заранее по-идиотски прокладывают дорожки, но и возмущаются потом, что люди ходят там, где им удобно, ставят заборы, вспахивают тропинки и заново засевают газон и т.д.

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

Пример, как действовать согласно описанному подходу:

Оффтоп в блогах и форумах
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments6

Руководство для маленьких, или как Василий Бубликов стал начальником

Reading time6 min
Views5.6K
Что из себя представляет руководство на самом деле, или каким оно должно быть?
К сожалению в наших реалиях хороший руководитель — большая редкость. Возможно, некоторые мысли помогут некоторым «свежеиспеченным» руководителям не наступить на старые ржавые грабли. Тем кто не связан с руководством — поможет понять в чем заключается работа руководителя. А, умудренные руководящим опытом, я надеюсь, выскажутся в комментариях, и поделятся своим опытом.

В этой статье не пойдет речи об организации процессов. Здесь будет затронута только тематика рабочих взаимоотношений.
Читать дальше →
Total votes 60: ↑51 and ↓9+42
Comments81

Мужская психология в программировании

Reading time3 min
Views7.6K
image
В программировании занято гораздо больше мужчин, чем женщин. С этим фактом не поспоришь, поэтому любому руководителю необходимо учитывать психологию мужчин в программировании.

Обратимся к древним временам, когда мужчина охотился на мамонтов, а женщины сидели дома, рожали детей и готовили еду. Чтобы охотиться, мужчина очень долго готовился, точил топор, готовил стрелы и лук. Потом он долго сидел в засаде и наконец делал выстрел или наносил удар. Эта особенность поведения трансформировалась и дожила до наших дней. Мужчину отличает способность к повышенной концентрации на выполняемой работе. Это большой плюс и большой минус. В отличие от женщины мужчина не может выполнять несколько дел одновременно.
Читать дальше →
Total votes 244: ↑176 and ↓68+108
Comments117

Программирование для начинающих: как стартовать и куда двигаться?

Reading time2 min
Views389K
Бывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля. И тут он зачастую просто теряется, не понимая, с чего начать, и нуждаясь в хорошем фундаменте и системном подходе.

Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)

UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.

Читать дальше →
Total votes 90: ↑58 and ↓32+26
Comments106

Symfony2 Dependency Injection в разрезе

Reading time7 min
Views33K
Из статьи можно узнать как стартует и работает приложение Symfony2. Мне бы хотелось продолжить цикл статей про этот современный фреймворк и уделить более пристальное внимание такому компоненту как Dependency Injection (DI — внедрение зависимости) так же известный как Service Container.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments14

Приложение Symfony2 в разрезе

Reading time6 min
Views24K
Наблюдая открыв рот за виртуозным фокусником и его красивыми помощницами, многие, однако, сосредоточенны совсем на другом: как он это делает? как там все устроенно внутри?


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

Эта статья — попытка разобраться, как происходит инициализация приложения и что же такое «Ядро Symfony2».
Посмотреть что внутри
Total votes 88: ↑80 and ↓8+72
Comments21

Создание лендингов: как с их помощью повысить конверсию, и чем хороший лендинг отличается от плохого. Часть 1

Reading time4 min
Views36K

Landing page — достаточно важная часть маркетинговой компании, с ее помощью потенциальный клиент узнает о вашем продукте. Поэтому мы решили поделиться статьей Peep Laja о том, почему к продающим страницам относятся критически, и над какими составляющими надо поработать, чтобы создать эффективную landing page. Ниже — первая часть статьи, в которой автор размышляет о причинах создания неудачных лендингов и приводит их примеры. Статья написана от первого лица. Для сравнения мы подобрали также пару примеров качественных лендингов.

А был ли лендинг?

Вы ведь сталкивались с длинными продающими страницами? Да, на них все подробно расписано, однако в большинстве случаев их эффективность оставляет желать лучшего: низкое качество исполнения лишает эти страницы привлекательности для целевой аудитории.
Читать дальше →
Total votes 36: ↑23 and ↓13+10
Comments13

Материальное стимулирование программистов. Грабли, пряники и плети

Reading time6 min
Views72K


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

Поэтому, в первой части предлагаю сделать легкое лирическое отступление.
Читать дальше →
Total votes 98: ↑65 and ↓33+32
Comments175

Scrum — как эффективно работать без project-менеджера

Reading time22 min
Views94K

Вместо введения


За последние 3 года работы мне довелось работать в самых различных ипостасях: исследователем, разработчиком и руководителем проектов. Есть различные стили управления: западный (когда предоставляется большая свобода в коллективе и многое построено на доверии, уважении, личной организованности отдельного индивидуума) и восточный (когда штрафуется каждое опоздание, жестко фиксируются сроки, во главе угла стоит железная дисциплина коллектива и если человек не справился с поставленными целями — наступает расставание). Руководитель проекта должен сочетать в себе два этих элемента: яблоко и кнут, подпускать людей к себе, чтобы разработчики вам доверяли, но и соблюдать субординацию, так как отношение-отношениями, а нацеленность на результат должна быть всегда.

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

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

image
Читать дальше →
Total votes 30: ↑19 and ↓11+8
Comments42

Реализация REST API на Symfony2: правильный путь

Reading time18 min
Views57K
REST
Создание REST API это нелегкая задача. Нет, серьезно! Если вы хотите написать API правильно, вам придется о многом подумать, решить, быть прагматиком, или API маньяком. REST это не только GET, POST, PUT и Delete. На практике, у вас могут быть взаимодействия между ресурсами, нужно перемещать ресурсы куда-то еще (к примеру внутри дерева), или вы захотите получить конкретное значение ресурса.

В данной статье собрано все, чему я научился реализуя различные API сервисы, используя для этих целей Symfony2, FOSRestBundle, NelmioApiDocBundle и Propel. К примеру сделаем API для работы с пользователями.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments25

Что дешевле: новое железо или труд разработчиков?

Reading time4 min
Views36K
На данную статью меня сподвиг следующий пост «Как улучшить свой стиль программирования?» плюс недавний спор среди коллег.

Представьте себе такой диалог:

Админ: Господа, разработчики, ваш код на сервере стал поедать много оперативки. Сервер уже свопиться начинает. Сами понимаете, все может встать колом!
Представитель разработчиков (например, тимлид): Блин, беда. Сейчас займемся проблемой.
Эй, команда, нас тут админы стыдят за неоптимальный код. Нужно срочно все бросить и оптимизировать старый код.
Менеджер проекта: Эй, вы куда? Какая оптимизация? Пусть админы докупят памяти в сервера и проблемы нет. А у вас вон кучу нового функционала нужно разработать. Никакой оптимизации! Сосредоточьтесь на новом функционале. Нам нужно опередить конкурентов с новыми фичами. Потом как-нибудь оптимизируете свой код.

И кто по вашему прав? Что нужно сделать? Сделать апгрейд железа или заняться оптимизацией?
В конце статьи будет голосование.
Читать дальше →
Total votes 67: ↑52 and ↓15+37
Comments161

Безопасное развертывание ElasticSearch сервера

Reading time5 min
Views22K
После успешного перехода c MongoDB полнотекстового поиска на ElasticSearch, мы успели запустить несколько новых сервисов работающих на Elastic'е, расширение для браузера и в общем и целом, я был крайне доволен миграцией.

Но в бочке меда, оказалась одна ложка дегтя — примерно через месяц после конфигурации и успешной работы, LogEntries / NewRelic в один голос закричали о том, что сервер поиска не отвечает. После логина на дешбоард Digital Ocean'a, я увидел письмо от поддержки, что сервер был приостановлен в связи с большим исходящим UDP трафиком, что скорее всего свидетельствовало о том, что сервер скомрометирован.
Читать дальше →
Total votes 35: ↑27 and ↓8+19
Comments12

SDCast. Подкаст о разработке ПО и его окрестностях

Reading time1 min
Views2.9K
image Всем привет!
Software Development podCAST посвящен разработке программного обеспечения. Вместе с гостями мы обсуждаем такие темы как проектирование, написание, тестирование и поддержка ПО. Говорим о современных подходах и тенденциях в мире разработки.
В каждом выпуске гости, профессионалы из мира ИТ, делятся опытом и рассказывают о своих достижениях. В SDCast уже приняли участие Роман Дворнов, создатель фреймворка Basis.js, Андрей Яманов, организатор митапов MoscowJS, Денис Шевченко, автор книги «О Haskell по-человечески» и другие.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments7

Как откликаться на проекты на фрилансе

Reading time2 min
Views68K


Здравствуйте, в статье я бы хотел дать несколько замечаний и рекомендаций о том, как надо откликаться на проекты на фрилансе. Мнение будет субъективное, основанное на моем немалом (скриншот со статистикой выше) опыте работы с фрилансерами (программисты, верстальщики, дизайнеры, иллюстраторы). Хотелось бы так же в комментариях получить советы и от остальных пользователей.

Цель — начать получать чуть больше адекватных ответов на свои проекты. Есть ощущение, что я часто не сотрудничал с крутыми специалистами только из-за их некачественного отклика.

Важно, что использование этих рекомендаций не гарантирует, что вас выберут, а лишь повышает шансы на это.
Читать дальше →
Total votes 68: ↑52 and ↓16+36
Comments51

Создание воронок сайта и измерение конверсии за чашкой кофе без строчки кода

Reading time3 min
Views16K
Вы уже знаете про огромное количество сервисов сессионной аналитики. Когда анализ делается на основе открытия страниц. Яндекс Метрика и Гугл Аналитика.

Сейчас появляются сервисы событийной аналитики – когда анализ делается на основе событий совершаемых пользователем на сайте. Она может быть намного точнее, так как собираются данные только по конкретным событиям. Например, Mixpanel.com.
Но в таких сервисах самая большая проблема – внедрение. Нужно понимать языки программирования, владеть навыком нажимания правой кнопки мыши и запускания консоли браузера. Мы решили эту проблему.
image

Читать дальше →
Total votes 32: ↑21 and ↓11+10
Comments13

MVC система в Zend Framework 2

Reading time9 min
Views31K
Здравствуйте дорогие хабражители.
Совсем недавно вышел в свет Zend Framework 2. Однако его изучение у многих усложняет отсутствие русской документации и единого сообщества. Так же во второй ветке этого фреймворка появилось множество нововведений и плюшек, про который обычный PHP программист раньше даже не слышал. Но их можно изучить особо не потея. А вот понять, как работает ZF2 без понимания логики работы его MVC системы достаточно затруднительно. Поэтому решил сделать перевод с официального сайта именно этого раздела.И так приступим.

MVC в Zend Framework 2



Zend\Mvc представляет собой совершено новую реализацию MVC системы для Zend Framework 2. Основное внимание было уделено производительности и гибкости.

Слой MVC построен на основе следующих компонентов:

  1. Zend\ServiceManager — Zend Framework предоставляет набор различных сервисов, определенных в Zend\Mvc\Service. ServiceManager создает и настраивает экземпляр вашего приложения и рабочего процесса.
  2. Zend\EventManager – MVC является событиями. Данный компонент используется повсеместно. Для начальной загрузки приложения, возврата ответов (response) и запросов (request), настройки и получения маршрутов (routes), а так же для обработки (render) скриптов вида (views).
  3. Zend\Http – особый объект запросов (request) и ответов (response). Используется с Zend\Stdlib\DispatchableInterface. Все контроллеры представляют собой объекты «dispatch».

В MVC слое используются следующие вспомогательные компоненты:

  1. Zend\Mvc\Router – содержит классы, обеспечивающие маршрутизацию запросов. Другими словами, перенаправляет запросы к нужным контроллерам.
  2. Zend\Http\PhpEnvironment – предоставляет набор декораторов объектов HTTP запросов и ответов, обеспечивающих инъекцию запросов в текущую среду (включая GET и POST параметры, HTTP заголовки).
  3. Zend\Mvc\Controller – набор абстрактных классов контроллеров с базовой функциональностью, такой как создание событий, диспетчеризацией действий и т.д.
  4. Zend\Mvc\Service – набор ServiceManager фабрик и определений по умолчанию для различных процессов приложения.
  5. Zend\Mvc\View – предоставляет стандартные возможности визуализации скриптов вида, регистрации помощников и многое другое. Так же предоставляет различные слушатели, которые «связывают» рабочий процесс MVC, обеспечивая такие функции, как автоматическое разрешение имен шаблонов, автоматическое создание модели вида и инъекций, т.д.

Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments5
1
23 ...

Information

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