Это третья часть цикла. Начало: http://itech-notes.blogspot.com/2014/09/sca-1.html и http://itech-notes.blogspot.com/2014/09/sca-2.html.
среда, 24 декабря 2014 г.
понедельник, 15 декабря 2014 г.
Рабочие итоги 2k14
Итоги подводить нужно. Чтобы обратить внимание на хорошие результаты или на неудачи. Чтобы вообще понять - а что же я год делал-то?
суббота, 22 ноября 2014 г.
Импорт закрытого ключа в jks-хранилище
Для работы с ключами/сертификатами в java активно использую keytool: просто, понятно и "всегда под рукой".
Но иногда случается так, что на руках оказывается пара "закрытый ключ + сертификат", которую надо импортировать в jks:Certificate.cer
Private.key
Но keytool возможности импорта не даёт (http://itech-notes.blogspot.com/2013/02/keytool.html).
Для решения задачи есть достаточно удобный способ, основанный на возможности импорта хранилища в формате PKCS12.
суббота, 15 ноября 2014 г.
Дело неблагодарное
Цитата из случившегося разговора:
"Долгосрочного плана у нас нет - как показывает практика, это дело неблагодарное."
Вот ведь ххх!
За этими словами в 99% (или даже в 100% ?) случаев скрывается непонимание.
Заказчики не понимают, чего они вообще хотят.
Вчера хотелось обычную овощерезку, сегодня ей требуется доступ в интернет и удалённое управление, а завтра подавай холодильник.
Не, ну это же нормально, да, у нас же ведь не было долгосрочного плана, поэтому новые "хотелки" ничему не противоречат?!
Разработчики не понимают, что им делать. И либо ничего не делают, либо делают так, как удобнее/легче/прикольнее/... им самим.
Мол, давно вот brainfuck хотелось попробовать, напишу-ка я на нём самый важный алгоритм, то-то преемник кода порадуется!
Лиды и менеджеры не понимают, какие устанавливать сроки, какие требуются ресурсы, какие приоритеты известны, и т.д. и т.п.
Саша на сервере и Петя на мобильном приложении сделали уже по 50% своей работы! Круто, поставим галочки и закроем таски!
Вот только их проценты ни разу не синхронизированы, и в результате система имеет реальный 0.
Примеры условные и подчёркнуто резкие. Чтобы суть была сразу видна - за
умными словами о гибкой разработке легко может спрятаться неуправляемый
бардак.
В общем, как показывает моя практика - когда понимание есть, когда цель
видна, то и направление / шаги сами собой появятся. А оттуда и план
подтянется. И проект от этого только выиграет. Требование хоть и недостаточное, но обязательное.
вторник, 23 сентября 2014 г.
Pay Up
Если "погуглить" что-то вроде "оплата картой в ресторане", то в топе
результатов будут статьи о подстерегающих владельца карты опасностях и
советах на эту тему. Но - есть альтернативный варинт.
среда, 17 сентября 2014 г.
вторник, 16 сентября 2014 г.
Statiс code analysis 1
В качестве предисловия.
Некоторое время назад я готовил / проводил семинар в рамках сертификации компании на соответствие стандарту PA DSS (http://en.wikipedia.org/wiki/PA-DSS). Одним из требований, предъявленных аудитором, было использование при разработке ПО автоматизированных инструментов анализа программного кода. Конкретной темой моего семинара был статический анализ и его возможности.
Теперь я хочу поделиться собранным материалом.
пятница, 12 сентября 2014 г.
Как создать java.util.Properties в spring
Порой удобно создавать экземпляр свойств java.util.Properties прямо в spring-конфигурации.
Для этого отлично подходит PropertiesFactoryBean.
среда, 16 июля 2014 г.
Неудобство в akka
Хоть к akka отношение у меня не самое лучшее (http://itech-notes.blogspot.com/2013/01/java.html), тем не менее, порой приходится с ней сталкиваться и даже работать. Далее один маленький вброс на тему неудобств этой самой работы.
среда, 4 июня 2014 г.
MSC00001 Failed to start service
Дано: приложение в war-архиве, стартующее на jboss 7.x.
Чтобы достучаться до сервлета, в url по дефолту должно присутствовать название архива, что-то вроде:
http://localhost:8080/war_name/uri
Но по понятным причинам название war'а выносить в url вовсе не хочется.
Что делать?
понедельник, 2 июня 2014 г.
JBAS011006 / JBAS011054
Дано: spring framework 3.2 и jboss 7.X.
При старте в логе предупреждение:
WARN [org.jboss.as.ee] (MSC service thread 1-6) JBAS011006: Not installing optional component org.springframework.web.context.request.async.StandardServletAsyncWebRequest due to exception: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011054: Could not find default constructor for class org.springframework.web.context.request.async.StandardServletAsyncWebRequest
at org.jboss.as.ee.component.ComponentDescription$DefaultComponentConfigurator.configure(ComponentDescription.java:606)
at org.jboss.as.ee.component.deployers.EEModuleConfigurationProcessor.deploy(EEModuleConfigurationProcessor.java:81)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
вторник, 13 мая 2014 г.
Web Service endpoint is already registered...
При разворачивании одного приложения на jboss 7.1 / 8.0 деплой оказался омрачён ошибкой:
Caused by: java.lang.IllegalArgumentException: JBAS015533: Web Service endpoint com.sun.xml.ws.tx.webservice.member.coord.ActivationRequesterPortTypeImpl with URL pattern /Coordinator is already registered. Web service endpoint com.sun.xml.ws.tx.webservice.member.coord.RegistrationRequesterPortTypeImpl is requesting the same URL pattern.
суббота, 12 апреля 2014 г.
json schema tutorial
json schema - инструмент для описания и валидации json-структур.
Толковых описаний (да и вообще описаний с примерами) маловато.
Благо, есть доступные спецификации на самом сайте проекта да некоторые примеры. Но в наш век повсеместного упрощения жизни простых смертных чтение "на ночь" спецификации хочется заменить чем-то более удобным.
И вот буквально несколько дней назад - всего-то 06.04.2014 - появился Understanding json schema v. 1.0.
Ознакомиться можно в виде pdf-документа http://spacetelescope.github.io/understanding-json-schema/UnderstandingJSONSchema.pdf или в online-версии http://spacetelescope.github.io/understanding-json-schema/index.html
Хорош, рекомендую.
суббота, 22 февраля 2014 г.
Unknown OS
Забавная штука встретилась.
Есть сервер под управлением freebsd-9. И установлена там openjdk
реализация славной java. И работает на нём jboss as с неким приложением.
Решено обновить систему до 10-й версии (10.0-RELEASE) - она под
виртуализацией работает стабильнее и отдаёт гипервизору много
управляющих сигналов, чего раньше не делала. Заодно обновить порты,
пакеты, поставить заплатки. Заодно и openjdk обновить на самую актуальную версию.
Обновились...
суббота, 8 февраля 2014 г.
Работать не модно?
Недавно забрался на
славный habrahabr и прочитал "3 года «Чёрной книге менеджера»: что изменилось в индустрии? Интервью со Славой Панкратовым".
среда, 29 января 2014 г.
maven dependency hell
Так сложилось, что в компании долгое время использовался инструмент http://ant.apache.org/.
Круто, здорово, можно делать невероятные вещи и почти что запустить
ракету на Луну с помощью него. Но за это приходится платить большим
размером ant-скриптов, дублированием действий и прочими штуками, которые
во множестве мест и статей уже описаны. Ещё один негатив - это т. н.
jar-hell, когда у девелопера на локальной машине одна версия библиотеки
(быть может, даже кастомная), у тестировщика другая, а у внедренца на
продакшн-стенде - третья.
Перешли на http://maven.apache.org/.
Круто, здорово, можно быстро и легко делать стандартные вещи. Если
проект нестандартен и не подходит под maven-lifecycle - 99 %, что его
целесообразнее стандартизировать - и будет круто и здорово.
Упрощение управлением зависимостями - одно из достоинств maven, которое часто упоминается.
Только вот беда с зависимостями всё равно есть - на этот раз maven-dependency-hell!
Подписаться на:
Сообщения (Atom)