�^�C�g���̒ʂ�ł����APostgreSQL �ł́ATRUNCATE TABLE �� �g�����U�N�V�������Ȃ̂ŁA���[���o�b�N����� �f�[�^�͌��ɖ߂�܂��B
���̂悤�ɂȂ�܂��B
postgres=# select * from test1; f1 | f2 ----+---- 1 | 1 2 | 2 (2 rows) postgres=# begin; BEGIN postgres=# truncate table test1; TRUNCATE TABLE postgres=# select * from test1; f1 | f2 ----+---- (0 rows) postgres=# rollback; ROLLBACK postgres=# select * from test1; f1 | f2 ----+---- 1 | 1 2 | 2 (2 rows)
�ʔ����̂́ACREATE TABLE �Ȃǂ��g�����U�N�V�������ł��B
postgres=# begin; BEGIN postgres=# create table test2 (f1 varchar(1), f2 int); CREATE TABLE postgres=# select * from test2; f1 | f2 ----+---- (0 rows) postgres=# rollback; ROLLBACK postgres=# select * from test2; ERROR: relation "test2" does not exist
���R�A���̃g�����U�N�V�������R�~�b�g����܂ł́A �ʂ̃g�����U�N�V��������� test2 �e�[�u���͌����܂���B
�ʂ̃g�����U�N�V����������ł���Ə�����₱�����Ȃ�܂��B
�g�����U�N�V���� A ���g�����U�N�V�������Ƀe�[�u�����쐬���Ă���Ƃ��� ���̃g�����U�N�V���� B �������e�[�u�����Ńe�[�u�����쐬���悤�Ƃ���� �g�����U�N�V���� B �� A �̌��ʑ҂��ɂȂ�܂��B
�g�����U�N�V���� A �����[���o�b�N���� �e�[�u���̍쐬���L�����Z�����ꂽ�ꍇ �g�����U�N�V���� B ���e�[�u�����쐬�ł���̂ŁA �g�����U�N�V���� B �̓g�����U�N�V�������p���ł��܂��B
�������A�g�����U�N�V���� A ���R�~�b�g���� �e�[�u�����쐬���m�肵�Ă��܂����ꍇ�́A �g�����U�N�V���� B �̓e�[�u���̍쐬���ł��Ȃ��̂��� B ���́A���̃G���[���������܂��B
ERROR: duplicate key value violates
unique constraint "pg_type_typname_nsp_index"
DROP TABLE �����l�̂��Ƃ��N����܂��B
���܂肱���������P�[�X�͂Ȃ��Ǝv���܂����A ���̕ӂ�̓����� Oracle �ƈقȂ�̂Œ��ӂ��K�v�ł��B
IE �� Web �T�C�g�ɃA�N�Z�X����� ����� favicon.ico ��T���̂� favicon.ico ���Ȃ��� Web �T�[�o�̃G���[���O�� favicon.ico ��T�������O���c���Ă��܂��܂��B
�Ώ����@�Ƃ��� favicon.ico �ւ̃A�N�Z�X�����O�ɏ������܂Ȃ��悤�� �ݒ肷�邩�Afavicon.ico �����ۂɐݒu������@������܂��B
��҂̕��@�ŁA�_�~�[�p�̓����� favicon.ico �� �~���������̂ō���Ă݂܂����B
�K�v������Ύg���Ă��������B
�������A�u�b�N�}�[�N�ɓo�^�����ꍇ�A���̃T�C�g�� Web �u���E�U�̃f�t�H���g�̃A�C�R�����A�ݒu����Ă��� favicon.ico �� �\������Ă��钆�ŁA�����̂Ƃ��낾���ɂȂ��ĕ\�������̂� ��a���́A���Ȃ肠��܂��B
sudo �R�}���h���g�p����Ƃ��� �p�X���[�h����Ȃ��悤�ɂ���ݒ�̃����ł��B
sudo �̐ݒ�t�@�C���� /etc/sudoers �ł��� �ҏW����Ƃ��́A���ڊJ���̂ł͂Ȃ� visudo �Ƃ����R�}���h���g�p���܂��B
ALL ALL=(ALL) NOPASSWD: ALL
������A���[�U�A�z�X�g�A�����A�R�}���h�Ȃ̂ł����A �R�}���h�� NOPASSWD: �ƕt���邱�ƂŃp�X���[�h��������Ȃ��Ȃ�܂��B
����̃��[�U�ɑ��� ����̃R�}���h�݂̂����������ꍇ�� ���̂悤�ɋL�q���܂��B
user1 ALL=(ALL) NOPASSWD: /etc/init.d/httpd
����� user1 �� httpd �̎��s���ł���悤�ɂȂ�܂��B
Linux �����̃e�L�X�g�t�@�C���̕�������ꊇ�� �u�����邽�߂̃V�F���X�N���v�g������Ă݂܂����B
#!/bin/bash # ========================================================== # �����t�@�C���ꊇ�u���R�}���h # ----------------------------------------------------- # create : 2010/01/21 Studio ODIN # update : # ========================================================== # --- init --------------------------------------------- COMMAND_NAME=bulk_replace CUR_DIR=`pwd` # -- args ---------------------------------------------- TARGET_WORD=$1 REPLACE_WORD=$2 TARGET_DIR=$3 # -- args check ---------------------------------------- if [ "$TARGET_WORD" = "" ]; then echo "target word is nothing." >&2 echo "Usage: $0 targetword replaceword [targetpath]" >&2 exit 1 fi if [ "$REPLACE_WORD" = "" ]; then echo "replace word is nothing." >&2 echo "Usage: $0 targetword replaceword [targetpath]" >&2 exit 1 fi if [ "$TARGET_DIR" = "" ]; then TARGET_DIR=. fi # -- execute ------------------------------------------- grep -R -l "${TARGET_WORD}" "${TARGET_DIR}" | while read file do tfile=`mktemp -u` cp -f -p $file $tfile > /dev/null 2>&1 if [ $? -eq 0 ]; then sed -e "s/${TARGET_WORD}/${REPLACE_WORD}/g" $file > $tfile if [ $? -ne 0 ]; then echo "Warning: failed write '$file'" fi mv -f $tfile $file > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "Warning: failed rewrite '$file'" rm -f $tfile > /dev/null 2>&1 fi else echo "Warning: failed copy '$file'" fi done # -- normal end ---------------------------------------- cd $CUR_DIR exit 0 # ========================================================== # shell end # location: /usr/local/bin/bulk_replace # ==========================================================
���s����ꍇ�́A�p�X�̎w��ȂǑ厖�ȃt�@�C���� ��ςȂ��ƂɂȂ�Ȃ��悤�ɋC��t���Ă��������B �i���ȐӔC�ł��肢���܂��j
����ȃR�}���h�́A���łɂ���悤�ȋC�����܂��� �����ŏ������l���č���Ă݂�͖̂ʔ����Ǝv���܂��B
������u���E�U Firefox – Firefox 3.6 �����[�X�m�[�g
1/21 �� Firefox 3.6 �������[�X����܂����B
Ruby �̔F�莎�������y���� Array#inject �� �킩��ɂ����Ƃ����b�����̂� �ȒP�ɂ܂Ƃ߂Ă݂����Ǝv���܂��B
Array#inject �͔z��̒l�����v�����肷��̂Ɏg����֗��ȃ��\�b�h�ł��B
$ irb irb(main):001:0> [1,2,3,4].inject(0) { | sum, i | sum + i } => 10
�����I�ɂ͎��̂悤�ȏ����ɂȂ�܂��B
[1,2,3,4].inject(0) { | sum, i | sum + i }
`-------,
loop: 1 0, 1 0 + 1
~~|~~
,----------'
loop: 2 1, 2 1 + 2
~~|~~
,----------'
loop: 3 3, 3 3 + 3
~~|~~
,----------'
loop: 4 6, 4 6 + 4
~~|~~
`----> �o��
2�߂̃u���b�N�����ɂ͔z��̒l���͂���̂ł��� 1�߂̃u���b�N�����ɂ́A�O��̃��[�v�̍Ō�̏������ʂ�����܂��B
1���� (loop:1) ��1�߂̃u���b�N�����́A �O��̏������ʂ��Ȃ��̂ŁA�����l�Ƃ��� inject ���\�b�h�̈������ݒ肳��܂��B
�u���b�N�����킩��₷�������Ǝ��̂悤�ɂȂ�܂��B
irb(main):001:0> [1,2,3,4].inject(0) { | sum, i | sum += i } => 10
�����܂ł͊ȒP�Ȃ̂ł����A���� inject ���\�b�h�� �������ȗ����邱�Ƃ��ł��܂��B ���̏ꍇ�̓������v���ӂł��B
��Ɠ����z��Ŏ����Ă݂܂��B
irb(main):001:0> [1,2,3,4].inject { | sum, i | sum + i }
=> 10
���ʂ͓����ł����B
�����ŁA�u���b�N���̏�����ς��Ă݂܂��B
irb(main):001:0> [1,2,3,4].inject(0) { | sum, i | sum * i } => 0 irb(main):002:0> [1,2,3,4].inject { | sum, i | sum * i } => 24
�܂������قȂ錋�ʂɂȂ�܂����B
�܂��A����������ꍇ�̓������������Ă݂܂��B
[1,2,3,4].inject(0) { | sum, i | sum * i }
`-------,
loop: 1 0, 1 0 * 1
~~|~~
,----------'
loop: 2 0, 2 0 * 2
~~|~~
,----------'
loop: 3 0, 3 0 * 3
~~|~~
,----------'
loop: 4 0, 4 0 * 4
~~|~~
`----> �o��
���ɁA�������Ȃ��ꍇ�̓������������Ă݂܂��B
[1,2,3,4].inject { | sum, i | sum * i }
`--------------------,
loop: 1 1, 2 1 * 2
~~|~~
,----------'
loop: 2 2, 3 2 * 3
~~|~~
,----------'
loop: 3 6, 4 6 * 4
~~|~~
`----> �o��
���̂悤�� �����l�Ƃ��� �z��� 1�߂̒l�������Ă��܂��B �܂��A1���� (loop:1) �� �z��� 2�߂̒l�������Ă��܂��B ���[�v�̐��� 1���Ȃ��Ȃ�܂��B �������ȗ�����ƁA �z��� 1�߂̂�l�������l�Ƃ��ė��p����킯�ł��B
�܂�A���� 2�������ƂȂ�܂��B
irb(main):001:0> [1,2,3,4].inject(0) { | sum, i | sum * i } => 0 irb(main):002:0> [0,1,2,3,4].inject { | sum, i | sum * i } => 0
���̂悤�� PostgreSQL �� SQL �G���[������܂��B
SELECT DISTINCT, ORDER BY expressions must appear in select list
����� SELECT DISTINCT ���g�p���Ă���ꍇ�ɁA ORDER BY ��Ɋ܂܂�Ă��鍀�ڂ� SELECT ��ɂȂ��ꍇ�ɔ������܂��B
�Ⴆ�A���̂悤�� SQL �ł��B
SELECT DISTINCT
field_1
, field_2
FROM test_table
ORDER BY field_3
SELECT DISTINCT ����Ă���̂� field_1 �� field_2 �ł��� �\�[�g�� field_3 ���w�肵�Ă��܂��B
����ł͌��ʂ̕��я���ۏ��邱�Ƃ��ł��Ȃ����� �G���[����������킯�ł��B
���Ȃ݂� Oracle �̏ꍇ�́A���̂悤�ȃG���[�ɂȂ�܂��B
ORA-01791: SELECT���������ł�
�����AOracle �� ����Ɍ����悤�ŁA���̂悤�ȏꍇ�̓G���[�ɂȂ�܂���B �i PostgreSQL �̓G���[�ɂȂ�܂��j
SELECT DISTINCT
field_1
, field_2
FROM test_table
WHERE field_3 = '0'
ORDER BY field_3
���̏ꍇ�́Afield_3 �� 1�ɌŒ肳��邽�߁A "�\�[�g�w��Ȃ�" �Ɠ�����ԂɂȂ邽�߃G���[�ɂȂ�܂���B
������i�@�\�F����Z�p�Ҏ����F�\����
�t�̏�������\���̎�t���J�n���܂����B
����l�͖Y��Ȃ������ɐ\�����݂܂��傤�B
�i���͎Ȃ��\�肾�����肵�܂����E�E�E�j
Windows ���ɊȒP�� Ruby �̎��s�������t���[�\�t�g���Љ��Ă����̂� �����ɃC���X�g�[�����Ă݂܂����B
Windows�ŃX�N���v�g����gRuby�h�����邽�߂̘a���C���X�g�[���[�uRumix�v
�܂��A�ȉ��̃T�C�g���� Rumix ���_�E�����[�h���܂��B
Rumix - Ruby Starter Package with Installer
����������Ă��鎞�_�ł́u Rumix 1.00�i�ʏ�Łj�v�u Rumix 1.00�iruby 1.9.1�Łj �v�� ����܂����A�ǂ��炪�ǂ����킩��Ȃ��l�́u Rumix 1.00�i�ʏ�Łj�v�𗎂Ƃ��܂��傤�B
�_�E���[�h�����t�@�C�����𓀂��āA���̒��� rumix_install.exe �����s���܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u���ցv�{�^���������܂��B
�u�C���X�g�[���v�{�^���������܂��B
�I���̂�҂��܂��B
�҂��܂��B
�҂��܂��B
����ŃC���X�g�[���͏I���ł��B
���� ruby �X�N���v�g������Ď��s�����Ă݂܂��B
�f�X�N�g�b�v�� test.rb �Ƃ����t�@�C��������� �e�L�X�g�G�f�B�^�� �X�N���v�g�������܂��B
puts 'hello world!'
�X�^�[�g���j���[����
�u NYACUS (�R�}���h���C���V�F��) �v���N�����܂��B
[d:\] $
NYACUS �� Linux �̃V�F���̑��삪�ł���֗��ȃc�[���ł��B
cd �� ls, pwd �Ȃǂ̃R�}���h���g���܂��B �E�B���h�E�Ƀh���b�O���h���b�v���ăp�X���w�肷�邱�Ƃ��ł��܂��B
[d:\] $ cd d:\desktop [d:\desktop] $ pwd d:\desktop
��قǏ������X�N���v�g�����s�����Ă݂܂��B
"ruby test.rb" �ł� ���ڎw��ł����s�����邱�Ƃ��ł��܂��B
�ȒP�� ruby �̃X�N���v�g�����s�ł���̂� Ruby �̎������Ȃǂɂ� �ƂĂ����ɗ����܂��B
Excel �̃}�N���Ȃ� UTF-8 �ŏo�͂��� ���W���[�����Љ�܂��B
PostgreSQL �� �e�[�u�����C�A�E�g�� Excel �ō쐬���� Excel �̃}�N���� CREATE �������Ă���̂ł��� �R�����g���Ȃ� ���{��� UTF-8 �ŏo�͂���̂� ���p�����Ă��炢�܂����B
�g�������ȒP�ŁA�_�E�����[�h���� class �t�@�C���� Excel �ɃC���|�[�g���āAOpen ���\�b�h�̑���� ���̂悤�ɋL�q���܂��B
Dim f1 As New TextFile f1.FileCreate "test1.txt", "UTF-8" f1.TextWrite "���̃t�@�C���� UTF-8 �ŃG���R�[�h����Ă��܂��B" f1.FileClose
Linux �� realpath �Ȃǂ������Ă��Ȃ��� ���p�X�����p�X���擾���邽�߂� �V�F���X�N���v�g�ł��B
#!/bin/bash # ========================================================== # ��p�X�擾�R�}���h # ----------------------------------------------------- # create : 2010/01/07 Studio ODIN # update : # ========================================================== # --- init --------------------------------------------- COMMAND_NAME=fullpath CUR_DIR=`pwd` # -- args ---------------------------------------------- TARGET_OBJECT=$1 # -- args check ---------------------------------------- if [ "$TARGET_OBJECT" = "" ]; then pwd exit 0 fi if [ ! -e "$TARGET_OBJECT" ]; then echo "Error: '$TARGET_OBJECT' is not exists." >&2 exit 1 fi # -- get full path (is directory) ---------------------- if [ -d $TARGET_OBJECT ]; then cd $TARGET_OBJECT pwd exit 0 fi # -- get full path (is not directory) ------------------ cd `dirname $TARGET_OBJECT` TARGET_PATH=`pwd` TARGET_NAME=`basename $TARGET_OBJECT` if [ "$TARGET_PATH" = "/" ]; then echo $TARGET_PATH$TARGET_NAME else echo $TARGET_PATH/$TARGET_NAME fi # -- normal end ---------------------------------------- cd $CUR_DIR exit 0 # ========================================================== # shell end # location: /usr/local/bin/fullpath # ==========================================================
���̗�́Afullpath �Ƃ������O�� /usr/local/bin �ɍ쐬���Ď��s������t���Ă��܂��B ���ɍ��킹�ĕύX���Ă��������B
# cd /usr/local/bin # vi fullpath # chmod 755 fullpath
�������w�肵�Ȃ���A�J�����g�f�B���N�g���̃p�X�A �f�B���N�g����t�@�C�����w�肷��A���̐�p�X��Ԃ��܂��B
$ fullpath /home/odin $ fullpath ../ /home $ fullpath / / $ fullpath ../../vmlinuz /vmlinuz
�v�X�Ɂu���W�l�^�v��lj����܂����B