๐Ÿ“‚์›น ๊ฐœ๋ฐœ(Web) 48

๋ฐฐ์—ด(array)๊ณผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ์•Œ์•„๋ณด๋Š” ๋ฐฐ์—ด์˜ ๋™์ž‘์›๋ฆฌ

Intro. ๋ฐฐ์—ด์ด๋ž€?  ๋ฐฐ์—ด์€ ๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†๋œ ๊ณต๊ฐ„์— ๋‚˜์—ดํ•˜๊ณ , ๊ฐ ๋ฐ์ดํ„ฐ์— ์ธ๋ฑ์Šค(index)๋ฅผ ๋ถ€์—ฌํ•ด๋†“์€ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ๋ณ€์ˆ˜๋Š” 1๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•™์ƒ 100๋ช…์˜ ์„ฑ์ ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€์ˆ˜ 100๊ฐœ๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ผ์ผ์ด ๋ชจ๋‘ ๋”ํ•˜๋Š” ๋น„ํšจ์œจ์ ์ธ ๋ฐ˜๋ณต์ž‘์—…์„ ๋น„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์€ ์ฝ”๋“œ๋กœ ์†์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด๊ณผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋™์ž‘ ์›๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ๋‹ค.  1. ๋ฐฐ์—ด ์„ ์–ธ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐฐ์—ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•˜๊ณ , ๋ฐฐ์—ด ๋ณ€์ˆ˜ ์„ ์–ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘ ๊ฐ€์ง€ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค. ํ˜•์‹1: ํƒ€์ž…[   ] ๋ณ€์ˆ˜; ํ˜•์‹2: ํƒ€์ž… ๋ณ€์ˆ˜[   ]; ํ˜•์‹1์˜ ์˜ˆ)int[   ] intArray;double[   ] doubleArray;Strin..

๋ณ€์ˆ˜ ์šฉ์–ด, ๊ทœ์น™๊ณผ ํƒ€์ž…

Intro. ๋ณ€์ˆ˜๋ž€?  ๋ณ€์ˆ˜(variable)๋ž€ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ํŠน์ • ๋ฒˆ์ง€์— ๋ถ™์ด๋Š” ์ด๋ฆ„์ด๋‹ค. *ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณต๊ฐ„์ด๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ์˜ ํŠน์ • ๋ฒˆ์ง€์— ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ฌดํ•œ์ • ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•Œ๋งž์€ ํƒ€์ž…(์ž๋ฃŒํ˜•)์„ ์“ฐ๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.    *ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์—๋Š” ์˜ค๋กœ์ง€ ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ณ , ์ž๋ฐ”์—์„œ๋Š” ์„ ์–ธ๋œ ๋ณ€์ˆ˜์— ํ•œ ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ๊ฐ’๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.  ๋ณ€์ˆ˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์˜ ์–ด๋””์— ์ €์žฅํ•˜๊ณ  ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ €์žฅํ• ์ง€๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ์šด์˜์ฒด์ œ๊ฐ€ ์ •ํ•œ๋‹ค. ์ž๋ฐ”์˜ ๊ฒฝ์šฐ๋Š” JVM์ด ํ•œ๋‹ค.  1. ๋ณ€์ˆ˜ ๊ทœ์น™(1) ๋ณ€์ˆ˜ ๋ช…๋ช… ๊ทœ์น™๋ณ€์ˆ˜ ์ด๋ฆ„์„ ํ†ตํ•ด ์˜๋ฏธ๋ฅผ ์‰ฝ๊ฒŒ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋„๋ก '์˜๋ฏธ ์žˆ๋Š”' ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ง€์–ด์ฃผ๋Š” ..

JAVA ํ—ท๊ฐˆ๋ฆฌ๋Š” JDK, JRE, JVM ์ดํ•ด ๋ฐ JDK ์„ค์น˜ ๋ฐฉ๋ฒ•

Intro. JAVA๋ž€?  ์ž๋ฐ”๋Š” '๊ฐ€์ƒ๋จธ์‹ (VM, Virtual Machine)'์ด๋ž€ ๊ฒƒ์„ ๋งŒ๋“ค์–ด๋‘๊ณ  ๊ทธ ์œ„์—์„œ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๊ฒŒ ๋งŒ๋“  ์‹œ์Šคํ…œ์ด๋‹ค. ์ž๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์—๋Š” ๊ฐ๊ฐ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ์— ์ ํ•ฉํ•˜๋„๋ก ํ”„๋กœ๊ทธ๋žจ์„ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ€์ƒ๋จธ์‹ ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ํ•œ ๋ฒˆ๋งŒ ๋งŒ๋“ค์–ด๋„ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ์—์„œ ๋˜‘๊ฐ™์ด ๋™์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.  1. JVM, JRE, JDK๋ž€? (1) JDK(Java Development Kit)ํ”„๋กœ๊ทธ๋žจ์— ํ•„์š”ํ•œ ์ž๋ฐ” ๊ฐ€์ƒ๊ธฐ๊ณ„(JVM), ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ API, ์ปดํŒŒ์ผ๋Ÿฌ ๋“ฑ์˜ ๊ฐœ๋ฐœ ๋„๊ตฌ๊ฐ€ ํฌํ•จ๋œ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€์ด๋‹ค. (2) JRE(Java Runtime Environment)ํ‘œ์ค€ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์— ํ•„์š”ํ•œ ์ž๋ฐ” ๊ฐ€์ƒ ๊ธฐ๊ณ„(JVM),..

ํŒŒ์ด์ฌ ์›น ํฌ๋กค๋ง ์ •์  ํฌ๋กค๋ง selenium ๋งˆ์šฐ์Šค ์ œ์–ด ํ‚ค๋ณด๋“œ ์ œ์–ด selenium๊ณผ bs4์˜ ์กฐํ•ฉ

## select find_all()๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋งค์นญ๋˜๋Š” ๋ชจ๋“  ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜ select_one()์œผ๋กœ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋งŒ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅ ํด๋ž˜์Šค๋Š” ๋งˆ์นจํ‘œ(.) ์•„์ด๋””๋Š” ์ƒต(#)์œผ๋กœ, ์ž์†ํƒœ๊ทธ๋Š” ๋„์–ด์“ฐ๊ธฐ๋กœ ํ‘œํ˜„ print(soup.select("p")) #pํƒœ๊ทธ print(soup.select(".d")) # class๊ฐ€ d์ธ ํƒœ๊ทธ print(soup.select("p.d")) # class๊ฐ€ d์ธ pํƒœ๊ทธ print(soup.select("#i")) # id๊ฐ€ i์ธ ํƒœ๊ทธ print(soup.select("p#i")) # id๊ฐ€ i์ธ pํƒœ๊ทธ print(soup.select("body p")) #body์˜ ์ž์†์ธ p ํƒœ๊ทธ ํฌ๋กค๋ง ์˜ˆ์ œ f12 ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋กœ ์กฐํšŒ ๋™์  ํฌ๋กค๋ง https://chromed..

ํŒŒ์ด์ฌ ์›น ํฌ๋กค๋ง Beautiful Soup

ํฌ๋กค๋ง๊ณผ ์Šคํฌ๋ž˜ํ•‘ ํฌ๋กค๋ง : ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์˜ํ•ด ์ธํ„ฐ๋„ท์„ ํƒ์ƒ‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ํฌ๋กค๋ง: ํฌ๋กค๋Ÿฌ๊ฐ€ ์›นํŽ˜์ด์ง€๋“ค์„ ๋Œ์•„๋‹ค๋‹ˆ๋Š” ํ–‰์œ„ ์Šคํฌ๋ž˜ํผ: ์›นํŽ˜์ด์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์Šคํฌ๋ž˜ํ•‘: ์›นํŽ˜์ด์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ํ–‰์œ„ => ํ†ต์ƒ์ ์œผ๋กœ ํฌ๋กค๋ง๊ณผ ์Šคํฌ๋ž˜ํ•‘์„ ํ•ฉ์ณ์„œ ํฌ๋กค๋ง์ด๋ผ๊ณ  ํ‘œํ˜„ํ•จ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ -์›น ๋ธŒ๋ผ์šฐ์ € ๋ฐ ์›น ์˜ˆ) ์Šค๋งˆํŠธํฐ ์•ฑ, ํฌ๋กฌ, ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ ์„œ๋ฒ„ -ํด๋ผ์ด์–ธํŠธ์˜ ์ฒ˜๋ฆฌ๋ฅผ ๋„์™€์ฃผ๋Š” ๊ฒƒ -ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณต -์ธํ„ฐ๋„ท ์ฃผ์†Œ์ฐฝ์— ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋Š” ํ–‰์œ„ => ์„œ๋ฒ„์— ์ ‘์† ์‘๋‹ต์ฝ”๋“œ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋‚œ ํ›„ ์ƒํƒœ์— ๋”ฐ๋ผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ฝ”๋“œ 100๋ฒˆ๋Œ€ 200๋ฒˆ๋Œ€ 300๋ฒˆ๋Œ€ 400๋ฒˆ๋Œ€ 400๋ฒˆ๋Œ€ ์กฐ๊ฑด๋ถ€ ์‘๋‹ต ์„ฑ๊ณต ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์™„๋ฃŒ ์š”์ฒญ ์˜ค๋ฅ˜ ์„œ๋ฒ„ ์˜ค๋ฅ˜ -..

ํŒŒ์ด์ฌ json

JSON (JavaScript Object Notation) -๋”•์…”๋„ˆ๋ฆฌ ๋น„์Šทํ•˜๋‹ค -๊ตฌ์กฐ { K : V } 1. Json Writer # ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ• dict_list = [ { 'name' : 'james', 'age':20, 'spec':[ 175.5, 70.5 ] }, { 'name':'alice', 'age':21, 'spec': [ 168.5, 60.5 ] } ] json_string = json.dumps(dict_list) with open('dictlist.json', 'w') as file: file.write(json_string) print('dictlist.json ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.') # ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ• import json dict_list = [ { 'name' : 'jam..

ํŒŒ์ผ๋ณต์‚ฌ/csvํŒŒ์ผ ์ฝ๊ธฐ ์“ฐ๊ธฐ

1. ํŒŒ์ผ๋ณต์‚ฌ ํŒŒ์ผ๋ณต์‚ฌ ์›๋ณธ -> ๋ฒ„ํผ ๋ณ€์ˆ˜(Memory) -> ๋ณต์‚ฌ๋ณธ buffer_size = 1024 #1024 byte -> 1 KB ์˜๋ฏธ with open('../../Day07/Section13/hello.txt', 'rb') as source: with open('hello2.txt', 'wb') as copy: while True: buffer = source.read(buffer_size) if not buffer: break copy.write(buffer) print('hello2.txt ํŒŒ์ผ์ด ๋ณต์‚ฌ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค') 2. CSV ํŒŒ์ผ CSV(comma-seperated values) ํ•„๋“œ๋ฅผ ์‰ผํ‘œ(,)๋กœ ๊ตฌ๋ถ„ํ•œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด๋‹ค. ์˜ˆ์ œ1) csvReader student_list = ..

ํŒŒ์ผ ๋งŒ๋“ค๊ณ  ์ฝ๊ธฐ

1. ํŒŒ์ผ ์ž…์ถœ๋ ฅ(I/O - input/output) ์ž…๋ ฅ(input) ๊ธฐ์กด ํŒŒ์ผ ์ฝ์–ด๋“ค์ด๋Š” ๊ฒƒ ์ถœ๋ ฅ(output) ํŒŒ์ผ์ƒ์„ฑ, ๋‚ด์šฉ ์ถ”๊ฐ€๋ฅผ ๋งํ•œ๋‹ค. # ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ• file open file = open('myFile.txt', 'wt') print('myFile.txt ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.') file.close() # ๋‹ซ์•„์ค˜์•ผ ํ•จ # with ๋ฌธ - ์ž๋™์œผ๋กœ close()๋ฅผ ํ•ด์ค€๋‹ค. with open('myFile.txt', 'wt') as file: print('myFile.txt ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.') 2. open ํ•จ์ˆ˜ ๋ชจ๋“œ w(write mode) : ์“ฐ๊ธฐ ์ „์šฉ ๋ชจ๋“œ / ํŒŒ์ผ ์—†์œผ๋ฉด ์ƒ์„ฑ t(text mode) : ํ•ด๋‹นํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ธ์‹ํ•˜๊ณ  ์ž…์ถœ๋ ฅ. b(binary mod..

์ง€์—ญ๋ณ€์ˆ˜(local) ์ „์—ญ๋ณ€์ˆ˜(global)

์ง€์—ญ๋ณ€์ˆ˜(local) ํ•จ์ˆ˜ ๋‚ด๋ถ€ ์„ ์–ธ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ „์—ญ ๋ณ€์ˆ˜(global) ํ•จ์ˆ˜ ๋‚ด๋ถ€ ์™ธ๋ถ€ ๋ชจ๋‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ 1. gVar = '์ „์—ญ' def globalAndLocal(): lVar = '์ง€์—ญ' print(gVar, '๋ณ€์ˆ˜ ์ž…๋‹ˆ๋‹ค.') # ์ „์—ญ๋ณ€์ˆ˜, ์ฐธ์กฐ๋งŒ ํ•˜๊ณ  ์žˆ๋‹ค. print(lVar, '๋ณ€์ˆ˜ ์ž…๋‹ˆ๋‹ค.') globalAndLocal() gVar = '์ „์—ญ' def globalAndLocal2(): lVar = '์ง€์—ญ' gVar = '๋ณ€๊ฒฝ๋œ ์ „์—ญ์ด ์•„๋‹Œ ์ƒˆ๋กœ์šด ์ง€์—ญ' #์ง€์—ญ print(gVar, '๋ณ€์ˆ˜ ์ž…๋‹ˆ๋‹ค.') print(lVar, '๋ณ€์ˆ˜ ์ž…๋‹ˆ๋‹ค.') globalAndLocal2() print(gVar) 2. ์ „์—ญ๋ณ€์ˆ˜ ์„ ์–ธ total = 0 def gift(dic, who, money..

datetime ๋ชจ๋“ˆ

datetime ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค 1. import datetime # ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๋ณ€ํ™˜, ๋งˆ์ดํฌ๋กœ ์ดˆ ๋‹จ์œ„ ์ถœ๋ ฅ print(datetime.datetime.now()) print(datetime.datetime.today()) 2. date() ํ•จ์ˆ˜ ํŠน์ •๋‚ ์งœ๋ฅผ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜ print(datetime.date(2023, 1, 30)) print(datetime.time(10, 40, 0)) 3. ๋‚ ์งœ ํ•„๋“œ๊ฐ’ y = datetime.datetime.now().year m = datetime.datetime.now().month d = datetime.datetime.now().day h = datetime.datetime.now().hour mi = datetime.dateti..