ÇÁ·Î±×·¡¹Ö ÇϽô ºÐµé²² Áú¹® Çϳª µå¸±°Ô¿ä ..

   Á¶È¸ 14313   Ãßõ 0    

프로그램을 하나 만들고 있는게 있는데요 


디비에 값을 넣는 프로그램인데 id 값이 있고 그 외에 .. 번호를 중복되지 않게 자동으로 생성해서

테이블에 넣어야 하는데 .. 생성해서 넣는건 문제가 안되는데 중복이 문제가 되네요 .. 


만약 제가 3000건을 입력할때... 랜덤으로 난수를 발생시켜서 저장하는데 

또 다른 사람이 접속해서 .. 같이 저장할경우에 랜덤 함수는 시간으로 하는거라 같은 값이

저장될 수도 있지 않나 싶어서요 .. 


질문드리고 싶은건.. 저희가 다중 사용자가 사용하는 상황에서 중복되지 않는 8자리를 만들어야 하는데 

지금은 시간을 가지고 만드는데 .. 이렇게 안하고 뭔가 다른 방법이 있을까 해서 문의드립니다.

여러 사람이 동시에 입력해도 중복되지 않는 난수를 발생 할 수 있는 방법이 있으시면 조언 부탁 드릴게요 .. 


ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
¿À¶óŬ¿¡¼± sequence ·Î ó¸®ÇÕ´Ï´Ù.
ÀúÀå ÇÔ¼ö ¾Õ¿¡ Áߺ¹ ýũ ÇϽøé Áߺ¹ÀÌ ÀÛ¾ÆÁý´Ï´Ù..

Áߺ¹Ã½Å©()
ÀúÀå()

¾Æ´Ï¸é

ÀúÀå()
{
 Áߺ¹Ã½Å©()
 write...
}
     
°­¿µÁØ2C 2016-03
¿À ÁÁÀº»ý°¢ÀÎ °Í °°½À´Ï´Ù ÇÏÇÏ...
°³¹ß¾ð¾î¿Í DB Á¾·ù¸¦ ¾Ë·ÁÁÖ¼¼¿ä.
     
±èÁ¦¿¬ 2016-04
php7 ÀÌ°í mariadb 10.11ÀÔ´Ï´Ù.
ZSNET5 2016-03
Ŭ¶óÀ̾ðÆ®¿¡¼­ ³­¼ö¸¦ ¸¸µå´Â°Ô ¾Æ´Ï°í, ¼­¹ö¿¡¼­ ³­¼ö¸¦ ¸¸µé¾î¼­ Ŭ¶óÀ̾ðÆ®°¡ ±× °ªÀ» ¹Þ¾Æ°¡°Ô Çϸé Áߺ¹µÇÁö ¾Ê°Ô ÇÁ·Î±×·¡¹ÖÇϱⰡ ÆíÇÒ °Í °°½À´Ï´Ù.
ȲÁø¿ì´Ô ¸»¾¸´ë·Î ÇÒ ¼öµµ ÀÖ°í, ±×·¸°Ô ÇØ¾ß ÇÏÁö¸¸ ÀÌ°Ô Å¬¶óÀ̾ðÆ®¿¡¼­ ³­¼ö¸¦ ¸¸µé°Ô µÇ¸é Áߺ¹°ªÀÌ »ý¼ºµÉ ¶§¸¶´Ù üũÇÏ°í Ãæµ¹ÇÏ¸é ´Ù½Ã ¸¸µé¾î¾ß Çϱ⠶§¹®¿¡
µÚ·Î °¥¼ö·Ï ½Ã°£ÀÌ ´Ã¾î³ª°Ô µÉ ²®´Ï´Ù.
±×·¡¼­...¼­¹ö°¡ ÀÌ¹Ì ¸¸µé¾îÁø ³­¼ö¸¦ °¡Áö°í ÀÖ´Ù°¡ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀÌ ÀÖÀ»¶§ ±× ³­¼ö¸¦ ´øÁ®ÁÖ°í, »ç¿ëÇß´Ù°í üũÇϸé ÇØ°áÀÌ Á» ´õ ¿ëÀÌÇÏ´Ù°í »ý°¢µË´Ï´Ù.
À½.......À̰͵µ ¹®Á¦°¡ ÀÖ±â´Â Çϱº¿ä,. ^.^;;
     
±èÁ¦¿¬ 2016-04
³× .. ±×³É Ŭ¶óÀ̾ðÆ®¿¡¼­ ÀúÀåÇÒ °ª¸¸ ¼­¹ö·Î ³¯·ÁÁÖ¸é ¼­¹öÂÊ¿¡¼­ .. ³­¼ö¸¦ ¹ß»ý½ÃÄѼ­ ´õÇؼ­ ÀúÀåÇÏ°í Àִµ¥
È¥ÀÚ ÇÏ´Â°Ç ¾Æ¹« ¹®Á¦°¡ ¾øÀ»µíÇѵ¥ .. ¿©·¯ »ç¶÷ÀÌ µ¿½Ã¿¡ ÀúÀåÇÏ¸é ¹®Á¦°¡ µÉ ¼ÒÁö°¡ ÀÖÀ»°Í °°¾Æ¼­¿ä.
ÇÁ·Î±×·¥¿¡¼­ ³­¼ö¸¦ ¸¸µå´Â °Ç...DB ´Ü¿¡¼­ Áߺ¹ üũ¸¦ ÇÏÁö ¾ÊÀ¸¸é Áߺ¹À» ÇÇÇÒ ±æÀÌ ¾ø½À´Ï´Ù. (100% Áߺ¹ÀÌ ³­´Ù±â º¸´Ù´Â..Áߺ¹ÀÌ ³¯ È®À²ÀÌ ÀÖ½À´Ï´Ù).
¾î¶² ¸é¿¡¼± DB ¿¡ ³­¼öÅ×À̺íÀ» Çϳª ¸¸µé¾î¼­ ¹Ì¸® Áߺ¹µÇÁö ¾Ê´Â ³­¼ö¸¦ ³Ö¾î³õ°í Çϳª¾¿ »©¾²´Â°Ô ³ªÀ» ¼öµµ ÀÖ½À´Ï´Ù.
»ý°¢º¸´Ù Áߺ¹ÀÔ·ÂÀÌ À߾ȵ˴ϴÙ.
Å×½ºÆ® ¹æ¹ý
µÎ´ëÀÇ ÄÄÇ»Å͸¦ ¿·¿¡ µÎ°í µ¿½Ã¿¡ ÀúÀåÀ» ´­·¯º¸°í DB¸¦ È®ÀÎÇغ¸¼¼¿ä..
     
Áߺ¹ Àß ¾È³­´Ù°í Çϱ⿡´Â...8ÀÚ¸®¸é Á» ª¾Æ¿ä...12ÀÚ¸®¸¸ µÇ¾îµµ º°·Î °ÆÁ¤ ¾ÈÇصµ µÉ °Í °°Àºµ¥¿ä...ÈåÀ½...
          
ITES 2016-04
12ÀÚ¸®µµ ÇÇÇÒ¼ö ¾ø´õ¶ó±¸¿ä.
Á¦°¡ microtime + ³­¼ö4ÀÚ¸®  ·Î °ªÀ» db¿¡ ³Ö¾ú´Ù°¡ µÈÅë ´çÇÑÀûÀÌ ÀÖ¾úÁÒ.
µ¿½Ã¿¡ 300¸í Á¤µµ°¡ write¸¦ ÇÏ´Ï 1-2°Ç Á¤µµ°¡ Áߺ¹ÀÌ µÇ´õ¶ó±¸¿ä.
¼º¿¬ 2016-04
Áߺ¹Ã¼Å©ÇÏ¸é ¹ø°Å·Î¿ì´Ï±î Çʵ忡 À¯´ÏÅ© ¼Ó¼ºÀ» ³Ö°í Àμ­Æ®½Ã ¿¡·¯ ¹ß»ýÇÏ¸é °ªÀ» ¹Ù²ã¼­ ´Ù½Ã ³Ö´Â°Ç ¾î¶³±î¿ä..
     
viper9 2016-04
¹«ÇÑ·çÇÁ¿¡ ºüÁú ¿ì·Á°¡ ÀÖÁÒ.

¹«ÇÑ·çÇÁ¿¡ ºüÁöÁö ¾Ê°Ô ó¸®ÇÏ¸é ¹Ù·Î ¿¡·¯Ã³¸®°¡ µÇ±ä ÇÏÁö¸¸¿ä.
µ¹±â¸§ 2016-04
²À ¼ö°¡ ¾Æ´Ï¾îµµ »ó°üÀÌ ¾ø´Ù¸é uuid ¸¦ ÀÌ¿ëÇغ¸´Â°Íµµ ÀÖ½À´Ï´Ù.
https://ko.wikipedia.org/wiki/%EB%B2%94%EC%9A%A9_%EA%B3%A0%EC%9C%A0_%EC%8B%9D%EB%B3%84%EC%9E%90
¹¹ ±æÀÌ°¡ ±â´Ï±ñ ª°Ô ÁÙÀÌ´Â ¹æ¹ýÀ¸·Î´Â
<?php

function uniqid_base36($more_entropy=false) {
    $s = uniqid('', $more_entropy);
    if (!$more_entropy)
        return base_convert($s, 16, 36);
       
    $hex = substr($s, 0, 13);
    $dec = $s[13] . substr($s, 15); // skip the dot
    return base_convert($hex, 16, 36) . base_convert($dec, 10, 36);
}

echo uniqid_base36() . "\n"; // eb98xzzhq7
echo uniqid_base36(true) . "\n"; // eb98xzzhr8dervre


Ãâó : http://php.net/manual/kr/function.uniqid.php
     
uuid µµ time º£À̽ºÀÔ´Ï´Ù.
8ÀÚ¸® ¼ýÀÚ·Î ÁÙÀ̸é Áߺ¹ °¡´É¼ºÀÌ »ý±é´Ï´Ù.
¿µ¾î¸¦ °°ÀÌ ¾²¸é Áߺ¹È®À²À» È® ÁÙÀÏ ¼ö°¡ ÀÖ±ä Çѵ¥ ¸»ÀÔ´Ï´Ù. (À§¿¡ ¾²½Å °Íó·³...36Áø¼ö¸¦ ¸¸µé ¼ö ÀÖÀ¸´Ï...´ë¼Ò¹®ÀÚ ±¸ºÐ±îÁö ³ÖÀ¸¸é 62Áø¼ö¸¦...Äð·°~)
°­Çѱ¸ 2016-04
microtime() ÇÔ¼ö´Â ÇöÀç ½ÃÁ¡ÀÇ Unix timestamp¸¦  microseconds·Î ¹ÝȯÇÕ´Ï´Ù.
ÀÌ°É·Î Áߺ¹ÀÌ ¹ß»ýÇÏ´Â °æ¿ì´Â °ÅÁø ¾ø´Âµ¥¿ä Çѹø Çغ¸¼¼¿ä~

Á¶±Ý´õ ¸Ó¸®¾²½Å´Ù¸é

À§¿¡ Áߺ¹ üũ ÇÔ¼ö¸¦ ¾²¼Å¼­

À¯´ÏÅ© °ª µé¾î°¡´Â ºÎºÐ¿¡
microtime °ª + 00001 ¼ø¹ø Çϼż­
µðºñ¿¡ ÇØ´ç °ªÀÌ ÀÖÀ»°æ¿ì üũÇϴºκп¡´Ù°¡
microtime% ÇüÅ·Π°Ë»öÇÏ½Ã¸é ´õ ºü¸¦µí ÇÕ´Ï´Ù. ±×·²°æ¿ì ÀϺΠ±¸°£¸¸ °Ë»öÇÒ ¼ö ÀÖÀ¸´Ï±ñ¿ä
ĵÀ§µå 2016-04
°³¹ßÂÊ ÇÏ½Å´Ù¸é ¾Æ½Ã°ÚÁö¸¸ ¹æ¹ýÀº ¹«±Ã¹«Áø ÇÕ´Ï´Ù.
ÀÌ¹Ì ´ñ±Û·Î ÁÁÀº ¾ÆÀ̵ð¾îµéÀÌ ¸¹ÀÌ ³ª¿Ô³×¿ä.

½Ã°£À» ÀÌ¿ëÇÑ´Ù Çϼ̴µ¥ ½Ã°£ + ¾ÆÀÌÇÇ ¶Ç´Â php¼¼¼Ç°ªµîµµ Á¶ÇÕÇϽøé Áߺ¹°¡´É¼ºÀÌ ¸¹ÀÌ ÁÙ¾îµì´Ï´Ù.
ÇÏÁö¸¸ ±×·¸´Ù°í 0%´Â µÉ ¼ö ¾ø±â¿¡ ¾ÈÀüÀåÄ¡´Â ÇʼöÀÔ´Ï´Ù.

±× ¹æ¹ý Áß
µî·Ï Àü »ý¼ºµÈ °ªÀÌ Á¤¸» À¯´ÏÅ© ÇÑÁö Áߺ¹°Ë»ç ÇÏ´Â ¹æ½ÄÀº
Áߺ¹Ã¼Å©¿Í µî·ÏÇÏ´Â ºÎºÐÀÌ ÀӰ豸¿ªÀ¸·Î ¿øÀÚÈ­ ½ÃÅ°Áö ¾ÊÀ¸¸é Áߺ¹ÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.

php¿¡¼­ ÀӰ豸¿ªÀ» ¾î¶»°Ô ¼³Á¤ÇÏ´ÂÁö ¸ð¸£°ÚÀ¸³ª
ÀӰ豸¿ª¿¡ µî·Ï½Ã ¸¶´Ù Áߺ¹Ã¼Å© ÇÏ¸é ¾Æ¸¶ µ¿½Ãµî·ÏÀÚ ¼ö°¡ ¸¹À»¼ö·Ï ¼º´ÉÀúÇÏ°¡ ÀÖÀ» ¼ö ÀÖ°ÚÁö¿ä.

±×¸®°í À¥¼­¹ö¸¦ º´·Ä·Î ¿î¿µ½Ã¿£ php¿¡¼­ ÀӰ豸¿ª °É¾îºÃÀÚ ¼Ò¿ë ¾ø°í¿ä.

±×·±¸é¿¡¼­´Â µðºñ¿¡ À¯´ÏÅ© À妽º¸¦ °É°í µî·Ï½Ã ¿À·ù¸¦ Àâ¾Æ¼­ Àçµî·Ïµµ ±¦ÂúÀº ¹æ¹ýÀÌ°í¿ä
¼º´ÉÀÌ ¸Å¿ì Áß¿äÇÑ °æ¿ì¿£ ¼ÓÆíÇÏ°Ô ¹Ì¸® Áߺ¹µÇÁö ¾Ê´Â ·£´ýÅ×À̺íÀ» ¹Ì¸® ¸¸µé¾î ·£´ý°ªµéÀ» ¹Ì¸® µî·ÏÇØ ³õ°í »Ì¾Æ¾²µç ÀÚµ¿Áõ°¡°ªÀ¸·Î Á¶ÀÎÇؼ­ ¾²µç ÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù. ¼º´ÉÀº ´õÀÌ»ó ºü¸¦ ¼ö ¾ø°ÚÁÒ.
µðºñ¿¡ °ªÀ» ³Ö´Â ÇÁ·Î±×·¥Àε¥ id °ªÀÌ ÀÖ°í ±× ¿Ü¿¡ .. ¹øÈ£¸¦ Áߺ¹µÇÁö ¾Ê°Ô ÀÚµ¿À¸·Î »ý¼ºÇؼ­ <--- ÀÌ ±Û¿¡¼­
µðºñ¿¡ id°ªÀ» »ç¿ëÇϽôµ¥(¹°·Ð ÀÚµ¿Áõ°¡ºÐÀ¸·Î ¼³Á¤ÇϼÌÀ»°Å°í..)  ¶Ç ´Ù¸¥ ¹øÈ£°¡ ¿Ö ÇÊ¿äÇϽÅÁö??  ³­¼ö ÇÔ¼ö(·£´ýÇÔ¼ö)¸¦ »ç¿ëÇϽŴٰí
ÇÏ½Ã´Â°Í ºÁ¼­´Â ±×³É Áߺ¹¸¸ ¾ÈµÇ°Ô ±¸ºÐÇÏ¸é µÇ´Â°Í ¾Æ´Ñ°¡¿ä? ±×·³ ÀÌ¹Ì id°ª ¼³Á¤ ÇϽŠÇʵ忡 ÀÚµ¿Áõ°¡¸¦ ½ÃÄÑÁֽøé ÇØ°áµÉµí Çϴµ¥

ÀúÈñ ÇÁ·Î±×·¥µµ À¯´ÏÅ©ÇÑ ¼ýÀÚ°ªÀÌ ÇÊ¿ä(ÀúÈñ´Â ³âµµ + ½Ã¸®¾ó 5ÀÚ¸®)Çؼ­ ÃÊâ±â¿¡´Â º°µµ Å×ÀÌºí¿¡ Áߺ¹ üũ¿ë µ¥ÀÌÅ͸¦ ³Ö°í Çߴµ¥
±×³É Çʵ忡 id°ª ¼³Á¤ÇØ ³õ°í ´Ù¸¥ Çʵ忡¼­ ³âµµ + id¼³Á¤µÈ Çʵ尪À» Ãß°¡·Î ³Ö´Â ¹æ½ÄÀ¸·Î ÇØ°áÇß½À´Ï´Ù.

20³âÀü ÀڷᱸÁ¶·Ð°ú ¿î¿µÃ¼Á¦·Ð °øºÎÇÏ¸ç  ³×Æ®¿öÅ© °ü·Ã ÇÁ·Î±×·¥ ÀÛ¼º½Ã µ¿½ÃÀԷºκР¶§¹®¿¡ Ç×»ó ¸Ó¸® ¾ÆÆÄÇß´ø ºÎºÐÀε¥ (±×´ç½Ã¿¡´Â ¿À¶óŬ »©°í´Â ±×·¸°Ô ¼º´ÉÁÁÀº µðºñÇÁ·Î±×·¥µµ ¾ø¾ú°í) ¿äÁòÀº µ¥ÀÌÅÍ º£À̽º ÇÁ·Î±×·¥µéÀÌ ¿ö³« ÁÁ¾Æ ¸¹ÀÌ ÆíÇØÁø°Í °°½À´Ï´Ù(ÇÁ·Î±×·¥ ¼Õ¶¾Áö ÀÌÁ¦ 10³â °¡±îÀÌ µÇ³×¿ä)
     
±èÁ¦¿¬ 2016-04
µî·Ï´ç½Ã±â ¶§¹®¿¡ ÀÔ·ÂÀüÀ̶ó ID °ªÀÌ ¾ÆÁ÷ »ý¼ºµÇÁö ¾ÊÁö ¾Ê³ª¿ä?
¾ÆÁ÷ ¾î¶² ID °ªÀ¸·Î µé¾î°¥Áö ¸ð¸£°Åµç¿ä »ðÀÔÀ̶ó

ID °ªÀº ±×³É ÀÚµ¿À¸·Î ¿Ã¶ó°¡°Ô µÇ¾îÀÖ°í ·£´ýÇÑ°Ç ÀúÈñ°¡ °ü¸® ÇÒ ¼ö ÀÖ´Â ¹øÈ£¸¦ ºÎ¿©Çϱâ À§Çؼ­
±×·¸°Ô ÇÏ·Á°í ÇÕ´Ï´Ù
          
¹ÚÀÎÈ£ 2016-04
·£´ýÇѵ¥ °ü¸®°¡ µÇ³ª¿ä?
ÀúÀåÇϸ鼭 »ý¼ºµÈ id°ª ¹Þ¾Æ¿Í¼­ »ç¿ëÇÏ¸é µÉµíÇѵ¥...
          
id°ªÀº ÀÚµ¿Áõ°¡ÇÏ¿© ¾î¶²°ªÀÌ µé¾î°¥Áö ¸ð¸£°ÚÁö¸¸ »ðÀÔÀÛ¾÷ÀÌ ³¡³­ÈÄ¿¡´Â ¹Ù·Î È®ÀÎÀÌ °¡´ÉÇÏ´Ï ´Ù¸¥ÀÛ¾÷½Ã¿¡´Â ±× °ªÀ» ¹Ù·Î Àоî¿Ã¼ö ÀÖÁö ¾Ê³ª¿ä?
id Çʵ尪À» Á¦¿ÜÇÑ ´Ù¸¥ µ¥ÀÌÅÍ°¡ ±ØÈ÷ µÎ¹® °æ¿ì·Î ¼³È¤ ¶È°°´Ù Çصµ °°Àº µ¥ÀÌÅ͸¦ Àоî¿Â ÈÄ È­¸é¿¡ Ç¥ÃâÇÏ¿© »ç¿ëÀÚ°¡ ¼±ÅÃÇÒ¼ö ÀÖ´Â ¹æ½ÄÀÌ¸é µÉ°Í °°Àºµ¥(ÀúÈñ°¡ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ ¹æ½Ä)

¾î¶² ¿ëµµ·Î »ç¿ëµÇ¾îÁö´Â ÇÁ·Î±×·¥ÀÎÁö°¡°¡ Áß¿äÇϱä Çϰڳ׿ä.
PiPPuuP 2016-04
À¸À½..... vertx°°Àº ÇüÅÂÀÌ¸é ³­¼ö»ý¼º±â¸¦ ½Ì±Û½º·¹µå¼­ºñ½º·Î ¸¸µé¸é µÇ±â´Â Çϴµ¥....
ÀÌ°Ç ¾î¶³±î¿ä?

unix_time ^ device_id

php¶û ¿¬µ¿ÇÒ ¼ö ÀÖ´Â ½Ì±Û½º·¹µå ³­¼ö»ý¼º ¼­ºñ½º¸¦ ã¾Æº¸½Ã´Â°Íµµ ÁÁÀ»µí ÇÕ´Ï´Ù.

¾Æ´Ï¸é Á÷Á¢ ¸¸µå½Ã´Â°Íµµ ÁÁÁÒ.

±¸Á¶°¡
 queue
 rtable
 rthread
ÀÌ·¸°Ô µÇ¾îÀÖ°í
³­¼ö¿äûÀÌ µé¾î¿À¸é queue¿¡ request¸¦ inqueue
rthread¿¡¼­´Â queue¸¦ dequeueÇϸ鼭 ³­¼ö¸¦ º¸³»Áִ°ÅÁÒ.
rtableÀº °ãÄ¡Áö ¾Ê´Â ³­¼öÀÔ´Ï´Ù.
󸮱Ⱑ ½Ì±Û½º·¹µåÀÌ´Ï ¸¸Å­ ÃÖ¼ÒÇÑÀÇ º´¸ñÀ¸·Î unique¸¦ º¸ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.
¹®Á¦´Â syncÀε¥ enqueue¿¡¼­ ¹ß»ýÇÏ°í, thread°¡ dequeue¸¦ ÇÒ ¶§ ¹ß»ýÇÕ´Ï´Ù.
rthread
  run
    while(true)
      lock (queue)
          while (queue is not empty)
            request = queue.dequeue()
            request ( rtable.next() )
          next
      unlock
    next
end

receive_request (request)
    lock (queue)
      queue.enqueue(request)
    unlock (queue)
end

ÀÌ·±½ÄÀ¸·Î µÎ ±ºµ¥°¡ queue¸¦ °¡Áö°í °æÀïÇÕ´Ï´Ù.


·£´ý »ý¼ºµµ ÁÁÁö¸¸, ¼º´ÉÀ» À§Çؼ­ ³­¼öÀΰŰ°Àº °ãÄ¡Áö ¾Ê´Â 8ÀÚ¸® ¼ýÀÚ¸¦ ³ª¿­ÇÏ´Â ÇÔ¼öµµ ±¦ÂùÀ»°Ì´Ï´Ù. ÀÌ °æ¿ì¿¡´Â ±¸Á¶°¡ °£°áÇØÁö°í ±â¾ïÇؾßÇÒ°Ç ´ÙÀ½ ¼ø¹ø»ÓÀÌÁÒ( http://preshing.com/20121224/how-to-generate-a-sequence-of-unique-random-integers/ ). ÀÌ·¸°Ô ±¸ÇöÇÒ °æ¿ì java·Î ±¸ÇöÇÑ´Ù¸é queueÀÌ°Ç rthreadÀÌ°Ç ´Ù ¶§·ÁÄ¡¿ì°í atomicÀ» º¸ÀåÇÏ´Â ¼ø¹ø Çϳª·Î ÇØ°áµÇ±âµµ ÇÕ´Ï´Ù.
PHP ¿¡µµ Atomic integer ¶óÀ̺귯¸®°¡ ÀÖ±º¿ä.
https://github.com/bmatheny/code-snippets/blob/master/php/AtomicInteger.php
ÀÌ°Ô http request Æ®·£Àè¼Ç°£ atomicÀ» º¸ÀåÇÏ´ÂÁö´Â ¸ð¸£°ÚÁö¸¸¿ä.
     
±èÁ¦¿¬ 2016-04
ÀÌ°Ç º»°Íµµ ¾Èº»°Íµµ ¾Æ´Ï³×¿ä .. ½ß Ãʺ¸Àε¥ ¤Ì¤Ì
          
PiPPuuP 2016-04
Á»´õ »ý°¢À» ´Ü¼øÈ­ Çغ¸´Ï, ¼­ºñ½º±îÁö °¥ °Íµµ ¾ø³×¿ä.

¾îÂ÷ÇÇ ÀÏ´Ü µ¥ÀÌÅͺ£À̽º¿¡ ·¹Äڵ尡 µé¾î°¡¸é unique id°¡ ÇÒ´ç µÇ¾úÀ» Å×´Ï ±×´ÙÀ½¿¡ ÀÌ°É ±âÃÊ·Î like randomic sequencial unique number functionÀ» ÅëÇØ ÇÒ´çÇØÁÖ´Â °ÍÀÌ ÁÁÀº ¹æ¹ýÀϵí ÇÕ´Ï´Ù.
http://preshing.com/20121224/how-to-generate-a-sequence-of-unique-random-integers/
ÀÌ°É php·Î ±¸ÇöÇÑ ´ÙÀ½, insert ·¹ÄÚµå ÀÌÈÄ, ÇØ´ç ·¹ÄÚµåÀÇ id¸¦ ÀÌ¿ëÇؼ­ 8ÀÚ¸® À¯´ÏÅ© ¾ÆÀ̵𸦠»ý¼ºÇϴ°ÅÁÒ.
Á» ½±°Ô ¼³¸íÇÏÀÚ¸é record_id -> ¹«ÀÛÀ§Ã³·³ º¸ÀÌ´Â ¾ÆÀ̵ð·Î ¸ÅÇÎÇϴ°̴ϴÙ.
À§ ¸µÅ©ÀÇ ÇÔ¼ö ÇÁ·ÎÅäŸÀÔÀÌ unsigned int permuteQPR(unsigned int x) ÀÌ·¸°Ô µÇ¾îÀִµ¥,
parameter x¸¦ ·¹ÄÚµå id·Î ³Ö´Â°Ì´Ï´Ù.
±×·¯¸é random(ÇÏ°Ô º¸ÀÌ´Â) unique id »ý¼º!

±×·¯´Ï±ñ, request > insert > get latest inserted record_id > convert record_id to my_id > update (my_id) > response
ÀÌ·± ÇüÅ·ΠƮ·»Àè¼ÇÀ» Â¥¸é µË´Ï´Ù.
id °ãÄ¡´Â°Å üũÇÒ ÇÊ¿äµµ ¾ø½À´Ï´Ù.
µû¶ó¼­ º´¸ñÀ» ÃÖ¼ÒÈ­ ÇÒ ¼ö ÀÖÁö¿ä.

8ÀÚ¸® hex number·Î ±¸¼ºÇÏ½Å´Ù¸é ¸Å¿ì¸Å¿ì Æí¸®ÇØÁú°Ì´Ï´Ù.
0123456789ABCDEF
·Î ±¸¼ºµÇ´Â°ÅÁÒ.
00000000 - FFFFFFFF(4294967295) ±îÁö 4294967296(2^32: 32bits)°³ÀÇ id¸¦ ¸¸µé ¼ö ÀÖ½À´Ï´Ù.

¼ýÀڷθ¸ ±¸¼ºµÈ´Ù¸é unique ¾ÆÀ̵ð´Â
0-67108863(2^26: 26bits)
±îÁö °¡´ÉÇϰڳ׿ä.
8ÀÚ¸®¸¦ ¸¸µé±â À§ÇÑ Æ®¸¯À¸·Î
32891136 + (0-67108863) ·Î ±¸¼ºÇϴ°͵µ µÇ°Ú°í¿ä.
ÀÌ °æ¿ì °¡´ÉÇÑ unique id ¹üÀ§·Î´Â 32891136 - 99999999 ÀÌ°Ú½À´Ï´Ù.
¾ÕÀÇ padding¼ýÀÚ¸¦ 10000000 - 32891136 »çÀÌ¿¡¼­ ÀÚÀ¯·ÎÀÌ Àâ¾Æµµ µÇ°í...

unique id¸¦ À§ÇÑ ½Ì±Û½º·¹µå ¼­ºñ½ºµµ ÇÊ¿ä¾ø°í, timeµµ ÇÊ¿ä¾ø°í, À§ÀÇ ¼Ò°³µÈ ¿©·¯ Æ®¸¯µé¿¡ ºñÇØ ¾î·ÆÁöµµ ¾Ê°í(?), °¡º±°í ÁÁ³×¿ä.
               
Àúµµ ½Ì±Û¾²·¹µå ³­¼ö »ý¼º±â¸¦ ´ñ±Û·Î Àû¾îµå¸®·Á´Ù°¡...php °³¹ßÇϽô ºÐµéÀÌ ÇϽñ⿡´Â ¹«¸®°¡ µû¸¦ °Í °°¾Æ¼­...ÆнºÇß¾ú³×¿ä. ;;;;
¸µÅ© ÁֽŠ¹æ¹ý Àá±ñ ºÃ´Âµ¥...±¦Âú¾Æ º¸ÀÔ´Ï´Ù.
Àúµµ ÀÚ¼¼È÷ ÀоîºÁ¾ß°Ú½À´Ï´Ù. ³ªÁß¿¡ ½á¸ÔÀ»µ¥°¡ ÀÖÀ» °Í °°³×¿ä.
°¨»çÇÕ´Ï´Ù~ ^^
Æ÷¿Ã 2016-04
¿Í¿ì~~ ¹æ¹ýÀÌ ¸¹±ä Çϳ׿ä..
Àü ±×³É Æ®¸®°Å·Î ó¸®Çϴµ¥...
°©ÀÚ±â Áߺ¹ÀÌ »ý±æ±îºÁ °ÆÁ¤ÀÌ µÇ³×¿ä..
¾¾Çü 2016-04
°á±¹Àº ½Ã°£À¸·Î ÇÏ´Â°Ô À嶯ÀÔ´Ï´Ù (Áߺ¹Ã¼Å© ¾ÈÇÏ·Á¸é)
ÀÌ°Ô ÀÚ¸®¼ö°¡ ±æ¾îÁú°Í °°À¸¸é 30Áø¼ö 60Áø¼ö µîÀ¸·Î º¯È¯Çϴ°ÅÁÒ (±×·³ ¹ÙÀÌÆ® È® Áִϱî)
ÀÌ·²°æ¿ì ¹®ÀÚ µé¾î°¡´Â°Ç °¨¾ÈÇϼžßÇϱ¸¿ä.
¿ÀÁ÷¼ýÀÚ·Î ÇؾßÇÏ°í Áߺ¹Ã¼Å© ¾ÈÇÏ·Á¸é °á±¹ ½Ã°£À¸·Î Çؾ߰ڱ¸¿ä.(ÀÚ¿¬½º·¯¿î ¼ýÀÚó·³ º¸ÀÏ·Á¸é ¸Ó¸®±¼·Á¼­ ±¸ÇöÀ» Çϼž߰ÚÁÒ)
´ëºÎºÐÀÇ DB¿¡¼­´Â µ¥ÀÌÅÍÀÇ Áߺ¹ÀÔ·ÂÀ» ¹æÁöÇϱâ À§ÇÑ ¹æ¹ýÀ» °¡Áö°í ÀÖ½À´Ï´Ù.

http://kb.globalsoft.co.kr/web/web_view.php?notice_no=183

MySQL(maria db) ¿¡¼­´Â °ªÀ» ÀÚµ¿À¸·Î Áõ°¡½ÃÄÑ ÁÖ´Â auto_increment ¿Í primary key¸¦ °°ÀÌ ¾²µµ·Ï µÇ¾î Àֳ׿ä.

http://blog.daum.net/question0921/539
epowergate 2016-04
¿©·¯ÀÇ°ß Á̴ּµ¥ ¾î¶°ÇÑ ¹æ¹ýÀÌ¶óµµ DB¿¡¼­ transaction/rowlock µî Áö¿øÇÏÁö ¾ÊÀ¸¸é ¸ðµÎ Çã´çÀÔ´Ï´Ù.
±âº»ÀûÀ¸·Î MySQL¿¡¼­ ¿Ïº®ÇÑ ¹æ¹ýÀÌ ¾ø½À´Ï´Ù.
±×³ª¸¶ Çö½ÇÀûÀÎ ¹æ¹ýÀº À§ÀÇ ºÐµéÀÌ ¸»¾¸ÇϽŠ¹æ¹ý »ç¿ëÇϽðí Ãß°¡ÀûÀ¸·Î insertµÈ entry¸¦ ´Ù½Ã È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
mariadb or mysql ¿¡´Â auto increment Ç׸ñÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
     
À§¿¡À§¿¡ ´ä±ÛÀÌ Àֳ׿ä.
ȸ¿øK 2016-04
http://php.net/manual/en/function.uniqid.php ... php¿¡¼­ unique¸¦ ¾²½Ã°í
¾ÕÀÇ prefix¸¦ ³¯Â¥·Î ÇÏ½Ã¸é µË´Ï´Ù.
viper9 2016-04
²À ·£´ýÇÑ °ªÀÌ ÇÊ¿äÇÑ°Ô ¾Æ´Ï¶ó¸é ¿ÀÅäÀÎÅ©¸®¸ÕÆ® ¾²½Ã´Â°Ô ¸Â±¸¿ä.

²À ·£´ýÇÑ °ªÀÌ ÇÊ¿äÇϸé ÇöÀç½Ã°¢¿Í ÀϷùøÈ£ ºÙÀÎ ´ÙÀ½¿¡ MD5·Î Çѹø µ¹¸®´ø°¡ Çϼ¼¿ä.
mariadb¿¡ insert Àü¿¡ ÇÊÈ÷ unique °ªÀ» ¾Ë¾Æ¾ß¸¸ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó¸é
À§¿¡¼­ ¾ð±ÞµÈ °Íó·³ auto_increment·Î ¸¸µç Ä÷³ÀÇ °ª(ID)À» ¾Æ·¡ÀÇ ÇÔ¼ö¸¦
ÀÌ¿ëÇÏ¿© ÇöÀç ¼¼¼ÇÀÇ insert¿¡ ÇÒ´çµÈ °ªÀ» ÀÐ¾î ³À´Ï´Ù.

http://php.net/manual/kr/function.mysql-insert-id.php

insert Àü¿¡ °ªÀÌ ÇÊ¿äÇÏ´Ù¸é ¿À¶óŬÀÇ sequence¸¦ ¾ò´Â °Íó·³ auto_increment·Î
ÁöÁ¤ÇÑ Ä÷³À» °¡Áø Å×À̺íÀ» Çϳª »ý¼ºÇسõ°í insert ÇÏ¿© °ªÀ» ¾òÀº ÈÄ delete
ÇØ ¹ö¸®¸é µÇ°ÚÁÒ ?


QnA
Á¦¸ñPage 158/5590
2015-12   1033812   ¹é¸Þ°¡
2014-05   4481887   Á¤ÀºÁØ1
2002-07   14324   ±è¿ë¼ö
2009-06   14324   Ǫ¸ªÀÌ
2002-06   14322   ±èµ¿¿í
2013-05   14321   ½Å°ü¾Ç»ê
2013-08   14317   º´µû°³´Ô
2011-08   14317   ÀϹÝÀ¯Àú
2002-06   14317   ¹Ú½Ã¿ì
2013-02   14314   Àܵð
2016-03   14314   ±èÁ¦¿¬
2002-06   14311   Á¤·¡Áø
2002-07   14309   ûÇе¿
2012-03   14309   ÀÌÇö¼®1
2002-08   14307   Á¤Àιè
2002-06   14306   ±èÁ¤ÈÆ
2010-06   14304   ¿ì¿ì¾¾¾¾¾¾
2002-06   14303   ±è½ÂÀÏ
2003-05   14302   ±è°Ç¿ì
2002-08   14297   ·ùÀμ±
2014-06   14294   À׿©
2002-08   14294   ±è¹ÎÈ£