๋ชฉ๋ก์ ์ฒด ๊ธ (1099)
KoreanFoodie's Study
์ค์นผ๋ผ ํํ ๋ฆฌ์ผ, scala์ tail recursion์ ์์๋ด ์๋ค Recursion needs care Let's look at typical summation fuction. def sum(n: Int) : Int = if (n x*x*x, n) // or def sumLinear(n: Int) = sum((x)=>x, n) def sumSquare(n: Int) = sum((x)=>x*x, n) def sumCubes(n: Int) = sum((x)=>x*x*x, n) Excercise def sum(f: Int => Int, a: Int, b: Int): Int = if (a Int, a: Int, b: Int): Int = if (a Int, inival: Int, f: Int => Int, ..
์ค์นผ๋ผ ํํ ๋ฆฌ์ผ, scala์์ lazy val์ ๋ํด ์์๋ณด์ Blocks and Name Scoping Blocks in scala Block is an expression. It also allow nested name binding. Block allows arbitraty order of "def"s, but not "val"s(think about why). Scope of names Block example : val t = 0 def f(x: Int) = t + g(x) def g(x: Int) = x * x val x = f(5) val r = { val t = 10 val s = f(5) t + s } val y = t + r A definition inside a block is on..
์ค์นผ๋ผ์์ call by value์ call by name์ ์ฐจ์ด๋ฅผ ์์๋ณด์ There is two strategy to evaluate values. Call-by-value Evaluate the arguments first, then apply the function to them Call-by-name Just apply the function to its arguments, without evaluating them Let's see the example. def square (x: Int) = x * x [cbv] square(1+1) ~ square(2) ~ 2 * 2 ~ 4 [cbn] square(1+1) ~ (1+1) * (1+1) ~ 2 * (1+1) ~ 2 * 2 ~ 4 So wha..
ํ์ด์ฌ์ผ๋ก ๋ง๋ ๊ฐ๋จํ ํฌ๋กค๋ฌ ์ฐธ๊ณ ์๋ฃ : ์น ํฌ๋กค๋ฌ ๋ง๋ค๊ธฐ, Implicit vs. Explict wait ๋น๊ตํ๊ธฐ ์ ํฌ๋ธ์์ ์์ ๋ค์ด๋ก๋ํ๋ ์์ ์๋ํ ํ๊ธฐ ์น๊ตฌ๊ฐ ์ ํฌ๋ธ๋ฅผ ํตํด ์์ ์ ๋ณํํด์ ๋ค์ด๋ก๋ ๋ฐ๋ ๊ฒ์ ๋ณด๊ณ , ์ด๋ฅผ ๊ฐํธํ๊ฒ ํด์ฃผ๊ณ ์ ํ์ด์ฌ selenium module, chromedriver์ ์ด์ฉํด ์คํํค(Win+R)๋ฅผ ํตํด ์ฝ๊ฒ ์์ ์ ๋ค์ด๋ก๋ํ๋ ์ฝ๋๋ฅผ ์์ฑํด ๋ณด์์ต๋๋ค. ์, ์ฐธ๊ณ ๋ก mp3juices.cc ๋ผ๋ ์ฌ์ดํธ๋ก๋ถํฐ ์์ ์ ๋ณํํด์ ๋ค์ด์ ํ๋๋ฐ, ์ฌ๊ธฐ๊ฐ ์ ์ผ ๊น๋ํ ๊ฒ ๊ฐ์์(์ ๊ธฐ์ค) Prerequsite : Python3 (Latest version is recommemded) Installing 3rd party modules (pyperclip, seleniu..
ํ์ด์ฌ์์ ๊น๋จน์ ์ ์๋ ์์ํ ์ฌํญ๋ค์ ๋ฆฌ๋ง์ธ๋ํ๋ ํฌ์คํธ์ ๋๋ค. ์ฝ๋๋ค์ automatetheboringstuff.com์์ ์ฐธ์กฐํ์ต๋๋ค. ์ ์์ Backslash on Windows and Forward Slash on OS X and Linux >>> import os >>> os.path.join('usr', 'bin', 'spam') 'usr\\bin\\spam' The os.path.join() function is helpful if you need to create strings for filenames. These strings will be passed to several of the file-related functions introduced in this chapter. For..
ํ์ด์ฌ์์ ๊น๋จน์ ์ ์๋ ์์ํ ์ฌํญ๋ค์ ๋ฆฌ๋ง์ธ๋ํ๋ ํฌ์คํธ์ ๋๋ค. ์ฝ๋๋ค์ automatetheboringstuff.com์์ ์ฐธ์กฐํ์ต๋๋ค. ์ ์์ Raw Strings A raw string completely ignores all escape characters and prints any backslash that appears in the string. >>> print(r'That is Carol\'s cat.') That is Carol\'s cat. Slicing strings >>> spam = 'Hello world!' >>> spam[0] 'H' >>> spam[4] 'o' >>> spam[-1] '!' >>> spam[0:5] 'Hello' >>> spam[:5] 'Hello' >..
ํ์ด์ฌ์์ ๊น๋จน์ ์ ์๋ ์์ํ ์ฌํญ๋ค์ ๋ฆฌ๋ง์ธ๋ํ๋ ํฌ์คํธ์ ๋๋ค. ์ฝ๋๋ค์ automatetheboringstuff.com์์ ์ฐธ์กฐํ์ต๋๋ค. ๋จผ์ , syntax์ ๊ด๋ จ๋ ์ฌํญ๋ค์ ๋ณต์ตํ๋ ๊ฒ์ด ์ฐ์ ์ด๋ค. ์ฃผ๋ก ์์ ๋ค์ ํตํด ๊ธฐ์ต์ ๋๋ฌ์ด ๋ณด์. ์ ์์ ๋ค(๊ฐ์ฅ ๊ธฐ์ด๋ถํฐ) : >>> 'Alice' + 'Bob' 'AliceBob' >>> 'Alice' + 42 Traceback (most recent call last): File "", line 1, in 'Alice' + 42 TypeError: Can't convert 'int' object to str implicitly >>> 'Alice' * 5 'AliceAliceAliceAliceAlice' >>> 'Alice' * 'Bob' Traceb..
Implement a simple linux shell with pipe and more! ๋ฆฌ๋ ์ค ์์์ ํ์ดํ, ๋ฆฌ๋ค์ด๋ ์ ์ ๊ตฌํํด ๋ณด์ I'm going to present how to solve execercise 11, chapter3, from Operating Systems: Principles & Practice,2nd Edition. Problem specificatoin : implement a simple linux shell in c capable of executing a sequence of programs that communicate through a pipe. For example, if the user types ls | wc... So the problem is how t..
์น๊ตฌ์ ์ฝ์์ด ์์๋๋ฐ, ์ด์ฉ๋ค ๋ณด๋ ์ทจ์๊ฐ ๋์ด ์๊ฐ์ด ๋ถ ๋ ๋ฒ๋ ธ๋ค. ๋ง์นจ ๊น์น์ฐ๊ฐ๋ฅผ ๋จน๊ณ ์ถ์๊ธฐ์, ๊ฐ ๊ณณ ์๋ ๋ฐ๊ฑธ์์ ์๋ง์ ์๋น์ผ๋ก ํฅํ๋ค. ๊ฐ์คํ๊ณ , ๋ง ํ๊ฐ๋ฅผ ํด๋ณด์๋ฉด... -๊น์น์ฐ๊ฐ์ ๊ฐ์ ์ ๋นํ๊ณ , ๋งค์ด ์ ๋๋ ์ ๋นํ๋ค. ์ ๋ผ๋ฉด๋ณด๋ค ์ฝ๊ฐ ๋ ๋งค์ด ๋๋?- ๋ฐฅ์ ์ผ๋ฐ ๋ฐฅ์ง์์ ๋์ค๋ ์์ ์คํ ๊ทธ๋ฆ์ 2๋ฐฐ๋ฅผ ์ด์ง ์๋๋ ์์ด๋ค. ๋ฐฅ์ด ๋ถ์กฑํ์ง ์์๋ฏ.- ๊ตญ๋ฌผ์ ๋ฐฅ์ ๋ค ๋ง์์ ๋ ๊ธฐ์ค์ผ๋ก ์ฝ 2.3 ์๊ฐ์ ํ ๋ฒ์ฉ ๊ณ ๊ธฐ๊ฐ ์ฌ๋ผ์ค๋ ๊ฒ ๊ฐ๋ค.- ๊ณ ๊ธฐ๋ ์ง๋ฐฉ(๊ธฐ๋ฆ๊ธฐ)์ด ๊ฑฐ์ ์๋ ๋ถ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ๋ค. ์๋ค๋ฆฌ๋ ๋ท๋ค๋ฆฌ๊ฐ ์๋๊น..? ํ๊ฒ์ง๊ฒ ๋จน์ด์ ์ฒดํฌ๋ฅผ ์ ๋ชป ํ์ง๋ง, ์ผ๊ฒน์ด์ ํ์คํ ์๋๋ค. ๊ทธ๋๋ ๋ง์ด ํฝํฝํ๋ค๊ฑฐ๋ ์ง๊ธฐ์ง๋ ์์๋ค. ๋ถ๋๋ฝ๋ค!- ๊ฐ๊ฒฉ์ด 5000์์ด์๋ค๋ฉด ์ธ๋ค๊ณ , 70..