ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿฆฅ ์Šคํ”„๋ง

- ์ž๋ฐ”(JAVA)๋ฅผ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ

๐Ÿฆฅ ์Šคํ”„๋ง ํŠน์ง• : IoC์™€ DI

- ๊ฐ์ฒด๋ฅผ ์ง์ ‘์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์Šคํ”„๋ง ์ปจํ…์ŠคํŠธ๊ฐ€ ์ œ์–ด

- IoC ๋Š” ์ œ์–ด์˜ ์—ญ์ „์ด๋ผ๋Š” ๋œป์œผ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ œ์–ด๊ถŒ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ์Šคํ”„๋ง ์ปจํ…์ŠคํŠธ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ

- DI ๋Š” ์˜์กด์„ฑ ์ฃผ์ž…์œผ๋กœ ํด๋ž˜์Šค๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์‹œ์ ์— ๊ฐ์ฒด๋ฅผ ์™ธ๋ถ€์—์„œ ์ƒ์„ฑํ•˜์—ฌ ์ฃผ์ž…์‹œ์ผœ์ฃผ๋Š” ๋ฐฉ์‹

๐Ÿฆฅ Spring์™€ Spring Boot ์ฐจ์ด

- ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ์Šคํ”„๋ง ์‚ฌ์šฉ์„ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•ด์ค„ ์ˆ˜ ์žˆ๊ณ  ๋‚ด์žฅ ํ†ฐ์บฃ์„ ์‚ฌ์šฉ

- ์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๊ธฐ๋ณธ

๐Ÿฆฅ Spring ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์–ด๋…ธํ…Œ์ด์…˜

- @Component : ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒ์„ฑํ•œ ํด๋ž˜์Šค๋ฅผ ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•  ๋•Œ ์‚ฌ์šฉ

- @Controller : ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์ปจํŠธ๋กค๋Ÿฌ์ž„์„ ๋ช…์‹œ

- @Request : Request ํ—ค๋” ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ

- @RequestMapping : URI ๊ฐ’, RequestMapping ์˜ value ๊ฐ’์ด ์ผ์น˜ํ•˜๋ฉด ํ•ด๋‹น ํด๋ž˜์Šค๋‚˜ ๋ฉ”์„œ๋“œ ์‹คํ–‰

- @RequestParam : URL ์— ๋ถ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฉ”์„œ๋“œ์˜ ์ธ์ž์™€ ๋งคํ•‘์‹œ์ผœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์–ด๋…ธํ…Œ์ด์…˜

- @RequestBody : Body ์— ์ „๋‹ฌ๋˜๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋งคํ•‘์‹œํ‚ด

- @ResponseBody : ๋ฉ”์„œ๋“œ์— ๋ฆฌํ„ด๋˜๋Š” ๊ฐ’์ด View๋กœ ์ถœ๋ ฅ๋˜์ง€ ์•Š๊ณ  HTTP Response Body์— ์ง์ ‘ ์“ฐ์ž„

- @RequestHeader : Request์˜ Header ๊ฐ’๋งŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ

- @Bean : ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Bean์œผ๋กœ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ

- @Autowired : Bean์„ ์ฃผ์ž…๋ฐ›๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

- @GetMapping : RequestMapping(Method=RequestMethod.GET)๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•จ

- @PostMapping : RequestMapping(Method=RequestMethod.POST)์™€ ๊ฐ™์€ ์—ญํ• ์„ ํ•จ

- @SpringBootTest : ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค์ž„์„ ๋ช…์‹œ

- @Test : ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์•ˆ์— ํ…Œ์ŠคํŠธ ๋ฉ”์„œ๋“œ์— ๋ถ™์ด๋Š” ์–ด๋…ธํ…Œ์ด์…˜

๐Ÿฆฅ Spring ์—์„œ ๋นˆ ์ฃผ์ž… ๋ฐฉ๋ฒ•

๐ŸŒฟ Autowired 

@Configuration
Class SecurityConfig {
	@Bean
    public PasswordEncoder passwordEncoder() {
    	return BCryptPasswordEncoder();
    }
}

@Controller
Class LoginController {
	@Autowired
    public PasswordEncoder pwEncoder;
}

- Config์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•œ ํ›„ ๋กœ๊ทธ์ธ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ Autowired ๋กœ ์ฃผ์ž…๋ฐ›์•„ ์‚ฌ์šฉ

๐ŸŒฟ ์ƒ์„ฑ์ž ์ฃผ์ž… ๋ฐฉ์‹

@Service
Class LoginService {

	private LoginRepository loginRepo;
    
    @Autowired
    public LoginService(LoginRepository loginRepo) {
    	this.LoginRepository = loginRepo
    }
}

๐ŸŒฟ Setter ์ฃผ์ž… ๋ฐฉ์‹

@Service
Class LoginService {

	private LoginRepository loginRepo;
    @Autowired
    public void setLoginRepository(LoginRepository loginRepo) {
    	this.LoginRepository = loginRepo
    }
}

๐Ÿฆฅ WAS ์™€ Web Server ์ฐจ์ด

๐ŸŒฟ Web Server

- ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•˜๋Š” HTML, CSS ์™€ ๊ฐ™์ด ์ •์  ๋ฆฌ์†Œ์Šค๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์„œ๋ฒ„

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์กฐํšŒ๋‚˜ ๋‹ค์–‘ํ•œ ๋กœ์ง์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๋™์ ์ธ ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„

๐ŸŒฟ WAS

- DB ์กฐํšŒ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ฒ˜๋ฆฌ๋ฅผ ์š”๊ตฌํ•˜๋Š” ๋™์  ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„

- Web Container, Servlet Container์ด๋ผ๊ณ  ํ•œ๋‹ค

๐Ÿฆฅ Ajax

- Javascript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋กœ ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์ง€ ์•Š๊ณ  ์ผ๋ถ€ ํŽ˜์ด์ง€๋งŒ ์ƒˆ๋กœ๊ณ ์นจํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œ

- ๋™๊ธฐ์‹ ๋น„๋™๊ธฐ์‹ ์ „๋ถ€ ๊ฐ€๋Šฅ

๐Ÿฆฅ JQuery

- ํ”„๋ก ํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” Javascript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ Dom Element๋ฅผ ์‰ฝ๊ฒŒ ์กฐ์ž‘ํ•˜๊ฑฐ๋‚˜ ajax ๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค

๐Ÿฆฅ ์„ธ์…˜๊ณผ ์ฟ ํ‚ค

๐ŸŒฟ ์ฟ ํ‚ค

- ์›น ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ PC์— ์ €์žฅํ•˜์˜€๋‹ค๊ฐ€ ํ•„์š”์‹œ ์ฐธ์กฐํ•˜๊ฑฐ๋‚˜ ์žฌ์‚ฌ์šฉ

- ์ €์žฅ๋˜๋Š” ์ •๋ณด : ์ด๋ฆ„, ๊ฐ’, ๋งŒ๋ฃŒ์ผ(์ €์žฅ๊ธฐ๊ฐ„), ์ €์žฅ๊ฒฝ๋กœ

๐ŸŒฟ ์„ธ์…˜

- ์ผ์ •์‹œ๊ฐ„๋ถ€ํ„ฐ ๊ฐ™์€ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” ์ผ๋ จ์˜ ์š”๊ตฌ๋ฅผ ํ•˜๋‚˜์˜ ์ƒํƒœ๋กœ ๋ณด๊ณ  ์ƒํƒœ๋ฅผ ์œ ์ง€์‹œํ‚ค๋Š” ๊ธฐ์ˆ 

- ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•„๋‹Œ ์„œ๋ฒ„์— ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค

๐Ÿฆฅ HTTP์˜ ๋ฉฑ๋“ฑ์„ฑ

- ๋ฉฑ๋“ฑ์„ฑ์ด๋ž€ ์—ฌ๋Ÿฌ๋ฒˆ ์ ์šฉํ•ด๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ

- HTTP ์—์„œ ๋ฉฑ๋“ฑ์„ฑ์€ ๋™์ผํ•œ ์š”์ฒญ์„ ํ•œ๋ฒˆ ๋ณด๋‚ด๋Š” ๊ฒƒ๊ณผ ์—ฌ๋Ÿฌ๋ฒˆ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๊ฐ–๋Š”๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค

- GET/PUT/DELETE๋Š” ๋ฉฑ๋“ฑ์„ฑ์„ ๊ฐ–๋Š” HTTP ๋ฉ”์„œ๋“œ์ด๋‹ค (๊ฐ™์€ ์š”์ฒญ์„ ํ•ด๋„ ์„œ๋ฒ„์— ๋ณ€ํ™”๊ฐ€ ์—†์Œ)

- POST๋Š” ๋ฉฑ๋“ฑ์„ฑ์„ ๊ฐ–์ง€ ์•Š๋Š” HTTP ๋ฉ”์„œ๋“œ์ด๋‹ค (๊ฐ™์€ ์š”์ฒญ์„ ํ•˜๋ฉด ์„œ๋ฒ„์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์„ฑ๋จ)

๐Ÿฆฅ GET ๊ณผ POST ์˜ ์ฐจ์ด

- GET ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๊ณ  POST ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค

- GET์€ ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์„ ์ด์šฉํ•˜๊ณ  POST ๋Š” HTTP BODY์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„ ๋ณด๋‚ธ๋‹ค

- GET์€ ๋ฉฑ๋“ฑ์„ฑ์„ ๊ฐ–๋Š” ๋ฉ”์„œ๋“œ, POST๋Š” ๋ฉฑ๋“ฑ์„ฑ์„ ๊ฐ–์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค

 

'๋ฉด์ ‘์งˆ๋ฌธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Day04] ๋ฆฌ๋ˆ…์Šค  (0) 2022.12.17
[Day04] ํด๋ผ์šฐ๋“œ  (0) 2022.12.16
[Day02] Java  (0) 2022.12.14
[Day02] ๋””์ž์ธ ํŒจํ„ด  (0) 2022.12.14
[Day01] ๋„คํŠธ์›Œํฌ์™€ ์šด์˜์ฒด์ œ  (0) 2022.12.13
๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/07   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ