Pull to refresh
13
0
Антон @Anstak

User

Send message

Разработка сервиса БД на базе графов: от прототипа к надежному и масштабируемому решению в облаке

Reading time3 min
Views5.2K
Сервис databoom – это облачный backend для Web и мобильных приложений. Он сокращает время и снижает стоимость прототипирования и разработки приложений за счет упрощения доступа к данным. На следующих видео показано, как легко с помощью databoom строится прототип Web приложения.



Microsoft Azure позволяет удивительно легко создавать надежные масштабируемые приложения. Если еще пару лет назад Azure означал Windows, то сегодня Microsoft Azure является прекрасной средой и для Linux разработчиков.

Серверная часть databoom работает под управлением Linux, использует Node.js и native модули, написанные на C++. Простота развертывания виртуальных машин, балансировщиков и других сервисов под Azure позволила нам достаточно легко развернуть облачное решение.

Начав с прототипов, многие наши клиенты продолжают работать с нами, создавая все более сложные приложения, для которых критически важными являются вопросы надежности, защищенности и масштабируемости. Поэтому мы выбрали Microsoft Azure.
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments0

REST API на Ruby на основе ActiveRecord для доступа к таблицам в базе данных

Reading time6 min
Views16K
На Ruby и многих других языках есть удобные ORM-решения для программного доступа к СУБД. Также есть фреймворки вроде RubyOnRails для простого и удобного создания web-приложений, работающих с базой данных. Простые соглашения позволяют писать мало кода и при этом создавать мощные интерфейсы.

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

Стандартные действия для получения возможности работы с сущностью в Rails — создать модель, создать контроллер, создать представление (а если у нас полный набор REST-действий, то два — на получение списка и на получение одной записи в случае работы через API). Действия простые, и файлы очень простые. И когда словарей много, то файлов получим также большое количество. Большое количество простых и однотипных файлов. И где-то среди них будут затеряны большие, нетипичные файлы. Кроме большого количества файлов, мы получаем проблемы с необходимостью прописывать маршруты. Даже тем, кто такие системы поддерживает не один год, ориентироваться в проекте будет тяжело, не то что новому разработчику.

Здесь на помощь приходит магия Rails.

Для простоты предположим, что мы строим JSON API. Хотя ничто не помешает нам добавить поддержку XML.

Итак, один файл и один класс, которые могут заменить очень большое количество мелких однотипных файлов и классов.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments15

Советы по Twitter для чайников: то, что мне стоило бы знать, когда я начинал

Reading time5 min
Views42K


Еще три недели назад мой аккаунт в Twitter был практически заброшен.

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

Знания редко заменяют опыт. Так что пока я кое-как экспериментировал и всячески химичил, пытаясь разобраться в Twitter в течение моих первых нескольких недель общения с сервисом, я заметил, что многим вещам можно научиться только на практике. В этой статье я расскажу о самых главных из них. Итак, встречайте: полезные советы по Twitter для чайников.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments6

Настройка сервера и деплоя: rvm, rails, puma, nginx, mina

Reading time7 min
Views14K

Предыстория


На создание этой статьи меня толкнула недавняя публикация о деплое. В приведённой статье описан способ разворачивания проекта на основе rbenv, я же опишу ситуацию с rvm и настройкой upstart.

Задачи и требования


Итак, дано: простейшее RubyOnRails-приложение. В случае разворачивания своего проекта я ставил перед собой следующие задачи:
  • ОС Ubuntu LTS 14.04;
  • Веб-сервер Nginx;
  • Сервер приложения Puma;
  • Использование RVM для установки ruby требуемой версии;
  • Автоматический запуск приложения при запуске VPS-сервера, возможность управлять приложением как службой;
  • Автоматизация процесса деплоя с помощью mina;

Почему Ubuntu?
Просто я к ней привык (точнее к её производной — Linux Mint).

Почему puma, а не unicorn или passenger?
О пуме я слышал неплохие отзывы, а у unicron страшненький сайт. Passenger, на мой взгляд, нарушает принцип единственной обязанности — я хочу иметь веб-сервер и приложение-сервер.

Почему RVM?
Я к нему привык — у меня он установлен на локальной машине, хочу его видеть и на production.

Почему mina?
Она действительно проще чем capistrano и при этом быстрее. Скорость достигается за счёт того, что для каждой задачи capistrano создаёт отдельное ssh-соединение. Mina же формирует shell-скрипт и выполняет его в рамках одного соединения.

В данном случае задача легко разбивается на 3 этапа:
  1. Убедиться, что приложение корректно запускается (пока без автоматизации);
  2. Настроить сервер так, чтобы наше rails-приложение работало как полноценная служба;
  3. На основе этого настроить автоматизированное разворачивание с помощью mina.

Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments7

Введение в ASP.NET 5

Reading time7 min
Views44K

Первый предварительный релиз ASP.NET 1.0 вышел практически 15 лет назад и с тех пор миллионы разработчиков использовали его чтобы создавать и запускать различные приложения., а мы на протяжении этих лет добавляли в совокупности колоссальное количество кода и возможностей.

Я сегодня сильно взволнован из-за того что пишу новость о новом релизе ASP.NET, над которым работает наша команда, и который называется ASP.NET 5. Этот релиз – одно из самых значимых обновлений архитектуры, которое мы делали когда-либо. В рамках этого релиза мы сделали ASP.NET более компактным, модульным и кросс-платформенным, а также ориентированным на облачные хостинги. ASP.NET 5 Preview доступна для скачивания в последнем Visual Studio 2015 CTP, которая стала доступна совершенно недавно.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments15

Учебник AngularJS: Всеобъемлющее руководство, часть 2

Reading time22 min
Views191K
Часть 1

4.1 $rootScope


$rootScope не сильно отличается от $scope, просто это объект $scope самого верхнего уровня, от которого происходят все остальные области видимости. Когда Angular начинает создание вашего приложение, он создаёт объект $rootScope, и все привязки и логика приложения создают объекты $scope, являющиеся наследниками $rootScope.

Обычно мы не используем $rootScope, но с его помощью можно обеспечить передачу данных между разными областями видимости.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments23

Дайджест хороших образовательных программ для IT-специалистов и сочувствующих: в Москве и онлайне

Reading time5 min
Views86K
image

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

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

Не забывай — количество мест на самых привлекательных курсах обычно ограничено и заканчивается стремительно! А некоторые так и просто стартуют совсем скоро — запрыгивай в уходящий поезд!
Читать дальше →
Total votes 46: ↑38 and ↓8+30
Comments23

История стартапа Cybergame.TV

Reading time2 min
Views2.5K
Здравствуйте уважаемые Хабровчане! Xочу рассказать вам историю одного стартапа.

Логотип Cybergame

Год назад у меня родилась идея — сделать сервис для трансляций игрового видео (всё началось с просмотра видео StarCraft 2 на сайте sc2tv.ru). Не найдя подобных проектов в интернете, я собрал команду единомышленников, и мы принялись за дело.

Возможно, вы читали про нас на greenfield-project.ru или на wanted.vc.

Первый прототип появился буквально через месяц: залили на shared-хостинг шаблонную версию сайта, настроили медиасервер wowza и поехали. Начали появляться первые зрители, постепенно приходило более отчетливое понимание концепции проекта. Время шло, проект обрастал все новыми фишками.
Читать дальше →
Total votes 33: ↑25 and ↓8+17
Comments63

Information

Rating
Does not participate
Location
Калининград (Кенигсберг), Калининградская обл., Россия
Date of birth
Registered
Activity