Рубрика «перевод»

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

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

Одна из очень известных компаний, которая была примером успешного применения Scrum в 1997 году, обратилась за помощью в Danube Technologies, Inc. в 2009 году, потому что «рынок» показал, что они оказались менее гибкими, чем конкуренты. Начинания по внедрению Scrum, которые начались 1997 году, по-видимому, не могли выдержать десятилетие сосуществования с проблемами, присущими крупным предприятиям. К сожалению, большинство попыток внедрить Scrum в крупных организациях не приводит к долговременным преобразованиям. Препятствия для внедрения Scrum обычно также мешают достижению успеха в бизнесе в целом, а устоявшиеся организации обычно неохотно избавляются от них.

Препятствие #1: Наивный менеджмент ресурсов

В Руководстве PMBOK написано:

«зачастую возникает необходимость увеличения бюджета, чтобы добавить дополнительные ресурсы для выполнения того же объема работ в более сжатые сроки»

В отношении программного обеспечения, Фред Брукс (в книге «Мифический человеко-месяц») дает утверждение, которое противоречит предыдущему:

«Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше»


Чтобы разрешить этот парадокс, давайте рассмотрим определение «ресурса».
Читать полностью »

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

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

Читать полностью »

Япония: как преуспеть на самом крупном рынке мобильных игр в Азии - 1

В сфере игр меня, среди прочего, увлекает то, насколько их потребление может отличаться в разных странах в зависимости от множества факторов, среди которых — размер рынка, вкусы потребителей и даже политика. Мы в Alconost перевели беседу с Джошем Барнсом — опытным специалистом, работавшим с ведущими компаниями-разработчиками мобильных игр, например Zynga, Ludia и многими другими студиями: Джош помогает совершать «стратегические набеги» на азиатские рынки. Он рассказал об индустрии мобильных игр в Японии, а именно о том, что делает ее настолько отличной от многих других рынков, и что понадобится издателю западной игры, чтобы добиться там успеха.

Что именно делает японский рынок мобильных игр таким интересным?

В первую очередь — огромные возможности: население Японии составляет менее половины (40 %) от населения США, однако рынок мобильных игр при этом не уступает американскому. Также известно, что средний доход на скачивание в случае японских пользователей невероятно высок: несколько лет назад он составлял более 5 долл. США для приложений любой категории (игровых и неигровых), а теперь он, скорее всего, еще выше. Читать полностью »

Неразмеченные Конечные Интепретаторы (Tagless Final interpreters — прим. пер.) — это альтернативный подход традиционным Алгебраическим Типам Данных (и обобщённым ADT), основанный на реализации паттерна "интерпретатор". Этот текст представляет "неразмеченный конечный" подход в Scala, и демонстрирует каким образом Dotty с его недавно добавленными типами неявных функций делает этот подход ещё более привлекательным. Все примеры кода — это прямое переложение их Haskell версий, представленных в Typed Tagless Final Interpreters: Lecture Notes (раздел 2).

Паттерн "интерпретатор" в последнее время привлекает всё больше внимания в сообществе Scala. Множество усилий было затрачено на борьбу с наиболее ярким недостатком решений, основанных на ADT/GADT: расширяемость. Для начала можно взглянуть на typeclass Inject из cats как на реализацию идей Data Type à la Carte. Библиотека Freek предоставляет средства для комбинирования более двух алгебр, используя украшения с задействованием аппарата операций на уровне типов. Решение, предложенное в работе Freer Monads, More Extensible Effects также ставит акцент на расширяемости, и вдохновлено набором небольших Scala-библиотек, таких как eff, emm и paperdoll. Неразмеченные конечные интерпретаторы подходят в некотором смысле с противоположной стороны, используя типы классов в своём непосредственном основании вместо более традиционных ADT/GADT. Они также поставляются с большим превосходством в расширяемости "из коробки" без каких-то явных опасностей.

Читать полностью »

Светлана Шаповалова, редактор «Нетологии», перевела статью Кары Эберле о том, как создавать эффектную и качественную анимационную графику и что для этого нужно.

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

5 советов по созданию впечатляющей моушн-графики - 1
Читать полностью »

Привет. Представляю вам свободный перевод статьи Джеймса Кайла «Introducing React Loadable». В ней Джеймс рассказывает, что такое компонент-ориентированный подход к разделению кода и представляет разработанную им библиотеку Loadable — инструмент, позволяющий реализовать этот подход в React.js приложениях.

image
Единый файл сборки и сборка из нескольких файлов

От переводчика: я позволил себе не переводить некоторые глаголы и термины, повсеместно использующиеся в непереведенной транслитерованной форме (как, например, «прелоадер» и «рендеринг»), полагаю, они будут понятны даже пользователям, читающим исключительно материалы на русском языке.
Читать полностью »

Перевод статьи Making Animations Wait от Donovan Hutchinson.

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

Читать полностью »

Под катом вы найдете лонгрид на тему локализации игр, подготовленный на базе открытой лекции Алексея Медова — ведущего редактора Inlingo Game Localization Studio. Лекция проходила в рамках нашей образовательной программы «Менеджмент игровых интернет-проектов» в ВШБИ. О чем же мы поговорим в статье?
— о видах локализации и о том, как выбрать из них наиболее подходящий для вас;
— о том, как выбрать целевой рынок и в каких странах ваша игра будет наиболее востребованной;
— об особенностях разных стран и о том, что обязательно нужно знать перед тем, как начать локализацию своей игры;
— а также о том, как организовать сам процесс локализации.

Особенности локализации игр на иностранные рынки - 1

Читать полностью »

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

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

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

Читать полностью »

Заинтересовался темой функционального программирования, увидел здесь статью, и решил перевести, статья вышла небольшая, но интересная. Ссылка на оригинал. Далее сам перевод.
Читать полностью »