Я переучиваю своих друзей и знакомых на программистов. Весь процесс занимает от двух до трех месяцев. 25 уроков по 4 часа. Потом все смогли устроиться программистами.
Эта статья не о том, как надо учить, скорее просто описание процесса, который работает.
Читать полностью »
Рубрика «java» - 280
Я переучиваю людей на Java-программистов
2012-08-01 в 6:24, admin, рубрики: java, обучение программированию, метки: обучение программированиюSAPокалипсис. BlackHat. Взлом J2EE. Кошмар, кошмар
2012-07-31 в 8:40, admin, рубрики: abap, ERP-системы, erpscan, j2ee, java, sap, Блог компании «Digital Security», информационная безопасность, метки: abap, erp-системы, erpscan, j2ee, java, sapВсем привет! Тут многие просили нас писать больше; собственно, выкроив времечко между перелётами, я вспомнил про парочку старых уязвимостей в… впрочем, вы уже догадались в чём.
Прошло уже немало времени с момента первой публикации информации о данных багах. А точнее, целый год. Ровно год назад я ездил на BlackHat с докладом по теме безопасности J2EE движка SAP. Почему бы и не поведать о той баге, тем более что до сих пор не дошли руки подробно описать в рунете всё, что было представлено на BlackHat, ну не считая небольшого видео с ZeroNights, где вышло довольно сумбурно.
Исследование посвящалось платформе SAP NetWeaver J2EE Engine, о которой по сравнению с ABAP Engine существует крайне мало информации, а по ее безопасности практически не было исследований во всём мире. А ведь Digital Security Research Group хлебом не корми, только дай разломать что-нибудь, куда ещё никто не совался. В общем, сперва будет немножко общих слов о том, что такое SAP и как это важно для бизнеса, так что циники могут пролистать вниз – к кускам кода, ну а все остальные могут читать дальше.
Темная цветовая схема для IntelliJ IDEA: продолжение и новости
2012-07-26 в 13:15, admin, рубрики: IDE, intellij idea, java, jetbrains, php, python, ruby, метки: IDE, intellij idea, java, jetbrains, PHP, python, rubyЭтот пост является продолжением этого. Тогда я разработал плагин, окрашивающий такие элементы интерфейса как деревья и списки в цвета выбранной схемы. С тех пор прошло уже почти 2 месяца и кое-что с тех пор изменилось.
1. Darcula
Главная новость: в JetBrains работают (в частности stalk) над стандартной темной схемой. Она будет подключаться через look and feel и будет называться Darcula. Она уже включена в исходники для Comunity Edition и попадет в новые EAPы.
- На данный момент она выглядит вот так:
- А вот тут можно посмотреть видео: www.screenr.com/asl8
Релиз NetBeans IDE 7.2
2012-07-26 в 11:27, admin, рубрики: c/c++, groovy, IDE, java, javafx, netbeans, netbeans 7.2, php, Веб-разработка, разработка, Софт, метки: c/c++, groovy, IDE, java, javafx, netbeans, netbeans 7.2, PHP, Веб-разработка, разработкаХорошая новость для всех Java, C/C++ и PHP — разработчиков: вчера, 25 Июля 2012, состоялся релиз очередной версии IDE NetBeans 7.2!
Наиболее значимые изменения:
- Улучшена производительность
- Интеграция FindBugs
- Интеграция JavaFX Scene Builder
- Различные улучшения в редакторе Java
- Расширение возможностей Java EE
- Поддержка PHP 5.4 и пр.
- Обновлена поддержка Groovy и Grails Support
- Поддержка TestNG
Более подробно об изменениях можно почитать здесь.
Кросс-вмный (CLR/JVM) код на Python
2012-07-25 в 14:13, admin, рубрики: .net, clr, ironpython, java, jython, python, кроссплатформенная разработка, метки: clr, ironpython, java, jython, python, кроссплатформенная разработкаЭто узкоспециализированная короткая заметка про то, как я запинывал write once, run everywhere тесты для библиотеки, портированной с C# на Java, при помощи Python.
Смысл в следующем: есть большая, толстая и красивая библиотека, которая была по коммерческим соображениям портирована с C# на Java. API осталось почти одинаковым, naming conventions естественно сменились при переходе на другой язык. Нам нужно было написать толстую пачку тестов, проверяющих, что клон библиотеки работает идентично оригиналу (тесты на регрессии, иными словами). Для этого сравнивались результаты работы кода библиотек (некие бинарники и xml-метаданные). Тесты были нетривиальные, их было много, и что самое неприятное — они постоянно дописывались с одного конца командой из четырех человек. Некоторое время я старательно портировал их на Java, затем плюнул и предложил команде писать тесты на языке, который сразу можно было бы выполнять на CLR (со старой библиотекой) и на JVM (с клоном). Оказалось, они и сами уже некоторое время думали про Python, Читать полностью »
Командный паттерн вызова удаленных процедур (RPC) в Android
2012-07-25 в 5:42, admin, рубрики: android, Dispatch, guice, java, RPC, Разработка под android, метки: android, Dispatch, guice, java, RPCПредисловие
Недавно я начал свое знакомство с платформой Android. На определенном этапе необходимо было проверить, как тут обстоят дела с удаленным вызовом процедур или, проще говоря, клиент-серверным взаимодействием.
Поначалу была надежда, что платформа позволит использовать технологию EJB. После некоторых поисков в Интернете, я убедился, что это не так просто. Большинство источников рекомендовало использовать вебсервисы как альтернативу, т.к. EJB слишком тяжеловесна для Android. Для вебсервисов же рекомендовался фреймворк ksoap2-android.
Понатыкавшись на различные грабли при первоначальном изучении ksoap2, я дошел до этапа, когда необходимо было послать и получить с сервера объект своего кастомного типа. Воспользовавшись поиском нашел вот эту статью. Оттуда почерпнул, что каждый кастомный объект должен реализовать интерфейс KvmSerializable. Это же подразумевало, что мы должны реализовать методы для сериализации и десериализации объекта. Поскольку в теории предполагалось использовать больше сотни собственных объектов, идея писать реализацию KvmSerializable для каждого из них как-то не вызывала у меня энтузиазма.
Читать полностью »
Связываем AWS Elastic Beanstalk и СloudBees
2012-07-24 в 19:57, admin, рубрики: Amazon Web Services, AWS, beanstalk, cloud, java, webservice, метки: aws, beanstalk, cloud, java, webserviceВведение
В этой статье я постараюсь объяснить, как заставить работать вместе два популярных cloud сервиса на благо человечества. Несомненно, придет тот светлый день, когда Elastic Beanstalk будет идеален и эта статья не понадобится.
Функциональность которую предоставляет СloudBees которой мне не хватает в Elastic Beanstalk Free Tier
- MySQL DB
- Jenkins
- Svn, Git
- Deploy to CloudBees
Функциональность которую предоставляет Elastic Beanstalk которой мне не хватает в СloudBees
- «100%» uptime
- быстродействие
- мониторинг, event-ы и тд.
Несомненно Elastic Beanstalk более мощный и перспективный сервис, который полностью поглотит СloudBees в будущем, а пока сделаем его лучше для себя.
SOAP Web-сервис средствами Spring-WS
2012-07-24 в 19:42, admin, рубрики: java, soap, spring, webservice, wsdl, метки: java, soap, spring, webservice, wsdl
Когда-то поставили передо мной задачу начать разработку Web-сервисов и дали мне сорцы простейшего проекта без каких-либо объяснений. Проект, конечно же, не запускался. Что такое Spring и как он работает, я тоже представления не имел. Адекватных статей по разработке Web-сервисов средствами Spring ни русскоязычных, ни англоязычных я тоже не смог найти. Пришлось разбираться во всем самому, оказалось все не так страшно.
И вот недавно я решил посмотреть, какие новые возможности добавились в Spring с тех пор, и обновить старые сервисы, что в результате и сподвигло меня на написание данной статьи.
Данная статья является руководством по разработке простейшего Web-сервиса, использующего SOAP-протокол, средствами Spring-WS.
Читать полностью »
GC и большой heap: друзья или враги?
2012-07-23 в 15:51, admin, рубрики: garbage collector, java, jvm, высокая производительность, метки: garbage collector, java, jvmСпоры о том, что лучше: ручное управление или автоматическое ведутся во многих областях науки и техники. Положиться на человека или отдаться на откуп бесстрастным механизмам и алгоритмам? Похоже, что в мире создания Enterprise решений чаша весов склонилась все-таки в сторону автоматического управления памятью, большей частью из-за того, что возиться с указателями, ручным управлением памятью и закрашивать седину после каждого бага, появившегося из-за «неправильного» компилятора С/C++ не хочется сейчас уже никому. Но до сих пор возникают на форумах топики, где не сдающиеся суровые приверженцы ручного управления памятью яростно и непримиримо отстаивают свои ретроградные взгляды в борьбе с прогрессивной частью человечества. Пусть их, оставим их в покое.
Одной из наиболее часто использующихся платформ с механизмами автоматического управления памятью стала Java. Но, автоматическое управление памятью принесло не только комфорт в нелегкий труд программистов, но и свои недостатки, с которыми приходиться сталкиваться всё чаще и чаще. Современные многопользовательские приложения, способные обработать огромный поток транзакций, требуют значительных аппаратных ресурсов, размеры которых раньше было трудно даже вообразить. Однако, дело не в размерах этих ресурсов, дело в том, что сборщик мусора, существующий в большинстве современных JVM, не может работать эффективно с большими объемами памяти.
Читать полностью »
Почему в Red Hat приняли решение о покупке FuseSource?
2012-07-22 в 16:10, admin, рубрики: Apache, apache camel, esb, fusesource, java, jboss, middleware, open source, red hat
В прошлом месяце Red Hat объявила о покупке компании Fusesource, разрабатывающей несколько продуктов категории «middleware». В интервью InternetNews, Red Hat CEO, Джеймс Уайтхерст (Jim Whitehurst) рассказал, почему в Red Hat решили купить FuseSource, а не развивать собственные конкурирующие решения.Читать полностью »