Home - WizardFactory/BlogSyncer GitHub Wiki

Welcome to the BlogSync wiki!

ํ”„๋กœ๊ทธ๋žจ ๊ฐœ์š”

๊ฐœ๋ฐœ ๋ชฉํ‘œ(๊ฐœ๋ฐœ ๋ฐฐ๊ฒฝ, ๋ชฉ์ )

๊ฐœ๋ฐœ๋ฐฐ๊ฒฝ

์˜ˆ์ „์—๋Š” ์›น์ด๋ผ๋Š” ๊ณต๊ฐ„์— ๊ธ€์„ ๋ฐฐํฌ๋งŒ ํ•˜๋ฉด ๋„ค์ด๋ฒ„, ๋‹ค์Œ, ๊ตฌ๊ธ€ ๊ฐ™์€ ๊ฒ€์ƒ‰์—”์ง„์— ์˜ํ•˜์—ฌ ๋…ธ์ถœ๋˜์—ˆ์ง€๋งŒ, ์†Œ์…œ ๋„คํŠธ์›Œํฌ์™€ ๋ชจ๋ฐ”์ผ์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ ์‚ฌ๋žŒ๋“ค์€ ์†Œ์…œ๊ณผ ๋ชจ๋ฐ”์ผ์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์†Œ์…œ๊ณผ ๋ชจ๋ฐ”์ผ ์ปจํ…์ธ ๋“ค์€ ํŒจ์‡„์ ์œผ๋กœ ์šด์˜๋˜์–ด ๋‹ค๋ฅธ ์›น๊ณต๊ฐ„์— ์ปจํ…์ธ ๋ฅผ ์ ‘๊ทผํ•˜๊ธฐ ์–ด๋ ต๊ณ , ๋ฐ˜๋Œ€๋กœ ๊ฒ€์ƒ‰์—”์ง„์— ๋…ธ์ถœ๋˜๊ฑฐ๋‚˜ ํ•˜์ง€๋„ ์•Š๋Š”๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋กœ ํŒŒ์›Œ๋ธ”๋กœ๊ทธ๋“ค์ด๋‚˜, ์‡ผํ•‘๋ชฐ ์šด์˜์ž๋“ค์ด ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์œ„ํ•ด ์Šค์Šค๋กœ ๋™์ผํ•œ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•˜๊ฑฐ๋‚˜ ๋งํฌ๋ฅผ ๊ฑธ์–ด์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์ž๋™์œผ๋กœ ๋ธ”๋กœ๊ทธ, ์†Œ์…œ ์„œ๋น„์Šค๊ฐ„์˜ ๊ธ€์„ ๋™๊ธฐํ™” ์‹œ์ผœ์ฃผ๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ธ”๋กœ๊ฑฐ๋“ค์—๊ฒŒ ํŽธ์˜๋ฅผ ์ œ๊ณตํ•˜๊ณ ์ž ํ•œ๋‹ค.

why

๊ฒ€์ƒ‰์—”์ง„์„ ๊ฐ€์ง„ ํšŒ์‚ฌ๋“ค์€ ์ž๊ธฐ๋“ค ์„œ๋น„์Šค์œ„์ฃผ๋กœ ์ปจํ…์ธ ๋“ค์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. Soical Media๋Š” ๊ฐ์ž์˜ ์„œ๋น„์Šค์—์„œ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์ฃ . ๊ทธ๋Ÿฌ๋‚˜ ์ปจํ…์ธ ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฐฐํฌ(publishing)ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๊ฐ€๋Šฅํ•œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ž์‹ ์˜ ์ปจํ…์ธ ๊ฐ€ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

how

์šฐ๋ฆฌ๋Š” ๊ฐ ์„œ๋น„์Šค๋“ค์˜ API๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ , ๊ทธ ์‚ฌ์ด๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋งค์‰ฌ์—… ๊ธฐ์ˆ (Mashup service) ๋ฅผ ํ™œ์šฉํ•˜์—ฌ, ์‚ฌ์šฉ์ž๋“ค์˜ ์ปจํ…์ธ ์„ ๋‹ค๋ฅธ ์„œ๋น„์Šค์—์„œ๋„ ์ž๋™์œผ๋กœ ๋ฐฐํฌ(posting)ํ•ฉ๋‹ˆ๋‹ค.

what

์‚ฌ์šฉ์ž๊ฐ€ ์ž๊ธฐ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์˜ ๊ณ„์ •์„ ๋“ฑ๋กํ•˜๊ณ , ๊ฐ ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉด, ๋“ฑ๋ก๋œ ์–ด๋Š ์„œ๋น„์Šค์—์„œ๋„ ์ปจํ…์ธ ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด, ์ตœ์ ์˜ ๋ชจ์–‘์œผ๋กœ ๋“ฑ๋ก๋œ ๋‚˜๋จธ์ง€ ์„œ๋น„์Šค์— ์ „๋‹ฌ๋จ.

๊ฐœ๋ฐœ๋ชฉ์ 

๋ชฉ์  : ๋ณธ ํ”Œ๋žซํผ์€ ๋‹ค์Œ์˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

  • ์‚ฌ์šฉ์ž ๋“ฑ๋ก
  • ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋ธ”๋กœ๊ทธ๋“ค ๋“ฑ๋ก
  • ๋™๊ธฐํ™” ์กฐ๊ฑด ์„ค์ •
  • ๋™๊ธฐํ™” ์ด๋ ฅ ๋ณด์—ฌ์ฃผ๊ธฐ
  • ๊ด€๋ฆฌํ•˜๋Š” ๋ธ”๋กœ๊ทธ๋“ค์˜ ๋Œ“๊ธ€์ด๋‚˜ ํ”ผ๋“œ๋ฐฑ ๋ชจ์•„์„œ ๋ณด์—ฌ์ฃผ๊ธฐ

์‹œ์Šคํ…œ ๊ตฌ์„ฑ๋„

image2014-6-29 16_55_55

  • Model
  • ์‚ฌ์šฉ์ž ์ •๋ณด ์ €์žฅ
  • ๋ธ”๋กœ๊ทธ ๋™๊ธฐ ๊ตฌ์กฐ ์ €์žฅ.
  • ๊ธ€ ๋ฆฌ์ŠคํŠธ ๋ฐ ํ”ผ๋“œ๋ฐฑ ์ •๋ณด ์ €์žฅ.
  • Controller
  • Open API - web client์—์„œ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌ ํ•˜๋Š” ๋ชจ๋“ˆ
  • Passport - ๊ฐ ๋ธ”๋กœ๊ทธ๋“ค๊ณผ oauth์—ฐ๊ฒฐ์„ ์ฒ˜๋ฆฌ
  • Scheduler - ์ •๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉ์ž ๋ธ”๋กœ๊ทธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ฒดํฌ
  • GetContents - ์—…๋ฐ์ดํŠธ ๋œ ๋ธ”๋กœ๊ทธ์—์„œ ์ƒˆ๊ธ€์„ ๊ฐ€์ง€๊ณ  ์˜ด.
  • PushContents - ์ƒˆ๊ธ€์„ ๋™๊ธฐํ™”ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ธ”๋กœ๊ทธ๋“ค์—๊ฒŒ ์ „๋‹ฌํ•จ.
  • View
  • Blog Syncer ์†Œ๊ฐœ
  • ๋กœ๊ทธ์ธ
  • ์‚ฌ์šฉ ์ค‘์ธ ๋ธ”๋กœ๊ทธ๋“ค ์„ค์ •
  • ๋™๊ธฐํ™” ์ด๋ ฅ ์กฐํšŒ
  • ๊ด€๋ฆฌ์ค‘์ธ ๋ธ”๋กœ๊ทธ๋“ค ํŒจ๋“œ๋ฐฑ ์ •๋ฆฌ

๋ฉ”๋‰ด ๊ตฌ์„ฑ๋„

์†Œ๊ฐœ ๋žœ๋”ฉํŽ˜์ด์ง€ - BlogSyncer๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋žœ๋”ฉํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค

๋กœ๊ทธ์ธ - ์—ฌ๋Ÿฌ provider id๋กœ ๋กœ๊ทธ์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

mockup_blogsyncer_intro

๋ธ”๋กœ๊ทธ ๊ทธ๋ฃน ์„ค์ • - ๋™๊ธฐํ™”ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ทธ๋ฃน์„ ์„ค์ •ํ•œ๋‹ค.

๋ธ”๋กœ๊ทธ ๊ทธ๋ฃน ์ƒ์„ธ ์„ค์ • - ์ดˆ๊ธฐ ๋ฒ„์ ผ์—์„œ๋Š” post ๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•  ์ˆ˜๋Š” ์—†๊ณ , enable/disable๋งŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฉ๋ฒ•์€ ์šด์˜์—์„œ ์ง€์ •ํ•œ๋‹ค.

mockup_blogsyncer_sync3

๋ชจ์•„๋ณด๊ธฐ : ์‚ฌ์šฉ์ž์˜ ๊ธ€ ์ œ๋ชฉ ๊ธฐ์ค€์œผ๋กœ ์—ฌ๋Ÿฌ provider์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

ํžˆ์Šคํ† ๋ฆฌ : ๋™๊ธฐํ™” ๋‚ด์šฉ ๋ฐ ์—๋Ÿฌ ์ƒํ™ฉ์— ๋Œ€ํ•˜์—ฌ ๋ณด์—ฌ์ค€๋‹ค.

๊ฐœ๋ฐœ ์–ธ์–ด

  • HTML5, CSS, angular.js : ์›น ๊ธฐ๋ฐ˜ ๋ธ”๋กœ๊ทธ ์„ค์ •์„ ์œ„ํ•œ GUI ๋ฐ ์„œ๋น„์Šค ํ™”๋ฉด ๊ตฌ์„ฑ
  • node.js : web client์˜ ์š”์ฒญ์‚ฌํ•ญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ฃผ๊ธฐ์ ์ธ ๋ธ”๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ†ตํ•˜์—ฌ ๋™๊ธฐํ™”.
  • mongoDB : ์‚ฌ์šฉ์ž ์ •๋ณด์™€ ์‹ฑํฌ ์ด๋ ฅ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์‚ฌ์šฉ.

ํ”„๋กœ๊ทธ๋žจ ์žฅ๊ธฐ ๋ฐœ์ „ ๋ฐฉ์•ˆ

First Release

์ฃผ์š” ์ธ๊ธฐ service๋ฅผ ์šฐ์„  ์ง€์›ํ•˜๊ณ  ์‹œ์žฅ์— ์„ ๋ณด์ž„.

์ฃผ๋ณ€ ์‚ฌ์šฉ์ž๋“ค๋กœ๋ถ€ํ„ฐ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์œผ๋ฉด์„œ ๊ธฐ๋ณธ ์ปจ์…‰ ๊ฐœ์„ .

MLP

๋ชจ์•„๋ณด๊ธฐ ๊ธฐ๋Šฅ - ์‚ฌ์šฉ์ž์˜ ๊ธ€ ์ œ๋ชฉ ๊ธฐ์ค€์œผ๋กœ ์—ฌ๋Ÿฌ provider์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

hashtag๊ธฐ๋ฐ˜์˜ ์‚ฌ์šฉ์ž ๊ด€์‹ฌ ๋ถ„์•ผ ์ถ”์ฒœ.

๋‹ค์ˆ˜ ๊ตญ๋‚ด ์œ ์ €๋“ค์—๊ฒŒ ์„œ๋น„์Šคํ•˜๋ฉด์„œ ์•ˆ์ •์„ฑ๊ณผ, ํ”ผ๋“œ๋ฐฑ ๊ฐœ์„ 

์„œ๋น„์Šค ํ™•์žฅ

๋‹ค๊ตญ์–ด ์ง€์›์œผ๋กœ ํ•ด์™ธ ์„œ๋น„์Šค๋กœ ํ™•๋Œ€

social media ์ถ”๊ฐ€๊ฐ€ ์šฉ์ดํ•˜๋„๋ก easy insert ๊ธฐ๋Šฅ ์ถ”๊ฐ€.

์ˆ˜์ต๋ชจ๋ธ ์ ์šฉ.

Socical Media์— ์œ ๋ฃŒ ์ƒํ’ˆ์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋Š” ์œ ๋ฃŒ์„œ๋น„์Šค ์ง€์›

๋ชจ์•„๋ณด๊ธฐ ๊ธฐ๋Šฅ์˜ ํ™•์žฅํŒ - ๋Œ“๊ธ€์ด๋‚˜ ํ‰๊ฐ€ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ ‘์†์ž ์ˆ˜, ํŽ˜์ด์ง€ ๋ทฐ, ๊ฐ ๋ธ”๋กœ๊ทธ๋“ค ๋…ธ์ถœ ๋น„๊ต, ๋ธ”๋กœ๊ทธ ํ•ฉ์ณ์„œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๊ธ€๋“ฑ ์ถ”๊ฐ€ ์ •๋ณด ์ œ๊ณต

blog express - blog์˜ ๋ชจ๋“  ๊ธ€๊ณผ ์‚ฌ์ง„์„ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋กœ ์ด๋™์‹œํ‚ค๊ฑฐ๋‚˜, ๋ฐฑ์—…ํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ๊ณต