MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

react

more

[React] Ajax (์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ํ†ต์‹ )

Ajax ?AJAX ( Asynchronous Javascript and XML) ์€ ์›น ํŽ˜์ด์ง€์˜ ์ด๋™์—†์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์ „์†กํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.ย ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์„œ๋ฒ„์ชฝ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ajax๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.์ด ์ž‘์—…์€ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๋น„๋™๊ธฐ(asynchronous)๋Š” ์š”์ฒญ์ด ๋๋‚  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๋‚˜์ค‘์— react์—์„œ๋Š” ๋‹ค๋ฅธ ์„œ๋ฒ„์˜ REST API์™€ ํ†ต์‹ ์„ ์ด์šฉํ•˜์—ฌย ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šคย ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ย ย ES6 fetch ๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ (๋ฆฌ์•กํŠธ)Promise = fetch(์š”์ฒญ์ฃผ์†Œ)ย ๐Ÿ“ ์ด๋ฒคํŠธ ํด๋ฆญ์‹œ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ useState()์— ์ €์žฅํ•˜๋Š” ์ž‘..

๐Ÿ’ŽReact 2024.08.31 1

[React] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

โ—ˆ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐpackage.json >> build.gradle / pom.xml ๊ณผ ๋™์ผ (๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ , ๋ฒ„์ „ ๋ช…์‹œ)๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ทธ ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ํ•ญ๋ชฉย dependencyย  : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ทธ ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ํ•ญ๋ชฉย ย scripts ๋ช…๋ น๋ฌธ :ย ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ •์˜ํ•˜์—ฌ ์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ•ญ๋ชฉeslintConfig :ย ๊ธฐ๋ณธ ํ”„๋กœ๊ทธ๋žจ ๋„์›€ (์ฝ”๋“œ ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด JavaScript ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋„๊ตฌ์ธ ESLint์˜ ๊ธฐ๋ณธ ์„ค์ •์„ ์ •์˜ํ•˜๋Š” ํ•ญ๋ชฉ)browserlist :ย ํ”„๋กœ์ ํŠธ๊ฐ€ ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฒ”์œ„๋ฅผ ๋ช…์‹œ ( ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜ )โ—ˆย ย web pack loader์ž๋™ ๋ฆฌ๋กœ๋“œ๋จ (..

๐Ÿ’ŽReact 2024.08.29 0

[React] React๋ผ์šฐํ„ฐ

๐Ÿ˜บ React ๋ผ์šฐํ„ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์— SPA ์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.ย ๐Ÿ“ SPA๋ž€? (single page application)ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋กœ ๋งŒ๋“ค์–ด์ง„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜๋ฏธํ•œ๋‹ค.์ „ํ†ต์ ์ธ ๋ฐฉ์‹์€ Server๊ฐ€ html ํŒŒ์ผ ๋งŒ๋“ค๊ณ  data ์‹ค์–ด์„œ ์‘๋‹ตํ•˜์ง€๋งŒ,spa ๋ฐฉ์‹์€ ํด๋ผ์ด์–ธํŠธ์— html ์„ธ์›Œ๋‘๊ณ  ๋ฐ์ดํ„ฐ๋งŒ ์š”์ฒญ์‘๋‹ต์„ ํ†ตํ•ด ๋ฐ”๊พผ๋‹ค.ย ย SPA๋Š” htmlํŒŒ์ผ์„ ๋ธŒ๋ผ์šฐ์ € ์ธก์—์„œ ๋กœ๋“œํ•˜๊ณ , ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” API์™€ ajaxํ†ต์‹ ์„ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒํ˜ธ์ž‘์šฉ ํ•˜๋ฉด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธ ํ•ด์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.๋ฉ€ํ‹ฐํ”Œ๋žซํผ Android, IOS์— ๋Œ€์‘ํ•˜์—ฌ ์›น๋ทฐ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.ย ๐Ÿ“ SPA์˜ ๋‹จ์  (CSR๋ฐฉ์‹)์•ฑ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๋ฉด, JSํŒŒ์ผ๋„ ๋„ˆ๋ฌด ์ปค์ ธ์„œ ๋กœ๋”ฉ์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ฒŒ ๋ฉ..

๐Ÿ’ŽReact 2024.08.28 0

[React] React ์— CSS ์ ์šฉํ•˜๊ธฐ

1. Reactย ์—ย CSSย ์ ์šฉย ย ๐Ÿ˜บ ๋ฆฌ์•กํŠธ์— CSS ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž!ย ย ย ๐Ÿ“ css ํŒŒ์ผ ์ด๋ฆ„ ๊ทœ์น™ย ์ปดํฌ๋„ŒํŠธ์˜ ์ด๋ฆ„์„ ๋ฐ˜๋“œ์‹œ ํฌํ•จํ•ด์„œ ๋งŒ๋“ฌEX) App.js - App.cssย ย ย ย  ๐Ÿ“ ย ํƒœ๊ทธ์— ์ง์ ‘ ์ง€์ •ํ•˜๊ธฐํƒœ๊ทธ์— ์ง์ ‘ ๋””์ž์ธ์„ ์ ์šฉ ํ•  ๋•Œ๋Š” {}๋กœ ๋ฌถ์–ด์ค๋‹ˆ๋‹คcss์†์„ฑ์ค‘ - ์€ ์นด๋ฉœํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.style={{css์†์„ฑ: ๊ฐ’, css์†์„ฑ: ๊ฐ’}}์•ˆ๋…•ํ•˜์„ธ์š”!!ย ย  ๐Ÿ“ ย ์ผ๋ฐ˜ cssํŒŒ์ผ๋กœ ์ ์šฉํ•˜๊ธฐ์ผ๋ฐ˜CSS๋ฌธ๋ฒ•์œผ๋กœ ๋””์ž์ธ์„ ํ•ด์ฃผ๋ฉด ๋˜๊ณ  import๋กœ ๊ฐ€์ ธ์˜ค๋ฉด ๋ฉ๋‹ˆ๋‹ค./* App.css */.app_header { height: 50px; line-height: 50px; background-color: #000; margin: 0; padding: 0;}//..

๐Ÿ’ŽReact 2024.08.28 0

[React] React hook (ํ›…) , ๋ผ์ดํ”„ ์‚ฌ์ดํด

1. ํ›…(HOOK)ย ย ๐Ÿ˜บ ๋ฆฌ์•กํŠธ์—๋Š” hook ํ›… ์ด๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค.ย ๐Ÿ“ Hook ์ด๋ž€?ย ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋Š”ย ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ(Class component)์™€ย ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ(Functional component)๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.๋ฆฌ์•กํŠธ ํ›…์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์œผ๋กœ React 16.8๋ฒ„์ „์— ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅํ•จ์ˆ˜ํ˜•ํƒœ์˜ ์ปดํฌ๋„ŒํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ช‡๊ฐ€์ง€ ๊ธฐ์ˆ ์„ Hook์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.ย (useState, useEffect ๋“ฑ)๋ฆฌ์•กํŠธ ํ›…์€ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.ย ย ย ย ๐Ÿ˜บ ํ›…์—๋„ ๊ทœ์น™์ด ์žˆ๋‹ค !ย ย ๐Ÿ“ Hookย ๊ทœ์น™์ตœ์ƒ์œ„ ์—์„œ๋งŒ Hook์„ ํ˜ธ์ถœํ•ด์•ผ ํ•œ๋‹ค๋ฐ˜๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ์ค‘์ฒฉ๋œ ํ•จ์ˆ˜ ๋‚ด์—์„œ Hook์„ ์‹คํ–‰ํ•˜๋ฉด ์•ˆ๋œ๋‹ค.์ด ๊ทœ์น™์„ ๋”ฐ๋ฅด๋ฉด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง๋  ๋•Œ๋งˆ๋‹ค ํ•ญ์ƒ ๋™์ผ..

๐Ÿ’ŽReact 2024.08.28 1

Spring Boot

more

[Spring boot] Thymeleaf + Model

๋ ˆ์ด์•„์›ƒ ํ…œํ”Œ๋ฆฟ ์ ์šฉ: layout03 ํ…œํ”Œ๋ฆฟ์— container ๋ถ€๋ถ„์„ ์ „๋‹ฌํ•˜์—ฌ ํ•ด๋‹น ํ…œํ”Œ๋ฆฟ์˜ ํŠน์ • ๋ถ€๋ถ„๋งŒ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์—์„œ ๊ณตํ†ต๋œ ๋ ˆ์ด์•„์›ƒ์„ ์œ ์ง€ํ•˜๋ฉด์„œ, ํŠน์ • ๋ถ€๋ถ„๋งŒ ๋™์ ์œผ๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ™”๋ฉด์— ์ง„์ž…ํ•  ๋•Œ TestVO๋ฅผ Model์— ๋‹ด์•„ ํ™”๋ฉด์ฒ˜๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. 1. ํšŒ์›์ •๋ณดํ™•์ธ ๋งํฌ์—๋Š” quiz_result01?ํ‚ค=๊ฐ’ ํ˜•ํƒœ๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋„˜๊ธฐ๊ณ  ์ถœ๋ ฅํ•ด ์ฃผ์„ธ์š” 2. ์•„๋ž˜ class="container" ๋ถ€๋ถ„๋งŒ layout03 ํ…œํ”Œ๋ฆฟ์— ์ „๋‹ฌ ๋  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•˜์„ธ์š” ํšŒ์›๋ฒˆํ˜ธ: [[${vo.num}]] ์ด๋ฆ„: [[${vo.name}]] ๋‚˜์ด: [[${vo.age}]] ํšŒ์›์ •๋ณดํ™•์ธ ย  ๊ฒฐ๊ณผํ™”๋ฉด ๋„˜์–ด์˜จ ๊ฐ’: [[${num}]]ย ย  ..

๐Ÿ’Ž Spring Boot 2024.09.05 0

[spring boot] RestController

@RestControllerย //Controllerย +ย ResponseBody(์ปจํŠธ๋กค๋Ÿฌ์—์„œย ์‘๋‹ต์„ย ์š”์ฒญ์ดย ๋“ค์–ด์˜จ๊ณณ์œผ๋กœย ๋ฐ”๊ฟˆ)ย ํ•ฉ์„ฑ์–ดย ย ย ย JSON ํ˜•์‹์˜ ๋ฐ˜ํ™˜ย 1. Vo ํƒ€์ž…ย ย 2. Map ํƒ€์ž…ย ย ย ย ย jsonํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก @RequestBody - JSON๋ฐ์ดํ„ฐ๋ฅผ -> ์ž๋ฐ” ์˜ค๋ธŒ์ ํŠธ๋กœ ๋ณ€ํ˜•ํ•ด์„œ ๋งตํ•‘ { "name" : "ํ™๊ธธ๋™", "age" : 20, "addr" : "์„œ์šธ์‹œ์‹œ" }ย ย ย  ย ย  /////////////////////////////////////////////////////////////////////////////// //์‘๋‹ต๋ฌธ์„œ ๋ช…ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ ResponseEntity //@CrossOrigin({"http://127.0.0.1:5500", "h..

๐Ÿ’Ž Spring Boot 2024.09.05 0

[SpringBoot] thymeleaf ํƒ€์ž„๋ฆฌํ”„ - ๋‚ด์žฅ๊ฐ์ฒด

ํƒ€์ž„๋ฆฌํ”„ ๋‚ด์žฅ๊ฐ์ฒด ์‚ฌ์šฉ๋ฐฉ๋ฒ• ๋ฐฐ์—ด์˜ ๊ธธ์ด [[${ #arrays.length(arr) }]] ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด [[${ #lists.size(list) }]] ๋นˆ๋ฆฌ์ŠคํŠธ ํ™•์ธ [[${ #lists.isEmpty(list) }]] [[${now}]] [[${ #dates.format(now, 'yyyy-MM-dd') }]] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ฐ’ ๋ฐ›๊ธฐ

๐Ÿ’Ž Spring Boot 2024.08.26 0

[SpringBoot] thymeleaf ํƒ€์ž„๋ฆฌํ”„ - ํƒ€์ž…/์ œ์–ด๋ฌธ

ํƒ€์ž„๋ฆฌํ”„ ๋ณ€์ˆ˜, ์ œ์–ด๋ฌธ [[${'hello world'}]] [[${1 == 1}]] [[${1 eq 1}]] ๋ณ€์ˆ˜ ์„ ์–ธ [[${a}]] [[${b}]] ์กฐ๊ฑด๋ฌธ 10๊ณผ ๊ฐ™์Œ 10๊ณผ ๊ฐ™์ง€ ์•Š๋‹ค if if์™€ ์กฐ๊ฑด์„ ๋™์ผํ•˜๊ฒŒ ๋‹ฌ์•„์ค๋‹ˆ๋‹ค (else๋ฌธ) 3ํ•ญ ์—ฐ์‚ฐ์ž [[${ true ? '์ฐธ์ž…๋‹ˆ๋‹ค' : '๊ฑฐ์ง“์ž…๋‹ˆ๋‹ค'}]]ย ย ย ย  ๋ฐ˜๋ณต๋ฌธ [[${vo.num}]] [[${vo.name}]] [[${vo.addr}]] [[${vo.a..

๐Ÿ’Ž Spring Boot 2024.08.26 0

[SpringBoot] thymeleaf ํƒ€์ž„๋ฆฌํ”„ include ๋ฌธ๋ฒ•

โ—ˆ ํƒ€์ž„๋ฆฌํ”„ย include ๋ฌธ๋ฒ•ย ย ย layout01.html ํŒŒํŠธ1 ๋ถ€๋ถ„ ํŒŒํŠธ2 ๋ถ€๋ถ„ ย layout02.html ์—ฌ๊ธฐ๋Š” ํ‘ธํ„ฐ ์˜์—ญ ์ž…๋‹ˆ๋‹ค.. ย ย ย ย ๊ฒฐ๊ณผ .htmlย  ์ธํด๋ฃจ๋“œ ํ™•์ธํ•˜๊ธฐ1 ย ย ย layout03.html ํ—ค๋”์ž…๋‹ˆ๋‹ค. footer์ž…๋‹ˆ๋‹ค ย ๊ฒฐ๊ณผ .html ์—ฌ๊ธฐ๋Š” ๋ชธ์ฒด ์ž…๋‹ˆ๋‹ค. ์•„์ด๋”” ์„ ํƒ์ž # ์—ฌ๊ธฐ๋Š” ๋ชธ์ฒด2 ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค ์„ ํƒ์ž .

๐Ÿ’Ž Spring Boot 2024.08.26 0

Spring

more

[Spring] ์ฃผ์š” Spring ์–ด๋…ธํ…Œ์ด์…˜

1. Spring Core ์–ด๋…ธํ…Œ์ด์…˜@Component:ํด๋ž˜์Šค์— ๋ถ™์—ฌ์„œ Spring ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด ์ž๋™์œผ๋กœ ๋นˆ(Bean)์œผ๋กœ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค. @Service, @Repository, @Controller๋Š” @Component์˜ ํŠน์ˆ˜ํ™”๋œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.@Service:๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋น„์Šค ํด๋ž˜์Šค๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. @Component์™€ ๋™์ผํ•˜๊ฒŒ ๋นˆ์œผ๋กœ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค.@Repository:๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋ ˆ์ด์–ด์˜ ๋นˆ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ๊ณผ ๊ด€๋ จ๋œ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ฉฐ, @Component์™€ ๋™์ผํ•˜๊ฒŒ ๋นˆ์œผ๋กœ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค.@Controller:์›น ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ ํด๋ž˜์Šค๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. @Component์™€ ๋™์ผํ•˜๊ฒŒ ๋นˆ์œผ๋กœ ๋“ฑ๋ก๋˜๋ฉฐ, MVC ํŒจํ„ด์˜ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.@Configuration:ํด๋ž˜์Šค๊ฐ€ ..

๐Ÿ’Ž Spring 2024.08.25 0

[Spring] request, response

//voidํ˜•์€ ๋“ค์–ด์˜จ ์š”์ฒญ ๊ฒฝ๋กœ๊ฐ€, ๋‚˜๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค(ํ™”๋ฉด๊ฒฝ๋กœ) @RequestMapping("/req_ex01") public void ex01() { } @RequestMapping("/req_ex01") public String ex01() { return "request/req_ex01"; //ํ™”๋ฉด๊ฒฝ๋กœ }ย ย  //@RequestMapping(value = "/basic", method = RequestMethod.GET) //get๋งŒ ํ—ˆ์šฉํ•จ //@RequestMapping(value = "/basic", method = RequestMethod.POST) //post๋งŒ ํ—ˆ์šฉํ•จ //@RequestMapping("/basic") //get, post ๋‘˜๋‹ค ํ—ˆ์šฉํ•จ @Reques..

๐Ÿ’Ž Spring 2024.08.25 0

[Spring / ์‹ค์Šต1] ์ ์ˆ˜ ๋“ฑ๋ก ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ (์™„์„ฑโญ)

์ด๋ฆ„๊ณผ ์ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•œ ํ›„ย  [์ ์ˆ˜ ๋“ฑ๋ก] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.ย ย ย ย ย ย ์ ์ˆ˜๊ฐ€ ์ž˜ ๋“ฑ๋ก๋˜์—ˆ๋‹ค๋Š” ํ™”๋ฉด์ด ๋œฌ๋‹ค.ย ย ย ย ย [๋ชฉ๋กํŽ˜์ด์ง€] ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ด๋ ‡๊ฒŒ ๋“ฑ๋ก๋˜์–ด์žˆ๋Š” ํ‘œ๊ฐ€ ๋œจ๊ณ ย ย ย ย [์ ์ˆ˜๋“ฑ๋ก] or [์ถ”๊ฐ€๋“ฑ๋กํ•˜๊ธฐ] ๋งํฌ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‹ค์‹œ ๋“ฑ๋ก ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค.ย ย ย ย ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋„ ๊ฐ’์ด ์ž˜ ๋“ค์–ด์˜ด์„ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค!

๐Ÿ’Ž Spring 2024.08.25 0

[Spring / ์‹ค์Šต1] ์ ์ˆ˜ ๋“ฑ๋ก ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ (Service, Controller)

1) Service interface / Service impl ๋งŒ๋“ค๊ธฐย ๐Ÿ’€Service interfacemapper ์™€ ๋ฉ”์„œ๋“œ๋ช…์„ ํ†ต์ผ์‹œ์ผœ์ค€๋‹ค (์ผ๊ด€์„ฑ, ๊ฐ€๋…์„ฑ)package com.simple.basic.service.score;import java.util.ArrayList;import com.simple.basic.command.ScoreVO;public interface ScoreService { public void regist(ScoreVO vo); //๋“ฑ๋ก public ArrayList getScore(); //์กฐํšŒ public void delete(int sno); //์‚ญ์ œ}ย ย ๐Ÿ’€Service implements@Service("x")์—์„œ "x"๋Š” ์ด ์„œ๋น„์Šค ๋นˆ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” ์—ญํ• ..

๐Ÿ’Ž Spring 2024.08.25 0

[Spring / ์‹ค์Šต1] ์ ์ˆ˜ ๋“ฑ๋ก ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ (DB,VO,Mapper)

1) Oracle database :: TABLE ์ƒ์„ฑย CREATE TABLE SCORE( SNO NUMBER(10), NAME VARCHAR2(30), KOR VARCHAR2(30), ENG VARCHAR2(30), MATH VARCHAR2(30));ALTER TABLE SCORE ADD CONSTRAINT SCORE_SNO_PK PRIMARY KEY (SNO); -- PKCREATE SEQUENCE SCORE_SEQ NOCACHE; --์‹œํ€€์Šคย ย ย 2) VO ๋งŒ๋“ค๊ธฐย ๋”๋ณด๊ธฐpackage com.simple.basic.command;public class ScoreVO { private int sno; private String name; private String kor; p..

๐Ÿ’Ž Spring 2024.08.25 0

JSP

more

[JSP] JDBC statement, prepareStatement (SQL ์ธ์ ์…˜)

SQL ์ฟผ๋ฆฌ ์‹คํ–‰ ๋ฐฉ์‹Statement:์ผ๋ฐ˜์ ์ธ SQL ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.SQL ์ฟผ๋ฆฌ๋Š” ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กญ๊ฒŒ ๊ตฌ๋ฌธ ๋ถ„์„๋˜๊ณ  ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค.์ฟผ๋ฆฌ ๋‚ด์— ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ SQL ๋ฌธ์— ๊ฐ’์„ ์‚ฝ์ž…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.SQL ์ธ์ ์…˜ ๊ณต๊ฒฉ์— ์ทจ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ย Statement stmt = connection.createStatement(); String sql = "SELECT * FROM users WHERE id = " + userId; ResultSet rs = stmt.executeQuery(sql);PreparedStatement:๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ SQL ๋ฌธ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ?๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‚˜์ค‘์— ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋™์ผํ•œ ..

๐Ÿ’Ž JSP 2024.08.24 0

[JSP] ํŽ˜์ด์ง• ์ด๋ž€?

1. ๋ฐ˜๋“œ์‹œGET ๋ฐฉ์‹์œผ๋กœ๋งŒ์ฒ˜๋ฆฌํ•œ๋‹ค2. ์ด๋™ํ• ๋•ŒํŽ˜์ด์ง€๋ฒˆํ˜ธ, ๋ณด์—ฌ์ค„ํŽ˜์ด์ง€๊ฐœ์ˆ˜๋ฅผ๊ฐ€์ง€๊ณ ๋‹ค๋…€์•ผํ•œ๋‹ค-> ๋ชฉ๋ก ์œผ๋กœ ๋‚˜์˜ฌ๋•Œํ˜„์žฌํŽ˜์ด์ง€๋ฅผ์œ ์ง€ํ•˜๊ธฐ์œ„ํ•ด3. ํŽ˜์ด์ง• ์ฒ˜๋ฆฌํ•˜๋Š”๋กœ์ง์„ํด๋ž˜์Šค๋กœ๋ถ„๋ฅ˜ํ•œ๋‹ค-> PageVOํด๋ž˜์Šค๋Š” ํŽ˜์—์ง• ๊ด€๋ จ ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค

๐Ÿ’Ž JSP 2024.08.24 0

[JSP] ํ‘œํ˜„ ์–ธ์–ด (Expression Language) :: EL

[ ELย  (Expression Language) ]์ž๋ฐ”์ฝ”๋“œ๋ฅผ ํ‘œํ˜„์‹์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค (๋ณต์žกํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด์คŒ)JSP ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ๋ฅผ ๋ณด์™„ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.ย ย JSP์—์„œย ์ €์žฅ๊ฐ์ฒด๋ฅผ ์ถœ๋ ฅํ• ๋•Œ ์Šคํฌ๋ฆฝํŒ…์„ ์ „ํ˜€ ์“ฐ์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์ผ์ข…์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ์ž๋ฃŒ ํƒ€์ž…, ์ˆ˜์น˜ ์—ฐ์‚ฐ์ž, ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž, ๋น„๊ต ์—ฐ์‚ฐ์ž ๋“ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ ํ‘œํ˜„์‹์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ ์Šต๋‹ˆ๋‹ค.ย  ------->ย  ย ${value}ย ๋กœย ์‚ฌ์šฉ๊ฐ€๋Šฅย ย ย [ EL ๋‚ด์žฅ ๊ฐ์ฒด ]ย ${ 1 + 2 }${ 1 > 2 }${ 2 == 2 }${ 2 == 1 ? '๊ฐ™์Œ' : '๋‹ค๋ฆ„' }${1 ย [EL :ย  requestScope ]${param.name}${param.age}//ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ//์‰ฝ๊ฒŒ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.request.setAttribu..

๐Ÿ’Ž JSP 2024.08.24 0

[JSP] ํ•„ํ„ฐ (Filter) ๋ž€?

โ—ˆ ํ•„ํ„ฐ๋ž€HTTP ์š”์ฒญ, ์‘๋‹ต์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํด๋ž˜์Šค์š”์ฒญ ----- ์ตœ์ข…์ •๋ณด ์‚ฌ์ด์— ์œ„์น˜ํ•˜์—ฌ....ย ย ย โ—ˆ ํ•„ํ„ฐ ์ƒ์„ฑ ๋ฐฉ๋ฒ•1. ํ•„ํ„ฐ ํด๋ž˜์Šค๋Š” ์ผ๋ฐ˜ ์ž๋ฐ” ํŒŒ์ผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.2. Filter ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์† ๋ฐ›์Šต๋‹ˆ๋‹ค3. ์ผ๋ฐ˜์ ์œผ๋กœ doFilter๋ฉ”์„œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•ฉ๋‹ˆ๋‹ค4. ์‚ฌ์šฉ ํ›„ doFilter(request, response); ๋ฉ”์„œ๋“œ๋ฅผ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•œ๋‹คย ย ย ย ย ย ย ย ย ย ย ย ย ย ย โ—ˆ ํ•„ํ„ฐ ์—ฌ๋Ÿฌ๊ฐœ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•

๐Ÿ’Ž JSP 2024.08.24 0

[JSP] include ์•ก์…˜ ํƒœ๊ทธ (+๋ชจ๋“ˆํ™”)

โ—ˆ ์•ก์…˜ ํƒœ๊ทธ๋ž€?ย ์›น ์‚ฌ์ดํŠธ์—์„œ ๊ณตํ†ต ๊ตฌ์„ฑ ์š”์†Œ (ํ—ค๋”,ํ‘ธํ„ฐ,๋„ค๋น„ ๋“ฑ) ๋“ค์„ ๊ณ„์† ์ž‘์„ฑํ•˜๊ฒŒ๋˜๋ฉด์—„์ฒญ๋‚œ ์ฝ”๋“œ ์ค‘๋ณต์ด ์ผ์–ด๋‚œ๋‹ค... !!์ด๋Ÿด ๋•Œ์—๋Š”ย  ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ชจ๋“ˆํ™”์‹œ์ผœ ์ฝ”๋“œ ์ค‘๋ณต์„ ์—†์• ์ค€๋‹ค!ย ย ย โ—ˆ include ์•ก์…˜ ํƒœ๊ทธ ๋™์ž‘ ๋ฐฉ์‹ย 1. ์›น ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด abc.jsp2. ์ฒซ ๋‚ด์šฉ A ๊ฐ€ ์ถœ๋ ฅ ๋ฒ„ํผ์— ์ €์žฅ๋˜๊ณ 3. include ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์š”์ฒญ ํ๋ฆ„์„ includeย  b.jsp๋กœ ์ด๋™ํ•œ๋‹ค.4. B ๊ฐ€ ์ถœ๋ ฅ ๋ฒ„ํผ์— ์ €์žฅ๋œ๋‹ค.5. include ย b.jsp ์‹คํ–‰์ด ๋๋‚˜๋ฉด ๋‹ค์‹œ abc.jsp ๋กœ ์ด๋™ํ•œ๋‹ค.6. ๋งˆ์ง€๋ง‰ ๋‚ด์šฉ C ๊ฐ€ ์ถœ๋ ฅ ๋ฒ„ํผ์— ์ €์žฅ๋˜๊ณ 7. ์ถœ๋ ฅ ๋ฒ„ํผ์˜ ๋‚ด์šฉ์„ ์‘๋‹ต ๋ฐ์ดํ„ฐ๋กœ ์ „์†กํ•œ๋‹ค.ย โ—ˆ ์•ก์…˜ํƒœ๊ทธ ์†์„ฑย ย page: ํฌํ•จํ•  ๋ฆฌ์†Œ์Šค์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ƒ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›น..

๐Ÿ’Ž JSP 2024.08.24 0

SQL

more

[PL/SQL] ํŠธ๋ฆฌ๊ฑฐ trigger

[ํŠธ๋ฆฌ๊ฑฐ]ํ…Œ์ด๋ธ”์—ย ๋ถ€์ฐฉํ•œย ํ˜•ํƒœ๋กœ์จ,ย insert,ย update,ย deleteย ์ž‘์—…์ดย ์ˆ˜ํ–‰๋ ย ๋•Œย ํŠน์ •ย ์ฝ”๋“œ๊ฐ€ย ์ž‘๋™๋˜๋„๋กย ํ•˜๋Š”ย ๊ตฌ๋ฌธ= ์—ฐ์‡„์ ์ธ ๋™์ž‘ย ํŠธ๋ฆฌ๊ฑฐ ์ƒ์„ฑ >ย ๋ถ€์ฐฉย ย ย >ย ๋™์ž‘ > DML ์ˆ˜ํ–‰set SERVEROUTPUT on; -- ์ถœ๋ ฅ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋„๋ก ์˜จCREATE OR REPLACE TRIGGER ํŠธ๋ฆฌ๊ฑฐ๋ช… AFTER DELETE OR UPDATE --์‚ญ์ œ, ์ˆ˜์ • ์ดํ›„์— ๋™์ž‘ ON ๋ถ€์ฐฉํ• ํ…Œ์ด๋ธ” FOR EACH ROW -- ๊ฐํ–‰์— ์ ์šฉBEGIN DBMS_OUTPUT.PUT_LINE('ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๋™์ž‘ํ•จ'); -- ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ๋ฅผ begin~end์— ๋„ฃ์ŒEND;ย [ ์ž๋™ย ์—ฐ๊ด€ย  ](์ฃผ๋ฌธ ์ƒํ’ˆ)์ฃผ๋ฌธ์ดย ๋“ค์–ด์˜ค๋ฉดย ์ƒํ’ˆ์ดย ์ค„์–ด๋“ค์–ด์•ผํ•˜๋Š”๋ฐ์ด๋•Œย ํŠธ๋ฆฌ๊ฑฐ๋ฅผย ํ†ตํ•ด์„œย ๊ด€๋ฆฌํ•˜๋ฉดย ํŽธํ•˜๊ฒŒย ๊ด€๋ฆฌย ๊ฐ€๋Šฅ์ฃผ..

๐Ÿ’Ž SQL-PL,SQL 2024.07.03 1

[PL/SQL] ํ”„๋กœ์‹œ์ € Procedure

[ ํ”„๋กœ์‹œ์ € ]ย PL/SQL ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„์ด๋‹ค.ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ ๋ธ”๋ก์„ ์บก์Šํ™” ํ•œ ๊ฒƒ์ด๋‹ค.๋™์ผํ•œ ์ž‘์—…์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.ย ย ย [ ์Šคํ† ์–ด๋“œ ํ”„๋กœ์‹œ์ € ( ์ €์žฅ ํ”„๋กœ์‹œ์ € ) ]ํ•˜๋‚˜์˜ย ํ•จ์ˆ˜์ฒ˜๋Ÿผย ์‹คํ–‰ํ•˜๊ธฐย ์œ„ํ•œย ์ฟผ๋ฆฌ์˜ย ์ง‘ํ•ฉ ์ผ๋ จ์˜ย SQLย ์ฒ˜๋ฆฌย ๊ณผ์ •์„ย ์ง‘ํ•ฉ์ฒ˜๋Ÿผย ๋ฌถ์–ด์„œย ์‚ฌ์šฉํ•˜๋Š”ย ๊ตฌ์กฐย CREATE OR REPLACE PROCEDURE NEW_JOB_PROC --๋งค๊ฐœ๋ณ€์ˆ˜IS --๋ณ€์ˆ˜์˜ ์„ ์–ธ ์˜์—ญBEGIN --์‹คํ–‰ ์˜์—ญ DBMS_OUTPUT.PUT_LINE('HELLO WORLD!'); END;ย -- ํ”„๋กœ์‹œ์ €์˜ ํ˜ธ์ถœEXEC NEW_JOB_PROC;ย ย [ ํ”„๋กœ์‹œ์ € ๋งค๊ฐœ๋ณ€์ˆ˜ย ย IN ]์ž…๋ ฅ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.ย [ ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜ DEFAULT ]๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ œ๊ณต๋˜์ง€์•Š์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์ด ์‚ฌ์šฉ๋˜๋„..

๐Ÿ’Ž SQL-PL,SQL 2024.06.27 0

[PL/SQL] ์ปค์„œ CURSOR

[CURSOR ์ปค์„œ]์งˆ์˜ ์ˆ˜ํ–‰๊ฒฐ๊ณผ๊ฐ€ ์—ฌ๋Ÿฌํ–‰์ด ๋‚˜์˜จ ๊ฒฐ๊ณผ ์ฒ˜๋ฆฌํ• ๋•Œ ์‚ฌ์šฉ์—ฌ๋Ÿฌย ํ–‰์„ย ์ฒ˜๋ฆฌํ• ย ์ˆ˜ย ์žˆ๊ฒŒย ํ•ด์ค€๋‹ค. CURSORย ๋ฃจํ”„ํ•˜๋ฉด์„œย ์ฝ์–ด์ค€๋‹ค. [ ์ปค์„œ ์„ ์–ธ]CURSORย ์ปค์„œ์ด๋ฆ„ย ISย SELECT๋ฌธ์žฅ; [์ปค์„œ ์—ด๊ธฐ]OPENย ์ปค์„œ์ด๋ฆ„; [์ปค์„œ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ (LOOP end ๋ฐ˜๋ณต๋ฌธ)]FETCHย ์ปค์„œ์ด๋ฆ„ย INTOย ์ €์žฅํ• ย ๋กœ์ปฌ๋ณ€์ˆ˜ [์ปค์„œ ๋‹ซ๊ธฐ]CLOSEย ์ปค์„œ์ด๋ฆ„ย  [์ปค์„œ ์†์„ฑ]-ย %FOUNDย --ย PL/SQL์ฝ”๋“œ๊ฐ€ย ๋งˆ์ง€๋ง‰์œผ๋กœย ์–ป์€ย ์ปค์„œ์˜ย ๊ฒฐ๊ณผย set์—ย ๋ ˆ์ฝ”๋“œ๊ฐ€ย ์žˆ๋‹ค๋ฉดย ์ฐธ. -ย %NOTFOUNDย --ย %FOUND์˜ย ๋ฐ˜๋Œ€ -ย %ROWCOUNTย --ย ์ปค์„œ์—์„œย ์–ป์€ย ๋ ˆ์ฝ”๋“œ์ˆ˜ย ๋ฐ˜ํ™˜ -ย %ISOPENย --ย ์ปค์„œ๊ฐ€ย ์—ด๋ ธ๊ณ ย ์•„์งย ๋‹ซํžˆ์ง€ย ์•Š์€ย ์ƒํƒœ๋ผ๋ฉดย ์ฐธย DECLARE NM VARCHAR2(50); SALARY NUMBE..

๐Ÿ’Ž SQL-PL,SQL 2024.06.27 0

[PL/SQL] ํ”„๋กœ๊ทธ๋žจ SQL ๊ฐœ๋…, ๋ฌธ๋ฒ•

[PL/SQL ์ด๋ž€?]Programย languageย SQLย ์˜ย ์ค„์ž„๋ง๋กœ ์˜ค๋ผํด์—์„œย ์‚ฌ์šฉ๋˜๋Š”ย ์ ˆ์ฐจ์ ย ํ”„๋กœ๊ทธ๋ž˜๋ฐย ์–ธ์–ด์ด๋‹ค. ์ฟผ๋ฆฌ๋ฌธ์˜ย ์ง‘ํ•ฉ์œผ๋กœย ๋™์ž‘์„ย ์ผ๊ด„์ฒ˜๋ฆฌย ํ•˜๊ธฐย ์œ„ํ•œย ์šฉ๋„๋กœย ์“ฐ์ธ๋‹ค. ์ €์žฅย ํ”„๋กœ์‹œ์ €,ย ํ•จ์ˆ˜,ย ํŠธ๋ฆฌ๊ฑฐย ๋“ฑ์„ย ์ž‘์„ฑํ• ย ์ˆ˜ย ์žˆ๋‹ค. (์ ˆ์ฐจํ˜•SQLย ์ฝ”๋“œ๋ถ€๋ถ„๋งŒย ์„ ํƒํ•˜์—ฌย F5๋กœย ์ปดํŒŒ์ผํ•ด์„œย ์‹คํ–‰ํ•œ๋‹ค.)ย ย [์ต๋ช…๋ธ”๋ก]set serveroutput on; -- ์˜ค๋ผํด์—์„œ ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•จDECLARE ๋ณ€์ˆ˜BEGIN ์ฒ˜๋ฆฌํ•  ๋‚ด์šฉ DBMS_OUTPUT.PUT_LINE(์ถœ๋ ฅ๋ฌธ)END;declareย --ย ๋ณ€์ˆ˜์„ ์–ธ๋ถ€ beginย --ย ๋กœ์งย ์‹œ์ž‘ exceptionย --ย ์˜ˆ์™ธ endย --ย ๋กœ์งย ์ข…๋ฃŒ DBMS_OUTPUT.PUT_LINE(์ถœ๋ ฅ๋ฌธ)ย ย [์—ฐ์‚ฐ์ž]+, -, /, MOD(), *, ** >, >=, , :=ย [DM..

๐Ÿ’Ž SQL-PL,SQL 2024.06.27 0

[SQL] ์˜ค๋ผํด ๊ณ„์ • ๊ด€๋ฆฌ๋ฒ•

[ ์‚ฌ์šฉ์ž(User) ]์‚ฌ์šฉ์ž ๊ณ„์ •, ์˜ค๋ผํด ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฆ‰, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ„์ •ย [ ์Šคํ‚ค๋งˆ(Schema) ]ํŠน์ • ์‚ฌ์šฉ์ž(User)๊ฐ€ ๋งŒ๋“ค์–ด ๋†“์€ object(๊ฐ์ฒด) ์ง‘ํ•ฉย ย [ ํ”„๋กœํŒŒ์ผ(Profile) ]์‚ฌ์šฉ์ž ๊ณ„์ • ํ–‰๋™์„ ์ œํ•œํ•˜๋Š” ๊ทœ์น™์„ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ์˜ˆ) 1๊ฐœ์›”๋งˆ๋‹ค ์•”ํ˜ธ ๋ณ€๊ฒฝ, ๋™์ผ ์•”ํ˜ธ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ ๋“ฑ๋“ฑย [ ํ”„๋กœํŒŒ์ผ ํŒŒ๋ผ๋ฏธํ„ฐ ์ข…๋ฅ˜ ]PASSWORD_LIFE_TIME ย : ๋น„๋ฐ€๋ฒˆํ˜ธ์˜ ์œ ํšจ ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. PASSWORD_GRACE_TIME ย : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋งŒ๋ฃŒ ํ›„ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ๋กœ์šด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•  ๋•Œ๊นŒ์ง€์˜ ์œ ์˜ˆ ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. PASSWORD_REUSE_TIME ย : ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ์‹œ๊ธฐ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. PASSWORD_REUSE_MAX ย : ํŠน์ • ๋น„๋ฐ€..

๐Ÿ’Ž SQL-PL,SQL 2024.06.20 0

LINUX

more

[Linux] RAID ๋ ˆ์ด๋“œ ๋ณ„ 156 ํŠน์ง• ์„ค๋ช…

RAID ์—ฌ๋Ÿฌ๊ฐœ์˜ย ํ•˜๋“œ๋””์Šคํฌ์—ย ๋ฐ์ดํ„ฐ๋ฅผย ๋‚˜๋ˆ ์„œย ๋ถ„์‚ฐ,ย ์ค‘๋ณตย ์ €์žฅํ•˜๋Š”ย ๊ธฐ์ˆ ์„ย ๋งํ•œ๋‹ค. ๋ ˆ์ด๋“œ(RAID)๋ž€ย Redundantย Arrayย Inexpensiveย Disks์˜ย ์•ฝ์–ด์ด๋ฉฐ,ย ์˜๋ฏธ๋Š”ย ๊ฐ’์‹ผย ๋””์Šคํฌ๋ฅผย ์—ฌ๋ถ„์œผ๋กœย ๋ฐฐ์น˜ํ•œ๋‹คย ๋Š”ย ๋œป์ด๋‹ค. RAIDย (Redunantย Arrayย ofย Independentย Disksย ย ๋˜๋Š”ย Reundantย Arrayย ofย Inexpensiveย Disks)ย ๋ž€ย ์—ฌ๋Ÿฌย ๊ฐœ์˜ย ย ํ•˜๋“œย ๋””์Šคํฌ๋ฅผย ํ•˜๋‚˜์˜ย ๋””์Šคํฌ์ฒ˜๋Ÿผย ์‚ฌ์šฉํ•˜์—ฌย ์ผ๋ถ€ย ์ค‘๋ณต๋œย ๋ฐ์ดํ„ฐ๋ฅผย ๋‚˜๋ˆ ์„œย ์ €์žฅํ•˜๋Š”ย ๊ธฐ์ˆ ์ด๋‹ค.ย ๋ ˆ๋ฒจ์—ย ๋”ฐ๋ผย ์ €์žฅ์žฅ์น˜์˜ย ์‹ ๋ขฐ์„ฑ์„ย ๋†’์ด๊ฑฐ๋‚˜ย ์ „์ฒด์ ์ธย ์„ฑ๋Šฅ์„ย ํ–ฅ์ƒ์‹œํ‚ค๋Š”ย ๋“ฑ์˜ย ๋‹ค์–‘ํ•œย ๋ชฉ์ ์„ย ๋งŒ์กฑ์‹œํ‚ฌย ์ˆ˜ย ์žˆ๋‹ค.ย ย  RAID 0์ž๋ฃŒ ๋‘ ์žฅ์น˜์— ๋™์‹œ์— ์‚ฌ์šฉ, ๋น ๋ฅด๊ฒŒ ์ €์žฅย RAID 1๋ณต์ œ๋œย ๋ฐ์ดํ„ฐ๊ฐ€ย ํ•œ์Œ์˜ย ๋“œ๋ผ์ด๋ธŒ์—ย ๊ธฐ๋ก๋˜๋Š”ย ๋ฐฉ์‹ ์„œ๋กœย ..

๐Ÿ’ŽLinux 2024.09.30 1

[Linux] vi ์‚ฌ์šฉ์‹œ ์˜ค๋ฅ˜ โ†’ ์ •์ƒ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฒ•

โ–ซ gedit์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์„ ํ™•์ธํ•œ๋‹ค.โ–ซ nano ์—๋””ํ„ฐ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžŒ๋‹ค.โ–ซ vi์˜ ์‚ฌ์šฉ๋ฒ•์„ ์—ฐ์Šตํ•œ๋‹คย ย vi์˜ ๋น„์ •์ƒ ์ข…๋ฃŒ ์‹œ ์กฐ์น˜๋ฒ• ???ย ์™œ? ) vi ํŒŒ์ผ ์ˆ˜์ •์ค‘์— ๋น„์ •์ƒ ์ข…๋ฃŒ๋ฅผ ํ• ๋•Œ ๋‚˜์˜ค๋Š” ๋ฉ”์„ธ์ง€์ธ๋ฐ ์›๋ณธํŒŒ์ผ์ด ๊ทธ๋Œ€๋กœ ์žˆ๊ณ  ์Šค์™‘ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ.์Šค์™‘ํŒŒ์ผ์„ ์ง€์›Œ์คŒ = ๋น„์ •์ƒ ์ข…๋ฃŒ์‹œ ์ƒ๊ธฐ๋Š” swap ํŒŒ์ผ (ํ•ด๋‹น ํŒŒ์ผ์„ ์‚ญ์ œํ•ด์•ผ ํ•จ) ,๊ทธ๋Ÿฌ๋ฉด ์œ„์˜ ํ™”๋ฉด ์•ˆ๋œธย 0. vi ํŒŒ์ผ ์ˆ˜์ • ์ค‘ ๋น„์ •์ƒ ์ข…๋ฃŒ์‹œ ์ƒ๊ธฐ๋Š” swap ํŒŒ์ผ์ด ์ƒ์„ฑ๋ผ์„œ=> ํ•ด๋‹น ํŒŒ์ผ์„ ์‚ญ์ œํ•ด์•ผ ํ•จ1. ์‚ญ์ œํ•  ์Šค์™‘ํŒŒ์ผ ์ฐพ๊ธฐ# ls -al (ํ˜„ ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„ ์ˆจ๊ฒจ์ง„ ํŒŒ์ผ ํฌํ•จ ์ƒ์„ธํžˆ๋ณด๊ธฐ)~ delete the swap file ".install.log.swp"//์ด๋•Œ ์ˆจ๊ฒจ์ง„ ํŒŒ์ผ์€ .{ํŒŒ์ผ ์ด๋ฆ„} ์œผ๋กœ ๋˜์–ด์žˆ๋”ฐ.//ํŒŒ์ผ ์ด๋ฆ„ ์•ž . ์€ ..

๐Ÿ’ŽLinux 2024.09.30 0

[Linux] File ๋งํฌ , ํ—ˆ๊ฐ€, ์••์ถ•, ๋ฆฌ๋‹ค์ด๋ ‰์…˜

๋งํฌ ํŒŒ์ผย [๋งํฌ] ํ•˜๋“œ๋งํฌ/์†Œํ”„ํŠธ๋งํฌ์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๊ฐœ์š” Windows์—์„œ ํŠน์ • ์‹คํ–‰ ํŒŒ์ผ์„ ๋ฐ”ํƒ•ํ™”๋ฉด์— ๋ฐ”๋กœ๊ฐ€๊ธฐ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ๋ฆฌ๋ˆ…์Šค์—์„œ๋„ ๋งํฌ๋ฅผ ํ†ตํ•ด ํŠน์ • ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฐ”๋กœ๊ฐ€๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด์•ผ๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Linux์—์„œ Windows์˜kimdy.tistory.comย ย ํ•˜๋“œ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด โ€œํ•˜๋“œ๋งํฌํŒŒ์ผโ€๋งŒ ํ•˜๋‚˜ ์ƒ์„ฑ๋˜๋ฉฐ,ย  ๊ฐ™์€ย inode1์„ย ์‚ฌ์šฉ # ln ๋งํฌ๋Œ€์ƒํŒŒ์ผ์ด๋ฆ„ ๋งํฌํŒŒ์ผ์ด๋ฆ„-> ln basefile hardlink์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์ƒˆ๋กœ์šด inode2๋ฅผ ๋งŒ๋“ค๊ณ ,ย  ๋ฐ์ดํ„ฐ๋Š” ์›๋ณธ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋Š” ํšจ๊ณผ# ln -s ๋งํฌ๋Œ€์ƒํŒŒ์ผ์ด๋ฆ„ ๋งํฌํŒŒ์ผ์ด๋ฆ„-> ln -s basefile softlinkย ย ย โ‘ ย ์‹ค์Šต์„ย ์œ„ํ•ดย ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผย ์ƒ์„ฑํ•˜๊ณ ,ย ์›๋ณธํŒŒ์ผ์„ย ์ž‘์„ฑ# cd# mkdir l..

๐Ÿ’ŽLinux 2024.09.30 0

โญํ”„๋กœ๊ทธ๋ž˜๋จธ์Šคโญ

more

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค java - ์ฝœ๋ผ ๋ฌธ์ œ

์ฒด๊ฐ Level : โ˜… โ˜…ย โ˜…ย  Review:ย  ์žฌ๊ท€์ ์œผ๋กœ ํ‘ธ๋Š” ๊ฑด ์•Œ์•˜์ง€๋งŒ ์ฝ”๋“œ์ž‘์„ฑ์—์„œ ๋ง‰๋ง‰ํ•ด์กŒ๋‹ค..ย ์ˆ˜ํ•™์  ์‚ฌ๊ณ ๊ฐ€ ๋ถ€์กฑํ–ˆ๋‹ค ใ… ใ… ย ๐Ÿ’ก์ฝœ๋ผ๋ฅผย ๋ฐ›๊ธฐย ์œ„ํ•ดย ๋งˆํŠธ์—ย ์ฃผ์–ด์•ผย ํ•˜๋Š”ย ๋ณ‘ย ์ˆ˜ย a,ย ๋นˆย ๋ณ‘ย a๊ฐœ๋ฅผย ๊ฐ€์ ธ๋‹คย ์ฃผ๋ฉดย ๋งˆํŠธ๊ฐ€ย ์ฃผ๋Š”ย ์ฝœ๋ผย ๋ณ‘ย ์ˆ˜ย b,ย ์ƒ๋นˆ์ด๊ฐ€ย ๊ฐ€์ง€๊ณ ย ์žˆ๋Š”ย ๋นˆย ๋ณ‘์˜ย ๊ฐœ์ˆ˜ย n์ดย ๋งค๊ฐœ๋ณ€์ˆ˜๋กœย ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.ย ์ƒ๋นˆ์ด๊ฐ€ย ๋ฐ›์„ย ์ˆ˜ย ์žˆ๋Š”ย ์ฝœ๋ผ์˜ย ๋ณ‘ย ์ˆ˜๋ฅผย returnhttps://school.programmers.co.kr/learn/courses/30/lessons/132267#ย ย [์ฐธ๊ณ  ์ฝ”๋“œ]n์€ a๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์„ ๋•Œ (a ๋ฏธ๋งŒ๊นŒ์ง€ ๋œ๋‹ค๊ณ  ํ‘œ๊ธฐ๋˜์–ด์žˆ๋”ฐ.)( ์ฆ‰, ๋‹ค์Œ์— ๋‚˜๋ˆ ์งˆ n ๊ฐ’์— ๋‚˜๋จธ์ง€๊ฐ’์„ ๋„ฃ์–ด์„œ ์žฌ๊ท€์  ์—ฐ์‚ฐ ์ˆ˜ํ–‰)class Solution { public int solution(int a, int..

Java 2024.07.01 0

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค java - [1์ฐจ] ๋‹คํŠธ ๊ฒŒ์ž„

์ฒด๊ฐ Level : โ˜… โ˜… โ˜…ย  Review: ์ •๊ทœ์‹๊ณผ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ... ํŒจํ„ด ๋ฝ‘์•„์˜ค๋Š” ๋ถ€๋ถ„๋งŒ ์ฐธ๊ณ ํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ์ง์ ‘ ์ฝ”๋”ฉํ–ˆ๋Š”๋ฐ ์กฐ๊ฑด์ด ๊นŒ๋‹ค๋กœ์›Œ์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค ใ…œใ…œย ย ๐Ÿ’กย ๋‘์ž๋ฆฌ ์ˆ˜๋ฅผ ๊ฐ€์ ธ์™€์•ผํ•˜๋Š” ์ * ๊ฐ€ ๋‚˜์˜ค๋ฉด ์ด์ „ ๊ฐ’๋„ย  *2 ํ•ด์ค˜์•ผํ•˜๋Š”๊ฒƒ.import java.util.*;import java.util.regex.Matcher;import java.util.regex.Pattern;class Solution { public int solution(String dartResult) { int answer = 0; String[] arr = new String[3]; String ptn = "(\\d+)(..

Java 2024.06.17 0

โญ๋ฐฑ์ค€โญ

more

#2798 - python ๋ธ”๋ž™์žญ

์ฒด๊ฐ Level : โ˜… โ˜… โ˜… Review: ๋ธŒ๋ฃจํˆฌํฌ์Šค๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋”ฐ์ ธ๋ณด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.ย  (์™„์ „ ํƒ์ƒ‰)ย ๐Ÿ’ก์ œํ•œ๋œย ์‹œ๊ฐ„ย ์•ˆ์—ย N์žฅ์˜ย ์นด๋“œย ์ค‘์—์„œย 3์žฅ์˜ย ์นด๋“œ๋ฅผย ๊ณจ๋ผ์•ผย ํ•œ๋‹ค.ย ๋ธ”๋ž™์žญย ๋ณ€ํ˜•ย ๊ฒŒ์ž„์ด๊ธฐย ๋•Œ๋ฌธ์—,ย ํ”Œ๋ ˆ์ด์–ด๊ฐ€ย ๊ณ ๋ฅธย ์นด๋“œ์˜ย ํ•ฉ์€ย M์„ย ๋„˜์ง€ย ์•Š์œผ๋ฉด์„œย M๊ณผย ์ตœ๋Œ€ํ•œย ๊ฐ€๊น๊ฒŒย ๋งŒ๋“ค์–ด์•ผย ํ•œ๋‹ค.ย N์žฅ์˜ย ์นด๋“œ์—ย ์จ์ ธย ์žˆ๋Š”ย ์ˆซ์ž๊ฐ€ย ์ฃผ์–ด์กŒ์„ย ๋•Œ,ย M์„ย ๋„˜์ง€ย ์•Š์œผ๋ฉด์„œย M์—ย ์ตœ๋Œ€ํ•œย ๊ฐ€๊นŒ์šดย ์นด๋“œย 3์žฅ์˜ย ํ•ฉ์„ย ๊ตฌํ•ดย ์ถœ๋ ฅย  ๐Ÿ’ฌ 3์ค‘ for ๋ฌธ์„ ํ†ตํ•ด์„œ ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅย ย [์ฝ”๋“œ ์ฐธ๊ณ ]N, M = map(int, input().split()) #์นด๋“œ ๊ฐœ์ˆ˜์™€, ์ฃผ์–ด์ง„ ์ˆ˜ arr = list(map(int, input().split())) #๋ฐ›์•„์˜จ๊ฐ’ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ๊ธฐresult = 0 #๊ฒฐ๊ณผ๊ฐ’for i in ra..

Python 2024.07.01 0

#14215 - python ์„ธ ๋ง‰๋Œ€

์ฒด๊ฐ Level : โ˜…โ˜†โ˜†Review:ย  ๋ฌธ์ž์—ด์„ ๋ฌธ์ž๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ๊ณ  ์ •๋ ฌ๋งŒ ํ•ด์ฃผ๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค.ย ๐Ÿ’กย  a,b,c ์„ธ ๋ง‰๋Œ€์˜ ๊ธธ์ด๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ์ค„์—ฌ ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์‚ผ๊ฐํ˜•์„ ๋งŒ๋“ค๊ณ , ๋‘˜๋ ˆ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.ย ย ๐Ÿ’ฌ ์‚ผ๊ฐํ˜•์€ ์ œ์ผ ํฐ ๋ณ€์˜ ๊ธธ์ดย  ์ฆ‰ ํฐ ๋ณ€์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅธ ๋‘๋ณ€์˜์˜ ํ•ฉ๋ณด๋‹ค ์ž‘์•„์งˆ๋•Œ๊นŒ์ง€ ๊ณ„์† ๋นผ์ค€๋‹ค.a =[]a = sorted(list(map(int,input().split())))sum = a[0] + a[1]max = a[2]if max 3 tmax -= 1 if(sum > tmax): break print(sum+tmax)

Python 2024.05.29 0

โญgit โญ

more

[Git] eclipse ๊นƒํ—ˆ๋ธŒ ํ˜‘์—… ๋ฐฉ๋ฒ• & ๋ธŒ๋ Œ์น˜

[ eclipseย  ๊นƒํ—ˆ๋ธŒ ํ˜‘์—… ๋ฐฉ๋ฒ• ]ย 1. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ƒ์„ฑgithub ์—์„œ repositories ๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•œ๋‹ค.ย ย 2. ์ฝœ๋ผ๋ณด๋ ˆ์ดํ„ฐ ์ดˆ๋Œ€ํ•˜๊ธฐ๊ฐ™์ด ํ˜‘์—…ํ•  ์‚ฌ๋žŒ์„ ์ดˆ๋Œ€ํ•œ๋‹ค. Collaborators์ด๋•Œ ์ดˆ๋Œ€๋ฅผ ์ˆ˜๋ฝํ•ด์•ผํ•œ๋‹ค.ย 3. ์ดํด๋ฆฝ์Šค์™€ ๊นƒํ—ˆ๋ธŒ ์—ฐ๊ฒฐํ•˜๊ธฐ์ดํด๋ฆฝ์Šค์—์„œ Import -> git -> cloneย ์ด๋•Œ ๊นƒํ—ˆ๋ธŒ Settings > Developer-Settings > Token ์„ ์ƒ์„ฑํ•œ๋‹ค.ย 4. ์ž˜ ์—ฐ๊ฒฐ ๋˜์—ˆ๋Š”์ง€ ์„œ๋ฒ„ ์ผœ์„œ ํ™•์ธํ•ด์ฃผ๋ฉด ๋ย ย [ ํ˜‘์—… ์‹œ ๊นƒ ํ—ˆ๋ธŒ ์‚ฌ์šฉ๋ฒ• ? ]ย ย (ํŒ€์žฅ)ย ๋‚ด github ๊ณ„์ •์—ฐ๊ฒฐ$git config --global user.email "๋ณธ์ธ์ด๋ฉ”์ผ์ฃผ์†Œ"$git config --global user.name "๋ณธ์ธ์ด๋ฆ„"ย ย ์ดˆ๊ธฐ ์ฝ”๋“œ ์—…๋กœ๋“œํ•˜๊ธฐ$g..

๐Ÿ’Ž Git 2024.07.15 0

[Git] ์ž๋™ push.exe

git init ๊ณผ ์›๊ฒฉ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์—ฐ๊ฒฐ ๋˜์–ด์—ˆ๋Š” ์ƒํƒœ์—์„œ ์•ˆ์— ๋ฐฐ์น˜ํŒŒ์ผ ๋ˆ„๋ฅด์‹œ๋ฉด ์ž๋™์œผ๋กœ ํ‘ธ์‰ฌ๋œ๋‹ค.!ย ย ย *** ์ˆ˜๋™ ์—…๋กœ๋“œํ•˜๊ธฐ Open Git Bash hereย ย ๊นƒ ์‹œ์ž‘ํ•˜๊ธฐ$ git initย ย ๊นƒ ์ดˆ๊ธฐ ์„ธํŒ…ย $ git config --global user.name "๋ณธ์ธ์ด๋ฆ„์˜์–ด"$ git config --global user.name ๋ณธ์ธ์ด๋ฉ”์ผ$ git config --list๊นƒํ—ˆ๋ธŒ ํšŒ์›" data-og-host="hyejux.tistory.com" data-og-source-url="https://hyejux.tistory.com/633" data-og-url="https://hyejux.tistory.com/633" data-og-image="https://scrap.kakaocdn.net/d..

๐Ÿ’Ž Git 2024.06.18 0

[Git] comflict ์ถฉ๋Œ

comflict ๋ž€?ย comflict ๋Š” ๊ฐ™์€ ํŒŒ์ผ, ๊ฐ™์€ ์œ„์น˜๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์ˆ˜์ •ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ด๋‹ค. merge / rebase ์ž‘์—… ์ค‘ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค.ย ex)ย 1) A ๋ธŒ๋žœ์น˜์™€ B ๋ธŒ๋žœ์น˜๊ฐ€ ์žˆ๋‹ค.2) ๋‘ ๋ธŒ๋žœ์น˜๋ฅผ ๋™์ผํŒŒ์ผ, ๋™์ผ ๋ผ์ธ์„ ์ˆ˜์ •ํ•จย 3) A ๋กœ ์ฒดํฌ์•„์›ƒํ•˜์—ฌ B ๋ฅผ ๋ณ‘ํ•ฉํ•œ๋‹ค (merge) .ย  ---> Automatic merge failed; fix conflicts and then commit the result.ย >>>>>> B-branchย ย comflict ๋ฐœ์ƒ ์‹œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•comflict ๋ฐœ์ƒํ•œ ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.๋”๋ณด๊ธฐpull ๋‹น๊ฒจ์˜ค๋ฉด comflict ๋ฐœ์ƒ >์“ฐ๋˜ ์ฝ”๋“œ๋ฅผ add / commit >pull (comf..

๐Ÿ’Ž Git 2024.06.12 0

[Git] branch

branch ๋ž€ย ํ”„๋กœ์ ํŠธ์˜ ๋‹ค์–‘ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.git ์ €์žฅ์†Œ ๋‚ด์—์„œ ๋…๋ฆฝ๋œ ์ž‘์—… ํ๋ฆ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ํฌ์ธํ„ฐ์ด๋‹ค.ย ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์ธ master ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.ย ย branch ํŠน์ง•ย - ๋…๋ฆฝ๋œ ์ž‘์—… ๊ณต๊ฐ„ ์ œ๊ณต- ๋™์‹œ์— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž‘์—…์„ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ- ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์•ˆ์ „ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ- ์ฝ”๋“œ ์•ˆ์ •์„ฑ ์œ ์ง€, ํšจ์œจ์ ์ธ ํ˜‘์—… ๊ฐ€๋Šฅ- ๊ฐ„ํŽธํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌย ย branch ํ™œ์šฉย 1) ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ2) ๋ฒ„๊ทธ ์ˆ˜์ •3) ๋ฆด๋ฆฌ์ฆˆ ๊ด€๋ฆฌย ย branch ๋ช…๋ น์–ด โ–ถ๏ธย ย ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ $ git branch ์ด๋ฆ„ย  ย ย  โ–ถ๏ธ ๋ธŒ๋žœ์น˜ ํ™•์ธ $ git branchย  ย ย  โ–ถ๏ธย  ๋ธŒ๋žœ์น˜ ๋ณ€๊ฒฝ $ git checkout ์ด๋ฆ„ ย ย  โ–ถ๏ธย  ๋ธŒ๋žœ์น˜ ์‚ญ์ œ $ git branch - D ์ด๋ฆ„ ย ย  โ–ถ๏ธ ๋ณ‘ํ•ฉ $ git merg..

๐Ÿ’Ž Git 2024.06.12 0

[Git] Merge, Rebase

git ์—์„œ ๋ธŒ๋žœ์น˜๋ผ๋ฆฌ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์€ Merge , Rebase ๊ฐ€ ์žˆ์Œ.์‹คํ–‰๊ฒฐ๊ณผ๋Š” ๊ฐ™์ง€๋งŒ commit history ๊ฐ€ ๋‹ฌ๋ผ์ง( conflictย  !!! ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ธŒ๋žœ์น˜์—์„œ ๋™์ผํ•œ ํŒŒ์ผ์˜ ๋™์ผํ•œ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ ๋ฐœ์ƒ)ย Mergeย  ์‰ฝ๊ณ  ์•ˆ์ „ํ•˜์ง€๋งŒ commit history ๊ฐ€ ๋ณต์žกํ•ด์ง์ด๋ ฅ์ด ๋งž์ถฐ์ง€์ง€ ์•Š์€ ์ƒํƒœ๋กœ merge ํ•˜๋ฉด ์ƒˆ๋กœ์šด branch ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. (์ด๋ ฅ์ด ๋‚จ์Œ)ย $ git branchย $ git checkout master$ git merge A$ git merge B // merge ์ด๋ ฅ ๋‚จ์Œย ย ย ย ย Rebase- ๋ฒ ์ด์Šค๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ- ๋งˆ์ง€๋ง‰ ๋‚˜๋ˆ ์ง€๊ธฐ ์ „ ์ด๋ ฅ์„ ๊ธฐ์ค€์œผ๋กœ base ๋ฅผ ๋งž์ถ”๊ณ  ํ•ฉ์น  ๋ธŒ๋žœ์น˜ ์ด๋ ฅ ์ ์šฉ- branch์˜ base๊ฐ€ ๋˜๋Š” ์ตœ์‹  ์ปค๋ฐ‹์œผ๋กœ base๋ฅผ ๋งž์ถ”..

๐Ÿ’Ž Git 2024.06.12 0

CS ์ง€์‹

more

โญWEBโญ

more

CSS Box Model

โœ”ย CSS Box ModelContent : ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ์ƒ์ž๋‚ด์šฉPadding : ์ฝ˜ํ…์ธ  ์ฃผ๋ณ€ ์˜์—ญBorder : ํŒจํŒ…๊ณผ ์ฝ˜ํ…์ธ ๋ฅผ ๋‘˜๋Ÿฌ์‹ธ๋Š” ํ…Œ๋‘๋ฆฌMargin : ํ…Œ๋‘๋ฆฌ ์™ธ๋ถ€ ์˜์—ญย ย โœ”ย Widthย andย Heightย ofย anย Element์ „์ฒด ์š”์†Œ ๋„ˆ๋น„ = ๋„ˆ๋น„ + ์™ผ์ชฝ-์˜ค๋ฅธ์ชฝ ํŒจ๋”ฉ + ์™ผ์ชฝ-์˜ค๋ฅธ์ชฝ ํ…Œ๋‘๋ฆฌ์ „์ฒด ์š”์†Œ ๋„ˆ๋น„ = ๋†’์ด + ์ƒ๋‹จ-ํ•˜๋‹จ ํŒจ + ์ƒ๋‹จ-ํ•˜๋‹จ ํ…Œ๋‘๋ฆฌย ์ฆ‰, margin ๊ฐ’์€ ์‹ค์ œ ์š”์†Œ ๋„ˆ๋น„์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.

CSS Padding

โœ”ย  CSSย Paddingย padding-toppadding-rightpadding-bottompadding-left์†์„ฑ : length, %, inheritpadding: ์ƒ๋‹จ, ์˜ค๋ฅธ์ชฝ, ํ•˜๋‹จ, ์™ผ์ชฝ ;ย  -> 4๊ฐœpadding : ์ƒ๋‹จ. ์˜ค๋ฅธ์ชฝ/์™ผ์ชฝ , ํ•˜๋‹จ; -> 3๊ฐœpadding : ์œ„/์•„๋ž˜, ์˜ค๋ฅธ์ชฝ/์™ผ์ชฝ -> 2๊ฐœpadding : ๋ชจ๋‘ -> 1๊ฐœย ์š”์†Œ์— ์ง€์ •๋œ ๋„ˆ๋น„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ์ถ”๊ฐ€๋œ ํŒจ๋”ฉ์ด ์š”์†Œ์˜ ์ „์ฒด ๋„ˆ๋น„์— ์ถ”๊ฐ€๋จย ํŒจ๋”ฉ ๊ฐ’์— ์ƒ๊ด€ ์—†์ด ๋„ˆ๋น„ ์œ ์ง€ (์‹ค์ œ ๋„ˆ๋น„ ์œ ์ง€ํ•˜๋˜, ๋‚ด๋ถ€ ์ฝ˜ํ…์ธ  ๊ณต๊ฐ„์ด ์ค„์–ด๋“ฌ)ย  :: box-sizing: border-box;

CSS Margins

โœ” ย Marginsmargin-topmarign-rightmargin-bottommargin-leftย margin : ์ƒ๋‹จ, ์˜ค๋ฅธ์ชฝ, ํ•˜๋‹จ, ์™ผ์ชฝ ;ย  -> 4๊ฐœmargin : ์ƒ๋‹จ. ์˜ค๋ฅธ์ชฝ/์™ผ์ชฝ , ํ•˜๋‹จ; -> 3๊ฐœmargin : ์œ„/์•„๋ž˜, ์˜ค๋ฅธ์ชฝ/์™ผ์ชฝ -> 2๊ฐœย margin: auto;ย  -> ๊ฐ€๋กœ ์ค‘์•™์— ๋ฐฐ์น˜ย margin-left: inherit;ย  -> ์ƒ์† , ์—ฌ๋ฐฑ ๊ฐ’์ด ์ƒ์œ„์š”์†Œ์—์„œ ์ƒ์†๋˜๋„๋ก ํ•จย โœ” CSS Margin Collapseย  :: ๋งˆ์ง„ ์ƒ์‡„ย ๋ธ”๋ก๋ ˆ๋ฒจ ์š”์†Œ์ผ ๊ฒฝ์šฐ ์ ์šฉ๋จ.ย ๋งˆ์ง„ ๊ฐ’์ด 0์ด์–ด๋„ ์ ์šฉ์ขŒ์šฐ๋Š” ์ƒ์‡„ X ์ƒํ•˜๋งŒ ์ƒ์‡„ ์ ์šฉ Oย ย ์œ„์•„๋ž˜ margin ๊ฐ’ ๋™์ผํ•˜๊ณ , ๊ฒน์น˜๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒย ๊ฒน์ณ์ง„ ๋งˆ์ง„ ๊ฐ’์„ ๋น„๊ตํ•ด์„œ ํฐ ๊ฐ’์œผ๋กœ ์ƒ์‡„ํ•ด์„œ ๋žœ๋”๋ง ํ•œ๋‹ค.ย ๋†’์ด ์—†๋Š” (๋นˆ์š”์†Œ) ์ƒํƒœ์˜ ๋ธ”๋ก์š”์†Œ์œ„ ..

CSS Layout display

โœ”ย displayย ๋””์Šคํ”Œ๋ ˆ์ด ์†์„ฑ์€ ์›น ํŽ˜์ด์ง€์—์„œ ์š”์†Œ๊ฐ€ ์–ด๋–ป๊ฒŒ ํ‘œ์‹œ๋˜๋Š”์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.๋ชจ๋“  HTML ์š”์†Œ๋Š” ์ž์ฒด์˜ ๊ธฐ๋ณธ ๋””์Šคํ”Œ๋ ˆ์ด ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.์ด ๊ฐ’์€ ์š”์†Œ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.๋Œ€๋ถ€๋ถ„์˜ ์š”์†Œ์˜ ๊ธฐ๋ณธ ๋””์Šคํ”Œ๋ ˆ์ด ๊ฐ’์€ย ๋ธ”๋ก(block)์ด๋‚˜ ์ธ๋ผ์ธ(inline)์ž…๋‹ˆ๋‹ค.ย ย Block-levelย Elements์ƒˆ๋กœ์šด ์ค„์—์„œ ์‹œ์ž‘ํ•˜๊ณ  ์ „์ฒด ๋„ˆ๋น„๋ฅผ ์ฐจ์ง€ํ•œ๋‹ค.ย ย -ย  position ์—ฐ์Šต ~! position ์—ฐ์Šต์ž…๋‹ˆ๋‹ค. โญ1๋ฒˆ โญ2๋ฒˆ โญ3๋ฒˆ โญ4๋ฒˆ โญ5๋ฒˆ ย ย โœ” Theย z-indexย Property์ดย z-index์†์„ฑ์€ ์š”์†Œ์˜ ์Šคํƒ ์ˆœ์„œ(์–ด๋–ค ์š”..

CSS Forms

form ์—ฐ์Šต !! id : password : number : input[type=text] { width: 300px; padding: 12px 20px; margin: 8px 0; box-sizing: border-box; } box-sizing : border-box => ํŒจ๋”ฉ๊ณผ ์ตœ์ข…์ ์œผ๋กœ ํ…Œ๋‘๋ฆฌ๊ฐ€ ์š”์†Œ์˜ ์ „์ฒด ๋„ˆ๋น„์™€ ๋†’์ด์— ํฌํ•จ๋จ input[type=text]:focus{ background-color: blanchedalmond; } outline: none;: ๋ฒ„ํŠผ ์š”์†Œ์— ํฌ์ปค์Šค๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” ํฌ์ปค์Šค ํ…Œ๋‘๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. textarea { width: 300px; height: 150px; padding : 12px 20px; margin : 10px 0; resize: ..

โญ์ž๋ฃŒ๊ตฌ์กฐโญ

more

๐Ÿ“ ์ •๋ ฌ์ด๋ž€? (์ •๋ ฌ ์ข…๋ฅ˜, ์›๋ฆฌ, ๋น„๊ต)

๐Ÿ“ ์ •๋ ฌ(sorting) ์ด๋ž€?ย ์ •๋ ฌ ( sorting)ย  : ํฌ๊ธฐ์ˆœ์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ (ascending order) , ๋‚ด๋ฆผ์ฐจ์ˆœ (descending) ์œผ๋กœ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ(์„œ๋กœ ๋น„๊ต๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค.)ย ๋ ˆ์ฝ”๋“œ (record) : ์ •๋ ฌ ์‹œ์ผœ์•ผํ•  ๋Œ€์ƒ (ํ•™์ƒ)ํ•„๋“œ (field) : ๋‹จ์œ„ (์ด๋ฆ„,ํ•™๋ฒˆ,์ฃผ์†Œ,์—ฐ๋ฝ์ฒ˜)ํ‚ค (Key) : ๋ ˆ์ฝ”๋“œ์™€ ๋ ˆ์ฝ”๋“œ๋ฅผ ์‹๋ณ„ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ํ•„๋“œ (ํ•™๋ฒˆ)ย ๐Ÿ“ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•˜์—ฌย ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ์œจ์„ฑ ํ‰๊ฐ€ ๊ธฐ์ค€ย  : ๋น„๊ต ์—ฐ์‚ฐ ํšŸ์ˆ˜, ์ด๋™ ์—ฐ์‚ฐ ํšŸ์ˆ˜ย ย 1) ๋‹จ์ˆœํ•˜์ง€๋งŒ ๋น„ํšจ์œจ์  : ์‚ฝ์ž… ์ •๋ ฌ, ์„ ํƒ ์ •๋ ฌ, ๋ฒ„๋ธ” ์ •๋ ฌ ๋“ฑ (๋ฐ์ดํ„ฐ๊ฐ€ ์ ์„ ๋•Œ ์‚ฌ์šฉ)2) ๋ณต์žกํ•˜์ง€๋งŒ ํšจ์œจ์  : ํ€ต ์ •๋ ฌ, ํžˆํ”„ ์ •๋ ฌ, ํ•ฉ๋ณ‘ ์ •๋ ฌ, ๊ธฐ์ˆ˜ ์ •๋ ฌ ๋“ฑ (๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์„ ๋•Œ ์‚ฌ์šฉ)ย 1) ๋‚ด๋ถ€ ์ •๋ ฌ :..