Bash �� �v�����v�g�̐F��ς���

SSH �ȂǂŃT�[�o�Ƀ��O�C������ ����ɂ�������ʂ̃T�[�o�Ƀ��O�C�������肷��� �������ǂ̃T�[�o��G���Ă��邩�킩��Ȃ��Ȃ�Ƃ�������܂��B

�v�����v�g�Ƀz�X�g����\������Ȃǂ� ������悤�ɂ��Ă� �w�i�Ɖ����Ă��܂��̂� �g�{�Ԋ‹������́I�h�Ƃ����Ƃ��� �v�����v�g�̐F��ς���Ƃ����̂͂ǂ��ł��傤���B

$ PS1="\[\033[0;31m\][\u@\h:\w]$\[\033[0m\] "
$ PS2="\[\033[0;31m\]>\[\033[0m\] "

����Ȋ����Őݒ肵�܂��B PS1 �͒ʏ�̃v�����v�g�APS2�́A���͂������Ă���ꍇ�̃v�����v�g�ł��B

�ݒ肷��Ǝ��̂悤�ɂȂ�܂��B

[user1@host1:~]$
[user1@host1:~]$ cd \
> /usr/local/share

[user1@host1:/usr/local/share]$ 

�ˑR�ڂɔ�э���ł���ԐF�Ƀh�L�b�Ƃ������܂��B

Bash �� �R�}���h�u��

Bash �̃R�}���h�u���ɂ́A"`" �i�o�b�N�N�H�[�g�j���g���`���� "$()" ���g���`���� 2 ��ނ�����܂��B

$ echo `pwd`
/usr/local

$ echo $(pwd)
/usr/local

"$()" �̌`���̕����V�����悤�ł��B

���� 2 �‚́A��{�������������܂����A�o�b�N�X���b�V���ɂ��G�X�P�[�v�̏������Ⴂ�܂��B ���̂悤�ɂȂ�܂��B

$ AA=abc

$ echo `echo $AA`
abc

$ echo `echo \$AA`
abc

$ echo $(echo $AA)
abc

$ echo $(echo \$AA)
$AA

Excel �� [Ctrl]+[End] / [End]

Excel �� [End] �L�[�́A������ƕς�����ړ��ł��B

Excel �ł́A���̂悤�� �u���͂��ꂽ��ԉE�̗�v�u���͂��ꂽ��ԉ��̍s�v�� �����Z�����A�ŏI�L���Z���Ƃ��ċL�����Ă��܂��B

WRITE_0254_02

�f�t�H���g�ł́A�ŏI�L���Z���܂ł�����͈͂ɂȂ�܂��B

[Ctrl]+[End] �́A�J�[�\�����ŏI�L���Z���Ɉړ������܂��B

WRITE_0254_03

�ŏI�L���Z�����ǂ��ɂ��邩�킩��Ȃ��Ȃ����Ƃ��� �f�[�^�̍ŏI�s�Ɉړ��������Ƃ��ɕ֗��ł��B

���Ȃ݂ɁA���͂����l���N���A���Ă��u���͂��ꂽ��ԉE�̗�i���̍s�j�v�͕ς��܂���B �ŏI�L���Z��������Ɉړ������邽�߂ɂ́A�s�����폜���܂��B

���� [End] �L�[������ 1 �񉟂��ƁA �E���Ɏ��̂悤�� "END" �ƕ\������܂��B

WRITE_0254_01

���̏�Ԃ� �J�[�\���L�[�������� ���̕����ɑ傫���ړ����܂��B
�ړ�������e�� [Ctrl]+[�J�[�\��] �Ɠ����ł��B

WRITE_0254_04

���΂��J�[�\���̌��݂̈ʒu�A���F���e�����̈ړ��ł��B

�l�̓������Z�����Ȃ���� �s���̐擪�����ɁA �l�̓������Z��������΁A�A�����Ēl�̓����Ă���Z���̒[�� �J�[�\�����ړ������܂��B

�J�[�\���̑���� [Home] �������� [Ctrl]+[End] �Ɠ����� �ŏI�L���Z���Ɉړ����܂��B

����瓯�������̈ړ��R�}���h������̂� �������g���Ղ����̂�I��Ŋo����Ɨǂ��Ǝv���܂��B

Bash �̕�����̕��������擾����

���̂悤�ȕϐ�������܂��B

$ K="abc def gh"

wc �R�}���h�ŕ��������擾�ł��܂��� echo ���邾���ł͍s���ɉ��s�������Ă��܂��̂� "-n" �I�v�V������t����K�v������܂��B

$ echo -n $K | wc -m

10

���̑��� "#" ��t�������������܂��B

$ echo ${#K}

10

"#" �́A�ϐ����z��̏ꍇ�͗v�f�����擾�ł��܂��� �ϐ���������̏ꍇ�A���������擾���邱�Ƃ��ł��܂��B

$ K="������"
$ echo ${#K}

3

PostgreSQL �Ŏ��s���̃v���Z�X���m�F����

PostgreSQL �� ���ݎ��s���̃v���Z�X�� ���s���̃N�G������s���Ԃ��擾���܂��B

�y�Q�l�T�C�g�z
PostgreSQL�̂�����ƃe�N - �悭����Wiki

SELECT
    procpid AS "�v���Z�XID",
    start AS "�J�n����",
    now() - start AS "���s����",
    current_query AS "���s�N�G��"
FROM
    (SELECT
        backendid,
        pg_stat_get_backend_pid(S.backendid) AS procpid,
        pg_stat_get_backend_activity_start(S.backendid) AS start,
        pg_stat_get_backend_activity(S.backendid) AS current_query
    FROM
        (SELECT pg_stat_get_backend_idset() AS backendid) AS S
    ) AS S
WHERE
    current_query <> '<IDLE>'
AND
    procpid <> pg_backend_pid()
ORDER BY
    "���s����" DESC;

�������g�̃v���Z�X�� idle ���̃v���Z�X�����O���Ă��܂��B

���������Ȃ��Ƃ��́A"\x" �œW�J�\�� ���Ă������ ���� SQL �ł����₷���Ȃ�܂��B

db=# \x
db=# SELECT .... (�ȗ�)

-[ RECORD 1 ]-----------------------------
�v���Z�XID | 19848
�J�n����   | 2010-03-25 22:17:48.459064+09
���s����   | 00:00:18.431077
���s�N�G�� | <IDLE> in transaction

�v���Z�X���~�߂����ꍇ�́A���̂悤�ɂ��܂��B

db=# SELECT pg_cancel_backend("�v���Z�XID");

"�v���Z�X ID" �ɑΏۂ̃v���Z�X ID �����Ă��������B

�R�}���h�v�����v�g�̒x���‹��ϐ�

�R�}���h�v�����v�g�� FOR ���[�v�Ȃǂ��g���Ă���Ƃ��� �u����H �ϐ��̒l���ς��Ȃ��H�H�v�Ƃ������Ƃ�����܂��B

�Ⴆ�΁A�o�b�`�t�@�C���Ɏ��̂悤�ɏ����Ă���Ƃ��܂��B

FOR /F %%i IN ('SET') DO ECHO %%i 

����́A�R�}���h SET �̎��s���ʂ�������ƕ\�����܂��B

���̌��ʂ̌������擾���邽�߂ɃJ�E���^��t�����Ƃ��܂��B

SET COUNT=0
FOR /F %%i IN ('SET') DO SET /A COUNT=%COUNT%+1
ECHO %COUNT% 

��肭�s�������Ȃ̂ł����A���ʂ� 1 ���o�͂���܂��B

����͕ϐ��́g�����W�J�h�Ƃ������̂ŁA ���[�v�̒��� %COUNT% ����ɕ]������Ă��܂��̂� ���ʓI�ɂ͎��̂悤�ȏ����ɂȂ��Ă��܂����߂ł��B

SET COUNT=0
FOR /F %%i IN ('SET') DO SET /A COUNT=0+1
ECHO %COUNT% 

�Ή��Ƃ��āg�x���‹��ϐ��h���g���Ƃ������@������܂��B

�x���‹��ϐ��́A���O�̒ʂ�x�����ĕϐ���]�����Ă����킯�ł��� �f�t�H���g�ł̓I�t�ACMD.exe �̃I�v�V�����⃌�W�X�g���̕ύX�� SETLOCAL �ł̎w�肪�K�v�ɂȂ�܂��B
�i�ڂ����� CMD /? ���Ă��������j

����� SETLOCAL ���g���Č��܂��B

���̂悤�� SETLOCAL �� enabledelayedexpansion ���w�肵�� ENDLOCAL �ŏI���܂��B �i ENDLOCAL �͏ȗ��‚ł��B�j

����ɒx���]������ϐ��� "%" �ł͂Ȃ� "!" �ň݂͂܂��B

SETLOCAL enabledelayedexpansion
SET COUNT=0
FOR /F %%i IN ('SET') DO SET /A COUNT=!COUNT!+1
ECHO %COUNT%
ENDLOCAL

����őz�肵�Ă������ʂ��Ԃ�܂��B
�i�����ꍇ�̓t�@�C���ɕۑ����Ď��s���Ă��������j

�x���‹��ϐ����g��Ȃ��� CALL ���g�����@������܂��B

SET COUNT=0
FOR /F %%i IN ('SET') DO CALL SET /A COUNT=%%COUNT%%+1
ECHO %COUNT%

����ł��������ʂ��Ԃ�܂��B
CALL �̒��� "%" ����d�ɂȂ��Ă��邱�Ƃɒ��ӂ��Ă��������B

PostgreSQL �Ŏg����Z�p���Z�q

PostgreSQL �� SQL �ł͐F�X�ȎZ�p���Z�q���g���܂��B
����̓o�C�i�����Z�q�����������̂��Љ�����Ǝv���܂��B

�܂��͎l�����Z�B

db=# -- �a
db=# SELECT 1 + 1;

db=# -- ��
db=# SELECT 3 - 2;

db=# -- ��
db=# SELECT 4 * 6;

db=# -- ��
db=# SELECT 7 / 2;

���́A�����̊���Z�̏ꍇ�A�؂�̂ĂɂȂ�܂��B

���ɂ��F�X����܂��B
�����v�Z������֐��ƕ����Ăǂ����B

db=# -- �ׂ���
db=# SELECT 2 ^ 5;
db=# SELECT POWER(2, 5);

db=# -- ��]�i����Z�̗]��j
db=# SELECT 13 % 5;
db=# SELECT MOD(13, 5); 

db=# -- ������
db=# SELECT |/ 9;
db=# SELECT sqrt(9);

db=# -- ������
db=# SELECT ||/ 8;
db=# SELECT cbrt(8);

db=# -- ��Βl
db=# SELECT @ -4;
db=# SELECT abs(-4);

�֐��͂���܂��񂪁A�K��̉��Z�q������܂��B
�K��̉��Z�q�͍��E�� 2 �o�[�W����������܂��B

db=# -- �K��i���j
db=# SELECT !! 4;

db=# -- �K��i�E�j
db=# SELECT 4 !;

�R�}���h�v�����v�g�Ōv�Z����

�R�}���h�v�����v�g�͌v�Z���ł��܂��B

�v�Z�ɂ́ASET �R�}���h�� /A �I�v�V�������g���܂��B

C:\> SET /A RESULT=1+2*4+5
14

C:\> ECHO %RESULT%
14

���ڎ��s�����ꍇ�́A�v�Z���ʂ��o�͂���܂��� �o�b�`�t�@�C���ɏ������ꍇ�͏o�͂���܂���B

���Z�q�͎��̂��̂��g���܂��B

()                  - �O���[�v��
! ~ -               - �P�����Z�q
* / %               - �Z�p���Z�q
+ -                 - �Z�p���Z�q
<< >>               - �_���V�t�g
&                   - �r�b�g���Z�q AND
^                   - �r�b�g���Z�q�r���I OR
|                   - �r�b�g���Z�q OR
= *= /= %= += -=    - ���
  &= ^= |= <<= >>=
,                   - ���̋�؂�L�� 

">" ���܂܂��ꍇ�� ���_�C���N�g�ɂȂ�Ȃ��悤�� �_�u���N�H�[�e�[�V�����ň݂͂܂��B

C:\> SET /A RESULT="14>>2"
3

�������ϐ���錾�����ɁA�v�Z�������邱�Ƃ��ł��܂��B

C:\> SET /A 13*2+1
27

�擪�� 0 �̏ꍇ�́A8 �i���A0x �̏ꍇ�� 16�i���ɂȂ�܂��B

C:\> SET /A 011+0xA
19

��̗�́A10 �i���� 9 �� 10 �𑫂��Ă��܂��B

�R�}���h�v�����v�g������u������

�R�}���h�v�����v�g�ł��A�ȒP�ȕ�����u�����”\�ł��B

�Ⴆ�΁A���̂悤�ȕϐ� DATE ��錾���܂��B

C:\> SET DATE=2010/03/20
C:\> ECHO %DATE%
2010/03/20

"/" �� "-" �ɒu�����܂��B

C:\> ECHO %DATE:/=-% 
2010-03-20

������ "%�ϐ�:�u������镶��=�u�����镶��%" �ł��B

"*" ���g���ƁA"*" �ȍ~����v����Ƃ���܂ł�u���ł��܂��B
������ "*" �͐擪�ɂ����g���܂���B

C:\> ECHO %DATE:*/=YEAR%
YEAR03/20

��̗�ł́A�ŏ��ɏo�Ă��� "/" �܂ł�u���ΏۂƂ��Ă��܂��B

�u�����镶������w�肵�Ȃ��� �󕶎����w�肵�����ƂɂȂ�܂��B

C:\> ECHO %DATE:*/=%
03/20

Firefox �Łu�߂�v�����Ƃ��� JavaScript �����s������

Internet Explorer (6) �ł́A�O�̃y�[�W����߂����ꍇ�� JavaScript ���Ď��s���܂��B

�Ⴆ�΁A���̂悤�ȃX�N���v�g������ꍇ�A ���̃y�[�W�Ɂu�߂�v�����Ƃ����A�\������鎞���͍X�V����܂��B

document.write("<p>");
document.write(new Date());
document.write("<\/p>");

�m�F�p�f��

������ Firefox (3.6) �ł́A�X�N���v�g�̏�Ԃ�ۑ����Ă��邽�߂� �Ď��s����܂���B

�Ƃ��낪�Awindow.onunload ��������`���Ă��� �Ď��s�����悤�ɂȂ�܂��B

�Ⴆ�΁A���̂悤�Ȃ� window.onunload �𑫂��� Firefox (3.6) �ł��������X�V�����悤�ɂȂ�܂��B

document.write("<p>");
document.write(new Date());
document.write("<\/p>");

window.onunload = function () {}

�m�F�p�f��

�����ł� window.onunload ��̊֐����Z�b�g���Ă��܂����A���e�̂�����̂ł� OK �ł��B

Excel �ŃV�[�g�� Very ��\���ɂ���

Excel �ł́A���j���[����V�[�g���\���ɂ��邱�Ƃ��ł��܂��B

WRITE_0245_01

�������A���̕��@�̏ꍇ�A�ȒP�ɍĕ\�������邱�Ƃ��ł��܂��B

WRITE_0245_02

�ʂ̕��@�ŁA�u�ĕ\���v��\�����Ȃ��悤�ɂ��邱�Ƃ��ł��܂��B

�܂��A�ǂ�����ł��ǂ��̂Łi���̐}�́u�R�[�h�̕\���v�j�� Visual Basic Editor ���N�����܂��B

WRITE_0245_03

�K�v�Ȃ̂́A���̐Ԙg�́u�v���p�e�B �E�B���h�E�v�Ȃ̂� �\������ċ��Ȃ��ꍇ�� [F4] �������ĕ\�����܂��B

WRITE_0245_04

���̃v���p�e�B�E�B���h�E�̈�ԉ��̍��ڂ� "Visible" ������܂��B ���̃v���p�e�B�� "2 - xlSheetVeryHidden" �ɐݒ肵�܂��B

WRITE_0245_05

����ŁA�V�[�g�͔�\���ɂȂ� ���j���[���猩�Ă��u�ĕ\���v���s�����Ȃ܂܂ɂȂ�܂����B

WRITE_0245_06

���Ȃ݂� "Visible" �v���p�e�B�ł����AExcel �̃��j���[���� �ʏ�̂�肩���Ŕ�\���ɂ����ꍇ�́A"0 - xlSheetHidden" �ɂȂ�܂��B Excel ����ł́A"-1 - xlSheetVisible" �� "0 - xlSheetHidden" �� �؂�ւ������ł��Ȃ��킯�ł��B

Apache �� prefork �� worker

�ŋ߂́i�Ƃ����قǍŋ߂ł͖����ł����j Apache �ɂ� �q�v���Z�X�� ������ prefork �� worker �� 2 ��ނ�����܂��B

�ݒ�t�@�C���ɂ� prefork �� worker �̐ݒ肪�����Ă��܂��B

���� Debian (Apache 2.2.3) �̐ݒ�t�@�C���ł��B

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>

mpm �� Multi Processing Module �̗��ł��B

������ apache ���ǂ���œ����Ă��邩 ���ׂ邽�߂ɂ� ���̂悤�� ���W���[�����m�F���܂��B

$ /usr/sbin/apache2 -l

Compiled in modules:
  core.c
  mod_log_config.c
  mod_logio.c
  prefork.c
  http_core.c
  mod_so.c

prefork.c �Ȃ� prefork �Aworker �Ȃ� worker.c �ł��B

"-V" �I�v�V�����Ŋm�F������@������܂��B

$ /usr/sbin/apache2 -V | grep MPM

Server MPM:     Prefork
 -D APACHE_MPM_DIR="server/mpm/prefork"

Linux �ōs�����擾����

Unix/Linux �ɂ� wc �Ƃ����R�}���h������ �s����o�C�g���A�P�ꐔ���擾���邱�Ƃ��ł��܂��B

$ wc -l test.txt
558 test.txt

"-l" �̃I�v�V������ �s�����擾�ł��܂��B

�t�@�C�������łȂ��A�R�}���h�̌��ʂ� �p�C�v�œn�����Ƃ��ł��܂��B

$ cat test.txt | sort | wc -l
558

grep �������ʂ��������邩�A�Ȃǂɂ��g�����Ƃ��ł��܂��B

$ RESULT=`cat test.txt | grep keyword | wc -l`
$ echo $RESULT
32

PHP �� CSV �t�@�C����ǂݍ���

PHP �ɂ́ACSV �t�@�C������f�[�^��ǂݍ��ނ��߂� fgetcsv �Ƃ����֗��Ȋ֐�������܂��B

CSV �̕�����𕪉����� str_getcsv �Ƃ����֐�������̂ł��� ������� PHP 5.3 �ȏォ��ɂȂ��Ă��܂��B

�Ƃ����킯�ŁA����� fgetcsv ���Љ�܂��B

�y�Q�l�T�C�g�z
PHP: fgetcsv - Manual

Manual �ɍڂ��Ă��鎟�̃\�[�X�������Ă݂܂��B

<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $num = count($data);
    echo "<p> $num fields in line $row: <br /></p>\n";
    $row++;
    for ($c=0; $c < $num; $c++) {
        echo $data[$c] . "<br />\n";
    }
}
fclose($handle);
?>

CSV �f�[�^�͎��̂悤�ɂȂ�܂��B

"abc def","123",11,abc
"abc,def","12""3",11,abc

�_�u���N�H�[�e�[�V�����̊ԂɃJ���}���������� �_�u���N�H�[�e�[�V�����̒��Ƀ_�u���N�H�[�e�[�V������t�����肵�Ă��܂��B

���ʂ͎��̂悤�ɂȂ�܂��B

 4 fields in line 1:
abc def
123
11
abc

4 fields in line 2:
abc,def
12"3
11
abc

�J���}���_�u���N�H�[�e�[�V���������Ȃ��ǂݍ��߂Ă��܂��B

Excel �Łu���O�v�̈ꗗ��\��t����

Excel �Łu���O�v��t���Ă���� �����Ȃ肷���� ���������킩��Ȃ��Ȃ�Ƃ�������܂��B ���Ȃ��Ƃ����ɂ͂���܂��B

WRITE_0240_01

����ȂƂ��ɁA�u���O�v�Œ�`����Ă�����e�� �Z���ɏo�͂���@�\������܂��B

���j���[����u�}���v���u���O�v���u�\��t���v��I�����܂��B

WRITE_0240_02

���O�̓\��t���E�B���h�E���o�Ă���̂� �u���X�g�\��t�� (L) �v�{�^�����N���b�N���܂��B

WRITE_0240_03

�J�[�\���̓������Ă����Z���� �u���O�v�̃��X�g���o�͂���܂��B

WRITE_0240_04

Excel �̃��[�N�V�[�g�֐� PHONETIC

�ȑO�A�u Excel �� �ӂ肪���v�Ƃ��l�^�������܂����� ���̒l��ʂ̃Z���Ŏ擾���邽�߂̃��[�N�V�[�g�֐� PHONETIC ������܂��B

�g�����͎��̂悤�ɊȒP�ł��B

WRITE_0239_01

�������A�Љ����́u�ӂ肪�ȁv�̐ݒ�Ɉˑ����܂��B

WRITE_0239_02

�ʏ�́u�ӂ肪�ȁv�̕\���Ə����Ⴄ�̂́A ��ɃZ���̕����S�Ắu�ӂ肪�ȁv���\������邱�Ƃł��B

WRITE_0239_03

���̃Z�����́u�ӂ肪�ȁv�́A�u�ق񂶂v�Ɓu�Ђ���v�����ł��� �E�̊֐��Z���ł́A�u�ق񂶂‚͂��Ђ�����v�ƕ\������܂��B

IE �� Office2007 �`�����_�E�����[�h����� zip �ɂȂ�

Vista �‹��� IE 7 �� Office2007 �`���̃t�@�C�� (.docs, .xlsx, .pptx) �� �_�E�����[�h����� zip �t�@�C���Ƃ��ă_�E�����[�h����Ă��܂��A�Ƃ������ۂ��������܂����B

WRITE_0238_01

Web �T�[�o�� Office2007 �`���p�� MIME �^�C�v��ݒ肵�Ȃ��� IE ������ɒ��g�����Ĕ��f���Ă��܂��悤�ł��B

�lj����� MIME �^�C�v�͈ȉ��̂悤�ɂȂ�܂��B

Word .docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
Excel .xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
PowerPoint .pptx application/vnd.openxmlformats-officedocument.presentationml.presentation

�y�Q�l�T�C�g�z
Microsoft - �T�[�h �p�[�e�B�̃T�[�o�[��̃t�@�C���g���q��o�^���܂��B

�ݒ肷��� Office �̃h�L�������g�Ƃ��ĔF�������悤�ɂȂ�܂��B

WRITE_0238_02

Word �̕\�ɍs�ԍ���t����

Excel �ł́A�\�ɊȒP�ɍs�ԍ���t���邱�Ƃ��ł��܂��B

WRITE_0237_01

Word �ł� Excel �̂悤�ɊȒP�ɂ͂����܂��� �A�E�g���C����i���ԍ��̂悤�Ɏ����Ŕԍ���t����@�\������̂� ����𗘗p���ĕ\�ɍs�ԍ���t���Ă݂����Ǝv���܂��B

���̂悤�Ȍ��ʂɂȂ�܂��B

WRITE_0237_02

�܂��A���̂悤�ȃX�^�C�����쐬���܂��B

WRITE_0237_03

��͋�̗�ɃX�^�C����K�p���邾���ł��B

WRITE_0237_04

�ʔ����̂́A���}�������ꍇ�� �����Ŕԍ����t���܂��B

WRITE_0237_05

�Z�������������ꍇ�� �����Ŕԍ�������܂��B

WRITE_0237_06

�\�𑝂₷�ƑO�̔ԍ��� �����ɂȂ��Ă��܂����Ƃ�����܂��B

WRITE_0237_07

���������ꍇ�� �V�����ԍ����n�߂����Z����I������ �u�����v���j���[����u�ӏ������ƒi���ԍ��v��I�����܂��B

WRITE_0237_08

�����Łu���X�g�̔ԍ��v�́u�ԍ���U�蒼���v��I�����܂��B

���̂悤�ɂȂ�܂��B

WRITE_0237_09

������ƃN�Z�͂���܂����A�����΂ƂĂ��֗��ł��B
�T���v�����グ�Ă����܂��B

Google �T�C�g������

Amazon�A�\�V�G�C�g