Краткий обзор способов формирования JSON
На сегодняшний день в Rails имеются следующие способы сериализации объектов в JSON:
- Вызов to_json() напрямую.
- RABL
- Active model serializers
- JBuilder
На сегодняшний день в Rails имеются следующие способы сериализации объектов в JSON:
Всё изложенное ниже не является единственно верной точкой зрения, а только лишь какого-то рода шпаргалкой для автора, которому необходимо было провести серию семинаров для сотрудников отдела продаж в компании по разработке программного обеспечения. Также эта статья может быть полезна руководителям небольших аутсорсинговых компаний, к которым клиенты приходят с похожими запросами.
Многие из этих вопросов кажутся настолько очевидными, что их редко озвучивают специалистам, которые являются связующим звеном между компанией и будущим клиентом, но на практике именно эти специалисты зачастую не подозревают, что еще на этапе подписания контракта можно оградить будущий проект от массы проблем.
Всё чаще заказчики, приходя в компанию за разработкой каких-либо продуктов или сервисов, желают получить не просто готовый продукт “под ключ”, но и подготовить всё для последующего маркетингового продвижения своего детища (Internet marketing: SEO, SMM, Email Marketing, etc.)
Однако, очень часто сам заказчик не знает или неправильно понимает, какие задачи ему предстоит решать в последствии. И что их нужно решать сообща с маркетологами чтоб добиться продвижения своего продукта или сервиса.
Соответственно, первоначальной задачей продавца (Sales Manager) в этой ситуации будет рассказать о методах и инструментах продвижения. Но стоит указать, что чтобы сделать осознанный выбор тех или иных методов либо же целого комплекса мероприятий, необходимо провести серию аудитов. Это будут аудиты технической части проекта, рынка существующих предложений и конкуренции. После этого можно более осознано выбрать технологии для будущего продукта.
Читать полностью »
Ко мне обратился один руководитель стартапа социальной игры с просьбой увеличить производительность своего проекта. На этом этапе был сделан и запущен прототип проекта. И надо отдать должное разработчикам, что проект работал и даже приносил какую-то прибыль. Но, запускать рекламную компанию не имело смысло, так как проект не выдерживал ни каких нагрузок. Валился MySQL (35% ошибок).
Код проекта… В общем у меня осталось впечатление, что писал его недоученный студент… И это, немотря на то, что уже был сделан частичный рефакторинг другим программистом. Единственное, что радовало, то это то, что не использовался какой-либо фреймворк. Конечно, это вечно флеймовый вопрос: Иисус или Магомед? Быть или не Быть? Unix или Windows? Использовать или не Использовать? ИМХО, Моё мнение: фреймворки заточены под узкий круг типовых задач. Социальный проект — задача, как правило, не типовая… Но, в целом, мне проект показался интересным и я решил взяться за улучшение. На этом вступление можно закончить…
Наверно, про повышение производительности и тему highload не писал только ленивый WEB разработчик, знающий хоть что-то в этой области. Принципиально, что-то нового, в данной статье вы не найдёте. Основные идеи разработки highload проектов, были мною изложены в цикле статей HighLoad. Три кита.. Если вам интересно, как я увеличил производительность PHP проекта, используя NoSQL хранилище tarantool, то Добро пожаловать под кат.
Хотя, принципиально можно использовать другое, подходящее под данный круг задач, key/value хранилище, и реализация серверной логики может быть на любом другом скриптовом языке.
Читать полностью »
Виртуальные машины, такие как Virtualbox, используются для эмуляции виртуальное оборудование и запуска нескольких операционных систем на компьютере. Чем лучше будет у вас CPU и чем больше будет оперативной памяти, тем быстрее будут выполнятся виртуальные машины на вашем компьютере.
Я предлагаю несколько советов которые помогут вам сэкономить время при начальной настройке виртуальных машин. Это будет полезно для работы с виртуальными машинами VirtualBox, VMware, Parallels, или любой другой.
Читать полностью »
Привет,
Грядёт JavaOne Russia 2013 в Москве! Уже давно открыт публичный Call For Papers, где до 15 февраля каждый желающий может заявить свой доклад. В этом посте мы размышляем над темами наших докладов. Пока что у нас такие предположения, и, продолжая традицию, будем рады услышать обратную связь от сообщества, что бы вам хотелось услышать больше, глубже и новее:
Читать полностью »
Параметр thread_cache_size играет немаловажную роль в производительности нагруженного MySQL-сервера. В некоторых случаях можно увеличить производительность на 30-50%.
Этот параметр указывает количество тредов, уходящих в кеш при отключении клиента. При новом подключении тред используется из кеша, что позволяет экономить ресурсы при больших нагрузках.
Читать полностью »
Однажды, много лет назад, пришел ко мне клиент, и слезно умолял поручил разобраться в одном чудесном проекте, и повысить скорость работы.
Вкратце, задача была такой — есть некий робот на С++, обдирающий HTML страницы, и собранное складывающий в БД (MySQL). С массой функционала и вебом на LAMP — но это к повествованию отношения не имеет.
Предыдущая команда умудрилась на 4-ядерном Xeon в облаке получить фантастическую скорость сбора аж в 2 страницы в секунду, при 100% утилизации CPU как сборщика, так и БД на отдельном таком же сервере.