๋ชฉ๋ก์ „์ฒด ๊ธ€ (67)

Focus On Develop ๐ŸคŸ๐ŸคŸ

[iOS] Fastlane์„ ํ†ตํ•œ ๋นŒ๋“œ/๋ฐฐํฌ ์ž๋™ํ™”

์˜ค๋Š˜์€ App Store๋กœ ์•ฑ์„ ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์„ Fastlane์„ ํ†ตํ•ด ์ž๋™ํ™” ํ•˜๋Š”๊ฑธ ํ•ด๋ณด๊ณ , ๊ทธ ๊ณผ์ •์—์„œ ๋งŒ๋‚œ ์—๋Ÿฌ๋‚˜ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค!! ์ง€๊ธˆ ์ œ๊ฐ€ ๊ฐœ๋ฐœํ•˜๋Š” ์„œ๋น„์Šค๋Š” ํ‰๊ท ์ ์œผ๋กœ ๋ณด๋ฉด ํ•œ๋‹ฌ์— 1~2ํšŒ ์‹ ๊ทœ ๋ฒ„์ „์„ ์ถœ์‹œ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„์š”. ์‚ฌ์‹ค ๋ฐฐํฌํ•˜๋Š” ๋นˆ๋„๋„ ๊ทธ๋ ‡๊ฒŒ ๋งŽ์ง€ ์•Š๊ณ , ๊ทธ ๊ณผ์ •์ด ๋งŽ์ด ๋ณต์žกํ•œ ๊ฒƒ(?)๋„ ์•„๋‹ˆ๋ผ์„œ.. ๋”ฑํžˆ ๋ถˆํŽธํ•˜๊ณ  ๊ท€์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐ์„ ์•ˆํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์•„์š”! ๊ทธ๋Ÿฐ๋ฐ.. ์ตœ๊ทผ์— ๊ฐ‘์ž๊ธฐ ์ž๋™ํ™”๋ฅผ ํ•ด์•ผ๊ฒ ๋‹ค, ๋ผ๊ณ  ์ƒ๊ฐ์ด ๋ฌธ๋“ ๋“ค์—ˆ๋Š”๋ฐ์š”! ์•ฑ์Šคํ† ์–ด์— ์•ฑ์„ ๋ฐฐํฌํ•˜๊ณ , ์—…๋กœ๋“œ ์™„๋ฃŒ๋˜์—ˆ๋‹ค, ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ ๋ฐฐํฌ๋˜์—ˆ๋‹ค, ๋“ฑ๋“ฑ ํ…Œ์Šคํ„ฐ ์กฐ์ง์—๊ฒŒ ๊ณต์œ ๋ฅผ ํ•ด์•ผํ•˜์ฃ . ๊ทผ๋ฐ ์•ฑ์Šคํ† ์–ด์— ์—…๋กœ๋“œํ•˜๊ณ , ๊ทธ ํ›„์— ๋‚ด๋ถ€์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์ด ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š๊ณ  ๊ฐ€๋ณ€์ ์ด์ฃ ~? ๊ทธ๋Ÿผ ๊ทธ๋•Œ๋งˆ๋‹ค ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋ฉด์„œ ์ฒ˜๋ฆฌ๋˜๋Š” ๊ณผ..

[RxSwift] RxSwift ์žฅ๋‹จ์ 

์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ RxSwift์— ์ž…๋ฌธํ•ด๋ดค๋Š”๋ฐ์š”~!! ๊ทธ๋Ÿผ ์ด RxSwift๋Š” ์™œ์จ์•ผํ• ๊นŒ์š”~? ์žฅ๋‹จ์ ์„ ํ•œ๋ฒˆ ํŒŒํ—ค์ณ๋ณผ๊ฒŒ์š”!! RxSwift์˜ ์žฅ์  1. ๋ฐ˜์‘ํ˜• ํŒจ๋Ÿฌ๋‹ค์ž„์ด ์ œ๊ณตํ•˜๋Š” ๋ช…ํ™•ํ•จ, ๋น„๋™๊ธฐ๋ฅผ ๋™๊ธฐํ™” ์ฝ”๋“œ์ฒ˜๋Ÿผ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅ 2. ์ผ๊ด€์„ฑ์ด ์—†๋Š” ๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜์˜ ๋น„๋™๊ธฐ ์ฝ”๋“œ๋กœ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅ - ์–ด๋””์„œ๋Š” DispatchQueue, ์–ด๋””์„œ๋Š” OperationQueue..... 3. Rx๋กœ ์ผ๊ด€๋œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ํ™•์žฅ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจ๋˜์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ - ์„œ๋กœ ๋‹ค๋ฅด๊ฒŒ ๊ตฌํ˜„ํ•œ ๋กœ์ง์„ ์กฐํ•ฉํ•˜๊ธฐ ์‰ฝ๊ณ , ํ™•์žฅ์ด ์–ด๋ ค์šด ๋ถ€๋ถ„์„ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ 4. Thread ์ฒ˜๋ฆฌ๊ฐ€ ์‰ฌ์›Œ์ง - Callback ์ง€์˜ฅ์—์„œ์˜ ํƒˆ์ถœ - UI ์ด๋ฒคํŠธ, ๋„คํŠธ์›Œํฌ ์ฒ˜๋ฆฌ ๋“ฑ๋“ฑ ๋ฐ์ดํ„ฐ ๊ฐฑ์‹ ํ–ˆ์„ ๋•Œ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ์‰ฌ์›€ 5. ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•ด์ง 6. ๋‹ค์–‘ํ•˜..

[RxSwift] RxSwift ์ž…๋ฌธํ•˜๊ธฐ

์‹œ๊ฐ„์ด ๊ฐˆ์ˆ˜๋ก ์ ์  RxSwift๋Š” ๊ผญ ์•Œ์•„์•ผ ํ•˜๋Š” ํŠธ๋ Œ๋“œ์ฃ ~~?ใ…Žใ…Ž Apple์—์„œ๋„ Rx+MVVM Base์ธ SwiftUI๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋ฅผ ์ ์  ์ง€ํ–ฅํ•˜๋Š” ๊ฒƒ ๊ฐ™๊ณ ์š” ใ…Žใ…Ž (๊ฐœ์ธ์ ์ธ ์ƒ๊ฐใ…‹) ์—…๋ฌด๋ฅผ ํ•˜๋ฉด์„œ๋Š” ์ ‘ํ•ด๋ณผ ๊ธฐํšŒ๊ฐ€ ์—†์–ด์„œ, ํ˜ผ์ž ๋”ฐ๋กœ๋ผ๋„ ํ•œ๋ฒˆ ๊ณต๋ถ€ํ•˜๋ฉด์„œ "์ ์–ด๋„ ๊ฐœ๋…์ •๋„๋Š” ์•Œ๊ณ  ๊ธฐ๋ณธ์ •๋„๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ๊ฒ ๋‹ค" ํ•ด์„œ ์‹œ์ž‘ํ•ด๋ณด๋ ค๊ณ  ํ•ด์š”!! ๐Ÿ˜Ž ๊ทธ๋งŒํผ ์™•์ดˆ๋ณด๋ฅผ ์œ„ํ•œ ์ž…๋ฌธ์šฉ ํฌ์ŠคํŒ…์ด ๋˜๊ฒ ์ง€๋งŒ, ํ•ต์‹ฌ ๊ฐœ๋…์ด๋‚˜ ์›๋ฆฌ๋Š” ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์ƒ์„ธํžˆ ๋‹ค๋ค„๋ณผ ์˜ˆ์ •์ด๋ผ ์กฐ๊ธˆ์€ ๊ธด ํฌ์ŠคํŒ…์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!! ๐Ÿ˜ญ ๊ทธ์น˜๋งŒ! ์ด ํฌ์ŠคํŒ…์„ ์ฒœ์ฒœํžˆ๋ผ๋„ ์™„์ฃผํ•˜์‹ ๋‹ค๋ฉด RxSwift์— ๋Œ€ํ•œ ๊ฐœ๋…์ด๋‚˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์€ ์ตํžˆ์‹ค ์ˆ˜ ์žˆ์„๊ฑฐ์—์š” ๐Ÿง‘‍๐Ÿ’ป RxSwift์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, ๊ธฐ๋ณธ์ ์ธ Swift์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ..

[Swift] Class vs Struct

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋งค์šฐ ๊ธฐ๋ณธ์ด๋ฉด์„œ๋„, ๋งค์šฐ ์ค‘์š”ํ•œ Class์™€ Struct์— ๋Œ€ํ•ด์„œ ์ข€ ์‚ดํŽด๋ณด๋ ค๊ณ  ํ•ด์š”! ๋Œ์•„๋ณด๋‹ค ๋ณด๋‹ˆ, ์ด๋Ÿฐ Swift์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ด์ง€๋งŒ ๋งค์šฐ ์ค‘์š”ํ•œ ๋‚ด์šฉ๋“ค์„ ๋”ฐ๋กœ ๋‹ค๋ฃจ์ง€ ์•Š์•˜๋˜ ๊ฒƒ ๊ฐ™์•„์„œ ์ข€ ๋‹ค๋ฃจ๋ ค๊ณ ์š”!! ๐Ÿง‘‍๐Ÿ’ป ๋จผ์ € Struct์™€ Class๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜๋กœ ๋งŒ๋“  "๋ฐ์ดํ„ฐ ํƒ€์ž…"์ด์—์š”. ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ์šฉ๋„์— ๋งž๊ฒŒ ๋ฌถ์–ด ํ‘œํ˜„ํ•˜๊ณ ์ž ํ• ๋•Œ, ๋‚ด๋ถ€์—์„œ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•ด์„œ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋  ์ˆ˜ ์žˆ์–ด์š”. ๋จผ์ € ๊ฐ„๋žตํ•˜๊ฒŒ ๊ณตํ†ต์ ๊ณผ ์ฐจ์ด์ ์„ ์š”์•ฝํ•ด๋ณด๊ณ , ์ค‘์š”ํ•œ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ๋Š” ์ข€ ๋” ์‚ดํŽด๋ณผ๊ฒŒ์š”! ๊ณตํ†ต์  ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํผํ‹ฐ ์ •์˜ ๊ฐ€๋Šฅ ๊ธฐ๋Šฅ ์‹คํ–‰์„ ์œ„ํ•œ ๋ฉ”์†Œ๋“œ ์ •์˜ ๊ฐ€๋Šฅ initializer(์ƒ์„ฑ์ž) ์ •์˜ ๊ฐ€๋Šฅ extension ์„ ํ†ตํ•œ ํ™•์žฅ ๊ฐ€๋Šฅ protocol ์ฑ„ํƒ ๊ฐ€๋Šฅ..

[Swift] Singleton Pattern (์‹ฑ๊ธ€ํ†ค ํŒจํ„ด)

์˜ค๋žœ๋งŒ์— ํฌ์ŠคํŒ…์„ ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋„ค์š”, ์ด๋Ÿฐ ์ €๋Ÿฐ ์‹ ๊ฒฝ์“ธ ์ผ๋“ค์ด ๋งŽ์•˜๋˜ ๊ฒƒ ๊ฐ™์•„์š” ๐Ÿ˜‚ ๋ฐ”๋น ๋„ ํ•˜๋ฃจ์— ๊ฐ„๋‹จํ•œ ํฌ์ŠคํŒ…์ด๋ผ๋„ ํ•˜๋‚˜๋Š” ํ•˜์ž๊ณ  ๋ชฉํ‘œ๋ฅผ ์„ธ์› ๋Š”๋ฐ, ์‰ฝ์ง€ ์•Š๋”๊ตฐ์š” ๐Ÿ˜ญ ๊ฑฐ๋‘์ ˆ๋ฏธํ•˜๊ณ  ์˜ค๋Š˜์€ ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ๊ฒŒ์š”!! Design Pattern ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์€ Design Pattern ์ค‘ ์ƒ์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋””์ž์ธ ํŒจํ„ด์ด์—์š”. ๊ทธ๋Ÿผ.. Design Pattern์€ ๋ญ˜๊นŒ์š”? ๊ฐœ๋ฐœ์—์„œ ๋””์ž์ธํŒจํ„ด์ด๋ž€, ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœํ™˜๊ฒฝ์—์„œ๋„ ๋น„์Šทํ•œ ๋ฌธ์ œ๋“ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด ๋น„์Šทํ•œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š” ์ •ํ˜•ํ™”(?)๋œ ํ…œํ”Œ๋ฆฟ์ด๋‚˜ ๊ฐœ๋ฐœํŒจํ„ด ๊ฐ™์€, ๋งˆ์น˜ "ํ•ด๊ฒฐ์ฑ…" ๊ฐ™์€๊ฑฐ์—์š”. ์ด๋Ÿฐ ์–ด๋–ค ํŒจํ„ด์„ ์ ์šฉํ•˜๋ฉด, ๊ทธ๋งŒํผ "์ •ํ˜•ํ™”"๋œ ํ•ด๊ฒฐ์ฑ… ๊ฐ™์€ ๋งฅ๋ฝ์ด๋‹ˆ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ, ํšจ์œจ์„ฑ, ๋””๋ฒ„๊น…, ํ˜‘์—… ๋“ฑ์ด ์‰ฌ์›Œ์ง€๊ฒ ์ฃ ? Swift์—์„œ ๊ฐ€์žฅ ๋ณดํŽธ์ ์œผ๋กœ ..

[node.js] Nodejs, Expressjs๋ž€?

๋จผ์ € ๋ง์”€๋“œ๋ฆฌ๊ณ  ์‹ถ์€ ๊ฑด, ์ด ํฌ์ŠคํŒ…์€ Nodejs์™€ Expressjs์˜ ์žฅ,๋‹จ์  ๋“ฑ๋“ฑ ๋งค์šฐ ์ž์„ธํ•˜๊ฒŒ ๋‹ค๋ฃจ์ง€๋Š” ์•Š์„๊ฑฐ์—์š”. ๋‹ค๋งŒ, nodejs๋กœ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์ „์— ์•ž์„œ์„œ ์•„! ์ด๋Ÿฐ๊ฑฐ๊ตฌ๋‚˜! ํ•˜๋Š” ์ •๋„๋งŒ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. node.js ์ผ๋ฐ˜์ ์œผ๋กœ javaScript๋Š” ์›น๋ธŒ๋ผ์šฐ์ €๋‚˜ ์›น์‚ฌ์ดํŠธ์—์„œ๋งŒ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜์ฃ ? noejs๋Š” javaScript๋ฅผ ์›น๋ธŒ๋ผ์šฐ์ €, ์›น์‚ฌ์ดํŠธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์™ธ๋ถ€์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” cross-platform ์—”์ง„์ด์—์š”. ๋งŽ์€ ์ž…๋ฌธ์ž๋“ค์ด nodejs๋ฅผ ์›น์„œ๋ฒ„๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ, nodejs๊ฐ€ http์„œ๋ฒ„๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด์„œ ์„œ๋ฒ„๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€๋งŒ, nodejs ์ž์ฒด๋กœ๋Š” ์›น์„œ๋ฒ„๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค! ์‘..? ์„œ๋ฒ„๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์„œ๋ฒ„๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ ..? ๐Ÿ˜‚ nodejs๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜..

๊ณตํ†ต/BackEnd 2021. 3. 4. 22:17
[mongoDB] Mongo DB, Mongoose๋ž€?

๋จผ์ € ๋ง์”€๋“œ๋ฆฌ๊ณ  ์‹ถ์€ ๊ฑด, ์ด ํฌ์ŠคํŒ…์€ Mongo DB์™€ Mongoose์˜ ์žฅ,๋‹จ์  ๋“ฑ๋“ฑ ๋งค์šฐ ์ž์„ธํ•˜๊ฒŒ ๋‹ค๋ฃจ์ง€๋Š” ์•Š์„๊ฑฐ์—์š”. ๋‹ค๋งŒ, nodejs๋กœ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์ „์— ์•ž์„œ์„œ ์•„! ์ด๋Ÿฐ๊ฑฐ๊ตฌ๋‚˜! ํ•˜๋Š” ์ •๋„๋งŒ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. mongoDB mongo DB๋Š” ๋ง ๊ทธ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๊ณ , NoSQL์— ์†ํ•ด์š”! ์‘~ NoSQL์ด ๋ญ”์ง€ ๋ชฐ๋ผ ~~ ๐Ÿ˜‚๐Ÿ˜‚ NoSQL์€ Non SQL๋กœ, RDBMS(๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ) ๊ณผ๋Š” ์•ฝ~๊ฐ„ ๋‹ค๋ฅด๊ฒŒ ๋œ ์ œํ•œ์ ์ธ ๋ชจ๋ธ์„ ์ด์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์ด์—์š”! ์ฃผ๋กœ nodejs๋กœ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ• ๋•Œ, javaScript์–ธ์–ด๋กœ JSON ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ๋ฐ›๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ ๊ฐ€์žฅ ํฐ ์žฅ์ ์ค‘์— ํ•˜๋‚˜์ฃ . ์‚ฌ์‹ค ์ž˜ ์•ˆ์™€๋‹ฟ์œผ์‹œ์ฃ ~? ์ €๋„ ๊ทธ๋žฌ์–ด์š”. ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๋ž˜๋„ RDBMS์— ์ข€ ๋”..

๊ณตํ†ต/BackEnd 2021. 3. 4. 22:14