Code Monkey home page Code Monkey logo

portpolio_second's Introduction

[Delibrary๐Ÿ“š]

  • ํ”„๋กœ์ ํŠธ๋ช… : ๋”œ๋ฆฌ๋ธŒ๋Ÿฌ๋ฆฌ - ๋„์„œ๊ด€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ
  • ํŒ€๋ช… : ํƒˆ์ฃผ๊ธˆ์ง€
  • ์ฐธ์—ฌ์ธ์› : 6๋ช…
  • ๊ฐœ๋ฐœ๊ธฐ๊ฐ„ : 2020.10.1 ~ 2020.11.30
  • ๋‚ด์šฉ : SpringMVCํŒจํ„ด์„ ํ™œ์šฉํ•œ ์˜จ๋ผ์ธ ๋„์„œ๊ด€ ๋Œ€์—ฌ ์„œ๋น„์Šค ์ œ๊ณตํ•˜๋Š” ์›น์‚ฌ์ดํŠธ ์ œ์ž‘
  • ๊ฐœ๋ฐœํ™˜๊ฒฝ : MyBatis, Oracle, Spring Boot 4, Bootstrap 4, JSP & Servlet, Javascript, Vue.js, jQuery
  • ๋‹ด๋‹น์—…๋ฌด : QNA๊ฒŒ์‹œํŒ ๊ฒŒ์‹œ๊ธ€ ๋ฐ ๋Œ“๊ธ€ CRUD, ํŽ˜์ด์ง•์ฒ˜๋ฆฌ, ๊ฒ€์ƒ‰๊ธฐ๋Šฅ, ์ธ๊ธฐ๋„์„œํŽ˜์ด์ง€, ์‹ ์ฐฉ๋„์„œํŽ˜์ด์ง€, faq, ์˜ค์‹œ๋Š”๊ธธํŽ˜์ด์ง€ ๋“ฑ

1๏ธโƒฃ ํ™ˆํ™”๋ฉด
โœ”๏ธ๋ชจ๋“  ํŽ˜์ด์ง€๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ์ ์šฉํ•ด ๋ฐ˜์‘ํ˜•์œผ๋กœ ๋งŒ๋“ค์–ด์ฃผ์—ˆ๋‹ค. ํ™ˆํ™”๋ฉด โœ”๏ธ ํ™ˆํ™”๋ฉด์„ ์ƒˆ๋กœ๊ณ ์นจ ํ• ๋•Œ๋งˆ๋‹ค ๋žœ๋ค์œผ๋กœ ๋„์„œ๊ด€ ๋„์„œ์— ๊ด€๋ จ๋œ ํ—ค๋“œ๋ผ์ธ ๊ธ€๊ท€, ๋„์„œ๊ด€ ์ด๋ฏธ์ง€, ์ด๋ฏธ์ง€์— ๋งž๋Š” ์žฅ์†Œ๊ฐ€ ๋‚˜์˜ค๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค.
ํ™ˆํ™”๋ฉด๊ฒ€์ƒ‰์ฐฝ๋””์ž์ธ
โšซํ™ˆํ—ค๋”ฉ ์ด๋ฏธ์ง€ ๋žœ๋ค์ถœ๋ ฅ ๊ตฌํ˜„์˜ˆ์‹œ

        const home_heading = document.getElementById('home-heading');
     
        const images = ['library1.png','library2.png','library3.png','library4.png','library5.png','library6.png','library7.png','library8.jpg'];
        const getImage = Math.floor(Math.random() * images.length);
        
        home_heading.style.background = "url('../img/" + images[getImage] + "')";

โœ”๏ธ ์บ๋Ÿฌ์…€ : ํ™ˆํ™”๋ฉด์—์„œ ์บ๋Ÿฌ์…€์„ ์ด์šฉํ•ด์„œ ๋„์„œ๋ชฉ๋ก๊ณผ ๊ด‘๊ณ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๋„๋ก ํ•˜์˜€๋‹ค. ํ™ˆํ™”๋ฉด๊ฒ€์ƒ‰์ฐฝ๋””์ž์ธ
โœ”๏ธ ํ‘ธํ„ฐ๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจ ํ• ๋•Œ๋งˆ๋‹ค ๋„์„œ๊ด€๋ จ ๋ช…์–ธ๋ฌธ๊ตฌ๋ฅผ ๋žœ๋ค์œผ๋กœ ์ง€์ •ํ•ด์ฃผ์—ˆ๋‹ค.
ํ™ˆํ™”๋ฉด ํ‘ธํ„ฐ

2๏ธโƒฃ ๋„์„œ๊ด€์†Œ๊ฐœ ํŽ˜์ด์ง€
๋„์„œ๊ด€์†Œ๊ฐœ

3๏ธโƒฃ ๋„์„œ์ •๋ณด ํŽ˜์ด์ง€
โœ”๏ธDB์—์„œ ๊ฐ€์žฅ ๋นŒ๋ฆฐ ๋„์„œ๊ฐ€ ๋งŽ์€ ์ˆœ์œผ๋กœ 12๊ฐœ์˜ ๋„์„œ์˜ ์ •๋ณด๋ฅผ ์ธ๊ธฐ๋„์„œ ํŽ˜์ด์ง€์— ์ถœ๋ ฅ. ๋„์„œ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ฐ”๋กœ ์ฑ…์˜ ์ƒ์„ธํŽ˜์ด์ง€๋กœ ์—ฐ๊ฒฐ. ์ธ๊ธฐ๋„์„œ๋ชฉ๋ก

โšซ์ธ๊ธฐ๋„์„œ ๋ชฉ๋ก์„ ๋ฝ‘์•„์˜ค๊ธฐ ์œ„ํ•œ DB Select ๋ฌธ

  <!-- ์ด๋‹ฌ์˜ ์ธ๊ธฐ๋„์„œ ๋ชฉ๋ก -->
  <select id="getPopBook" resultType="bookVO">
  	<![CDATA[select * from(select b_title, b_writer,b_image,count(bor_no) from book, 
  	borrow where book.b_no = borrow.b_no group by b_title, b_writer, b_image order by count(bor_no) desc) 
  	where rownum<=12 ]]>
  </select>

โšซ์‹ ์ฐฉ๋„์„œ ๋ชฉ๋ก์„ ๋ฝ‘์•„์˜ค๊ธฐ ์œ„ํ•œ DB Select ๋ฌธ
โœ”๏ธbookํ…Œ์ด๋ธ”์˜ ์ž…๊ณ ์ผ์ž ์ปฌ๋Ÿผ์ธ b_year๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ตœ๊ทผ ๋‚ ์งœ๋ถ€ํ„ฐ 12๊ฐœ์˜ ๋„์„œ์˜ ์ •๋ณด๋ฅผ ์‹ ์ฐฉ๋„์„œ ํŽ˜์ด์ง€์— ์ถœ๋ ฅ. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋„์„œ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ฐ”๋กœ ์ฑ…์˜ ์ƒ์„ธํŽ˜์ด์ง€๋กœ ์—ฐ๊ฒฐ.

  <!-- ์‹ ์ฐฉ๋„์„œ ๋ชฉ๋ก  -->
  <select id="selectAllNew" resultType="bookVO">
  	<![CDATA[ select * from (select * from book order by b_year desc) where rownum <=12 ]]>
  </select>  

4๏ธโƒฃ ๊ฒŒ์‹œํŒ
โ€ƒPostController ์†Œ์Šค์ฝ”๋“œ
โ€ƒQnaController ์†Œ์Šค์ฝ”๋“œ

โœ”๏ธ Read : ๊ฒŒ์‹œํŒ์˜ ์ „์ฒด ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๊ณ  ์ „์ฒด ๊ฒŒ์‹œ๊ธ€์ˆ˜ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ˜„์žฌ ํŽ˜์ด์ง€์— ๋ฐฐ๊ฒฝ์ƒ‰์„ ์ฃผ์–ด ๋ช‡๋ฒˆ์งธ ํŽ˜์ด์ง€์— ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

read, pagination

โœ”๏ธ Insert : ๋กœ๊ทธ์ธ์„ ํ•˜์ง€ ์•Š๊ณ  ๊ธ€์“ฐ๊ธฐ๋ฅผ ํด๋ฆญ ํ•  ๊ฒฝ์šฐ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™์‹œํ‚จ๋‹ค. ๊ธ€ ์ž‘์„ฑ์‹œ์—๋Š” ๋ง๋จธ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ œ๋ชฉ, ๋‚ด์šฉ์„ ์“ฐ๊ณ  ํŒŒ์ผ์ฒจ๋ถ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋น„๋กœ๊ทธ์ธ ์ƒํƒœ์—์„œ ๊ธ€์“ฐ๊ธฐ ์‹œ๋„ํ•  ๊ฒฝ์šฐ
redirect to login

๋กœ๊ทธ์ธ ๋œ ์ƒํƒœ์—์„œ ๊ธ€์“ฐ๊ธฐ
insert a post

โœ”๏ธ Update : ๊ธ€ ์ˆ˜์ •์€ ๋ณธ์ธ๊ณผ ๊ด€๋ฆฌ์ž๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ง๋จธ๋ฆฌ, ์ œ๋ชฉ, ๋‚ด์šฉ, ์ฒจ๋ถ€ํŒŒ์ผ ์ „๋ถ€ ์ˆ˜์ • ๊ฐ€๋Šฅํ•˜๋‹ค.

update a post

โœ”๏ธ Delete : ๊ธ€ ์‚ญ์ œ ๋˜ํ•œ ๋ณธ์ธ๊ณผ ๊ด€๋ฆฌ์ž๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. ์‚ญ์ œ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๊ฒฝ์šฐ ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์›Œ ํ™•์ธ์‹œํ‚จ ํ›„ ์‚ญ์ œ๋ฅผ ์ง„ํ–‰ ๋˜๋Š” ์ทจ์†Œํ•  ์ˆ˜ ์žˆ๋‹ค.

delete a post

โœ”๏ธ ๊ฒŒ์‹œํŒ ๋Œ“๊ธ€

  • Insert : ๋Œ“๊ธ€์ž…๋ ฅ๋ž€์— ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๋“ฑ๋ก ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๊ฒฝ์šฐ ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์šด๋‹ค.

  • Update, Delete : ๋Œ“๊ธ€ ์ˆ˜์ • ๋ฐ์‚ญ์ œ๋Š” ๋ณธ์ธ๊ณผ ๊ด€๋ฆฌ์ž๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. ์‚ญ์ œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๊ฒฝ์šฐ ๊ฒฝ๊ณ ์ฐฝ์„ ๋„์›Œ ํ™•์ธ์‹œํ‚จ ํ›„ ์‚ญ์ œ๋ฅผ ์ง„ํ–‰ ๋˜๋Š” ์ทจ์†Œํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ“๊ธ€ ๋“ฑ๋ก
insert a reply

๋Œ“๊ธ€ ์ˆ˜์ • ๋ฐ ์‚ญ์ œ
update/delete a post

โœ”๏ธ ๊ฒ€์ƒ‰๊ธฐ๋Šฅ

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

๊ฒ€์ƒ‰์กฐ๊ฑด์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ search

5๏ธโƒฃ ๋ถ€์ˆ˜์ ์ธ ํŽ˜์ด์ง€
๐Ÿ”น์ž์ฃผ๋ฌป๋Š”์งˆ๋ฌธ ํŽ˜์ด์ง€
์„œ๋ธŒ๋ฉ”๋‰ด๋ฐ”๋‚˜ ๋‚ด๋น„๊ฒŒ์ด์…˜๋ฐ”๋กœ ํ™œ์šฉํ•˜๋Š” ์•„์ฝ”๋””์–ธ ํšจ๊ณผ๋ฅผ ์ž์ฃผ๋ฌป๋Š”์งˆ๋ฌธ ๊ฒŒ์‹œํŒ์— ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
์ž์ฃผ๋ฌป๋Š” ์งˆ๋ฌธ์˜ ๋‚ด์šฉ๊ณผ ๋‹ต๋ณ€์€ ๋ฏธ๋ฆฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ํŽ˜์ด์ง€์— ์ž…๋ ฅํ•ด๋†“๊ณ  ๊ฐ๊ฐ์˜ ๋ผ๋ฒจ์— input type์„ radio๋กœ ๋‘๊ณ  ์ˆจ๊ธด๋‹ค์Œ ํด๋ฆญํ–ˆ์„๋•Œ ํŠธ๋žœ์ง€์…˜์„ ์ฃผ์–ด ํ•œ ๊ฐœ์˜ ์งˆ๋ฌธ์„ ํด๋ฆญํ• ๋•Œ๋งˆ๋‹ค ๋‹ต๋ณ€๋ถ€๋ถ„์ด ์—ด๋ฆฌ๋„๋ก cssํšจ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด์—ˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ”น์˜ค์‹œ๋Š”๊ธธ ํŽ˜์ด์ง€
์˜ค์‹œ๋Š”๊ธธ์€ ๋น„ํŠธ์บ ํ”„ ์‹ ์ดŒ์„ผํ„ฐ ์ฃผ์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
๋‹ค๋ฅธ HTMLํŽ˜์ด์ง€๋ฅผ ํ˜„์žฌ ํŽ˜์ด์ง€์— ํฌํ•จ์‹œํ‚ค๋Š” ์ค‘์ฒฉ๋œ ๋ธŒ๋ผ์šฐ์ €๋กœ iframe์š”์†Œ๋ฅผ ์ด์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
src์— ์‚ฝ์ž…ํ•  ํŽ˜์ด์ง€์ฃผ์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ์˜ค์‹œ๋Š”๊ธธ ์›น ํŽ˜์ด์ง€ ์•ˆ์— ๊ตฌ๊ธ€๋งต ํŽ˜์ด์ง€๋ฅผ ๋ถˆ๋Ÿฌ์™”์Šต๋‹ˆ๋‹ค.

portpolio_second's People

Contributors

ohna93 avatar inhalin avatar hwyanghw avatar wotjd0860 avatar yongtaek12 avatar yurimnim avatar

Watchers

 avatar

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.