Olùmúdásílẹ̀ Ẹgbẹ́ Àdámọ́ Ọ̀fẹ́

Pin àkójọpọ̀ orúkọ sí àwọn ẹgbẹ́ àdámọ́ tí ó dọ́gba — nípa iye ẹgbẹ́ tàbí iye ẹgbẹ́ kọ̀ọ̀kan. Ìṣàkàwé tí ó dájú fún cryptography, àtúndá kíákíá.

Ó ń ṣiṣẹ́ láìsí ìsopọ̀ ní kété tí a bá kó wọlé
Àwọn àtòjọ tí a fi pamọ́

A ń ránti àtòjọ àti ètò rẹ tó kẹ́yìn lórí ẹ̀rọ yìí. Fún àtòjọ ní orúkọ láti tọ́jú rẹ̀ fún ìgbà mìíràn.

Kò tíì sí àtòjọ tí a fi pamọ́.

Àwọn orúkọ ẹgbẹ́ (kò pọndandan)

Fi sílẹ̀ lófo láti lo àwọn àwọ̀. O tún lè sọ ẹgbẹ́ kan lórúkọ padà lórí káàdì rẹ̀.

Fi àwọn ìdíwọ̀ kún (kò pọn dandan)

Ẹgbẹ́ kan fún ìlà kọ̀ọ̀kan; fi & tàbí kọ́mà pín àwọn orúkọ. Àwọn ènìyàn wọ̀nyí máa wà lórí ẹgbẹ́ kan náà nígbà gbogbo.

Ẹgbẹ́ kan fún ìlà kọ̀ọ̀kan; fi & tàbí kọ́mà pín àwọn orúkọ. Àwọn ènìyàn wọ̀nyí máa wà lórí ẹgbẹ́ ọ̀tọ̀ọ̀tọ̀.

💡 A ń mú ẹgbẹ́ dọ́gba nípa lílo yíyàn snake draft, nítorí náà ìwọ̀n wọn kò yàtọ̀ ju ọ̀kan lọ. Ìdàpọ̀ ń lo àrìnàkò tí ó ní ààbò cryptographic ti aṣàwárí rẹ — tòótọ́ ní àdálẹ́. Ó dára fún kíláàsì eré-ìmárale, eré-ìdárayá, iṣẹ́ àwùjọ, alẹ́ eré, àti pípín irú secret-santa.

Bí Ó Ṣe Ń Ṣiṣẹ́

Ìpín ẹgbẹ́ ń ṣiṣẹ́ pátápátá nínú aṣàwákiri rẹ ní lílo yíyí Fisher-Yates tí ó ní ààbò cryptographic (tí crypto.getRandomValues API Web Crypto ń fún ní agbára) pọ̀ mọ́ ìpín snake-draft fún àwọn ẹgbẹ́ tí ó bára mu. Nígbà tí a bá fi àwọn ìdí pa-pọ̀-mọ́ tàbí pa-yà-sí-ọ̀tọ̀ kún un, olùmúpari ìkójọpọ̀ union-find pẹ̀lú títí dé àtúnbẹ̀rẹ̀ 400 tí a yàn láìròtẹ́lẹ̀ ń rí ìpín tí ó bára mu jùlọ tí ó sì tọ́.

  1. 1
    Ìpín àtòjọ orúkọ
    A ń pín àwọn orúkọ lórí ìlà tuntun àti kọ́mà, a ń yọ àyè kúrò lára wọn, a sì ń yọ àwọn tí ó tún ṣe kúrò. O lè lo olùpín méjèèjì lásàrọ́ — parser náà ń mú wọn ní ìgbésẹ̀ kan.
  2. 2
    Yíyí tí ó ní ààbò cryptographic
    crypto.getRandomValues aṣàwákiri tí a kọ́ sínú rẹ̀ ń kó Uint32Array kan pẹ̀lú nọ́mbà 32-bit láìròtẹ́lẹ̀ kan fún orúkọ kọ̀ọ̀kan. Yíyí náà ń lo àwọn iye wọ̀nyí pẹ̀lú pípín ìwọ̀n dípò modulo, tí ó ń yọ ìtẹ̀sí modulo tí ó ń bàjẹ́ àwọn olùyí Math.random() kúrò.
  3. 3
    Ìpín tí ó bára mu tàbí ìdí ìpinnu
    Láìsí àwọn ìdí, a ń pín àwọn orúkọ ní lílo àwòṣe snake-draft (òsì-sí-ọ̀tún ní àwọn yíyíká déédéé, ọ̀tún-sí-òsì ní àwọn yíyíká odi) nítorí náà ìwọ̀n ẹgbẹ́ kì í yàtọ̀ ju ọ̀kan lọ. Pẹ̀lú àwọn òfin pa-pọ̀-mọ́ tàbí pa-yà-sí-ọ̀tọ̀, a ń kó àwọn orúkọ sí àwọn ìkójọpọ̀ nípasẹ̀ union-find, olùmúpari greedy tí a yàn láìròtẹ́lẹ̀ sì ń gbìyànjú títí dé àwọn ìtòsí 400 tí ó sì ń pa ìpín tí ó ní àìdọ́gba ìwọ̀n kékeré jùlọ mọ́.
  4. 4
    Gbé jáde gẹ́gẹ́ bí ọ̀rọ̀ lásán, CSV, tàbí ìjápọ̀ tí a lè pín
    A lè dàkọ àwọn àbájáde gẹ́gẹ́ bí ọ̀rọ̀ lásán, gba wọ́n gẹ́gẹ́ bí fáìlì .txt tàbí .csv (tí a kọ́ pẹ̀lú API Blob aṣàwákiri), tàbí pín in nípasẹ̀ hash URL tí ó ṣe àmúlò gbogbo ipò ìjókòó pátápátá ní base64url — kò sí sáfà tí ó kàn ní àkókò èyíkéyìí.

Àwọn Irinṣẹ Tó Jọra

Àwọn Ìbéèrè Tí A Máa Ń Béèrè