๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

ยท OS/Linux
์„œ๋ฒ„์— nginx ์„ค์น˜dnf install nginx certbot, nginx ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜dnf install certbot python3-certbot-nginx ๋„๋ฉ”์ธ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰certbot certonly --nginx -d ๋ฐœ๊ธ‰ํ•œ ๋„๋ฉ”์ธ  ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ํ™•์ธ cd /etc/letsencrypt/live/ nginx.conf ์ˆ˜์ •vi nginx.conf nginx.conf  ๋ฌธ๋ฒ• ํ™•์ธnginx -t nginx ์—๋Ÿฌ ๋กœ๊ทธ ํ™•์ธsystemctl status nginx.service nginx ์‹œ์ž‘ ๋ฐ ์ƒํƒœ ํ™•์ธsystemctl start nginxsystemctl status nginx success๋กœ ๋œจ๋ฉด ์„ฑ๊ณตํ•œ๊ฑฐ์ž„
PL/SQL ?Procedural Language/Structured Query Language์˜ ์•ฝ์ž๋กœ, Oracle Database์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ ˆ์ฐจ์  ์–ธ์–ด์ด๋‹ค.PL/SQL์€ SQL ๋ฌธ์žฅ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค.  PL/SQL์˜ ํŠน์ง•์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ: SQL์ด ์ฃผ๋กœ ์„ ์–ธ์  ์–ธ์–ด๋ผ๋ฉด, PL/SQL์€ ์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ˆœ์ฐจ์  ๋…ผ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜, ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ ๋“ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋ธ”๋ก ๊ตฌ์กฐ: PL/SQL์€ ๋ธ”๋ก(block) ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ธ”๋ก์€ ์ต๋ช… ๋ธ”๋ก ๋˜๋Š” ์ €์žฅ ํ”„๋กœ์‹œ์ €์ฒ˜๋Ÿผ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.SQL๊ณผ์˜ ํ†ตํ•ฉ: PL/SQL์€ ๊ธฐ๋ณธ์ ์œผ๋กœ SQL๊ณผ ํ†ตํ•ฉ๋˜์–ด ์žˆ์–ด, SQL ๋ฌธ์„ ํฌํ•จํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘..
1. https://๋„๋ฉ”์ธ์ฃผ์†Œ ์น˜๋ฉด http://ip์ฃผ์†Œ๋กœ ์ด๋™๋˜๋Š” ๋ฌธ์ œ ๋•Œ๋ฌธ์— ๊ณ„์† ์˜ค๋ฅ˜๋‚จ-->  mixed content ์˜ค๋ฅ˜, https ์—์„œ http๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ธ๋ฐ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ๊ณผ ssl ์ธ์ฆ์„œ ์ ์šฉ๊นŒ์ง€ ๋‹ค ํ•ด์คฌ๊ณ  ํ”„๋ก์‹œ ์„ค์ •๊นŒ์ง€ ํ–ˆ๋Š”๋ฐ ๋” ์ด์ƒ ๋ญ˜ ์ˆ˜์ •ํ•ด์•ผ ๋  ์ง€ ๊ฐ๋„ ์•ˆ ์˜ด๋ฐฑ์—”๋“œ์—์„œ๋Š” ์ž˜๋ชป๋œ ๋ถ€๋ถ„์ด ์—†์—ˆ๊ณ  ํ”„๋ก ํŠธ์—์„œ ๋ญ˜ ๊ณ ์ณค๋Š” ์ง€ ๊ฒฐ๊ตญ์—” ํ•ด๊ฒฐ์ด ๋จ--> https://๋„๋ฉ”์ธ์ฃผ์†Œ/api ๋กœ ์š”์ฒญ๋ณด๋‚ด๋ฉด ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋กœ ์ž˜ ๋„˜์–ด๊ฐ 2. ๊ทธ๋žฌ๋”๋‹ˆ๋งŒ ์ด์ œ cors์—๋Ÿฌ ๋ฐœ์ƒ--> spring security ์ฝ”๋“œ์—์„œ๋„ cors ์„ค์ • ๋ถ„๋ช… ๋‹ค ํ•ด์คฌ๋Š”๋ฐ ์˜ค๋ฅ˜๋‚จ.. --> ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ nginx ์—์„œ๋„ ์„ค์ •์„ ํ•ด์ค˜์•ผ ๋์Œ--> n์‹œ๊ฐ„๋™์•ˆ ์‚ฝ์งˆํ•˜๋ฉด์„œ confํŒŒ์ผ ์ˆ˜์ •ํ•˜๊ณ  ์žฌ์‹คํ–‰ํ•˜๊ณ  ๋ฌดํ•œ๋ฐ˜๋ณต ํ–ˆ๋Š”..
location /api/ { if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' $allowed_origin always; add_header 'Access-Control-Allow-Methods' 'GET, POST, DELETE, PATCH, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization'; add_header 'Access-Control-Allow-Credentials' 'true'; return 204; } ..
ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์˜ ์•„์›ƒ๋ฐ”์šด๋“œ 443 ํฌํŠธ๊ฐ€ ์•ˆ ์—ด๋ ค์žˆ์—ˆ์Œ ์—ด์–ด์ฃผ๋‹ˆ๊นŒ ๋œ๋‹ค
> Task :testApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1786 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:276 Caused by: org.hi..
Spring Security ์™€ jwt๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ์„ ํ•ด์„œ token ๋ฐ˜ํ™˜ํ•ด์ค„ ๋•Œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜ ECDSA signing keys must be PrivateKey instances return Jwts.builder() .setSubject(authentication.getName()) .claim(AUTHORITIES_KEY, authorities) .signWith(key, SignatureAlgorithm.ES512) .setExpiration(validity) .compact(); ์—ฌ๊ธฐ์„œ .signWith(key, SignatureAlgorithm.ES512) ์ด ๋ถ€๋ถ„์„ `SignatureAlgorithm.ES512` ์—์„œ `SignatureAlgorithm.HS512` ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋จ
Entity1 ์„ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•ด์„œ Entity2๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š”๋ฐ entityํด๋ž˜์Šค ์ž์ฒด์— ์ง์ ‘ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ํ•„๋“œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ณต์‚ฌ๋ฅผ ํ•ด์ฃผ๋ ค๊ณ  ํ•˜๋‹ค๊ฐ€ ๋” ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด ์žˆ๋Š” ์ง€ ์ฐพ์•„๋ณด์•˜๋‹ค ๊ทธ๋ž˜์„œ ๋ฐœ๊ฒฌํ•œ.. BeanUtils ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ java ๊ฐ์ฒด ์‚ฌ์ด์— ํ•„๋“œ๊ฐ’์„ ๋ณต์‚ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Entity entity1 = entityRepository.findById(id).orElseThrow(NoSuchElementException::new); Entity entity2 = new Entity(); BeanUtils.copyProperties(entity1, entity2); entity2.createCopyEntity(seqNo) entityRepository.save(entity2); B..
sebarii
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)