Notice
Recent Posts
Recent Comments
Link
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กโš ๏ธ deprecated โš ๏ธ/๊ผผ๊ผผํ•œ ์žฌ์€์”จ(์‹ค์ „) (37)

lgvv98

JSON ํ•™์Šต์ •๋ฆฌ

JSON - JavaScript Object Notation์˜ ์•ฝ์ž๋กœ์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์—์„œ ๊ฐ์ฒด ์†์„ฑ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ. ํ•˜์ง€๋งŒ ์‰ฝ๊ณ  ๊ฐ„๊ฒฐํ•œ ํ‘œํ˜„ ๋Šฅ๋ ฅ ๋•๋ถ„์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๊ตญํ•œ๋˜์ง€ ์•Š๊ณ  C ๊ณ„์—ด์˜ ์–ธ์–ด๋‚˜ Java, Perl, Python ๋“ฑ ๋‹ค์ˆ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋„ ์ง€์›๋˜๋Š” ๋Œ€ํ‘œ์ ์ธ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ ์ž๋ฆฌ์žก์•˜๋‹ค. JSON์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ํ•˜๋‚˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์†์„ฑ ํ‚ค - ๊ฐ’์œผ๋กœ : ์ง‘ํ•ฉ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•  ๋•Œ๋Š” ์ค‘๊ด„ํ˜ธ ์‚ฌ์šฉ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์„ฑ๊ฒฉ์ด ๋น„์Šทํ•œ ๊ตฌ์กฐ ๋ฆฌ์ŠคํŠธ๋กœ : ๋ฆฌ์ŠคํŠธ ์ •์˜ํ•  ๋•Œ๋Š” ๋Œ€๊ด„ํ˜ธ ์‚ฌ์šฉ ๋ชจ๋“  JSON์€ ์ด ๋‘๊ฐ€์ง€ ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•ด ์‚ฌ์šฉ ๋ช…์นญ ํ˜•์‹ ๊ตฌ๋ถ„ JSON ๊ฐ์ฒด {ํ‚ค : ๊ฐ’, ํ‚ค : ๊ฐ’ ...} ์—ฌ๋Ÿฌ ์†์„ฑ์„ ์ •์˜ํ•˜..

์„œ๋ฒ„์—ฐ๋™(RESTful API,HTTP,HTTPS) ์ด๋ก 

HTTP๋Š” ํฌ๊ฒŒ ์š”์ฒญ๊ณผ ์‘๋‹ต์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค ๊ฐ ๋ฉ”์‹œ์ง€๋Š” ๋ผ์ธ - ํ—ค๋” - ๋ฐ”๋”” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋ผ์ธ : http ๋ฉ”์‹œ์ง€์˜ ๋งจ ์ฒซ ์ค„์— ํ•ด๋‹นํ•˜๋Š” ์˜์—ญ์œผ๋กœ ๋ฉ”์‹œ์ง€์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ์ธ ์‘๋‹ต/์š”์ฒญ ์—ฌ๋ถ€, ๋ฉ”์‹œ์ง€ ์ „์†ก ๋ฐฉ์‹, ์ƒํƒœ ์ •๋ณด ๋“ฑ์ด ์ž‘์„ฑ๋˜๋Š” ๊ณณ. ํ—ค๋” : ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€ ์ •๋ณด ๋ฐ”๋”” : ์‹ค์ œ๋กœ ๋ณด๋‚ด๊ณ ์ž ํ•˜๋Š” ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ ๋‚ด์šฉ ์‹ค์ œ ๋ฉ”์‹œ์ง€ ์ƒ˜ํ”Œ์„ ์‚ดํŽด๋ณด๋ฉด์„œ http์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ํ”ํžˆ request๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ์š”์ฒญ ๋ฉ”์‹œ์ง€๋Š” get/post ๋ถ€๋ฅด๋Š” ์ด ์š”์ฒญ ๋ฉ”์‹œ์ง€๋Š” get/post ๋“ฑ์˜ ์ „์†ก ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ์—์„œ ์‹œ์ž‘. ๋’ค์ด์–ด ์ž‘์„ฑ๋˜๋Š” ๊ฒƒ์€ ์š”์ฒญ ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฒฝ๋กœ, ๊ทธ ๋‹ค์Œ์€ ์š”์ฒญ ํ˜•์‹์— ๋Œ€ํ•œ ๋ฒ„์ „ ์ •๋ณด. ์ฆ‰, ์–ด๋–ค ๋ฒ„๋ฒˆ์˜ http ๋ฌธ๋ฒ•์„ ์ค€์ˆ˜ํ•˜๊ณ  ์žˆ๋Š”๊ฐ€์— ๋Œ€ํ•œ ๊ฒƒ. ์—ฌ๊ธฐ๊ฐ€ ์ฒซ..

[iOS14] SearchBar - ๊ฒ€์ƒ‰๋ฐ” ์‚ฌ์šฉ

์ž ์ด๋ฒˆ์— HCI ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฒ€์ƒ‰๋ฐ”๋ฅผ ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ, ์ด๊ฑธ ๋ทฐ์— ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธํ•„๋“œ ๋ฒ„ํŠผ์„ ์ปจํ…Œ์ด๋„ˆ ์‹์œผ๋กœ ์–น์–ด์„œ ๋งŒ๋“ค๋ ค๊ณ  ํ–ˆ๋‹ค๋‹ˆ... ์•„๋ฌดํŠผ... ์„œ์น˜๋ฐ”๋ผ๋Š” ๊ฒŒ ์žˆ์–ด์„œ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ•˜์ž. 1. ์„œ์น˜๋ฐ”๋ฅผ ์Šคํ† ๋ฆฌ ๋ณด๋“œ์—์„œ ์ถ”๊ฐ€ํ•œ๋‹ค. 2. (์ฃผ์˜) ์„œ์น˜๋ฐ”์˜ delegate๋ฅผ ๋„์ปค๋ฐ”์— ์—ฐ๊ฒฐํ•œ๋‹ค. 3. ์œ„์˜ ์ฝ”๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ณด๋“œ์—์„œ ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ์‹คํ–‰๋˜๋Š” ๋ฉ”์†Œ๋“œ์ธ๋ฐ, ์ž๋™์™„์„ฑ ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์Œ. ํ‚ค๋ณด๋“œ๋กœ ๊ฒ€์ƒ‰ ํ™œ์„ฑํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ• : viewDidLoad์— ์ด ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. ์„œ์น˜๋ฐ”๋Š” ์•„์šธ๋ › ๋ณ€์ˆ˜๋ฅผ ์—ฐ๊ฒฐํ•œ ๊ฒƒ searchBar.enablesReturnKeyAutomatically = false // ๊ฒ€์ƒ‰ ํ‚ค๊ฐ€ ํ•ญ์ƒ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋„๋ก ์ฒ˜๋ฆฌ ์ž ์ด๋ฒˆ์—๋Š” 10๊ฐœ์˜ ํ…Œ์ด๋ธ”..

์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง๊ณผ ๋ฆฌ์Šคํฐ๋” ์ฒด์ธ

Event Bubbling๊ณผ Responder Chain ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ์›จ๋ฒต์„œ ์‚ฌ์šฉ๋„๋Š” HTML์„ ๋– ์˜ฌ๋ ค๋ณด์ž. ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ์™€ ์ผ์น˜ํ•˜๋Š” ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด ์ด ๋ฆฌ์Šค๋„ˆ์— ์ด๋ฒคํŠธ๋ฅผ ์ „๋‹ฌํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ๊ณผ์ •์€ ์ค‘์ฒฉ ๊ตฌ์กฐ์˜ ์ตœํ•˜์œ„ ๊ณ„์ธต์— ๋‹ค๋‹ค๋ฅผ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋˜๋ฉฐ, ๊ฒฐ๊ตญ ์ค‘์ฒฉ ๊ณ„์ธต ๋‚ด์—์„œ ์ •์˜๋œ ๋ชจ๋“  ํ•ด๋‹น ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋งŒ๋“ค์–ด ์ง‘๋‹ˆ๋‹ค. ๊ฐ€๋ น body - div.pr - article.tolis - li.todo๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ํ•˜์œ„ ๊ณ„์ธต์œผ๋กœ ๋ถ€ํ„ฐ ์ฐจ๋ก€์ฐจ๋ก€ onClick ์ด๋ฒคํŠธ๊ฐ€ ์—ญ์ˆœ์œผ๋กœ ์ „ํŒŒ๋œ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์ค‘์ฒฉ ๊ณผ์ •์˜ ์ผ๋ถ€๊ฐ€ onClick ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์„ ๊ฒฝ์šฐ ๋ชจ๋“  ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰๋˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. ์ด์ฒ˜๋Ÿผ ์ด๋ฒคํŠธ๋ฅผ ์ž์‹์—์„œ ๋ถ€๋ชจ ๊ณ„์ธต์œผ๋กœ ..

[iOS14] ๋‹น๊ฒจ์„œ ์ƒˆ๋กœ๊ณ ์นจ ๊ธฐ์ˆ 

Pull to Refresh ( ๋‹น๊ฒจ์„œ ์ƒˆ๋กœ๊ณ ์นจ ) ํ…Œ์ด๋ธ” ๋ทฐ ๋ฅผ ์•„๋ž˜ ๋ฐฉํ–ฅ์œผ๋กœ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ํ™”๋ฉด์„ ๊ฐฑ์‹ ํ•˜๋Š” ๊ธฐ๋Šฅ! ๋‹น๊ฒจ์„œ ์ƒˆ๋กœ๊ณ ์นจ 3๋‹จ๊ณ„ 1. ํ…Œ์ด๋ธ” ๋ทฐ๋ฅผ ์•„๋ž˜๋กœ ๋‹น๊น€ : ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•œ๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. 2, ๊ณ„์†ํ•ด์„œ ๋‹น๊น€ : ์ƒˆ๋กœ๊ณ ์นจ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ž„๊ณ„์ ์— ๋„๋‹ฌํ•œ๋‹ค. 3. ๋ฆด๋ฆฌ์ฆˆ : ์†์„ ๋†“๋Š” ์ˆœ๊ฐ„ ์—ฐ๊ฒฐ๋œ ๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰๋˜๋ฉด์„œ ์ƒˆ๋กœ๊ณ ์นจ์ด ์ด๋ฃจ์–ด์ง„๋‹ค iOS ์—์„œ๋Š” UIRefreshControl ์ปจํŠธ๋กค์„ ์ œ๊ณตํ•œ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ฒœ์ฒœํžˆ ๋ณด์ž. ์ฃผ์„์œผ๋กœ ๋‹ฌ์•„๋‘”๊ฒŒ ๋” ์ดํ•ดํ•˜๊ธฐ๋„ ์‰ฝ๊ณ  ์•„๋ฌดํŠผ ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ค์šด ๊ฐœ๋…์€ ์•„๋‹ˆ๋‹ค. // // EmployeeListVCTableViewController.swift // Chapter06-HR // // Created by Hamlit Jason on 2021/..