์น์์ ๊ทธ๋ํ/๋์๋ณด๋ ์ด๋ป๊ฒ ํธ๋ฆฌํ๊ณ ์์๊ฒ ๊ทธ๋ฆฌ์ง??
๊ฐ๋จํ jsp, php๋ง ๊ฐ์ง๊ณ ์น ๊ฐ๋ฐ์ ํด๋ดค์ง๋ง
๊ทธ๋ํ/๋์๋ณด๋์ฑ ์น์ ๋ง๋ค๊ธฐ ์ํด์๋ ํ๋ ์์ํฌ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํ๋ค.
Spring์ด ๋ญ์ง ์ ๋ชจ๋ฅด์ง๋ง ์๋ ์ ๋ช ํ๊ณ ๋ง์ด ์ฐ๋ ํ๋ ์์ํฌ๋ผ
"spring framework dashboard"
๊ฐ์ ํค์๋๋ก ์ด์ฌํ ๊ฒ์ํด๋ดค์ผ๋ ๋ด๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ ๋ฑํ ์ฐพ์ ์ ์์๋ค.
๊ทธ๋ฌ๋ค Spring์ ๊ตญํ๋ ๊ฒ ์๋๋ผ
๊ทผ๋ณธ์ ์ผ๋ก ์น์์ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ํ ํด์ด ํ์ํ๋ค๊ณ ์๊ฐํ๊ฒ ๋๋ค. ๊ทธ๋์
"web visualization framework"
๊ฐ์ ํค์๋๋ก ๊ฒ์ํ๋ ๋ญ๊ฐ ๋์ค๊ธฐ ์์ํ๋ค.
๊ทธ๋ฌ๋ค ์ฒ์ ์ฐพ์๊ฒ Highcharts!
Demo: www.highcharts.com/demo
์ด๋ฐ ์์ ์ฐจํธ๋ค์ ์ฌ์ฉ์ฑ ์ข๊ฒ ๊ทธ๋ฆด ์ ์๋ค.
๋จ์ ์ด๋ผ๋ฉด ์๋ฆฌ๋ฅผ ์ํ ๊ฒฝ์ฐ ์ ๋ฃ๋ผ๋ ๊ฒ๊ณผ ๋ค์์ ์ธ๊ธํ d3.js ๋ณด๋ค ๋ฒ์ฉ์ ์ด์ง ์๋ค๋ ๊ฒ.
๊ทผ๋ฐ ๋ฐ๋ชจ๊ฐ ๋๋ฌด ์๋ป์ ๋ง์ ๋นผ์๊ธธ ๋ปํ๋ค..^^
d3.js
d3.js๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์๊ฐํ ํ๋ ์์ํฌ ์ค ํ๋๋ผ๊ณ ํ๋ค.
Examples: observablehq.com/@d3/gallery (official)
๋ฒ์ฉ์ ์ด๋ฉฐ ์๊ฐํ์ ๊ตญํ๋์ง ์๊ณ ๋ค์ํ ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์๋ค๊ณ ํ๋ค.
(๋๋ ๋ค์ํ ๊ธฐ๋ฅ์ด ๋ญ์ง๋ ๋ชจ๋ฅด๊ฒ ์...)
๋ฌผ๋ก ์์ฃผ ๋ค์ํ ๊ทธ๋ํ๋ ๊ทธ๋ฆด ์ ์๋ค. (Highcharts๋ณด๋ค ๋ง์ ๊ฒ ๊ฐ๋ค - ์์ ๋งํฌ ์ฐธ๊ณ ..)
์ด๋์๋ถํฐ ์์ํด์ผํ ์ง ๋ง๋งํ๋๋ฐ ์๋ ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๊ณ ๋ฐ๋ผํด๋ณผ ์ ์์๋ค.
๋ง์ฐ์ค์ค๋ฒ ๊ธฐ๋ฅ๋ ๋ค๋ฅธ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด ๋ฃ์ด๋ณด์๋ค..^^
Skeleton: cyberx.tistory.com/211 (์ฒซ ์๋๋ก ์์ฃผ ์ข์์!!)
Mouseover ์ฐธ๊ณ : bl.ocks.org/WilliamQLiu/76ae20060e19bf42d774
์ ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ก d3js๋ฅผ ๋ค์ด๋ฐ์ ํ์ ์์ด ์๋ ํ์ค๋ก ๋๋ฑ ๊ฐ๋ฅํ๋ค.
<script src=http://d3js.org/d3.v3.js"></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="http://d3js.org/d3.v3.js"></script>
<title>D3_TEST</title>
</head>
<body>
<svg width="500" height="500"></svg>
<script>
const data = [5, 10, 15, 20, 25];
const svg = d3.select('svg')
const color = ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3']
svg.selectAll('bar')
.data(data)
.enter().append('rect')
.attr('fill', (d, i) => { return color[i] })
.attr('height', (d, i) => { return d })
.attr('width', 40)
.attr('x', (d, i) => { return 50 * i })
.attr('y', (d, i) => { return 100 - data[i] } )
.on('mouseover', handleMouseOver)
.on('mouseout', handleMouseOut);
function handleMouseOver(d, i) {
d3.select(this).attr({
fill: 'black'
});
}
function handleMouseOut(d, i) {
d3.select(this).attr({
fill: color[i]
});
}
</script>
</body>
</html>
D3 Graph Gallery ๋ผ๋ ํ์ด์ง๋ ์ฐพ์๋๋ฐ ์์ค๋ฅผ ์ฐธ๊ณ ํ๊ธฐ ๊ด์ฐฎ์ ๊ฒ ๊ฐ๋ค.
๋ค์ํ ๊ทธ๋ํ ์์๊ฐ ๋์์๋ค. (๋ง ๊ทธ๋๋ก ๊ทธ๋ํ ๊ฐค๋ฌ๋ฆฌ๋ค.)
www.d3-graph-gallery.com/index.html
๊ทธ๋ํ ์๊น ํ๋ ํธ๋ฅผ ๊ฐํธํ๊ฒ ์ ๊ณตํ๋ ๋ชจ๋๋ ์ฐพ์๋ค. ์ฌ์ค ํ๋์ ์๋ํด๋ดค๋๋ฐ ์ฑ๊ณต์ ๋ชปํ๋ค..^^
github.com/d3/d3-scale-chromatic
์ ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ์ ์ธ ์ฅ์ ์ OSS๋ผ๋ ๊ฒ! (์๋ฆฌ ์ฌ์ฉ๋ ๋ฌด๋ฃ)
www.quora.com/Is-D3-js-free-to-use-for-commercial-web-services
๊ฐ์ฅ ๋จผ์ ์๋ํด๋ด์ผ ํ ๊ฒ์ PostgreSQL ์๋ฒ์์ ์ฐ๊ฒฐ์ด๋ค.
์ด ๋ธ๋ก๊ทธ์ php๋ฅผ ํ์ฉํด ์ฐ๊ฒฐํ๋ ๊ณผ์ ์ด ๋์์๋ค.
php์ pg_connect() ๋ผ๋ ํจ์๋ฅผ ์ด์ฉํ๋ฉด ๋๋๊ฐ๋ณด๋ค.
ํ ์์ ๋๋ฌด ๋ฌด๋ฆฌํ๋ค..^^
์ค๋์ ์ฌ๊ธฐ๊น์ง..^^
'Web Application' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Java ๊ฐ์ฒด ์งํฅ (0) | 2021.08.29 |
---|---|
Java ๋ฉ๋ชจ๋ฆฌ ๋ ๋ฒจ ์ดํด (0) | 2021.08.29 |
์น์๋น์ค Architecture (Web server, WAS, DB server) (1) | 2021.05.16 |
์์ค4 - HTML, CSS, JS, JSP (0) | 2021.05.02 |
Links (0) | 2021.04.24 |
๋๊ธ