Что такое SaaS-бизнес

Автор: admin от 10-03-2018, 10:10, посмотрело: 60

Что такое SaaS-бизнес



Принципы работы и механизмы роста SaaS-компаний



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



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



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



Переведено в Alconost

Категория: Программирование » Game Development

 

Learn OpenGL. Урок 4.9 — Геометрический шейдер

Автор: admin от 10-03-2018, 10:10, посмотрело: 86

Learn OpenGL. Урок 4.9 — Геометрический шейдер

Геометрический Шейдер



Между этапами выполнения вершинного и фрагментного шейдера есть опциональная стадия, предназначенная для выполнения геометрического шейдера. На входе у геометрического шейдера оказывается набор вершин, формирующих один из допустимых в OpenGL примитивов (точки, треугольники, …). В результате своей работы геометрический шейдер может преобразовать этот набор вершин по своему усмотрению, прежде чем передать его на следующую шейдерную стадию. При этом стоит отметить самую интересную особенность геометрического шейдера: в процессе своей работы набор входных вершин может быть преобразован к представлению совершенно иного примитива, а также может сгенерировать совершенно новые вершины на основе входных данных, увеличивая итоговое количество вершин.

Категория: Программирование » Game Development

 

Blockchain на Go. Часть 2: Proof-of-Work

Автор: admin от 10-03-2018, 10:10, посмотрело: 95

Привет, Хабр! Представляю вашему вниманию перевод статьи "Building Blockchain in Go. Part 2: Proof-of-Work".

Вступление


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

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

Категория: Программирование » Game Development

 

Как написать одностраничное приложение (SPA) с использованием Vue.js

Автор: admin от 10-03-2018, 10:10, посмотрело: 91

Как написать одностраничное приложение (SPA) с использованием Vue.js



Одностраничные приложения (SPA) имеют мнжество преимуществ, таких как скорость, по-настоящему хороший UX, и полный контроль HTML-разметки. Становится всё больше и больше сайтов SPA; всё больше инструментов, которые упрощают процесс разработки SPA. Вы, вероятно уже читали о молодом и перспективном фреймворке Vue.js. Предлагаю вам глубже погрузиться в Vue и на конкретном примере разобраться с простым SPA.



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



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

Категория: Программирование » Game Development

 

Swift vs. Kotlin. Отличия важны

Автор: admin от 10-03-2018, 10:10, посмотрело: 59

Swift vs. Kotlin. Отличия важны

Этот пост является вольным переводом статьи Swift vs. Kotlin — the differences that matter by Krzysztof Turek



Вы наверняка видели это сравнение Swift и Kotlin. Довольно интересное, правда? Я согласен, что в этих языках много схожего, но в этой статье я обращу внимание на некоторые аспекты, которые их все-таки разнят.

Категория: Программирование » Game Development

 

Вышел GitLab 10.5: интеграция с Let’s Encrypt, проверки зависимостей Gemnasium и внешние файлы CI/CD

Автор: admin от 8-03-2018, 06:35, посмотрело: 82

Вышел GitLab 10.5: интеграция с Let’s Encrypt, проверки зависимостей Gemnasium и внешние файлы CI/CD



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

Категория: Программирование » Game Development

 

Щи, или Распознавание 330 млн лиц на скорости 400 фото / сек

Автор: admin от 7-03-2018, 11:55, посмотрело: 80

Распознаванием лиц в 2018 году никого не удивишь – каждый студент, может, даже школьник, его делал. Но всё становится немного сложнее, когда у вас не датасет на 1 млн пользователей, а:




  • 330 миллионов пользовательских аккаунтов;

  • ежедневно заливается 20 млн пользовательских фотографий;

  • максимальное время на обработку одного фото не должно превышать 0.2 сек;

  • ограниченные объемы оборудования для решения задачи.



Щи, или Распознавание 330 млн лиц на скорости 400 фото / сек



В этой статье мы поделимся опытом разработки и запуска системы распознавания лиц на пользовательских фотографиях в социальной сети Одноклассники и расскажем про все ”от А до Я”:




  • математический аппарат;

  • техническую реализацию;

  • результаты запуска;

  • и акцию StarFace, которую мы использовали для PR-а нашего решения.


Распознавание лиц Одноклассников в деталях

Категория: Программирование » Game Development

 

Рациональная методика назначения приоритетов ключевым операциям

Автор: admin от 7-03-2018, 11:55, посмотрело: 51

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



После этого обычно им нужно объяснить, что работы по оптимизации, как правило, не выполняются параллельно: и из-за ограниченности ресурсов, и из-за взаимного обесценивания работ, и фактически приоритет – это очередность проведения работ и решения проблем по списку ключевых операций. Исходя из этого, рождается какой-то список операций с субъективно назначенными приоритетами, который затем используется в работе, если проектом кто-то управляет, или не используется, если эксперт предоставлен сам себе и имеет собственное представление о том, в какой очередности нужно решать проблемы. Разумеется, не надо считать, что это представление неадекватное, часто оно основано на таких объективных показателях, как минимальная трудоемкость выполнения работ («стратегия быстрых побед») или степень влияния на общий результат, и в целом результат может не пострадать. Плохо в этом то, что управляемость процессом отсутствует – вы запланировали одну очередность для работ, фактически она оказалась другой. Либо вы принудительно можете добиться управляемости процесса, но ошибки при формировании очереди приведут к тому, что до каких-то реально влияющих на результат операций дело или не дойдет вовсе, или дойдет гораздо позже, чем надо бы.



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

Категория: Программирование » Game Development

 

Развязываем игровой код с помощью паттерна Command, и дебажим, летая на машине времени

Автор: admin от 7-03-2018, 11:55, посмотрело: 68

Развязываем игровой код с помощью паттерна Command, и дебажим, летая на машине времени



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



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



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



Хотите узнать как это сделать? Прошу под кат.

Категория: Программирование » Game Development

 

Git: советы новичкам – часть 3

Автор: admin от 5-03-2018, 15:50, посмотрело: 187

Git: советы новичкам – часть 3

В финальной части нашей серии статей о работе с Git мы продолжим разговор о ветках, рассмотрим особенности работы с командой push и расскажем, что такое rebase. Первую и вторую статьи серии мы можете прочитать по ссылкам.

Категория: Программирование » Game Development