VsCode

VS code visual studio code ์‚ฌ์šฉ๋ฒ• ๊ฐœ๋ฐœํ™˜๊ฒฝ C / C++ ์ปดํŒŒ์ผ๋Ÿฌ gcc ํ˜น์€ mingw ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ์„ค์น˜ํ•˜๋„๋ก ํ•œ๋‹ค. ์„ค์ •ํŒŒ์ผ ์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰์„ ์œ„ํ•ด์„œ๋Š” launch.json, setting.json, tasks.json ํŒŒ์ผ์ด ํ•„์š”ํ•˜๋‹ค. vs code์—์„œ ์•Œ์•„์„œ ์ž‘์„ฑํ•ด ์ฃผ์ง€๋งŒ, ๊ธฐ๋ณธ ์„ค์ •์œผ๋กœ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์€ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค. # settings.json { "C_Cpp_Runner.cStandard": "", "C_Cpp_Runner.cppStandard": "", "C_Cpp_Runner.msvcBatchPath": "", "C_Cpp_Runner.warnings": [ "-Wall", "-Wextra", "-Wpedantic" ], "C_Cpp_Runner.enableWarnings": true, "C_Cpp_Runner.warningsAsError": false, "C_Cpp_Runner.compilerArgs": [], "C_Cpp_Runner.linkerArgs": [], "C_Cpp_Runner.includePaths": [], "C_Cpp_Runner.includeSearch": [ "*", "**/*" ], "C_Cpp_Runner.excludeSearch": [ "**/build", "**/build/**", "**/.*", "**/.*/**", "**/.vscode", "**/.vscode/**" ], "C_Cpp_Runner.cCompilerPath": "gcc", "C_Cpp_Runner.cppCompilerPath": "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/g++.exe", "C_Cpp_Runner.debuggerPath": "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/gdb.exe", "files.associations": { "hash_map": "cpp" } } # launch.json { "version": "0.2.0", "configurations": [ { "name": "C/C++ Runner: Debug Session", "type": "cppdbg", "request": "launch", "args": [], "stopAtEntry": false, "cwd": "f:/Documents/GitHub/acmicpc/15997", "environment": [], "program": "๋™์ž‘์‹œํ‚ฌ ํ”„๋กœ๊ทธ๋žจ ๊ฒฝ๋กœ", "internalConsoleOptions": "openOnSessionStart", "MIMode": "gdb", "miDebuggerPath": "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/gdb.exe", "externalConsole": false, "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] } # tasks.json { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "type": "shell", "label": "execute", "command": "${fileDirname}/${fileBasenameNoExtension}.exe", "group": { "kind": "test", "isDefault": true }, "problemMatcher": [] }, { "type": "cppbuild", "label": "C/C++: g++.exe ํ™œ์„ฑ ํŒŒ์ผ ๋นŒ๋“œ", "command": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": "build", "detail": "์ปดํŒŒ์ผ๋Ÿฌ: \"C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\g++.exe\"" } ] } ๋‹จ์ถ•ํ‚ค Ctrl + Shift + P ๋‹จ์ถ•ํ‚ค๋กœ ๋ช…๋ น์„ ์ผ์ผ์ด ์ˆ˜ํ–‰ํ•ด๋„ ๋˜์ง€๋งŒ, ๋‹จ์ถ•ํ‚ค๋ฅผ ์„ค์ •ํ•ด ๋ฐ”๋กœ ์‹คํ–‰ํ•˜๋Š”๊ฒŒ ๋น ๋ฅด๋‹ค. ํŒŒ์ผ -> ๊ธฐ๋ณธ์„ค์ • -> ๋ฐ”๋กœ๊ฐ€๊ธฐํ‚ค (Ctrl + K & Ctrl + S) ๋ฅผ ๋ˆ„๋ฅด๊ณ , ์šฐ์ธก ์ƒ๋‹จ โ€˜๋ฐ”๋กœ๊ฐ€๊ธฐ ํ‚ค ์—ด๊ธฐโ€™ ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋‹จ์ถ•ํ‚ค๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•œ๋‹ค. // ํ‚ค ๋ฐ”์ธ๋”ฉ์„ ์ด ํŒŒ์ผ์— ๋„ฃ์–ด์„œ ๊ธฐ๋ณธ๊ฐ’ ์žฌ์ •์˜ [ { "key": "ctrl+alt+c", "command": "workbench.action.tasks.build", }, { "key": "ctrl+alt+e", "command": "workbench.action.tasks.test", } ]

<span title='2022-04-16 09:07:48 +0900 KST'>April 16, 2022</span>&nbsp;ยท&nbsp;2 min&nbsp;ยท&nbsp;AswinBlue

Window

#MS Window MS window ์‚ฌ์šฉ์‹œ ํ•„์š”ํ•œ ํŽธ์ด ๊ธฐ๋Šฅ๋“ค์„ ๋‚˜์—ด WSL2 ์œˆ๋„์šฐ์—์„œ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. windows 10 ์ด์ƒ๋ถ€ํ„ฐ ์ง€์› ๊ฐ€๋Šฅํ•˜๋ฉฐ, microsoft store์—์„œ ubuntu๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. PowerShell์„ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์•„๋ž˜ ๋ช…๋ น์–ด ์ž…๋ ฅ $ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart $ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart $ wsl โ€“set-default-version 2 WSL ์ฝ˜์†”์—์„œ explorer.exe . ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ˜„์žฌ ๊ฒฝ๋กœ๋ฅผ ์œˆ๋„์šฐ์˜ ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ๋กœ ์—ด ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ๊ฒฝ๋กœ์— ํŒŒ์ผ์„ ์˜ฎ๊ธฐ๋ฉด ์œˆ๋„์šฐ-๋ฆฌ๋ˆ…์Šค ๊ฐ„ ํŒŒ์ผ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •์‹œ ์ปดํ“จํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜์ง€ ์•Š๊ณ  ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ฝ˜์†”์— taskkill /f /im explorer.exe, explorer.exe ๋ช…๋ น์„ ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅํ•œ๋‹ค. ์ž‘์—…ํ‘œ์‹œ์ค„์ด ์—†์–ด์กŒ๋‹ค ์ƒ๊ฒจ๋‚˜๋ฉด ์ ์šฉ์ด ๋œ ๊ฒƒ์ด๋‹ค. ์ผœ์ ธ์žˆ๋˜ ํƒ์ƒ‰๊ธฐ๋Š” ๋ณต์›๋˜์ง€ ์•Š์œผ๋‹ˆ ์ฃผ์˜ batch call ๊ธฐ๋ณธ command๊ฐ€ ์•„๋‹Œ package command๋ฅผ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ, batchํŒŒ์ผ์— ๋ช…๋ น์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ๋„ฃ์–ด์„œ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ฒซ๋ฒˆ์งธ ์ค„๋งŒ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ call ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ์—ฌ๋Ÿฌ ๋ผ์ธ์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค. ex) call npm run build cd server call gradle wrapper ๋ฆฌ๋ˆ…์Šค์—์„œ ํŒŒ์ผ ๊ฐ€์ ธ์˜ค๊ธฐ scp ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์„œ ๋ฆฌ๋ˆ…์Šค์—์„œ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. scp <๊ณ„์ •>@<๋ฆฌ๋ˆ…์Šค_IP์ฃผ์†Œ>:๋ฆฌ๋ˆ…์Šค์—์„œ_๊ฐ€์ ธ์˜ฌ_ํŒŒ์ผ_๊ฒฝ๋กœ ์œˆ๋„์šฐ์—_์ €์žฅํ• _๊ฒฝ๋กœ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ex) scp kim@10.162.32.11:target_file C:\ : C ๊ฒฝ๋กœ์— target_file์„ ๋ฐ›์•„์˜จ๋‹ค. target_file์— ์ ˆ๋Œ€๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค. ์ƒ๋Œ€๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•  ์‹œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋Š” /home/kim/target_file ๊ฐ€ ๋œ๋‹ค.

<span title='2022-03-19 08:29:51 +0900 KST'>March 19, 2022</span>&nbsp;ยท&nbsp;1 min&nbsp;ยท&nbsp;AswinBlue

Web_scrapping

Web Scrapping x-path /a/b/c/d/e/f/g/... ์™€ ๊ฐ™์ด ํŠน์ • ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ง„ ๊ฐœ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. //*[@id="abcd"] // ๋Š” ๋ชจ๋“  ๊ฒฝ๋กœ์—์„œ ์ฐพ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ ๋Š” ๋ชจ๋“  ํƒœ๊ทธ์— ๋Œ€ํ•ด ์ฐพ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ. *๋Œ€์‹  TAG๋ฅผ ๋„ฃ์œผ๋ฉด โ€˜TAGโ€™ ๋ผ๋Š” ์ด๋ฆ„์˜ ํƒœ๊ทธ๋ฅผ ๊ฐ€์ง„ ํ•ญ๋ชฉ์—์„œ๋งŒ ๊ฒ€์ƒ‰ํ•จ @id=โ€œabcdโ€ ๋Š” id๋ผ๋Š” ์†์„ฑ์ด abcd ์ธ ํ•ญ๋ชฉ์„ ์ฐพ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋™์œผ๋กœ ํ•ด์ค’๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต์€ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ •๊ทœ์‹ . : ํ•˜๋‚˜์˜ ๋ฌธ์ž ^ : ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘ $ : ๋ฌธ์ž์—ด์˜ ๋ * : ๋ชจ๋“  ๋ฌธ์ž # : ํ•˜๋‚˜์˜ ์ˆซ์ž ์ •๊ทœ์‹ ์ฐธ์กฐ link ...

<span title='2021-08-23 19:00:44 +0900 KST'>August 23, 2021</span>&nbsp;ยท&nbsp;1 min&nbsp;ยท&nbsp;AswinBlue