Как стать автором
Обновить
40
0

Девелопер

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

Domain-Driven Design: стратегическое проектирование. Часть 1

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


Здравствуйте, хабрапользователи! В этой статье речь пойдет о предметно-ориентированном проектировании программного обеспечения с использованием, в первую очередь, стратегических шаблонов. Вторую часть – про тактическое проектирование – читайте здесь.

Данный подход использовал Вон Вернон в своей книге «Реализация методов предметно-ориентированного проектирования». Цель написания этой книги: дать возможность разработчикам совершить полет на самолете DDD (в детстве автор зачастую путешествовал со своей семьей на небольших самолетах). Вид с высоты дает более широкое представление о проблемах моделирования, не давая застрять в различных технических деталях. Наблюдая ландшафт DDD таким способом, можно осознать преимущества как стратегического, так и технического проектирования. Подробнее – под катом!
Читать дальше →

Хаос и гремлины: тестирование веб-интерфейсов

Время на прочтение10 мин
Количество просмотров17K
В мире веб-разработки есть неписаное правило: поведение пользователей предсказать практически невозможно. Это способен подтвердить каждый, кто наблюдал за тем, как некто приступает к работе с новым для него сайтом или веб-приложением. Я, например, уже и не помню, сколько раз мне доводилось видеть подобное. Например, порой думается, что люди просто забывают о том, как пользоваться браузером на мобильнике. Иногда их действия настолько нелогичны, что кажется, будто перед тобой не реальный человек, работающий с реальным веб-сайтом, а пьеса в жанре театра абсурда: необычно, порой более чем, притягательно, есть над чем подумать, но… мы ведь не в театре.


8 признаков инфантилизма в бизнесе

Время на прочтение12 мин
Количество просмотров31K
Сегодня я хочу поговорить о том, что такое инфантилизм в бизнесе, как он проявляется и к каким последствиям приводит. Эта статья рассчитана, в первую очередь, в помощь всем, кто оказывает услуги бизнесу (в IT сфере и не только), также я думаю, что этот материал будет полезен тем, кто решил устроиться на работу, так как выявить признаки инфантильного руководителя на этапе переговоров очень важно хотя бы для того, чтобы понимать, как будет строиться работа в компании и с какими проблемами вы можете столкнуться в будущем.

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

Помимо статей о непосредственно программных продуктах и методах их внедрения, я также интересуюсь и другими аспектами бизнеса. Как консультант я изучил работу значительного числа компаний, которые работают в самых разных сферах. И по этому вопросу я также пишу статьи. Я изучал причины неудач, и написал статью “Как теряют бизнес”, изучал методы злоупотребления в различных компаниях, и также написал статью в помощь бизнесменам “10 способов злоупотребления сотрудниками своим служебным положением и методы борьбы с ними с помощью учетной системы”, есть у меня и статьи, посвященные сложностям сотрудничества IT-компаний и бизнеса, например, “Посредники или почему в России всегда «виноват» исполнитель на примере IT проекта”, а также описания негативного влияния на бизнес злоупотреблением дружескими и родственными связями “Родственники и друзья в бизнесе”.

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

Деривативы на морковках

Время на прочтение8 мин
Количество просмотров158K
carrotДеривативы — это производные финансовые инструменты. Производные они потому, что основываются на каком-то ином активе. Сами по себе деривативы — пустышки, их стоимость определяется ценой базового актива — продукта, ценной бумаги, валюты, долгового обязательства — то есть того, от чего они производны.
Читать дальше →

30 полезных сервисов для веб-разработчиков и дизайнеров v2

Время на прочтение3 мин
Количество просмотров86K
Предыстория: я веду свой паблик ВК о веб-разработке, в связи с чем я каждый день имею дело с большим количеством материалов о веб-разработке. Однажды (3 месяца назад) мне пришла в голову идея опубликовать на хабре подборку «30 полезных сервисов для веб-разработчика». Тот пост набрал почти 100 000 просмотров, и мне приятно, что он оказался полезен сообществу. С тех пор у меня поднакопилось больше 30 новых сервисов, которые будут полезны как разработчикам, так и дизайнерам. Лучшие из них я собрал в этом посте. Осторожно, под катом много картинок!
Читать дальше →

[видео] 8 способов противостояния формуле нужды

Время на прочтение1 мин
Количество просмотров62K
Статья про формулу нужды с моей печальной историей про хитрого прораба и неопытного ИТ-менеджера получила неожиданно позитивный отклик. По этому поводу мы решили пойти дальше и записали небольшое видео, что делать, чтобы не попасть в эту формулу. Как противостоять давлению, которое на вас может оказывать оппонент.

Нам удалось заманить в студию Дмитрия Коткина, руководителя Санкт-Петербургской школы переговорщиков ШиП, который имеет широкий опыт переговоров — от работы в политике до консультирования IT-компаний. Несмотря на температуру, Дима продержался в кадре 20 минут и рассказал, как профессиональные переговорщики рекомендуют противостоять формуле нужды:



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

Microsoft выпустила программу для бесшовной циклической анимации

Время на прочтение2 мин
Количество просмотров67K
При просмотре GIF-анимации или других зацикленных роликов всегда заметен переход от конца видеоролика к началу, как бы скачок на исходную позицию. Специалисты из Microsoft Research выпустили программу автоматической обработки видео, которая элегантно решает эту проблему.



Алгоритмы работы описаны в научной работе. Если вкратце, то программа изолирует все движущиеся объекты в кадре, определяет скорость их движения. После этого осуществляется оптимизация движения элементов таким образом, чтобы первый и последний кадр видеоролика совпадали. Грубо говоря, некоторые объекты нужно чуть замедлить, а другие — чуть ускорить. Оптимизация практически незаметна на глаз и выглядит очень естественно (см видео под катом).
Читать дальше →

Алгоритм выбора STL-контейнера

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


UPD: схема заменена на вариант с контейнерами из С++11, соавторы — в комментариях ниже

Первый вариант схемы - без контейнеров из С++11

Как делать презентацию с помощью веб-технологий?

Время на прочтение8 мин
Количество просмотров88K
Все знают офисных монстров PowerPoint и Keynote, но почему-то мало кто с радостью в них работает. И действительно, что делать, если ты совсем не бухгалтер, а разработчик или просто гик и гораздо комфортнее чувствуешь себя в коде, чем в офисных пакетах? У меня для тебя хорошие новости: презентации уже очень давно можно делать прямо в браузере, а писать с помощью таких простых и знакомых вещей, как HTML, CSS или даже Маркдаун.

К каждому из нас приходит момент, когда нужно донести свои мысли до других. Не просто рассказать анекдотец коллеге, не пробубнить стишок про бурю-мглою, а сообщить что-то принципиально важное, объяснить сложную идею, поделиться опытом. И если самым талантливым из нас достаточно выйти на сцену и просто быть собой, как это делают участники TED, то большинству понадобится опереться на слайды. Свой первый раз у доски с маркерами я забыл напрочь, помню только, что переврал тогда ключевую идею доклада про блочную модель CSS.




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

Несколько интересностей и полезностей для веб-разработчика (выпуск 2)

Время на прочтение3 мин
Количество просмотров83K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Webflow



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

Если Вам GUI для верстки не комильфо сам по себе как для меня, все равно рекомендую зарегистрироваться и экспортировать парочку responsive макетов. А еще есть простой генератор отзывчивого лэйаута и Responsive Patterns.

Parallax.js


Функциональный и простой инструмент для создания параллакс эффекта.

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

Коллекция паттернов поведения для элементов отзывчивого веб-дизайна

Время на прочтение1 мин
Количество просмотров29K
Думаю любому современному дизайнеру или верстальщику рано или поздно в голову приходила мысль «А почему бы на этом проекте не использовать принципы отзывчивого веб-дизайна?». Пожалуй, сложно найти человека, который не слышал о responsive design в наше время, когда сёрфить веб могут с телефона, микроволновки и тапочек. Приступая к работе над подобным проектом, неплохо было бы иметь под рукой примеры возможного поведения лейаута и его отдельных элементов.
Ну же, где паттерны то?!

Давайте, вначале, уволим всех менеджеров!

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

Менеджмент привносит минимум к эффективной работе в вашей организации.


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

Управление без управления — часть 1

Время на прочтение6 мин
Количество просмотров15K
Сделав небольшой перевод интересной статьи Давайте, вначале, уволим всех менеджеров!, я понял, что есть большая востребованность в области управления и подходов к управлению. Этим постом, я хочу открыть серию публикаций на тему управления компанией, власти, делегирования и т.д. Каждый следующий пост будет отвечать на заданные вопросы или обсуждаемые темы предыдущих. Таким образом, я хочу чтобы моя работа была максимально полезна для широкого круга лиц.

Итак, обладая 10 летним опытом работы в IT, и пройдя множество ролей: тестировщик, дизайнер, программист, ведущий программист, руководитель: группы, отдела, подразделения, департамента интернет проектов, директора по развитию и наконец директора.

Я не претендую на авторство — скорее это народное творчество: «слова народные, музыка народная, исполняет — автор».

Поехали!

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

Контракты vs Юнит тесты

Время на прочтение5 мин
Количество просмотров7.9K
DISCLAIMER: Эта заметка подразумевает наличие у читателя базовых знаний о юнит тестах, в чем автор этих строк не сомневается, а также базовых знаний о проектирование по контракту, которые можно пополнить начиная отсюда.

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

Итак, давайте вкратце рассмотрим, в каком именно месте находится пересечение контрактов и юнит тестов, и постараемся ответить на вопрос: являются ли постусловия избыточными при наличии юнит тестов?

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

Коаны о программировании

Время на прочтение4 мин
Количество просмотров36K
От переводчика: The Codeless Code — сборник побасенок о философии программирования. Побасенки в сборнике разные — некоторые весьма кровожадные, некоторые достаточно хардкорные с технической точки зрения (родной язык автора — Java), но встречаются очень емкие. Представляю вам перевод семи наиболее полюбившихся мне историй, остальные 30+ (новые добавляются каждую неделю) можно найти на сайте.

Пустяк


Три дня и три ночи мастер не появлялся из своей кельи. На четвертый день монахи отправили послушника проведать его.

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

Мастер ответил: «Здесь есть изъян, и я размышляю, как лучше его исправить.»
Читать дальше →

MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 1. Галочка

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

Не буду писать красивых предисловий, потому что статья не развлекательная, а скорее техническая. В ней я хочу обратиться к приемам программирования пользовательского интерфейса классических desktop-приложений Delphi в MVC-стиле. Это вводная статья из последующей серии.
Тех немногих, кто еще пользуется этой средой разработки, прошу под кат.
Читать дальше →

Алгоритм проведения IT собеседования

Время на прочтение4 мин
Количество просмотров59K
В сегодняшнем посте я хочу обсудить тему — эффективного IT собеседования.
Она родилась из комментария к одному из моих прошлых постов: «Было бы здорово почитать развернутый рассказ про то, как собеседовать людей.» Собственно, сказано — сделано!

Проведение себеседования также тривиально, как этот кубик рубик, если конечно вам не важен результат.

image

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

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

Если вам эта тема интересна и есть чем поделится с хабрачитателями — прошу под кат.
+ Бонус в конце статьи.
Читать дальше →

Знакомство с Active Scaffold

Время на прочтение3 мин
Количество просмотров5.7K
Всем доброго дня! Я вам хочу поведать о замечательном геме (плагине) для Ruby and Rails (практически не нашёл упоминаний о нём на хабре).

Цель данного плагина — предоставить удобный типовой интерфейс «из коробки». С добавлением, удалением, правкой, поиском, сортировкой и всё это с ajax (или без него).



Делается такое чудо, как на рисунке, в несколько простых шагов:

1. Кидаем строчку в Gemfile
gem 'active_scaffold'

2. Устанавливаем gem'ы
bundle install

3. Подключаем стили и скрипты
/* В /app/assets/stylesheets/application.css.scss
 *= require active_scaffold
 */

// В /app/assets/javascripts/application.js
//= require active_scaffold

4. Прописываем в целевом контроллере
class StuffsController < AuditorController
  active_scaffold :stuff
end

Всё! Дальше Active Scaffold сам подхватит соответствующую модель (в примере — Stuff), разузнает о её колонках в таблице БД и связанных моделях, выберет 15 (по умолчанию) первых записей согласно настройкам default_scope в модели (если задано) и представит вам. Так же заодно (кроме отображения HTML) предоставит вам API в форматах JSON и XML.
Читать дальше →

Безопасность SAP в цифрах

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

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

Также необходимо отметить, что наши исследования в области безопасности SAP вообще и сбора статистики в частности не заканчиваются на данном отчете. Мы планируем публиковать новые статистические данные как минимум ежегодно либо по мере появления новых методов атаки. Последние обновления статистики SAP-систем, присутствующих в Интернете, можно найти на sapscan.com.

1. Введение

Ядро каждой крупной компании – это ERP-система; в ней проходят все критичные для бизнеса процессы, начиная от закупки, оплаты и доставки и заканчивая управлением человеческими ресурсами, продуктами и финансовым планированием. Вся информация, хранящаяся в ERP-cистемах, имеет огромное значение, и любой неправомерный доступ к ней может понести за собой громадные потери вплоть до остановки бизнеса. Согласно отчету Ассоциации специалистов по расследованию хищений/мошенничества (ACFE), в период с 2006 по 2010 годы потери организаций от внутреннего фрода составили порядка 7 процентов от ежегодной выручки (!). Вот почему мы решили провести детальное исследование в области безопасности SAP с использованием ERPScan – разработанной Digital Security системы мониторинга защищенности SAP-систем.

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

Информация

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