๊ด€๋ฆฌ ๋ฉ”๋‰ด

Welcome! Everything is fine.

[TIL] 220121 ๋ณธ๋ฌธ

TIL

[TIL] 220121

๊ฐœ๋ฐœ๊ณฐ๋ฐœ 2022. 1. 21.
728x90

๐Ÿ’ป Today I Leaned...

๐Ÿ“Œ ์•„์ดํฐ ์•ฑ ๊ฐœ๋ฐœ(Swift4 & iOS11) ์ž…๋ฌธ 1ํŽธ

๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜

var r = 3.123
let p = 3.1415926535

์œ„์˜ ์ฝ”๋“œ์—์„œ var์€ ๋ณ€์ˆ˜ ํ‚ค์›Œ๋“œ๋กœ, r์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์“ฐ๊ฒ ๋‹ค๊ณ  ์„ ์–ธํ•œ ๊ฒƒ์ด๋‹ค. ์„ ์–ธํ•˜๊ณ  ๋‚˜์„œ ์ฒ˜์Œ์œผ๋กœ ๊ฐ’์„ ๋„ฃ๋Š” ๊ฒƒ์„ ์ดˆ๊ธฐํ™”๋ผ๊ณ  ํ•œ๋‹ค. 3.123์ด๋ผ๋Š” ๊ฐ’์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ , ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์— r์ด๋ผ๋Š” ์ด๋ฆ„์„ ๋ถ™์—ฌ r์„ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. let์€ ์ƒ์ˆ˜ ํ‚ค์›Œ๋“œ๋กœ, p๋ผ๋Š” ์ƒ์ˆ˜๋ฅผ ์“ฐ๊ฒ ๋‹ค๊ณ  ์„ ์–ธํ•œ ๊ฒƒ์ด๋‹ค.

 

โœ” ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜์˜ ๊ณตํ†ต์ ๊ณผ ์ฐจ์ด์ 

  • ๊ณตํ†ต์  : ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜ ๋ชจ๋‘ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ  ์ด๋ฆ„์„ ๋ถ™์—ฌ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • ์ฐจ์ด์  : ์ดˆ๊ธฐํ™” ํ•œ ํ›„์˜ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š๋ƒ/์—†๋Š๋ƒ์˜ ์ฐจ์ด๋‹ค. ๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ๋ฐ”๊ฟ”๋„ ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ์ƒ์ˆ˜๋Š” ์ดˆ๊ธฐํ™” ํ•œ ํ›„์˜ ๊ฐ’์„ ๋ฐ”๊พธ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

โœ”์ฃผ์„

// ์ฃผ์„์€ ์ด๋ ‡๊ฒŒ ์จ์š”. 

/* ์—ฌ๋Ÿฌ์ค„ ์ฃผ์„์€
์ด๋ ‡๊ฒŒ
์“ฐ๊ณ ์š”.
*/

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•ต์‹ฌ ๊ฐœ๋…

func circleArea(r:Double) -> Double {

return r * r * pi

}

circleArea(r: 3.123)
circleArea(r: 5.456)

ํ•จ์ˆ˜๋ฅผ ์“ฐ๋ฉด ์ค‘๋ณต๋œ ์ฝ”๋“œ๋ฅผ ์“ฐ์ง€ ์•Š์•„๋„ ๋˜๊ฒŒ ๋•Œ๋ฌธ์— ๋” ํŽธ๋ฆฌํ•˜๋‹ค.

class Circle {
    var radius = 3.123
    let pi = 3.1415926535
    
    func circleArea(r:Double) -> Double {

		return r * r * pi

	}

}

ํด๋ž˜์Šค๋Š” ๋ณ€์ˆ˜, ์ƒ์ˆ˜, ํ•จ์ˆ˜๋“ค์„ ๋ฌถ์–ด ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“  ๊ฒƒ์ด๋‹ค. ๊ฐ„๋‹จํ•œ ๊ฐœ๋…์ด๋ผ ๊ฐ€๋ณ๊ฒŒ ์ƒ๊ธฐ์‹œํ‚ค๊ณ  ์ง€๋‚˜๊ฐ”๋‹ค.

์ž๋ฃŒํ˜•

var message = "Hello~"

var isLogin = false

var day = 27

var weight = 65.5

๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜์—๋Š” ๋ฌธ์žํ˜•, ๋…ผ๋ฆฌํ˜•, ์ •์ˆ˜ํ˜• ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. option + ํด๋ฆญ์„ ํ•ด๋ณด๋ฉด var message : String์ด๋ผ๊ณ  ์ ํžŒ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ž๋ฃŒํ˜•์„ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ๋‚ด๋ถ€์ ์œผ๋กœ ํƒ€์ž…์„ ์ถ”๋ก ํ•ด์„œ ์ €์žฅ๋œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

var message // ์—๋Ÿฌ

๋งŒ์•ฝ ์œ„ ์ฝ”๋“œ์ฒ˜๋Ÿผ ์“ฐ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ํƒ€์ž…์„ ๋ช…์‹œํ•˜์ง€๋„ ์•Š์•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์ง€ ์•Š์•„ ์ปดํ“จํ„ฐ๊ฐ€ ์ถ”๋ก ํ•  ์ˆ˜๋„ ์—†์–ด์„œ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

var message : String

์ด๋ ‡๊ฒŒ ํƒ€์ž…์„ ๋ช…์‹œํ•ด์ฃผ๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด ์ปดํ“จํ„ฐ๊ฐ€ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋„๋ก  ๋งŒ๋“ค์–ด์ค˜์•ผํ•œ๋‹ค. ์ค‘์š”ํ•œ ์ ์€ Swift ์—์„œ ํ•œ๋ฒˆ ํƒ€์ž…์ด ์ •ํ•ด์ง€๋ฉด ๋‹ค๋ฅธ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ด๋‹ค. ๋˜ํ•œ Floatํ˜•๊ณผ Doubleํ˜•์— ๋Œ€ํ•ด ์ž ๊น ์งš๊ณ  ๋„˜์–ด๊ฐ€์ž๋ฉด, Doubleํ˜•์ด Floatํ˜•์— ๋น„ํ•ด 2๋ฐฐ์˜ ์ ๋ฐ€๋„๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์†Œ์ˆ˜์ ์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” Doubleํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“Œ ์ƒํ™œ์ฝ”๋”ฉ - DATABASE2 - MySQL

MySQL ํด๋ผ์ด์–ธํŠธ

๋งŽ์€ MySQL ํด๋ผ์ด์–ธํŠธ ์ค‘ ํ•˜๋‚˜๋Š” ์ง€๊ธˆ๊นŒ์ง€ ํ•œ MySQL Monitor์ด๋‹ค. MySQL ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๋ฉด ํ•จ๊ป˜ ์„ค์น˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋””์—๋‚˜ ์žˆ์œผ๋ฉฐ, ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐ„๋‹จํžˆ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” GUI๊ฐ€ ์•„๋‹ˆ๋ผ ๋ช…๋ น์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” CLI ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ๋ฐ˜๋ฉด MySQL Workbench๋Š” GUI ๊ธฐ๋ฐ˜์˜ ํ”„๋กœ๊ทธ๋žจ์ธ๋ฐ, ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์ด ๋‹ค๋ฅด๋ฏ€๋กœ ์ž์‹ ์—๊ฒŒ ๋งž๋Š” ๊ฒƒ์„ ์จ์•ผํ•œ๋‹ค.

MySQL Workbench

MySQL ํด๋ผ์ด์–ธํŠธ ์ค‘ ํ•˜๋‚˜์ธ MySQL Workbench๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž! ์šฐ์„  ๊ฒ€์ƒ‰ ์—”์ง„์— 'mysql workbench'๋ผ๊ณ  ์ž…๋ ฅํ•˜๊ณ  ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ•ด์ค€๋‹ค.

* mysql -u root -p -hlocalhost ์—์„œ -h๋Š” host์˜ ์•ฝ์ž์ด๋‹ค. host๋Š” ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฐ๊ฐ์˜ ์ปดํ“จํ„ฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ž˜์„œ MySQL Monitor๋กœ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” MySQL ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋ ค๊ณ  ํ•˜๋ฉด, -h ๋‹ค์Œ์— ๊ทธ ์„œ๋ฒ„์— ํ•ด๋‹นํ•˜๋Š” ์ปดํ“จํ„ฐ์˜ ์ฃผ์†Œ๋ฅผ ์ ์–ด์ค€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ตฌ๊ธ€ ์ง์›์ด๋ผ๋ฉด? -hgoogle.com ํ˜น์€ ํŽ˜์ด์Šค๋ถ ์ง์›์ด๋ผ๋ฉด? -hfacebook.com ๋ผ๊ณ  ์ ์„ ๊ฒƒ์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” MySQL ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ๋Š” ์ปดํ“จํ„ฐ ๊ทธ ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์•ฝ์†๋œ ํŠน์ˆ˜ํ•œ ๋„๋ฉ”์ธ์ด localhost์ด๋‹ค.(์•„์ดํ”ผ ์ฃผ์†Œ๋กœ ํ•˜๋ฉด  127.0.0.1) ์–ด์จŒ๋“  ์ด๊ฒƒ์„ mysql -u root -p๋ผ๊ณ  ์ƒ๋žตํ•˜๋ฉด ๋˜‘๊ฐ™๋‹ค.

MySQL Workbench์„ ๋‹ค ์„ค์น˜ํ•˜๋ฉด ์ด๋Ÿฐ ํ™”๋ฉด์ด๋‹ค. Connection์„ ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ๊ธฐ์ค€์ด ๊ถ๊ธˆํ•ด์„œ ์ฐพ์•„๋ดค๋Š”๋ฐ,  root ๊ณ„์ •์€ MySQL ๊ด€๋ฆฌ์ž ๊ณ„์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ ์ž‘์—… ํ•  ๋•Œ๋Š” ๋ณ„๋„์˜ ๊ณ„์ •์„ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ผ๋‹จ ์‹ค์Šต์„ root ๊ณ„์ •์—์„œ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋˜ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ๋“ค์–ด๊ฐ”๋‹ค.

๋งŒ์•ฝ ๋งจ ์ฒ˜์Œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด MySQL Connection ์˜†์— ์žˆ๋Š” + ํ‘œ์‹œ๋ฅผ ๋ˆ„๋ฅธ๋‹ค. ๊ทธ๋Ÿผ ์ด๋Ÿฐ ์ฐฝ์ด ๋œจ๋Š”๋ฐ, Connection Name๊ณผ User Name์„ ์ž…๋ ฅํ•œ๋‹ค. Pasword๋ฅผ ์ €์žฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Store in Vault ...์„ ๋ˆ„๋ฅด๊ณ  ์ €์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Hostname์˜ 127.0.0.1์€  MySQL Workbench๊ฐ€ ์„ค์น˜๋œ ์ปดํ“จํ„ฐ์˜ MySQL ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค. ๋งŒ์•ฝ 127.0.0.1์ด ์•„๋‹ˆ๋ผ localhost๋กœ ๋˜์–ด์žˆ๋‹ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, IP์ฃผ์†Œ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ์ธก ํ•˜๋‹จ์˜ Test Connection์„ ๋ˆŒ๋Ÿฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ์ฐฝ์ด ๋œจ๋Š” ์ •์ƒ์ ์œผ๋กœ  ํ…Œ์ŠคํŠธ ๋œ ๊ฒƒ์ด๋‹ค. OK๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋!

์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋”๋ธ” ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์Šคํ‚ค๋งˆ๋กœ ์ „ํ™˜๋œ๋‹ค. ์œ„ ํ™”๋ฉด์€ opentutorials๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ด์„œ ์‹คํ–‰์ด ๋œ ๋ชจ์Šต์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ ๊ณ  ๋ฒˆ๊ฐœ ๋ชจ์–‘์„ ํด๋ฆญํ•˜๋ฉด ์‹คํ–‰๋œ๋‹ค.

๋งŒ์•ฝ ์ƒˆ๋กœ์šด ์Šคํ‚ค๋งˆ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด ์œ„์˜ ์›ํ†ต ๋ชจ์–‘์˜ Create a new schema in the connected sever๋ฅผ ํด๋ฆญํ•œ ํ›„ Schema Name์„ ์ž…๋ ฅํ•˜๊ณ  Apply๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ์ž‘์—…์— ํ•ด๋‹นํ•˜๋Š” SQL๋ฌธ์ด ๋ณด์ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋˜ Apply๋ฅผ ํ•˜๋ฉด ๊ทธ SQL๋ฌธ์ด ์‹คํ–‰๋œ๋‹ค.

์ƒˆ๋กœ์šด ํ‘œ(ํ…Œ์ด๋ธ”)๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด ๊ทธ ์˜†์— ์žˆ๋Š” Createa new table in the active schema in the connected sever๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋งŒ๋“ ๋‹ค. ํ˜„์žฌ ํ™œ์„ฑํ™” ๋˜์–ด์žˆ๋Š” ์Šคํ‚ค๋งˆ์— ๋งŒ๋“ค์–ด์ง„๋‹ค. ์ด ์™ธ์—๋„ ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์ด ์žˆ์ง€๋งŒ ๋‹ค์Œ์— ๋ฐฐ์šฐ๊ธฐ๋กœ ํ•œ๋‹ค. ์ž์‹ ์—๊ฒŒ ๋งž๋Š” client๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. 

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL] 220125  (0) 2022.01.25
[TIL] 220122  (0) 2022.01.22
[TIL] 220119  (0) 2022.01.19
[TIL] 220118  (0) 2022.01.18
[TIL] 220117  (0) 2022.01.17