๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 90

.gitignore ๋งŒ๋“ค ๋•Œ ๊ฟ€ํŒ

.gitignore ๋งŒ๋“ค๊ธฐ www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com ๋‚˜๋Š” PyCharm ๋•Œ๋ฌธ์— ๋งŒ๋“œ๋Š” ๊ฑฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์—ˆ๋‹ค. ๋ณธ์ธ์ด ์‚ฌ์šฉํ•˜๋Š” OS๋‚˜ IDE์— ๋งž์ถฐ์„œ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋  ๋“ฏ! ์ด๋ ‡๊ฒŒ ๊ฒ€์ƒ‰ํ•ด์„œ ๋‚˜์˜จ ๋‚ด์šฉ์„ .gitignoreํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋œ๋‹ค!! ์—„์ฒญ ๊ฐ„๋‹จํ•˜๋‹ค๐Ÿ‘

Git 2020.11.13

์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค 3๊ธฐ ์˜จ๋ผ์ธ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ›„๊ธฐ

์šฐํ…Œ์ฝ” ๋•๋ถ„์— ์ธ์ƒ ์ฒ˜์Œ์œผ๋กœ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ์‹œํ—˜์€ 4์‹œ๊ฐ„ ๋™์•ˆ ์ง„ํ–‰๋˜์—ˆ๊ณ , ์ด 7 ๋ฌธ์ œ๊ฐ€ ๋‚˜์™”๋‹ค. ๋ฌธ์ œ ๋‚œ์ด๋„๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๊ด€ํ•ด ๊ณต๋ถ€ํ•˜์ง€ ์•Š์•˜๋”๋ผ๋„ ํ’€ ์ˆ˜ ์žˆ์„ ์ •๋„์˜€๋‹ค. (๋ฐ”๋กœ ๋‚˜) ๊ทธ๋ž˜๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ํ‰์†Œ์— ๊ณต๋ถ€ํ–ˆ๋‹ค๋ฉด ํ›จ์”ฌ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™์•˜๋‹ค. ๋ฐฉํ•™ ๋•Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋ฅผ ์ฐ”๋”ํ•˜๋‹ค๊ฐ€ ๊ฐœ๊ฐ•ํ•˜๊ณ  ๊ฑฐ~์˜ ๋†“์•˜๋˜ ๊ฑธ ์—„์ฒญ๋‚˜๊ฒŒ ํ›„ํšŒํ•˜๋ฉฐ(....) ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. ์‹œํ—˜ ๋ณด๊ธฐ ์ „์—๋Š” 4์‹œ๊ฐ„์ด๋ฉด ๋„‰๋„‰ํ•  ๊ฒƒ ๊ฐ™์•˜๋Š”๋ฐ.. ์ง„์งœ ๋ˆˆ ๊นœ์งํ•  ์ƒˆ ์ง€๋‚˜๊ฐ”๋‹ค. ๋‚˜๋ฆ„ ๊ณ ๊ตฐ๋ถ„ํˆฌํ•˜๋ฉฐ ์ด 7๋ฌธ์ œ ์ค‘ 5๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”๋ฐ..... ์ฒ˜์Œ์—๋Š” boundary case๋Š” ๋‚˜์ค‘์— ์ƒ๊ฐํ•˜๊ณ  ์ผ๋‹จ ๋นจ๋ฆฌ๋นจ๋ฆฌ ํ’€์ž!!! ํ•˜๋‹ค๊ฐ€ ๊ฒฐ๊ตญ ์‹œ๊ฐ„ ์กฐ์ ˆ ์‹คํŒจ๋กœ ์•ฝ 30๋ถ„ ๋‚จ๊ฒจ๋†“๊ณ  ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹คใ… ใ…  ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ํ•œ 15๋ถ„ ๋‚จ๊ธฐ๊ณ  boundary..

MySQL ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๋ฐ ํ…Œ์ด๋ธ” ์ •๋ณด ์กฐํšŒ

Command Line Client์˜ ํ™˜๊ฒฝ(ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜)์—์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ๊นŒ SQL ๋ช…๋ น์–ด๋ฅผ ๋‹ค ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋‹ค ์‹คํ–‰ / ํ˜„์žฌ ๋ผ์ธ๋งŒ ์‹คํ–‰ show databases; ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋“ค์˜ ๋ชฉ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. use ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„; ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค. Workbench์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋”๋ธ”ํด๋ฆญํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด๋‹ค. show tables; ์„ ํƒ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ํ…Œ์ด๋ธ” ๋ชฉ๋ก ์กฐํšŒ desc ํ…Œ์ด๋ธ” ๋ช…; ์ง€์ •๋œ ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ๋ช…, ์ž๋ฃŒํ˜• ๋“ฑ ์ •๋ณด๋ฅผ ์กฐํšŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ์—‘์…€๋ฌธ์„œ๋กœ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

MySQL 2020.11.01

๊ธฐ์‚ฌ ์›น์Šคํฌ๋ž˜ํ•‘(ํฌ๋กค๋ง)ํ•ด์„œ ์ด๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ

๊ธฐ์‚ฌ ์›น์Šคํฌ๋ž˜ํ•‘(ํฌ๋กค๋ง)ํ•˜๊ธฐ ํฌ๋กค๋ง ํ•˜๊ณ ์‹ถ์€ ๋ถ€๋ถ„์„ ์šฐํด๋ฆญ > ๊ฒ€์‚ฌ > Copy > Copy selector ์›น์‚ฌ์ดํŠธ ๋งˆ๋‹ค HTML ๊ตฌ์กฐ๊ฐ€ ๋‹ค๋ฅด๊ธฐ๋•Œ๋ฌธ์— ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•๋งŒ ์•Œ๋ฉด ๐Ÿ‘Œ from bs4 import BeautifulSoup from selenium import webdriver driver = webdriver.Chrome('chromedriver') url = "https://search.naver.com/search.naver?where=news&sm=tab_jum&query=์ถ”์„" driver.get(url) req = driver.page_source soup = BeautifulSoup(req, 'html.parser') articles = soup.select('#main_p..

Python 2020.10.13

์นด์นด์˜คํ†ก ์›Œ๋“œํด๋ผ์šฐ๋“œ ๋งŒ๋“ค๊ธฐ

์›Œ๋“œํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์„ค์ • ์›Œ๋“œํด๋ผ์šฐ๋“œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•œ๋‹ค. File > Settings > Python Interpreter > wordcloud import matplotlib.font_manager as fm # ์ด์šฉ ๊ฐ€๋Šฅํ•œ ํฐํŠธ ์ค‘ '๊ณ ๋”•'๋งŒ ์„ ๋ณ„ -> ๊ธ€์”จ๊ฐ€ ๊ตต์–ด์•ผ ์˜ˆ๋ป์„œ for font in fm.fontManager.ttflist: if 'Gothic' in font.name: print(font.name, font.fname) ์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด ๊ทธ๋Ÿฌ๋ฉด ํฐํŠธ์˜ ๊ฒฝ๋กœ๋“ค์ด ์ญ‰ ์ถœ๋ ฅ๋  ํ…๋ฐ, ๊ทธ์ค‘ ๋งˆ์Œ์— ๋“œ๋Š” ํฐํŠธ ๊ฒฝ๋กœ ํ•˜๋‚˜ ๋ณต์‚ฌํ•ด๋†“๊ธฐ. (BUT ์›Œ๋“œํด๋ผ์šฐ๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š๋Š” ํฐํŠธ๋“ค์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— MalgunGothic(์œˆ๋„์šฐ), AppleGothic(๋งฅ)์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์ž!) from wor..

Python 2020.10.13

์ด๋ฏธ์ง€ ์›น ์Šคํฌ๋ž˜ํ•‘(์›น ํฌ๋กค๋ง)ํ•˜๊ธฐ

dload ํŒจํ‚ค์ง€ ์„ค์น˜ dload๋Š” ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์‰ฝ๊ฒŒ ๋„์™€์ฃผ๋Š” ํŒจํ‚ค์ง€์ด๋‹ค. File > Settings > Python Interpreter ์˜ค๋ฅธ์ชฝ์— + ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ์„œ dload ๊ฒ€์ƒ‰ import dload dload.save("์ด๋ฏธ์ง€ ์ฃผ์†Œ") ๊ตฌ๊ธ€์—์„œ ์•„๋ฌด ์ด๋ฏธ์ง€๋‚˜ ๊ฒ€์ƒ‰ํ•ด์„œ '์ด๋ฏธ์ง€ ์ฃผ์†Œ ๋ณต์‚ฌ'ํ•ด์„œ ๋งํฌ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ์ด๋ฏธ์ง€๊ฐ€ ์ €์žฅ๋œ๋‹ค. ์…€๋ ˆ๋‹ˆ์›€ ์„ค์น˜ ์…€๋ ˆ๋‹ˆ์›€์€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ž๋™์œผ๋กœ ์ œ์–ดํ•ด์ฃผ๋Š” ํŒจํ‚ค์ง€์ด๋‹ค. File > Settings > Python Interpreter seleninum ๊ฒ€์ƒ‰ > Install Package ์…€๋ ˆ๋‹ˆ์›€ ์›น๋“œ๋ผ์ด๋ฒ„ ์„ค์น˜ ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ € > ๋„์›€๋ง > Chrome ์ •๋ณด > ํฌ๋กฌ ๋ฒ„์ „ ํ™•์ธ ์…€๋ ˆ๋‹ˆ์›€ ์›น๋“œ๋ผ์ด๋ฒ„ ์„ค์น˜ ๋งํฌ๋กœ ๊ณ ๊ณ  chromedriver.storage.googleap..

Python 2020.10.02

Java ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰ ์‹œ๊ฐ„ ์ธก์ •

์ œ๋Œ€๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋Š”์ง€ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์†Œ์š” ์‹œ๊ฐ„์„ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์˜ ์ˆ˜ํ–‰ ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋Š” ๊ฒƒ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ์œจ์„ฑ์„ ์ธก์ •ํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•!! sleep๋ฉ”์†Œ๋“œ์—์„œ 1000 = 1์ดˆ /* ์‹œ์ž‘ ์‹œ๊ฐ„ */ long start_time = System.currentTimeMillis(); /* 1์ดˆ ๋Œ€๊ธฐ */ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } /* ์ข…๋ฃŒ ์‹œ๊ฐ„ */ long end_time = System.currentTimeMillis(); System.out.println( "Time: " + ( end_time - start_time )/1000.0 );

Java 2020.09.02

CSS display ์†์„ฑ: block, inline, flex (+) vh ๋‹จ์œ„

block, inline block: ์˜†์— ์•„๋ฌด๊ฒƒ๋„ ์˜ฌ ์ˆ˜ ์—†๋‹ค. ํ˜ผ์ž ํ•œ ์ค„์„ ์ฐจ์ง€. , , ๋“ฑ. inline: ๋†’์ด(height)์™€ ๋„ˆ๋น„(weight)๊ฐ€ ์—†์Œ. ์˜†์— ๋‹ค๋ฅธ ์š”์†Œ๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. , , ๋“ฑ. display ์†์„ฑ๊ฐ’ ๋ณ€๊ฒฝ display: block; display: inline; display: inline-block; inline-block: ๋ฐ•์Šค ๋ชจ์–‘์ด์ง€๋งŒ inline ๋“ฑ์œผ๋กœ ์†์„ฑ๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ. block์˜ ๋Œ€ํ‘œ์ ์ธ ํŠน์ง• 3๊ฐ€์ง€ margin padding border margin box์˜ border(๊ฒฝ๊ณ„)์˜ ๋ฐ”๊นฅ์— ์žˆ๋Š” ๊ณต๊ฐ„. ์ฃผํ™ฉ์ƒ‰ ๋ถ€๋ถ„์ด margin. inline ์€ ์œ„, ์•„๋ž˜ margin์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. ๋†’์ด์™€ ๋„ˆ๋น„๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ. (padding์€ ์‚ฌ๋ฐฉ์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ O) ∴ m..

Web 2020.08.15