관리 메뉴

Welcome! Everything is fine.

[TIL] 220117 λ³Έλ¬Έ

TIL

[TIL] 220117

개발곰발 2022. 1. 17.
728x90

πŸ’» Today I Leaned...

πŸ“Œ μ•ˆλ“œλ‘œμ΄λ“œ μž…λ¬Έ

응닡에 λŒ€ν•œ 흐름

λ‹€ μ΄ν•΄ν•˜μ§„ λͺ»ν–ˆμ–΄λ„ ν˜ΈμΆœν•˜κ³  μ‘λ‹΅ν•˜λŠ” 흐름을 μ•„μ£Ό μ‘°κΈˆμ€ μ•Œμ•„κ°€κ²Œ λ˜μ—ˆλ‹€..μ’€ 더 μžμ„Έν•œ κ°•μ˜λ₯Ό λ“€μ–΄μ•Όν•  λ“― μ‹Άλ‹€.

μ•± 개발 사진 곡유 앱은 μ–΄λ–»κ²Œ λ§Œλ“€κΉŒ?

μΉ΄λ©”λΌλ‘œ 찍은 사진 ν˜Ήμ€ 앨범에 μžˆλŠ” 사진을 μ–΄λ–»κ²Œ κ³΅μœ ν•  수 μžˆμ„μ§€μ— λŒ€ν•΄ μ΄μ•ΌκΈ°ν•˜λ©΄μ„œ μ„œλ²„μ™€ DB에 λŒ€ν•΄ κ°„λž΅νžˆ λ°°μ› λ‹€. AWSλ‚˜ EC2, VM, SDK, S3 λ“±κ³Ό 같은 μƒμ†Œν•œ μš©μ–΄λ“€μ΄ λ§Žμ•„ μ–΄λ €μ› λ‹€. 

κ°„λ‹¨νžˆ μ •λ¦¬ν•˜μžλ©΄ 사진 곡유 앱을 λ§Œλ“€κ³ μž ν•  λ•Œ, 두 가지 방법을 생각할 수 μžˆλ‹€. AWSμ—μ„œ μ œκ³΅ν•˜λŠ” SDKκ°€ μžˆλŠ”λ°, κ·Έ SDKλ₯Ό μ΄μš©ν•˜λ©΄ λ°”λ‘œ S3둜 올릴 수 μžˆλ‹€. λ˜λŠ” 직접 νŒŒμΌμ„ μ‚°νƒν•΄μ„œ μ˜¬λ¦¬λŠ” κΈ°λŠ₯도 μ•ˆλ“œλ‘œμ΄λ“œμ— μžˆλ‹€. μ•ˆλ“œλ‘œμ΄λ“œ μ—…λ‘œλ“œ κΈ°λŠ₯을 μ΄μš©ν•˜κ±°λ‚˜ AWSμ—μ„œ μ œκ³΅ν•˜λŠ” SDKλ₯Ό μ΄μš©ν•˜μ—¬ 사진을 S3에 μ €μž₯에 μ„±κ³΅ν•œλ‹€λ©΄, ν•΄λ‹Ή 앱을 μ‚¬μš©ν•˜κ³  μžˆλŠ” λ‹€λ₯Έ μ‚¬μš©μžλ„ 이 S3에 접속을 ν•΄μ„œ λ³Ό 수 μžˆμ–΄μ•Ό ν•œλ‹€. 그러기 μœ„ν•΄μ„œλŠ” ν•΄λ‹Ή 파일의 μœ„μΉ˜λ“€μ΄ μžˆλŠ” λ¦¬μŠ€νŠΈκ°€ μžˆμ–΄μ•Ό ν•œλ‹€.(S3에 μ €μž₯ν•˜κ²Œ 되면 HTTP ν”„λ‘œν† μ½œμ— μ˜ν•΄μ„œ URL둜 λ‚˜μ˜΄) 이 URL만 μ•Œκ³ μžˆμœΌλ©΄ μ ‘μ†ν•˜μ—¬ 사진을 λ³Ό 수 μžˆλŠ”λ°, 사진 κ³΅μœ μ•±μ΄λΌλ©΄ 이 URL을 λ‹€λ₯Έ μ‚¬μš©μžλ„ μ•Œμ•„μ•Όν•˜λ―€λ‘œ DBκ°€ ν•„μš”ν•˜λ‹€.

μ‚¬μš©μž Aκ°€ S3에 사진을 올리면 μ‚¬μš©μž 정보와 ν•΄λ‹Ή 파일의 URL을 DB에 μ €μž₯ν•œλ‹€. μ–΄λ–€ μ‚¬μš©μžκ°€ μ˜¬λ ΈλŠ”μ§€, 이 μ‚¬μš©μžκ°€ 올린 μ‚¬μ§„μ˜ URL 정보가 무엇인지 등을 μ•Œμ•„μ•Όν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. 이 DBμ—μ„œ 리슀트λ₯Ό μ œκ³΅ν•˜κ³ , μ‚¬μš©μž Bκ°€ 이 λ¦¬μŠ€νŠΈμ—μ„œ URL을 ν΄λ¦­ν–ˆμ„ λ•Œ, S3μ—μ„œ 사진을 λ³΄μ—¬μ£Όκ²Œ λœλ‹€.

등둝 λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ λ¨Όμ € 사진이 S3둜 κ°€κ³ , S3λŠ” URL을 λŒλ €μ€€λ‹€. 받은 URL을 μ‚¬μš©μž 정보와 ν•¨κ»˜ EC2에 λ„˜κ²¨μ€€λ‹€. 그리고 μ„œλ²„κ°€ DB둜 λ‹€μ‹œ λ„˜κ²¨μ£Όλ©΄ 이 DB에 μ‚¬μš©μž 정보(ID)와 URL이 μ €μž₯λœλ‹€. μ„œλ²„λŠ” Java, node.js, python λ“±μœΌλ‘œ λ§Œλ“€ 수 μžˆλ‹€.

 

λ„€νŠΈμ›Œν¬, ν΄λΌμš°λ“œ, DB에 κ΄€ν•œ κ°œλ…μ€ μ€‘μš”ν•œλ§ŒνΌ λ‹€μ‹œ ν•œ 번 정리가 ν•„μš”ν• λ“―μ‹Άλ‹€.

πŸ“Œ μƒν™œμ½”λ”© - DATABASE2 - MySQL

SQL의 UPDATE ꡬ문

CRUD쀑 Update(μˆ˜μ •)은 μ–΄λ–»κ²Œ ν• κΉŒ? sql update mysql κ²€μƒ‰μ–΄λ‘œ 검색해보면 ν•΄λ‹Ή 문법을 찾을 수 μžˆλ‹€. μ•„λž˜μ— 보면 κ·Έ 문법이 λ‚˜μ™€μžˆλ‹€. 제일 첫쀄을 보면 UPDATE λ‹€μŒμ— μˆ˜μ •ν•˜κ³ μ‹Άμ€ ν…Œμ΄λΈ”λͺ…을 μ λŠ”λ‹€λŠ” 것을 μ•Œ 수 μžˆλ‹€.

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET assignment_list
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

value:
    {expr | DEFAULT}

assignment:
    col_name = value

assignment_list:
    assignment [, assignment] ...

μš°μ„  topic ν…Œμ΄λΈ”μ„ 선택해쀀닀.

SET 뒀에 κ³ μΉ˜κ³ μ‹Άμ€ μ»¬λŸΌμ— λ‚΄μš©μ„ λ„£μ–΄μ£Όκ³ , 타이틀도 κ³ μΉœλ‹€. κ·ΈλŸ¬λ‚˜ μ΄κ²ƒλ§Œ 적고 λ°”λ‘œ μ‹€ν–‰ν•˜λ©΄ λͺ¨λ“  컬럼이 'Oracle'둜 λ°”λ€Œκ²Œ λœλ‹€. WHEREμ ˆμ„ 톡해 λˆ„κ΅¬μ—κ²Œ μ—…λ°μ΄νŠΈλ₯Ό ν•  것인지 μ •ν•΄μ€˜μ•Όν•œλ‹€. 이런 WHERE문은 정말 μ€‘μš”ν•˜κΈ° λ•Œλ¬Έμ— κΌ­ λΉ λœ¨λ¦¬μ§€μ•Šλ„λ‘ μ£Όμ˜ν•΄μ•Όν•œλ‹€!

λ‹€μ‹œ SELECT문으둜 λ‹€μ‹œ 보면 μ œλŒ€λ‘œ μˆ˜μ • 된 것을 λ³Ό 수 μžˆλ‹€.

SQL의 DELETE ꡬ문

λ§ˆμ§€λ§‰μœΌλ‘œ CRUD쀑 Delete(μ‚­μ œ)λŠ” μ–΄λ–»κ²Œ ν• κΉŒ? sql delete in mysql κ²€μƒ‰μ–΄λ‘œ 찾아보면 ν•΄λ‹Ή 문법을 찾을 수 μžˆλ‹€. μ°Ύμ•„λ³΄λ‹ˆ DELETE ν‚€μ›Œλ“œ λ‹€μŒμ—λŠ” FROM ν‚€μ›Œλ“œκ°€ κΌ­ λ“€μ–΄κ°€μ•Όν•œλ‹€.

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [[AS] tbl_alias]
    [PARTITION (partition_name [, partition_name] ...)]
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

μœ„μ™€ 같이 κ°„νŽΈν•˜κ²Œ μ‚­μ œν•  수 μžˆλ‹€. κ·ΈλŸ¬λ‚˜ DELETE도 λ§ˆμ°¬κ°€μ§€λ‘œ WHERE문을 μ ˆλŒ€ 빼먹으면 μ•ˆλœλ‹€. 

'TIL' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[TIL] 220119  (0) 2022.01.19
[TIL] 220118  (0) 2022.01.18
[TIL] 220113  (0) 2022.01.13
[TIL] 220112  (0) 2022.01.12
[TIL] 220111  (0) 2022.01.11