Как стать автором
Обновить
45.5
Карма
0
Рейтинг
Сергей Егоров @bsideup

Пользователь

  • Подписчики 21
  • Подписки 17

Строители против синтаксиса Java

Блог компании JUG Ru Group Java *
Перевод

Шаблон проектирования «строитель»один из самых популярных в Java.


Он простой, он помогает делать объекты неизменяемыми, и его можно генерировать инструментами вроде @Builder в Project Lombok или Immutables.


Но так ли удобен этот паттерн в Java?

Читать дальше →
Всего голосов 57: ↑52 и ↓5 +47
Просмотры 23K
Комментарии 154

RxConnect — когда React встречает RxJS

JavaScript *ReactJS *
Перевод

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


Введение


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


Существуют разные способы реагирования на интерактивные события в React приложениях, и, по моему мнению, реактивный подход (благодаря таким библиотекам, как RxJS или Bacon) — один из самых лучших. Вот только для того, чтобы использовать RxJS и React одновременно, Вам придётся иметь дело с жизненным циклом React компонента, вручную управлять подписками на потоки и так далее. Хорошая новость — всё это можно делать автоматически с помощью RxConnect — библиотеки, разработанной в процессе миграции с Angular на React в ZeroTurnaround.


Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 25K
Комментарии 26

Pivotal прекращает разработку Groovy & Grails с 31 марта

Open source *Java *Groovy & Grails *


Bad news everyone!

Компания Pivotal, спонсировавшая разработку Groovy & Grails последние годы, объявила о прекращении спонсирования проектов начиная с 31 марта.

Релизы Groovy 2.4 и Grails 3.0 будут последними релизами под крылом Pivotal.
Читать дальше →
Всего голосов 40: ↑34 и ↓6 +28
Просмотры 26K
Комментарии 37

Вы находитесь в стране, на которую распространяется эмбарго. Загрузка Java невозможна

Java *


Привет, Хабр!

Чуть-чуть пост не дотянул до пятничного, а ведь тема достойная.

Невозможно загрузить Java(TM) на данный компьютер. Вы находитесь в стране, на которую распространяется эмбарго.

Именно такую надпись вы получите при попытке скачать JVM с java.com, находясь на территории России.

Не верите? Убедитесь сами: www.java.com/ru/download

На случай, если вам не повезло и вы не находитесь в России, то не стоит расстраиваться. Смотрите EDIT5.

P.S. Хабр — не для политики, поэтому прошу избежать её обсуждения в комментариях. Спасибо.
Читать дальше →
Всего голосов 216: ↑142 и ↓74 +68
Просмотры 150K
Комментарии 168

MacroGroovy — работа с AST на Groovy ещё никогда не была такой простой

Java *Groovy & Grails *
image
Последнее время часто приходится работать с такой мощной возможностью Groovy как Compile-time AST Transformations.

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

def someVariable = new ConstantExpression("someValue");
def returnStatement = new ReturnStatement(
    new ConstructorCallExpression(
        ClassHelper.make(SomeCoolClass),
        new ArgumentListExpression(someVariable)
    )
);


До боли знакомые конструкции, не правда ли? Хотите, чтобы было вот так?
def someVariable = macro { "someValue" }
def returnStatement = macro { return new SomeCoolClass($v{ someVariable }) }


Или даже так?
def constructorCall = macro { new SomeCoolClass($v{ macro { "someValue" } }) }


В данной статье речь пойдёт о моём решении этой проблемы, максимально близком к родному решению Groovy — github.com/bsideup/MacroGroovy

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 5.5K
Комментарии 11

Haxe + OpenFL: даже моя бабушка сможет сделать игру под iOS

Разработка под iOS *Adobe Flash Разработка игр *Haxe *
Tutorial


Привет, %USERNAME%! решил рассказать тебе, как, приложив минимальные усилия, начать разрабатывать на Haxe игры под iOS (на самом деле и не только, но я решил ограничить данную статью именно этой платформой).

Для этого нам понадобятся:
  1. бабушка Руки. Желательно прямые. Ещё желательней из плеч;
  2. Mac OS X;
  3. XCode;
  4. Идея для игры.


Приглашаю всех под кат, даже если чего-либо из списка у Вас нет в наличии.
Читать дальше →
Всего голосов 39: ↑33 и ↓6 +27
Просмотры 52K
Комментарии 15

Отчёт по онлайн конференции RuHaxe #1

Open source *Adobe Flash Action Script *Haxe *
8 июня 2013 года прошла онлайн-конференция RuHaxe — первое событие в рунете, посвященное Haxe-платформе.

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

Под катом Вы найдёте видеозаписи каждого из четырёх выступлений, а также информацию о дальнейших планах развития конференции.
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 8.2K
Комментарии 8

MXML компилятор. Часть 3. Разбираемся в работе Flex-компилятора

Adobe Flash Компиляторы *
Перевод

Привет, %habra_user%!

Решил в продолжение цикла статей о Flex-компиляторе перевести хорошую статью автора сего творения о том, какие же процессы происходят внутри компилятора при сборке приложения. Датируется она 2008м годом, но при этом в русскоязычном сообществе (да и в других особо тоже) замечена не была. А так как ближайшее время именно этот компилятор остаётся актуальным для сборки подавляющего большинства Flash-проектов, то я решил продолжить цикл статей о его расширении.

Как обычно всех, кто не устал дочитав до этой строчки — прошу под кат!
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 5.9K
Комментарии 7

Настраиваем SSH ключи на Node-ах Jenkins без ssh-доступа к ним

Git *
Tutorial


Всем привет! Думаю у каждого, кто когда-либо настраивал Jenkins для работы с Git-ом возникала проблема генерации ключей на Node-ах.

В очередной раз когда мне этим пришлось заняться я оказался в нелёгкой ситуации — ssh доступа к серверу с Jenkins-ом и к его слейвам у меня не было и, соответственно, ключи я сгенерировать не мог. Но всё оказалось не так плохо.

Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 6.7K
Комментарии 4

Cascade File System или размышления о файловой системы моей мечты

Системное программирование *


Все мы привыкли к уже давно ставшему стандартному видению файловых систем: есть точка монтирования, и дерево node-ов ростёт от неё. Это удобно, привычно всем и проверенно десятилетиями. Но что если этих точек станет несколько?

Я хотел бы предложить Вам мой концепт того, как я это вижу. Пока, к сожалению, в теории, так как я не обладаю достаточным знанием проектирования файловых систем, но я более чем уверен, что на Хабре таких людей предостаточно, и моя цель — призвать их к конструктивной критике и обсуждению предложенной мною идеи.
Читать дальше →
Всего голосов 30: ↑17 и ↓13 +4
Просмотры 16K
Комментарии 38

Потоковое онлайн 4K-видео или обратно к видеоплееру на Flash

Adobe Flash
Перевод


Буквально вчера Gerd Hilgemann опубликовал результат своей работы над потоковым вещанием 4K-видео. Как говорится в его оригинальной заметке (это топик-перевод, ссылка на demo внутри):
Завершил работу над живой демострацией потокового вещания видео в формате 4K (3840x2160), которая стала возможна благодаря технологии Flash, а точнее многопоточности, Stage3D и StageVideo. Повторить такое на HTML5 не удалось.
Я использовал HTTP Live Streaming (так же известный как HLS) как контейнер для потокового вещания и mpegTS для декодирования видео, который так же был реализован на Flash.

Для вещания Вам не потребуется специальный сервер, а загрузка процессора на 40% ниже, чем на YouTube!

Для обратной совместимости на мобильных устройствах видео передаётся в формате 720p и потребляет всего 1.5Мбит/c. Верьте или нет, но видео в формате 4K использует всего 3.5Мбит\с.

Пока удалось протестировать на видеокартах фирм ATI и Nvidia, а так же жду недождусь, когда мне в руки попадётся Red 4K Player (я так понимаю речь идёт об этом — прим. переводчика) и его SDK:)

Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры 46K
Комментарии 82

Как мы iOS приложение тестировали из-под Ubuntu

Разработка под iOS *
Tutorial


В компании где я работаю наступила пора корпоративов тестирования нашего iOS приложения, и т.к. мако тут только у меня, а все остальные разработчики и, что самое главное, QA работают под Ubuntu, <irony>а значит айфонов у них нет</irony>, то пришлось придумать решение проблемы и избавить себя от мук передачи личного айфона в руки тестеров.

Если Вы сталкивались с подобной проблемой или просто интересуетесь темой шаринга одного мака с возможностью одновременной работы на нём, то прошу под кат.
Читать дальше →
Всего голосов 64: ↑47 и ↓17 +30
Просмотры 26K
Комментарии 10

Observer Pattern со строгой типизацией или зачем нам нужен Objective-C++

Разработка под iOS *


Уже много копий было сломанно о тему «обработка событий в Objective-C», о делегировании событий (к примеру, viewWillAppear:(BOOL)animated ), о том как это не удобно, когда надо слушать их одновременно в разных местах программы.

Я хочу предложить Вам свою реализацию шаблона Observer, который использует мощь C++0x и позволяет объявлять сигналы с жёстко типизированным списком параметров, например, вот так:
	new TLSignal<NSString *, BOOL>(self);

Т.к. мои знания С++ довольно таки скудны, то буду признателен любым советам по улучшению данного кода.

Заинтересовавшихся прошу под кат.
Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 8.9K
Комментарии 18

Хитрости разработчика под iOS. Splash Screen

Разработка под iOS *
Из песочницы
Tutorial

Вступление


Приветствую, хабравчане!

В ходе разработки приложений под iOS у меня накопились некоторые хитрости, которыми я хотел бы поделиться с Вами.

Сразу предупрежу, что я стараюсь шагать в ногу со временем, поэтому примеры будут под iOS >=5.0 и использовать Storyboard и ARC, но ничего не мешает их портировать на 4.*.

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

Заинтересовавшимся — прошу под кат (Пост содержит скриншоты областей Interface Builder-а, поэтому предупреждаю о траффике).

Читать дальше →
Всего голосов 33: ↑27 и ↓6 +21
Просмотры 41K
Комментарии 13

Apache Flex выложили исходники Falcon

Adobe Flash

Настал день, которого лично я ждал очень долго — в репозиториях Apache появились исходники Falcon — новым этапом эволюции flex-компилятора, разработку которого активно вели в Adobe до передачи Flex в руки краснокожих.

Что нам известно относительно Falcon:
  • Меньшее потребление памяти
  • Constant propagation — подстановка констант, избавление от dead code
  • Новый концепт проверки кода «на лету» в IDE с помощью предоставляемых (надеюсь, легковесных) механизмов, являющихся частью Falcon
  • Ускорение компиляции кода, как в инкрементальном, так и в обычном режимах
  • Мультимодульные проекты должны компилироваться заметно быстрее (если не врут, то модули теперь компилируются многопоточно, используя java.util.concurrent.IFuture<V>, что даст прирост при росте количества ядер процессора)
  • И, наконец, генерируемый Falcon код является более оптимизированным, что даёт выигрыш не только от процесса разработки, но и в финальном продукте!

Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 4.8K
Комментарии 12

Поднимаем собственный Maven репозиторий Nexus на OpenShift

Java *Openshift *
image


Последнее время на Хабре стали появляться статьи про OpenShift, что привлекло моё внимание, ведь платформа действительно интересна и грех в ней не поковыряться, да и так совпало, что я начал задумываться найти альтернативу моему уютному Dropbox-репозиторию Maven в связи с отменой возможности иметь прямые ссылки и папки Public в целом ( пруф: habrahabr.ru/post/145864 ).

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

Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 13K
Комментарии 11

MXML компилятор. Часть 2. Не строковые инициализаторы параметров

Adobe Flash
Привет, Хабр!

В предыдущей статье я провёл некий ликбез по внутренностям Flex-компилятора (по части MXML) и рассказывал, как избавить себя от проблем работы с классами в MXML, требующими параметры конструктора. Сейчас мы разберём другую сторону вопроса — установка параметров в custom-значения (к примеру, константы) без использования механизма Binding (хотя, очень похоже на него).

Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 1.5K
Комментарии 5

Добавляем в Flex-компилятор MXML параметры конструктора

Adobe Flash
Из песочницы
26 Апреля 2007 года. Adobe делает заявление, что Flex Framework переводят на open source. Данная новость вызвала бурю оваций среди флешеров всего мира, что появятся принципиально новые фреймворки на его основе, но дальше пары-тройки проектов это не пошло.

В то время я делал проекты с использованием Flex-а, и чем больше проекты становились, тем сильнее мне не нравилось некоторые нюансы его внутреннего устройства.
Думаю, каждому, кто работал с Flex-ом, известны его проблемы, а так же низкое качество кода как уже написанного, так и генерируемого из MXML, поэтому я решил вмешаться в этот процесс с целью навести порядок и разобраться в устройстве Flex компилятора, и начал с добавления «сахара» в MXML, стараясь сделать это как можно сильнее в духе остальных фич детища Adobe-а. Спустя два года, я принял решение поделиться своими знаниями с Вами.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры 2.9K
Комментарии 8

Информация

В рейтинге
Не участвует
Откуда
Berlin, Berlin, Германия
Дата рождения
Зарегистрирован
Активность