Всем привет!
Продолжаем наш цикл статей о Dagger 2. Если вы еще не ознакомились с первой частью, немедленно сделайте это :)
Большое спасибо за отзывы и комментарии по первой части.
В данной статье мы поговорим о custom scopes, о связывании компонентов через component dependencies и subcomponents. А также затронем такой немаловажный вопрос, как архитектура мобильного приложения и как Dagger 2 помогает нам выстраивать более правильную, модульнонезависимую архитектуру.
Всем заинтересовавшихся прошу под кат!Читать полностью »
Рубрика «java» - 203
Dagger 2. Часть вторая. Custom scopes, Component dependencies, Subcomponents
2016-03-23 в 11:13, admin, рубрики: android, android development, architecture design, dagger 2, java, mobile development, разработка, разработка мобильных приложений, Разработка под androidРоман Елизаров: «Половина научных работ по Concurrency — полная чушь!»
2016-03-21 в 17:40, admin, рубрики: concurrency, devexperts, java, performance, без слайдов, Блог компании JUG.ru Group, высокая производительность, елизаров, многопоточное программирование, многопоточность, параллельное программирование, Спортивное программирование, финансовая инженерияДобрый день, это «Без слайдов». В гостях у меня побывал Роман Елизаров, Java Champion, эксперт по Java и многопоточности (а с недавнего времени — еще и по финансовой математике), спикер многочисленных конференций, председатель жюри Северо-Восточного Европейского региона ACM-ICPC, престижнейшей в мире олимпиады по программированию, лектор в ИТМО и, наконец, VP по технологиям в компании Devexperts. В общем, «человек и пароход».
В разговоре мы затронули следующие темы:
- что такое финансовая математика и как ее учить;
- как устроен софт для финансовой индустрии;
- как в компании Devexperts появилась исследовательская лаборатория по многопоточности;
- куда развивается Concurrency, и что будет в моде в ближайшее время;
- как всемирная олимпиада по программированию пришла в Россию.
Текстовая версия — под катом.
Читать полностью »
QA: Conference. Вторая волна докладчиков
2016-03-21 в 9:12, admin, рубрики: .net, java, Блог компании Luxoft, тестирование, Тестирование IT-систем, Тестирование мобильных приложенийНаша конференция по тестированию программных систем начнется совсем скоро и, как известно, пройдет в пяти городах России. Напоминаем всем, то у нас:
- от 24 полноценных доклада в Москве и Питере
- до 16 докладов — в Новосибирске и Екатеринбурге
- 8 докладов — в Омске
- возможность посмотреть записи всех докладов — всем участникам
- только полноценные, 45-минутные доклады, раскрывающие все темы «от» и «до»
- в цену до 3,000 рублей включено: все доклады всех городов — в записи, кофе-брейки и огромное количество знаний
Что в совокупности дает возможность:
- Получить много ценных знаний в формате интенсива
- Перенести свои новые знания — в проекты и тем самым облегчить своей команде и компании жизнь
- Пообщаться с коллегами по вопросам, которые вас волновали
- Услышать как про положительный опыт, так и про отрицательный
Итак, докладчики, о которых мы расскажем сегодня:
- Евгений Огородников. RmBIT — развёртываем автоматизацию тестирования с нуля — советы из личного опыта
- Сергей Махетов. Центр ИТ — автоматизация тестирования на языке Scala
- Алексей Лавренюк. Яндекс — методика и инструменты нагрузочного тестирования
- Сергей Пирогов. Записки автоматизатора — автоматизация функционального тестирования Web приложений
- Дмитрий Акмаев. DINO Systems — global CI, что это такое, и чего не хватает в классическом CI
- Александр Чумакин. JUNO — автоматизация сценариев взаимодействия интеграционных систем и нагрузочного тестирования
- Екатерина Боброва. Тамтэк — представление предметной области в автотестах
- Михаил Бобков. Netflix — автоматизация тестирования на интеграционных проектах
Хотите почитать подробнее? Добро пожаловать под кат и на наш сайт
Читать полностью »
Свидетели JPoint: что делает программиста особенным?
2016-03-16 в 10:31, admin, рубрики: java, java конференция, jpoint, jpoint2016, Блог компании JUG.ru GroupПо итогам JPoint 2015 мы получили множество отзывов: как приятных, так и наполненных разной критикой — как конструктивной, так и не очень. Одни участники положительно отзывались о содержании докладов, подборе спикеров и организационных моментах, другие критиковали очередь на обед и небольшую вместимость главного зала (на открытии некоторым пришлось стоять).
При подготовке JPoint 2016 мы постарались учесть рекомендации и пожелания участников прошлогодней конференции. 22-23 апреля можно будет посмотреть, что из этого всего получилось. А пока давайте разберемся, за что наши участники любят JPoint, почему одни приходят к нам из года в год, а другие стремятся стать спикерами.
Вспомнить всё: Java-конференция JET. 28 сентября 2015. Отчёт
2016-03-16 в 1:08, admin, рубрики: akka, ast transformations, data mining, groovy, java, jet, jvm, rate-limit, scala, scalan, scalaz, spring framework, tdd, unsafe, метки: jet Меня зовут Дима и я разработчик. Живу в Минске, люблю посещать зарубежные конференции. Ну вот устал однажды ездить и решил сходить локально. Но выбора было мало. Поэтому вдвоём со своим верным товарищем решили сделать конференцию самостоятельно.
Назвали JET. Потому что начинается с J, как и Java, а ещё можно сделать слоган "Let's fly to Java world". Ну что же, как это было?
Открытие
Началось все с выступления организаторов, где мы поделились тем, как зарождалась идея конференции. Рассказали о том, как мы прошли путь в 4 месяца подготовки, и что по итогу получилось. А получилось — 3 потока концентрированных знаний, 300 участников и первый кирпичик в фундаменте дома конференции JET.
Android клиент для rutracker: обходим блокировку при помощи Google Compression proxy
2016-03-15 в 18:15, admin, рубрики: android, Google, java, Peer-to-Peer, rutracker.org, Веб-разработка, Разработка под android Полагаю, что все пользователя хабра так или иначе нашли способ попадать на рутрекер, но порой бывает лень включать свой тор, прокси, впн или что либо ещё. Мне вот стало лень, и поэтому я решил написать свой маленький клиент. Для обхода блокировок я решил использовать google compression proxy. Интересная, хорошая и полезная штука — странно, что по её поводу на хабре не было статей. Забегая вперёд, сразу скажу, что всё получилось, и работающую версию можно попробовать на своём девайсе. Однако в процессе возникло много всяких интересных нюансов, которые любопытны несколько больше, чем само приложение. Итак, начнём!
Читать полностью »
[Москва] Встреча с разработчиками Kotlin
2016-03-15 в 15:16, admin, рубрики: java, JUG, kotlin, Блог компании JetBrains, встреча, Москва, Разработка под android, функциональное программированиеПривет!
В четверг, 17 марта (да-да, это послезавтра!), в 19:00 в офисе компании КРОК пройдет встреча JUG.msk c разработчиками языка Kotlin Андреем Бреславом и Дмитрием Жемеровым. Андрей — вообще самый главный человек в Kotlin, возглавляет разработку языка, а Дмитрий — возглавляет разработку плагина к IntelliJ IDEA. Так что будет что обсудить, и ответы на вопросы будут из первых уст!
Тема встречи — недавний и долгожданный релиз языка Kotlin. И поэтому встреча тоже называется очень просто:
![[Москва] Встреча с разработчиками Kotlin - 1 image](https://www.pvsm.ru/images/2016/03/15/moskva-vstrecha-s-razrabotchikami-Kotlin.png)
ScribeJava — даже ваша бабушка сможет работать с OAuth
2016-03-15 в 6:29, admin, рубрики: api, github, hh.ru, java, oauth, oauth 1.0, oauth2, open source, scribe, scribe-java, ScribeJava, subscribe, Блог компании HeadHunter, Веб-разработка, Программирование 
Именно этой фразой нас приветствует библиотека для работы с OAuth — ScribeJava (https://github.com/scribejava/scribejava). Если быть точнее, то фраза звучит так: “Who said OAuth/OAuth2 was difficult? Configuring ScribeJava is so easy your grandma can do it! check it out:”.
И это действительно похоже на правду:
OAuth20Service service = new ServiceBuilder().apiKey(clientId).apiSecret(clientSecret)
.callback("http://your.site.com/callback").grantType("authorization_code").build(HHApi.instance());
String authorizationUrl = service.getAuthorizationUrl();
OAuth2AccessToken accessToken = service.getAccessToken(code);
Готово! Этих трех строчек достаточно, чтобы начать делать OAuth запросы. А сам OAuth запрос можно будет сделать так:
OAuthRequest request = new OAuthRequest(Verb.GET, "https://api.hh.ru/me", service);
service.signRequest(accessToken, request);
String response = request.send().getBody();
Данные о пользователе у нас в руках (в переменной response). И ни капли понимания, как в деталях работает OAuth. Хотим асинхронные http-запросы? Нам хватит тех же трех строчек. Ниже рассмотрим это на примере.
Читать полностью »
Крайние меры: Oracle грозится победить в шестилетней патентной войне, раскрыв сенсационные детали бизнеса Google
2016-03-14 в 13:05, admin, рубрики: android, Google, java, oracle, интеллектуальная собственность, патентные войны, патентование, суд, судебное разбирательствоКорпорация Oracle судится с Google с 2010 года. Google обвиняется в незаконном использовании Java-кода для разработки Android и других продуктов поисковика. Чтобы выиграть многолетнее разбирательство, Oracle грозится обнародовать сенсационные детали о бизнесе Google Android.
Одна часть иска касается нарушения авторского права, вторая — нарушения патентов, принадлежащих Oracle, и третья часть — требование Oracle компенсировать понесенный убыток.
По первой части иска к настоящему моменту судебное жюри пришло к выводу, что Google скопировала часть кода Oracle. Однако судья отклонил решение жюри и вынес решение в пользу Google. Затем апелляционный суд занял сторону Oracle, а Верховный суд отказался брать дело, оставив Oracle победителем.
Oracle даже предъявила фрагменты скопированного кода. По её оценкам, «примерно третья часть пакетов Android API» являются «производными от защищённых копирайтом Oracle пакетов Java API». Читать полностью »
Dagger 2. Часть первая. Основы, создание графа зависимостей, Scopes
2016-03-14 в 5:57, admin, рубрики: android, architecture design, dagger 2, java, mobile development, разработка, разработка мобильных приложений, Разработка под android Всем привет!
В последнее время появилось много средств, библиотек, которые существенно облегчают написание кода под Android. Только успевай за всем следить и все пробовать. Одним из таких средств является библиотека Dagger 2.
В сети уже много различного материала, посвященного данной библиотеке. Но когда я только начинал ознакамливаться с Dagger 2, читал статьи, смотрел доклады, я во всем этом находил один общий недостаток — мне, как человеку, не работавшему со Springом и прочими подобными библиотеками, было довольно сложно понять, откуда берутся зависимости, как они "провайдятся" и что вообще там происходит. На слушателей/читателей обычно сразу "вываливается" большое количество кода с новыми аннотациями. И это как-то работало. В итоге, после доклада/статьи в голове все никак не могло сложиться в единую понятную картину.
Сейчас, оглядываясь назад, я понимаю, что мне тогда очень не хватало схематичного отображения, картинок, явно показывающих "что, откуда и куда". Поэтому в своем цикле статей я постараюсь восполнить данный пробел. Надеюсь, это поможет новичкам и всем заинтересованным лучше понять Dagger 2 и решиться попробовать его у себя в проекте. Могу сразу сказать, это стоит того :)
И да, изначально я хотел написать одну статью, но материала и картинок вышло уж как-то много, поэтому информацию я буду выкладывать небольшими порциями, чтобы читатель мог постепенно погружаться в тему.
Читать полностью »



