All Projects โ†’ leegeunhyeok โ†’ School Kr

leegeunhyeok / School Kr

Licence: mit
๐Ÿš๐Ÿด ์ „๊ตญ ๊ต์œก์ฒญ ๊ธ‰์‹, ํ•™์‚ฌ์ผ์ • ํŒŒ์‹ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to School Kr

P Queue
Promise queue with concurrency control
Stars: โœญ 1,863 (+4134.09%)
Mutual labels:  promise, node-module
Dynamodb Oop
Speak fluent DynamoDB, write code with fashion, I Promise() ๐Ÿ˜ƒ
Stars: โœญ 104 (+136.36%)
Mutual labels:  promise, node-module
Bell
โฑ Counting down to the next time the bell rings at school
Stars: โœญ 15 (-65.91%)
Mutual labels:  school
Fritzbox.js
โ˜Ž๏ธ The leading AVM Fritz!Box API for NodeJS and JavaScript.
Stars: โœญ 36 (-18.18%)
Mutual labels:  promise
Gwpcourselistview
ไธ€ไธช็ฎ€ๅ•ๅฎž็”จ็š„่ฏพ็จ‹่กจๆŽงไปถ
Stars: โœญ 31 (-29.55%)
Mutual labels:  school
Zcoil
Elegant access to data
Stars: โœญ 20 (-54.55%)
Mutual labels:  promise
Substitution Schedule Parser
Java library for parsing schools' substitution schedules. Supports multiple different systems mainly used in the German-speaking countries, including Untis, svPlan, and DAVINCI
Stars: โœญ 33 (-25%)
Mutual labels:  school
Rext
๐ŸŽˆA lightweight (< 5kb gzipped) and Promise-supported HTTP request library, for all browsers.
Stars: โœญ 14 (-68.18%)
Mutual labels:  promise
Is
Type check values
Stars: โœญ 1,011 (+2197.73%)
Mutual labels:  node-module
Promise.hpp
C++ asynchronous promises like a Promises/A+
Stars: โœญ 31 (-29.55%)
Mutual labels:  promise
Bluebird Api
Bluebird compatible API on top of native promises.
Stars: โœญ 36 (-18.18%)
Mutual labels:  promise
Franticapparatus
Type and memory safe promises for Swift, supports cancellation
Stars: โœญ 27 (-38.64%)
Mutual labels:  promise
Promise
Promise-ๅœจJavaไธญไปฅๅŒๆญฅ็š„ๆ–นๅผๅผ‚ๆญฅ็ผ–็จ‹
Stars: โœญ 20 (-54.55%)
Mutual labels:  promise
Create Request
Apply interceptors to `fetch` and create a custom request function.
Stars: โœญ 34 (-22.73%)
Mutual labels:  promise
Tiny Qiniu
A tiny qiniu sdk for uploading file.
Stars: โœญ 15 (-65.91%)
Mutual labels:  promise
Breeze
Javascript async flow control manager
Stars: โœญ 38 (-13.64%)
Mutual labels:  promise
Vsphere Connect
A modern vSphere Client
Stars: โœญ 14 (-68.18%)
Mutual labels:  promise
Assertive
Assertive is a terse yet expressive assertion library
Stars: โœญ 21 (-52.27%)
Mutual labels:  promise
Nodespider
[DEPRECATED] Simple, flexible, delightful web crawler/spider package
Stars: โœญ 33 (-25%)
Mutual labels:  promise
Node Qiniu Sdk
ไธƒ็‰›ไบ‘SDK๏ผŒไฝฟ็”จ ES2017 async functions ๆฅๆ“ไฝœไธƒ็‰›ไบ‘๏ผŒๆŽฅๅฃๅ็งฐไธŽๅฎ˜ๆ–นๆŽฅๅฃๅฏนๅบ”๏ผŒ่ฝปๆพไธŠๆ‰‹๏ผŒๆ–‡ๆกฃ้ฝๅ…จ
Stars: โœญ 44 (+0%)
Mutual labels:  promise

school-kr

์ „๊ตญ ์ดˆ, ๋“ฑ, ๊ณ ๋“ฑํ•™๊ต ๋ฐ ๋ณ‘์„ค์œ ์น˜์› ๊ธ‰์‹, ํ•™์‚ฌ์ผ์ • ํŒŒ์‹ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

npm version downloads license circleci

๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” Node.js ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Promise ๊ธฐ๋ฐ˜์˜ ๊ธ‰์‹ API + ํ•™์‚ฌ์ผ์ • API ํ†ตํ•ฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž…๋‹ˆ๋‹ค.

์ „๊ตญ ๊ต์œก์ฒญ ํ•™์ƒ ์„œ๋น„์Šค ํŽ˜์ด์ง€(stu.xxx.go.kr)๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ ์ด๋ฒˆ ๋‹ฌ ํ•™์‚ฌ์ผ์ •๊ณผ ๊ธ‰์‹ ์ •๋ณด๋ฅผ JSON ๋ฐ์ดํ„ฐ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

3.0.0 ๋ฒ„์ „๋ถ€ํ„ฐ ํŒŒ์‹ฑ ๋ฐฉ์‹์ด ์•„๋‹Œ API ํ˜ธ์ถœ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜ํ•˜๊ธฐ

NPM ์ €์žฅ์†Œ๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ณ„๋‹ค๋ฅธ ์ž‘์—… ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

npm i school-kr

ํ…Œ์ŠคํŠธ

์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
sample/sample.js ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ, ํ•™๊ต๋Š” ๊ด‘๋ช…๊ฒฝ์˜ํšŒ๊ณ„๊ณ ๋“ฑํ•™๊ต ๊ธฐ์ค€์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

npm test

v2 ๋ฒ„์ „๊ณผ v3 ๋ฒ„์ „์˜ ์„ฑ๋Šฅ ๋น„๊ต


v3๋Š” v2 ๋Œ€๋น„ ์•ฝ 25%์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋จ (๋„คํŠธ์›Œํฌ ์ƒํƒœ์— ๋”ฐ๋ผ ์ผ๋ถ€ ๋ณ€๋™๋  ์ˆ˜ ์žˆ์Œ)

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” test/test_v2.js, test/test_v3.js ์ฐธ๊ณ 

๊ฐœ๋ฐœ ๋ฌธ์„œ

School

๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์˜ค๋ฉด School ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

const School = require('school-kr');
new School();

School.Type

ํ•™๊ต ์ข…๋ฅ˜ ์ฐธ์กฐ


School.Region

๊ต์œก์ฒญ ๊ด€ํ•  ์ง€์—ญ ์ฐธ์กฐ


(Method) School.search

์ง€์ •ํ•œ ์ง€์—ญ์˜ ํ•™๊ต๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Parameter Type Required
region Symbol O
name string O

Return type: Promise<Array<any>>, ์ฐธ๊ณ 

const school = new School();
school.search(region, name);

์˜ˆ์ œ๋Š” ํ•™๊ต ๊ฒ€์ƒ‰ ์ฐธ์กฐ


(Method) School.init

์ธ์Šคํ„ด์Šค ์ •๋ณด๋ฅผ ์ง€์ •ํ•œ ํ•™๊ต๋กœ ์ดˆ๊ธฐํ™” ํ•ฉ๋‹ˆ๋‹ค.

Parameter Type Required
type Symbol O
region Symbol O
schoolCode string O

Return type: void

const school = new School();
school.init(type, region, schoolCode);

์˜ˆ์ œ๋Š” ์ธ์Šคํ„ด์Šค ์ดˆ๊ธฐํ™” ์ฐธ์กฐ


(Method) School.getMeal

์ด๋ฒˆ ๋‹ฌ ๋˜๋Š” ์ง€์ •ํ•œ ๋…„๋„/์›”์˜ ๊ธ‰์‹ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค
๋…„๋„ ๋˜๋Š” ์›”์„ ์ง€์ •ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ํ˜„์žฌ ์‹œ์ ์˜ ๋‚ ์งœ ๊ธฐ์ค€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Parameter Type Required
year any X
month number X

Return type: Promise<any>, ์ฐธ๊ณ 

school.getMeal(year, month);

์˜ˆ์ œ๋Š” ๊ธ‰์‹ ๋ฐ ํ•™์‚ฌ์ผ์ • ์กฐํšŒ ์ฐธ์กฐ


(Method) School.getCalendar

์ด๋ฒˆ ๋‹ฌ ๋˜๋Š” ์ง€์ •ํ•œ ๋…„๋„/์›”์˜ ํ•™์‚ฌ์ผ์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค
๋…„๋„ ๋˜๋Š” ์›”์„ ์ง€์ •ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ํ˜„์žฌ ์‹œ์ ์˜ ๋‚ ์งœ ๊ธฐ์ค€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Parameter Type Required
year any X
month number X

Return type: Promise<any>, ์ฐธ๊ณ 

school.getCalendar(year, month);

์˜ˆ์ œ๋Š” ๊ธ‰์‹ ๋ฐ ํ•™์‚ฌ์ผ์ • ์กฐํšŒ ์ฐธ์กฐ


์‚ฌ์šฉ ๋ฐฉ๋ฒ•

School ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

school-kr ๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
์ƒ์„ฑ ํ›„ ๋ฐ˜๋“œ์‹œ init()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ํ•™๊ต๋กœ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

  • init() ํ˜ธ์ถœ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๊ฒฝ์šฐ Error๊ฐ€ Throw ๋ฉ๋‹ˆ๋‹ค.
const School = require('school-kr')
const school = new School()

/*
* @param type: ํ•™๊ต ์œ ํ˜•(์ดˆ, ์ค‘, ๊ณ , ๋ณ‘์„ค์œ ์น˜์›)
* @param region: ๊ต์œก์ฒญ ๊ด€ํ•  ์ง€์—ญ
* @param schoolCode: ํ•™๊ต ๊ณ ์œ  ์ฝ”๋“œ
*/
school.init(/* Type */, /* Region */, /* SchoolCode */)

ํ•™๊ต ์ข…๋ฅ˜

ํ•™๊ต ์ข…๋ฅ˜๋Š” School.Type ์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

const School = require('school-kr');

/* 4 */
console.log(School.Type.HIGH);
์œ ํ˜• Key Value
๋ณ‘์„ค์œ ์น˜์› KINDERGARTEN 1
์ดˆ๋“ฑํ•™๊ต ELEMENTARY 2
์ค‘ํ•™๊ต MIDDLE 3
๊ณ ๋“ฑํ•™๊ต HIGH 4

๊ต์œก์ฒญ ๊ด€ํ•  ์ง€์—ญ

์ง€์—ญ์€ ์ƒ์„ฑํ•œ School.Region ์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

const School = require('school-kr');

/* stu.sen.go.kr */
console.log(School.Region.SEOUL);
์ง€์—ญ Key Value
์„œ์šธ SEOUL stu.sen.go.kr
์ธ์ฒœ INCHEON stu.ice.go.kr
๋ถ€์‚ฐ BUSAN stu.pen.go.kr
๊ด‘์ฃผ GWANGJU stu.gen.go.kr
๋Œ€์ „ DAEJEON stu.dge.go.kr
๋Œ€๊ตฌ DEAGU stu.dge.go.kr
์„ธ์ข… SEJONG stu.sje.go.kr
์šธ์‚ฐ ULSAN stu.use.go.kr
๊ฒฝ๊ธฐ GYEONGGI stu.goe.go.kr
๊ฐ•์› KANGWON stu.kwe.go.kr
์ถฉ๋ถ CHUNGBUK stu.cbe.go.kr
์ถฉ๋‚จ CHUNGNAM stu.cne.go.kr
๊ฒฝ๋ถ GYEONGBUK stu.gbe.go.kr
๊ฒฝ๋‚จ GYEONGNAM stu.gne.go.kr
์ „๋ถ JEONBUK stu.jbe.go.kr
์ „๋‚จ JEONNAM stu.jne.go.kr
์ œ์ฃผ JEJU stu.jje.go.kr

ํ•™๊ต ์ฝ”๋“œ

School.search()๋ฅผ ํ†ตํ•ด ํ•™๊ต ์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ž์„ธํ•œ ์‚ฌ์šฉ๋ฒ•์€ ํ•™๊ต ๊ฒ€์ƒ‰ ์ฐธ์กฐ

์‚ฌ์šฉ ์˜ˆ์‹œ

โ€ป ์•„๋ž˜ ์˜ˆ์ œ๋Š” ๊ฒฝ๊ธฐ๋„์˜ ๊ด‘๋ช…๊ฒฝ์˜ํšŒ๊ณ„๊ณ ๋“ฑํ•™๊ต๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

ํ•™๊ต ๊ฒ€์ƒ‰

const School = require('school-kr');
const school = new School();

school.search(School.Region.GYEONGGI, '๊ด‘๋ช…๊ฒฝ์˜ํšŒ๊ณ„๊ณ ');

์ธ์Šคํ„ด์Šค ์ดˆ๊ธฐํ™”

const School = require('school-kr');
const school = new School();

school.init(School.Type.HIGH, School.Region.GYEONGGI, 'J100000488');

๊ธ‰์‹ ๋ฐ ํ•™์‚ฌ์ผ์ • ์กฐํšŒ

์‚ฌ์šฉ ์˜ˆ์‹œ

const School = require('school-kr');
const school = new School();

const example = async function () {
  // ํ•™๊ต ๊ฒ€์ƒ‰ ๋ฐ ์ฒซ ๋ฒˆ์งธ ๊ฒฐ๊ณผ์˜ ํ•™๊ต ์ฝ”๋“œ๋กœ ์ดˆ๊ธฐํ™”
  const result = await school.search(School.Region.GYEONGGI, '๊ด‘๋ช…๊ฒฝ์˜ํšŒ๊ณ„๊ณ ');
  school.init(School.Type.HIGH, School.Region.GYEONGGI, result[0].schoolCode);

  const meal = await school.getMeal();
  const calendar = await school.getCalendar();

  // ์˜ค๋Š˜ ๋‚ ์งœ
  console.log(`${meal.month}์›” ${meal.day}์ผ`);

  // ์˜ค๋Š˜ ๊ธ‰์‹ ์ •๋ณด
  console.log(meal.today);

  // ์ด๋ฒˆ ๋‹ฌ ๊ธ‰์‹ ์ •๋ณด
  console.log(meal);

  // ์ด๋ฒˆ ๋‹ฌ ํ•™์‚ฌ์ผ์ •
  console.log(calendar);

  // ๋…„๋„์™€ ๋‹ฌ์„ ์ง€์ •ํ•˜์—ฌ ํ•ด๋‹น ๋‚ ์งœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  const mealCustom = await school.getMeal(2018, 9);
  const calendarCustom = await school.getCalendar(2017, 4);

  console.log(mealCustom);
  console.log(calendarCustom);

  // ๋…„๋„๊ฐ’ ๋Œ€์‹  ์˜ต์…˜ ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๊ฐ€๋Šฅ
  // year: ๋…„๋„ (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ ์‹œ์ ์˜ ๋…„๋„)
  // month: ๋‹ฌ (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ ์‹œ์ ์˜ ๋‹ฌ)
  // default: ๊ธ‰์‹์ด ์—†๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’ (๊ธฐ๋ณธ๊ฐ’: '')
  const optionMeal = await school.getMeal({
    year: 2018,
    month: 9,
    default: '๊ธ‰์‹์ด ์—†์Šต๋‹ˆ๋‹ค',
  });

  // ๋…„๋„๊ฐ’ ๋Œ€์‹  ์˜ต์…˜ ๊ฐ์ฒด๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๊ฐ€๋Šฅ
  // year: ๋…„๋„ (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ ์‹œ์ ์˜ ๋…„๋„)
  // month: ๋‹ฌ (๊ธฐ๋ณธ๊ฐ’: ํ˜„์žฌ ์‹œ์ ์˜ ๋‹ฌ)
  // default: ๊ธ‰์‹์ด ์—†๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’ (๊ธฐ๋ณธ๊ฐ’: '')
  // separator: ํ•˜๋ฃจ์— 2๊ฐœ ์ด์ƒ์˜ ์ผ์ •์ด ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ๊ตฌ๋ถ„๋ฌธ์ž (๊ธฐ๋ณธ๊ฐ’: ,)
  //            ์˜ˆ: ๊ฒจ์šธ๋ฐฉํ•™,ํ† ์š”ํœด์—…์ผ
  const optionCalendar = await school.getCalendar({
    default: '์ผ์ • ์—†๋Š” ๋‚ ',
    separator: '\n',
  });

  console.log(optionMeal);
  console.log(optionCalendar);
};

example();

๊ฒ€์ƒ‰ ๋ฐ์ดํ„ฐ ํ˜•์‹

search ๋ฐ˜ํ™˜ ๋ฐ์ดํ„ฐ ํ˜•์‹์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Key Value ๋น„๊ณ 
name ํ•™๊ต๋ช…
schoolCode ํ•™๊ต ์ฝ”๋“œ NEIS ์ฝ”๋“œ
address ํ•™๊ต ์†Œ์žฌ์ง€
// ๊ฒฝ๊ธฐ, ์†Œํ•˜ ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ
[
  {
    name: '์†Œํ•˜์ดˆ๋“ฑํ•™๊ต๋ณ‘์„ค์œ ์น˜์›',
    schoolCode: 'J100005055',
    address: '๊ฒฝ๊ธฐ๋„ ๊ด‘๋ช…์‹œ ์†Œํ•˜1๋™',
  },
  {
    name: '์†Œํ•˜์ดˆ๋“ฑํ•™๊ต',
    schoolCode: 'J100001213',
    address: '๊ฒฝ๊ธฐ๋„ ๊ด‘๋ช…์‹œ ์†Œํ•˜๋™',
  },
  { name: '์†Œํ•˜์ค‘ํ•™๊ต', schoolCode: 'J100001194', address: '๊ฒฝ๊ธฐ๋„ ๊ด‘๋ช…์‹œ ์†Œํ•˜๋™' },
  {
    name: '์†Œํ•˜๊ณ ๋“ฑํ•™๊ต',
    schoolCode: 'J100000632',
    address: '๊ฒฝ๊ธฐ๋„ ๊ด‘๋ช…์‹œ ์†Œํ•˜1๋™',
  },
];

๊ธ‰์‹ ๋ฐ์ดํ„ฐ ํ˜•์‹

getMeal ๋ฐ˜ํ™˜ ๋ฐ์ดํ„ฐ ํ˜•์‹์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Key Value ๋น„๊ณ 
1 ~ 31 ํ•ด๋‹น ๋‚ ์งœ์˜ ๊ธ‰์‹ ๊ธ‰์‹์ด ์—†๋Š” ๊ฒฝ์šฐ option.default ๊ฐ’ ํ˜น์€ ๋นˆ ๋ฌธ์ž์—ด
year ์กฐํšŒ ๋…„๋„
month ์กฐํšŒ ๋‹ฌ
day ์˜ค๋Š˜ ๋‚ ์งœ ์‚ฌ์šฉ์ž ์ง€์ • ๋…„๋„/์›”์ด ์ด๋ฒˆ ๋‹ฌ์ด ์•„๋‹Œ ๊ฒฝ์šฐ 0
today ์˜ค๋Š˜ ๊ธ‰์‹ ๊ธ‰์‹์ด ์—†๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๊ธ‰์‹ ๊ฐ’
{
  '1': '[์ค‘์‹]\n๋ฐœ์•„ํ˜„๋ฏธ๋ฐฅ\n๋ฏธ์—ญ๊ตญ5.6.9....', // ์ด๋ฒˆ๋‹ฌ 1์ผ ๋ฉ”๋‰ด
  '2': '[์ค‘์‹]\n์–ผ๊ฐˆ์ด๋œ์žฅ๋ฌด์นจ5.6.\n์นผ์Š˜์ฐน์Œ€....', // ์ด๋ฒˆ๋‹ฌ 2์ผ ๋ฉ”๋‰ด
  '3': '[์ค‘์‹]\nํˆฌ์›€๋ฐ”ํŒŒ์Šคํƒ€(์ฃผ์‹)1.2.5.6.9.13.15.\n....', // ์ด๋ฒˆ๋‹ฌ 3์ผ ๋ฉ”๋‰ด
  '4': '', // ๊ธ‰์‹์ด ์—†์„ ๊ฒฝ์šฐ option.default ๊ฐ’ ํ˜น์€ ๋นˆ ๋ฌธ์ž์—ด
  '5': '',
  ...
  'year': 2018, // ์ด๋ฒˆ ๋…„๋„
  'month': 5,   // ์ด๋ฒˆ ๋‹ฌ
  'day': 3,     // ์˜ค๋Š˜ ๋‚ ์งœ
  'today': '[์ค‘์‹]\nํˆฌ์›€๋ฐ”ํŒŒ์Šคํƒ€(์ฃผ์‹)1.2.5.6.9.13.15.\n....' // ์˜ค๋Š˜ ๋ฉ”๋‰ด
}

ํ•™์‚ฌ์ผ์ • ๋ฐ์ดํ„ฐ ํ˜•์‹

getCalendar ๋ฐ˜ํ™˜ ๋ฐ์ดํ„ฐ ํ˜•์‹์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Key Value ๋น„๊ณ 
1 ~ 31 ํ•ด๋‹น ๋‚ ์งœ์˜ ์ผ์ • ์ผ์ •์ด ์—†๋Š” ๊ฒฝ์šฐ option.default ๊ฐ’ ํ˜น์€ ๋นˆ ๋ฌธ์ž์—ด
year ์กฐํšŒ ๋…„๋„
month ์กฐํšŒ ๋‹ฌ
day ์˜ค๋Š˜ ๋‚ ์งœ ์‚ฌ์šฉ์ž ์ง€์ • ๋…„๋„/์›”์ด ์ด๋ฒˆ ๋‹ฌ์ด ์•„๋‹Œ ๊ฒฝ์šฐ 0
today ์˜ค๋Š˜ ๊ธ‰์‹ ์ผ์ •์ด ์—†๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ผ์ • ๊ฐ’
{
  '1': '', // ์ด๋ฒˆ ๋‹ฌ 1์ผ์˜ ์ผ์ •
  '2': '', // ์ผ์ •์ด ์—†์„ ๊ฒฝ์šฐ option.default ๊ฐ’ ํ˜น์€ ๋นˆ ๋ฌธ์ž์—ด
  '3': '',
  '4': '๊ฐœ๊ต๊ธฐ๋…์ผ', // 4์ผ ์ผ์ •
  '5': '',
  '6': '',
  '7': '๋Œ€์ฒด๊ณตํœด์ผ',
  ...
  'year': 2018,
  'month': 5 // ์ด๋ฒˆ ๋‹ฌ
  'day': 4,  // ์˜ค๋Š˜ ๋‚ ์งœ
  'today': '๊ฐœ๊ต๊ธฐ๋…์ผ' // ์˜ค๋Š˜์˜ ์ผ์ •
}

๋ฌธ์ œ ์‹ ๊ณ 

v3 ๋ฏธ๋งŒ์˜ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๊ฒฝ์šฐ ๊ต์œก์ฒญ ํ™ˆํŽ˜์ด์ง€์˜ ๋ฆฌ๋‰ด์–ผ ๋“ฑ์˜ ๋ฌธ์ œ๋กœ ํŒŒ์‹ฑ์ด ๋ถˆ๊ฐ€๋Šฅ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. v3 ์ด์ƒ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๋ฉฐ, ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์ด์Šˆ๋ฅผ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ์ตœ๋Œ€ํ•œ ๋น ๋ฅด๊ฒŒ ์ˆ˜์ •ํ•˜์—ฌ ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ์‚ฌํ•ญ

  • 3.1.2
    • Issue #26 3์›” ์ด์ „์˜ ํ•™์‚ฌ์ผ์ •์„ ์ œ๋Œ€๋กœ ๋ถˆ๋Ÿฌ์˜ค์ง€ ๋ชปํ•˜๋˜ ๋ฌธ์ œ ์ˆ˜์ • - Thanks to cjaewon
  • 3.1.1
    • Issue #19 ์„œ๋กœ ๋‹ค๋ฅธ ์ง€์—ญ์˜ ํ•™๊ต ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋˜ ๋ฌธ์ œ ์ˆ˜์ • (๊ฒ€์ƒ‰, ๊ธ‰์‹, ๊ณต์ง€ ๋ชจ๋‘ ํ•ด๋‹นํ•จ)
    • ๊ฐœ๋ฐœ ์˜์กด์„ฑ ๋ชจ๋“ˆ ์—…๋ฐ์ดํŠธ
  • 3.1.0
    • Issue #9 ์„ธ์…˜ ๊ด€๋ จ ๋กœ์ง ๊ฐœ์„  (ํ™•์ธ ํ•„์š”)
    • Issue #16 ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ง€์›(d.ts ์ถ”๊ฐ€) - Thanks to cjaewon
    • ESLint ๊ตฌ์„ฑ ์ถ”๊ฐ€ ๋ฐ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ˆ˜์ •
  • 3.0.3
    • Issue #15 ๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†๋˜ ๋ฌธ์ œ ์ˆ˜์ •
  • 3.0.2
    • Issue #11, Issue #14 1๋…„ ์ด์ „ ๋ฐ์ดํ„ฐ๊ฐ€ ํŒŒ์‹ฑ๋˜๋˜ ๋ฌธ์ œ ์ˆ˜์ •
  • 3.0.1
    • Issue #10 ๊ต์œก์ฒญ ์ง€์—ญ๋ณ„ ์„ธ์…˜ ์œ ์ง€ํ•˜๋„๋ก ์ˆ˜์ •
  • 3.0.0
    • node-school-kr -> school-kr๋กœ ๋ชจ๋“ˆ๋ช… ๋ณ€๊ฒฝ
    • HTTP ์š”์ฒญ ์ฝ”๋“œ๋ฅผ ๊ธฐ์กด์˜ request์—์„œ ๋ชจ๋‘ axios๋กœ ๋ณ€๊ฒฝ
    • ํŽ˜์ด์ง€ HTML ํŒŒ์‹ฑ ๋ฐฉ์‹์—์„œ API ๋ฐ์ดํ„ฐ ์š”์ฒญ ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•จ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์„ฑ๋Šฅ ๊ฐœ์„  - ์•ฝ 25%
    • Issue #2 ํ•™๊ต ์ •๋ณด(์ฝ”๋“œ) ์กฐํšŒ๋ฅผ ์œ„ํ•œ search ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€ - ์ฐธ๊ณ 
    • Issue #6 1~2์›” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๊ฒฝ์šฐ ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜์˜ค๋˜ ๋ฌธ์ œ ์ˆ˜์ • - ์ฐธ๊ณ 
    • 3.0.0 ๋ถ€ํ„ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ (Deprecated)
      • School.reset
      • School.getTargetURL
    • 3.0.0์— ๋งž๋„๋ก ๋ฌธ์„œ ์ˆ˜์ •, Issue #7 ๋งˆํฌ๋‹ค์šด ํ˜•์‹ ์ˆ˜์ •
  • 2.2.2
    • Issue #5 ๋Œ€์ „ ๊ต์œก์ฒญ URL ๋ฌธ์ œ ์ˆ˜์ •
  • 2.2.1
    • Issue #4 ํ•™์‚ฌ์ผ์ • ๊ธฐ๋ณธ๊ฐ’ ์˜ค๋ฅ˜ ์ˆ˜์ •
  • 2.2.0
    • Issue #3 ๊ธฐ๋ณธ๊ฐ’ ์˜ต์…˜ ์ถ”๊ฐ€
    • getMeal, getCalendar ์˜ต์…˜ ํ˜ธ์ถœ๋ฐฉ์‹ ์ถ”๊ฐ€
  • 2.1.2
    • Issue #1 ๊ฒฝ๋ถ ๊ต์œก์ฒญ ์ ‘์†๋ฌธ์ œ ์ˆ˜์ •
    • ์˜์กด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ ์—…๋ฐ์ดํŠธ
  • 2.1.1
    • ์˜์กด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ ์—…๋ฐ์ดํŠธ
  • 2.1.0
    • ๊ธ‰์‹ / ํ•™์‚ฌ์ผ์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ๋…„๋„์™€ ์›”์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    • ๊ธ‰์‹ / ํ•™์‚ฌ์ผ์ • ๋ฐ์ดํ„ฐ์— ๋…„๋„ ์ถ”๊ฐ€
    • README์— ๊ฐœ๋ฐœ ๋ฌธ์„œ ์ถ”๊ฐ€ ์ž‘์„ฑ
  • 2.0.1
    • ์˜์กด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ ์—…๋ฐ์ดํŠธ
  • 2.0.0
    • โ€ป ๊ธฐ์กด ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (์•„๋ž˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํ™•์ธ ํ•ด์ฃผ์„ธ์š”)
    • Type, Region ํ”„๋กœํผํ‹ฐ ๊ฐ’์„ Symbol ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„
    • ์—๋Ÿฌ ๋ฐœ์ƒ ์ƒํ™ฉ ์ถ”๊ฐ€ ๋ฐ ๊ธฐ์กด ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •
    • getNotice ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ -> getCalendar
    • getTargetURL ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€ (ํŒŒ์‹ฑํ•  ํƒ€๊ฒŸ URL์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค, ์ฐธ๊ณ )
    • ์˜ˆ์ œ ๋ฐ README ๋‚ด์šฉ ์ˆ˜์ •์‚ฌํ•ญ์— ๋งž๊ฒŒ ์—…๋ฐ์ดํŠธ / ๋‚ด์šฉ ์ถ”๊ฐ€
    • ์ฝ”๋“œ ์ฃผ์„ ์—…๋ฐ์ดํŠธ
  • 1.0.1
    • NPM ์ €์žฅ์†Œ์™€ ์ด๋ฆ„ ๋™์ผํ•˜๊ฒŒ Git ์ €์žฅ์†Œ ์ด๋ฆ„ ๋ณ€๊ฒฝ (์ด๋ฏธ ์‚ฌ์šฉ์ค‘์ธ ์ด๋ฆ„)
      • node-school -> node-school-kr
    • README ๋ฌธ์„œ ๋‚ด์šฉ ์ˆ˜์ •
    • ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๊ตฌ๋ถ„ ๋ฌธ์ž ์ถ”๊ฐ€ (๊ธ‰์‹ ํŒŒ์‹ฑ ์—๋Ÿฌ์ธ์ง€ ํ•™์‚ฌ์ผ์ • ํŒŒ์‹ฑ ์—๋Ÿฌ์ธ์ง€ ๊ตฌ๋ถ„)
  • 1.0.0 - ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์ฆˆ!

๋ผ์ด์„ผ์Šค

MIT

์ •๋ณด

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” School API๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ Node.js ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒˆ๋กœ ํฌํŒ…ํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.
3.0.0 ๋ฒ„์ „๋ถ€ํ„ฐ ์™„์ „ํžˆ ์ƒˆ๋กญ๊ฒŒ ๊ฐœ๋ฐœ๋˜์–ด ์„ฑ๋Šฅ ๋ฐ ์•ˆ์ •์„ฑ์ด ํฌ๊ฒŒ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].