Рубрика «серверное программирование»

Вы скажете, какое вообще дело мобильному разработчику до того, на чем написан бэкенд. Главное, чтобы API туда был удобный, понятный, гибкий. А нам так не кажется.

Мы в AppsConf думаем, что всем нам необходимо иногда выходить за пределы мобильной разработки и прокачивать шляпку буквы T в модели T-shape. Вот, например, познакомиться с серверными языками чуть глубже, чем: «Я слышал, что Ruby умер». И чуть шире — то есть не только, с популярными, но и из вторых рядов и даже андеграундными.

Чтобы и вы прониклись идеей Introductory-трека, записали интервью с Никитой Соболевым. Собирались говорить о языках программирования, а получилось о программистах. Заходите под кат, если считаете, что лучше быть просто хорошим разработчиком, а не Android- или iOS-разработчиком, а особенно, если не согласны с этим. Пятница — самое время поспорить.
Читать полностью »

Часть I. R извлекает и рисует

Конечно, PostgreSQL с самого начала создавалась как универсальная СУБД, а не как специализированная OLAP-система. Но один из больших плюсов Постгреса — в поддержке языков программирования, с помощью которых из него можно сделать что угодно. По изобилию встроенных процедурных языков ему просто нет равных. PL/R — серверная реализация R — любимого языка аналитиков — один из них. Но об этом позже.

R – удивительный язык со своеобразными типами данных — list, например, может включать в себя не только данные разных типов, но и функции (вообще, язык эклектичный, и говорить о принадлежности его к определенному семейству не будем, чтобы не порождать отвлекающие дискуссии). В нем есть симпатичный тип данных data.frame, который подражает таблице РСУБД — это матрица, у которой столбцы содержат разные типы данных, общие на уровне столбца. Поэтому (и по другим причинам) работать в R с базами данных довольно удобно.

Мы будем работать в командной строке в среде RStudio и соединяться с PostgreSQL через драйвер ODBC RpostgreSQL. Их несложно установить.

Поскольку R создавался как этакий вариант языка S для тех, кто занимается статистикой, то и мы приведем примеры из простенькой статистики с простенькой графикой. У нас нет цели знакомить с языком, но есть цель показать взаимодействие R и PostgreSQL.

Обрабатывать данные, хранящиеся в PostgreSQL, можно тремя путями.
Читать полностью »

Как мы проверяем работоспособность серверного кода без мобильных клиентов - 1

Badoo — это сервис знакомств, который доступен в виде сайта и мобильных приложений под основные платформы. В начале прошлого года мы глобально переработали сайт, в результате чего он превратился в «толстого клиента» и стал работать так же, как и мобильные приложения: вызывать команды на сервере и получать от него ответы согласно протоколу, описывающему взаимодействие клиентской и серверной частей. Эти две части делаются разными разработчиками, и, как правило, клиентская часть делается уже после того, как серверная будет готова. При этом есть проблема: как разработчик новой фичи может убедиться, что серверная часть работает корректно, если клиента для нее пока нет и проверить ее не на чем?

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

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

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

Знаете какая самая сложная задача у стартапера? Объединить талантливых людей над единой целью. Вот об этом и поговорим сегодня! Не про мою идею, или как найти идею, а про то как найти таланты!

Мой путь начался с простого. Я начал обзванивать своих знакомых, друзей, коллег, знакомых знакомых. Начал искать таланты в университетах, пришел в МГУ, МЭСИ и другие институты. Начал посещать выставки, посвященные стартап направлениям. Мой круг общения значительно расширился, я стал внутри стартап тусовки. Это потрясающая атмосфера, заряжает на все 100%. Но пост не об этом!

В итоге на меня начали выходить многие специалисты, иногда даже команды. Даже инвесторы начали сами интересоваться моими проектами. Но пост не об этом :)

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

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

Те, кто мог видеть мою прошлую статью (а она довольно related к данной теме), знают, что вот уже больше полутора лет я разрабатываю собственную реализацию сервера Minecraft, рассчитанную, в первую очередь, на высокие нагрузки. Тем не менее, в своей работе мы используем так же и стандартный сервер (Bukkit) для нескольких мини-серверов, просто чтобы было разнообразие. И вот столкнувшись с очередной версией сервера, которая стала раз в 5 хуже предыдущих, я уже не выдержала, и решила написать эту статью.

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

Вам не нужно знать ничего о майнкрафте и особенно о его сервере, в данной статье я хочу просто рассказать, как работает оригинальный сервер Minecraft, а так же его «обвзяка» — Bukkit, рассказать, почему такая система не работает и не должна. Я не претендую на идеальные знания о разработке серверов и не утверждаю, что мой сервер написан правильно и лучше всех. Я просто делюсь своим опытом, основанным на двух годах работы с сервером от всем известной Mojang и на полутора годах разработки своего сервера. Вся информация представленная здесь является моим личным мнением, а статья предназначена для расширения кругозора или даже обучения и может быть интересна как новичкам, так и продвинутым профессионалам.Читать полностью »

Хочу рассказать о применении шаблона Active Record для C# на практике. Такой класс реализует извлечение и запись структуры в базу данных. Бизнес логика выносится на следующие уровни абстракции, где с таким объектом можно работать уже как с обычной структурой.

Центральный случай, который я буду рассматривать для примера — это работа со справочником Country из базы данных, который часто читается, но очень редко меняется.

Использование active record объекта в коде бизнес логики выглядит вот так:

Country russia = Country.All[“Russia”];

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

С появлением в системе управления HP IMC web-сервиса доступа RESTful eAPI, система может теперь не только управлять устройствами, но и быть частью общего комплекса управления мультивендорной средой, обеспечивая следующую ступень к автоматизации и гибкости настройки всей сетевой инфраструктуры.

iMC обеспечивает web сервисы на основе открытой сервис ориентированной архитектуры (SOA). Web сервисы главным образом выполнены через использование следующих методов: REST, SOAP, and XML-RPC. В сравнении с другими двумя методами REST-style функционал прозрачен и прост.

Доступ к iMC RESTful web сервисам может быть получен с помощью следующих Java REST клиентов:

  • Apache Commons HTTP Client (3.1)
  • Apache HTTP Client (4.x)
  • SpringFramework (3.x) RestTemplate
  • Jersey Client
  • Android SDK

Что нужно проделать для написания клиента, использующего IMC-RS? Следующая секция покажет, как получить доступ к IMC-RS при помощи Java.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js