header-img
Info :
BACKEND/곡뢀 9
SQL :: 쀑볡 제거 (Group by, Distinct)
2024.04.22
였라클(Oracle)μ—μ„œ 데이터λ₯Ό μ‘°νšŒν•  λ•Œ, 쀑볡 μ œκ±°ν•˜λŠ” λ°©λ²•μœΌλ‘œλŠ”1. distinct λ₯Ό κ±°λŠ” 방법 κ³Ό 2. group by μ ˆμ„ μ‚¬μš©ν•˜λŠ” 방법이 μžˆλ‹€. Group by- Group by λŠ” 데이터듀을 μ›ν•˜λŠ” 그룹으둜 λ‚˜λˆŒ 수 있음.- λ‚˜λˆ„κ³ μž ν•˜λŠ” 그룹의 컬럼λͺ…을 SELECT절과 GROUP BY절 뒀에 μΆ”κ°€ν•˜λ©΄ 됨.- μ§‘κ³„ν•¨μˆ˜μ™€ ν•¨κ»˜ μ‚¬μš©ν•˜λŠ” μƒμˆ˜λŠ” GROUP BYμ ˆμ— μΆ”κ°€ν•˜μ§€ μ•Šμ•„λ„ 됨.SELECT deptno λΆ€μ„œλ²ˆν˜Έ, COUNT(*) μ‚¬μ›μˆ˜ FROM emp GROUP BY deptno ORDER BY COUNT(*) DESC; Distinct - μ€‘λ³΅λœ 행을 μ œκ±°ν•˜κ³  데이터λ₯Ό μΆ”μΆœν•˜κΈ° μœ„ν•œ μš©λ„λ‘œ μ‚¬μš©.SELECT distinct deptno λΆ€μ„œλ²ˆν˜Έ, COUN..
SQL :: ANSI JOIN κ³Ό Oracle JOIN 1
2024.04.19
ν‰μ†Œ mssql 밖에 μ ‘ν•  일이 μ—†μ–΄μ„œ 였라클 문법은 μƒμ†Œν•œλ°...쑰인을 κ±Έ λ•Œ (+) 둜 ν‘œκΈ°ν•˜λŠ” κ²½μš°κ°€ μžˆμ—ˆλ‹€.이게 λ­”κ°€ ν•˜κ³  μ°Ύμ•„λ³΄λ‹ˆ μš°λ¦¬κ°€ 기쑴에 μ‚¬μš©ν•˜λŠ” outer join, inner join, left join λ“± μ§€μ •ν•˜μ—¬ μ‚¬μš©ν•˜λŠ” 것은 ANSI JOIN 이라고 ν•˜κ³ (+)λ₯Ό μ‚¬μš©ν•˜μ—¬ 쑰인 μ’…λ₯˜λ₯Ό μ§€μ •ν•˜λŠ” 것은 Oracle JOIN 이라고 ν•œλ‹¨λ‹€.. λ“€μ–΄κ°€κΈ°μ— μ•žμ„œ SQL JOIN의 μ’…λ₯˜λΆ€ν„° μ•Œμ•„λ³΄μž. JOIN 의 μ’…λ₯˜* INNER JOIN* LEFT OUTER JOIN* RIGHT OUTER JOIN* CROSS JOIN* FULL OUTER JOIN μ΄λ ‡κ²Œ μžˆλŠ”λ° 보톡 많이 μ‚¬μš©ν•˜λŠ” 건INNER JOIN κ³Ό LEFT/RIGHT OUTER JOIN 정도가 λ˜μ‹œκ² λ‹€..
list_img
SQL :: μ˜΅ν‹°λ§ˆμ΄μ € 쑰인(Optimizer Join)
2023.09.13
Nested Loop 쑰인 - ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”μ—μ„œ 데이터λ₯Ό λ¨Όμ € μ°Ύκ³ , κ·Έ λ‹€μŒ ν…Œμ΄λΈ”μ€ μ‘°μΈν•˜λŠ” 방식 - λ¨Όμ € 쑰회 λ˜λŠ” ν…Œμ΄λΈ”μ„ Outer Table 이라고 ν•˜κ³ , κ·Έ λ‹€μŒ μ‘°νšŒλ˜λŠ” ν…Œμ΄λΈ”μ„ Inner Table. μ½”λ”© ν˜•νƒœλ‘œ μ„€μ •ν•΄λ³΄μžλ©΄... for(i=0; i
list_img
SQL :: λ°μ΄ν„°λ² μ΄μŠ€ μ˜΅ν‹°λ§ˆμ΄μ €(Optimizer)
2023.09.13
Database Optimizer λž€? SQL을 κ°€μž₯ λΉ λ₯΄κ³  효율적으둜 μˆ˜ν–‰ν•  졜적의 처리 경둜λ₯Ό μƒμ„±ν•΄μ£ΌλŠ” DBMS λ‚΄λΆ€μ˜ 핡심 엔진 μ˜΅ν‹°λ§ˆμ΄μ €μ˜ SQL μ΅œμ ν™” κ³Όμ • 1. μ‚¬μš©μžκ°€ λ˜μ§„ 쿼리 μˆ˜ν–‰μ„ μœ„ν•˜μ—¬, 후보ꡰ이 될 λ§Œν•œ μ‹€ν–‰κ³„νšμ„ μ°ΎλŠ”λ‹€. 2. 데이터 λ”•μ…”λ„ˆλ¦¬(Data Dictionary)에 미리 μˆ˜μ§‘ν•΄ 놓은 였브젝트 톡계 및 μ‹œμŠ€ν…œ 톡계 정보λ₯Ό μ΄μš©ν•΄ 각 μ‹€ν–‰ κ³„νšμ˜ μ˜ˆμƒ λΉ„μš©μ„ μ‚°μ •ν•œλ‹€. 3. 각 μ‹€ν–‰κ³„νšμ„ λΉ„κ΅ν•˜μ—¬ μ΅œμ € λΉ„μš©μ„ κ°–λŠ” ν•˜λ‚˜λ₯Ό μ„ νƒν•œλ‹€. μ˜΅ν‹°λ§ˆμ΄μ €μ˜ ν•„μš”μ„± - μž‘μ„±ν•œ SQL문을 μ–΄λ–€ μ‹μœΌλ‘œ μ‹€ν–‰ν•˜λŠλƒμ— 따라 μ„±λŠ₯이 달라진닀. - μ˜΅ν‹°λ§ˆμ΄μ €κ°€ λΉ„νš¨μœ¨μ μœΌλ‘œ μ‹€ν–‰ κ³„νšμ„ μˆ˜λ¦½ν•˜λ©΄, SQL κ°œλ°œμžλŠ” SQL을 κ°œμ„ ν•΄μ•Ό ν•œλ‹€. - μ˜΅ν‹°λ§ˆμ΄μ €μ—κ²Œ μ‹€ν–‰ κ³„νšμ„ λ³€κ²½ν•˜λ„λ‘ μš”μ²­ν•  수 μžˆλŠ”λ° μ΄λ•Œ..
list_img
WAS와 Tomcat vs. Jetty ?
2023.08.21
Spring μ—μ„œ μ‚¬μš©λ˜λŠ” WAS(Web Application Server)의 μ’…λ₯˜μΈ Tomcat κ³Ό Jetty. 각각이 무엇인지 그리고 차이점은 μ–΄λ–€ 것이 μžˆλŠ”μ§€ μ•Œμ•„λ³΄λ„λ‘ ν•˜μž. WAS(Web Application Server) ? - μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό μ„œλ²„ ν™˜κ²½μ„ λ§Œλ“€μ–΄μ„œ λ™μž‘μ‹œν‚€λŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ ˆμž„μ›€,. - μΈν„°λ„·μƒμ—μ„œ HTTPλ₯Ό 톡해 μ‚¬μš©μž μ»΄ν“¨ν„°λ‚˜ μž₯μΉ˜μ— μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μˆ˜ν–‰ν•΄μ£ΌλŠ” 미듀웨어(μ†Œν”„νŠΈμ›¨μ–΄ 엔진) - 동적 μ„œλ²„ μ½˜ν…μΈ λ₯Ό μˆ˜ν–‰ν•˜λ©°, 주둜 DB μ„œλ²„μ™€ 같이 μˆ˜ν–‰λ¨. - Java Web Application 을 μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ μ„œλ²„μ— ν•„μš”ν•œ κΈ°λŠ₯듀이 μžˆλŠ”λ°, 이런 것듀을 μ œκ³΅ν•˜λŠ” 것이 WAS. WAS(Web Application Server) κ°€ ν•˜λŠ” 일 1. servlet ..
list_img
ODS λž€ 무엇인가?
2023.08.03
ODS(Operation DataStore) λž€ 무엇인가? 운영 데이터λ₯Ό μ €μž₯ν•˜λŠ” κ³³. (μš΄μ˜κ³„λŠ” μ•„λ‹˜) μš΄μ˜κ³„μ— μ‘΄μž¬ν•˜λŠ” 데이터가 μ•„λ‹ˆλΌ DW(Data Warehouse)λ₯Ό μœ„ν•΄ 운영 데이터λ₯Ό μ‹œκ³„μ—΄ 데이터 λ“±μœΌλ‘œ 가곡 λ³€ν™˜ν•˜μ—¬ μΆ”μΆœ/적재 ν•΄ 놓은 λ³„λ„μ˜ μ €μž₯ 곡간 즉, DWκ°€ λ§ˆμŒλŒ€λ‘œ ν™œμš©ν•  수 μžˆλŠ” μš΄μ˜κ³„ 데이터 DWμ—μ„œ ODSκ°€ ν•„μš”ν•œ 이유? 1. DWλ₯Ό μœ„ν•œ 데이터λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄ λ§Žμ€ 가곡이 ν•„μš”ν•˜λ‹€. μ΄λŸ¬ν•œ 가곡을 운영이 되고 μžˆλŠ” μ‹œμŠ€ν…œμ—μ„œ λ°”λ‘œ μˆ˜ν–‰ν•˜λ©΄, μš΄μ˜μ‹œμŠ€ν…œμ— κ³ΌλΆ€ν•˜λ₯Ό λ°œμƒμ‹œμΌœμ„œ μ„œλΉ„μŠ€λ₯Ό μ œλŒ€λ‘œ ν•  수 μ—†λŠ” μ‚¬νƒœκ°€ 일어날 μˆ˜λ„ μžˆλ‹€. 2. μš΄μ˜κ³„λŠ” 이λ ₯ λ°μ΄ν„°λ³΄λ‹€λŠ” μ΅œμ’… 데이터 ν˜•μƒμœΌλ‘œ 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ” κ²½μš°κ°€ λ§Žλ‹€. κ·ΈλŸ¬λ‚˜ DWμ—μ„œλŠ” μ‹œκ³„μ—΄ 데이터가 ν•„μš”ν•˜λ‹€. κ·Έλž˜μ„œ μš΄μ˜κ³„μ—μ„œ O..
list_img
포슀트맨(postman) μ„€μΉ˜ 방법
2023.05.22
0. 포슀트맨 Postman μ΄λž€? http(https 포함) μš”μ²­μ„ 보내고 응닡을 λ³΄μ—¬μ£ΌλŠ” μ„œλΉ„μŠ€λ‘œ API κ°œλ°œμ„ 보닀 λΉ λ₯΄κ³  μ‰½κ²Œ κ΅¬ν˜„ν•  수 μžˆλ„λ‘ 도와주며, 개발된 APIλ₯Ό ν…ŒμŠ€νŠΈν•˜μ—¬ λ¬Έμ„œν™” λ˜λŠ” κ³΅μœ ν•  수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” ν”Œλž«νΌ. - λ³€μˆ˜ 및 ν™˜κ²½, request μ„€λͺ…, ν…ŒμŠ€νŠΈ 및 사전 μš”μ²­μ— ν•„μš”ν•œ 슀크립트 μž‘μ„± λ“± ν˜„μž¬ μ›Œν¬ ν”Œλ‘œμš°λ₯Ό 더 효율적으둜 λ§Œλ“€ 수 μžˆλ„λ‘ κ³ μ•ˆλ¨. 1. 포슀트맨 Postman 의 μž₯점 URL을 ν†΅ν•΄μ„œ ν•˜λŠ” TESTμ—λŠ” ν•œκ³„κ°€ 있음 : μ‹€μ œλ‘œ κ°œλ°œν•˜λ©° 진행할 경우, μž‘μ—…μ΄ λ„ˆλ¬΄ κΈΈμ–΄μ§€κ²Œ 되며, Authorization μ΄λ‚˜ Header, Bodyλ₯Ό μˆ˜μ •ν•˜λŠ” κ²ƒμ—λŠ” λ”λ”μš± μ œν•œμ΄ μƒκΈ°κ²Œ λœλ‹€. ν•˜μ§€λ§Œ POSTMAN 을 μ‚¬μš©ν•˜κ²Œ 되면, 갖좰진 μΈν„°νŽ˜μ΄μŠ€ λ‚΄μ—μ„œ μ‚¬μš©λ§Œ ν•˜λ©΄ ..
list_img
What is MQTT, MQTT Protocol ?
2023.04.15
MQTT 곡식 둜고 MQTTλž€? MQTT(Message Queueing Telemetry Transport) 2016λ…„ ꡭ제 ν‘œμ€€ν™” 된 (ISO ν‘œμ€€ ISO/IEC PRF 20922) λ°œν–‰-ꡬ독(Publish-Subscribe) 기반의 λ©”μ‹œμ§€ 솑·μˆ˜μ‹  ν”„λ‘œν† μ½œ μž‘μ€ μ½”λ“œ 곡간이 ν•„μš”ν•˜κ±°λ‚˜ λ„€νŠΈμ›Œν¬ λŒ€μ—­ν­μ΄ μ œν•œλ˜λŠ” 원격 톡신을 μœ„ν•˜μ—¬ λ§Œλ“€μ–΄μ§„ ν”„λ‘œν† μ½œ 즉, IoT와 같은 μ œν•œ 된 ν˜Ήμ€ λŒ€κ·œλͺ¨ νŠΈλž˜ν”½ 전솑을 μœ„ν•΄ λ§Œλ“€μ–΄μ§„ ν”„λ‘œν† μ½œ TCP/IP ν”„λ‘œν† μ½œ μœ„μ—μ„œ λ™μž‘ν•˜μ§€λ§Œ λ™μ‹œμ— ꡉμž₯히 κ°€λ²Όμš°λ©°, λ§Žμ€ 톡신 μ œμ•½λ“€μ„ ν•΄κ²°ν•΄μ€Œ 단, 메세지가 κ°€λ²Όμš΄ 만큼 메세지 μœ ν˜•μ΄λ‚˜ QoS(μ„œλΉ„μŠ€ ν’ˆμ§ˆ)μ—λŠ” μ œμ•½μ΄ 쑴재 MQTT νŠΉμ§• 1. 연결지ν–₯적(Connection Oriented) 연결이 λŠμ–΄μ§€λ©΄ μž¬μ ‘μ† κ°€λŠ₯ Live ..
list_img
[HTTP/ HTTPS] 차이와 HTTPS둜 λ³€ν™˜ν•˜λŠ” 방법 (feat.React)
2023.04.12
λ‚˜λŠ” λ‘κ°œμ˜ 차이λ₯Ό λ³΄μ•ˆμ΄λΌκ³  μ•Œκ³  μžˆλŠ”λ°.. λ‚΄κ°€ λ†“μΉ˜κ³  κ°€λŠ” 뢀뢄이 μžˆμ„μˆ˜λ„ μžˆμœΌλ‹ˆ λ‹€μ‹œ μ•Œμ•„λ³΄λ„λ‘ ν•˜μž λ ›μΈ κ³  HTTP λž€? ν•˜μ΄νΌ ν…μŠ€νŠΈ 전솑 ν”„λ‘œν† μ½œ(Hypertext Transfer Protocol)의 μ•½μž μ„œλ‘œ λ‹€λ₯Έ μ‹œμŠ€ν…œλ“€ μ‚¬μ΄μ—μ„œ 톡신을 μ£Όκ³ λ°›κ²Œ ν•΄μ£ΌλŠ” κ°€μž₯ 기초적인 ν”„λ‘œν† μ½œ 인터넷 초기의 λͺ¨λ“  μ›Ήμ‚¬μ΄νŠΈμ—μ„œ 기본적으둜 μ‚¬μš©λ˜μ—ˆλ˜ ν”„λ‘œν† μ½œμ΄λ©°.. μ„œλ²„μ—μ„œ λΈŒλΌμš°μ €λ‘œ 데이터λ₯Ό 전솑해 μ£ΌλŠ” μš©λ„λ‘œ 제일 많이 μ‚¬μš©λœλ‹€κ³  ν•œλ‹€. HTTPS λž€? ν•˜μ΄νΌ ν…μŠ€νŠΈ 전솑 ν”„λ‘œν† μ½œ λ³΄μ•ˆ(Hypertext Transfer Protocol Secure)의 μ•½μž 말 κ·ΈλŒ€λ‘œ λ³΄μ•ˆμ„±μ΄ μΆ”κ°€ λ˜μ—ˆλ‹€λŠ” 의미. 일반 HTTP ν”„λ‘œν† μ½œμ˜ λ¬Έμ œλŠ” " μ„œλ²„μ—μ„œλΆ€ν„° λΈŒλΌμš°μ €λ‘œ μ „μ†‘λ˜λŠ” 정보가 μ•”ν˜Έν™”λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것 " = 데이..