๐Ÿ“š Programming

    [Swift] ์ œ์–ด๋ฌธ (์กฐ๊ฑด๋ฌธ / ๋ฐ˜๋ณต๋ฌธ)

    [Swift] ์ œ์–ด๋ฌธ (์กฐ๊ฑด๋ฌธ / ๋ฐ˜๋ณต๋ฌธ)

    ์กฐ๊ฑด๋ฌธ if-else ๋‹ค๋ฅธ if๋ฌธ๊ณผ ํ˜•์‹์€ ๊ฐ™๋‹ค. var num = 0 if num == 0 { //code } else if num == 10 { //code } else{ //code } ๋‹ค๋ฅธ์ ์€ ์กฐ๊ฑด์ด ๋ฌด์กฐ๊ฑด Bool type์ด์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์ˆซ์ž 0์€ false์ด๊ณ , ๋‚˜๋จธ์ง€๋Š” true ๋ผ๋Š” ๋‹ค๋ฅธ ์–ธ์–ด์˜ ํŠน์„ฑ์„ ์ง€๋‹ˆ์ง€ ์•Š๋Š”๋‹ค. // error code var num = 0 if num { //code } switch ๋‹ค๋ฅธ ์–ธ์–ด์˜ switch์™€๋Š” ๋‹ฌ๋ฆฌ break๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ๋จ case์—์„œ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ๋ฒ”์œ„๊ฐ€ ์žˆ๋Š” ํ•œ default ๋ถ€๋ถ„์€ ๊ผญ ์จ์ฃผ๊ธฐ var num = 10 switch num { case 10: print("ten") default: print("not ten") } ..

    [Swift] function / ํ•จ์ˆ˜

    [Swift] function / ํ•จ์ˆ˜

    1. ํ•จ์ˆ˜์„ ์–ธ ๊ธฐ๋ณธ func ํ•จ์ˆ˜์ด๋ฆ„ (๋ณ€์ˆ˜ : type, ๋ณ€์ˆ˜ : type) -> return_type { //code return value } //ex (๋”ํ•˜๊ธฐ ํ•จ์ˆ˜) func add (a : Int, b : Int ) -> Int { return a+b } return โŒ func name(a: Int, b: Int) -> Void { //code } func name(a: Int, b: Int) { //code } ๋งค๊ฐœ๋ณ€์ˆ˜ โŒ func name() -> return_type { //code return } 2. ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ธฐ๋ณธ๊ฐ’ ๐Ÿ“Œ ๋ณ€์ˆ˜ : type = ๊ธฐ๋ณธ๊ฐ’ func add(a : Int, b: Int = 10) -> Int { // b๊ธฐ๋ณธ๊ฐ’ = 10 return (a+b) } ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๋ฉด..

    [Swift] collection type / ์ปฌ๋ ‰์…˜ ํƒ€์ž…

    [Swift] collection type / ์ปฌ๋ ‰์…˜ ํƒ€์ž…

    1. Array ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ปฌ๋ ‰์…˜ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ• var intArray : Array = Array() var intArray : Array = [] var intArray : [Int] = Array() var intArray : [Int] = [] var intArray = [Int]() ํ™œ์šฉ var intArray : Array = [] intArray.append(1) // 1์„ ์‚ฝ์ž…ํ•œ๋‹ค. intArray.contains(1) // 1์ด ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ => true intArray.remove(at:0) // 0๋ฒˆ์งธ index ๊ฐ’ ์ œ๊ฑฐ intArray.removeLast() intArray.removeAll() intArray.count // ๊ธธ์ด ๋ฐ˜ํ™˜ intArray[0] // 0๋ฒˆ์งธ ind..

    [๋จธ์‹ ๋Ÿฌ๋‹] train_test_split (๋ฐ์ดํ„ฐ ๋‚˜๋ˆ„๊ธฐ)

    [๋จธ์‹ ๋Ÿฌ๋‹] train_test_split (๋ฐ์ดํ„ฐ ๋‚˜๋ˆ„๊ธฐ)

    ๋จธ์‹ ๋Ÿฌ๋‹ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ scikit-learn ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ทธ ์•ˆ์—์„œ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•ด์ฃผ๋Š” ๋ชจ๋“ˆ์ธ train_test_split์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. import from sklearn.model_selection import train_test_split option x_train, x_test, y_train, y_test = train_test_split(x_data, y_data) ์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ๋žœ๋ค์œผ๋กœ train data์™€ test data๋ฅผ ๋ถ„๋ฆฌํ•ด์ค€๋‹ค. train_test_split(x,y, test_size = 0.3, train_size = 0.7) ์œ„์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ์˜ ๋น„์œจ์„ ์กฐ์ ˆํ•  ์ˆ˜๋„ ์žˆ๋‹ค. (test 30% / train 70%) train_test..

    [๋จธ์‹ ๋Ÿฌ๋‹] scikit-learn (์‚ฌ์ดํ‚ท๋Ÿฐ)

    [๋จธ์‹ ๋Ÿฌ๋‹] scikit-learn (์‚ฌ์ดํ‚ท๋Ÿฐ)

    scikit-learn (์‚ฌ์ดํ‚ท๋Ÿฐ) ์ด๋ž€ ํŒŒ์ด์ฌ์˜ ๋Œ€ํ‘œ์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ๋ฐฉ๋ฒ• XOR ํ•™์Šตํ•˜๊ธฐ from sklearn import svm, metrics xor_data = [ [0,0], [0,1], [1,0], [1,1] ] xor_label = [0,1,1,0] clf = svm.SVC() clf.fit(xor_data, xor_label) pre = clf.predict(xor_data) ac_score = metrics.accuracy_score(xor_label, pre) print(int((ac_score)*100),"%") ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ svm ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ชจ๋“ˆ์„ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์™€ ๋ ˆ์ด๋ธ”์„ ๋„ฃ์„ ๋•Œ fit์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. predict๋Š” ์ฃผ์–ด์ง„ data๋กœ..

    [Swift] Optional๊ณผ unwrapping

    [Swift] Optional๊ณผ unwrapping

    ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค ๋งˆ๋‹ค ํŠน์ƒ‰์ด ํ•˜๋‚˜์”ฉ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. Swift์˜ ์–ธ์–ด ํŠน์ƒ‰์€ ์˜ต์…”๋„์ด ์•„๋‹๊นŒ,, ์ƒ์†Œํ•˜์ง€๋งŒ ์ค‘์š”ํ•œ ๊ฐœ๋… optional์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์žฅ! 1. nil optional์— ์•ž์„œ nil์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. nil์€ ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ์ตํžˆ ์“ฐ๋Š” null๋กœ ์ดํ•ด ํ•˜์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฆ‰ ๋ณ€์ˆ˜๊ฐ€ nill์ด๋ผ๋Š” ๊ฒƒ์€ ๊ฐ’์ด ์—†์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ swift๋Š” ์ผ๋ฐ˜์ ์ธ ๋ณ€์ˆ˜์— nill๊ฐ’์„ ๋„ฃ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ์šฐ๋ฆฌ๋Š” Optional์ด๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 2. Optional ์ด ๋ณ€์ˆ˜์—๋Š” ๊ฐ’์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ , ์—†์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค! ๋„๋Œ€์ฒด ๋ฌด์Šจ ๋ง์ผ๊นŒ ์‹ถ๊ฒ ์ง€๋งŒ, ๋ง ๊ทธ๋Œ€๋กœ ์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๊ฐ€ nill์ผ ์ˆ˜๋„ ์žˆ๊ณ , ์•„๋‹ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜์— ๊ฐ’์ด ์—†์„ ๋•Œ ํ˜ธ์ถœ์„..

    [Swift] ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜ ๊ทธ๋ฆฌ๊ณ  type

    [Swift] ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜ ๊ทธ๋ฆฌ๊ณ  type

    ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜ 1. ๋ณ€์ˆ˜ ์„ ์–ธ var name : type = value var num : Int = 100 var name : String = "sladuf" var later : Int name์— ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•œ๋‹ค. ์ฃผ๋กœ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๋ฅผ ์“ฐ๊ฑฐ๋‚˜ ๋ฌธ์ž+์ˆซ์ž ์กฐํ•ฉ์ด ๊ฐ€๋Šฅํ•จ ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ํ•„์š”ํ•œ ๋ณ€์ˆ˜ ์ด๋ฆ„์€ MyName ๋˜๋Š” my_name์œผ๋กœ ์„ ์–ธํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ value์—๋Š” ์„ ์–ธํ•œ type๊ณผ ์ผ์น˜ํ•˜๋Š” type์˜ ๊ฐ’์„ ์ž…๋ ฅํ•ด์•ผํ•จ. (Int๋กœ ์„ ์–ธํ•˜๊ณ  "hello"๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ) โ—๏ธ ๋ฌธ์ž์—ด(String) ๊ฐ’์€ ๊ผญ " "์•ˆ์— ์จ์ฃผ๊ธฐ โ—๏ธ type์ด ๋ถ„๋ช…ํ•˜๋‹ค๋ฉด type์„ ์ƒ๋žตํ•˜๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ด๋„ ใ„ฑใ…Š var num = 100 var name = "sladuf" ํ•˜์ง€๋งŒ ์ง€๊ธˆ ๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ์•Š..

    [Swift] Xcode๋กœ ์‹œ์ž‘ํ•˜๊ธฐ(feat.MacBook)

    [Swift] Xcode๋กœ ์‹œ์ž‘ํ•˜๊ธฐ(feat.MacBook)

    swift..๋ฏธ๋ฃจ๊ณ  ๋ฏธ๋ฃจ๋‹ค ๋“œ๋””์–ด ์‹œ์ž‘ Swift๋Š” apple์ด ๋งŒ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค. ๋Œ€๋ถ€๋ถ„ Xcode๋ฅผ ์“ฐ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.. ๋‚ด๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์œ ์šฉํ–ˆ๋˜ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์œผ๋กœ ์„ค๋ช… ํ•  ๊ณ„ํš์ด๋‹ค. ์‹œ์ž‘์„ ํ•ด๋ณด์ž! ๋ณดํ†ต ์‹œ์ž‘์€ playground์—์„œ ๋งŽ์ด ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ž…๋ ฅ ํŒŒํŠธ๋กœ ๋„˜์–ด๊ฐ€๋ฉด playground์—์„œ ๋นŒ๋“œ๊ฐ€ ์•ˆ๋˜๋‹ˆ ๊ทธ๋ƒฅ ์ฒ˜์Œ๋ถ€ํ„ฐ app์œผ๋กœ ๊ฐ€์ž. ๐Ÿ’ก Xcode์—์„œ new project๋ฅผ ์ผœ๊ณ  macOS์˜ command line tool์„ ์„ ํƒ project ์ด๋ฆ„์„ ์„ค์ •ํ•˜๊ณ  ์—ด๋ฉด main.swift์—์„œ ์ž‘์—…ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค (์ฒ˜์Œ ๋œจ๋Š” import Foundation์€ ์ง€์›Œ๋„ ๋ฌด๊ด€) ์ฒซ ๋นŒ๋“œ๋Š” ์—ญ์‹œ Hello World! ๐Ÿ’ก ๋นŒ๋“œ ํ‚ค๋Š” command + R ๋˜๋Š” ์œ„์— ์žˆ๋Š” โ–ถ๏ธ ๋ชจ์–‘ ๐Ÿ’ก โ€ผ๏ธ ์‹คํ–‰..

    [MYSQL] Data INSERT, UPDATE, DELETE

    INSERT ๊ธฐ๋ณธํ˜• INSERT INTO table VALUES (data); ์ „์ฒด ์ปฌ๋Ÿผ์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ INSERT INTO table VALUES (data1,data2,...); ์ปฌ๋Ÿผ ์ง€์ •ํ•ด์„œ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ (NOT NULL์ด ์กด์žฌํ•˜๋ฉด X) INSERT INTO table (column1, column2,...) VALUES (data1,data2,...); ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ row์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ INSERT INTO table VALUES (data1,data2,...),(data1,data2,...); UPDATE ๊ธฐ๋ณธํ˜• UPDATE table SET column1 = data1 WHERE column2=data2; ํ…Œ์ด๋ธ”์— ์žˆ๋Š” column1์˜ ๊ฐ’์„ data1๋กœ ๋ชจ๋‘ ๋ณ€๊ฒฝ UPDATE table S..

    [JavaScript] Fetch API๋กœ JSON Parsing

    Fetch ๋•๋ถ„์— ๋ฐ”๋‹๋ผJS๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ Ajax๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค๊ณ ํ•œ๋‹ค. ์ด ์ „์— Ajax๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ์ ์€ ์—†์ง€๋งŒ ํ™•์‹คํžˆ XMLHttpRequest ๋ณด๋‹ค๋Š” ๊ฐ„๋‹จ Fetch API JSON ํŒŒ์‹ฑํ•ด์„œ ํ‘œ ๋งŒ๋“ค๊ธฐ ID title body json sample data -> jsonplaceholder.typicode.com JSONPlaceholder - Free Fake REST API {JSON} Placeholder Free fake API for testing and prototyping. Powered by JSON Server + LowDB As of Dec 2020, serving ~1.8 billion requests each month. jsonplaceholder.typicode.c..