Pull to refresh

Серия вебинаров по серверной разработке на Kotlin. Продолжение

JetBrains corporate blog Kotlin *Conferences

Мы продолжаем серию вебинаров о разработке серверных приложений на Kotlin (на английском языке). С 18 февраля по 18 марта пройдут четыре вебинара, на которых мы вместе с вами рассмотрим прикладную бэкенд-разработку на Kotlin в формате живых кодинг-сессий. Вебинары подойдут для Kotlin- и Java-разработчиков любого уровня подготовленности, в том числе для разработчиков мобильных приложений без опыта серверной разработки.

Спикеры из JetBrains, VMware, Confluent и Oracle расскажут о реактивном программировании, асинхронных приложениях на базе фреймворка Ktor, создании микросервисов с помощью Helidon и других аспектах применения Kotlin в серверной разработке:

Going Reactive With Spring WebFlux, Kotlin Coroutines, and RSocket, 18 февраля, 19:00 – 20:00 МСК

Building Microservices With Helidon and Kotlin, 10 марта, 19:00 – 20:00 МСК 

— Ktor From the Ground Up, 17 марта, 20:30 – 21:30 МСК 

Applied Event Streaming With Apache Kafka, Kotlin, and Ktor, 18 марта, 19:00 – 20:00 МСК 

Во время вебинаров вы сможете задавать вопросы спикерам и организаторам. Подробнее о каждом из вебинаров читайте ниже.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Views 2.9K
Comments 0

nodeJS и nonblocking I/O

JavaScript *

Добрый вечер уважаемые читатели,


На хабре последнее время проскакивало несколько упоминаний о node, быстрой платформе для создания вэб приложений на javascript, обладающей довольно уникальной на сегодняшний день особенностью, неблокирующим I/O (вводом/выводом).

Для начала о nodeJS:


1) В качестве языка используется JavaScript
2) Для выполнения JavaScript используется движок V8 от Google, который работает довольно быстро благодаря компиляции в машинный код перед выполнением.
3) Для реализации неблокирующего I/O используются libev и libeio, (libev показывает более хорошие результаты по сравнению с libevent)
4) Для реализации подключения библиотек выбран синтаксис commonJS
5) Есть возможность писать модули ещё и на C/C++, при этом подключаются они точно так-же как и js модули, это позволит Вам, к примеру, любое узкое место в вашем приложении переписать на C++ без каких либо трудностей.

В процессе изучения данного момента, что в итоге привело к написанию этой статьи я успел довольно неплохо поиграться с этой особоенностью. И могу сказать, что неблокирующий ввод/вывод очень и очень позитивно сказывается на производительности и устойчивости к нагрузкам.
Читать дальше
Total votes 42: ↑34 and ↓8 +26
Views 8.5K
Comments 105

Классы и метаклассы в Javascript

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

Это часть фреймворка, который я сделал для своей платформы Akshell, вот полный код решения и документация. Однако оно может пригодиться в любой Server-Side JavaScript среде, на стороне сервера удобное создание иерархий классов особенно актуально. Его можно использовать и на клиенте, если заменить работу со свойством __proto__ оператором new.
Читать дальше →
Total votes 50: ↑38 and ↓12 +26
Views 2.5K
Comments 7

Тест на скорость ServerSide

JavaScript *
Sandbox
В последнее время стали очень популярны тесты производительности JavaScript движков, но в основном они касаются Client Side JavaScript. Меня заинтересовал вопрос: как обстоят дела с Server Side? Но тестировать только Google V8 и SpiderMonkey было бы неинтересно. Ясно, что результаты будут схожи с Client Side — движки-то те же. Поэтому нужно было добавить к тестам что-то, что недоступно в браузере, однако достаточно распространено, а также постараться использовать специфичные для серверных задач тесты. Этим недостающим объектом для тестов виделся компилятор JScript из .Net Framework. Однако предварительные результаты тестов стали сюрпризом для меня, и я решил добавить четвертого игрока из той же команды.

Но обо всем по порядку
Total votes 63: ↑58 and ↓5 +53
Views 2K
Comments 30

Реализация серверной части в многопользовательских онлайн играх

Game development *
За свою недолгую жинь я ни разу не встречал программиста, который бы не любил игры. И уж тем более, программиста, который никогда их не писал.
Кто-то начинает с тетриса, кто-то со змейки. У кого-то это увлечение проходит, а кто-то этим «заболевает» и превращает свою болезнь в любимую работу или занятное хобби.

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

Читать дальше →
Total votes 195: ↑174 and ↓21 +153
Views 15K
Comments 77

Тест на скорость год спустя

JavaScript *
imageЭта публикация является продолжением прошлогоднего моего поста и последующей заметки. Целый год тестовые скрипты валялись где-то на диске. Дело не дошло до сравнения JavaScript vs C#, которое напрашивалось после позорного провала JScript.NET. Не дошло, потому что я не чувствовал в себе силы адекватно перевести тесты с JavaScript, хоть и активно программирую на С#. Кроме того, я сделал пробный заход, и мне показалось, что чуда не будет. Сейчас я все-таки решил привести тестовый пакет в порядок, так, чтобы каждый мог его опробовать. Возможно, у кого-то хватит сил добавить адекватное сравнение с C#.
Под катом будут результаты тестов год спустя, ссылка на Github, и новый(старый) способ использования движка JScript от IE9 вне самого IE9.

Читать дальше →
Total votes 37: ↑30 and ↓7 +23
Views 2K
Comments 25

Адаптируем графику под Retina экран

Website development *
image
Очень часто мне встречаются сайты которые отвратительно выглядят на iPhone4, и дело даже не в том, что большинство из них не адаптированы под маленький экран, а в том, что разработчики не учитывают новый тип экранов. На иконки не хочется смотреть, на кнопки не хочется нажимать, а от картинок вообще хочется… закрыть сайт. То, что призвано завлечь пользователя на сайт, вникнуть в его суть, а не покинуть его тут же — теперь работает совершенно наоборот. Но пользователи iPhone в целом привыкли к такой ситуации, т.к. телефон не может заменить полноценного браузинга.

Однако, совсем недавно Apple дала нам iPad 3 небольшую фору, для того, чтобы привести дела впорядок. iPad'ом уже пользуются вполне себе полноценно, поэтому сайты должны выглядеть на нем ничуть не хуже, чем на ноутбуке или стационарном компьютере. И я считаю, что iPad 3 — это лишь первый шаг к полноценному внедрению Retina экранов в те же ноутбуки, а за ними и в стационарные мониторы. Apple уже готовит свою OS для Retina, у Windows 8 скорее всего с этим тоже проблем не будет, с их новым подходом в дизайне интерфейсов.
Читать дальше →
Total votes 85: ↑60 and ↓25 +35
Views 49K
Comments 127

AI, Pathfind, Pathfollow для персонажей в трехмерном динамическом мире (Часть 1)

Programming *Game development *Algorithms *
Tutorial
На написание статьи меня подтолкнула данная статья а так же тот факт, что в данный момент я заканчиваю разработку довольно продвинутого AI для своего сервера. Все что описано здесь я уже использую на сервере и это работает.

В конце цикла (надеюсь, меня хватит на несколько статей) я постараюсь создать AI для защитников замка и нападающих на него, при чем он не будет знать заранее ничего о замке, не будет иметь ни каких вэйпоинтов, а нападающие будут появляться случайно.

Начнём немного не по порядку – с pathfollow, т.е. с передвижения по уже найденному пути и вообще с движения монстров/NPC. О том, как найти этот путь, мы поговорим позже… и так, поехали.
Читать дальше →
Total votes 41: ↑34 and ↓7 +27
Views 17K
Comments 11

Пишем iOS видео-плеер и рекодер за 5 минут

Backendless corporate blog Development for iOS *
Tutorial
Привет хабра-люди,

Под катом пошаговая инструкция как создать свое приложение с потоковым видео под iOS. Понадобится XCode, СДК с клиентским АПИ, ровные руки (в принципе необязательно) и чашечка кофе.


Поехали
Total votes 37: ↑33 and ↓4 +29
Views 22K
Comments 10

DUMP-2014: предварительная программа

IT-People corporate blog Programming *
Привет, хабр!

У нас есть две прекрасные новости про конфренцию DUMP, которая пройдет 14 марта в Екатеринбурге. Во-первых, мы увеличили количество секций: доклады будут идти в 6 параллельных потоках и 8 секциях. К секциям Front-end, Serverside, разработка интерфейсов, управление разработкой, Rocket science (секция на стыке промышленного программирования и науки), аналитика, тестирование, добавилась секция Mobile. Во-вторых, на сайте уже опубликована предварительная программа. Она получилась действительно крутой.

image
Участники DUMP-2013


Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Views 2.5K
Comments 1

Конференция DUMP-2014: секция «ServerSide»

IT-People corporate blog Website development *Programming *
Продолжает нашу серию постов от лица программных директоров обзор секции Server Side.

В этой секции их двое — Александр Чернин из Naumen и Александр Казаков из СКБ Контур.

Александр Чернин сегодня делится своим мнением о том, кому будет полезна секция, зачем программистам ходить на конференции и что ждет серверных разработчиков 14 марта на DUMP.

image

Любая конференция для докладчиков это повод рассказать, как они и их команды поддерживают в своих проектах модные технологические тренды. Поэтому составлять секцию “Server Side” совсем не сложно — команды есть, тренды есть, остается лишь выяснить, как эти множества пересекаются. Как ни странно, из года в год пересечение оказывается непустым.
Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Views 1.8K
Comments 1

Отчет о конференции DUMP-2014

IT-People corporate blog Programming *
14 марта в Екатеринбурге в четвертый раз прошла конференция для разработчиков DUMP. В этом году она получилась действительно самой большой на Урале — нам удалось собрать на одной площадке чуть больше 900 разработчиков, дизайнеров, аналитиков, тестировщиков, верстальщиков и людей, занимающихся наукой в сфере IT. Участники съехались из 19 городов России и мира.

image

Формат конференции

Доклады читались в 6 параллельных потоках и 8 секциях: Fronttalks, Serverside, Управление разработкой, Проектирование интерфейсов, Mobile, Аналитика, Тестирование, Rocket science. Кроме этого, прошел круглый стол на тему «Бизнес в IT».

Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Views 6.5K
Comments 4

Построение надежных веб-приложений на React: Часть 4, серверная генерация

Website development *JavaScript *Node.JS *
Translation
Tutorial
Перевод статьи «Building robust web apps with React: Part 4, server-side rendering», Matt Hinchliffe

От переводчика: это перевод четвертой части цикла статей «Building robust web apps with React»
Переводы:

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

В предыдущей части этой серии я блуждал в поисках стратегии тестирования, и эта часть не сильно отличается. И хотя здесь есть примеры и базовые демо изоморфного JavaScript, здесь не так много опенсорс реализаций для изучения. В сторону детали реализации, для меня, самое большое отличие, от написания клиентского JavaScript, это то, что у меня изначально есть данные.
Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Views 27K
Comments 4

Back-end на основе Microsoft Azure

.NET *Microsoft Azure *
Sandbox
Хочу рассказать ещё об одной теме, по которой материалов пока что чрезвычайно мало. Речь пойдёт о разработке back-end'а на основе Microsoft Azure Mobile Services. Хотя вводных статей на эту тему немало, легко заметить, что традиционный пример с TodoItems (которым подавляющее большинство введений ограничиваются) содержит потенциальные проблемы для большого проекта.

Самый главный минус демонстрационного проекта заложен в особенностях EntityDomainManager, который вынуждает отправлять через JSON те же классы, что используются в ORM (допустим, используем Entity Framework). Во-первых, сериализуемый класс должен наследоваться от EntityData, получается, что в базе данных оказываются не всегда нужные и удобные поля (например, он идентифицируется строкой, но хорошо ли строить индексы всегда на строках?). Во-вторых, EF располагает к наследованию класса только для схемы code first, не предусматривающей в текущей версии mapping'а на хранимые процедуры (вновь вопрос о быстродействии БД). И, в конце концов, а где тогда слой логики? Ведь структура БД не обязательно тождественна внешнему интерфейсу.

По этим причинам рассмотрим другой метод. Оговорю также тот факт, что введения в основы здесь не будет, предполагается, что краткое введение читателю уже известно.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 5.8K
Comments 0

На старт, внимание, DUMP! Екатеринбург, 20 марта

IT-People corporate blog Website development *Programming *
Привет, Хабр! У нас новости с Урала :)

Конференция для разработчиков DUMP (Development. Usability. Management. Practice) пройдет 20 марта в Екатеринбурге. В этом году мы отмечаем юбилей — уже пятую весну мы собираем уральских (и не только) айтишников в одном месте и делимся опытом. Так что готовьте поздравления, торт будет :)

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



Ниже под катом — планы на этот год и инструкции о том, как стать докладчиком и спонсором конференции.

И, внимание, регистрация уже открыта. Присоединяйтесь!

Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 3.5K
Comments 8

Программа конференции DUMP-2015

IT-People corporate blog Website development *Programming *
Привет, Хабр!

Осталось три недели до юбилейной конференции разработчиков DUMP, которая пройдет в Екатеринбурге 20 марта. Напомним, что в этом году будет 6 потоков и 7 параллельных секций: FrontTalks, Serverside.Experience, Serverside.Knowledge, Дизайн, Управление разработкой, Системный анализ и Тестирование.

Программа почти готова. Welcome!

1.jpg

Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 3.7K
Comments 10

Видео. Пишем полноценное клиент-сервер приложение под Android

Java *Development for Android *
Tutorial
Приветствую вас, уважаемый Developer!

Хочу поделиться с вами серией уроков, которые мы пишем на нашем канале. Цель данных уроков поделится своими знаниями в сфере Java/Android Development-а, показать как мы строим процесс разработки, и в итоге написать готовое приложение, которое будет общаться с сервером.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views 74K
Comments 8

Вышла в свет новая версия Node.js v4.0.0

High performance *Website development *JavaScript *Programming *Node.JS *
Translation
Сотрудники Node.js и члены Node.js Foundation с гордостью представляют 4.0.0 версию продукта. В этот релиз включены бесчисленные часы совместной работы проектов Node.js и io.js, которые были успешно объедены в одну кодовую базу. Проект Node.js управляется командой из 44 человек, 15 из которых формируют Technical Steering Committee (TSC). Кроме того, более 100 участников были добавлены в список людей, способных влиять на развитие ядра, по сравнению с числом участников версии v0.12.7.

Node.js v4.0.0 содержит V8 v4.5, это та же версия V8, которая поставляется вместе с веб браузером Chrome сегодня. Это привносит с собой множество бонусов для пользователей Node.js, наиболее важные из которых, это поддержка ES6 стандарта, который включен по умолчанию, включая блочную область видимости, классы, типизированные массивы (Node's Buffer теперь работает поверх Uint8Array), генераторы, Promises, Symbols, строковые шаблоны, коллекции (Map, Set, и так далее) и, новая возможность для V8 v4.5 — стрелочные функции.
Читать дальше →
Total votes 48: ↑42 and ↓6 +36
Views 30K
Comments 33

Пешком по тайлам

2ГИС corporate blog Website development *Search engines *C++ *Algorithms *


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

Ни один из известных нам сервисов не строил маршрут из точки А до точки Б там, где нет тропинок и тротуаров, зато полно заборов и домов причудливых очертаний.

2ГИС решил эту проблему. Мы научились строить маршруты для пешеходов по растеризованной карте местности. Карта формально представляется графом с вершинами на регулярной решётке в местах, где пешеход может находиться физически.

Принято считать, что такой способ строить маршруты неприемлем, потому что съедает много ресурсов. Под катом — как мы с этим справились.
Читать дальше →
Total votes 65: ↑64 and ↓1 +63
Views 23K
Comments 26

Создаём RESTful API с помощью Dart за несколько минут

Website development *Dart *
Translation
Tutorial


Примечание переводчика: хотелось бы предоставить читателям еще один повод взглянуть на замечательный язык программирования Dart, на этот раз речь пойдёт о том как быстро и легко создавать RESTful API. Для тех, кто не в курсе, здесь понятно описано что это такое.
А тем, кто в курсе, добро пожаловать под кат.
Читать дальше →
Total votes 36: ↑14 and ↓22 -8
Views 12K
Comments 23
1