понедельник, 27 июля 2015 г.

Project tag cannot be selected if version is not yet mapped

Project tag cannot be selected if version is not yet mapped



[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.3.2:prepare (default-cli) on project commons-all: Project tag cannot be selected if version is not yet mapped -> [Help 1]

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.3.2:prepare (default-cli) on project commons-all: Project tag cannot be selected if version is not yet mapped
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Project tag cannot be selected if version is not yet mapped
at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:295)
at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:247)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 20 more
Caused by: org.apache.maven.shared.release.ReleaseExecutionException: Project tag cannot be selected if version is not yet mapped
at org.apache.maven.shared.release.phase.InputVariablesPhase.execute(InputVariablesPhase.java:114)
at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:234)
at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:169)
at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:146)
at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:107)
at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:291)
... 23 more


while you get this message just renew your release iteration

-Dresume=false
mvn -Dresume=false release:prepare

суббота, 18 июля 2015 г.

как выбрать диск


не подскажу модель, но подскажу как выбирать.
1. у всех производителей есть диски low-cost под десктопы и различные модели под серверные нужды — надо брать их. При чем они бывают заточены под разные виды данных — потоковая запись/чтение или рандомная запись/чтение.
2. есть материал пластин — стекло (специальное естественно) или алюминиевый сплав. Но это обычно для новых дисков не известно пока кто-то не разберет. Стеклянные обычно быстры и если их не трогать долго пашут, т.к. сама пластина более сбалансирована, но она более хрупкая — от падения 99% загнется.
3. количество пластин. Обычно технология у всех примерно одинаковая ± мелочи. Насколько мне известно сейчас 1tb — 1 пластина у новых дисков. Также играет роль плотность пластины — чем плотнее, тем больше шансов на ББ. 500gb-1tb — оптимальная на сегодняшний день. На вскидку нашел такую инфу: rml527.blogspot.ru/2010/09/hdd-platter-capacity-database.html

По каждому производителю есть расшифровка номеров модели, именно по ним удобнее всего выбирать. Сначала на сайте производителя, потом уже искать нужный хард по магазинам. (http://www.wdc.com/wdproducts/library/other/2579-001028.pdf — например) Просто по моделям в таком виде сразу можно вычислить энтерпрайзные диски и уже за ними охотиться.

четверг, 5 марта 2015 г.

custom class loader

https://github.com/kostapc/CustomClassLoader

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

Сама структура организации скомпилированного кода (байт-кода) достаточно проста и уже сама по себе может дать какую-то информацию о приложении без декомпиляции - будь то jar (zip папки, по сути) или просто файлы классов. Более того, даже код, прошедший обфускацию, содержит в скомпилированном виде паттерны, которые могут быть использованы, например, антивирусами.

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

Тут приведен самый простой вариант такого загрузчика. Код состоит из 2-х частей:
криптограф - класс, который шифрует байт-код и упаковывает в файл дополнительную информацию, необходимую для загрузки класса.
загрузчик - класс, который загружает закриптованный файл, расшифровывает и запускает метод main(). Таким образом, зашифрованный класс будет запускаться точно также, как и без шифрования.

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

---
Изначально статья была написана для interception e-zine
inception e-zine en
inception e-zine ru

понедельник, 7 апреля 2014 г.

хм... свет без электричества



wm: вообще ждём технического прорыва, чтобы появились светоколлекторы, которые позволят днём собирать свет и юзать его по мере надобности а не генерить занов в ненужных диапазонах =))))
Для остановки света ученые использовали кристалл из специального материала, который не пропускает свет в нормальном состоянии. Охладив этот кристалл до сверхнизкой температуры, ученые, с помощью луча лазерного света перевели все атомы его вещества в состояние квантовой суперпозиции, в состояние, когда они одновременно могут и не могут пропускать через себя фотоны света определенной длины волны. После этого они запустили другой луч лазерного света сквозь кристалл и отключили его "прозрачность". Фотоны света, находившиеся внутри кристалла, попали в ловушку и сохранялись внутри нее в течение 60 секунд. Используя такой же метод, ученым удалось поймать в ловушку и продержать в ней указанное время три разных луча света, утроив количество информации, хранимой в ловушке.

http://www.dailytechinfo.org/news/5028-uchenym-udalos-ostanovit-svet-i-uderzhivat-ego-v-techenie-60-sekund.html

http://elementy.ru/news/431910?page_design=print

воскресенье, 23 марта 2014 г.

iPad mini retina yota


Снимку бесплатно выдают в любом лотке yota, там же обрезают под nano-sim. Эта снимка без проблем влезает в планшет. Дале девайс ее подхватывает и работает без каких-либо доп. настроек. Все что будет нужно сделать - пройти всякие проверочных формы от самой еты.