Скрестить ежа (Marathon) с ужом (Spring Cloud). Эпизод 1

Автор: admin от Сегодня, 15:10, посмотрело: 0

При переходе к распределённым системам с большим количеством инстансов сервисов в полный рост встают проблемы их обнаружения (service discovery) и балансировки запросов (load balancing) между ними. Как правило, для их решения используются такие специализированные инструменты как Consul, Eureka или старый добрый Zookeeper, в сочетании с Nginx, HAProxy и некоторым мостом между ними (см. registrator).


Основная проблема в подобном подходе это большое количество интеграций, и, как следствие, точек где что-то может пойти не так. Ведь помимо вышеупомянутых решений наверняка будет использоваться локальный маленький PaaS (например Mesosphere Marathon или Kubernetes). Последние, к слову, уже хранят необходимую конфигурацию об окружении (ведь через них идёт весь деплоймент). И встаёт вопрос, а можем ли мы отказаться от специализированных инструментов для service discovery и переиспользовать тот же Marathon для этой задачи?


Краткий ответ — можем. Если интересно как — читайте дальше.

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

 

Нужны ли видеозвонки в VR?

Автор: admin от Сегодня, 13:15, посмотрело: 17

Нужны ли видеозвонки в VR?

В Voximplant мы в основном занимаемся автоматикой звонков: автоматически ответить и рассказать что с заказом, автоматически позвонить перед доставкой, автоматически соединить с нужным клиентом — вся вот эта история и javascript в облаке. Но кроме этого мы любим делать к нашей платформе SDK: Web SDK, чтобы звонить из браузера и в браузер, нативные Android и iOS SDK, чтобы в роуминге звонить через интернет, React Native SDK, чтобы звонить из кросс-платформенных приложений. А несколько дней назад мы сделали SDK для Unity. Который позволяет звонить из виртуальной реальности.
Зачем и кому звонить из виртуальной реальности?!?

Категория: Программирование, Веб-разработка

 

Как я пишу код

Автор: admin от Сегодня, 13:05, посмотрело: 11

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

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

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

Код, использующий неявное поведение, может быть основан на каком-нибудь недокументированном, но уже реализованном функционале. Например, в мире написана целая куча НЕВЕРНОГО кода, который полагается на то, что функция файловой системы, возвращающая список директорий, вернёт их в отсортированном по алфавиту порядке. Это и вправду часто работает именно так, но ровно до того момента, пока не ломается по «непонятным» причинам. А на самом деле просто никто никогда этой сортировки не гарантировал.

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

 

DevExtreme: теперь на GitHub и с бесплатной лицензией

Автор: admin от Сегодня, 11:55, посмотрело: 14

У нас сразу две отличные новости. DevExtreme, наш набор компонентов для фронтенд-разработки, переехал на GitHub и стал доступен бесплатно для некоммерческого использования!


DevExtreme: теперь на GitHub и с бесплатной лицензией


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


Вести разработку на GitHub — одно удовольствие. Механизм pull-реквестов с удобным code review — то, чего нам не хватало, пока мы жили во внутреннем Mercurial-репозитории. Теперь каждое изменение видят несколько пар глаз, что обеспечивает больший уровень прозрачности и позволяет процессам разработки плавно интегрироваться в методологии, принятые в команде (© SeOd).


В первые дни репозиторий выглядит пустовато, так как при импорте кода мы схлопнули историю коммитов. Но это продлится недолго! В дополнение к традиционным релизам, которые никуда не денутся, мы будем также оформлять Releases на GitHub и там же выпускать промежуточные pre-release и hotfix версии. Подписавшись на DevExpress/DevExtreme, например, с помощью сервиса Sibbell вы всегда будете в курсе наших последних новостей.

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

 

Сравниваем Java 8, RxJava, Reactor

Автор: admin от Вчера, 23:05, посмотрело: 18

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

Люди часто спрашивают меня:
Зачем мне вообще использовать RxJava или Reactor, если то же самое можно сделать с помощью Streams, CompletableFutures и Optionals?


Сравниваем Java 8, RxJava, Reactor


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


Давайте определим 8 критериев, которые помогут нам понять разницу между этими библиотеками и стандартными возможностями Java:

Категория: Программирование, Веб-разработка, Android

 

Второй вебинар по SAP Cloud Platform: детальный обзор сервисов

Автор: admin от Вчера, 13:55, посмотрело: 24

Мы продолжаем серию вебинаров по SAP Cloud Platform и сегодня в 11:00 приглашаем всех желающих познакомиться с некоторыми сервисами для платформы. Эксперты SAP расскажут о следующих темах:


  • как связать воедино разные программные приложения на уровне процессов и данных — создать единый бизнес-процесс, состоящий из бизнес-сервисов, с помощью Integration Service

  • как «принести» и использовать свой собственный готовый программный код для запуска на платформе SCP (с помощью Cloud Foundry)

  • как превратить свой программный сервис в продаваемый продукт с помощью API Management

  • сервис геймификации, позволяющий превратить скучное бизнес-приложение в захватывающее приключение

  • WebIDE


Для участия в вебинаре необходимо зарегистрироваться.

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

Категория: Программирование, Веб-разработка

 

Видео о статическом анализе кода

Автор: admin от Вчера, 11:30, посмотрело: 15

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

Русскоязычные видео


Статический анализ кода


Видео о статическом анализе кода

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

 

Простые числа Мерсенна и тест Люка-Лемера

Автор: admin от 25-04-2017, 20:40, посмотрело: 28

Простые числа Мерсенна и тест Люка-Лемера

Перевод поста Джона Макги (John McGee) "Mersenne Primes and the Lucas–Lehmer Test".
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации

Содержание


— Введение.
— Теорема множителей Эйлера и Мерсенна
— Люка и Лемер
— От Простые числа Мерсенна и тест Люка-Лемера до Простые числа Мерсенна и тест Люка-Лемера
— Совершенные числа
— 21-е, 22-е и 23-е числа Мерсенна
— 24-е, 25-е и 26-е числа Мерсенна.
— 27-е и 28-е числа Мерсенна
— 29-е число Мерсенна
— 30-е и 31-е числа Мерсенна
— Великий интернет-поиск чисел Мерсенна
— Факторизация чисел Мерсенна
Простое число Мерсенна — простое число вида Простые числа Мерсенна и тест Люка-Лемера (значение степени р также должно быть простым). Эти простые числа получили свое название от имени французского математика и религиозного ученого Мерсенна, который и составил данный список простых чисел этой формы в первой половине семнадцатого века. Первые четыре из них были известны уже давно: Простые числа Мерсенна и тест Люка-Лемера, Простые числа Мерсенна и тест Люка-Лемера, Простые числа Мерсенна и тест Люка-Лемера и Простые числа Мерсенна и тест Люка-Лемера.

Мерсенн утверждал, что значение Простые числа Мерсенна и тест Люка-Лемера будет простым для простых чисел Простые числа Мерсенна и тест Люка-Лемера, принадлежащих множеству Простые числа Мерсенна и тест Люка-Лемера. Во всем ли он был прав, можно проверить с помощью функции Wolfram Language — PrimeQ, в которой используются современные методы тестирования чисел на простоту, для которых не требуется поиска конкретного множителя, чтобы доказать, что число составное.

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

 

The Better Parts: доклад Дугласа Крокфорда о JavaScript с конференции .concat() 2015

Автор: admin от 25-04-2017, 13:55, посмотрело: 35

Кто знает о JS больше, чем один из его «отцов»? На HolyJS 2017 Piter приедет легендарный Дуглас Крокфорд, создатель JSON и автор множества инструментов javascript. В преддверии его выступлений в Петербурге публикуем перевод его выступления на .concat() 2015: The Better Parts — о том как использовать существующие языки программирования более эффективно и каким будет язык программирования будущего. Хотя с момента выступления прошло более года, доклад коснулся ряда «вечных» вопросов программирования, которые, мы уверены, будут актуальны и через 3-5 лет.

The Better Parts: доклад Дугласа Крокфорда о JavaScript с конференции .concat() 2015

Категория: Программирование, Веб-разработка

 

Всё плохо

Автор: admin от 25-04-2017, 13:05, посмотрело: 54

Всё плохо


Что ж, всё плохо. Немного забавно так говорить: на конференции (Web a Quebec) было много разговоров об удивительном будущем и вещах, возможных благодаря новым технологиям. О новых средствах и устройствах, которые должны сделать нашу жизнь проще. Мои знакомые знают, что у меня обычно очень циничный взгляд на технологии; лично я боюсь всех этих умных устройств, которые реагируют на мои слова, чем восхищались другие спикеры.


В основном потому, что чем больше времени я трачу на программирование и провожу в этой отрасли, тем больше узнаю, как всё работает изнутри, и тем меньше доверия всё это мне внушает. Я подобрал изображение для слайда. Это картина «Триумф смерти» Питера Брейгеля. В некоторой степени она раскрывает моё отношение к «умному дому».

Категория: Программирование, Веб-разработка

 
Назад Вперед