![](https://habrastorage.org/getpro/habr/post_images/f6f/dbc/393/f6fdbc39371174179a1ad41bf6376f04.png)
Habréã®ããã°ã§ã¯ãæ ªåŒåžå Žã§ã®äœæ¥ã«äœ¿çšãããããŒããŠã§ã¢ãšãœãããŠã§ã¢ã«ã€ããŠå€ãã®ããšãæžããŠããŸãã å°ãåãŸã§ãé«é »åºŠååŒã®ããã®æè¡ã®ã¹ã¿ãã¯ãæ€èšããŠããŸããããä»æ¥ã¯ã¢ã¹ã¯ã¯ååŒæã§ãªãã·ã§ã³ãååŒããããã«äœ¿çšã§ããããŒã«ã«çŠç¹ãåœãŠãŸãã ãã®ããŒãã«é¢ããè³æã¯ã ITinvestã®å°é家ã§ããOleg Mubarakshinã«ãã£ãŠäœæãããŸããã
ã¯ããã«
ãã®èšäºã§ã¯ãã¢ã¹ã¯ã¯ååŒæã§ãªãã·ã§ã³ãååŒããããã«äœ¿çšãããã¯ãããžãŒã«ã€ããŠè©³ãã説æããŸãã ãã®èšäºã¯ãååŒãœãããŠã§ã¢ïŒååŒæãžã®ã¢ããªã±ãŒã·ã§ã³ã®éä¿¡ãªã©ïŒã«ã€ããŠã§ã¯ãªãããªãã·ã§ã³ãšããžã·ã§ã³ã®ãªã¢ã«ã¿ã€ã è©äŸ¡ã«äœ¿çšããæè¡ãœãªã¥ãŒã·ã§ã³ã«ã€ããŠã§ãã
çŸæç¹ã§ã¯ããªãã·ã§ã³ãã¬ãŒããŒã«ã¯ãªãã·ã§ã³ãšããŒããã©ãªãªãåæããããã®å€ãã®ããŒã«ãããããã®å€ãã¯ããã«ãã¬ãŒãã£ã³ã°ã¿ãŒããã«ã«çµã¿èŸŒãŸããŠããŸãã ãã ãã次ã®ãããªããŸããŸãªçç±ã§ããããã¯ç§ã®ã¿ã¹ã¯ã«é©ããŠããããä»æ¥ã«ãé©ããŠããªã ã³ã¹ããé«ãããïŒåªãããœãªã¥ãŒã·ã§ã³ã¯éåžžã«é«äŸ¡ã§ãïŒã ãã®ããã2幎åãå¿ èŠã«å¿ããŠãªãã·ã§ã³ãšããžã·ã§ã³ãåæã§ããç¬èªã®ãœãããŠã§ã¢ãäœæããããšã«ããŸããã
ãªãã·ã§ã³ã®ãœãããŠã§ã¢ã«ã¯ããã€ãã®å³ããèŠä»¶ããããŸãã
- ãªã¢ã«ã¿ã€ã ã®åžå ŽããŒã¿ã
- å®äŸ¡ãªãœãªã¥ãŒã·ã§ã³ã§ãããããç¡æã§ãã
- äŸ¡æ Œèšå®ã®é¢ã§æè»æ§ããããŸãïŒéåžžã«éèŠã§ãïŒãããããããç解ããŠãã人ã¯ã»ãšãã©ããŸããïŒã
- ã³ãŒããèšè¿°ããå ç¢ãªæ¹æ³ã䜿çšãããšããç¹ã§ã·ã³ãã«ã§ãïŒã»ãšãã©ãæ¢ã«åªç§ãªäººã ãšçµéšè±å¯ãªéçºè ã«ãã£ãŠäœæãããŠããããšãæãŸããïŒã
- å±éãšå ±æã®ç¹ã§äŸ¿å©ã§ãã
- ãŠãŒã¶ãŒãã¬ã³ããªãŒãªã€ã³ã¿ãŒãã§ãŒã¹ã
- ãã°ãšé倱ã¯ä¿è·ãããŠããŸãïŒäŸ¡æ Œèšå®ãšã©ãŒã¯èçŒã§ããã«èŠããã¯ãã§ãïŒã
éèŠã§ã¯ãªãã£ããã®ïŒ
- HFTïŒäœã¬ã€ãã³ã·ïŒã¯å¿ èŠãããŸããããªãœãŒã¹ãè²»ããæ欲ãæ©äŒããããŸããã
- æ å ±ã»ãã¥ãªãã£ããŠãŒã¶ãŒæš©å©ç®¡çãªã© ïŒã¯ã-è¯ããããã-倧äžå€«ïŒ;
- èäœæš©ä¿è·
ããã§ããã®2幎éã§ç§ãäœã«æ¥ããèŠãŠã¿ãŸãããã
ãœãããŠã§ã¢æ§é ãå³ã«æŠç¥çã«ç€ºããŸãã 1.ãã®ã³ã³ããŒãã³ãã®è©³çŽ°ã以äžã«èª¬æããŸãã
![](https://habrastorage.org/getpro/habr/post_images/465/478/b20/465478b205219309c1eca05ff9ca9206.png)
å³ 1.ãœãããŠã§ã¢ããã³ããŒããŠã§ã¢ã®äžè¬çãªçµç¹
ããŒããŠã§ã¢
Intel Core i7ããã»ããµã8 GBã®RAMãWindows 7ãæèŒããã©ããããããããŒããŠã§ã¢ãšããŠäœ¿çšããShiny Serverã«ã¯Linuxãå¿ èŠãªãããWMware PlayerïŒç¡æïŒã䜿çšããŠãUbuntu Server 14.04ã®å¶åŸ¡äžã§ä»®æ³ãã·ã³ãäœæããŸããã
åžå ŽããŒã¿
åžå ŽããŒã¿-å ç©ããã³ãªãã·ã§ã³ã®çŸåšã®çžå ŽïŒè²·ãã売ããæçµãåºæ¥é«ãªã©ïŒ-ODBCãšã¯ã¹ããŒãã䜿çšããŠãQUIKããPostgreSQLããŒã¿ããŒã¹ã«é ä¿¡ãããŸãã ãã®ããŒã¿ãã£ãŒãæ¹æ³ã¯ããŸãæ©èœããå®å®ããŠè¿ éã«æ©èœããŸãã
![](https://habrastorage.org/files/f5e/9e1/9b8/f5e9e19b8cfb4a83978d0463b0baf5b5.png)
å³ 2. QUIKããDBãžã®ODBCãšã¯ã¹ããŒã
ITinvestãããŒã«ãŒã®éçºã§ããSmartCOM APIã䜿çšããŠãçŸåšã®äœçœ®ïŒããŒããã©ãªãªïŒãããŒã¿ããŒã¹ã«ããŒããããŸãã
ããŒã¿ããŒã¹
PostgreSQLã¯Windows 7ã«ã€ã³ã¹ããŒã«ãããŸããQUIKããã®ããŒã¿ã¯ãããªã¬ãŒãšããŒã¿ããŒã¹é¢æ°ã䜿çšããŠåŠçãããç¹å¥ãªããŒãã«ã«ä¿åãããŸãã ããšãã°ãçŸåšã®åžå Žãªãã·ã§ã³ããŒã¿ãå«ãQUIKããŒãã«ããšã¯ã¹ããŒããããmw_optionsããŒãã«ã«ã¯ãããªã¬ãŒãå«ãŸããŸãã
CREATE TRIGGER trig_upsert_spec_options AFTER INSERT OR UPDATE OF sec_code, sec_name, lot, tick, fee ON mw_options FOR EACH ROW EXECUTE PROCEDURE func_upsert_spec_options();
åŒã³åºãé¢æ°ïŒ
CREATE OR REPLACE FUNCTION func_upsert_spec_options() RETURNS trigger AS $BODY$ BEGIN UPDATE spec_options SET sec_name=NEW.sec_name, lot=NEW.lot, tick=NEW.tick, fee=NEW.fee WHERE sec_code=NEW.sec_code; IF NOT found THEN INSERT INTO spec_options(sec_code, sec_name, und_code, expiry, strike, type, lot, tick, fee) VALUES (NEW.sec_code, NEW.sec_name, NEW.und_code, NEW.expiry, NEW.strike, NEW.type, NEW.lot, NEW.tick, NEW.fee); END IF; RETURN NEW; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION func_upsert_spec_options() OWNER TO postgres;
ãªãã·ã§ã³å¥çŽã®ä»æ§ãä¿åãããŠããspec_optionsããŒãã«ã®ããŒã¿ãè¿œå /æŽæ°ããŸãã
CREATE TABLE spec_options ( sec_code character varying(16) NOT NULL, sec_name character varying(32), und_code character varying(8), expiry date, strike double precision, type character varying(4), lot integer, tick double precision, fee double precision, CONSTRAINT spec_options_pkey PRIMARY KEY (sec_code) ) WITH ( OIDS=FALSE ); ALTER TABLE spec_options OWNER TO postgres;
å æ²¢ã®ãããµãŒããŒ
Shiny Serverã¯Windowsã«ã€ã³ã¹ããŒã«ã§ããªããããä»®æ³ãã·ã³ã¯UbuntuïŒtrustyïŒã§äœæãããŸããã
次ã«ãRã®ææ°ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸããUbuntuã«ã¯ãã§ã«Rãžã®ãªã³ã¯ããããŸãããååãšããŠå€ãã®ã§ããããè¡ãæ¹ãè¯ãã§ãã
$ sudo sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list' $ gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9 $ gpg -a --export E084DAB9 | sudo apt-key add - $ sudo apt-get update $ sudo apt-get -y install r-base
Rãå®è¡ããŠããŒãžã§ã³ã確èªã§ããŸãã
$ R
Rãçµäºããã«ã¯ãã³ãã³ããå ¥åããå¿ èŠããããŸãã
> q(save = "no")
次ã«ãå¿ èŠãªRããã±ãŒãžïŒshinyãdevtoolsãrmarkdownãshinyjsïŒãã€ã³ã¹ããŒã«ããŸãã
$ sudo su - -c "R -e \"install.packages('shiny', repos = 'http://cran.rstudio.com/')\"" $ sudo apt-get -y install libcurl4-gnutls-dev libxml2-dev libssl-dev $ sudo su - -c "R -e \"install.packages('devtools', repos='http://cran.rstudio.com/')\"" $ sudo su - -c "R -e \"install.packages('rmarkdown', repos='http://cran.rstudio.com/')\"" $ sudo su - -c "R -e \"devtools::install_github('daattali/shinyjs')\""
次ã«ãShiny Serverãã€ã³ã¹ããŒã«ããŸãã ããã«ææ°ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããæé ã¯ããã®èšäºãæžããŠããæç¹ã§ã¯1.4.1.759ã§ããã
$ sudo apt-get install gdebi-core $ wget https://download3.rstudio.org/ubuntu-12.04/x86_64/shiny-server-1.4.1.759-amd64.deb $ sudo gdebi shiny-server-1.4.1.759-amd64.deb
ãã¹ãŠãæ£åžžã«å®äºãããããªã³ã¯ãåŒã³åºããŸãïŒ
ip_shiny_server
ä»®æ³ãã·ã³ã®IPã¢ãã¬ã¹ïŒ
ip_shiny_server:3838
ã€ã®ã¢ã¯ãã£ããªãŠã£ãžã§ãããåããShinyãµãŒããŒã®ãŠã§ã«ã«ã ããŒãžã衚瀺ãããŸãã
![](https://habrastorage.org/files/e8e/4b8/ddc/e8e4b8ddc4ba4790b3542763d7e7a2da.png)
å³ 3. Shiny Server WelcomeããŒãž
ãŸããéåžžã«äŸ¿å©ãªRstudio Serveréçºç°å¢ãã€ã³ã¹ããŒã«ããããšããå§ãããŸãã ææ°ããŒãžã§ã³ã®ã€ã³ã¹ããŒã«æé ã¯ãã¡ãã§ãã ã€ã³ã¹ããŒã«ã³ãã³ãã®äŸïŒ
$ sudo apt-get install gdebi-core $ wget https://download2.rstudio.org/rstudio-server-0.99.491-amd64.deb $ sudo gdebi rstudio-server-0.99.491-amd64.deb
ãŸããShinyãµãŒããŒã®æ§æã«/etc/shiny-server/shiny-server.confãã¡ã€ã«ã®æ¬¡ã®å€æŽãå ããããšããå§ãããŸãã
server { listen 3838; location /users { run_as :HOME_USER:; user_dirs; } location /apps { run_as shiny; site_dir /srv/shiny-server; log_dir /var/log/shiny-server; directory_index on; } }
ããã«ãããRstudio Serverã§éçºãããå æ²¢ã®ããã¢ããªã±ãŒã·ã§ã³ã䟿å©ã«å®è¡ã§ããããã«ãªããŸãã
- Rstudioã§ã¯ãã«ãŒããã£ã¬ã¯ããªã«ShinyAppsãã©ã«ããŒãäœæãããŸãã
- 次ã®ãã¡ã€ã«/æ°ãããããžã§ã¯ã../æ°ãããã£ã¬ã¯ããª/ Shiny Web Application /;
- ãã£ã¬ã¯ããªåãå ¥åããŸãïŒäŸïŒtest001ïŒã
- ãããžã§ã¯ãã®ã«ãŒããã£ã¬ã¯ããªãšããŠShinyAppsãéžæããŸãã
äœæããã¢ããªã±ãŒã·ã§ã³ããã©ãŠã¶ãŒã§èµ·åããã«ã¯ãã¢ãã¬ã¹ãå ¥åããã ãã§ãïŒ
ip_shiny_server:3838/users/ubuntu_user_name/test001/
ããã§ã
ip_shiny_server
ã¯ä»®æ³ãã·ã³ã®IPã¢ãã¬ã¹ã
ubuntu_user_name
ã¯UbuntuãŠãŒã¶ãŒåã§ãã
PostgreSQLãšlibpq-devããã±ãŒãžãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
$ apt-get install postgresql-9.4 $ sudo apt-get install libpq-dev
ããšãã°ããã¡ã€ã«ãå ±æãããããã°ããã°ãã衚瀺ãããããããã«ãApachãå¿ èŠã«ãªãå ŽåããããŸãã
$ sudo apt-get install apache2
ããã§ãããšãã°ãtest001ã¢ããªã±ãŒã·ã§ã³ã®folder001ãã©ã«ããŒã«ã¢ã¯ã»ã¹ããã«ã¯ã次ã®ã³ãã³ããå®è¡ããå¿ èŠããããŸãã
$ sudo ln -s /home/ubuntu_user_name/ShinyApps/test001/folder001 /var/www/html/shared_folder
ãã®åŸããã©ã«ããŒã®å 容ã¯ip_shiny_server / shared_folder /ã§å©çšå¯èœã«ãªããŸãã
Webã€ã³ã¿ãŒãã§ãŒã¹
ç§ã®æèŠã§ã¯ãShinyãµãŒããŒã¢ããªã±ãŒã·ã§ã³ã®å€§ããªå©ç¹ã¯ãaïŒWebã€ã³ã¿ãŒãã§ã€ã¹ãåããŠããããšãbïŒã€ã³ã¿ãŒãããã«ã¢ã¯ã»ã¹ã§ããä»»æã®ããã€ã¹ïŒPCãã©ããããããã¿ãã¬ãããã¹ããŒããã©ã³ïŒã§å©çšã§ããããšã§ãã ããã¯åªããã¯ãã¹ãã©ãããã©ãŒã ãœãªã¥ãŒã·ã§ã³ã§ãïŒ
ShinyãµãŒããŒãå®è¡ããŠãããšããã©ãã£ãªãã£ãåæãããªãã·ã§ã³ããªã¹ãããã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ãããå Žæã§èªåã®äœçœ®ãç£èŠããæ©äŒããããŸãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/b10/bd3/33f/b10bd333f2b1aae7f76881972196c323.png)
å³ 4.ç¬é¡ã®å€åãåæããã³ã¢ããªã³ã°ããããã®å æ²¢ã®ããã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹
Rstudio Serverã¯Webã€ã³ã¿ãŒãã§ãŒã¹ãåããŠãããææ°ã®OSãšã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ãåããããããããã€ã¹ã§å©çšå¯èœã§ããããããããã€ã¹ã®ã©ãããã§ããã°ãéçºãä¿®æ£ã§ããŸãã
![](https://habrastorage.org/getpro/habr/post_images/f6f/dbc/393/f6fdbc39371174179a1ad41bf6376f04.png)
å³ 5. Rstudio Serveréçºç°å¢ã€ã³ã¿ãŒãã§ãŒã¹
ãã©ãã£ãªãã£ã¢ãã«
çŸåšãäŸ¡æ Œèšå®ãšããŒã±ããã¡ã€ãã³ã°ã«2ã€ã®ã¢ãã«ã䜿çšããŠããŸãã
- ãŽã¡ã³ãã»ãŽã©ã«ã¬
- ãªã¹ã¯äžç«ã¢ãŒã¡ã³ã
quant-lab.comã§ç§ã®ããã°ã®ä»¥åã®ãããã¯ãããããã«ã€ããŠã®è©³çŽ°ãåŠã¶ããšãã§ããŸãã äž¡æ¹ã®ã¢ãã«ã¯ãUSD / RUBã®ååŒãªãã·ã§ã³ã§èšŒæãããŠããŸãã
ãªãã·ã§ã³äŸ¡æ Œ
Shinyã¯ãã€ã³ã¿ã©ã¯ãã£ããªã°ã©ãã£ãã¯ãäœæããæ©èœãæäŸããŸãã ããŠã¹ãã°ã©ãã®äžã«çœ®ãããã°ã©ãäžã®é¢å¿é åãã¯ãªãã¯ããŠããã®ãã€ã³ãã®åº§æšãååŸã§ããŸãã ããšãã°ãç§ã®ãªãã·ã§ã³äŸ¡æ Œèšå®ã¢ããªã±ãŒã·ã§ã³ã¯ãåä¿¡ãã座æšãåŠçããaïŒæå®ãããã¹ãã©ã€ã¯ã®åžå Žæ å ±ïŒãã€ã³ããšãã©ãã£ãªãã£ãšãã®ããªã¥ãŒã ã«å ããŠãæé«ã®ããã/ã¢ã¹ã¯ïŒãbïŒãã©ãã£ãªãã£ãç¹å®ã®ãã©ãã£ãªãã£ãšã®ãªã·ã£äººã®ã³ãŒã«ãšããããªãã·ã§ã³ã®ç°ç«¯äŸ¡æ ŒãæäŸããŸãã
![](https://habrastorage.org/getpro/habr/post_images/d6f/186/51b/d6f18651b2b777b3786133fd3b158ae0.png)
å³ 6.ã€ã³ã¿ã©ã¯ãã£ããªãªãã·ã§ã³ã®èšç®æ©
ããŒããã©ãªãªèšç®
ç§ãæ¯æ¥äœ¿çšãããã1ã€ã®å æ²¢ã®ããã¢ããªã±ãŒã·ã§ã³ã¯qbookã§ãã ãªãã·ã§ã³ã®äœçœ®ãè©äŸ¡ããããšãã§ããéåžžã«æè»ãªèšå®ãå¯èœã§ãïŒã¢ãã«ãŸãã¯æåã§ãªãã·ã§ã³ã·ãªãŒãºã®ãã©ãã£ãªãã£ã®ç¬é¡ãèšå®ã§ããŸãïŒãŸãã¯äº€æãéžæããŸããããããè¡ãããšã¯ãå§ãããŸããïŒãæå¹æéãŸã§ã®æéã調æŽããããŸããŸãªã·ããªãªãã·ãã¥ã¬ãŒãã§ããŸã-ããã¯ãã¹ãŠè¡šç€ºãããŸã1ã€ã®ãã£ãŒããš1ã€ã®ãã¬ãŒãã§ç°¡åã«æ¯èŒã§ããŸãã ãã©ã¹æ¬ã®äŸ¿å©ãªãã¬ãŒã³ããŒã·ã§ã³-ããã¯è¡šç€ºãããŸãã©ã®ããã«å€ãã®ãªãã·ã§ã³ã販売/è³Œå ¥ãããŠãããããããã®åèšã®ãªã·ã£äººã
![](https://habrastorage.org/getpro/habr/post_images/5ee/1cf/685/5ee1cf68592ebc1c6cc9086e21392334.png)
å³ 7.ãã©ãã£ãªãã£ã·ããªãªãšåž³ç°¿æ床ææš
![](https://habrastorage.org/getpro/habr/post_images/129/5ba/5e9/1295ba5e9e833ebb5d0c341deb9ff340.png)
å³ 8. 2ã€ã®ã·ããªãªããã³è¿ãã·ãªãŒãºã®æå¹æéã«é¢ããPïŒLããã¯ãããã¡ã€ã«
å ±æãã
Shinyã¢ããªã±ãŒã·ã§ã³ã®ãã1ã€ã®äŸ¿å©ã§äŸ¿å©ãªæ©èœã¯ãç°¡åã«å ±æã§ããããšã§ãã å°ãªããšã2ã€ã®ãœãªã¥ãŒã·ã§ã³ããããŸããã¢ããªã±ãŒã·ã§ã³å šäœãå ±æããããçµæã®ã¿ãå ±æããŸãã ShinyãµãŒããŒã§ãã¹ããããŠããã¢ããªã±ãŒã·ã§ã³ãå ±æããã«ã¯ãããŒã3838ã転éãããŠãŒã¶ãŒã«ã«ãŒã¿ãŒã®IPã¢ãã¬ã¹ãžã®ãªã³ã¯ãäžããå¿ èŠããããŸãã ããã¯æé«ã®ã»ãã¥ãªãã£ãœãªã¥ãŒã·ã§ã³ã§ã¯ãããŸããã ç§ã®æèŠã§ã¯ãçµæã®ã¿ãå ±æããæ¹ãã¯ããã«è¯ãã§ããããšãã°ããããããµãŒãã¹ã䜿çšããŠæŽçããã®ã¯éåžžã«ç°¡åã§ãã Shinyã¢ããªã±ãŒã·ã§ã³ããçŽæ¥ãã°ã©ããã¯ã©ãŠããããããµãŒãã¹ã«æçš¿ã§ããŸãã
pp <- plotly_POST(p, filename=plotly.name, fileopt="overwrite")
ãŠãŒã¶ãŒã«ãã®ã°ã©ããžã®ãªã³ã¯ãæäŸããŸãã ããã«ãé°é¬±ãªã°ã©ãã£ãã¯ã¹ãWebãµã€ããŸãã¯ããã°ã«åã蟌ãããšãã§ããŸãã
![](https://habrastorage.org/files/422/48e/c47/42248ec47f3e4f6eb62e40d07ea6c3d0.png)
- çµè«ãšããŠãç§ã¯ããäžåºŠäž»ãªç¹ã«æ³šæãããïŒ
- äœæããããœãªã¥ãŒã·ã§ã³ã¯ç¡æã§ãïŒShiny ServerãRstudio ServerãVMware-ç¡æããŒãžã§ã³ããããŸãïŒ
- å æ²¢ã®ããã¢ããªã±ãŒã·ã§ã³ã¯ã¯ãã¹ãã©ãããã©ãŒã ã§ãããã€ã³ã¿ãŒããããããäžçã®ã©ãããã§ãææ°ã®ããã€ã¹ããã¢ã¯ã»ã¹ã§ããŸã
- 䜿çšãããæ°å€çææ³ãã¢ãã«ãã¢ã«ãŽãªãºã ã¯ãçµéšè±å¯ãªããã°ã©ããŒãæ°åŠè ã«ãã£ãŠäœæãããããã«äœ¿ããããã±ãŒãžããååŸãããå€æ°ã®çµéšè±å¯ãªãŠãŒã¶ãŒã«ãã£ãŠå ç¢ã§ãã¹ããããŠããŸãã
- ã¢ããªã±ãŒã·ã§ã³éçºã¯è€éã§é«éãªããã»ã¹ã§ã¯ãããŸãã
- ã°ã©ãã£ãã¯ããŒã¿ã®å¯Ÿè©±æ§ã«ããããªãã·ã§ã³ã®äŸ¡æ Œèšå®ãšäœçœ®åæãå€§å¹ ã«ç°¡çŽ åãããŸã
åçšãœãããŠã§ã¢ã®éçºã«é¢ãããã®ä»ã®è³æïŒ
- æ¹æ³ïŒPythonã®ãªããžã§ã¯ãæåããã¯ãã¹ãã·ã¹ãã
- ååŒããããã®äœæïŒ11ã®éçºããŒã«
- ããŠããŒïŒæ ªåŒåžå Žã§åãããã®ååŒã·ã¹ãã ã®éçºã«é¢ããã¹ããããã€ã¹ãããã¬ã€ã
- æ¹æ³ïŒããã°ã©ãã³ã°èšèªãéžæããŠååŒãããããäœæããæ¹æ³
- ããã¯ãã¥ã¶ãã¥ãŒãã£ãŒïŒå±¥æŽããŒã¿ã䜿çšããååŒããããã®ããã©ãŒãã³ã¹ã®æ€èšŒ
- æ¹æ³ïŒæåã®ååŒãããããéçºããéã®èæ ®äºé
- æ¹æ³ïŒååŒããããã®æŠç¥ãéçºããéã®èæ ®äºé
- ã¢ã«ãŽãªãºã ååŒã«é¢ããæžç±ãšæè²ãªãœãŒã¹
- ã¢ã«ãŽãªãºã ããã³èªåååŒïŒ13ã®é¢é£æžç±