Приветствую вас, уважаемый читатель!
Предлагаю вашему вниманию краткий и, конечно, бесплатно серияю видеоуроков для тех кто желает быстро вникнуть в особености разработки под Android.
Читать полностью »
Рубрика «java» - 238
25+ видеоуроков по Android для начинающих
2014-07-21 в 9:02, admin, рубрики: android, android development, java, видеоуроки, ПрограммированиеАнонс второй встречи Java User Group Екатеринбург
2014-07-21 в 8:59, admin, рубрики: community, groovy, java, JUG, jug.ekb, performance, Блог компании NaumenПривет!
JUG — Java User Group, встречи JUG.EKB — это обсуждение различных технологий из мира Java, обмен опытом, а также просто интересное общение!
Мы регулярно проводим встречи JUG.EKB с лекциями Java экспертов на самые интересные темы.
Наш сайт jugekb.ru, сообщество в ВК — vk.com/jugekb.
Приглашаем всех java разработчиков на вторую встречу JUG.EKB.
Читать полностью »
Меняем Java на Scala. Базовое приложение
2014-07-20 в 9:34, admin, рубрики: java, scala, Веб-разработка, наслаждайтесь процессом, пишите прощеЗдравствуй.
Лето на дворе, скоро отпуск и появилось немного свободного времени поделиться наработками, каким-то опытом по написанию Web приложений на Java платформе. Как основной язык я буду использовать Scala. Это будет похоже на небольшой гайд, как человеку с опытом Java постепенно начать использовать Scala и не отказываться от уже имеющихся у него наработок.
Это первая часть из серии статей, в которой мы уделим внимание базовой структуре приложения. Ориентирована на людей знающих Java, работавших со Spring, Hibernate, JPA, JSP и другими 3-4ех буквенными сокращениями. Я попытаюсь рассказать как максимально быстро и безболезненно начать использовать Scala в ваших проектах и по-другому проектировать ваше новое приложение. Все это будет вокруг проекта, который должен выполнять ряд требований:
1. Приложение полностью закрыто, работаем только после авторизации
2. Наличие удобного API (REST мы забудем (он уже история) и напишем что-то вроде Google AdWords API, со своим SQL like запросником)
3. Возможность запуска на сервере приложений так и без него
4. i18n
5. Миграция БД
6. Среда для разработки должна разворачиваться через Vagrant
7. И, по мелочи, логирование, развертывание…
Все это нужно сделать так, чтобы сопровождать и развивать наше приложение было очень легко, чтобы не возникло такой ситуации, когда при добавление нового справочника программист оценивает это сроком в 2 дня. Если я вас заинтересовал, прошу под кат.
Скажу сразу — в Gradle я совсем новичок.
Пол рабочего дня, вместо того, чтоб писать код содержащий мою семью, я потратил на то, чтоб узнать что в одном месте вместо '+' надо поставить '0.10.1'.
А знаете что я сегодня сделал не так? А ничего. Программма вчера запускалась а сегодня перестала. С абсолютно тем же кодом и тем же конфигом. Ни одного файла не менял.
Смышленый или опытный программист уже догадался что знак "+" — значит что надо загрузить самую последнюю версию библиотеки и загрузилось что то не то. Да это часть проблемы, но не вся. Сама библиотека ничего не портила. Она просто имела зависимость от другой — которая портила.
Да и вообще, что за мода выкладывать не оттестированные библиотеки в общий репозиторий? При Мавене такого не было!
Читать полностью »
Мы уже подняли сервер Jasig CAS теперь пора немного его кастомизировать. Зачем это нужно? Сейчас ми авторизируемся используя статического пользователя, но мы это исправим и сделаем возможность получать пользователя из внешних систем или БД.
Читать полностью »
Spring и @Autowired для ENUM-типов. Факультатив
2014-07-15 в 19:00, admin, рубрики: java, spring, spring framework, примеры кода, ПрограммированиеКак известно, в Spring нельзя сделать бины для перечисляемых типов без «костылей» — у этого типа «нет» конструктора.
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoEnum0' defined in file [...DemoEnum0.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [ru.itbasis.demo.spring.enums.DemoEnum0]: No default constructor found; nested exception is java.lang.NoSuchMethodException: ru.itbasis.demo.spring.enums.DemoEnum0.<init>()
(коммит)
В данном посте я попробую обойти это ограничение.
Читать полностью »
JBrainfuck — Пишем компилятор Brainfuck под Java VM
2014-07-15 в 8:00, admin, рубрики: asm, Brainfuck, java, jit, jvm, КомпиляторыМеня давно интересовал вопрос написания своего компилятора под Java VM, но было недостаточно опыта, дабы сделать это. Да и как-то руки не доходили, а недавно все же решил разобраться в этой теме и заодно рассказать о своем опыте создания компилятора под эту VM.
В качестве реализуемого языка возьмем Brainfuck. Он прост в реализации, что отлично подходит для изучения данной темы, но сначала предоставлю вам свою реализацию.
JBrainfuck — оптимизирующий интерпретатор и компилятор Brainfuck под Java VM. Благодаря JIT обладает высокой производительностью.
- Лицензия: MIT
- Адрес проекта: https://github.com/SystemX-Files/jbrainfuck/
- Платформы: Linux, Windows, MacOS и везде, где есть Java.
Мастер-класс Адама Бина «Java EE: Архитектура, шаблоны и решения»: отзывы и впечатления участников
2014-07-14 в 10:50, admin, рубрики: adam bien, java, java ee, javascript, workshop, Адам Бин, архитектура Java-приложений, Блог компании Luxoft3 и 5 июня прошел мастер-класс в онлайн-формате «Java EE: Архитектура, шаблоны и решения» Адама Бина.
Адам Бин – Java Champion, Top Java Ambassador и JavaOne Rock Star – предложил аудитории практикум по проектированию архитектуры Java-приложений масштаба предприятия.
Адам Бин показал, как проектировать архитектуру Java-приложений масштаба предприятия и кластеров приложений.
Слушателям было предложено поработать с исходным кодом программы и принять участие в обсуждении краеугольных понятий, необходимых для того, чтобы научиться проектировать сопровождаемые системы.
В ходе мастер-класса был написан код для самых интересных частей решения. Читать полностью »
Попытка создания полезного приложения для Pebble
2014-07-13 в 9:32, admin, рубрики: android, battery monitoring, java, Pebble, Разработка под androidПриветствую, читатели!
Недавно я стал счастливым обладателем умных часов Pebble. В функциональном плане мои ожидания оправдались на все сто, только вот покупал я их не только ради того, что бы пользоваться уже готовым софтом, позволяющим изрядно упростить/автоматизировать жизнь. Для меня весьма интересной стороной была как раз сама разработка для этого гаджета.
Читать полностью »
Легкая и динамическая бизнес логика на JavaScript при помощи Mozilla Rhino
2014-07-12 в 9:44, admin, рубрики: java, javascript, mozilla rhino 
Предыстория
Хотелось бы начать с предыстории. В данный момент я разрабатываю некое веб-приложение на Java, ничего необычного, но в документе от заказчика есть требование: будущие администраторы приложения должны иметь возможность налету подгружать код бизнес логики на сервер. Вроде бы ничего сверхъестественного, нужно будет сделать подгрузку java-классов, думал я, пока на днях мне в голову не пришла идея: “А что, если дать возможность программировать методы бизнес логики на JavaScript?”.
В тот момент идея показалась мне очень хорошей, и я видел целый ряд преимуществ этой идеи перед простой подгрузкой java-классов:
- Во-первых, JavaScript — это очень простой язык описания логики, писать на нем может любой программист, знакомый с принципами ООП и C-подобным синтаксисом.
- Во-вторых, т.к. внешнее API сервера спроектировано в стиле REST, js-код отлично ложится в рамки ресурса, без проблем сериализуется в JSON-строку и не требует компиляции и дополнительных манипуляций.
- В-третьих, исполнение JavaScript-кода интерпретатором — это исполнение кода в рамках песочницы безопасности, что дает нам возможность четко настраивать правила поведения кода бизнес-логики.
Но не стоит забывать, что большая сила — это большая ответственность, поэтому, вслед за новыми возможностями, появляются новые вопросы, которые требуют развернутого ответа.
В этой статье я бы хотел вкраце рассказать об идее описания бизнес логики на чистом js, затронуть теоретическую и практическую части, а так же описать некоторые нюансы, которые могут возникнуть вслед за этим решением.
Читать полностью »
