Рубрика «java» - 181

Меня зовут Дима и я разработчик. Живу в Минске, люблю посещать зарубежные конференции. Ну вот устал однажды ездить и решил сходить локально. Но выбора было мало. Поэтому вдвоём со своим верным товарищем решили сделать конференцию самостоятельно.
Назвали JET. Потому что начинается с J, как и Java, а ещё можно сделать слоган "Let's fly to Java world". Ну что же, как это было?

Открытие

Началось все с выступления организаторов, где мы поделились тем, как зарождалась идея конференции. Рассказали о том, как мы прошли путь в 4 месяца подготовки, и что по итогу получилось. А получилось — 3 потока концентрированных знаний, 300 участников и первый кирпичик в фундаменте дома конференции JET.

Вспомнить всё: Java-конференция JET. 28 сентября 2015. Отчёт - 1
Читать полностью »

Полагаю, что все пользователя хабра так или иначе нашли способ попадать на рутрекер, но порой бывает лень включать свой тор, прокси, впн или что либо ещё. Мне вот стало лень, и поэтому я решил написать свой маленький клиент. Для обхода блокировок я решил использовать google compression proxy. Интересная, хорошая и полезная штука — странно, что по её поводу на хабре не было статей. Забегая вперёд, сразу скажу, что всё получилось, и работающую версию можно попробовать на своём девайсе. Однако в процессе возникло много всяких интересных нюансов, которые любопытны несколько больше, чем само приложение. Итак, начнём!
Читать полностью »

Привет!

В четверг, 17 марта (да-да, это послезавтра!), в 19:00 в офисе компании КРОК пройдет встреча JUG.msk c разработчиками языка Kotlin Андреем Бреславом и Дмитрием Жемеровым. Андрей — вообще самый главный человек в Kotlin, возглавляет разработку языка, а Дмитрий — возглавляет разработку плагина к IntelliJ IDEA. Так что будет что обсудить, и ответы на вопросы будут из первых уст!

Тема встречи — недавний и долгожданный релиз языка Kotlin. И поэтому встреча тоже называется очень просто:

image

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

image

Именно этой фразой нас приветствует библиотека для работы с 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 с 2010 года. Google обвиняется в незаконном использовании Java-кода для разработки Android и других продуктов поисковика. Чтобы выиграть многолетнее разбирательство, Oracle грозится обнародовать сенсационные детали о бизнесе Google Android.

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

По первой части иска к настоящему моменту судебное жюри пришло к выводу, что Google скопировала часть кода Oracle. Однако судья отклонил решение жюри и вынес решение в пользу Google. Затем апелляционный суд занял сторону Oracle, а Верховный суд отказался брать дело, оставив Oracle победителем.

Oracle даже предъявила фрагменты скопированного кода. По её оценкам, «примерно третья часть пакетов Android API» являются «производными от защищённых копирайтом Oracle пакетов Java API». Читать полностью »

Всем привет!
В последнее время появилось много средств, библиотек, которые существенно облегчают написание кода под Android. Только успевай за всем следить и все пробовать. Одним из таких средств является библиотека Dagger 2.
В сети уже много различного материала, посвященного данной библиотеке. Но когда я только начинал ознакамливаться с Dagger 2, читал статьи, смотрел доклады, я во всем этом находил один общий недостаток — мне, как человеку, не работавшему со Springом и прочими подобными библиотеками, было довольно сложно понять, откуда берутся зависимости, как они "провайдятся" и что вообще там происходит. На слушателей/читателей обычно сразу "вываливается" большое количество кода с новыми аннотациями. И это как-то работало. В итоге, после доклада/статьи в голове все никак не могло сложиться в единую понятную картину.
Сейчас, оглядываясь назад, я понимаю, что мне тогда очень не хватало схематичного отображения, картинок, явно показывающих "что, откуда и куда". Поэтому в своем цикле статей я постараюсь восполнить данный пробел. Надеюсь, это поможет новичкам и всем заинтересованным лучше понять Dagger 2 и решиться попробовать его у себя в проекте. Могу сразу сказать, это стоит того :)
И да, изначально я хотел написать одну статью, но материала и картинок вышло уж как-то много, поэтому информацию я буду выкладывать небольшими порциями, чтобы читатель мог постепенно погружаться в тему.
Читать полностью »

Привет! Сегодня у нас в программе кое-что особенное. Новые версии ПО важны для пользователей: они предоставляют доступ к новым возможностям на их устройствах. Но ещё важнее получить своевременный доступ к новому ПО для разработчиков. Использовать новейшие инструменты, API, проверить приложение на совместимость, одним из первых внедрить самые свежие и крутые наработки… В общем, мы рады представить вам тестовую версию Android N для разработчиков!

Превью Android N: API и инструменты разработчиков - 1

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

Анонс Java-конференции для студентов в Москве: JPoint 2016 Student Day - 1

Заводы — крестьянам, землю — рабочим, Java-технологии — студентам!

Как вы все знаете, JUG.ru уже четвертый год делает конференции по Java. За 3 года конференция JPoint превратилась из эксперимента нескольких энтузиастов в одного из отраслевых флагманов.

Когда ты делаешь специализированные (как говорят маркетологи, нишевые) мероприятия, ты всегда пытаешься ответить на вопрос — кто твоя аудитория. Аудитория наших больших конференций — это:

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

JPoint — конференция для опытных разработчиков. Студентам и начинающим идти туда — практически бессмысленно:

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

Выход? Сделать Java-конференцию для студентов!

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

Часто при установке приложения на Android нам приходилось видеть, что оно запрашивает какое-то немыслимое количество разрешений. Например:

Android runtime permissions. Почему, зачем и как - 1

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

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

К шестой версии Android ситуация поменялась. Теперь разрешения нужно запрашивать в процессе работы. О том, как этой новой возможностью пользоваться и ее некоторых подводных камнях будет рассказано далее.
Читать полностью »

Урок №1
Данная статья написана для новичков, которые (как и я) хотят научиться писать программы для Андроид с использованием OpenGL. Основные мысли и код взяты из замечательной книги Кевина Бразалера «OpenGL ES 2 for Android. A Quick-Start Guide by Kevin Brothaler» (1).
Зачем же пересказывать, спросите вы? Дело в том, что перед этой книгой я прочитал еще десяток статей на эту тему и код Кевина у меня сразу не пошёл (в книге среда разработки Eclipse, а у меня Android Studio). Поэтому, решил написать эту статью так, чтобы было понятно, прежде всего, самому себе.
Для начала давайте выясним, что такое OpenGL. Если почитать Википедию (2), то увидим следующее:
«OpenGL (Open Graphics Library) — спецификация, определяющая независимый от языка программирования платформонезависимый программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.
Включает более 300 функций для рисования сложных трёхмерных сцен из простых примитивов. Используется при создании компьютерных игр, САПР, виртуальной реальности, визуализации в научных исследованиях. На платформе Windows конкурирует с Direct3D.»
Мы будем изучать укороченную версию OpenGL ES 2 (в дальнейшем OpenGL). Укоротили её по понятным причинам, у Андроид малая операционная память по сравнению с настольными ПК, наличие виртуальной машины Java также накладывает определенные ограничения. Наверно есть еще много причин, почему это сделали, но нас это не должно волновать. Прост нужно знать, что есть прекрасный инструмент OpenGL и надо научиться им пользоваться!
Читать полностью »


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