강현태

toggle_toon 추가

......@@ -2,14 +2,10 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="ffe1a490-8fdb-4611-8537-4d1c03c40b8d" name="Default" comment="">
<change type="DELETED" beforePath="$PROJECT_DIR$/npm-debug.log" afterPath="" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/dataSources/01265fc0-37d6-481f-ac14-42262cda0ac3.xml" afterPath="$PROJECT_DIR$/.idea/dataSources/01265fc0-37d6-481f-ac14-42262cda0ac3.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/app.js" afterPath="$PROJECT_DIR$/app.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/node_modules/async/package.json" afterPath="$PROJECT_DIR$/node_modules/async/package.json" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/package.json" afterPath="$PROJECT_DIR$/package.json" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/routes/index.js" afterPath="$PROJECT_DIR$/routes/index.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/routes/mytoons.js" afterPath="$PROJECT_DIR$/routes/mytoons.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/routes/setting.js" afterPath="$PROJECT_DIR$/routes/setting.js" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/views/index.ejs" afterPath="$PROJECT_DIR$/views/index.ejs" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/views/mytoons.ejs" afterPath="$PROJECT_DIR$/views/mytoons.ejs" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/views/setting.ejs" afterPath="$PROJECT_DIR$/views/setting.ejs" />
......@@ -66,8 +62,8 @@
<file leaf-file-name="mytoons.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/routes/mytoons.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="359">
<caret line="25" column="15" lean-forward="false" selection-start-line="25" selection-start-column="15" selection-end-line="25" selection-end-column="15" />
<state relative-caret-position="-210">
<caret line="34" column="76" lean-forward="false" selection-start-line="34" selection-start-column="76" selection-end-line="34" selection-end-column="76" />
<folding />
</state>
</provider>
......@@ -76,9 +72,24 @@
<file leaf-file-name="index.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/routes/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="182">
<caret line="19" column="17" lean-forward="false" selection-start-line="19" selection-start-column="13" selection-end-line="19" selection-end-column="17" />
<folding />
<state relative-caret-position="267">
<caret line="149" column="0" lean-forward="false" selection-start-line="149" selection-start-column="0" selection-end-line="149" selection-end-column="0" />
<folding>
<element signature="n#!!block;n#getLatestToon#0" expanded="false" />
<element signature="n#!!block;n#getAllToons#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="index.ejs" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/views/index.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-161">
<caret line="0" column="15" lean-forward="true" selection-start-line="0" selection-start-column="15" selection-end-line="0" selection-end-column="15" />
<folding>
<marker date="1512610222312" expanded="true" signature="211:1032" ph="..." />
</folding>
</state>
</provider>
</entry>
......@@ -86,13 +97,46 @@
<file leaf-file-name="mytoons.ejs" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/views/mytoons.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="37" lean-forward="true" selection-start-line="11" selection-start-column="37" selection-end-line="11" selection-end-column="37" />
<state relative-caret-position="330">
<caret line="22" column="11" lean-forward="true" selection-start-line="22" selection-start-column="11" selection-end-line="22" selection-end-column="11" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="setting.ejs" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/views/setting.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-8">
<caret line="24" column="12" lean-forward="false" selection-start-line="24" selection-start-column="12" selection-end-line="24" selection-end-column="12" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="setting.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/routes/setting.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" column="49" lean-forward="false" selection-start-line="6" selection-start-column="49" selection-end-line="6" selection-end-column="49" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="app.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/app.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="570">
<caret line="38" column="0" lean-forward="false" selection-start-line="38" selection-start-column="0" selection-end-line="38" selection-end-column="0" />
<folding>
<element signature="e#1750#1822#0" expanded="false" />
<element signature="e#1881#2127#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
......@@ -117,6 +161,10 @@
<find>quer</find>
<find>connection</find>
<find>user</find>
<find>노블레스</find>
<find>패밀리</find>
<find>console</find>
<find>query</find>
</findStrings>
<dirStrings>
<dir>$PROJECT_DIR$/views</dir>
......@@ -146,16 +194,16 @@
<option value="$PROJECT_DIR$/views/login.html" />
<option value="$PROJECT_DIR$/public/javascripts/kakao.js" />
<option value="$PROJECT_DIR$/views/setting.html" />
<option value="$PROJECT_DIR$/routes/setting.js" />
<option value="$PROJECT_DIR$/config/passport.js" />
<option value="$PROJECT_DIR$/models/user.js" />
<option value="$PROJECT_DIR$/app.js" />
<option value="$PROJECT_DIR$/views/setting.ejs" />
<option value="$PROJECT_DIR$/views/index.ejs" />
<option value="$PROJECT_DIR$/routes/index.js" />
<option value="$PROJECT_DIR$/package.json" />
<option value="$APPLICATION_CONFIG_DIR$/consoles/db/01265fc0-37d6-481f-ac14-42262cda0ac3/console.sql" />
<option value="$PROJECT_DIR$/views/index.ejs" />
<option value="$PROJECT_DIR$/app.js" />
<option value="$PROJECT_DIR$/routes/index.js" />
<option value="$PROJECT_DIR$/views/setting.ejs" />
<option value="$PROJECT_DIR$/routes/mytoons.js" />
<option value="$PROJECT_DIR$/routes/setting.js" />
<option value="$PROJECT_DIR$/views/mytoons.ejs" />
</list>
</option>
......@@ -171,7 +219,7 @@
<component name="NodeModulesDirectoryManager">
<handled-path value="$PROJECT_DIR$/node_modules" />
</component>
<component name="ProjectFrameBounds" extendedState="6" fullScreen="true">
<component name="ProjectFrameBounds" fullScreen="true">
<option name="width" value="718" />
<option name="height" value="900" />
</component>
......@@ -191,6 +239,7 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<expand>
......@@ -212,7 +261,6 @@
<select />
</subPane>
</pane>
<pane id="Scratches" />
<pane id="AndroidView" />
<pane id="Scope" />
<pane id="PackagesPane" />
......@@ -338,7 +386,8 @@
<option name="presentableId" value="Default" />
<updated>1512173581551</updated>
<workItem from="1512173589576" duration="1873000" />
<workItem from="1512179289398" duration="112128000" />
<workItem from="1512179289398" duration="128771000" />
<workItem from="1512609885662" duration="20679000" />
</task>
<task id="LOCAL-00001" summary="초기 commit by intellij">
<created>1512174269218</created>
......@@ -358,29 +407,36 @@
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="114001000" />
<option name="totallyTimeSpent" value="151323000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="0" y="0" width="1440" height="900" extended-state="6" />
<frame x="0" y="0" width="1440" height="900" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329602" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329602" sideWeight="0.5028612" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329602" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.16523606" sideWeight="0.51119405" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329602" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.329602" sideWeight="0.49713877" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329602" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Database Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329602" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.16523606" sideWeight="0.48880598" order="0" side_tool="false" content_ui="combo" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3297568" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329602" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.29613733" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24964234" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
......@@ -392,6 +448,8 @@
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Database Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329602" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.329602" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
</layout>
<layout-to-restore>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
......@@ -463,11 +521,30 @@
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="138" />
<option name="time" value="211" />
</breakpoint-manager>
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/routes/mytoons.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="345">
<caret line="23" column="12" lean-forward="false" selection-start-line="23" selection-start-column="12" selection-end-line="23" selection-end-column="30" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="885">
<caret line="59" column="92" lean-forward="false" selection-start-line="59" selection-start-column="92" selection-end-line="59" selection-end-column="92" />
<folding>
<element signature="n#!!block;n#getLatestToon#0" expanded="false" />
<element signature="n#!!block;n#getAllToons#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/bin/www">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
......@@ -489,7 +566,7 @@
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<marker date="1512528857495" expanded="true" signature="211:995" ph="..." />
<marker date="1512610222312" expanded="true" signature="211:1032" ph="..." />
</folding>
</state>
</provider>
......@@ -502,67 +579,35 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/controllers/webtoon_crawler.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="71" column="5" lean-forward="false" selection-start-line="71" selection-start-column="5" selection-end-line="71" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/controllers/webtoon_crawler.js" />
<entry file="file://$PROJECT_DIR$/node_modules/request/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="212">
<caret line="43" column="10" lean-forward="false" selection-start-line="43" selection-start-column="10" selection-end-line="43" selection-end-column="10" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/helloWorld.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="4" column="16" lean-forward="false" selection-start-line="4" selection-start-column="11" selection-end-line="4" selection-end-column="16" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/helloWorld.html" />
<entry file="file://$APPLICATION_CONFIG_DIR$/javascript/nodejs/6.11.4/core-modules/vm.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="171">
<caret line="55" column="9" lean-forward="false" selection-start-line="55" selection-start-column="9" selection-end-line="55" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/login.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="60">
<caret line="4" column="16" lean-forward="false" selection-start-line="4" selection-start-column="11" selection-end-line="4" selection-end-column="16" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/login.ejs" />
<entry file="file://$APPLICATION_CONFIG_DIR$/javascript/nodejs/6.11.4/core-modules/module.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="171">
<caret line="468" column="14" lean-forward="false" selection-start-line="468" selection-start-column="14" selection-end-line="468" selection-end-column="14" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/public/javascripts/kakao.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-40">
<caret line="1" column="65" lean-forward="false" selection-start-line="1" selection-start-column="65" selection-end-line="1" selection-end-column="65" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/public/javascripts/kakao.js" />
<entry file="file://$PROJECT_DIR$/node_modules/passport-kakao/lib/strategy.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="300">
<caret line="20" column="0" lean-forward="false" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
......@@ -578,7 +623,6 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="171">
<caret line="129" column="17" lean-forward="false" selection-start-line="129" selection-start-column="17" selection-end-line="129" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
......@@ -586,86 +630,104 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/passport.js">
<entry file="file://$PROJECT_DIR$/config/passport.js" />
<entry file="file://$PROJECT_DIR$/models/user.js" />
<entry file="file://$PROJECT_DIR$/routes/users.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="10" column="11" lean-forward="false" selection-start-line="10" selection-start-column="11" selection-end-line="10" selection-end-column="11" />
<state relative-caret-position="90">
<caret line="6" column="2" lean-forward="false" selection-start-line="6" selection-start-column="2" selection-end-line="6" selection-end-column="2" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/models/user.js">
<entry file="file://$PROJECT_DIR$/package.json">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="20" lean-forward="false" selection-start-line="5" selection-start-column="20" selection-end-line="5" selection-end-column="20" />
<state relative-caret-position="420">
<caret line="28" column="28" lean-forward="false" selection-start-line="28" selection-start-column="28" selection-end-line="28" selection-end-column="28" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/users.js">
<entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/01265fc0-37d6-481f-ac14-42262cda0ac3/console.sql">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" column="2" lean-forward="false" selection-start-line="6" selection-start-column="2" selection-end-line="6" selection-end-column="2" />
<state relative-caret-position="0">
<caret line="0" column="161" lean-forward="false" selection-start-line="0" selection-start-column="161" selection-end-line="0" selection-end-column="161" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/setting.ejs">
<entry file="file://$PROJECT_DIR$/node_modules/async/dist/async.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="207">
<caret line="14" column="23" lean-forward="false" selection-start-line="14" selection-start-column="23" selection-end-line="14" selection-end-column="23" />
<folding />
<state relative-caret-position="171">
<caret line="954" column="0" lean-forward="false" selection-start-line="954" selection-start-column="0" selection-end-line="954" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/setting.js">
<entry file="das://table:/9e6ed7fb/01265fc0-37d6-481f-ac14-42262cda0ac3/YTMT.user">
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
<state>
<filtering enabled="true" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/mysql/lib/protocol/Parser.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="8" lean-forward="false" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="8" />
<state relative-caret-position="194">
<caret line="79" column="0" lean-forward="false" selection-start-line="79" selection-start-column="0" selection-end-line="79" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="das://table:/9e6ed7fb/01265fc0-37d6-481f-ac14-42262cda0ac3/YTMT.user_toon_relation">
<entry file="das://table:/9e6ed7fb/01265fc0-37d6-481f-ac14-42262cda0ac3/YTMT.toon">
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
<state>
<filtering enabled="true" />
</state>
</provider>
</entry>
<entry file="das://table:/9e6ed7fb/01265fc0-37d6-481f-ac14-42262cda0ac3/YTMT.toon">
<entry file="das://table:/9e6ed7fb/01265fc0-37d6-481f-ac14-42262cda0ac3/YTMT.user_toon_relation">
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
<state>
<filtering enabled="true" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="267">
<caret line="149" column="0" lean-forward="false" selection-start-line="149" selection-start-column="0" selection-end-line="149" selection-end-column="0" />
<folding>
<element signature="n#!!block;n#getLatestToon#0" expanded="false" />
<element signature="n#!!block;n#getAllToons#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/index.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="400">
<caret line="28" column="42" lean-forward="false" selection-start-line="28" selection-start-column="42" selection-end-line="28" selection-end-column="42" />
<state relative-caret-position="-161">
<caret line="0" column="15" lean-forward="true" selection-start-line="0" selection-start-column="15" selection-end-line="0" selection-end-column="15" />
<folding>
<marker date="1512528857495" expanded="true" signature="211:995" ph="..." />
<marker date="1512610222312" expanded="true" signature="211:1032" ph="..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/package.json">
<entry file="file://$PROJECT_DIR$/views/setting.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="420">
<caret line="28" column="28" lean-forward="false" selection-start-line="28" selection-start-column="28" selection-end-line="28" selection-end-column="28" />
<state relative-caret-position="-8">
<caret line="24" column="12" lean-forward="false" selection-start-line="24" selection-start-column="12" selection-end-line="24" selection-end-column="12" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/app.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-206">
<caret line="24" column="0" lean-forward="false" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
<state relative-caret-position="570">
<caret line="38" column="0" lean-forward="false" selection-start-line="38" selection-start-column="0" selection-end-line="38" selection-end-column="0" />
<folding>
<element signature="e#1750#1822#0" expanded="false" />
<element signature="e#1881#2127#0" expanded="false" />
......@@ -673,49 +735,26 @@
</state>
</provider>
</entry>
<entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/01265fc0-37d6-481f-ac14-42262cda0ac3/console.sql">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="161" lean-forward="false" selection-start-line="0" selection-start-column="161" selection-end-line="0" selection-end-column="161" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/async/dist/async.js">
<entry file="file://$PROJECT_DIR$/routes/setting.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="171">
<caret line="954" column="0" lean-forward="false" selection-start-line="954" selection-start-column="0" selection-end-line="954" selection-end-column="0" />
<state relative-caret-position="90">
<caret line="6" column="49" lean-forward="false" selection-start-line="6" selection-start-column="49" selection-end-line="6" selection-end-column="49" />
<folding />
</state>
</provider>
</entry>
<entry file="das://table:/9e6ed7fb/01265fc0-37d6-481f-ac14-42262cda0ac3/YTMT.user">
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
<state>
<filtering enabled="true" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/mytoons.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="359">
<caret line="25" column="15" lean-forward="false" selection-start-line="25" selection-start-column="15" selection-end-line="25" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="182">
<caret line="19" column="17" lean-forward="false" selection-start-line="19" selection-start-column="13" selection-end-line="19" selection-end-column="17" />
<state relative-caret-position="-210">
<caret line="34" column="76" lean-forward="false" selection-start-line="34" selection-start-column="76" selection-end-line="34" selection-end-column="76" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/mytoons.ejs">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="37" lean-forward="true" selection-start-line="11" selection-start-column="37" selection-end-line="11" selection-end-column="37" />
<state relative-caret-position="330">
<caret line="22" column="11" lean-forward="true" selection-start-line="22" selection-start-column="11" selection-end-line="22" selection-end-column="11" />
<folding />
</state>
</provider>
......@@ -723,6 +762,30 @@
</component>
<component name="masterDetails">
<states>
<state key="ArtifactsStructureConfigurable.UI">
<settings>
<artifact-editor />
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="FacetStructureConfigurable.UI">
<settings>
<last-edited>No facets are configured</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="GlobalLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
......@@ -746,6 +809,19 @@
</splitter-proportions>
</settings>
</state>
<state key="ModuleStructureConfigurable.UI">
<settings>
<last-edited>YTMT</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
<option value="0.6" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectJDKs.UI">
<settings>
<last-edited>1.8</last-edited>
......
......@@ -54,16 +54,49 @@ router.get('/auth/logout/kakao',function (req,res) {
res.redirect('/');
})
var allWebtoons;
allWebtoons = new Array();
function getLatestToon(titleid, day ,cb) {
var url = "http://comic.naver.com/webtoon/list.nhn?titleId=" + titleid+ "&weekday="+day;
console.log(url);
request(url, function (err, res, html) {
if (!err) {
var $ = cheerio.load(html);
var latestLink = 'http://comic.naver.com';
var latest;
var t = $('#content > table > tbody > tr > td.title > a').first().each(function () {
latestLink += $(this).attr('href');
setTimeout(function () {},100);
latest = latestLink.split('?')[1].split('&')[1].split('=')[1];
});
var latestImage;
$('#content > table > tbody > tr > td > a > img').first().each(function () {
latestImage = $(this).attr('src');
setTimeout(function () {},100);
});
cb({
latest: latest,
latestLink: latestLink,
latestImage: latestImage
});
} else {
console.log("최신화 못가져왔습니다.");
//throw err;
}
});
}
function getAllToons() {
var allWeeklyToonsUrl = "http://comic.naver.com/webtoon/weekday.nhn";
//connection.connect();
allWebtoonJSONList = new Array();
allWebtoonList = new Array();
request(allWeeklyToonsUrl,function (err, res, html) {
if(!err){
var $ = cheerio.load(html);
$(".thumb").each(function (i) {
var p = Promise.resolve();
var eachs = $(".thumb").each(function (i) {
var week = $(this).parent().parent().prev().attr('class');
var webtoon_link = "http://comic.naver.com" + $(this).children().first().attr('href');
var thumb_link = $(this).children().first().children().first().attr('src');
......@@ -75,25 +108,37 @@ function getAllToons() {
name : name,
thum_link : thumb_link,
webtoon_link : webtoon_link,
week : week
week : week,
latest : 0
};
webtoon_string = JSON.stringify(webtoon);
connection.query("INSERT INTO toon SET ? ON DUPLICATE KEY UPDATE toon_index=toon_index",
webtoon);
//JSON으로 만든당.
allWebtoonJSONList.push(webtoon_string);
})
allWebtoonList.push(webtoon);
});
p.then(function() {
i = 0;
allWebtoonList.forEach(function (webtoon) {
getLatestToon(webtoon.toon_index, webtoon.week, function (latest_toon) {
webtoon.latest = latest_toon.latest;
console.log(i + " = " + webtoon.name + " : " + webtoon.latest)
i++;
connection.query("INSERT INTO toon SET ? ON DUPLICATE KEY UPDATE latest=?",
[webtoon,webtoon.latest], function () {
if(err){
console.log("웹툰 갱신중 에러!");
}
});
});
})
});
}
//connection.end();
});
allWebtoons = allWebtoonJSONList;
allWebtoons = allWebtoonList;
}
getAllToons();
setInterval(getAllToons,5000);
//5초에 한번 수행
//처음 한번 수행
setInterval(getAllToons,5*60*1000);
//5분에 한번 수행
/* GET home page. */
router.get('/',
......
......@@ -7,6 +7,7 @@ var router = express.Router();
function getUpdatedToons(cb){
var allToons = new Array();
var allToonsUrl = "http://comic.naver.com/webtoon/weekday.nhn";
request(allToonsUrl, function(err, res, html){
if(!err){
var $ = cheerio.load(html);
......@@ -18,7 +19,6 @@ function getUpdatedToons(cb){
var toonHref = link.attr('href');
allToons[toonName] = toonHref;
//connection.query("");
});
});
p.then(function(){
......@@ -32,8 +32,8 @@ function getUpdatedToons(cb){
}
function getMyToons(id,cb){
var sqlquery = 'SELECT name, thum_link, webtoon_link, week, last FROM user u, user_toon_relation ur, toon t WHERE u.id=? && u.id=ur.user_id && t.toon_index=ur.toon_index;';
var mylist;
var sqlquery = 'SELECT name, thum_link, webtoon_link, week, last, latest FROM user u, user_toon_relation ur, toon t WHERE u.id=? && u.id=ur.user_id && t.toon_index=ur.toon_index;';
var mylist = new Array();
connection.query(sqlquery,id,function(err,rows,result){
if(!err){
mylist=rows;
......@@ -48,32 +48,24 @@ function getMyToons(id,cb){
/* GET home page. */
router.get('/', function(req, res, next) {
async.series(
[
function(callback){
getMyToons(req.user.user_id, function (mytoon_list) {
callback(null,mytoon_list);
});
},
function(callback){
getUpdatedToons(function (updated_list) {
callback(null,updated_list);
});
}
],
function(err, results){
console.log(results);
res.render('mytoons', {
mytoons: results[0],
updatedtoons: results[1]
});
}
);
if(!req.isAuthenticated()){
res.redirect('/');
}else{
async.series(
[
function(callback){
getMyToons(req.user.user_id, function (mytoon_list) {
callback(null,mytoon_list);
});
}
],
function(err, results){
res.render('mytoons', {
mytoons: results[0]
});
}
);
}
});
module.exports = router;
\ No newline at end of file
......
var express = require('express');
var router = express.Router();
require('../routes/mytoons');
router.get('/', function(req, res, next) {
res.render('setting',{
list : updatedToons
function addMyToons(id,index,cb){
connection.query("INSERT INTO user_toon_relation SET ?;",
{user_id : id,toon_index : index, last : 1},function (err) {
if(err) {
throw err;
console.log("내 웹툰 추가중 에러!")
} else{
//alert("추가되었습니다.")
cb();
}
});
}
router.post('/toggle_toon',function(req,res,next){
var index = req.body.toon_index;
var id = req.user.user_id;
connection.query("SELECT COUNT(*) FROM user_toon_relation WHERE user_id=? && toon_index=?",
[id,index], function (err, rows,result) {
if(err){
console.log("내웹툰 등록중 에러!");
}else{
var count = rows[0]["COUNT(*)"];
if(count>0){//이미 등록되어 있는 것이라면,
connection.query("DELETE FROM user_toon_relation WHERE user_id=? && toon_index=?;",
[id, index],function (err, rows, result) {
if(err) {
console.log("내 웹툰 제거중 에러!");
throw err;
}else{
//alert("제거되었습니다.")
res.redirect('/setting');
}
});
}else{
addMyToons(id,index,function(){
res.redirect('/setting');
});
}
}
});
});
function getMyToons(id,cb){
var sqlquery = 'SELECT name, thum_link, webtoon_link, week, last FROM user u, user_toon_relation ur, toon t WHERE u.id=? && u.id=ur.user_id && t.toon_index=ur.toon_index;';
var mylist = new Array();
connection.query(sqlquery,id,function(err,rows,result){
if(!err){
mylist=rows;
cb(mylist);
}else{
console.log("내 웹툰 리스트 가져오는데 실패했습니다!");
//throw err;
}
});
}
router.get('/', function(req, res, next) {
getMyToons(req.user.user_id,function (mytoons) {
res.render('setting',{
alltoons : allWebtoons,
mytoons : mytoons
});
})
});
module.exports = router;
\ No newline at end of file
......
......@@ -14,25 +14,24 @@
<table>
<%
var current = "";
for(jsonString in list){
var A=JSON.parse(list[jsonString]);
if(current!=A.week){
for(webtoon in list){
if(current!=list[webtoon].week){
if(current!=""){
%>
</tr>
<% } %>
<tr>
<th><%= A.week %></th>
<th><%= list[webtoon].week %></th>
<% } %>
<td>
<a href="<%= A.webtoon_link %>">
<img alt="img" width="83" height="90" src="<%= A.thum_link %>"/>
<a href="<%= list[webtoon].webtoon_link %>">
<img alt="img" width="83" height="90" src="<%= list[webtoon].thum_link %>"/>
</a>
<%= A.name %>
<%= list[webtoon].name %>
</td>
<%
if(current!=A.week) {
current = A.week;
if(current!=list[webtoon].week) {
current = list[webtoon].week;
%>
<%
......
......@@ -3,8 +3,27 @@
<head>
<title>내툰</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<script src="http://developers.kakao.com/sdk/js/kakao.min.js"></script>
<style>
.toon_latest,.toon_next,.toon_last,.toon_name,.toon_thumbnail{
width:10%;
}
td{
vertical-align: middle;
border-bottom: 1px solid #bcbcbc;
border-left: 1px solid #bcbcbc;
border-right: 1px solid #bcbcbc;
margin:0;
Text-align:center;
}
table{
border-collapse:collapse;
border: 2px solid #474747;
}
th{
border-bottom:2px solid #474747;
}
</style>
</head>
<h1>내툰</h1>
<p>추가한 리스트</p>
......@@ -14,15 +33,23 @@
</br>
<table>
<%
<tr>
<th>썸네일</th>
<th>웹툰명</th>
<th>최근에 본 화</th>
<th>다음화</th>
<th>최신화</th>
</tr><%
for(i=0;i<mytoons.length; i++){
%>
<%= mytoons[i].name + " : " + mytoons[i].week %><br>
<%
}
%>
%><tr>
<td class="toon_thumbnail"><image src="<%= mytoons[i].thum_link%>"/></td>
<td class="toon_name"><%= mytoons[i].name %></td>
<td class="toon_last"><%= mytoons[i].last %>화</td>
<td class="toon_next"><%= mytoons[i].last +1 %>화</td>
<td class="toon_latest"><%= mytoons[i].latest %>화</td>
</tr>
<br>
<% } %>
</table>
</br>
......
......@@ -3,23 +3,54 @@
<head>
<meta charset="UTF-8">
<title>설정</title>
<style>
.registered{
background-color: #AAAAAA;
}
</style>
</head>
<h1>내툰</h1>
<p>추가하거나 제거할 웹툰을 눌러주세요.</p>
<p>추가하거나 제거할 웹툰을 선택해주세요.</p>
<table>
<%
var current = "";
for(toonName in mytoons) {
var A = mytoons[toonName];
for(webtoon in alltoons){
if(current!=alltoons[webtoon].week){
if(current!=""){
%>
</tr>
<% } %>
<tr>
<th><%= alltoons[webtoon].week %></th>
<% } %>
<td class="<%
for(i=0;i<mytoons.length;i++){
if(mytoons[i].name == alltoons[webtoon].name){
%>registered<%
break;
}
}
%>">
<form method="post" action="/setting/toggle_toon">
<input type="hidden" name="toon_index" value="<%= alltoons[webtoon].toon_index %>">
<input TYPE="IMAGE" src="<%= alltoons[webtoon].thum_link %>" name="Submit" value="Submit" align="absmiddle">
</form>
<%= alltoons[webtoon].name; %>
</td>
<%
if(current!=alltoons[webtoon].week) {
current = alltoons[webtoon].week;
%>
<%= A %></br>
<%
}
<%
}
}
%>
</tr>
</table>
</form>
</br>
<body>
......