μ½λ© 1λ λͺ°λΌλ μΌλ¨ λ°λΌνλ©΄ λλ, 'λꡬλ' νλ μΌλ§€μ½λ© μ리μ¦μ λλ€.
λꡬλ λ§λ€μ΄λ³΄λ μ€νλ΄! κ°μ’ λ§μ§λ§ νΈμ μ€μ κ²μ νμν©λλ€.
μ λ² νΈμμ κ½€ λ§μ λ΄μ©μ λ€λ€μ΅λλ€.
μ€ν λΈλ‘체μΈμμ λ°μμ€λ permlink κ°λ
μ μμλ΄€κ³ , .export()λ₯Ό μ΄μ©ν΄ ν¬μ€νΈμ μ 보λ₯Ό μ½μ΄λ³΄κΈ°λ νμ΅λλ€. μλ¬λ₯Ό ν΄κ²°νκΈ° μν΄ λ
Έλλ λ³κ²½νκ³ whileλ¬Έκ³Ό try/exceptλ¬Έμ μ‘°ν©νκΈ°λ νμ£ .
λΏλ§ μλλΌ νΉμ λ¬Έκ΅¬κ° μΈκΈλλμ§ μ€μκ°μΌλ‘ 체ν¬κ° κ°λ₯ν΄μ‘κ³ , ν¬μ€ν ν€λ₯Ό λ£μ΄ λλκΈλ λ¬ μ μκ² λμμ΅λλ€.
μ¦ κΈ°λ³Έμ μΈ κΈ°λ₯μ κ°μΆ μ€νλ΄μ΄ λλμ΄ μμ±λμμ£ !
νμ§λ§ μμ§ μνλ 문ꡬλ₯Ό μΈμνκ³ , μ€μκ°μΌλ‘ μ§μ λ λ¬Έμ₯μΌλ‘ λλκΈμ λ€λ μ λμ λλ€. λ κ°λ €ν¬ν κΈ°λ₯μ κ°μ·μΌλ©΄ μ’μν λ° λ§μ΄μ£ ! κ·Έλμ μΆκ° νΈμ±μΌλ‘ μ¬ννΈμμ λ³΄λ€ λ€μν κΈ°λ₯λ€μ 3~4κ° μ λ μκ°νκ² μ΅λλ€.
μ μ΄λ² νΈμμλ VMμΈμ€ν΄μ€ νλ©΄μ λ«μλ νλ¦°μ΄λ§μ μ€νλ΄μ΄ 24/7 μλνλλ‘ νλ λ°©λ²μ λ°°μλ³Όκ²μ :)
A. κ°λ° νκ²½μ€μ λ°λΌνκΈ° I - Google Cloud μΈν
B. κ°λ° νκ²½μ€μ λ°λΌνκΈ° II - Conda μΈν
C. μ€ν API μ€μΉ λ° μ΄ν΄λ³΄κΈ° 101
D. μ€ν API μ¬ν, λΈλ‘μ²΄μΈ & ν¬μ€νΈ
E. μμ λ‘ λ°λΌνλ μ€νλ΄ λλ±
F. nohupμΌλ‘ μλν, μμμ μΈμ λ 24/7 β
κ·ΈλΌ λ³Έκ²©μ μΌλ‘ μμν΄λ³ΌκΉμ?
μ΄λ―Έμ§ μΆμ² - https://dribbble.com/shots/3974885-Bumblebee by Pat Grivet
μ¬κΈ°κΉμ§ ν¨κ»ν νλ¦°μ΄λΌλ©΄ μ΄μ κ°μ’λ₯Ό μν μ€λΉ λ¨κ³λ κ±°λ¬ν νΌμ ν μ μλ€κ³ λ―Ώμ΄μ. VMμΈμ€ν΄μ€(λΆμ) μ μνκ³ μ‘°λ¦¬κΈ°κ΅¬ μΈν κΉμ§ ν΄μ£ΌμΈμ.
source activate steembotμ μ
λ ₯ν΄μ£ΌμΈμ. (쑰리기ꡬ μΈν
)μ μ€λΉλλμ?
μ? μ΄λμ μ½μ΄λ³Έλ―ν λ°μλ·°...λΌκ³ μ? μλλλ€!!
μ λ²κ°μ§ μμ±νλ λ μνΌ(μ½λ) λΆν° λ€μ λ³ΌκΉμ?
from steem.blockchain import Blockchain
from steem.post import Post
from steem import Steem
s = Steem(nodes=["https://rpc.buildteam.io"], keys=["Key Goes Here!"])
b = Blockchain(s)
while True:
try:
stream = map(Post, b.stream(filter_by=['comment']))
for post in stream:
if "@μΌλ§€μ½λ©" in post.export()['body']:
print(post.export()['body'])
post.reply("Hi there!","","hellocrypto")
except:
print("λ¨")
κ·Έλ¬κ³ 보λ μμ λ μνΌ(μ½λ)μμ ν κ°μ§ λ¬Έμ μ μ΄ μμμ£ ?
λΆλͺ
stream = map(Post, b.stream(filter_by=['comment']))μμ filter_by=['comment']μ μν μ΄ μ€μκ°μΌλ‘ μ½μ΄μ€λ λΈλ‘μ²΄μΈ μ 보μ€μμ λκΈλ§ νν°ν΄μΌ νλλ°, ν¬μ€νΈλ λκΈ λ λ€ μΈμνκ³ μμ£ .
μ무λλ λκΈλ§ μΈμνμΌλ©΄ μ’κ² μΌλ, μ΄κ±Έ κ°λ¨ν κ³ μ³λ³ΌκΉμ?
μ¬μ€ μ λ² νΈμμ μΈκΈνμ΄μΌ νλ λ΄μ©μΈλ° μκ³ λ§μμ΅λλ€ (λ°ν·) μΉμ ν μ§μ ν΄μ£Όμ λ§μλ
@maanyaλ κ°μ¬ν©λλ€ :)
λ± ν μ€λ§ μΆκ°νλ©΄ λ©λλ€ :) if post.is_comment():
if "@μΌλ§€μ½λ©" in post.export()['body']:
if post.is_comment():
print(post.export()['body'])
post.reply("Hi there!","","hellocrypto")
κ·ΈλΌ μ΄μ λ μνΌ(μ½λ) λ‘μ§μ΄,
κ° λκ² λ€μ. ν¬μ€νΈλΌλ©΄ 무μλ₯Ό νκ² μ£ μ΄μ .
κ·Έλ¦¬κ³ ifλ¬Έ λμ (:) μ½λ‘ μ΄ μμΌλ κΈ°μ‘΄ μ½λ λ μ€μ ν λ² νμ ν΄μ μμΌλ‘ λ°μ΄μ£Όλκ±° μμ§ λ§κ³ μ! νμ΄μ¬μ λμ΄μ°κΈ°μ λ―Όκ°ν©λλ€.
(ν λ² λ ν!)print(post.export()['body'])
(ν λ² λ ν!)post.reply("Hi there!","","hellocrypto")
λ§μ½ λ°λλ‘ λκΈμ΄ μλ ν¬μ€νΈλ§ μΈμνκ³ μΆλ€λ©΄
if post.is_main_post():λ₯Ό μ¬μ©νμλ©΄ λ©λλ€.
μ§κΈκΉμ§ μ€νλ΄μ μλμν€λ €λ©΄ python3 blockpost.pyλ₯Ό μ΄μ©νκ³ μμμ£ ?
νμ§λ§ μ΄μ μ μλ€μνΌ VMμΈμ€ν΄μ€ κ²μνλ©΄μ λ«μΌλ©΄ μ’ λ£λμ΄ λ²λ¦°λ€λ λ¨μ μ κ°κ³ μμ΅λλ€. μ€νλ΄μ 24/7 μλν΄μΌ μλ―Έκ° μλλ° λ§μ΄μ£ .
κ·Έλμ ν΄κ²°μ± μΌλ‘ 리λ μ€μ nohupμ΄λΌλ λͺ λ Ήμ΄λ₯Ό μ¬μ©ν΄λ³ΌκΉ ν΄μ.
nohup python3 blockpost.py &
λ³Έλμ python3 blockpost.py μμ nohup κ·Έλ¦¬κ³ λ€μλ &κ° μΆκ°λμ£ ?
VMμΈμ€ν΄μ€λ₯Ό SSHν€λ₯Ό μ΄μ©ν΄ μ μνλ©΄ κ²μνλ©΄μ΄ λ΄μλλ°, μ΄λ₯Ό λ«λλ€λ κ²μ μ μ, μ¦ μ°κ²°μ λλ€λ λ»μ΄μ£ . κ·Έλμ κΈ°μ‘΄ μ€νλλ μ€νλ΄λ λ©μ·κ³ μ.
κ·Έλ°λ° nohupμ 'μ°κ²°μ΄ λ겨λ μκ΄μμ΄~'λΌλ λ»μ κ°μ Έμ.
κ·Έλ¦¬κ³ &λ λ°±κ·ΈλΌμ΄λμμ μ€νμμΌ! λΌλ λ»μ κ°μ§μ£ .
λ°±κ·ΈλΌμ΄λ(background)μμ μ€νμν€λκ² λ¬΄μ¨ μ°¨μ΄κ° μλκ³ μ?
python3 blockpost.pyλ₯Ό μ€ννλ©΄ κ²μνλ©΄μμλ μ€νλ΄μ΄ λμκ°λ©΄μ λμ€λ κ²°κ³Όλ€λ§ κ³μ λμμ£ . λ€λ₯Έ μΌμ ν μκ° μμμ΄μ! κ·Έλ°λ° λ°±κ·ΈλΌμ΄λλ‘ λ³΄λ΄λ©΄ λ·μͺ½μμ ν΄λΉ μΌμ΄ μ§νλκ³ , κ·Έλμ νλ¦°μ΄ λ λ€λ₯Έ μμ μ ν μ μμ£ .
nohup python3 blockpost.py &μ μ
λ ₯νκ³ μν°λ₯Ό λλ₯΄μ
¨λμ? κ·ΈλΌ μλμ κ°μ κ²°κ³Όκ° λμμ.
리λ μ€μμ μλμΌλ‘ ν΄λΉ μΌ(νλ‘μΈμ€)μ λ²νΈλ₯Ό λ§€κΉλλ€. μ κ°μ κ²½μ°μλ 9886μ΄λΌκ³ μ§μ λλ€μ.
κ·Έλ¦¬κ³ λ λ²μ§Έ μ¬μ§μ 보면 ν΄λΉ κ²°κ³Όλ nohup.outμ΄λΌλ νμΌμ μ μ₯λλ€κ³ λμ΅λλ€.
κ²°κ³Όκ° νμΌμ μ μ₯λμΌ νλ μ΄μ μ? μ΄μ λ λ°±κ·ΈλΌμ΄λμμ μ€νλ΄μ΄ λμκ°λκΉ, μλ¬ λ©μΈμ§λ μ±κ³΅νμ λ μΆλ ₯νλ λκΈμ λ΄μ© λ±μ λ°λ‘λ°λ‘ κ²μ νλ©΄μμ λͺ» 보μμμ.
κ·Έλμ ν΄λΉ λ΄μ©μ νμΌμ μ μ₯ν΄λλ©΄, μΈμ λ λ€μ λμμμ νμΈν μ μμ£ . λ€λ₯Έ λ§λ‘λ λ‘κ·Έ(log)λ₯Ό λ¨κΈ΄λ€κ³ νμ£ .
μ΄μ λ·μͺ½μμ μ λμκ°κ³ μλμ§ μλμ§, μ μκ° μμΌλ νμΈν΄λ΄μΌκ² μ£ ?
psλΌλ λͺ
λ Ήμ΄λ₯Ό μ°λ©΄ λ©λλ€. μ
λ ₯ ν μν°λ₯Ό λλ¬μ£ΌμΈμ κ·ΈλΌ μλμ κ°μ κ²°κ³Όκ° λ³΄μ
λλ€ :)
μ€κ°μ python3κ° λ³΄μ΄μ£ ? λ²νΈλ 9886μ΄λ€μ.
μκΉ nohupμΌλ‘ μ€νμν¬ λ 보μλ λ²νΈμ£ .
λ€νν μ μ€νλκ³ μλ€μ :)
μ΄λ²μλ ls λͺ
λ Ήμ΄λ‘ μ μ₯λ νμΌλ€ λͺ©λ‘μ μ΄ν΄λ³ΌκΉμ?
μ΄μ nohup.outμ΄ μΆκ°λλ€μ! μ΄μ μΈμ λ μ§ cat nohup.outμΌλ‘ μμ λ΄μ©μ μ‘°νν΄λ³Ό μ μμ΅λλ€.
λ§μ§λ§μΌλ‘ λ°±κ·ΈλΌμ΄λμμ λμκ°λ μ€νλ΄μ μ€μ§μν€κ³ μΆμ λ λ°©λ²μ μλ €λλ¦¬κ² μ΅λλ€.
μ¬λ¬ λ°©λ²λ€μ΄ μκ² μ§λ§, μ λ κ°μΈμ μΌλ‘ killμ΄λΌλ μ΄λ²ν λͺ
λ Ήμ΄λ₯Ό μ¬μ©ν©λλ€.
μκΉ νλ‘μΈμ€ λ²νΈλ₯Ό λ€μ μ λ ₯νλ©΄ λμ£ .
μ§μ! terminated μ¦ μ’ λ£λλ€κ³ λμ΅λλ€.
μ΄μ λ°©λ²μ μ μμκ² μ£ ? nohupμ μ΄μ©νμλ©΄ λ°λ‘ κ²μνλ©΄μ λ«μ VMμΈμ€ν΄μ€ μ μμ λμ΄λ μ€νλ΄μ μ΄μ¬ν 24/7 μΌνκ³ μμκ²λλ€.
κΈΈλ©΄ κΈΈκ³ , μ§§λ€λ©΄ μ§§μ μΌλ§€μ½λ© μ¬μ μ΄μμ΅λλ€.
A. κ°λ° νκ²½μ€μ λ°λΌνκΈ° I - Google Cloud μΈν
B. κ°λ° νκ²½μ€μ λ°λΌνκΈ° II - Conda μΈν
C. μ€ν API μ€μΉ λ° μ΄ν΄λ³΄κΈ° 101
D. μ€ν API μ¬ν, λΈλ‘μ²΄μΈ & ν¬μ€νΈ
E. μμ λ‘ λ°λΌνλ μ€νλ΄ λλ±
F. nohupμΌλ‘ μλν, μμμ μΈμ λ 24/7 β
λ§μ νλ¦°μ΄ μ¬λ¬λΆ(κ·Έλ¦¬κ³ λ»λ°μ κ΅μλΆλ€)μ΄ ν¨κ» ν΄μ£Όμ μ νμ΄ λ¬μ΅λλ€. λλΆμ μ¬κΈ°κΉμ§ μ½ 9μΌλ§μ λ¬λ €μλ€μ :)
μ무κ²λ λͺ°λλ νλ¦°μ΄λΌλ, μΌλ¨ κΈ°λ³Έμ μΈ ννμ μ€νλ΄μ μ§μ λ§λ€μ΄ 보λ κ²½νμ ν¨κ» νκ³ μΆμμ΅λλ€. κΌ μ½λ©μ μν΄μΌ λ릴 μ μλκ² μλλΌκ³ 보μ¬μ£Όκ³ μΆμμ£ .
κ·Έ μμ§κ° μ μ λ¬λμμ§ κΆκΈνλ€μ νν³.
μ¬κΈ°κΉμ§ μΌλ§€μ½λ© μ리μ¦μ 'λꡬλ λ§λ€μ΄λ³΄λ μ€νλ΄!' νΈμ΄μμ΅λλ€.
μ‘°κΈ μΆ©μ μ μκ°μ κ°μ§κ³ , μλ‘μ΄ μΌλ§€μ½λ© κ°μ’λ‘ μ°Ύμλ΅κ² μ΅λλ€!
μ΄λ§ μλ³ ν¬λ¦½ν @hellocryptoμμ΅λλ€. νμΉ!