header-img
Info :
Document 42
517 ์ˆ˜์—… ํŒ์„œ ๋‚ด์šฉ
2023.05.18
[], {}, () ๋Œ€๊ด„ํ˜ธ [] 1. list ๋‚˜์—ด ํ˜น์€ list ์ธ๋ฑ์Šค ์ง€์ • ex) list[0], list[1] ์ค‘๊ด„ํ˜ธ {} 1. dictionary ๋งŒ๋“ค๋•Œ {'key':'value'} 2. style tag ์ง€์ • ์‹œ 3. ํŠน์ • function์— ๋Œ€ํ•ด ์ •์˜ ํ•  ๋•Œ function test(){} ํ˜•์‹์ด ๋˜๊ฒ ์ฃ .. 4. for / if ๋“ฑ์˜ ๋ฌธ๋ฒ• ์ƒ ํ•„์š”ํ•  ๋•Œ ์†Œ๊ด„ํ˜ธ () 1. for๋‚˜ if ๊ฐ™์€ ๋ฌธ๋ฒ•์— ์กฐ๊ฑด ์‹ ๋„ฃ์„ ๋•Œ JSON (Javascript Object Notation) ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ „์†กํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” "๊ฒฝ๋Ÿ‰" Data ๊ตํ™˜ ํ˜•์‹ ์‰ฝ๊ฒŒ ๋งํ•ด์„œ javascript์—์„œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ‘œํ˜„์‹์„ ์˜๋ฏธ -- ์‚ฌ๋žŒ ๊ธฐ๊ณ„ ๋ชจ๋‘ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šฐ๋ฉฐ ์šฉ๋Ÿ‰์ด ์ž‘์•„์„œ ๋ฐ์ดํ„ฐ ์ „์†ก์— ๋งŽ์ด ์“ฐ์ด..
516 ๊ฐ•์˜ ํŒ์„œ ๋‚ด์šฉ (callback/promise)
2023.05.16
// settimeout : ์‹คํ–‰ํ•  ํ•จ์ˆ˜, ์ดˆ(๋ฐ€๋ฆฌ์„ธ์ปจ ๋‹จ์œ„) [callback] ์ฝœ๋ฐฑํ•จ์ˆ˜ : ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‹ค๋ฅธ ํ•จ์ˆ˜์— ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์ค€ ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ๋ฐ›์€ ํ•จ์ˆ˜๋Š” ์ผ๋‹จ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋จผ์ € ๋„˜๊ฒจ๋ฐ›์•„๋‘” ์ƒํƒœ์—์„œ ์ผ์ • ์‹œ์ (๋•Œ)๊ฐ€ ๋˜๋ฉด ๋‚˜์ค‘์— ํ˜ธ์ถœ(call back)ํ•œ๋‹ค๋Š” ์˜๋ฏธ // ์ฝœ๋ฐฑํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•œ ์ด์œ  1. ๋ณ€์ˆ˜์˜ ์œ ํšจ๋ฒ”์œ„ (scope) 2. ๋™๊ธฐ/๋น„๋™๊ธฐ(synchronous/Asynchronous) -> ์ด๋Ÿฐ ๊ฑธ ์œ„ํ•ด์„œ ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•๋ก ์ ์ธ ๋ถ€๋ถ„ ์œ ์šฉํ•œ๋ฐ.. ๋‚ด๊ฐ€ a~z๊นŒ์ง€ console ์ฐ๋Š” ํ–‰์œ„๋ฅผ ์ œ์–ดํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๋ณต์žกํ•ด์ง„๋‹ค.. -> Callback Hell -- ์ž‘์„ฑ์ž ์ž…์žฅ์—์„œ๋Š” ํฌ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ์•ˆ๋  ์ˆ˜๋„ ์žˆ์œผ๋‚˜ ์ด๊ฑธ ์ถ”ํ›„์— ๋ˆ„๊ตฐ๊ฐ€ ์œ ์ง€๋ณด์ˆ˜ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด? hell ์ด๋‹ค...
[javascript] Async/Sync ๋™๊ธฐ ๋น„๋™๊ธฐ BasicChaining ๊ตฌํ˜„ (+Promise ๊ตฌํ˜„)
2023.05.16
'part-2/02_promiseConstructor.js' ํŒŒ์ผ์„ ๊ตฌํ˜„ํ•˜๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. callback์ด๋ผ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜(parameter) ๋Œ€์‹ , Promise์˜ resolve, reject ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์„ธ์š”. part-2/03_basicChaining.js์€, ์•ž์„œ ์ž‘์„ฑํ•œ getDataFromFilePromise๋ฅผ ์ด์šฉํ•ด์„œ ํ’€์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. fs ๋ชจ๋“ˆ์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. getDataFromFilePromise๋ฅผ ์ด์šฉํ•ด, 'files/user1.json' ํŒŒ์ผ๊ณผ 'files/user2.json' ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ๋‘ ํŒŒ์ผ์„ ํ•ฉ์ณ์„œ ์ตœ์ข…์ ์œผ๋กœ ๋‘ ๊ฐ์ฒด๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์„ ๋•Œ, user1Path ๋ฐ user2Path๋ฅผ ์ด์šฉํ•˜์„ธ์š”. then์ด ์–ด๋–ค ..
515 ์ˆ˜์—… ํŒ์„œ ๋‚ด์šฉ ๋ฉ”๋ชจ 1
2023.05.15
1. each // [ for-each ] // 1. collection(๋ฐฐ์—ด ํ˜น์€ ๊ฐ์ฒด)๊ณผ ํ•จ์ˆ˜ iteratee(๋ฐ˜๋ณต๋˜๋Š” ์ž‘์—…)๋ฅผ ์ธ์ž๋กœ ์ „๋‹ฌ๋ฐ›์•„ (iteratee๋Š” ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๋Š” ํ•จ์ˆ˜์ด๋ฏ€๋กœ callback ํ•จ์ˆ˜) // 2. collection์˜ ๋ฐ์ดํ„ฐ(element ๋˜๋Š” property)๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ // 3. iteratee์— ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜์—ฌ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. _.each = function (collection, iteratee) { // TODO: ์—ฌ๊ธฐ์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. if (Array.isArray(collection)) { for (let idx = 0; idx ์ธ์ž๊ฐ€ ์ง์ˆ˜ํŒ๋ณ„ ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ง€์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ ๊ฐ’์„ true ๋กœ ๋ฑ‰์–ด ์ค„๊ฑฐ์ž„ if (์ง์ˆ˜ํŒ๋ณ„(์ง์ˆ˜ํŒ๋ณ„ ์ธ์ž๊ฐ’..
230512 ์งˆ๋ฌธ ๋‹ต๋ณ€ ์ค€๋น„
2023.05.15
[ ES5 ] function BbangFrame(zearyo1, zearyo2){ this.base = zearyo1; this.main = zearyo2; } var creambbang = new BbangFrame('๋ฐ€๊ฐ€๋ฃจ', 'ํฌ๋ฆผ') console.log(creambbang) var strawberrybbang = new BbangFrame('์Œ€๊ฐ€๋ฃจ','๋”ธ๊ธฐ') console.log(strawberrybbang) [ ES6 ] class BbangFrame2{ constructor(zearyo1,zearyo2){ this.base = zearyo1; this.main = zearyo2; } } let patbbang = new BbangFrame2('๋ฐ€๊ฐ€๋ฃจ','ํŒฅx2') console.log(p..
[Javascript] ๋‚ด์žฅ ๊ณ ์ฐจ ํ•จ์ˆ˜
2023.05.03
1. filter : ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ - ๋ชจ๋“  ๋ฐฐ์—ด์˜ ์š”์†Œ ์ค‘์—์„œ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ๋ฉ”์„œ๋“œ - filter ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์˜ˆ์‹œ // ํ•จ์ˆ˜ ํ‘œํ˜„์‹ const isEven = function (num) { return num%2 === 0; } let arr = [1,2,3,4]; // '์ง์ˆ˜'๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์กฐ๊ฑด์œผ๋กœ์„œ filter ๋ฉ”์„œ๋“œ์˜ ์ „๋‹ฌ์ธ์ž๋กœ ์ „๋‹ฌ๋œ๋‹ค. let output = arr.filter(isEven); console.log(output); // ->> [2,4] const isLteFive = function (str) { // Lte = less than equal return str.length > ['hello', 'code', 'happy'] - filter ํ™œ์šฉ ..
[Javascript] ๊ณ ์ฐจํ•จ์ˆ˜
2023.05.03
๊ณ ์ฐจํ•จ์ˆ˜ Higher order function - ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌ์ธ์ž(argument)๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ , ํ•จ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ ์ฝœ๋ฐฑํ•จ์ˆ˜ callback function - ๋‹ค๋ฅธ ํ•จ์ˆ˜(caller)์˜ ์ „๋‹ฌ์ธ์ž(argument)๋กœ ์ „๋‹ฌ๋˜๋Š” ํ•จ์ˆ˜ - ์–ด๋–ค ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ์„ ๋•Œ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์„œ, ๋‹ต์‹  ์ „ํ™”๋ฅผ ๋œปํ•˜๋Š” ์ฝœ๋ฐฑํ•จ์ˆ˜๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™ํ˜€์ง ์ปค๋ง ํ•จ์ˆ˜ - ํ•จ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜ - ๋”ฐ๋กœ ์ปค๋ง ํ•จ์ˆ˜๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š”, ๊ณ ์ฐจ ํ•จ์ˆ˜๋ผ๋Š” ์šฉ์–ด๋ฅผ 'ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌ์ธ์ž๋กœ ๋ฐ›๋Š” ํ•จ์ˆ˜'์—๋งŒ ํ•œ์ •ํ•ด ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•จ - ๊ณ ์ฐจ ํ•จ์ˆ˜๊ฐ€ ์ปค๋ง ํ•จ์ˆ˜๋ฅผ ํฌํ•จ 'ํ•จ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜'์™€ 'ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌ์ธ์ž๋กœ ๋ฐ›๋Š” ํ•จ์ˆ˜' ๋ชจ๋‘, ๊ณ ์ฐจ ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ 1. ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š” ๊ฒฝ์šฐ function double(num) { re..
list_img
[๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ] 15์žฅ. ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ ์„ค๊ณ„
2023.04.13
1๋‹จ๊ณ„. ๋ฌธ์ œ ์ดํ•ด ๋ฐ ์„ค๊ณ„ ๋ฒ”์œ„ ํ™•์ • ๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ ํŒŒ์ผ ์ถ”๊ฐ€. ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ ์•ˆ์œผ๋กœ drag-and-drop ๊ฐ€๋Šฅํ•˜๋„๋ก ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ์—ฌ๋Ÿฌ ๋‹จ๋ง์— ํŒŒ์ผ ๋™๊ธฐํ™”. ํ•œ ๋‹จ๋ง์—์„œ ํŒŒ์ผ ์ถ”๊ฐ€ ์‹œ ๋‹ค๋ฅธ ๋‹จ๋ง์—๋„ ์ž๋™์œผ๋กœ ๋™๊ธฐํ™” ํŒŒ์ผ ๊ฐฑ์‹  ์ด๋ ฅ ์กฐํšŒ(revision history) ํŒŒ์ผ ๊ณต์œ  ํŒŒ์ผ์ด ํŽธ์ง‘๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋˜๊ฑฐ๋‚˜ ์ƒˆ๋กญ๊ฒŒ ๊ณต์œ ๋˜์—ˆ์„ ๋•Œ ์•Œ๋ฆผ ํ‘œ์‹œ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ ์•ˆ์ •์„ฑ: ์ €์žฅ์†Œ ์‹œ์Šคํ…œ์—์„œ ์•ˆ์ •์„ฑ์€ ๋งค์šฐ ์ค‘์š”. ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐœ์ƒํ•˜๋ฉด ์•ˆ๋จ ๋น ๋ฅธ ๋™๊ธฐํ™” ์†๋„ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ: ๋„ˆ๋ฌด ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž ๋ถˆํŽธ ์ดˆ๋ž˜ ๊ทœ๋ชจ ํ™•์žฅ์„ฑ: ์•„์ฃผ ๋งŽ์€ ์–‘์˜ ํŠธ๋ž˜ํ”ฝ๋„ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ ๋†’์€ ๊ฐ€์šฉ์„ฑ: ์ผ๋ถ€ ์„œ๋ฒ„์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜, ๋Š๋ ค์ง€๊ฑฐ๋‚˜, ๋„คํŠธ์›Œํฌ ์ผ๋ถ€๊ฐ€ ๋Š๊ฒจ๋„ ์‹œ์Šคํ…œ์€ ๊ณ„์† ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ ๊ฐœ๋žต..
list_img
[๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์„ค๊ณ„ ์‹œ์Šคํ…œ ๊ธฐ์ดˆ] 14์žฅ. ์œ ํŠœ๋ธŒ ์„ค๊ณ„
2023.04.13
1๋‹จ๊ณ„. ๋ฌธ์ œ ์ดํ•ด ๋ฐ ์„ค๊ณ„ ๋ฒ”์œ„ ํ™•์ • ์•„๋ž˜์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ฐ–๋Š” ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค ์„ค๊ณ„์— ์ดˆ์ ์„ ๋งž์ถœ ์˜ˆ์ • ๋น ๋ฅธ ๋น„๋””์˜ค ์—…๋กœ๋“œ ์›ํ™œํ•œ ๋น„๋””์˜ค ์žฌ์ƒ ์žฌ์ƒ ํ’ˆ์งˆ ์„ ํƒ ๊ธฐ๋Šฅ ๋‚ฎ์€ ์ธํ”„๋ผ ๋น„์šฉ infrastructure cost ๋†’์€ ๊ฐ€์šฉ์„ฑ๊ณผ ๊ทœ๋ชจ ํ™•์žฅ์„ฑ, ๊ทธ๋ฆฌ๊ณ  ์•ˆ์ •์„ฑ ์ง€์› ํด๋ผ์ด์–ธํŠธ: ๋ชจ๋ฐ”์ผ ์•ฑ, ์›น ๋ธŒ๋ผ์šฐ์ €, ๊ทธ๋ฆฌ๊ณ  ์Šค๋งˆํŠธ TV ๊ฐœ๋žต์  ๊ทœ๋ชจ ์ถ”์ • ์ผ๊ฐ„ ๋Šฅ๋™ ์‚ฌ์šฉ์žDAU ์ˆ˜๋Š” 5๋ฐฑ๋งŒ(5million) ํ•œ ์‚ฌ์šฉ์ž๋Š” ํ•˜๋ฃจ์— ํ‰๊ท  5๊ฐœ์˜ ๋น„๋””์˜ค ์‹œ์ฒญ 10%์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋ฃจ์— 1๋น„๋””์˜ค ์—…๋กœ๋“œ ๋น„๋””์˜ค ํ‰๊ท  ํฌ๊ธฐ๋Š” 300MB ๋น„๋””์˜ค ์ €์žฅ์„ ์œ„ํ•ด ๋งค์ผ ์ƒˆ๋กœ ์š”๊ตฌ๋˜๋Š” ์ €์žฅ ์šฉ๋Ÿ‰ : 150TB CDN ๋น„์šฉ ํด๋ผ์šฐ๋“œ CDN์„ ํ†ตํ•ด ๋น„๋””์˜ค๋ฅผ ์„œ๋น„์Šคํ•  ๊ฒฝ์šฐ CDN์—์„œ ๋‚˜๊ฐ€๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์— ๋”ฐ๋ผ ๊ณผ๊ธˆ ์•„๋งˆ์กด์˜ ํด๋ผ์šฐ๋“œํ”„๋ก ํŠธC..
list_img
[๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ] 13์žฅ. ๊ฒ€์ƒ‰์–ด ์ž๋™์™„์„ฑ ์„ค๊ณ„
2023.04.13
๊ฒ€์ƒ‰์–ด ์ž๋™์™„์„ฑ (autocomplete, typehead, search-as-you-type, incremental search)์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ. 1๋‹จ๊ณ„. ๋ฌธ์ œ ์ดํ•ด ๋ฐ ์„ค๊ณ„ ๋ฒ”์œ„ ํ™•์ • ์š”๊ตฌ์‚ฌํ•ญ ๋น ๋ฅธ ์‘๋‹ต์†๋„ : ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•จ์— ๋”ฐ๋ผ ์ž๋™์™„์„ฑ ๊ฒ€์ƒ‰์–ด๋„ ์ถฉ๋ถ„ํžˆ ๋นจ๋ฆฌ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•จ ํŽ˜์ด์Šค๋ถ ๊ณต์‹ ๋ฌธ์„œ ๊ธฐ์ค€ ์‹œ์Šคํ…œ ์‘๋‹ต์†๋„๋Š” 100๋ฐ€๋ฆฌ์ดˆ ์ด๋‚ด์—ฌ์•ผ ํ•œ๋‹ค ์—ฐ๊ด€์„ฑ ์ •๋ ฌ : ์‹œ์Šคํ…œ์˜ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋Š” ์ธ๊ธฐ๋„(popularity) ๋“ฑ์˜ ์ˆœ์œ„ ๋ชจ๋ธ(ranking model)์— ์˜ํ•ด ์ •๋ ฌ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ทœ๋ชจ ํ™•์žฅ์„ฑ : ๋งŽ์€ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™•์žฅ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ : ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜, ๋Š๋ ค์ง€๊ฑฐ๋‚˜, ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋„คํŠธ์›Œํฌ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ๋„ ์‹œ์Šคํ…œ์€ ์ง€์† ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ ๊ฐœ๋žต์  ๊ทœ๋ชจ ์ถ”์ • ..
list_img
[๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ] 12์žฅ. ์ฑ„ํŒ… ์‹œ์Šคํ…œ ์„ค๊ณ„
2023.04.13
1๋‹จ๊ณ„. ๋ฌธ์ œ ์ดํ•ด ๋ฐ ์„ค๊ณ„ ๋ฒ”์œ„ ํ™•์ • ํŽ˜์ด์Šค๋ถ ๋ฉ”์‹ ์ €, ์œ„์ฑ—(WeChat), ์™“์ธ ์•ฑ(WhatsApp) ์ฒ˜๋Ÿผ 1:1 ์ฑ„ํŒ…์— ์ง‘์ค‘ํ•˜๋Š” ์•ฑ, ์Šฌ๋ž™(Slack) ๊ฐ™์€ ๊ทธ๋ฃน ์ฑ„ํŒ…์— ์ค‘์ ์„ ๋‘” ์—…๋ฌด์šฉ ์•ฑ, ๊ฒŒ์ž„ ์ฑ„ํŒ…์— ์“ฐ์ด๋Š” ๋””์Šค์ฝ”๋“œ(Discord) ๊ฐ™์ด ๋Œ€๊ทœ๋ชจ ๊ทธ๋ฃน์˜ ์†Œํ†ต๊ณผ ์‘๋‹ต์ง€์—ฐ(latency)์ด ๋‚ฎ์€ ์Œ์„ฑ ์ฑ„ํŒ…์— ์ง‘์ค‘ํ•˜๋Š” ์•ฑ ์š”๊ตฌ์‚ฌํ•ญ 1. ์‘๋‹ต์ง€์—ฐ์ด ๋‚ฎ์€ 1:1 ์ฑ„ํŒ… ๊ธฐ๋Šฅ 2. ์ตœ๋Œ€ 100๋ช…๊นŒ์ง€ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ฃน ์ฑ„ํŒ… ๊ธฐ๋Šฅ 3. ์‚ฌ์šฉ์ž์˜ ์ ‘์† ์ƒํƒœ ํ‘œ์‹œ ๊ธฐ๋Šฅ 4. ๋‹ค์–‘ํ•œ ๋‹จ๋ง ์ง€์›. ํ•˜๋‚˜์˜ ๊ณ„์ •์œผ๋กœ ์—ฌ๋Ÿฌ ๋‹จ๋ง์— ๋™์‹œ ์ ‘์† ์ง€์› 5. ํ‘ธ์‹œ ์•Œ๋ฆผ 6. 5,000๋งŒ DAU(Daily Active User: ์ผ๋ณ„ ๋Šฅ๋™ ์‚ฌ์šฉ์ž ์ˆ˜) ์ฒ˜๋ฆฌ 2๋‹จ๊ณ„. ๊ฐœ๋žต์  ์„ค๊ณ„์•ˆ ์ œ์‹œ ๋ฐ ๋™์˜ ๊ตฌํ•˜๊ธฐ ์ด ์ฑ„ํŒ… ์„œ๋น„์Šค๋Š” ์•„๋ž˜ ๊ธฐ๋Šฅ ..
list_img
[๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ] 11์žฅ. ๋‰ด์Šค ํ”ผ๋“œ ์‹œ์Šคํ…œ ์„ค๊ณ„
2023.04.13
๋‰ด์Šค ํ”ผ๋“œ ๋ž€? ํ™ˆ ํŽ˜์ด์ง€ ์ค‘์•™์— ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋˜๋Š” ์Šคํ† ๋ฆฌ๋“ค๋กœ, ์‚ฌ์šฉ์ž ์ƒํƒœ ์ •๋ณด ์—…๋ฐ์ดํŠธ, ์‚ฌ์ง„, ๋น„๋””์˜ค, ๋งํฌ, ์•ฑ ํ™œ๋™(app activity), ๊ทธ๋ฆฌ๊ณ  ํŽ˜์ด์Šค๋ถ์—์„œ ํŒ”๋กœ์šฐํ•˜๋Š” ์‚ฌ๋žŒ๋“ค, ํŽ˜์ด์ง€, ๋˜๋Š” ๊ทธ๋ฃน์œผ๋กœ๋ถ€ํ„ฐ ๋‚˜์˜ค๋Š” '์ข‹์•„์š”(likes)' ๋“ฑ์„ ํฌํ•จํ•˜๋Š” ๊ฒƒ ๋น„์Šทํ•œ ์œ ํ˜•์˜ ๋ฌธ์ œ๋กœ ํŽ˜์ด์Šค๋ถ ๋‰ด์Šค ํ”ผ๋“œ, ์ธ์Šคํƒ€๊ทธ๋žจ ํ”ผ๋“œ, ํŠธ์œ„ํ„ฐ ํƒ€์ž„๋ผ์ธ ์„ค๊ณ„ ๋“ฑ์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. 1๋‹จ๊ณ„. ๋ฌธ์ œ ์ดํ•ด ๋ฐ ์„ค๊ณ„ ๋ฒ”์œ„ ํ™•์ • ๋ชจ๋ฐ”์ผ ์•ฑ, ์›น ๋ชจ๋‘ ์ง€์›ํ•ด์•ผํ•จ ์ƒˆ๋กœ์šด ์Šคํ† ๋ฆฌ ์˜ฌ๋ฆฌ๊ธฐ ๋ฐ ๋ณด๊ธฐ ๋‹ค ๊ฐ€๋Šฅํ•ด์•ผํ•œ๋‹ค. ํ”ผ๋“œ ๋‚˜์—ด์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‹œ๊ฐ„ ํ๋ฆ„ ์—ญ์ˆœ(reverse chronological order)์œผ๋กœ : ์ตœ์‹ ์ˆœ ํ•œ ๋ช…์˜ ์‚ฌ์šฉ์ž๋Š” ์ตœ๋Œ€ 5000๋ช…์˜ ์นœ๊ตฌ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ ํŠธ๋ž˜ํ”ฝ ๊ทœ๋ชจ๋Š” ์•ฝ 1,000๋งŒ๋ช… ํ”ผ๋“œ์—๋Š” ์ด๋ฏธ์ง€๋‚˜ ๋น„๋””์˜ค..