��5�� GAE+SQL4G��Rails�A�v�����J�����Ă݂悤
���� �I
���g���\�t�g�������
���z �q��
������Ѓi���b�W�G�b�N�X
2010/4/12
Google App Engine�͂��̂܂܂ł�RDB���g���܂���B�������AJDBC�A�_�v�^�o�R��SQL4G�𗘗p����A�ʏ��Rails�A�v�����l��ActiveRecord����BigTable�ɃA�N�Z�X�ł���悤�ɂȂ�܂��i�ҏW���j
JRuby�ɂ���
�@�{�A�ڂ���3���ł́AGAE�{SQL4G�{Rails�̊��ݒ�菇�����������܂����B��3��͎菇�������삯���Ő��������`�ɂȂ��Ă��܂��܂����̂ŁA�����ʼn��߂ăC���X�g�[���������̂ɂ��Ă����炢�����̂��AScaffold�Ȃǂ��g�������������傫�ȃA�v�����쐬���Ă݂����Ǝv���܂��B
�@�{�A�ڂł�GAE���Rails�����s���邽�߂�JRuby�𗘗p���Ă��܂��BJRuby��JavaVM���Ruby�����s���邱�Ƃ��ł�����ł��BGoogle App Engine�iGAE�j��Python��Java��2���T�|�[�g���Ă��܂����AGAE for Java�ł�JRuby���������߁AJRuby���Ruby on Rails�삳���邱�Ƃ��\�ł��iJRuby on Rails�Ƃ��Ă�܂��j�B
�@GAE��œ��삳���邾���ł���ΕK���������[�J������JRuby�͕s�v�Ǝv���܂����A���[�J�����ō쐬�����A�v���̓�����m�F���邽�߂ɂ̓��[�J������JRuby���C���X�g�[�����Ă����K�v������܂��B
�@JRuby��A���̏�œ��삷��JRuby on Rails�ɂ��Ă̏ڍׂ́A���L�̋L�������Q�Ƃ��������B
| �֘A�����N�F | |
| JRuby�i��IT ���b�`�N���C�A���g�p�ꎫ�T�j http://www.atmarkit.co.jp/aig/07wcr/jruby.html |
|
| Aptana RadRails�Ŏn�߂�JRuby on Rails������ http://www.atmarkit.co.jp/fjava/special/jruby01/jruby01_1.html |
|
| Ruby on Rails��Java EE�J���ɕ֗���NetBeans http://www.atmarkit.co.jp/fjava/special/netbeans6_02/netbeans6_02_1.html |
|
�@���[�J���ł�JRuby���p�̍ۂ̒��ӓ_�Ƃ��āACRuby�i�l�C�e�B�u��Ruby���j�Ƃ̋�����gem��ʂɂ����ق����ǂ��A�Ƃ������Ƃ�����܂��B���ɐݒ�����Ȃ�����ACRuby��JRuby�ł�gem�̊Ǘ������ʉ�����܂���BCRuby��JRuby�̗��������Ă���ꍇ�ACRuby���ŃC���X�g�[������gem��JRuby�ł͔F������܂���B���̂��ߗ����̊��œ���gem�𗘗p�������ꍇ�́A�o����gem�R�}���h�𗘗p���Ă��ꂼ��ɓ���gem���C���X�g�[������K�v������܂��B���ϐ���K�ɐݒ肷�邱�Ƃŗ��҂�gem��̏ꏊ�ŊǗ����邱�Ƃ��\�ł����A���ׂĂ�gem�ɂ��Č݊���������킯�ł͂���܂���̂ŁA�{�A�ڂł�CRuby��JRuby��gem�̊i�[�ꏊ�͋��ʉ����Ȃ��O��Ő������Ă��܂��B
�@CRuby��gem���C���X�g�[������ꍇ�́A
$ sudo gem install [gem�̖���]
�@JRuby��gem���C���X�g�[������ꍇ��
$ jruby -S gem install [gem�̖���]
�Ƃ��܂��B
ActiveRecord��SQL4G�̘A�g
�@����ɁAJRuby���Ruby on Rails�삳����ꍇ�A��p��gem�iJDBC�A�_�v�^�j���C���X�g�[�����邱�ƂŁAActiveRecord����̃f�[�^�x�[�X�ڑ��̎�i�Ƃ���JDBC�ڑ��𗘗p���邱�Ƃ��\�ł��B�{�A�ڂ̃L�[�ƂȂ�SQL4G��H2 Database���G���n���X�����v���_�N�g�ŁA���ۂ̃f�[�^�̊i�[��BigTable�ɑ��čs���Ă��܂����A�O������͒ʏ��H2 Database�ƂȂ��ς��Ȃ��U�镑���悤�ɍ���Ă��܂��B���̂���JRuby���Ruby on Rails���ғ����AActiveRecord�����JDBC�A�_�v�^���o�R����H2 Database�i�Ɠ����悤�ɐU�镑��SQL4G�j�ɐڑ����邱�Ƃ��ł���̂ł��B

�@����C���X�g�[�����Ă���activerecord-jdbch2-adapter�́A��L�ɂ���悤��ActiveRecord����JDBC���o�R����H2 Database�ɐڑ�����JDBC�A�_�v�^�ł��Bactiverecord-jdbch2-adapter�ƂƂ��ɃC���X�g�[�������gem�͈ȉ��̂Ƃ���ł��B
- activerecord-jdbc-adapter
- jdbc-h2
�@������gem���C���X�g�[�������ƁAdatabase.yml��JDBC�ڑ��p�̐ݒ肪�L�q�ł���悤�ɂȂ�܂��B���L�̃��X�g�Łuadapter: jdbc�v��JDBC�ڑ��ł��邱�ƁiJDBC�A�_�v�^�𗘗p���Đڑ�����j�������Ă��܂��B�ق��̍��ڂɂ��ẮAJava�v���O���}�Ȃ炨�Ȃ��݂̐ݒ肩�Ǝv���܂��B�udriver�v�ɂ�SQL4G�̃h���C�o�N���X�ujp.littlesoft.sql4g.Driver�v���w�肵�܂��B�uurl�v�ɂ̓f�[�^�x�[�X�����A�uuser�v�upassword�v�ɂ�H2 Database�̃f�t�H���g�̐ڑ����[�U�[���ƃp�X���[�h���w�肵�܂��B
development: adapter: jdbc driver: jp.littlesoft.sql4g.Driver url: mydb username: sa password: production: adapter: jdbc driver: jp.littlesoft.sql4g.Driver url: mydb username: sa password:
�@��L�̐ݒ�ł̓f�[�^�x�[�X�����umydb�v�ƂȂ��Ă��܂����ASQL4G�ŗ��p����f�[�^�x�[�X��environment.rb�ɂč쐬���Ă��܂��B
# Skip these so generators can run from MRI
if defined? JRUBY_VERSION
# Use DataMapper to access datastore
require 'rails_dm_datastore'
# Set Logger from appengine-apis, all environments
require 'appengine-apis/logger'
config.logger = AppEngine::Logger.new
# Skip frameworks you're not going to use.
# :active_record���O��
config.frameworks -= [ :active_resource, :action_mailer ]
# SQL4G�Ńf�[�^�x�[�X���쐬
require 'java'
Java::JpLittlesoftSql4g.GAdministrator.new("mydb#0", "sa", "", true) rescue nil
end
�@��L�́uJava::JpLittlesoftSql4g.GAdministrator.new("mydb#0", "sa", "", true) rescue nil�v��SQL4G��Ƀf�[�^�x�[�X���쐬����R�[�h�ł��B
�@SQL4G�ł�jp.littlesoft.sql4g.GAdministrator�N���X�̃C���X�^���X������ۂ̈����̎w��ɂ���āA�f�[�^�x�[�X���쐬���邱�Ƃ��ł��܂��B�R���X�g���N�^�̑�1���������3���������ꂼ��f�[�^�x�[�X���A���[�U�[���A�p�X���[�h�������Ă���A��4������true�̓f�[�^�x�[�X���쐬���邩�ۂ��������Ă��܂��B
�@JRuby��Ruby�R�[�h����Java�R�[�h�����s����ꍇ�A�urequire 'java'�v���K�v�ŁA���s������Java�R�[�h�ɂ́uJava::�v�ɑ����ăp�b�P�[�W�����u.�v�ŋ�����Ɋe���[�h�̐擪��啶���ɂ��ĘA�����A�u.�v�ŋ���ăN���X���A���\�b�h�����L�q���܂��BJava�̃C���X�^���X������Ruby�ł�new���\�b�h�ɑ������邽�߁A��L�̂悤�ɋL�q���Ă��܂��B�܂��Aenvironment.rb���ēx���s���ꂽ�ꍇ�AGAdministrator�N���X�̃R���X�g���N�^�Ńf�[�^�x�[�X���ēx�������悤�Ƃ���Ɨ�O���������Ă��܂����߁A�urescue nil�v��t���Ă���܂��B
1/3 |
| Index | |
| GAE+SQL4G��Rails�A�v�����J�����Ă݂悤 | |
| Page1 JRuby�ɂ��� ActiveRecord��SQL4G�̘A�g |
|
| Page2 google-appengine gem�ɂ��� �Z�b�g�A�b�v�X�N���v�g(rails2_appengine.rb)�ɂ��� Rails+SQL4G�ł̃}�C�O���[�V���� Rails�{SQL4G�ŃA�v���P�[�V�������J�����Ă݂� |
|
| Page3 JRuby on Rails��(��GAE)�ł̓���m�F GAE���ł̓���m�F �}�C�O���[�V�����̑�փR���g���[������� �{�Ԋ��Ƀf�v���C�A�������c�c |
|
| GAE�{PHP�^Ruby�őV���E |
| �@Coding Edge�����ߋL�� |
| ���܂���A���S���Y�����w�ԈӖ� �R�[�f�B���O�ɖ𗧂I �A���S���Y���̊�{�i1�j�@�R���s���[�^�Ɂu3�̔{����3�̕t�������v�f������ɂ͂ǂ������炢�����B���z�͂�b���悤 |
|
| Zope 3�̖��͂ɔ��� Zope 3�Ƃ͉�����H�i1�j�@Python�ŏ����ꂽWeb�A�v���P�[�V�����t���[�����[�N�uZope 3�v�B�ق��̃\�t�g�E�F�A�Ƃ͈�̉�������Ă���̂��H |
|
| �n����v���O���~���O�̃X�X�� �ēc �~�̃R�[�f�B���O�V���@�����\��IT�@��Ɉ͂܂ꂽ���ŃR���s���[�^�̓��쌴���ɐG��邱�Ƃ͉\���낤���B�n���PC��Ƀr�b�g�}�b�v�̒������ǂ�����Ĉ����H |
|
| Haskell�v���O���~���O�̊y���ݕ� �̂�т�Haskell�i1�j�@���^����ɕ��ނ����Haskell�BC����Ȃǂ̎葱���^����Ƃ܂������قȂ�v���O���~���O�̐��E�ɓ��ݏo���Ă݂悤 |
|
| ������ƕς����Lisp���� Gauche�Ń��^�v���O���~���O�i1�j�@Lisp�̈��ł���Scheme�B���������鏈���n�̒��ł��C�y�ɃX�N���v�g��������Gauche��Lisp�̐��E��̌����Ă݂悤 |
|
- �v���O�����̎��s�͂ǂ̂悤�ɂ��čs����̂��ALinux�J�[�l���̃R�[�h����T�� �i2017/7/20�j
�@C����́uHello World�I�v�v���O�����Ŏg����A�uprintf()�v�umain()�v���̒��g���A�f�o�b�K�ɂ���͂Ƌt�A�Z���u���A�\�[�X�R�[�h�lj��Ȃǂ̂��܂��܂ȑ��ʂ���T��A�ځB�ŏI��́ALinux�J�[�l���̒��ł́A�v���O�����̋N�����ɂ͂ǂ̂悤�ȏ������s���Ă���̂���T�� - �G���W�j�A�Ȃ�C����v���O�����̏I���ɌĂяo�����exit()�̒��g�������Ă܂���ˁH �i2017/7/13�j
�@C����́uHello World�I�v�v���O�����Ŏg����A�uprintf()�v�umain()�v���̒��g���A�f�o�b�K�ɂ���͂Ƌt�A�Z���u���A�\�[�X�R�[�h�lj��Ȃǂ̂��܂��܂ȑ��ʂ���T��A�ځB����́A�v���O�����̏I���ɌĂяo�����exit()�̒��g��T�� - VBA�ɂ�����FileDialog����̊�{���h���C�u�̋e�ʁA�t�@�C���̃T�C�Y��^�C���X�^���v�̎擾���@ �i2017/7/10�j
�@�w�肵���h���C�u�̋e�ʁA�t�@�C���̃^�C���X�^���v�⑮�����擾������@�AFileDialog�^�G�N�X�v���[���[����̊�{���Љ�܂� - ����Ύc�ƁI�@�ʓ|�������G�N�Z���Ɩ����y�ɂ���uExcel VBA�v�Ƃ� �i2017/7/6�j
�@������������g�ʓ|�������Ɩ��h�B�ȒP�ȃv���O���~���O�Ō������ł���\��������B�{�e�ł́A�Ɩ��Ŏg�����Ƃ������uMicrosoft Excel�v�Ŏg����VBA���Љ��B���V���[�g�J�b�g�L�[�A�A�N�Z�X�L�[�̉������
|
|





