koncierge๐Ÿ›Ž::๋ฆฌ๋ฒ ๋ฆฌ์•„ ๊ณ ๋ฆฌ๋Œ€๊ธˆ ๊ทธ๋ฃน

6401 ๋‹จ์–ด functionalshowdevdevelopmentkotlin

ํŠธ๋ผ์Šคํ•€ํ† 
En donde estoy trabajando, cada nuevo feature o idea, A/B ํ…Œ์ŠคํŠธ ํ”„๋กœ๊ทธ๋žจ.
๋…ธ๋จผํŠธ ํ˜ธํ…”
  • ๋…„, ํžˆํ”„ํ…Œ์‹œ์Šค ๋ธ์—์Šคํ‹ธ๋กœ ์žฅ๊ตฐ: "ํˆฌ๋ฐœ๋ฆฌ์˜ค์Šค ํˆฌ๋น„์˜ˆ์Šจ์€ ํ†ต์ง€์ธ์ž…๋‹ˆ๋‹ค. X๋…„, ๋ฐ”๋‚˜ ํ•˜์ฒด์˜ ์นœ๊ตฌ Y๋…„์ž…๋‹ˆ๋‹ค."
  • Desatollamos esta notificaciรณn,o lo que sea.
  • ํ”Œ๋กœ์—๋ฐ”์‹œ ์ฐธ์—ฌ์ž ํ˜‘ํšŒ
  • ์ œ
  • ํ˜ธ ์ œ2ํŒ, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์˜ ์ƒํ˜ธ์ž‘์šฉ, ์ œํ˜ธ ์ œ3ํŒ
  • Esperamos dos semanas
  • ๊ฐœ์˜ ๊ทธ๋ฃจ๋ณด์Šค ์ค‘์‹ฌ์— ์œ„์น˜ํ•œ ๋„์‹œ
  • ์—์Šคํ…Œ๋ฅดํ‹ฐ๋ชจ ํŒŒ์†Œ ํ‘ธ์—๋“œ ๋ ˆ๋ฐœ(Est ๋ถ„์งœ paso puede llevar a miles de Ramificacions): ๋ณด๋ธŒ๋ผ์‹œ์˜น(la poblaciรณn) ๊ทผ์ฒ˜์˜ ํ–‰์‚ฌ์—์„œ ์šฐ๋ฆฌ๋Š” ํ”Œ๋ ˆ๋ฐ”(prueba)๊ฐ€ ๋ฐœ๊ธฐํ•œ ํ–‰์‚ฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.์ด๊ฒƒ์€ ๋ถ€์ •ํ™•ํ•œ ์‹œ๋Œ€๋‹ค.์ž ๊น๋งŒ์š”. ์ž ๊น๋งŒ์š”.
    Poblaciรณn์˜ ์ง€๋ถ€ ์ค‘ ํ•œ ๋ถ€์„œ๊ฐ€ ์„œ๋น„์Šค ์ œ๊ณต์„ ์ฑ…์ž„์ง„๋‹ค.์ด๊ฒƒ์€ ์„œ๋น„์Šค์ ์ธ ์กฐ์ง์œผ๋กœ ์ผ์ƒ์ƒํ™œ์˜ ๊ฐ ๋ถ€๋ถ„์˜ ์ •๋ณด ๊ต๋ฅ˜๋ฅผ ์ฑ…์ž„์ง„๋‹ค.
    ์ฝ”๋ชจ ์ •๋ณด

    El usuario 123 es de Madrid
    para que luego, cuando queramos segmentar, podrรญamos segmentar solo usuarios de Madrid.


    Este servicio externo, adicionalmente, solo nos provee acceso a las Varians(์ผ๋ฐ˜์ ์œผ๋กœ ์„ธ๊ทธ๋จผํŠธ, ์ œ์–ด ๋ถ€๋ถ„, ์ฐธ์—ฌ ๋ถ€๋ถ„) mediante un SDK para usar en mรณviles(iOS y Android).
    ์–ด๋ ค์›€ ์—†์Œ:
  • ์€ ๋ฐฑ์—”๋“œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜alguno์—์„œ A/B ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ์ƒ๋‹ด ์„œ๋น„์Šค๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.
  • ์€ ์ •๋ณด ์„œ๋น„์Šค๊ฐ€ ์—†๋Š” ์ƒํ™ฉ์—์„œ ์ด๊ฒƒ์€ ์„ธ๋ถ„ ์‹œ์žฅ์ด๋‹ค. ์ด ์„ธ๋ถ„ ์‹œ์žฅ์—์„œ ์šฐ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ์ •๋ณด๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ˜„์žฌ ์ƒํ™ฉ์„ ๋ณด๋ฉด ์„ธ๋ถ„ ์‹œ์žฅ๊ณผ ์„ธ๋ถ„ ์‹œ์žฅ์˜ ๋ฏธ์‹œ์  ์„œ๋น„์Šค๊ฐ€ ํ†ต์ƒ์ ์ธ ์ƒํ™ฉ์˜ ๋ณ€ํ™”๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

    ๋ฌธ์ œ.
    ์ด๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹จ๋ฝ ์ •๋ณด์˜ ํš๋“ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
    ์ •์ƒ์ ์ธ ์„ธ๋ถ„ ์‹œ์žฅ, ์ •๋ณด ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์ปจ์„คํŒ… ํšŒ์‚ฌ ํฌํ•จ;๋„ค, ์ œ ์นœ๊ตฌ๋“ค์ž…๋‹ˆ๋‹ค.
    ์ด๊ฒƒ์€ ์ƒˆ๋กœ์šด ์ •๋ณด ์‹œ๋Œ€๋‹ค.
    ๋‹น์‹ ์˜ ์ทจ๋ฏธ:

    Como evitar que este micro-servicio crezca cada vez introduzcamos un nuevo micro-servicio que almacene alguna informaciรณn del usuario?


    ์˜ˆ๋ฅผ ๋“ค์–ด ์šฐ๋ฆฌ๋Š” ์ฑ…์ž„์ž์™€ ์กฐ์šฉํ•œ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์˜์‹์ด ํ•„์š”ํ•˜๋‹ค.๋‚ด๊ฐ€ ๋„ˆ์—๊ฒŒ ๋งํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์€:

    Dado el usuario 123, de Madrid; a quรฉ variante pertenece?


    ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ, ๊ทธ๋“ค์€ ์‹คํ—˜์— ํ•„์š”ํ•œ ์—๋„ˆ์ง€๋ฅผ ๋Œ€๋Ÿ‰์œผ๋กœ ์†Œ๋ชจํ•˜๊ณ , ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์—ฌ, ๋” ๋งŽ์€ ์‹คํ—˜์— ํ•„์š”ํ•œ ์—๋„ˆ์ง€๋ฅผ ์–ป๊ณ , ์ปดํ“จํ„ฐ์— ํ•„์š”ํ•œ ์—๋„ˆ์ง€๋ฅผ ํ˜•์„ฑํ•˜๋ฉฐ, ์‹ ๋ขฐํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค.

    DSL(ํŠน์ • ์˜์—ญ ์–ธ์–ด-๋„๋ฏธ๋‹‰์–ด)
    ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค์˜ ๊ตฌ์„ฑ ๋ถ€๋ถ„์—์„œ ์ƒˆ๋กœ์šด ๋ถ€์„œ๋Š” ์ƒˆ๋กœ์šด ๋ถ€์„œ์ด๋‹ค. ์ด ๋ถ€์„œ๋Š” Mongo ๋…„ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ํ”„๋กœ์ ํŠธ๋Š” ํƒ์ƒ‰์— ํฅ๋ฏธ๊ฐ€ ์žˆ๋Š” ๋ถ€์„œ์ด๋‹ค.
    ์ฝ”๋ชจ ์ง€๋ถ€์˜ ์ด์ฒด์  ํ˜•์‹:

    Quiero que solo participen del experimento EXP001, usuarios quienes sean de Madrid. De estos, la mitad estarรกn en el grupo de participando y el esto en control.


    ์ €๋Š” transformariaen์ž…๋‹ˆ๋‹ค.
    {
      "EXP001": {
        "ubicaciรณn": "Madrid",
        "$children": {
          "participando": { "$rand": { "$gt": 0.5 } },
          "control": {}
        }
      }
    }
    

    Playground
    deesta manera, deberia proveer ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ํšŒ์‚ฌ, al menos, la informaciรณn De la "ubicaciรณn" del usuario.
    ๋ถˆ๊ฐ€๋Šฅํ•œ ์˜์‚ฌ๊ด€:
    {
        "ubicaciรณn": "Madrid",
        "userId": 5
    }
    
    El micro servicio deberรญa responder que pertence al EXP001(dado que la ubicaciรณn empareja con la definiciรณn),y podrรญa pertenecer a la variante participando o control.
    ์ผ๋ฐ˜์ ์œผ๋กœ 50%-50% ์‚ฌ์ด์— ๋ถ„ํฌํ•œ๋‹ค.๋‹ด์žฅ ๋ณดํ˜ธํŒ ์‚ฌ์šฉ๋ฅ ์€ 50%, ๊ตฐ๋ณต ๋ฐฐํฌ์„ผํ„ฐ๋Š” 0.1(์ฝ”๋ชจ์ฆˆ $rand), ํ•ด์–‘์‹œ์žฅ์€ 0.5๋‹ค.
    ์ด๋…์ ์œผ๋กœ ๋ณด๋ฉด ์‹ ์ƒํƒœ ์ฒด๊ณ„์˜ ๊ธฐ์ดˆ ๊ตฌ์กฐ์—์„œ ๋ฏธ์‹œ์  ์„œ๋น„์Šค๋Š” ์–ด๋– ํ•œ ๊ตฌ์†๋„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.๋‚ด๊ฐ€ ๋ณด๊ธฐ์— ์ด๊ฒƒ์€ ์ž์œ ๋กœ์šด ์„ธ๊ณ„์ด๋‹ค.์ด๊ฒƒ์€ ์•„์ฃผ ์ข‹์€ ์˜ˆ๋‹ค.

    koncierge๐Ÿ›Ž
    La librerรญa estรกen GitHub/jazcarate/koncierge
    ํ‘œ์ง€ ์‚ฌ์ง„์€ Nicolas Cool์—์„œ Unsplash์œผ๋กœ ๋ฐœ์†ก

    ์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ