ÐÑОвеÑïŒ
24 æ 25 æ¥ãš 2019 æ¥ãHighload++ Siberia XNUMX ã«ã³ãã¡ã¬ã³ã¹ãããã·ãã«ã¹ã¯ã§éå¬ãããŸããã
ãã®æçš¿ã§ã¯ãOracle ã®ç¥èããã¹ãã§ããããã«ãåœç€Ÿã®ããŒã¹ã§çºçããåé¡ãå
±æããããšæããŸãã ã«ããã®äžã«ã¯ 8 ã€ã®åé¡ã解çã®éžæè¢ã説æã衚瀺ãããŸãã
次ã®ã¹ã¯ãªãããå®è¡ããçµæãšããŠè¡šç€ºãããæ倧ã·ãŒã±ã³ã¹å€ã¯äœã§ãã?
create sequence s start with 1;
select s.currval, s.nextval, s.currval, s.nextval, s.currval
from dual
connect by level <= 5;
- 1
- 5
- 10
- 25
- ãããããšã©ãŒãçºçããŸã
çãOracle ã®ããã¥ã¡ã³ãã«ãããš (8.1.6 ããåŒçš):
åäžã® SQL ã¹ããŒãã¡ã³ãå
ã§ãOracle ã¯è¡ããšã« XNUMX åã ãã·ãŒã±ã³ã¹ãã€ã³ã¯ãªã¡ã³ãããŸãã æã«ã·ãŒã±ã³ã¹ã® NEXTVAL ãžã®åç
§ãè€æ°å«ãŸããŠããå ŽåãOracle ã¯ã·ãŒã±ã³ã¹ã XNUMX åã€ã³ã¯ãªã¡ã³ãããåºçŸãããã¹ãŠã® NEXTVAL ã«å¯ŸããŠåãå€ãè¿ããŸãã æã« CURRVAL ãš NEXTVAL ã®äž¡æ¹ãžã®åç
§ãå«ãŸããŠããå ŽåãOracle ã¯ã·ãŒã±ã³ã¹ãã€ã³ã¯ãªã¡ã³ãããæå
ã®é åºã«é¢ä¿ãªããCURRVAL ãš NEXTVAL ã®äž¡æ¹ã«åãå€ãè¿ããŸãã
ãã®ããã«ã æ倧å€ã¯è¡æ°ãã€ãŸã 5 ã«å¯Ÿå¿ããŸãã.
次ã®ã¹ã¯ãªãããå®è¡ããçµæãããŒãã«ã«ã¯äœè¡ã衚瀺ãããŸãã?
create table t(i integer check (i < 5));
create procedure p(p_from integer, p_to integer) as
begin
for i in p_from .. p_to loop
insert into t values (i);
end loop;
end;
/
exec p(1, 3);
exec p(4, 6);
exec p(7, 9);
- 0
- 3
- 4
- 5
- 6
- 9
çãOracle ã®ããã¥ã¡ã³ãã«ãããš (11.2 ããåŒçš):
SQL ã¹ããŒãã¡ã³ããå®è¡ããåã«ãOracle ã¯æé»çãªã»ãŒããã€ã³ã (ãŠãŒã¶ãŒã¯äœ¿çšã§ããŸãã) ãããŒã¯ããŸãã ãã®åŸãã¹ããŒãã¡ã³ãã倱æããå ŽåãOracle ã¯ã¹ããŒãã¡ã³ããèªåçã«ããŒã«ããã¯ãã該åœãããšã©ãŒ ã³ãŒãã SQLCA ã® SQLCODE ã«è¿ããŸãã ããšãã°ãINSERT ã¹ããŒãã¡ã³ããäžæã®ã€ã³ããã¯ã¹ã«éè€ããå€ãæ¿å ¥ããããšããŠãšã©ãŒãçºçããå Žåãã¹ããŒãã¡ã³ãã¯ããŒã«ããã¯ãããŸãã
ã¯ã©ã€ã¢ã³ããã HP ãžã®åŒã³åºãã XNUMX ã€ã®ã¹ããŒãã¡ã³ããšããŠèæ ®ãããåŠçãããŸãã ãããã£ãŠãæåã® HP åŒã³åºãã¯æ£åžžã«å®äºããXNUMX ã€ã®ã¬ã³ãŒããæ¿å ¥ãããŸãã XNUMX çªç®ã® HP åŒã³åºãã¯ãšã©ãŒã§çµäºããæ¿å ¥ã§ãã XNUMX çªç®ã®ã¬ã³ãŒããããŒã«ããã¯ããŸãã XNUMXåç®ã®åŒã³åºãã¯å€±æããŸãã ããŒãã«ã«ã¯ XNUMX ã€ã®ã¬ã³ãŒãããããŸã.
次ã®ã¹ã¯ãªãããå®è¡ããçµæãããŒãã«ã«ã¯äœè¡ã衚瀺ãããŸãã?
create table t(i integer, constraint i_ch check (i < 3));
begin
insert into t values (1);
insert into t values (null);
insert into t values (2);
insert into t values (null);
insert into t values (3);
insert into t values (null);
insert into t values (4);
insert into t values (null);
insert into t values (5);
exception
when others then
dbms_output.put_line('Oops!');
end;
/
- 1
- 2
- 3
- 4
- 5
- 6
- 7
çãOracle ã®ããã¥ã¡ã³ãã«ãããš (11.2 ããåŒçš):
ãã§ãã¯å¶çŽã䜿çšãããšãããŒãã«å ã®åè¡ãæºãããªããã°ãªããªãæ¡ä»¶ãæå®ã§ããŸãã å¶çŽãæºããã«ã¯ãããŒãã«å ã®åè¡ã®æ¡ä»¶ã TRUE ãŸãã¯äžæ (NULL ã®ãã) ã«ããå¿ èŠããããŸãã Oracle ãç¹å®ã®è¡ã®ãã§ãã¯å¶çŽæ¡ä»¶ãè©äŸ¡ããå Žåãæ¡ä»¶å ã®ååã¯ãã®è¡ã®åå€ãåç §ããŸãã
ãããã£ãŠãå€ null ã¯ãã§ãã¯ã«åæ Œããå€ 3 ãæ¿å ¥ããããšãããŸã§å¿åãããã¯ã¯æ£åžžã«å®è¡ãããŸãããã®åŸããšã©ãŒåŠçãããã¯ã¯äŸå€ãã¯ãªã¢ããããŒã«ããã¯ã¯çºçããŸããã ããŒãã«ã«ã¯ XNUMX è¡ãæ®ããŸã å€ã¯ 1ãnullã2ããããŠåã³ null ã§ãã
ãããã¯å ã§åãéã®ã¹ããŒã¹ãå ããå€ã®ãã¢ã¯ã©ãã§ãã?
create table t (
a char(1 char),
b char(10 char),
c char(100 char),
i number(4),
j number(14),
k number(24),
x varchar2(1 char),
y varchar2(10 char),
z varchar2(100 char));
insert into t (a, b, i, j, x, y)
values ('Y', 'ÐаÑÑ', 10, 10, 'Ð', 'ÐаÑÑ');
- AãšX
- BãšY
- CãšK
- CãšZ
- KãšZ
- ç§ãšJ
- JãšX
- ãªã¹ããããŠãããã¹ãŠ
çã以äžã¯ãOracle ã§ã®ããŸããŸãªã¿ã€ãã®ããŒã¿ã®ä¿ç®¡ã«é¢ããããã¥ã¡ã³ã (12.1.0.2) ããã®æç²ã§ãã
CHAR ããŒã¿å
CHAR ããŒã¿åã¯ãããŒã¿ããŒã¹æåã»ããã®åºå®é·æååãæå®ããŸãã ããŒã¿ããŒã¹ã®äœææã«ããŒã¿ããŒã¹ã®æåã»ãããæå®ããŸãã Oracle ã¯ãCHAR åã«æ ŒçŽããããã¹ãŠã®å€ããéžæãããé·ãã»ãã³ãã£ã¯ã¹ã®ãµã€ãºã§æå®ãããé·ããæã€ããšãä¿èšŒããŸãã åã®é·ããããçãå€ãæ¿å
¥ãããšãOracle ã¯ãã®å€ãåã®é·ããŸã§ç©ºçœã§åã蟌ã¿ãŸãã
VARCHAR2 ããŒã¿å
VARCHAR2 ããŒã¿åã¯ãããŒã¿ããŒã¹ ãã£ã©ã¯ã¿ ã»ããã®å¯å€é·æååãæå®ããŸãã ããŒã¿ããŒã¹ã®äœææã«ããŒã¿ããŒã¹ã®æåã»ãããæå®ããŸãã Oracle ã§ã¯ãå€ãåã®é·ããè¶
ããªãéããæåå€ã¯ç©ºçœåããªãã§æå®ã©ããã« VARCHAR2 åã«æ ŒçŽãããŸãã
NUMBER ããŒã¿å
NUMBER ããŒã¿åã«ã¯ããŒãã®ã»ãã1.0 x 10-130 ãã 1.0 x 10126 ãé€ã絶察å€ãæã€æ£ããã³è² ã®åºå®æ°ãæ ŒçŽãããŸããå€ã以äžã®çµ¶å¯Ÿå€ãæã€ç®è¡åŒãæå®ããå Žå1.0 x 10126 ã®å ŽåãOracle ã¯ãšã©ãŒãè¿ããŸãã å NUMBER å€ã«ã¯ 1 ïœ 22 ãã€ããå¿
èŠã§ãã ãããèæ
®ãããšãç¹å®ã®æ°å€ããŒã¿å€ NUMBER(p) ã®ãã€ãåäœã®åãµã€ãº (p ã¯æå®ãããå€ã®ç²ŸåºŠ) ã¯ã次ã®åŒã䜿çšããŠèšç®ã§ããŸãã ROUND((é·ã(p)+s)/2))+1 ããã§ãæ°å€ãæ£ã®å Žåãs 㯠1 ã«çãããæ°å€ãè² ã®å Žåãs 㯠XNUMX ã«çãããªããŸãã
ããã«ãNull å€ã®ä¿åã«é¢ããããã¥ã¡ã³ãããæç²ããŠã¿ãŸãããã
NULL ã¯ãåã«å€ãååšããªãããšãæå³ããŸãã Null ã¯ãããŒã¿ãæ¬ èœããŠããããäžæã§ãããããŸãã¯é©çšã§ããªãããšã瀺ããŸãã Null ãããŒã¿å€ãå«ãåã®éã«ããå ŽåãNull ã¯ããŒã¿ããŒã¹ã«æ ŒçŽãããŸãã ãã®ãããªå Žåãåã®é·ã (ãŒã) ãæ ŒçŽããããã« 1 ãã€ããå¿ èŠã§ãã æ°ããè¡ããããŒã¯åã®è¡ã®æ®ãã®åã NULL ã§ããããšã瀺ããããè¡ã®æ«å°Ÿã® NULL ã«ã¯èšæ¶åãå¿ èŠãããŸããã ããšãã°ãããŒãã«ã®æåŸã® XNUMX ã€ã®åã null ã®å Žåããããã®åã«ã¯ããŒã¿ã¯æ ŒçŽãããŸããã
ãããã®ããŒã¿ã«åºã¥ããŠæšè«ãæ§ç¯ããŸãã ããŒã¿ããŒã¹ã§ã¯ AL32UTF8 ãšã³ã³ãŒãã£ã³ã°ã䜿çšãããŠãããšä»®å®ããŸãã ãã®ãšã³ã³ãŒãã§ã¯ããã·ã¢èªã®æå㯠2 ãã€ããå ããŸãã
1) A ãš Xããã£ãŒã«ã a ã®å€ 'Y' 㯠1 ãã€ãããã£ãŒã«ã x ã®å€ 'D' 㯠2 ãã€ã
2) B ãš Yãb ã® 'Vasya' å€ã¯æ倧 10 æåã®ã¹ããŒã¹ã§åã蟌ãŸãã14 ãã€ãããããŸããd ã® 'Vasya' 㯠8 ãã€ãããããŸãã
3) C ãš Kãã©ã¡ãã®ãã£ãŒã«ããå€ NULL ãæã¡ããã®åŸã«éèŠãªãã£ãŒã«ããããããã1 ãã€ããå ããŸãã
4) C ãš Zãäž¡æ¹ã®ãã£ãŒã«ãã®å€ã¯ NULL ã§ããããã£ãŒã«ã Z ã¯ããŒãã«ã®æåŸã§ãããããã¹ããŒã¹ãå æããŸãã (0 ãã€ã)ã ãã£ãŒã«ã C 㯠1 ãã€ããå ããŸãã
5) K ãš Zãåã®ã±ãŒã¹ãšåæ§ã§ãã K ãã£ãŒã«ãã®å€ã¯ãZ â 1 ã® 0 ãã€ããå ããŸãã
6) I ãš Jãããã¥ã¡ã³ãã«ãããšãã©ã¡ãã®å€ã 2 ãã€ãããããŸãã ããã¥ã¡ã³ãããåŒçšããå
¬åŒãround( (1 + 0)/2) +1 = 1 + 1 = 2 ã䜿çšããŠé·ããèšç®ããŸãã
7) J ããã³ XãJ ãã£ãŒã«ãã®å€ã¯ 2 ãã€ããX ãã£ãŒã«ãã®å€ã¯ 2 ãã€ãããããŸãã
åèšãããšãæ£ãããªãã·ã§ã³ã¯æ¬¡ã®ãšããã§ã: C ãš KãI ãš JãJ ãš Xã
T_I ã€ã³ããã¯ã¹ã®ã¯ã©ã¹ã¿ãªã³ã°ä¿æ°ã¯ãããã©ã®ãããã«ãªããŸãã?
create table t (i integer);
insert into t select rownum from dual connect by level <= 10000;
create index t_i on t(i);
- æ°ååããã
- çŽæ°çŸ
- çŽæ°å
- æ°äžããã
çãOracle ã®ããã¥ã¡ã³ãã«ãããš (12.1 ããåŒçš):
B ããªãŒ ã€ã³ããã¯ã¹ã®å Žåãã€ã³ããã¯ã¹ ã¯ã©ã¹ã¿ãªã³ã°ä¿æ°ã¯ãã€ã³ããã¯ã¹å€ã«é¢é£ããè¡ã®ç©ççãªã°ã«ãŒãåã枬å®ããŸãã
ã€ã³ããã¯ã¹ ã¯ã©ã¹ã¿ãªã³ã°ä¿æ°ã¯ããªããã£ãã€ã¶ãç¹å®ã®ã¯ãšãªã«å¯ŸããŠã€ã³ããã¯ã¹ ã¹ãã£ã³ãšãã« ããŒãã« ã¹ãã£ã³ã®ã©ã¡ããå¹ççã§ããããå€æããã®ã«åœ¹ç«ã¡ãŸãã ã¯ã©ã¹ã¿ãªã³ã°ä¿æ°ãäœãå Žåã¯ãã€ã³ããã¯ã¹ ã¹ãã£ã³ãå¹ççã§ããããšã瀺ããŸãã
ããŒãã«å ã®ãããã¯æ°ã«è¿ãã¯ã©ã¹ã¿ãªã³ã°ä¿æ°ã¯ãè¡ãã€ã³ããã¯ã¹ ããŒã«ãã£ãŠããŒãã« ãããã¯å ã§ç©ççã«é åºä»ããããŠããããšã瀺ããŸãã ããŒã¿ããŒã¹ãããŒãã«å šäœã®ã¹ãã£ã³ãå®è¡ããå ŽåãããŒã¿ããŒã¹ã¯ã€ã³ããã¯ã¹ ããŒã§ãœãŒããããŠãã£ã¹ã¯ã«æ ŒçŽãããŠããè¡ãååŸããåŸåããããŸãã è¡æ°ã«è¿ãã¯ã©ã¹ã¿ãªã³ã°ä¿æ°ã¯ãè¡ãã€ã³ããã¯ã¹ ããŒã«é¢é£ããŠããŒã¿ããŒã¹ ãããã¯å šäœã«ã©ã³ãã ã«åæ£ããŠããããšã瀺ããŸãã ããŒã¿ããŒã¹ãããŒãã«å šäœã®ã¹ãã£ã³ãå®è¡ããå ŽåãããŒã¿ããŒã¹ã¯ãã®ã€ã³ããã¯ã¹ ããŒã«ãããœãŒãé ã§è¡ãååŸããŸããã
ãã®å ŽåãããŒã¿ã¯çæ³çã«ãœãŒããããŠãããããã¯ã©ã¹ã¿ãªã³ã°ä¿æ°ã¯ããŒãã«å ã®å æãããã¯ã®æ°ãšåããããã«è¿ãå€ã«ãªããŸãã æšæºããã㯠ãµã€ãº 8 ãããã€ãã®å ŽåãçŽ XNUMX åã®çãæ°å€ã XNUMX ã€ã®ãããã¯ã«åãŸããšäºæ³ã§ããããããããã¯æ°ãããã³ãã®çµæãšããŠã¯ã©ã¹ã¿ãªã³ã°ä¿æ°ã¯æ¬¡ã®ããã«ãªããŸãã æ°ååããã.
N ã®å€ãã©ã®ãããã§ããã°ã次ã®ã¹ã¯ãªããã¯æšæºèšå®ã®éåžžã®ããŒã¿ããŒã¹ã§æ£åžžã«å®è¡ãããŸãã?
create table t (
a varchar2(N char),
b varchar2(N char),
c varchar2(N char),
d varchar2(N char));
create index t_i on t (a, b, c, d);
- 100
- 200
- 400
- 800
- 1600
- 3200
- 6400
çãOracle ã®ããã¥ã¡ã³ãã«ãããš (11.2 ããåŒçš):
è«çããŒã¿ããŒã¹ã®å¶é
ã¢ã€ãã äŸ¡æ Œ
å¶éã®çš®é¡
éçå€
ã€ã³ããã¯ã¹
ã€ã³ããã¯ã¹ä»ãåã®åèšãµã€ãº
ããŒã¿ããŒã¹ ããã㯠ãµã€ãºã® 75% ããäžéšã®ãªãŒããŒããããå·®ãåŒãããã®
ãããã£ãŠãã€ã³ããã¯ã¹ä»ãåã®åèšãµã€ãºã¯ 6Kb ãè¶ ããŠã¯ãªããŸããã 次ã«äœãèµ·ãããã¯ãéžæããåºæ¬ãšã³ã³ãŒãã£ã³ã°ã«ãã£ãŠç°ãªããŸãã AL32UTF8 ãšã³ã³ãŒãã®å Žåã4 æåã¯æ倧 6 ãã€ããå ããããšãã§ãããããææªã®å ŽåãçŽ 1500 æåã 400 ãããã€ãã«åãŸããŸãã ãããã£ãŠãOracle 㯠N = 1600 (ææªã®å Žåã®ããŒé·ã 4 æå * XNUMX ãã€ã + ROWID é·ã®å Žå) ã§ã®ã€ã³ããã¯ã¹ã®äœæãèš±å¯ããŸããã N = 200 (ãŸãã¯ãã以äž) ã®å Žå ã€ã³ããã¯ã¹ã®äœæã¯åé¡ãªãæ©èœããŸãã
APPEND ãã³ããå«ã INSERT æŒç®åã¯ããã€ã¬ã¯ã ã¢ãŒãã§ããŒã¿ãããŒãããããã«èšèšãããŠããŸãã ããªã¬ãŒãæãã£ãŠããããŒãã«ã«é©çšãããšã©ããªãã§ãããã?
- ããŒã¿ã¯ãã€ã¬ã¯ã ã¢ãŒãã§ããŒããããããªã¬ãŒã¯æåŸ ã©ããã«æ©èœããŸãã
- ããŒã¿ã¯ãã€ã¬ã¯ãã¢ãŒãã§ããŒããããŸãããããªã¬ãŒã¯å®è¡ãããŸãã
- ããŒã¿ã¯åŸæ¥ã®ã¢ãŒãã§ããŒããããããªã¬ãŒã¯æ£åžžã«æ©èœããŸãã
- ããŒã¿ã¯åŸæ¥ã®ã¢ãŒãã§ããŒããããŸãããããªã¬ãŒã¯å®è¡ãããŸãã
- ããŒã¿ã¯ããŒããããããšã©ãŒãèšé²ãããŸã
çãåºæ¬çã«ãããã¯è«çã®åé¡ã§ãã æ£ããçããèŠã€ããã«ã¯ã次ã®æšè«ã¢ãã«ããå§ãããŸãã
- ãã€ã¬ã¯ã ã¢ãŒãã§ã®æ¿å ¥ã¯ãSQL ãšã³ãžã³ããã€ãã¹ããŠããŒã¿ ãããã¯ãçŽæ¥åœ¢æããããšã«ãã£ãŠå®è¡ããããããé«éæ§ãä¿èšŒãããŸãã ãããã£ãŠãããªã¬ãŒã確å®ã«å®è¡ããããšã¯ãäžå¯èœã§ã¯ãªãã«ããŠãéåžžã«å°é£ã§ãããããã§ãæ¿å ¥ã®é床ãå€§å¹ ã«äœäžãããããããã«ã¯æå³ããããŸããã
- ããªã¬ãŒã®å®è¡ã«å€±æãããšãããŒãã«å ã®ããŒã¿ãåãã§ããå ŽåãããŒã¿ããŒã¹å šäœ (ä»ã®ããŒãã«) ã®ç¶æ ã¯ããã®ããŒã¿ãæ¿å ¥ãããã¢ãŒãã«äŸåããããšã«ãªããŸãã ããã¯æããã«ããŒã¿ã®æŽåæ§ãç Žå£ãããããéçšç°å¢ã«ãœãªã¥ãŒã·ã§ã³ãšããŠé©çšããããšã¯ã§ããŸããã
- èŠæ±ãããæäœãå®è¡ã§ããªãå Žåã¯ãéåžžããšã©ãŒãšããŠæ±ãããŸãã ãã ãããã㧠APPEND ã¯ãã³ãã§ããããšãèŠããŠããå¿ èŠããããŸãããã³ãã®äžè¬çãªããžãã¯ã¯ãå¯èœã§ããã°èæ ®ãããŸãããããã§ãªãå Žåã¯ãã³ããèæ ®ããã«æŒç®åãå®è¡ããããšãããã®ã§ãã
ãããã£ãŠãæåŸ ãããçãã¯æ¬¡ã®ãšããã§ã ããŒã¿ã¯éåžž (SQL) ã¢ãŒãã§ããŒããããããªã¬ãŒãèµ·åãããŸãã
Oracle ã®ããã¥ã¡ã³ãã«ãããš (8.04 ããåŒçš):
å¶éã«éåãããšãèŠåããšã©ãŒ ã¡ãã»ãŒãžã衚瀺ãããããšãªããåŸæ¥ã®æ¿å
¥ãã¹ã䜿çšããŠã¹ããŒãã¡ã³ããã·ãªã¢ã«ã«å®è¡ãããŸãã äŸå€ãšããŠããã©ã³ã¶ã¯ã·ã§ã³å
ã§åãããŒãã«ã«è€æ°åã¢ã¯ã»ã¹ããã¹ããŒãã¡ã³ãã«å¯Ÿããå¶éãããããšã©ãŒ ã¡ãã»ãŒãžãçºçããå¯èœæ§ããããŸãã
ããšãã°ãããŒãã«ã«ããªã¬ãŒãŸãã¯åç
§æŽåæ§ãååšããå Žåããã€ã¬ã¯ã ããŒã INSERT (ã·ãªã¢ã«ãŸãã¯ãã©ã¬ã«) ã䜿çšããããšãããšãAPPEND ãã³ãã¯ç¡èŠãããPARALLEL ãã³ããŸãã¯å¥ (ååšããå Žå) ãç¡èŠãããŸãã
次ã®ã¹ã¯ãªãããå®è¡ãããšäœãèµ·ããã§ãããã?
create table t(i integer not null primary key, j integer references t);
create trigger t_a_i after insert on t for each row
declare
pragma autonomous_transaction;
begin
insert into t values (:new.i + 1, :new.i);
commit;
end;
/
insert into t values (1, null);
- å®è¡æå
- æ§æãšã©ãŒã«ãã倱æ
- ãšã©ãŒ: èªåŸãã©ã³ã¶ã¯ã·ã§ã³ãç¡å¹ã§ã
- æ倧åŒã³åºããã¹ãã®è¶ éã«é¢é£ãããšã©ãŒ
- å€éšããŒéåãšã©ãŒ
- ããã¯ã«é¢ãããšã©ãŒ
çãããŒãã«ãšããªã¬ãŒã¯æ£ç¢ºã«äœæãããŠããããã®æäœã§åé¡ãçºçããããšã¯ãããŸããã ããªã¬ãŒå ã®èªåŸãã©ã³ã¶ã¯ã·ã§ã³ãèš±å¯ãããŸããããã§ãªããšãããšãã°ãã°èšé²ãäžå¯èœã«ãªããŸãã
æåã®è¡ãæ¿å ¥ããåŸãããªã¬ãŒã®èµ·åãæåãããš XNUMX è¡ç®ãæ¿å ¥ãããåã³ããªã¬ãŒãèµ·åã㊠XNUMX è¡ç®ãæ¿å ¥ãããåŒã³åºãã®æ倧ãã¹ããè¶ ããŠã¹ããŒãã¡ã³ãã倱æãããŸã§ããããç¹°ãè¿ãããŸãã ãã ããå¥ã®åŸ®åŠãªç¹ãé¢ä¿ããŸãã ããªã¬ãŒãå®è¡ãããæç¹ã§ã¯ãæåã«æ¿å ¥ãããã¬ã³ãŒãã®ã³ãããã¯ãŸã å®äºããŠããŸããã ãããã£ãŠãèªåŸãã©ã³ã¶ã¯ã·ã§ã³ã§å®è¡ãããŠããããªã¬ãŒã¯ããŸã ã³ããããããŠããªãã¬ã³ãŒããžã®å€éšããŒãåç §ããè¡ãããŒãã«ã«æ¿å ¥ããããšããŸãã ããã«ããåŸ æ©ãçºçã (èªåŸãã©ã³ã¶ã¯ã·ã§ã³ã¯ãããŒã¿ãæ¿å ¥ã§ãããã©ããã確èªããããã«ã¡ã€ã³ ãã©ã³ã¶ã¯ã·ã§ã³ãã³ãããããã®ãåŸ ã¡ãŸã)ãåæã«ã¡ã€ã³ ãã©ã³ã¶ã¯ã·ã§ã³ã¯èªåŸãã©ã³ã¶ã¯ã·ã§ã³ãããªã¬ãŒåŸã«åäœãç¶ç¶ããã®ãåŸ ã¡ãŸãã ãããããã¯ãçºçãããã®çµæãããã¯ã«é¢é£ããçç±ã«ããèªåŸãã©ã³ã¶ã¯ã·ã§ã³ããã£ã³ã»ã«ããã.
ç»é²ãŠãŒã¶ãŒã®ã¿ãã¢ã³ã±ãŒãã«åå ã§ããŸãã
é£ããã£ãã§ããïŒ
-
äºæ¬ã®æã®ããã«ãç§ã¯ããã«ãã¹ãŠãæ£ããå€æããŸããã
-
ããã§ã¯ãããŸããããããã€ãã®è³ªåã§ééã£ãŠããŸããã
-
ååã¯æ£è§£ããŸããã
-
çããXNUMXåäºæ³ããŠã¿ãŸããïŒ
-
ã³ã¡ã³ãã«æžããŠãããŸã
14 人ã®ãŠãŒã¶ãŒãæ祚ããŸããã 10åã®ãŠãŒã¶ãŒãæ£æš©ããã
åºæïŒ habr.com