Pull to refresh
62
0
Александр @Dr_Logic

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

Send message

О культуре разработки в группах программистов

Reading time 5 min
Views 33K
«Почему ж всё так плохо?» — каждый раз я задаюсь этим вопросом, когда приходится иметь дело с очередным кодом, продуктом или API, созданными для внутренних нужд в непрофильной организации.

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

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

Организация может декларировать строгие стандарты, нанимать дорогостоящих разработчиков, вводить регламенты и методологии, надувать щеки на совещаниях и громогласно обличать «неправильное решение» в чужом продукте. И продолжать делать ужасные продукты с ужасным кодом, вопреки высокой квалификации своих разработчиков и очень правильными и нужными регламентами и стандартами.

Я занимался разработкой ПО в нескольких организациях и по разным причинам несколько раз перенабирал команду с нуля. В итоге пришел к выводу, что качество продукта зависит только от культуры разработки. Всё остальное, включая методологии и стандарты — это инструменты: они необходимы, но одних их не достаточно.

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

Читать дальше →
Total votes 99: ↑91 and ↓8 +83
Comments 151

Большой опрос по алгоритмам

Reading time 1 min
Views 22K
Тема «нужны или не нужны алгоритмы современным разработчикам» на днях в очередной раз всплывала на Хабре и породила множество комментариев. В связи с этим предлагаю следующий опрос.

Сможете ли вы реализовать, пусть и не production ready, этот алгоритм, почти не подсматривая в спецификацию:

UPD: Касательно последнего опроса — было бы очень интересно в комментариях услышать реальные интересные примеры из жизни.
Total votes 55: ↑44 and ↓11 +33
Comments 74

Serge — решение для непрерывной локализации от Evernote

Reading time 3 min
Views 12K
Сегодня я хочу рассказать вам о проекте, над которым я работал (и продолжаю работать) в Evernote с 2008 года, и которое несколько дней назад стало Свободным ПО.



Для многих разработчиков локализация ассоциируется с дополнительным пластом проблем: как поддерживать локализованные ресурсы в актуальном состоянии? А что если языков не 2-3, а 20-30? Как вовремя отправлять новые строки на перевод? А что если во время перевода разработка ушла вперед, и каких-то строк уже нет, а есть новые? Как мержить присланные переводчиками файлы ресурсов? Не секрет, что из-за этого многие просто забивают на локализацию или стараются отложить ее на потом.

Сейчас у Evernote более 150 млн пользователей по всему миру, более 70% этих пользователей находятся за пределами США, каждый месяц мы переводим по 15 тыс. новых слов в 40 с лишним проектах на более чем 26 языков, и выпускаем новые релизы наших продуктов одновременно на всех языках. При этом на техническую поддержку всей этой системы требуется один человек, и то изредка.

Как нам это удается?

Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 20

WSGI/Rack для PHP

Reading time 2 min
Views 13K
Исторически сложилось, что скрипты на PHP запускаются при каждом HTTP-запросе. Запускаясь, скрипт проводит какую-то инициализацию (например, устанавливает соединение с СУБД), после чего анализирует запрос и формирует ответ. Однако, всем прекрасно известно, что в мире Python и Ruby принят другой подход: веб-приложения на этих языках загружаются в память единовременно вместе с веб-сервером (или сервером приложений). Взаимодействие сервера приложений со скриптом осуществляется при помощи стандартных интерфейсов WSGI и Rack. Такой подход, безусловно, не лишён недостатков, главный из которых, пожалуй, связан с резким ростом накладных расходов при размещении большого числа сайтов на одном сервере, однако, обладает и важным преимуществом: инициализация производится лишь однократно, затем скрипт лишь отвечает на входящие HTTP-запросы.
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 25

BemPHP: реализация методологии БЭМ средствами PHP

Reading time 8 min
Views 8.5K
Пришла мне тут как-то мысль освоить PHP, а, как известно, лучший способ изучить язык – это создать на нем велосипед фреймворк. При ковырянии в различных форумах и топиках заинтересовала меня одна методология, которую пропагандируют в уважаемой компании «Яндекс» — БЭМ. Кто ещё не в курсе этой методологии, почитайте на официальной страничке. Так же на Хабре есть публикация «Верстка для самых маленьких. Верстаем страницу по БЭМу» от хабраюзера xnim, в котором все объяснятся на конкретном примере. «Яндекс» написали свои модули и скрипты сборки проектов, однако выполнены они все на Node.js, а вот на PHP обнаружить что-то подобное мне не удалось (хотя, признаюсь честно, я особо и не искал). К тому же, PHP, как объектно-ориентированный язык, дает интересные возможности.


Читать дальше →
Total votes 21: ↑12 and ↓9 +3
Comments 20

Как сделать e-mail рассылки в 5 раз проще и в 5 раз быстрее

Reading time 2 min
Views 12K
160654

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

 

Немного истории


Первое электронное письмо было послано в 1971, и буквально через 7 лет была проведена первая почтовая маркетинговая кампания, которая вылилась в 13 миллионов долларов в продажах. А когда интернет стал доступен широкой аудитории, e-mail маркетинг стал настоящим каналом для привлечения клиентов.

 

Где мы сейчас?


Количество привлеченных клиентов через e-mail рассылку увеличилось в 4 раза за последние 4 года, поставив e-mail маркетинг на второе место по масштабу канала привлечения клиентов в интернет торговле (на первом месте органический поиск). Этот невероятный рост  есть результат нескольких нововведений в интернет рассылках, включая сегментацию аудитории, триггерные рассылки, а/б тесты и много другое. Не смотря на это, управлять всеми этими задачами и находить нужный (самый эффективный) механизм e-mail рассылки крайне сложно.
Читать дальше →
Total votes 27: ↑15 and ↓12 +3
Comments 3

Репликация в Postgresql 9.0

Reading time 3 min
Views 86K
Доброго времени суток. Учитывая, что с момента релиза PostgreSQL 9 прошло уже некоторое количество времени — я решил пощупать одну из его новых функций — нативную репликацию. Как известно, новый механизм основан на пересылке XLOG`a от мастера к слейву. Одним из жирных плюсов можно назвать нормальную обработку ALTER`ов. Иными словами — администратор 9й версии может обойтись без Slony.
Читать дальше →
Total votes 58: ↑51 and ↓7 +44
Comments 42

Реализация Sunburst Chart на JavaScript и HTML5 Canvas

Reading time 7 min
Views 18K

Всем привет! Сегодня хотелось бы рассказать про то, как можно сделать собственные графики на js + canvas буквально в пару сотен строк кода. А заодно вспомнить школьный курс геометрии.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 14

Яндекс.Деньги: прямой платеж с карты

Reading time 2 min
Views 39K
Привет, Хабр!

Сегодня Яндекс.Деньги запустили сервис, о котором нас давно просили пользователи.
Теперь вы можете платить в интернет-магазины не только со своего счета в Яндекс.Деньгах, но и с привязанной к нему банковской карты. Причем привязать ее вы можете онлайн, не отходя от компьютера — никакие походы к банкоматам не потребуются.

Привязать можно карту любого российского банка, а для проведения платежа достаточно ввести CVV/CVC-код вашей карты и платежный пароль в Яндекс.Деньгах.

Никакой дополнительной комиссии за платеж с карты не снимается.

Читать дальше →
Total votes 181: ↑173 and ↓8 +165
Comments 182

Обзор коммуникатора HTC Gratia

Reading time 10 min
Views 9.8K
   Вплотную приблизились к пониманию того, что «Android это якобы здорово», но никак не можете определиться с устройством? Понимаю — их нынче наплодили столько, что иной раз ведущие аналитики путаются в названиях ) Но для того обзоры и пишутся, чтобы давать пользователям представление о том, что каждое устройство представляет собой — я вот, например, сегодня решил рассказать про относительно новый коммуникатор HTC, баннер с которым уже неделю крутится на Хабре. Этакая золотая середина модельного ряда. Осторожно, много картинок.

image

Читать
Total votes 162: ↑113 and ↓49 +64
Comments 147

Первая солнечная станция на расплавленной соли, работающая круглосуточно

Reading time 1 min
Views 9.8K
Как известно, солнечная энергия уже дешевле в производстве, чем ядерная. Но у неё всё равно есть ряд проблем, и одна из них — «прерывистый» характер выработки. Другими словами, ночью солнечная станция не даёт никакой пользы. Но этот дефект тоже можно исправить.

Месяц назад возле Сиракуз (Италия) введена в строй первая в мире станции по концентрации солнечной энергии (concentrated solar power, CSP), которая круглосуточно работает на расплавленной соли.



Здесь вместо фотоэлементов используются параболические зеркала, сфокусированные на трубах с солью, которая способна нагреваться до 550°С. Расплавленная соль поступает в теплохранилище, кипятит воду, а пар крутит турбины.
Читать дальше →
Total votes 108: ↑88 and ↓20 +68
Comments 152

Жизнь разработчика (в картинках)

Reading time 1 min
Views 65K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Total votes 884: ↑700 and ↓184 +516
Comments 132

Настройка торрент клиента Transmission на прошивке Tomato

Reading time 4 min
Views 75K


Intro


Приветствую всех. Хочу поделиться с вами своим опытом настройки клиента Transmission на популярной open source прошивке для роутеров Tomato. Недавно на хабре публиковалась статья Netgear WNR3500L: Превращаем роутер в NAS, где за основу была взята прошивка DD-WRT. Но лично мне DD-WRT не очень понравилась, а функционал торрент качалки с NAS’ом был очень нужен. Поэтому предлагаю познакомиться с альтернативным методом.
Читать дальше →
Total votes 55: ↑53 and ↓2 +51
Comments 44

Если мы не в состоянии производить, то мы не в состоянии и обладать

Reading time 2 min
Views 816
imageМоя цель – простота.
Хозяйственный принцип – это труд.
Нравственный принцип – это право человека на свой труд.
Благополучие производителя зависит, в конечном счете, также и от пользы, которую он приносит народу.


Предлагаю вашему вниманию небольшую выборку цитат из книги «Моя жизнь, мои достижения» Генри Форда. Фраза «они не потеряли актуальность» давно избита, но тем не менее это так, судите сами.

«На мой взгляд, человек иначе и не может, как быть постоянно на работе. Днем он должен думать о ней, а ночью – она ему снится. Идея выполнять свою работу в канцелярские часы, приниматься за нее утром и бросать ее вечером – и до следующего утра не возвращаться к ней ни одной мыслью – как будто очень хороша. Ее можно даже осуществить довольно просто, если только мы согласны иметь над собой кого-нибудь целую жизнь, быть служащими, быть может, даже и самостоятельными служащими, всем чем угодно, но только не директорами или ответственными руководителями. Для человека физического труда является даже необходимостью ограничивать свои рабочие часы – иначе он скоро истощит свои силы. Если он намерен всю жизнь оставаться при физическом труде, то должен забывать о своей работе в то мгновение, когда прозвучит фабричный гудок. Но если он хочет идти вперед и чего-нибудь достигнуть, то гудок для него только сигнал поразмыслить над своим трудовым днем и найти, как бы ему делать лучше прежнего».

Читать дальше →
Total votes 66: ↑57 and ↓9 +48
Comments 114

«Социальная Сеть»: полный обзор фильма от Mashable

Reading time 6 min
Views 29K
image

Внешне фильм «Социальная сеть» – это история проекта Facebook – сайта, созданного в Гарвардском общежитии в 2004 году, который предопределил то, как мы будем взаимодействовать и общаться друг с другом в 21 веке. По своей сути фильм о социальной сети – нечто большее, чем просто история одного сайта. Работа представляет собой взгляд со всех сторон на успех, неудачу и проявления самолюбия и жадности.
Читать дальше →
Total votes 123: ↑95 and ↓28 +67
Comments 95

Камера для лайфблоггинга

Reading time 1 min
Views 967
Если с вами на улице случилась какая-то неприятность, например, вас обрызгала машина или поскользнулись и неудачно упали, и вы видите, что некий прохожий смотрит и с улыбкой нажимает кнопку возле уха — знайте, что через минуту в интернете будет опубликован смешной видеоролик. Так работает новая видеокамера Looxcie, созданная специально для блоггинга в реальном времени.

Видеокамера закрепляется на ухо и постоянно работает. Встроенной памяти хватает на пять часов съёмки в формате MP4, а потом оно начинает перезаписываться поверх старого. В любой момент можно нажать кнопку Instant Clip — и последние 30 секунд видеозаписи через Bluetooth и 3G в вашем смартфоне будут отправлены Facebook или YouTube.

На данный момент Looxcie работает только со смартфонами на платформе Android 2.0, хотя производитель обещает в течение двух месяцев добавить поддержку iPhone.
Total votes 68: ↑58 and ↓10 +48
Comments 69

Dell Inspiron Duo — гибрид нетбука и планшета

Reading time 1 min
Views 2K
Можно сказать что буквально только что компания Dell представила концепцию нового класса устройств — гибрид нетбука и планшета, в виде устройства под названием Dell Inspiron Duo.

Dell-Inspiron-Duo-1
Отнести устройство к определенному из существующих классов сложно, поскольку таковой отсутствует, однако многие уже успели дают ему название «кабриолет».

Чем же так уникален Dell Inspiron Duo в своей конструкции и что представляет из себя внутри?
Читать дальше →
Total votes 68: ↑59 and ↓9 +50
Comments 96

Обзор неттопов на платформе nVidia ION

Reading time 6 min
Views 13K
image

Рассмотрев различные варианты корпусов и ION-based материнских плат, осталось лишь оценить целесообразность самостоятельной сборки системы. Многие ведущие(и не очень) мировые производители предлагают готовые стильные неттопы на платформе nVidia ION. В данный момент, в качестве конкурирующей платформы можно было бы рассматривать Intel G45, да только готовых связок Atom+G45 широкой общественности представлено не было. Основная задача современного HTPC одна – проигрывать FullHD медиа контент через HDMI, а с этим как нельзя лучше справляется графическое ядро GF9400.

Читать дальше →
Total votes 66: ↑63 and ↓3 +60
Comments 66

Стартап шаг за шагом: команда и менторы

Reading time 14 min
Views 37K


Мы продолжаем цикл статей о том, как построить стартап, где рассказываем о каждом шаге на собственном примере. В первой статье мы рассказали о том, как придумать идею, теперь поговорим о команде.
Читать дальше →
Total votes 45: ↑28 and ↓17 +11
Comments 8

25+ видеоуроков по Android для начинающих

Reading time 2 min
Views 413K

Приветствую вас, уважаемый хабрачеловек!
Предлагаю вашему вниманию бесплатно серияю видеоуроков в котрых рассмотренно базовые понятия разработки под Android.
Читать дальше →
Total votes 111: ↑108 and ↓3 +105
Comments 33

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity