Pythonã«éãããå€ãã®ããã°ã©ãã³ã°èšèªã«ã¯ã颿°(Function)ããšããæŠå¿µããããŸãã颿°ã¯ç¹å®ã®æ©èœããåŒã³åºããããã«äœ¿ãããŸããããšãã°ä»ãŸã§ã®åã§å©çšããŠããprint()ã颿°ã®ã²ãšã€ã§ã()ã®äžã«å ¥ãã倿°ã宿°ãåºåãããšããåŠçãåŒã³åºããŸããä»åã¯ãã®é¢æ°ãšãã³ãŒããæŽçããããã®ãã¢ãžã¥ãŒã«ãã«ã€ããŠæ±ããŸãã
颿°ã§ããå®çŸã§ããªãããš
ããã°ã©ã ã¯å¿ ããããŒããŒãå ¥åããã¡ã€ã«ã®èªã¿èŸŒã¿ãšãã£ããå€ããã®æ å ±ã®å ¥åããšããã£ã¹ãã¬ã€ãã¹ããŒã«ãŒåºåãšãã£ããå€ãžã®æ å ±ã®åºåããå¿ èŠãšããŠããŸããå ¥åºåã®ãªãããã°ã©ã ãäœããŸãããåãããŠããããã°ã©ã ã®å€ã®äžçãã«äœã圱é¿ããªãã®ã§ãCPUãšã¡ã¢ãªãç¡é§ã«æ¶è²»ãããšããç®ç以å€ã«ã¯äœ¿ããŸããã
倿°ãæ¡ä»¶åå²ãšãã£ãå¶åŸ¡ã¯ãããŸã§ãããŒã¿ãåŠçããããã®ææ®µã§ãããªããããã°ã©ã ã®å€ãšãããšãããããã«ã¯é¢æ°ãå¿ é ã§ããå ã«èª¬æããç»é¢ãžã®æååºåãè¡ãprint颿°ããã®äžäŸã§ãã
ããã°ã©ã ãèªã¿ããããªã
ã颿°ã䜿ããªããŠãæžããã³ãŒããããããŸã颿°ã䜿ãããšã§ããè¯ãã³ãŒãã«ãªããŸãã颿°ã䜿ããšããã°ã©ã ãèªã¿ããããªããšããã¡ãªããããããŸãã
äŸããããŠèª¬æããŠã¿ãŸãã絶察å€ãåŸãããšæã£ãå Žåã以äžã®ããã«ifæã§æ¡ä»¶åå²ãããããšã§å®çŸãå¯èœã§ãã
x = -5
if(x<0):
x = x * -1
print(x)
2ã3è¡ç®ãèŠãŠããããšããããŸããããããxã0ããå°ãããã°ãxã«-1ããããããšããåŠçãããŠããã絶察å€ãåŸãŠãããšããããšãèªã¿åããŸãããåãåŠçãã絶察å€ãåŸã颿°abs()ã䜿ã£ãŠæžããšã以äžã®ããã«ãªããŸãã
x = abs(-5)
print(x)
åè ãšåŸè ã¯åãããšãå®çŸããŠããŸãããã©ã¡ãã®ã»ãããããããããšæããŸãããå§åçã«åŸè ã§ãããã
颿°ããçªãè©°ãããšäžã¯åŠçã®å¡ã§ãããã ã颿°ã®ååã¯ãã®ãåŠçã®èŠçŽããªã®ã§ãã©ãããå®è£ ã§åŠçãå®çŸãããŠããã®ãã¯é¢æ°ã®å©çšè ã«é èœãããŠãããããšãã°abs()ã§ã¯ããã©ããã£ãŠçµ¶å¯Ÿå€ãæ±ãããããçè§£ããŠããªããŠãã絶察å€ããããšåŸãããšãã§ããŸãã人éã®æèèœåã«ã¯éçãããã®ã§ããŽãã£ãŽãã£ãšããå®è£ ãèŠããããããã¯ã颿°åãšããèŠçŽãèŠããããã»ãããäœããã£ãŠããã倿ãããããªããŸãã
åãã³ãŒããäœåºŠãæžããªããŠãã
ããã°ã©ã ãæžããŠãããšãåãåŠçãäœåºŠã䜿ããšããå Žé¢ãå€ã ãããŸããããšãã°ã2ã€ã®æ°åã®çµ¶å¯Ÿå€ãæ¯èŒããããšããããã°ã©ã ãäœãå Žåã颿°ã䜿ããªããšä»¥äžã®ããã«çµ¶å¯Ÿå€ãåŸãã³ãŒãã2ååºçŸããåé·ãªãã®ãšãªããŸãã
x = 5
y = -10
if(x<0):
x = x * -1
if(y<0):
y = y * -1
print('abs x > abs y ?')
print(x > y)
xãšyã®çµ¶å¯Ÿå€ãåŸãåŠçã¯ã»ãšãã©åããªã®ã«ããããããã2åæžããŠããŸããã2åçšåºŠãªãæžããŠããããããªæ°ãããŸãããããã5åã10åãšãªãã°ã©ãã©ãé¢åã«ãªã£ãŠãããŸãã
å ã®ã³ãŒããã颿°ã䜿ã£ãŠæžãçŽããšä»¥äžã®ããã«ãªããŸãã
x = 5
y = -10
x = abs(x)
y = abs(y)
print('abs x > abs y ?')
print(x > y)
åé·ãªèŠçŽ ãçãããŠããã¶ããšèªã¿ããããªã£ãã®ã§ã¯ãªãã§ãããããä»åã¯absã®ãããªç°¡åãªé¢æ°ã§ãããããããããšãã°100è¡ä»¥äžå¿ èŠãªã¢ã«ãŽãªãºã ã ã£ããã颿°ã§åé·æ§ãæžããããšã«ããå€å€§ãªæ©æµãåŸãããŸãã
ãŸããåãã³ãŒããäœåºŠãæžããŠããŠããã®ãªãã«ããã°ããããããšãããã£ãå Žåããã¹ãŠã®å Žæã«ä¿®æ£ãæœãå¿ èŠããããŸããäžæ¹ã颿°ã§åãåŠçããŸãšããŠãããšãçæ³çã«ã¯äžç®æã®ã¿ã®ä¿®æ£ãšãªããŸããããã¯ããã°ã©ã ã®ãä¿å®æ§(ã¡ã³ããã³ã¹æ§)ããåäžããããšããã¡ãªããããããŸãã
颿°ã®å®£èšãšäœ¿ãæ¹
颿°ã®ã¡ãªãããããã£ããšããã§ã颿°ãã©ã®ããã«äœã£ãŠå©çšããããå ·äœçã«èª¬æããŠãããŸãã以äžã®å³ãèŠãŠãã ããã
ããã颿°ã®åºæ¬çãªæŠå¿µã§ãã颿°ã¯å ¥åãåãåãããããå å·¥ããŠåºåãããåºæ¬çã«ã¯ããã ãã§ããå ¥åãšåºåã¯ãããããªããŠãããŸãããå ¥åããªãå Žåã¯é¢æ°ã®å®£èšã®åŒæ°(å ¥åã®å®£èš)ããªãããåºåãäžèŠãªå Žåã¯returnæ(åºåã®å®£èš)ããªãããŸãã
å ·äœçã«ã¯ä»¥äžã®ããã«é¢æ°ãå®çŸ©ããŸãã
# åŒæ°ããªã颿°
def my_func1():
return 0
# è¿ãå€ããªã颿°
def my_func2(x):
x = x * -1
颿°ãã©ãåŒã³åºããã«ã€ããŠã¯ä»ãŸã§ããããå©çšããã®ã§ãªããšãªãããããšæããŸããã宣èšããåŒæ°ã«å¯Ÿå¿ããç®æã«å ¥åå€ãå ¥ããããšã§åŒã³åºããŸããã²ãšã€ç®ã®å€æ°ã¯åŒæ°ããªãã®ã§ãåŒã³åºãæã«()ã«äœãå ¥ããŠããªããã®ã®ãåŸè ã¯åŒæ°ããšãã®ã§()ã«å€ãäžããŠããŸãã
print(my_func1()) # 0 ãšè¡šç€ºããã
print(my_func2(5)) # None ãšè¡šç€ºããã
ç°¡åã§ããã
ã»ãã«ç¥ã£ãŠããã¹ãããšãšããŠã¯ãåŒæ°ã¯è€æ°æå®ã§ããŸãããreturnæã¯äžåºŠããå®è¡ãããªããšããã«ãŒã«ãããããšã§ãããããå ·äœäŸã瀺ããŸãããã
def my_func3(x, y):
print('A')
if(x > y):
return x
print('B')
return y
print(my_func3(5,1))
# A
# 5
print(my_func3(2,4))
# A
# B
# 4
äžèšé¢æ°ã§ã¯å ¥åå€ã2ã€ãšã£ãŠããŸããã³ã³ãã§åºåãããåŒæ°ã®æ°ã®ã¶ãã ãå ¥åãåãä»ãããšããç°¡åãªã«ãŒã«ã§ãããããŠãå éšã§ã¯2ã€ã®returnæã確èªã§ããŸããæ³šç®ããŠæ¬²ããã®ã¯x > yã®æ¡ä»¶ãæºããå Žåã¯print('B')ãå®è¡ãããŠããªããšããããšã§ããreturnæã¯ããã€ãã£ãŠãæ§ããªãã®ã§ãããreturnãããããšã®é¢æ°ã®åŠçã¯äžåç¡èŠãããŸãã
ã»ãã«ã¯ãããã©ã«ãåŒæ°ãããå¯å€é·åŒæ°ããšãã£ã颿°ã®æžãæ¹ãããã®ã§ãããããã§ã¯ç޹ä»ãæ§ããŸããæŒç¿ã§åé¡ãåºãã®ã§ãäœåãããå Žåã¯èªåã§èª¿ã¹ãŠæžãæ¹ãèŠããŠãã ããã
global宣èš
颿°å ã®åŠçã®å®è£ ã¯ã颿°ã®å®çŸ©ã®äžã§å®çµãã¹ãã§ãããã®é¢æ°ãå®è¡ããããšã§ããã®é¢æ°ã®å€ã®å€æ°ãªã©ã®å€ã倿Žãã¹ãã§ã¯ãããŸããããã®ææ³ã¯å®ãã¹ãã§ãããæãšå Žåã«ããå®ããªãã»ãããè¯ãã³ãŒããæžããå ŽåããããŸãã颿°å ã§ã®global宣èšããã®ã²ãšã€ã§ãããã£ããã§ããæ¬¡ã®ã³ãŒããèŠãŠãã ããã
x = 5
def add():
x += 1
print(x)
add()
print(x)
ãã®ããã°ã©ã ãå®è¡ãããšã©ã®ããã«ãªããšæããŸãããaddãšãã颿°ãxã«1ãã€ã³ã¯ãªã¡ã³ãããã®ã§ã
5
6
ãšåºåããŠãããããªãšããã§ãããå®éã¯ãšã©ãŒãåºãŠããŸããŸãã
Traceback (most recent call last):
File "/Users/yuichi/Desktop/hello.py", line 7, in <module>
add()
File "/Users/yuichi/Desktop/hello.py", line 4, in add
x += 1
UnboundLocalError: local variable 'x' referenced before assignment
äžèšãšã©ãŒãèŠããšã颿°ã®äžã§ã倿°xã«å€ãäžããããåã«åç §ããããšãããããªå 容ãšãªã£ãŠããŸããçµè«ããèšããŸããšãããã°ã©ã 1è¡ç®ã®xãšé¢æ°å ã®xã¯å¥ç©ã§ãããã®ãã颿°å ã®xã䜿ãããšãããšããããšã©ãŒãåºãŠããŸã£ãã®ã§ããã©ãããŠã1è¡ç®ã®å€æ°xã颿°å ã§äœ¿ãããå Žåã¯ã颿°ã以äžã®ããã«æžãæããŸãã
x = 5
def add():
global x
x += 1
ããããããšã§ã颿°ã®å€ã§å®çŸ©ããã倿°xã颿°ã®äžã§å©çšããããšãã§ããããã«ãªããŸããé£ãã話ãšãªã£ãŠããŸãã®ã§ããã颿°ãªã©ãåããããšã§ãæåŸ ãããç¯å²ãè¶ ããå€ã®äžçã«åœ±é¿ãããã¶ãããšããå¯äœçšããšãããŸãããã®å¯äœçšãæžããããšãããããªã³ãŒããæžãã³ãã§ãã®ã§ãæèããŠã¿ããšãããããããŸãããããšãã°äžèšããã°ã©ã ã ã£ãããglobalã䜿ããã
x = 5
def add(x):
x += 1
return x
print(x)
x = add(x)
print(x)
ãšæžãã»ããããã§ãããåãå ¥åå€ãå ¥ããããåãåºåå€ãè¿ãããšããã®ãäžè¬çã«ã¯çæ³çãªé¢æ°ã ãšæã£ãŠããããã°OKã§ãã
ã¢ãžã¥ãŒã«
Pythonã®ããã°ã©ã ã¯æžãã°æžãã»ã©å€§ãããªããŸããæ°çŸè¡ã®ã³ãŒãã§ãããã²ãšã€ã®ãã¡ã€ã«ã«ãã¹ãŠæžããŠããŸããŸãããäœåè¡ã«ããªã£ãŠãããšã³ãŒããè€æ°ã®ãã¡ã€ã«ã«åããã»ãã管çãããããã§ãã
ããã¯æ¥åžžçæŽ»ã®æŽçæŽé ãšãŸã£ããåãã§ããããšãã°æŽæãã³ã¹ããããšãããšãããã䜿ãããã䜿ãããã«ã¯äžçãã·ã£ãããºãã³ãšãã£ãçš®é¡ããšã«åŒãåºããåããŠäœ¿ããŸããããã²ãšã€ã®å€§ããªãã³ããŒã«ç®±ã«ãã¹ãŠã®æãã€ã£ããã§ããŸããšã©ãã«äœããããããããªããªãããªããã€æããããã«ç®¡çã§ããã«ã·ã¯ã·ã¯ã«ãªã£ãŠããŸããŸãã
ããã°ã©ã ã®ãã¡ã€ã«ãåããªããšãåŸè ã®ãããªä¹±éãªæã®ç®¡çæ³ã«è¿ã圢ã§ã³ãŒããæžãããšã«ãªããŸããã²ãšã€ã®å€§ããªãã¡ã€ã«ã®ãªãã«ããŸããŸãªã³ãŒãããŽãã£ãŽãã£ãšæžãã®ã§ã©ãã§äœããã£ãŠããã®ãããããªããªã£ãŠããŸãã
äžæ¹ãç¹å®ã®åŠçããšã«ãã¡ã€ã«ãåããŠããã®ãã¡ã€ã«ã¯XXã®åŠçãããã®ãã¡ã€ã«ã¯YYã®åŠçããªã©ãšæŽçãããšãXXã®åŠçã远å ãããä¿®æ£ãããããéã«ããã«å ŽæãããããŸãã
Pythonã§ã¯ããã¡ã€ã«ã«åããããåããã°ã©ã ãã®ããšãã¢ãžã¥ãŒã«ãšåŒãã§ããŸããããã§ã¯ãã®ã¢ãžã¥ãŒã«ã䜿ã£ãããäœã£ããããæ¹æ³ã«ã€ããŠåŠã³ãŸãã
ã¢ãžã¥ãŒã«ã®å©çš
ã¢ãžã¥ãŒã«ãèªåã§äœãããšãå¯èœã§ããããŸãã¯PythonãæäŸããŠãããŠããã¢ãžã¥ãŒã«ãå©çšããããšããã¯ãããŠãããŸãããã
ã¢ãžã¥ãŒã«ãå©çšããã«ã¯ãimport宣èšããå¿ èŠã§ããããšãã°ãæ°åŠåŠçããŸãšããããmathã¢ãžã¥ãŒã«ãå©çšããã«ã¯ä»¥äžã®ããã«ããŸãã
# import ã¢ãžã¥ãŒã«å
import math
ãã®ããã«importããããšãmathã¢ãžã¥ãŒã«ã«å ¥ã£ãŠãã颿°ãªã©ãå©çšã§ããããã«ãªããŸããããšãã°mathã¢ãžã¥ãŒã«ã®åãæšãŠé¢æ°ã䜿ãã«ã¯ä»¥äžã®ããã«ããŸãã
>>> import math
>>> math.floor(5.5)
5.0
ã¢ãžã¥ãŒã«å ã®é¢æ°ãåŒã³åºãã«ã¯"ã¢ãžã¥ãŒã«å.颿°()"ãšããŸãããæ¯åæ¯åãããæžãã®ãé¢åã§ããã°ãé©åœãªååã®å€æ°ã«ä»£å ¥ããŠããŸã£ãŠãããŸããŸããã
>>> import math
>>> floor = math.floor
>>> floor(5.5)
5.0
fromã䜿ãããšã§ãã¢ãžã¥ãŒã«å ã®é¢æ°ãã¢ãžã¥ãŒã«åãªãã§åŒã³åºãããšãå¯èœã«ãªããŸãã
# from ã¢ãžã¥ãŒã«å import 颿°å
>>> from math import floor
>>> floor(5.5)
5.0
ã¢ãžã¥ãŒã«å ã®é¢æ°ãã¹ãŠãã¢ãžã¥ãŒã«åãªãã§åŒã³åºãã«ã¯ä»¥äžã®ããã«ã¯ã€ã«ãã«ãŒãã䜿ããŸãããã ããã®ãããªä¹±éãªã¢ãžã¥ãŒã«ã®å©çšæ³ã¯ã³ãŒãã®å®å šæ§ãä¿ã€ããã«ãæšå¥šã§ããŸããã
>>> from math import *
ä»åã¯ãã§ã«pythonããæäŸãããŠããã¢ãžã¥ãŒã«ãèªã¿èŸŒã¿ãŸããããèªåã§äœæããã¢ãžã¥ãŒã«ããŸã£ããåãæ¹æ³ã§èªã¿èŸŒããŸãã
ã¢ãžã¥ãŒã«ã®äœæ
ã¢ãžã¥ãŒã«ã®äœæã¯ç°¡åã§ããæ¬é£èŒã®æåã«èª¬æããããã«.pyãšããæ¡åŒµåãã€ãããã¡ã€ã«ã«pythonã®ã³ãŒããæžãã ãã§ããããã§ã¯ã¢ãžã¥ãŒã«my_util.pyãäœæãããããmain.pyããåŒã³åºãäŸã瀺ããŸãã
- my_util.py
def say_hello():
print('hello!')
def say_python():
print('python!')
- main.py
import my_util
my_util.say_hello()
my_util.say_python()
- å®è¡çµæ
hello!
python!
ç¹å¥ã«é£ããããšã¯ãããŸããããã¢ãžã¥ãŒã«ãæžãã«ããã£ãŠæ³šæãã¹ãããããšã¯ãããã
- åå©çšå¯èœã
- 䌌ãåŠçã®ã¿ããŸãšããŠããã
ãšãããããã§ãã
ããšãã°æšæºã©ã€ãã©ãªã§æäŸãããŠããªãç¹æ®ãªæ°å€èšç®ãå¿ èŠãªãããã®èšç®ã®ããã®ã¢ãžã¥ãŒã«ãäœã£ãŠãããã§ãããããã ãããã«ç¹æ®ãªæåååŠçã§ãã£ããããããã¯ãŒã¯ã®åŠçãæžããšããã®ã¯èª€ã£ãèšèšã§ã(ãã¡ããæãšå Žåã«ãããŸãã)ã
ãŸãããã®ã¢ãžã¥ãŒã«ã誰ãããç°¡åã«äœ¿ããããã«ããããšãçæ³ã§ããå®éã¯è€éãªããã°ã©ã ãåå²ããããã ãã«ã¢ãžã¥ãŒã«åããããšãå€ãã®ã§ãããããã§ãã䜿ãããããããã«æžãããšãå¿ãããŠãããšãããããããŸãããã
èªäœã¢ãžã¥ãŒã«ã®ãã¹ã
äœè«ãšãªããŸãããã¢ãžã¥ãŒã«ã®ãã¹ãã«ã€ããŠèšèŒããŸããè€æ°ã®ãã¡ã€ã«ã䜿ã£ãããã°ã©ã ãèµ·åãããšãããããã®ãã¡ã€ã«ã¯å€§ããåããŠ
- èµ·åããèµ·ç¹ãšãªããã¡ã€ã« (python xxx.py ã§æå®ããããã¡ã€ã«)
- èµ·åããããã¡ã€ã«ãimportããã¢ãžã¥ãŒã«ã®ãã¡ã€ã«
ã«åãããŸãããã¹ãŠã®ãã¡ã€ã«ã¯åè ã«ãåŸè ã«ããªãããã®ã§ãããåè ã®å Žåã®ã¿ã ãå®è¡ãããç¹å¥ãªåŠçãããå Žåã¯
if(__name__ == '__main__'):
åŠç
ãšãããšãäžèšã®ãåŠçãã¯ã¢ãžã¥ãŒã«ãšããŠèªã¿èŸŒãã å Žåã¯å®è¡ãããŸãããããšãã°å çšã®my_util.pyã以äžã®ããã«å€æŽããŸãã
def say_hello():
print('hello!')
def say_python():
print('python!')
if(__name__ == '__main__'):
print('my_util.py: loaded as script file')
else:
print('my_util.py: loaded as module file')
ãããŠããããçŽæ¥åŒã³åºããŠã¿ãŸãã
% python my_util.py
my_util.py: loaded as script file
ifæã®æ¡ä»¶ãTrueãšãªããTrueã®éã®åŠçãå®è¡ãããŠããŸãããæ¬¡ã«ãå ã»ã©äœã£ãmain.pyçµç±ã§my_util.pyã䜿ã£ãŠã¿ãŸãã
% python main.py
my_util.py: loaded as module file
hello!
python!
ä»åºŠã¯ifæã®elseç¯ãå®è¡ãããŠããŸãããéåžžãçŽæ¥èµ·åãããªãã¢ãžã¥ãŒã«ãäœãéããã®if(__name__ == '__main__')ã®äžã«ã¢ãžã¥ãŒã«ããã¹ããããããªåŠçãæžããŠãããšãããã°ã©ã ã®ä¿å®æ§ãå¢ããŸããèŠããŠãããšäŸ¿å©ãããããŸããã
æŒç¿1
絶察å€ãè¿ã颿°my_absãäœæããŠäžããããã®é¢æ°å ã§ã¯æšæºã©ã€ãã©ãªãªã©ã§æäŸãããŠããabs颿°ãªã©ã¯äœ¿ããªãã§ãã ããã
æŒç¿2
åŒæ°ã§äžããæ°ã ããã£ããããæ°ãé åã§è¿ã颿°my_fiboãäœæããŠãã ããããã£ããããæ°ã«ã€ããŠã¯èª¿ã¹ãã°ããã«ãããã¯ãã§ãã
æŒç¿3
æŒç¿1ã2ã§äœæãã颿°ãããã¯èªåã§é©åœã«äœæãã颿°ãã¢ãžã¥ãŒã«åãããããå¥ãã¡ã€ã«ããå©çšããŠã¿ãŠãã ãããimportæãfromæã®äž¡æ¹ã䜿ã£ãŠã¿ãŠãã ããã
â»è§£çã¯ãã¡ããã芧ãã ããã
Pythonã®ããã°ã©ã ãèµ·åããéã«ãªãã·ã§ã³ãšããŠãããããªãã©ã¡ãŒã¿ãäžãããã³ãã³ãã©ã€ã³åŒæ°ããšåŒã°ããææ³ããããŸããæ¬¡åã¯ã³ãã³ãã©ã€ã³åŒæ°ã®æ±ãæ¹ã«ã€ããŠåŠã³ãŸãããŸããããã°ã©ã ã«å¯ŸããŠããŒããŒãã§å ¥åãè¡ãæšæºå ¥åã«ã€ããŠãåŠã³ãŸãã
å·çè
玹ä»äŒè€è£äž(ITO Yuichi)ã·ã¹ã³ã·ã¹ãã ãºã§ã®æ¥åãšå€§åŠã§ã®ç 究掻åã§ã³ã³ãã¥ãŒã¿ãããã¯ãŒã¯ã«6幎é¢ãããå°éã¯L2/L3 Switching ãšããŒã¿ã»ã³ã¿ãŒé¢é£æè¡ããã³SDNãTACãšããŠã·ã¹ã³é¡§å®¢ã®ãã¯ãã«ã«ãµããŒãæ¥åã«åŸäºã瀟å åãã®ãœãããŠã§ã¢é¢é£ã®ãã¬ãŒãã³ã°ããã³ããŒã¿ã»ã³ã¿ãšSDNé¢ä¿ã®å€éšè¬æŒãªã©ãè¡ãã ããšããšä»®æ³ãããã¯ãŒã¯é¢é£æè¡ã®ç ç©¶éçºã«åŸäºããŠããããšãããããããã¯ãŒã¯ã ãã§ãªãããã°ã©ãã³ã°ãLinuxé¢é£æè¡ã«ã粟éãCisco瀟å å€åãã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ããŒã«ã®éçºããè¶£å³ã§é³å£°åæåŠçã®ã¢ããªã±ãŒã·ã§ã³ããµãŒãã¹ãéçºã Cisco CCIE R&S, Red Hat Certified Engineer, Oracle Java Gold,2009幎床 IPA æªèžãããžã§ã¯ãæ¡æ 詳现(è±èª)ã¯ãã¡ã |
|---|

