Search
Write a publication
Pull to refresh
24
0
dmitriy_b @dmitriy_b

User

Send message

Стратегия голубого океана

Reading time3 min
Views93K
Недавно дочитал книгу «Стратегия голубого океана» У. Чан Кима и Рене Моборна. Отдельными моментами напоминает ТРИЗ (Теория Решения Изобретательских Задач) что конечно весьма порадовало. После прочтения сформировался ряд тезисов.

image

Читать дальше →

Полное покрытие кода

Reading time10 min
Views20K
Нужно ли делать полное покрытие кода тестами — довольно-таки частая и неоднозначная тема при обсуждении юнит-тестирования. Хотя большинство разработчиков склоняются к тому, что делать его не надо, что это неэффективно и бесполезно, я придерживаюсь противоположного мнения (по-крайней мере, при разработке на Python). В данной статье я приведу пример, как делать полное покрытие кода, и опишу недостатки и преимущества полного покрытия на основе своего опыта разработки.
Читать дальше →

Советы программисту-дизайнеру интерфейсов

Reading time5 min
Views11K
Нет сложным интерфейсам

Проблема


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

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

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

Читать дальше →

Цифровая модель рельефа — по тени облаков

Reading time1 min
Views3K
В топографической съёмке тени объектов — один из главных врагов, потому что они мешают нормальному распознаванию образов и последующим математическим вычислениям координат объектов. Однако, Натан Якобс (Nathan Jacobs) и его сокурсники из Вашингтонского университета Миссури нашли всё-таки полезное применения «вредным» теням. Они разработали компьютерную программу, которая по теням от облаков создаёт точную 3D-карту местности.

3D-карты местности обычно генерируются при помощи лазерных приборов, которые измеряют расстояние до отражённого объекта. Создать такую карту, имея в распоряжении обычный цифровой фотоаппарат практически нереально, потому что расстояние до объектов и их форму нельзя распознать по фотографии. Однако, движение облаков и их теней меняет ситуацию.
Читать дальше →

Заказчик и субподрядчик. Две ошибки менеджера

Reading time8 min
Views25K
imageВ этом топике я бы хотел поговорить об отношениях между заказчиком и субподрядчиком. Я попробую классифицировать и охарактеризовать основные виды взаимодействия между ними и выделить две ошибки менеджеров, одна из которых приводит к потери клиента, а вторая к потери прибыли. Ну и немного коснемся морально-этических аспектов этих отношений. Эти ошибки очень просты и понятны, однако на эти грабли по прежнему наступают менеджеры и руководители компаний, в результате чего возникают необязательные денежные потери и необоснованные претензии друг к другу.
Читать дальше →

Удобный online мессенджер для интернет магазина

Reading time3 min
Views3.2K
В своем интернет магазине мы используем сервис image, который успел полюбиться одновременно простотой и функциональностью, гибкостью и отличным уровнем доступности.

В этом топике я расскажу, почему мы выбрали именно этот сервис, чем он отличается от конкурентов (а их и вправду много) и как «Большой брат» помогает нам продавать.
Читать дальше →

Отвечаем: как организовать мероприятие

Reading time4 min
Views1.6K
Эта статья является расширенным ответом на статью «Как организовать мероприятие». Написана она на основании личного опыта организации встреч User Group в родном городе.

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

Читать дальше →

Как фрилансеру распознать нежелательного заказчика?

Reading time3 min
Views5.3K
Я более 4 лет работаю фрилансером и имею опыт общения с различными заказчиками, опыт разработки различных проектов. Свой опыт я постарался обобщить, создав небольшую памятку, а вернее «стоп-лист», которым теперь пользуюсь для раннего отсева заказчиков, работа с которыми не приносит ни радости, ни выгоды. Мне он помогает экономить время и нервы. Надеюсь, он будет полезен и вам, если вы фрилансер. Он также может быть полезен начинающим заказчикам. Публикую его здесь с небольшими комментариями к каждому пункту.

«Стоп-лист» содержит негативные признаки заказчика. Пожалуйста, обратите внимание, что совпадение 1-2 пунктов может оказаться случайностью. При совпадении 3 и более пунктов я отказываюсь работать с заказчиком.
Читать дальше →

Правильное REST кэширование

Reading time6 min
Views6K
Пусть мы хотим написать свой хабрахабр с блекджеком и прочими прелестями. Страница статьи у нас стостоит из 3 объёмных блоков:
1. собственно текст статьи. меняется очень редко.
2. дерево комментариев. меняется относительно часто, но со временем всё реже и реже.
3. прямой эфир. небольшой, но меняется очень часто.

Допустим, что страница с этой статьёй доступна по адресу ?article:right.cache
Но внутрь неё мы не будем помещать никакого контента, а вынесем его в отдельные ресурсы, как это обычно делается со скриптами и стилями. Внутри ?article:right.cache будет лишь индекс подключаемых ресурсов с версиями.

?article:right.cache/content/version:123
?article:right.cache/comments/time:2010-12-01
?live/time:2010-12-01
?style:article/version:666
?script:article/version:333

Указание версии позволяет задать для ресурсов жёсткое кэширование. А для индексного файла, наоборот, зададим необходимость проверять при каждом запросе изменился ли он.

Такая организация гарантирует нам, что при появлении новых комментариев не придётся грузить статью заново. И наоборот, при изменении статьи не надо будет перегружать всё дерево комментариев. А уж про то, что из-за часто меняющегося прямого эфира нам не надо по новой грузить весь контент, и заикаться не стоит ;-)

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

Реализации с использованием фреймов и аякса довольно банальны, так что воспользуемся хтмл-инклудами.
Читать дальше →

Блочное кеширование на стороне клиента

Reading time6 min
Views7K
В последнее время в высоконагруженных сайтах стали все чаще применять технику Partial Caching или блочного кеширования. Достигается это, как правило, за счет применения, казалось бы уже давно забытого, SSI или близких ему технологий (например, ESI). Например, в связках Nginx + Memcached + SSI или Varnish + ESI.

Недавно и на Хабре тоже появился топик в котором автор описывал данный метод кеширования.

В данном топике в 3м варианте решения автор предложил читателям топика привести свои варианты решения относительно данной задачи.

Этому, собственно, и посвящается этот топик.
Читать дальше →

Что могут ERP

Reading time2 min
Views2.7K
Вот есть рынок ERP-систем. Большой, вроде как растущий рынок (сейчас, правда, очень сомнительно, что он растет). Ежегодно какие-то умные дядьки его оценивают, публикуют страшные для восприятия цифры. На рынке есть некое количество неких программных продуктов, количество которых поддается счету. Это и есть продукты этого рынка. А что могут эти продукты?
Читать дальше →

От любой банковской карты один клик до Яндекс.Денег

Reading time2 min
Views9.5K
Сегодня мы открыли всем пользователям Яндекс.Денег возможность пополнять счет в системе с любой пластиковой карты российского банка. Мы шли к этому дню медленно и осторожно: например, в 2008 году запустили проект привязки карт КБ ОТКРЫТИЕ к счетам в Яндекс.Деньгах, а в 2009 — аналогичный проект с РосЕвроБанком и программу «Деньги от А до Я» для владельцев карт Альфа-Банка; клиенты этих банков пополняют свои счета в Яндекс.Деньгах моментально и без комиссии. Еще раньше было реализовано моментальное пополнение с любой банковской карты в банкоматах ВТБ24, а буквально два месяца назад в терминалах Московского Кредитного Банка стало можно без комиссии пополнять счета в Яндекс.Деньгах как с карт любого банка, так и наличными.

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

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

SIP телефония для дома — реализация, опыт, фишки

Reading time9 min
Views204K
Всем привет.

В комментариях к различным топикам на Хабре нередко видел вопросы класса «А зачем вам нужна SIP-телефония дома» и «Как все это безобразие работает». Некоторые темы на хабре уже раскрывались, но многое осталось в тени. Посему решил описать используемую мной схему SIP-устройств и сервисов, и набросать некоторые планы на будущее.

Просто повторять аксиому, что SIP – это далеко не только дешевые междугородние звонки через sipnet или других операторов я не буду, и постараюсь в данном топике раскрыть все многообразие возможных вариантов применения SIP в быту.
Читать дальше →

Еще один сервис поиска иконок

Reading time1 min
Views7.9K
В данном русском ресурсе (iconsearch.ru) приведено достаточно много иконок (133673 штук в png-формате), причем на различных фонах (белый, прозрачный) и разных размеров. Иконки довольно симпатичные. Все они разбиты по тегам и наборам. Теги позволяют еще быстрее найти нужную Вам иконку. Теги можно добавлять самому (без регистрации, с применением AJAX). Также присутствует облако тегов. Каждая иконка на этом сайте защищена одной из списка лицензий. Также есть на сайте возможность разработки уникальных иконок. Сайт был создан в 2007, однако на Хабре про него ничего нет, кроме нескольких комментариев.

Кеширование блоков с помощью nginx

Reading time6 min
Views15K
nginx + SSIМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
  • Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
     
  • Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
     
  • Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
     
Позвольте предложить и мне проверенное и относительно простое решение на базе одной из старейших технологий в Web-разработке.
Читать дальше →

Генератор миниатюрок из Nginx-а

Reading time3 min
Views27K
Итак, сегодня мы соберём генератор миниатюрок на базе любимого народом веб-сервера — nginx-а. Что примечательно, сделаем мы это без единого гвоздя, т.е. без единой строчки кода, не считая конфигурации.
Что ж приступим...

Структурированные кабельные сети

Reading time10 min
Views150K
Серверная одной из компаний в Азербайджане, nag.ru
СКС — структурированная кабельная сеть. Или, грубо говоря, «розетки в стенке». Самое дорогое же в СКС — не розетки, а огромные километры проводов, соединяющие розетки с серверными и коммутационными.

Пласт понятий, которые скрываются за СКС, очень обширен. Там есть свои профессионалы, которые знают, когда нужно организовывать коммутационные на этажах, как правильно вести пачку волокон между этажами и т.д. Есть и свои маркетологи, задача которых убедить вас, что нужно делать именно так, на $Xk больше в смету, а не так, как вы хотели.

Сама область конструирования СКС ближе к строительным (инженерным) работам, нежели к области системного администрирования.

Но иногда в жизни сисадмина возникает ситуация, когда от него зависит, какой будет СКС в здании (этаже, комнате) фирмы. В худшем случае, сисадмин сам её тащит, в лучшем — эта задача отдаётся на аутсорс (точнее, подрядчикам). Но какой СКС будет, решают обычно два-три человека. При этом, оставшиеся два определяют лишь бюджет, а воевать за качество может лишь сисадмин. [с другого боку находится представитель подрядчика, который тащит одеяло в свою сторону, и хотя он может казаться сисадмину соратником в битве за качество СКС, на самом деле, он хочет просто дороже, и относиться к нему следует с осторожностью].

Здесь я пишу именно точку зрения администратора, как «конечного потребителя» СКС. Если я где-то соврал, или забыл написать о чём-то важном — говорите, поправлю.

Итак, СКС.

Точка зрения владельца (директора)


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

Точка зрения подрядчика


Клиенту нужно продать максимум. Максимум, это полноценная СКС с коммутационными на этажах, межэтажной оптикой… Что? Он хочет подешевле? Ну и фиг с ним, пускай что хочет, то и делает.

Что ВАМ нужно от СКС?


Читать дальше →

Построение интерфейса: описание паттерна «Активные фильтры» (Active Filtering)

Reading time5 min
Views7.4K
image image image image
Фильтры — мы сталкиваемся с ними постоянно, они на сайтах и в приложениях. У кого, при поиске той или иной информации, не возникала мысль: «Здесь бы фильтр не помешал»?

Мы предлагаем поговорить о фильтрации. Зачем она нужна? Ведь кто ищет, тот всегда найдет? И проанализирует? Или все же нет?

Предположим ваш сайт или приложение содержит необходимую для пользователя информацию, причем в большом объеме. Обратиться ли пользователь к Вам? Да, конечно. В худшем случае человек просто запутается в объеме данных, в лучшем сможет самостоятельно отобрать необходимое и отправиться сводить и анализировать все предоставленное ему в отдельных документах и таблицах, которые он будет создавать самостоятельно. Вернется ли он к вам, или пойдет искать более удобное представление необходимым ему данным? Скорее второе.

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

Как прокачивать мозг

Reading time8 min
Views174K
В этой теме я хочу поделиться своими знаниями про устройство мозга и тем, как применяю это на практике.

Не правда ли, картинка объемна?

Итак, как известно, мозг — важнейший орган нашего тела. Кто-то говорит, что он — самая сложная вещь во вселенной. И незнание некоторых его особенностей может очень плачевно сказать на жизни человека.

Но обо всем по порядку.

Понимание роли мозга


Нет невежества страшнее, чем невежество по отношению к самому себе.

Мозг управляет почти всем в нашем организме — от дыхания, работы органов чувств до сложных мыслительных процессов и воображения. Существует множество методик и советов по развитию, однако, как я убедился, мало какие делают упор на роль мозга в процессе.
Читать дальше →

Мы это сделали — онлайн бухгалтерия для ООО

Reading time2 min
Views35K
Мое делоПолгода назад я сделал свой первый пост на хабре, в котором рассказал о нашем проекте онлайн бухгалтерии, призванной упростить жизнь всему малому бизнесу. Концепция простая — онлайн бухгалтер, способный заменить живого и делающий всю бумажную работу — от расчета налогов до выставления счета клиенту.

Скажу честно, тот пост для нас значил очень многое, и именно отличная реакция на хабре вдохнула в «Мое дело» жизнь: первые 100 активных пользователей, первые партнерские контакты, первые идеи об интеграции — все это мы получили благодаря хабру. Спасибо всем, кто присылал идеи по улучшению сервиса и находил баги в бета версии — благодаря Вам мы продолжаем двигаться вперед, продираясь сквозь идиотизм налоговых инспекций и бюрократические стремления нашей страны.

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

Бета версия бухгалтерии MoeDelo.org для ООО на УСН готова!



Мы перебрали более десяти различных вариантов представления всех ООО-ных заморочек в UI и наконецто пришли к решению.
Читать дальше →

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity