Git Product home page Git Product logo

djyurika_js's Introduction

iSwanGit's github stats

Top Langs

๐ŸŒฑ Iโ€™m currently using & learning ...

  • TypeScript(node.js) / React / Angular
  • Java / Spring Boot / Android (just a little!)
  • C# / WinForm / WPF (just a little!)
  • Python / Django / Flask ...
  • MySQL(MariaDB)
  • Docker

djyurika_js's People

Contributors

dependabot[bot] avatar iswangit avatar

Stargazers

 avatar

Watchers

 avatar  avatar

djyurika_js's Issues

Bot sometimes skips music which is currently being played

๊ฐ€๋”์”ฉ ์žฌ์ƒ์ค‘์ด๋˜ ๋…ธ๋ž˜๊ฐ€ ์Šคํ‚ต๋จ

์ •ํ™•ํžˆ ์–ด๋Š ๋ฌธ์ œ์ธ์ง€ ์ž˜ ํ‹ฐ๋„ ์•ˆ๋‚จ...tq

์„œ๋ฒ„ ๋ณ„ ํ™˜์˜ ๋ฐ ์„ค์ •

  1. ์„œ๋ฒ„ ์ž…์žฅ์‹œ ํ™˜์˜๋ฉ”์‹œ์ง€ (๋Œ€์ƒ ์ฑ„๋„์€ ์–ด๋””๋กœ? ๊ธฐ๋ณธ์ฑ„๋„)
  2. ์—ญํ•  ์ง€์ • ๊ถŒํ•œ์ œ์–ด (normal, mod, dev), ๊ธฐ๋ณธ๊ฐ’์€ ์ง€์ •์—†์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ
  3. ์‘๋‹ต ์ฑ„๋„ ์„ค์ •, ์ „์šฉ์ฑ„๋„๋กœ ์ œ์–ด ๊ฐ€๋Šฅ, ๊ธฐ๋ณธ๊ฐ’์€ ์ง€์ •์—†์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ
  4. ์„œ๋ฒ„๋ณ„ ํ”Œ๋ ˆ์ด ์ด๋ ฅ ๊ด€๋ฆฌ (ddj400 ๊ณ„์ •์„ ๋”ฐ๋กœ ๋‘ฌ์•ผ ํ•˜๋‚˜?)

Cannot make now playing progressbar

๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด์„œ voice ๊ด€๋ จ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ๋ฐ”๋€œ
๊ธฐ์กด์˜ dispatcher.streamTime ์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ์ž์›์ด ์—†๋‹ค

AudioResource.playbackDuration ์œผ๋กœ ์ „์ฒด ๊ธธ์ด๋Š” ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ˜„์žฌ ์–ผ๋งˆ๋‚˜ ์žฌ์ƒํ–ˆ๋Š”์ง€๋ฅผ ์•Œ ์ˆ˜๊ฐ€ ์—†์Œ

์žฌ์ƒ ์‹œ์ž‘ ์‹œ์ ์˜ Date์™€ ํ˜„์žฌ๋ฅผ ๋น„๊ตํ•˜๋ ค ํ–ˆ์œผ๋‚˜, ์ผ์‹œ์ •์ง€ ํ•œ ๊ฒฝ์šฐ ๊ผฌ์ž„.
play/pause/end ๋กœ ์ œ์–ด ๊ฐ€๋Šฅํ•œ flag์™€ ํ•จ๊ป˜ <1s ๋‹จ์œ„๋กœ setInterval ์‚ฌ์šฉํ• ๊นŒ ์ƒ๊ฐ๋„ ํ–ˆ๋Š”๋ฐ, ๋งค์šฐ ๋น„ํšจ์œจ์ ์ธ ์—ฐ์‚ฐ์ด ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ...

Should I every edit environment object whenever I add new server?

์ฐธ์—ฌํ•˜๋Š” ์„œ๋ฒ„์— ๋Œ€ํ•œ ํ™˜๊ฒฝ์„ค์ • ๊ฐ’ ์ž๋™ํ™”/์ฒด๊ณ„ํ™” ํ•„์š”

Problems

  • ๋งค๋ฒˆ ์„œ๋ฒ„๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„id, ๋ช…๋ น์–ด์ฑ„๋„id, dev/mod ์—ญํ•  id ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•จ

๋ญ”๊ฐ€ ํ˜์‹ ์ ์ธ(?) ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์•ผ ํ•  ๊ฒƒ ๊ฐ™์Œ

Bot may not quit automatically under some certain conditions

๋ด‡์ด ๋‚˜๊ฐ€์•ผ ํ•  ์ƒํ™ฉ์— ๋ชป๋‚˜๊ฐ€๋Š” ํ˜„์ƒ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ

์ž๋™ ๋žœ๋ค์žฌ์ƒ ํ™˜๊ฒฝ์„ค์ • ๊ฐ’์ด ์•„์ง ๊ตฌํ˜„ ์•ˆ๋œ ๊ฒƒ์„ ์ „์ œ๋กœ ํ•จ

1. ์ผ์‹œ์ •์ง€ ์ƒํƒœ

Expected

  • ์•„๋ฌด๋„ ์—†์„ ๊ฒฝ์šฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ถ”๊ฐ€ํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ชจ๋‘ ์žฌ์ƒํ•œ ๊ฒฝ์šฐ ๋žœ๋ค์žฌ์ƒ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์ธ์›์ˆ˜ ์ฒดํฌํ•˜์—ฌ ์ž๋™์œผ๋กœ ํ‡ด์žฅ

Actually

  • ์ผ์‹œ์ •์ง€ ์ƒํƒœ์—์„œ ์•„๋ฌด๋„ ์—†์„ ๊ฒฝ์šฐ, ๊ณ„์† ๊ทธ์ƒํƒœ๋กœ ์–ผ์Œ ์ƒํƒœ

Solutions (available)

  • ์ผ์‹œ์ •์ง€ ์ƒํƒœ์— ๋“ค์–ด๊ฐ„ ์‹œ๊ฐ์„ ๊ธฐ์ค€์œผ๋กœ ํŠน์ • ์‹œ๊ฐ„ ํ›„์—๋„ ์•„๋ฌด๋„ ์—†์„ ๊ฒฝ์šฐ, ํ‡ด์žฅ
    (setInterval ํ˜น์€ setTimeout์ด ๋“ค์–ด๊ฐ€์„œ ์ด๋ฒคํŠธ ์ž์›์ด ์†Œ๋ชจ๋  ์ˆ˜ ์žˆ์Œ)
  • ..?

2. ๋ฐ˜๋ณต ์„ค์ • ์ƒํƒœ

Expected

  • ์•„๋ฌด๋„ ์—†์„ ๊ฒฝ์šฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ถ”๊ฐ€ํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ชจ๋‘ ์žฌ์ƒํ•œ ๊ฒฝ์šฐ ๋žœ๋ค์žฌ์ƒ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์ธ์›์ˆ˜ ์ฒดํฌํ•˜์—ฌ ์ž๋™์œผ๋กœ ํ‡ด์žฅ

Actually

  • ๋ฐ˜๋ณต์ด ๋“ค์–ด๊ฐ„ ๊ฒฝ์šฐ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๊ณ„์† ์ฐจ์žˆ์œผ๋ฏ€๋กœ ๋ฌดํ•œ ๋ฐ˜๋ณต ์žฌ์ƒ

Solutions (available)

  • ๋ฐ˜๋ณต์œผ๋กœ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ์— ์ž๋™์œผ๋กœ ์ฑ„์šฐ๋Š” ๊ฒฝ์šฐ, ์„ ๊ณก์ž๋ฅผ ๋ด‡์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•
    ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ž๋™ํ‡ด์žฅ ์กฐ๊ฑด์— ์„ ๊ณก์ž๊ฐ€ ๋ด‡์ธ ๊ฒฝ์šฐ๋„ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ
  • ...?

๊ฐœ์„  ์ œ์•ˆ์‚ฌํ•ญ ์ถ”๊ฐ€

์žฌ์ƒ ๊ณก ๋‹ค์‹œ ์‹œ์ž‘

  • loop๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์ˆ˜๋™์œผ๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ

๋Œ€๊ธฐ์—ด ์˜์—ญ ์ง€์ • ๊ณก ์‚ญ์ œ

  • ์‹œ์ž‘์ธ๋ฑ์Šค, ๋์ธ๋ฑ์Šค

์œ ํŠœ๋ธŒ ๋ฎค์ง ๋งํฌ ์ธ์‹์‹œํ‚ค๊ธฐ

  • music.youtube.com

์ž๋™ ์ •์ง€ ๋ฐ ๋‚˜๊ฐ€๊ธฐ

  • ์•„๋ฌด๋„ ์—†๋Š”๋ฐ ๊ณ„์† ์žฌ์ƒํ•˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
  • ์กฐ๊ฑด: ๋Œ€๊ธฐ์—ด์— ๊ณก ์—†์Œ (๋žœ๋ค์žฌ์ƒ์ค‘) && ์Œ์„ฑ์ฑ„๋„์— ๋ด‡๋ฐ–์— ์—†์Œ
  • ๋‚˜๊ฐ€๋Š”(ํŒ๋‹จํ•˜๋Š”) ์‹œ์ : ํ˜„์žฌ ์žฌ์ƒ์ค‘์ธ ๊ณก ์ข…๋ฃŒ ์งํ›„

Unhandled error occurred sometimes

API ์‘๋‹ต ์—๋Ÿฌ ์ฒ˜๋ฆฌ๊ฐ€ ์•ˆ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€๋”์”ฉ ๋กœ๊ทธ์— ๋‚จ์Œ

๋‹น์žฅ ๋ˆˆ์— ๋„๋Š” ํฌ๋ฆฌํ‹ฐ์ปฌํ•œ ๋ฌธ์ œ๋Š” ์—†๋Š”๋ฐ node.js ์ž์ฒด์—์„œ ์Šค๋ฃจ์‹œํ‚ค๋Š”๊ฑด์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์Œ (์ฐ์ฐ

์œ ํŠœ๋ธŒ ๋กœ๋“œ๊ด€๋ จ dispatcher ๋ฌธ์ œ์ธ์ค„ ์•Œ๊ณ  07c4d27 ์—์„œ try catch๊นŒ์ง€ ๊ฐ์‹ธ๋†จ๋Š”๋ฐ ๊ทธ๊ฒŒ ์•„๋‹Œ๋“ฏ

UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message
    at RequestHandler.execute (/home/djyurika/djyurika_js/node_modules/discord.js/src/rest/RequestHandler.js:154:13)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async RequestHandler.push (/home/djyurika/djyurika_js/node_modules/discord.js/src/rest/RequestHandler.js:39:14)

UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode).

[DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

discordjs์—์„œ๋Š” 400๋ฒˆ๋Œ€ ์‘๋‹ต ์ˆ˜์‹ ์‹œ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋„๋ก ์ •์˜๋˜์–ด ์žˆ์Œ.
๋ฉ”์‹œ์ง€ ๋“ฑ discord api๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋“  ๋น„๋™๊ธฐ ๋ฉ”์„œ๋“œ ์ฒดํฌํ•  ๊ฒƒ

Bot responds to any emojis

Description

๊ฒ€์ƒ‰๊ฒฐ๊ณผ์—์„œ ๋ด‡์ด ์•„๋ฌด ์ด๋ชจ์ง€์—๋‚˜ ๋ฐ˜์‘ํ•จ (๋ด‡์ด ์ œ์‹œํ•œ ์„ ํƒ์ง€ ์™ธ์˜ ์ด๋ชจ์ง€๋ฅผ ๋ฌด์‹œํ•˜์ง€ ์•Š์Œ)

Reproduce

~p ํ‚ค์›Œ๋“œ๊ฒ€์ƒ‰ ํ›„ ๋‹ค๋ฅธ ์ด๋ชจ์ง€ ์ถ”๊ฐ€
์ด๊ฒŒ ๊ทธ ์ค‘๊ฐ„์— ๊ถŒํ•œ? ์—ญํ• ? ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฐ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ๋Š”๋ฐ ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ๊ทธ๋Ÿด๋•Œ๊ฐ€ ์žˆ๊ณ  ์•ˆ๊ทธ๋Ÿด๋•Œ๊ฐ€ ์žˆ์Œ
์Œ์„ฑ๋ฐฉ์— ๋“ค์–ด๊ฐ€์žˆ์œผ๋ฉด ์•„๋ฌด๋ฐ˜์‘ ์•ˆํ•˜๋Š”๋ฐ ์•ˆ๋“ค์–ด๊ฐ€์žˆ์œผ๋ฉด ์•„๋ฌด ์ด๋ชจ์ง€์—์„œ ๋‹ค ๋ฐ˜์‘ํ•จ

Expected behavior

์Œ์„ฑ์ฑ„ํŒ…์— ์—†์„๋•Œ, ๋ด‡์ด ๋‹ฌ์•„๋‘” ๊ฒƒ์—๋งŒ ๋ฐ˜์‘ํ•ด์•ผ ํ•˜๊ณ ,
๋‚˜๋จธ์ง€๋Š” ์ „๋ถ€ ๋ฌด์‹œ IGNORE

Screenshots

dj

Possible cause and/or solution

(draft)
์ฝ”๋“œ๊นŒ๋ด์•ผ์•Œ๊ฒ ์ง€๋งŒ... ์ •ํ•ด์ง„ ๋ฒ”์œ„ ์•ˆ์—์„œ๋งŒ ์‘๋‹ตํ•˜๊ฑฐ๋‚˜ ์‘๋‹ตํ•ด๋‘” ์ด๋ชจ์ง€ ๋ฒ”์œ„๋ฅผ ๊ฐ–๊ณ ์žˆ๊ฑฐ๋‚˜...
์Œ์„ฑ์ฑ„๋„ ์ ‘์†ํ–ˆ๋Š”์ง€ ์—ฌ๋ถ€? ๋ž‘ ์ˆœ์„œ ๊ณ ๋ คํ•ด๋ณผ ํ•„์š”๋„ ์žˆ์„ ๋“ฏ

Not changing message send channel

๋ช…๋ น์–ด ์ฑ„๋„์„ ์ „ํ™˜ํ•œ ํ›„์—, ๊ณก ์žฌ์ƒ ๊ด€๋ จ ๋ฉ”์‹œ์ง€๊ฐ€ ์ƒˆ ์ฑ„๋„์— ๋‚˜์˜ค์ง€ ์•Š์Œ

ํ™•์ธ๋œ ์ƒํ™ฉ

  • ์Šคํ‚ต
  • ๋‹ค์Œ ๊ณก์œผ๋กœ ๋„˜์–ด๊ฐˆ ๋•Œ

์˜ˆ์ƒ๋˜๋Š” ํฌ์ธํŠธ

  • ์–ด์จŒ๋“  player๊ด€๋ จ ์ด๋ฒคํŠธ ์ฝœ๋ฐฑ์—์„œ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ์ฑ„๋„์„ ์ฐธ์กฐ
  • ๋ณ€๊ฒฝํ•œ ๋ช…๋ น์–ด ์ฑ„๋„์ด BotConnection ๋‚ด๋ถ€์˜ config์— ์ „ํŒŒ ์ œ๋Œ€๋กœ ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€ ํ™•์ธํ•˜๊ธฐ
  • ์ด๋ฒคํŠธ ์ฝœ๋ฐฑ ๋‚ด๋ถ€์—์„œ ์ƒˆ๋กœ ๋ณ€๊ฒฝ๋œ config ๋‚ด๋ถ€์˜ channel์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š”๊ฐ€ ํ™•์ธํ•˜๊ธฐ

Still paused when skip or restart

์ผ์‹œ์ •์ง€ ์ƒํƒœ์—์„œ ~r ํ˜น์€ ~s ๋ฅผ ํ†ตํ•ด ๊ณก์ด ์ƒˆ๋กœ ์žฌ์ƒ๋˜์–ด์•ผ ํ•  ๋•Œ ํ๋ฆ„์ƒ ์ผ์‹œ์ •์ง€ ์ƒํƒœ๊ฐ€ ํ’€๋ ค์•ผ ๋งž๋Š”๋ฐ ํ’€๋ฆฌ์ง€ ์•Š์Œ

Includes song which are picked by user, but not played yet when random picks

DB์— ๊ธฐ๋ก๋˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฌด์กฐ๊ฑด ๋žœ๋คํ”ฝ ๋Œ€์ƒ์ด ๋จ

๋Œ€์ถฉ ๋žœ๋ค์žฌ์ƒ์‹œ ๊ณ ๋ฅด๊ธฐ๋งŒ ํ•˜๊ณ  ์žฌ์ƒ ์•ˆํ•œ ๊ณก๋„ ์„ ํƒ๋œ๋‹ค๋Š” ๋œป

๊ณ ๋ ค๋˜์ง€ ์•Š์€ ์ƒํ™ฉ (Not expected situation)

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋…ธ๋ž˜๋ฅผ ์ž˜๋ชป ์ถ”๊ฐ€ํ•˜์—ฌ ์ง€์›€
  • ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ ํ›„ ์ผ๋ถ€ ๊ณก๋งŒ ์‚ญ์ œ
  • ๋“ฑ...? ๋ชฐ๋ฃจ

๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• (Solutions available)

  • ๋žœ๋ค ์žฌ์ƒ์‹œ playCount๊ฐ€ 0์ธ ๊ณก์€ ๊ฑฐ๋ฅธ๋‹ค
    • ๋“ฃ๊ณ ์‹ถ์€๋ฐ ๋ชป๋“ฃ๊ณ  ๋‚˜๊ฐ„ ์ƒํ™ฉ์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ?
    • ์–ธ์  ๊ฐ€ ๋“ค์–ด์•ผ์ง€ ํ•ด๋†“๊ณ  ๋“ฑ๋ก๋งŒ ํ•ด๋‘˜ ๊ฒฝ์šฐ๋„ ๋ถ„๋ช… ์žˆ์„ํ…๋ฐ
  • ์ง€์ • ์•„์ดํ…œ์„ ๋ฆฌ์ŠคํŠธ์—์„œ ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ณต๊ฐœ

Type Declaration

use @types directory

tsc ๋Œ๋ฆฌ๋ฉด ๋‚˜์˜ค๋Š” ๊ผฌ๋ผ์ง€๊ฐ€ ๋ญ๋ƒ ๊ทธ๊ฒŒ

Can I save custom playlist?

Topic of idea: ์—ด์‹ฌํžˆ ์žฌ์ƒ๋ชฉ๋ก ์ˆœ์„œ๊นŒ์ง€ ์กฐ์ •ํ•ด์„œ ๋งŒ๋“ค์–ด๋†จ๋Š”๋ฐ, ์ด๊ฑฐ ์œ ํŠœ๋ธŒ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์—†์ด ๋‚ด๋ง˜๋Œ€๋กœ ์“ฐ๊ณ ์‹ถ๋‹ค๋ฉด?

keyword:
db playlist table
ํ˜„์žฌ ๋Œ€๊ธฐ์—ด ์Šค๋ƒ…์ƒท(?) ํ˜น์€ index ์ง€์ •ํ•ด์„œ ์ €์žฅ + ์ด๋ฆ„์ง€์ •
์ €์žฅ๋œ ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์ œ๊ณต, ์ด๋ฆ„๋ฐ”๊พธ๊ธฐ?, ์‚ญ์ œ (์ˆ˜์ •์€ ํž˜๋“ค๋‹ค ์‹œ๋ฒŒ)
๋Œ€๊ธฐ์—ด์— ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ (id param)

Queue text exceeds limit of embed message

more than 70 songs (*can't count exactly)

[2021/05/03 22:05:07.327] [ERROR]  (node:64) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body
embed: Embed size exceeds maximum size of 6000
    at RequestHandler.execute (/home/djyurika/djyurika_js/node_modules/discord.js/src/rest/RequestHandler.js:154:13)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async RequestHandler.push (/home/djyurika/djyurika_js/node_modules/discord.js/src/rest/RequestHandler.js:39:14)
(Use `node --trace-warnings ...` to show where the warning was created)

100๊ณก ๋„˜์œผ๋ฉด ์•ˆ๋˜๊ณ  ํ•œ 70๊ณก ์ด์ƒ์€ ๋Œ€์ถฉ ๋˜์—ˆ๋˜ ์  ์žˆ์Œ

Initialize/Update guild info

1. Initialization

์ถ”๊ฐ€ํ• ๋•Œ ๋ช…๋ น์–ด ๋ฐ›์„ ์ฑ„๋„ ๋“ฑ ์–ด๋–ป๊ฒŒ ํ• ์ง€..

2. Update

๋””์Šค์ฝ”๋“œ์ƒ์˜ ๊ธธ๋“œ ์ •๋ณด๊ฐ€ ๋ฐ”๋€Œ๊ฑฐ๋‚˜, ๋ถ€๊ฐ€์ ์œผ๋กœ ์„œ๋ฒ„(๊ธธ๋“œ)๊ด€๋ฆฌ์ž๊ฐ€ ๋ช…๋ น์–ด์ฑ„๋„ ๋“ฑ์˜ ํ•„์ˆ˜์ •๋ณด ๋ณ€๊ฒฝํ•„์š”์‹œ ๋“ฑ...
(์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋“ฑ๋ก๋งŒ ํ•ด๋‘ )

Something inconvenient (์ƒ๊ฐ๋‚˜๋Š” ๊ฐœ์„ ์‚ฌํ•ญ๋“ค)

๋žœ๋ค์žฌ์ƒ: ํ•œ๋ฒˆ ์„ž๋ƒ, ๋งค๋ฒˆ ์„ž๋ƒ?

  • ๊ตฌํ˜„๋œ ๋žœ๋ค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŠน์„ฑ์ƒ ์™„๋ฒฝํ•œ ์…”ํ”Œ์„ ๋Œ๋ฆฌ๊ธฐ ์‰ฝ์ง€ ์•Š์Œ
  • ๋“ค์—ˆ๋˜ ๊ณก์ด ์—ฌ๋Ÿฌ๋ฒˆ ๋˜๋‚˜์˜ค๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒ
  • ๋žœ๋ค ์žฌ์ƒ์‹œ ์ด์ „์— ๋“ค์—ˆ๋˜ ๊ณก์„ ๊ธฐ์–ตํ•˜๋Š” ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ด ๋˜‘๊ฐ™์€ ๊ณก์ด ๋˜๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€
    (์„ ํƒ๊ฐ€๋Šฅ, ์˜ต์…˜์ด ์ผœ์ง€๋Š” ์‹œ์ ์—์„œ ๊ธฐ์–ต)
  • ๋‹ค์Œ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์—†์œผ๋ฉด ์ „์ฒด ๋ฆฌ์ŠคํŠธ ํ•œ๋ฒˆ ์„ž์–ด์„œ ๋ฐ›์•„์˜จ ๋‹ค์Œ์— ํ•˜๋‚˜์”ฉ shiftํ•˜๋Š” ๊ฒƒ๋„ ๊ดœ์ฐฎ์„๋“ฏ
  • ๊ณก์ด ์ถ”๊ฐ€๋˜๋ฉด ๊ทธ๊ฑฐ ๋จผ์ € ์žฌ์ƒํ•œ๋‹ค์Œ ๋๋‚˜๋ฉด ๋‹ค์‹œ ๋žœ๋ค

์…”ํ”Œ

  • ์ด๋ฏธ ์žˆ๋Š” ๋Œ€๊ธฐ์—ด ์•ˆ์—์„œ ์„ž๊ธฐ

์ผ์‹œ์ •์ง€

  • dispatcher ์— ์žˆ๋Š” ๊ธฐ๋Šฅ

์ตœ๊ทผ์žฌ์ƒ

  • 3~5๊ฐœ ๊ธธ์ด ์ •๋„์˜ ๋ฆฌ์ŠคํŠธ๋งต?

History is not persistent (use DB)

Problem

#14 ๋ฐ 54c94d3 ์—์„œ ๋‚˜์˜จ ์ตœ๊ทผ ์žฌ์ƒ ๋ฆฌ์ŠคํŠธ๋Š” ์•ฑ ๋‚ด์—์„œ ์ถ”๊ฐ€ํ•˜๊ณ  ์žˆ์–ด์„œ,
๋ด‡ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žฌ์‹œ์ž‘๋˜๋ฉด ๋‚˜์˜ค์ง€ ์•Š์Œ

Solution

์ตœ๋Œ€ 5๊ฐœ ํ‘œ์‹œ ๊ธฐ์ค€, DB ์—์„œ last_played_at ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ 6๊ฐœ๋งŒ.
ํ˜„์žฌ ์žฌ์ƒ์ค‘์ธ ๊ณก์ด ์žˆ์œผ๋ฉด (์ฒซ๋ฒˆ์งธ row์™€ ํ™•์ธํ•œ ํ›„) ๋‘๋ฒˆ์งธ row (list index 1)๋ถ€ํ„ฐ ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.