çæAIãæŽ»çšããŠæè»œã«ã¢ããªãéçºã§ããããã«ãªããŸããããããããã£ããäœã£ãã¢ããªããèªåã®ããœã³ã³ã§ããåããªãã®ãªã䜿ãã©ãããéãããŠããŸããŸããããã§PHPã§ã¢ããªãäœã£ãŠãæ Œå®ã¬ã³ã¿ã«ãµãŒããŒã§å ¬éããŠã¿ãŸããããä»åã¯ãGemini CLIã䜿ã£ãŠãã¡ã¢åž³ã¢ããªãäœã£ãŠWebã§å ¬éããŠã¿ãŸãããã
PHPãªãã¢ããªã®ãªãªãŒã¹ããšãŠãç°¡åãªä»¶
çæAIã«éçºèšèªãæå®ããããã°ã©ã ãäœã£ãŠè²°ããšã倧æµPythonãå©çšããããã°ã©ã ãäœæããŠãããŸããããã¯ãä»ãããã°ã©ãã³ã°èšèªã®äžã§Pythonãæã人æ°ããããçæAIãããããã®Pythonããã°ã©ã ãåŠç¿ããŠããããã§ããããããPythonã§äœã£ãããã°ã©ã ãWebãµãŒããŒã§åããããã«ã¯ãæå€ã«å€ãã®èšå®ãå¿ èŠãšãªãããšãå€ããã®ã§ãã
ãã®ç¹ãPHPã®ããã°ã©ã ã¯ãèšå®äžèŠã§ãã¡ã€ã«ãWebãµãŒããŒã«ã¢ããããŒãããã ãã§åããããšããã¡ãªããããããŸãããããã300å以äžã®æ Œå®ã¬ã³ã¿ã«ãµãŒããŒã§ãããããå¿«é©ã«åäœãããããšãã§ããŸããããã°ã©ã å ¬éïŒãããã€ïŒã®ããŒãã«ãã°ããšäžããã®ãã¡ãªããã§ãã
ãããŠãéèŠãªç¹ãšããŠãçæAIã¯PHPã®ããã°ã©ã éçºã«ã察å¿ããŠããŸããããã³ããã§ãPHPã䜿ãããã«ããšæå®ããããšã§ãPHPã䜿ã£ãWebã¢ããªãéçºããŠãããŸãã
PHPã®éçºç°å¢ãæŽããã
æåã«ãPHPã®éçºç°å¢ãæŽããŸããããã»ãšãã©ã®æ Œå®ã¬ã³ã¿ã«ãµãŒããŒã¯ãLinuxããŒã¹ã®OSãå©çšããŠããŸãã
ãã®ãããWindowsã䜿ã£ãŠããå Žåã¯ãWSL(Windows Subsystem for Linux)ãå©çšããã®ããªã¹ã¹ã¡ã§ããmacOSã¯Linuxã§ã¯ãããŸããããBSDç³»UNIXãããŒã¹ã«éçºãããŠããã®ã§LinuxãšäŒŒããããªæãã§æäœã§ããŸãããŸããChromebookãæè»œã«Linuxç°å¢ãæå¹ã«ã§ããŸãã
Windowsã«PHPãã€ã³ã¹ããŒã«ããã
ããã§ã¯ãWindowsã«Linuxç°å¢ãã»ããã¢ããããŸãããããŸãã¯ããã¡ããªã©ãåèã«ããŠWSLãã»ããã¢ããããŸãããããããããªLinuxã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ãéžã¹ãŸãããä»åã¯ããã©ã«ãã®ãUbuntuããéžã³ãŸãããã
ç¶ããŠãPHPãã»ããã¢ããããŸããããWindowsã¡ãã¥ãŒãããUbuntuããéžãã§éããŸãããããããŠãã¿ãŒããã«ã衚瀺ãããããäžèšã®ã³ãã³ããå®è¡ããŠPHPãã€ã³ã¹ããŒã«ããŸãããã
# PHPãšãã䜿ãã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«
sudo apt update
sudo apt install -y php php-common php-mbstring php-sqlite3 php-zip
ã³ãã³ããæ£ããã確èªããŠããã£ãäžã§æ³šèšã§ç°å¢ã«ãããšã©ãŒãåºãå Žåã¯ããšã©ãŒã³ãã³ãããã®ãŸãŸGeminiãªã©ã®AIã§èããŠã¿ããšããã§ãããã
Chromebookã«PHPãã€ã³ã¹ããŒã«ããå Žå
Chromebookã䜿ãå Žåãèšå®ã¢ããªããLinuxç°å¢ãæå¹ã«ããŸããããChromebookã®Linuxã«ã¯ãDebianããŒã¹ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ãæ¡çšãããŠããŸããDebianã§ã¯ãUbuntuãšåããaptã³ãã³ãã§ã¢ããªãã€ã³ã¹ããŒã«ã§ãããããäžèšã®WSLã®Ubuntuãšåãã³ãã³ããå®è¡ããŠPHPãã»ããã¢ããã§ããŸãã
macOSã®å Žå
macOSã®å Žåã¯ãã¿ãŒããã«.appãéããŠãHomebrewãã€ã³ã¹ããŒã«ããåŸã§ãäžèšã®ã³ãã³ããå®è¡ããŸããããmacOSã®PHPã¯ãæåãããã䜿ãã¢ãžã¥ãŒã«äžåŒãå ¥ã£ãŠããã®ã§äŸ¿å©ã§ãã
# PHPãã€ã³ã¹ããŒã«
brew install php
ãªããã¿ãŒããã«ã§ã以äžã®ã³ãã³ããå®è¡ãããšãPHPã§å©çšå¯èœãªã¢ãžã¥ãŒã«ã確èªã§ããŸãã
php -m
ãã€ãã³ãŒãã£ã³ã°ã®ããã«ãGemini CLIãã䜿ãã
PHPã®éçºç°å¢ãæŽã£ãããæ¬¡ã«ãã€ãã³ãŒãã£ã³ã°ã®ããã®ããŒã«ãçšæããŸããããä»åã¯ãååã«åŒãç¶ããGemini CLIã䜿ã£ãŠã¿ãŸããããGemini CLIã®ã€ã³ã¹ããŒã«ã¯ãæ¬é£èŒã®2åç®(ãã¡ã)ãåèã«ããŠãã ãããWSLãããå©çšã§ããŸãã
ãªããååã€ã³ã¹ããŒã«ããŠããæéãçµéããŠããå Žåã«ã¯ãäžèšã®ã³ãã³ããå®è¡ããŠGemini CLIãææ°çã«ã¢ããããŒãããŠãããŸãããã
npm install -g @google/gemini-cli@latest
ãããžã§ã¯ããäœæããã
æåã«æ°èŠãããžã§ã¯ããäœæããããã«ããmy-notepadããšãããã©ã«ããäœããããã§ããã°ã©ã ãäœããŸããããã¿ãŒããã«ãéããŠãäžèšã®ã³ãã³ããå®è¡ããŸãããã
# ãã©ã«ããäœæ
mkdir my-notepad
cd my-notepad
仿§æžãGEMINI.mdããæžãã
ç¶ããŠãGemini CLIã«ã仿§æžãäžããŸãããã以äžã®ã³ãã³ããå®è¡ããŠãGEMINI.mdããšãããã¡ã€ã«ãäœæããŸãã
# 仿§æžãäœæãã
touch GEMINI.md
ãªããGEMINI.mdãã«ã¯ãã©ããªã«ãŒã«ã§ããã°ã©ã ãéçºããã®ããèšè¿°ããŸããWindowsã§WSLã䜿ã£ãŠãã人ã¯ãã¿ãŒããã«ã§ãexplorer.exe .ããšå®è¡ãããšãWindowsã®ãšã¯ã¹ãããŒã©ãŒã§ãããžã§ã¯ãã®ãã©ã«ããéãããšãã§ããŸãããšã¯ã¹ãããŒã©ãŒãéããããããã¹ããšãã£ã¿ã§ç·šéããŸãããã
ããã§ã¯ããGEMINI.mdããæ¬¡ã®ãããªå 容ã«ããŠã¿ãŸããã奜ã¿ã«å¿ããŠæžãæããŠãã ããã
# PHPã§Webã¡ã¢åž³ãäœæããããã®ã³ãŒãã£ã³ã°èŠçŽ
## ãããžã§ã¯ãæŠèŠ
ã·ã³ãã«ã§å®å
šãªWebã¡ã¢åž³ãPHPã§äœæããŸãã
æ Œå®ã¬ã³ã¿ã«ãµãŒããŒã§åäœããããšãåæãšããŸãã
## æè¡ä»æ§
- **èšèª**: PHP 7.4以äž
- **ããã³ããšã³ã**: HTML/CSS
- **ããŒã¿ããŒã¹**: SQLiteïŒãã¡ã€ã«ããŒã¹ïŒ
- **èªèšŒ**: ã·ã³ãã«ãªãã¹ã¯ãŒãèªèšŒ
- ãŠãŒã¶ãŒå: (ããã«ãŠãŒã¶ãŒåãæå®)
- ãã¹ã¯ãŒã: (ããã«ãã¹ã¯ãŒããæå®)
## ãã¡ã€ã«æ§æ
次ã®ãããªãã¡ã€ã«ãäœæããŸãã
<project>
âââ index.php # ã¡ã€ã³ããŒãžïŒã¡ã¢äžèЧã»äœæã»ç·šéïŒ
âââ config.php # èšå®ãã¡ã€ã«
âââ database.php # ããŒã¿ããŒã¹æäœ
âââ style.css # ã¹ã¿ã€ã«ã·ãŒã
âââ data/
â âââ .htaccess # Apacheèšå®ãã¡ã€ã«(ã¢ã¯ã»ã¹å¶éçš)
â âââ schema.sql # ããŒã¿ããŒã¹ã®ã¹ããŒãå®çŸ©ãã¡ã€ã«
â âââ notes.db # SQLiteããŒã¿ããŒã¹ãã¡ã€ã«
âââ image/
â âââ 0001.jpg # æ·»ä»ç»å0001.jpg
â âââ 0002.jpg # æ·»ä»ç»å0002.jpg
âââ .htaccess # Apacheèšå®ãã¡ã€ã«
## ã³ãŒãã£ã³ã°èŠçŽ
### PHPå
šè¬
- **æåãšã³ã³ãŒãã£ã³ã°**: UTF-8
- **æ¹è¡ã³ãŒã**: LFïŒUnix圢åŒïŒ
- **ã€ã³ãã³ã**: ã¹ããŒã¹4æå
- **PHPã¿ã°**: å®å
šåœ¢åŒïŒ`<?php`ïŒã䜿çšãç瞮圢ïŒ`<?`ïŒã¯çŠæ¢
- **倿°å**: ã¹ããŒã¯ã±ãŒã¹ïŒäŸ: `$user_name`ïŒ
- **颿°å**: ã¹ããŒã¯ã±ãŒã¹ïŒäŸ: `get_user_notes()`ïŒ
- **宿°å**: ã¢ãããŒã¹ããŒã¯ã±ãŒã¹ïŒäŸ: `DB_PATH`ïŒ
### ã»ãã¥ãªãã£å¯Ÿç
- **SQLã€ã³ãžã§ã¯ã·ã§ã³å¯Ÿç**: PDOã®ããªãã¢ãã¹ããŒãã¡ã³ãå¿
é
- **XSS察ç**: åºåæã«`htmlspecialchars()`ãå¿
é ã§äœ¿çš
- **CSRF察ç**: ãã©ãŒã ã«CSRFããŒã¯ã³ãå®è£
- **ãã¡ã€ã«ã¢ã¯ã»ã¹å¶é**: `.htaccess`ã§`data/`ãã£ã¬ã¯ããªãžã®çŽæ¥ã¢ã¯ã»ã¹ãçŠæ¢
### ããŒã¿ããŒã¹èšèš
次ã®ãããªããŒãã«ãäœæããŠãã ããã
- notes ããŒãã«
- ã«ã©ã : id, title, content, created_at, updated_at
- images ããŒãã«
- ã«ã©ã : id, filename, uploaded_at
## æ©èœèŠä»¶
1. **ã¡ã¢äœæ**: ã¿ã€ãã«ã𿬿ãå
¥åããŠã¡ã¢ãäœæ
2. **ã¡ã¢äžèЧ**: äœæããã¡ã¢ã®äžèŠ§è¡šç€º
3. **ã¡ã¢ç·šé**: æ¢åã¡ã¢ã®ç·šéæ©èœ
4. **ã¡ã¢åé€**: ã¡ã¢ã®å逿©èœïŒç¢ºèªãã€ã¢ãã°ä»ãïŒ
5. **æ€çŽ¢æ©èœ**: ã¿ã€ãã«ã𿬿ã§ã®æ€çŽ¢
6. **äžŠã³æ¿ã**: äœææ¥æãæŽæ°æ¥æã§ã®äžŠã³æ¿ã
7. **ç»åæ·»ä»**: ã¡ã¢ã«ç»åãæ·»ä»ã§ããæ©èœãç»åäžèЧããŒãžã§æ·»ä»ç»åã衚瀺
## éæ©èœèŠä»¶
- **ã»ãã¥ãªãã£**: åºæ¬çãªWebã»ãã¥ãªãã£å¯Ÿçãå®è£
- **ããã©ãŒãã³ã¹**: æ Œå®ãµãŒããŒã§ãå¿«é©ã«åäœ
- **ä¿å®æ§**: ã·ã³ãã«ã§çè§£ããããã³ãŒã
- **ç§»æ€æ§**: äžè¬çãªPHPç°å¢ã§åäœ
## å¶çŽäºé
- è€æ°ãŠãŒã¶ãŒå¯Ÿå¿ã¯äžèŠïŒåäžãŠãŒã¶ãŒæ³å®ïŒ
- é«åºŠãªUIã©ã€ãã©ãªã¯äœ¿çšããªã
- å€éšAPIãšã®é£æºã¯äžèŠ
- ãã¡ã€ã«ã¢ããããŒãæ©èœã¯äžèŠ
## éçºæ¹é
1. **æå°éã®æ©èœããéå§**: ãŸãã¯åºæ¬çãªCRUDæ©èœãå®è£
2. **ã»ãã¥ãªãã£åªå
**: åºæ¬çãªã»ãã¥ãªãã£å¯Ÿçãå¿
ãå®è£
3. **ã·ã³ãã«èšèš**: è€éãªèšèšãã¿ãŒã³ã¯é¿ãã
4. **ãã¹ãå¯èœ**: æåãã¹ãã容æãªæ§é ã«ãã
## ã¡ã¢åž³ã®æ¬æ
- ã¡ã¢ã®æ¬æã¯Markdown圢åŒã§ä¿åãããã®ãšãããã#ããšãªã³ã¯ãšç»åã®ã¿ç°¡åãªæ£èŠè¡šçŸçœ®æã§HTMLã«å€æããŠè¡šç€ºãã
## ç»åãã¡ã€ã«ã®æ·»ä»ã«ã€ããŠ
- ç»åãã¡ã€ã«ã¯`image/`ãã£ã¬ã¯ããªã«ä¿å
- ç»åãã¡ã€ã«åã¯é£çªïŒäŸ: `0001.jpg`, `0002.jpg`ïŒã§ç®¡ç
- ç°¡åãªç»åã®ã¢ããããŒãæ©èœãå®è£
- ã¡ã¢æ¬æã«ç»åãæ·»ä»ã§ããããã«ãã(äŸ: ``)
- æžåŒãããããã°ãããã<img>ã¿ã°ã«å€æããŠè¡šç€ºãã
ãããªãã«æ¬æ Œçãªä»æ§æžãšãªã£ãŠããŸãããã€ãã³ãŒãã£ã³ã°ã¯ãã£ãšæ°è»œãªãã®ãšæã£ãŠããŸãããããããªãããããªã«é·ã仿§æžãæžãå¿ èŠãããã®ã§ããããã
å®ã¯ããã®ä»æ§æžãçæAIã«äœæããŠããã£ããã®ã§ããå ã ã¯ãäžèšã®ãããªç°¡åãªããã³ããïŒæç€ºïŒã§äœæãããã®ã§ããããã«å°ãæãå ããŠãäžèšã®ãããªä»æ§æžã«ããŸããã
PHPã§ãmy-notepadããšããã¡ã¢åž³ã¢ããªãäœãããšããŠããŸãã
Gemini CLIã䜿ã£ãŠããã€ãã³ãŒãã£ã³ã°ã§éçºããŸãã
ãã®ããã®ä»æ§æžïŒã³ãŒãã£ã³ã°èŠçŽãªã©ïŒãããŒã¯ããŠã³åœ¢åŒã§äœã£ãŠãã ããã
ã§ããã ãã·ã³ãã«ã«ããŠãindex.phpãéããŠã¢ã¯ã»ã¹ããä»çµã¿ã«ããŠãã ããã
ããŒã¿ããŒã¹ã«ã¯ãSQLiteã䜿ã£ãŠãã ãããç»åãã¢ããããŒããããã§ãã
ã¢ããªãçæããã
ããã§ã¯ãGemini CLIã䜿ã£ãŠãå®éã«ããã°ã©ã ãçæããŸããããäžèšã®ã³ãã³ããå®è¡ããŠãGemini CLIãèµ·åããŸãããã
gemini
ãããŠãGemini CLIãèµ·åãããæ¬¡ã®ããã«å ¥åããŸãããã
GEMINI.mdã«åŸã£ãŠãPHPã§ã·ã³ãã«ã§å®å
šãªWebã¢ããªãã¡ã¢åž³ããäœæããŠãã ããã
ãããšãGemini CLIãã¢ããªãäœãå§ããŸããéäžããã©ã«ãã®äœæããã¡ã€ã«ã®äœæãªã©ãäœåºŠãæš©éãæ±ããããŸãã®ã§ãåŠçãèš±å¯ããŸããããæ°åã§äžéãã¢ããªã宿ããŸãã
PHPã¢ããªããã¹ãããã
ããããªãããçè ãå®éã«å®è¡ããŠã¿ããšãããPHPã¿ã°ã®éãå¿ããªã©ããšã©ãŒãåºãŠæ£ããåããŸããã§ãããããã§ãGemini CLIã«PHPã¢ããªããã¹ãããããã«äŸé ŒããŠãåé¡ãä¿®æ£ããŠããããŸããããGemini CLIã§æ¬¡ã®ããã«å ¥åããŸãã
PHPã®ææ³ãã§ãã«ãŒ(`php -l`)ã確èªããŠã¢ããªã«åé¡ãããã確èªããŠã
åé¡ãããã°ä¿®æ£ããŠãã ããã
ç¶ããŠãPHPã®çµã¿èŸŒã¿WebãµãŒããŒãèµ·åããŠãã¢ããªãæ£ããåäœããã確èªããããã«äŸé ŒããŸããGemini CLI以å€ã«ã¿ãŒããã«ãéããŠãäžèšã®ã³ãã³ããå®è¡ããŸãããã
php -S localhost:8000
ãããŠããã©ãŠã¶ã§ãhttp://localhost:8000ãã«ã¢ã¯ã»ã¹ããŸãããããšã次ã®ãããªå 容ã®ã¢ããªã衚瀺ãããã§ããããããããPHPã®ãšã©ãŒã衚瀺ããããããã©ãŠã¶ã«äœã衚瀺ãããªãå ŽåãããŒã8000ãå æãããŠããå¯èœæ§ããããŸããããŒãçªå·ã8888ãªã©ç°ãªããã®ã«ããŠè©Šããšè¯ãã§ãããããã®éãã¿ãŒããã«ã§å®è¡ããã³ãã³ãããphp -S localhost:8888ããšããŠããã©ãŠã¶ã§ã¢ã¯ã»ã¹ããURLããhttp://localhost:8888ãã«ããŸãã
ã¢ããªã詊ããŠã¿ããšãããã€ãåé¡ç¹ãããã®ã§ããã®æšãGemini CLIã§ææããŸããããããããšã§ãã¢ããªã宿ãããããšãã§ããŸãã
çè ãæ³å®ããéããã¡ã¢ã®äœææ©èœãç·šéæ©èœãå逿©èœãæ€çŽ¢æ©èœãäžŠã³æ¿ãæ©èœãç»åæ·»ä»æ©èœãªã©ãå®è£ ãããŠããŸããããªããæ®å¿µãªããããŸãããã°ã©ã ã宿ã§ããªãã£ãå Žåã¯ãçè ã®æå ã§äœæã§ããã¢ããªïŒãã¡ãïŒã詊ããŠã¿ãŠãã ããã
æ Œå®ã¬ã³ã¿ã«ãµãŒããŒã«ã¢ããããŒãããã
ã¢ããªã宿ããããæ Œå®ã¬ã³ã¿ã«ãµãŒããŒã«ã¢ããããŒãããŠã¿ãŸããããèªåçšã®ã¡ã¢åž³ããŒã«ã§ããã°ãæ Œå®ã¬ã³ã¿ã«ãµãŒããŒã§ãååã§ãã
å§åйé£èŒã®ãã¡ãã«æ Œå®ã¬ã³ã¿ã«ãµãŒããŒã®äžèЧããããŸãã2018å¹Žã®æ å ±ã§ããä»ã§ã100åããæ°çŸåã§äœ¿ããã¬ã³ã¿ã«ãµãŒããŒããããããããŸãã
ã¬ã³ã¿ã«ãµãŒããŒãå¥çŽãããFTPã¯ã©ã€ã¢ã³ããœããã䜿ã£ãŠã¢ããããŒãããŸããããããããæ Œå®ã¬ã³ã¿ã«ãµãŒããŒã®äžã«ã¯ããã©ãŠã¶ããŒã¹ã®ã¢ããããŒããŒãæäŸããŠãããã®ããããŸãã
å ¬éåã«ã»ãã¥ãªãã£å¯Ÿçãããã
ãªããAIãäœæããã¢ããªã«ã»ãã¥ãªãã£ã®è匱æ§ãå ¥ã蟌ãã§ããŸãå ŽåããããŸããWebã«å ¬éãããšããã®ã¯ãã»ãã¥ãªãã£ã®ãªã¹ã¯ããããŸãã
ãã®ç¹ã§ãAIãäœã£ããã倧äžå€«ã ããããšèããªãããã«ããŸããããä»åã仿§æžã®äžã§ããã¹ã¯ãŒãèªèšŒã®æ©èœãäœãããã«ããšæç€ºããŠãããã®ã®ããããå®å šãã©ãããä¿èšŒã§ããŸããã
ãã®ãããã¬ã³ã¿ã«ãµãŒããŒã®æ©èœãªã©ãå©çšããŠãBASICèªèšŒ(ãã¹ã¯ãŒã)ããèšå®ããŠãã¢ããªã䜿ãéã«IDãšãã¹ã¯ãŒããæ±ããããã«ããŠãããšè¯ãã§ããããä»åãçè ã¯ããªããããå©çšããŸããããã³ã³ãããŒã«ããã«ããããã»ãã¥ãªãã£ïŒã¢ã¯ã»ã¹å¶éãã§èšå®ã§ããŸããã
ã»ãã¥ãªãã£å¯Ÿçã¯é¢åã§ãããäœã£ãã¢ããªãå®å šã«å©çšããããã«ã¯å¿ èŠã«ãªããŸãã®ã§å¿ããã«è¡ããŸãããã
ãŸãšã
以äžãä»åã¯çæAIã§PHPã®Webã¢ããªãäœæããŠãæ Œå®ã¬ã³ã¿ã«ãµãŒããŒã«ã¢ããããŒãããŠæŽ»çšããæ¹æ³ã玹ä»ããŸãããPHPã¯ãæ Œå®ã¬ã³ã¿ã«ãµãŒããŒã§ç°¡åã«åäœãããããšãã§ããã®ã§ãçæAIã§äœæããã¢ããªãæè»œã«æŽ»çšã§ããŸãã詊ããŠã¿ãŠãã ããã
èªç±åããã°ã©ããŒããããã¯ãã©ã«ãŠãããã°ã©ãã³ã°ã®æ¥œãããäŒããæŽ»åãããŠããã代衚äœã«ãæ¥æ¬èªããã°ã©ãã³ã°èšèªããªã§ããã ãããã¹ã鳿¥œããµã¯ã©ããªã©ã2001幎ãªã³ã©ã€ã³ãœãã倧è³å ¥è³ã2004幎床æªèžãŠãŒã¹ ã¹ãŒããŒã¯ãªãšãŒã¿èªå®ã2010幎 OSSè²¢ç®è ç« åè³ããããŸã§50å以äžã®æè¡æžãå·çãããçŽè¿ã§ã¯ããå€§èŠæš¡èšèªã¢ãã«ã䜿ãããªãããã®ããã³ãããšã³ãžãã¢ãªã³ã°ã®æç§æž(ãã€ããåºç)ããPythonã§ã€ãããã¹ã¯ãããã¢ããª(ãœã·ã )ããå®è·µåã身ã«ã€ãã Pythonã®æç§æž 第2çããã·ãŽããã¯ãã©ã PythonèªååŠçã®æç§æž(ãã€ããåºç)ããªã©ã





