У меня вопрос: вы говорите «Если выбрать AspectJ и корректно его настроить, то при компиляции будет сгенерирован код так, что тело метода будет уже обернуто кодом, управляющим транзакцией». Я правильно понимаю, что в этом случае не будет проблем с вложенными транзакциями из самого популярного вопроса на собеседованиях, поскольку я так понимаю, что как таковых прокси при старте приложения создаваться не будет, а вплетение будет происходить на этапе компиляции?
И сразу второй вопрос: как по правильному решать проблему вложенных транзакций в спринге? Если честно я у себя делаю так как советовал Евгений Борисов в одном из своих puzzler-ов несколько лет тому назад (там с собственной аннотацией @SelfAutowired и написанием своего BeanPostProcessor, который делает инъекцию прокси объекта со всеми необходимыми обертками). Может с того времени что то поменялось?
У меня наконец то дошли руки разобраться с заданными вопросами по KVM. Автор версии виртуальной машины для Nintendo DS, которую я использовал мне так и не ответил, поэтому мне пришлось пойти другим путем. Вооружившись WayBackMachine я внимательно исследовал приведенные в Readme файлах ссылки. Повозившись мне удалось найти архив с исходниками KVM для GBA, на основе которого и была сделана версия для Nintendo DS. По счастью в архиве были все исходники виртуальной машины, а не только то что нужно для GBA версии.
Мне удалось сделать сборку версии под Windows и запустить ее. Она успешно работает, но имеет только CLDC конфигурацию. Java кода, который бы описывал профиль для Windows или Linux в архиве нет. Я попытался начать писать его, но быстро оценил, что это просто огромный объем работы, ресурсов на который у меня сейчас нет.
Что касается лицензии, то насколько я понял Sun Microsystems свободно отдавала исходные коды KVM разработчикам, которые хотели сделать реализацию под конкретное мобильное устройство, а когда устройство отправлялось в продажу за лицензию надо было платить. Сейчас же все очень мутно, поскольку Sun Microsystems больше нет, и права на ее продукты перешли Oracle.
Что касается 3-го вопроса, то я думаю, что Motorola ничего не нарушает, поскольку изначально исходники не были ни под одной из открытых лицензий, и открывать код или нет было личным делом каждого.
Что касается 4-го вопроса. то в KVM изначально никакого функционала, для работы с 3D не было. Все это реализуется на уровне профиля (см. картинку в разделе Архитектура J2ME в этой статье) и конечно это привнесение со стороны Motorola.
В сухом остатке:
1. Положить исходники KVM на github я не могу, поскольку непонятно кому на данный момент принадлежат права на этот исходный код, и мне не хотелось бы иметь проблем с ребятами из Oracle. Если Вам очень нужны эти исходники напишите мне на почту, я думаю лично отдать архив, который был когда то выложен в открытый доступ в интернет я имею право.
2. Вот здесь https://github.com/izemskov/kvm я внес небольшие правки в Makefile для того чтобы CLDC конфигурация нормально собиралась, на более-менее современной JDK. В этом же репозитории я начал писать код для Windows профиля, однако, как я уже говорил быстро понял объем предстоящей работы и решил пока все заморозить.
3. Если решите собирать KVM, и будут проблемы, пишите постараюсь помочь.
Прочитал Вашу статью, очень интересно, спасибо! Не слышал раньше про этот телефон, но видимо классная штука была. Если получится написать 3D демку для java с удовольствием прочитаю про это.
Автору kvm порта для Nintendo DS написал, но пока не получил от него никакого ответа. Однако на просторах интернета набрёл на интересный проект: sourceforge.net/projects/pspkvm При беглом осмотре это очень похоже на реализацию kvm для Sony PSP, более глубоко пока времени не было посмотреть. Возможно Вам это поможет, я тоже как будет время детально поизучаю этот проект.
Насколько я понимаю он был открыт, но найденная мной ссылка, по которой должен быть доступен исходный код (http://java.sun.com/j2me/), сейчас ведет на сайт Oracle и там исходники KVM найти не удалось (возможно плохо искал). Я хочу связаться с одним из авторов порта KVM для Nintendo DS (благо он отметился в Readme.txt) и узнать по поводу исходников, поскольку очень хочется прикрутить работу с сетью к Java машине. Это бы существенно расширило возможности приложений для этой JVM. Если что то прояснится отпишусь здесь.
Рад, что статья понравилась :) Я начинал эксперименты с более скромных приложений, но решил их здесь не описывать. Вряд ли очередной hello world будет интересен сообществу.
Я заказывал аккумулятор на алиэкспрессе. Он подошел, однако когда я его перепаивал столкнулся с неприятной особенностью — на плате, возле контактов аккумулятора, образовалась странная «коррозия» (или не знаю как она правильно называется):
Плата
В итоге решил, что поскольку сейчас применять Cybiko действительно негде, лучше он у меня полежит без аккумулятора, а то мало ли коротнут дорожки.
Да, мне тоже нравится эта концепция. Когда то с другом у нас была идея сделать приложение для знакомств при помощи Bluetooth на телефоне, которое бы искало людей в непосредственной близости от тебя. Однако поднять этот проект сил не хватило :(
Да ассемблер попробую, хотя бы в виде вставок для оптимизации. Нужно только найти время, чтобы его выучить
Благодарю, обязательно посмотрю
P.S. Мне ваша история чем то напомнила историю легендарного space-а. Оставлю ссылку на ролик ютуба, может будет интересно:
youtu.be/IufITG3y5V8
У меня вопрос: вы говорите «Если выбрать AspectJ и корректно его настроить, то при компиляции будет сгенерирован код так, что тело метода будет уже обернуто кодом, управляющим транзакцией». Я правильно понимаю, что в этом случае не будет проблем с вложенными транзакциями из самого популярного вопроса на собеседованиях, поскольку я так понимаю, что как таковых прокси при старте приложения создаваться не будет, а вплетение будет происходить на этапе компиляции?
И сразу второй вопрос: как по правильному решать проблему вложенных транзакций в спринге? Если честно я у себя делаю так как советовал Евгений Борисов в одном из своих puzzler-ов несколько лет тому назад (там с собственной аннотацией @SelfAutowired и написанием своего BeanPostProcessor, который делает инъекцию прокси объекта со всеми необходимыми обертками). Может с того времени что то поменялось?
Мне удалось сделать сборку версии под Windows и запустить ее. Она успешно работает, но имеет только CLDC конфигурацию. Java кода, который бы описывал профиль для Windows или Linux в архиве нет. Я попытался начать писать его, но быстро оценил, что это просто огромный объем работы, ресурсов на который у меня сейчас нет.
Что касается лицензии, то насколько я понял Sun Microsystems свободно отдавала исходные коды KVM разработчикам, которые хотели сделать реализацию под конкретное мобильное устройство, а когда устройство отправлялось в продажу за лицензию надо было платить. Сейчас же все очень мутно, поскольку Sun Microsystems больше нет, и права на ее продукты перешли Oracle.
Что касается 3-го вопроса, то я думаю, что Motorola ничего не нарушает, поскольку изначально исходники не были ни под одной из открытых лицензий, и открывать код или нет было личным делом каждого.
Что касается 4-го вопроса. то в KVM изначально никакого функционала, для работы с 3D не было. Все это реализуется на уровне профиля (см. картинку в разделе Архитектура J2ME в этой статье) и конечно это привнесение со стороны Motorola.
В сухом остатке:
1. Положить исходники KVM на github я не могу, поскольку непонятно кому на данный момент принадлежат права на этот исходный код, и мне не хотелось бы иметь проблем с ребятами из Oracle. Если Вам очень нужны эти исходники напишите мне на почту, я думаю лично отдать архив, который был когда то выложен в открытый доступ в интернет я имею право.
2. Вот здесь https://github.com/izemskov/kvm я внес небольшие правки в Makefile для того чтобы CLDC конфигурация нормально собиралась, на более-менее современной JDK. В этом же репозитории я начал писать код для Windows профиля, однако, как я уже говорил быстро понял объем предстоящей работы и решил пока все заморозить.
3. Если решите собирать KVM, и будут проблемы, пишите постараюсь помочь.
Автору kvm порта для Nintendo DS написал, но пока не получил от него никакого ответа. Однако на просторах интернета набрёл на интересный проект: sourceforge.net/projects/pspkvm При беглом осмотре это очень похоже на реализацию kvm для Sony PSP, более глубоко пока времени не было посмотреть. Возможно Вам это поможет, я тоже как будет время детально поизучаю этот проект.
Рад, что статья понравилась :) Я начинал эксперименты с более скромных приложений, но решил их здесь не описывать. Вряд ли очередной hello world будет интересен сообществу.
В итоге решил, что поскольку сейчас применять Cybiko действительно негде, лучше он у меня полежит без аккумулятора, а то мало ли коротнут дорожки.