PyCharms 설정

OpenStack 2015. 6. 9. 18:09
반응형

Mac 에서


1. virtualenv 설치하기

$ sudo pip install virtualenv


2. ffi.h 헤더 설치하기

$ xcode-select --install


3. virtualenv 생성

$ virtualenv .venv


4. virtualenv 로 들어가기

$ . ./.venv/bin/activate


5. 설치하기

(.venv)$ pip install -r requirements.txt


6. 환경 복사하기

(.venv)$ pip freeze > requirements.txt













반응형
Posted by seungkyua@gmail.com
,
반응형



I. 가슴에 와 닿는다.


1. 내안의 대가를 깨워라

   - 당신을 가슴 뛰게 하는 것은 무엇인가? 그것을 따르면 청중도 공감한다.

   - 사업적 열정의 정의 : 한 개인으로서 당신에게 깊은 의미가 있는 뭔가를 위해 경험하는 긍정적이고 강렬한 느낌

                                     한 사람의 자기 정체성에서 핵심이 되는 무엇이다.

   - 투자자가 새로운 벤처 기업의 투자 잠재력을 평가할 때 인지된 열정이 격차를 벌린다. (CEO의 열정이 투자받는 포인트)

   - 강연 시 이야기를 하고 열정을 표현하라.

   - 열정은 전염된다.

   - 누군가를 도울려면 말하기 보다 들어야 한다. (아프라카 토마토 재배, 하마떼)


2. 스토리텔링의 기술

   - 듣는 이의 가슴과 정신에 닿는 이야기를 하라.

   - 젱체성에는 힘이 있다. 올바른 정체성을 세우면 주변 사람들이 말이 안 된다고 여기는 것도 말이 되게 할 수 있다.(52세까지 술안마심)

   - 이야기(줄거리)는 벽을 허문다. (누구나 공감하는 가족 이야기)

   - 사람의 마음을 녹일 이야기가 꼭 있어야 한다. 그래야 그들이 마음을 열고 우리 얘기에 귀를 기울이기라도 한다.

   - 에토스(ethos) 10% : 신뢰성, 인정할 만한 성과나 멋진 직함,   로고스(logos) 25% : 통계, 파토스(pathos) 65% : 감정

   - 이야기의 종류 : 주제와 직접 연관된 개인적 이야기, 교훈을 얻은 다른 사람의 이야기, 상품이나 브랜드의 성공 혹은 실패담

   - 호기심은 지식의 공백을 느낄 때 발생한다.고통스러울 정도로 끔찍한 영화도 참고 본다. 결말을 모르는게 더 큰 고통일 수 있기때문

   - 대중은 자신이 원하는 게 뭔지 모른다는 것이다.

   - 개인의 "영웅적 이야기"에 성공적인 브랜드의 이야기를 엮으면 성공한다. 청중은 응원할 대상을 찾는다.

   - 영웅과 악당을 등장스켜라 (신데렐라 이야기 처럼)


3. 대화를 합시다.

   - 말하는 내용을 완전히 소화하라. 치열하게 연습하라. 그래야 친한 친구 사이의 대화 같은 편안한 전달이 가능하다.

   - 대화하듯 말하라. 말하는 속도가 평소의 대화하는 속도이여야 한다.

반응형
Posted by seungkyua@gmail.com
,

OpenStack Manual build

OpenStack 2015. 3. 9. 15:40
반응형

0. 환경 세팅

$ sudo easy_install --upgrade transifex-client

sudo apt-get install gnome-doc-utils


- transifex 환경 설정 파일 저장

$ vi ~/.transifexrc

[https://www.transifex.com]
hostname = https://www.transifex.com
password = 오픈스택패스워드
token =
username = skanddh@gmail.com

[https://www.transifex.net]
hostname = https://www.transifex.com
password = 오픈스택패스워드
token =
username = skanddh@gmail.com


1. git 으로 다운받기


2. transifex 로 부터 전체 최신 번역 다운받기

$ tx pull -f -l ko_KR

 

# install-guide 만 다운받고 싶을 때

$ tx pull -f -l ko_KR -r openstack-manuals-i18n.install-guide


2-1. 한글 폰트 설치

$ git clone https://github.com/stackforge/clouddocs-maven-plugin

cd clouddocs-maven-plugin/src/main/resources/fonts/

$ mkdir -p nanum-font

wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFont_TTF_ALL.zip

unzip NanumFont_TTF_ALL.zip -d ~/Git/clouddocs-maven-plugin/src/main/resources/fonts/nanum-font/

clouddocs-maven-plugin/src/main/resources/cloud/fo

$ vi docbook.xsl


  <xsl:param name="bodyFont">

    <xsl:choose>

      <xsl:when test="starts-with(/*/@xml:lang, 'zh')">AR-PL-New-Sung</xsl:when>

      <xsl:when test="starts-with(/*/@xml:lang, 'ja')">TakaoGothic</xsl:when>

      <xsl:when test="starts-with(/*/@xml:lang, 'ko')">NanumGothic</xsl:when>

      <xsl:when test="starts-with(/*/@xml:lang, 'ko_KR')">NanumGothic</xsl:when>

      <xsl:otherwise>CartoGothic Std</xsl:otherwise>

    </xsl:choose>

  </xsl:param>


  <xsl:param name="monospace.font.family">

    <xsl:choose>

      <xsl:when test="$monospaceFont != ''"><xsl:value-of select="$monospaceFont"/></xsl:when>

      <xsl:when test="starts-with(/*/@xml:lang, 'zh')">AR-PL-New-Sung</xsl:when>

      <xsl:when test="starts-with(/*/@xml:lang, 'ja')">TakaoGothic</xsl:when>

      <xsl:when test="starts-with(/*/@xml:lang, 'ko')">NanumGothic</xsl:when>

      <xsl:when test="starts-with(/*/@xml:lang, 'ko_KR')">NanumGothic</xsl:when>

      <xsl:otherwise>monospace</xsl:otherwise>

    </xsl:choose>

  </xsl:param>


$ cd clouddocs-maven-plugin

$ vi pom.xml

...

<version>2.1.5-SNAPSHOT</version>

...

$ mvn clean install


3. install-guide 를 한국어 빌드하기

$ vi .tx/config


...

[openstack-manuals-i18n.common]

file_filter = doc/common/locale/<lang>.po

minimum_perc = 8

source_file = doc/common/locale/common.pot

source_lang = ko_KR

type = PO


[openstack-manuals-i18n.install-guide]
file_filter = doc/install-guide/locale/<lang>.po
minimum_perc = 75
source_file = doc/install-guide/locale/install-guide.pot
source_lang = ko_KR                # en -> ko_KR 로 변경
type = PO

...


$ cd doc/install-guide

$ mvn clean generate-sources

 

 

4. 3번이 안될 때 tox 로 한국어 빌드하기


- XML 파일을 읽어서 PO Template 파일(POT)로 만들기

./tools/generatepot doc/install-guide/


- POT Template 파일 각 언어에 맞게 PO 파일 만들기 (Transifex 에 올려서 번역 작업)


- generation 할 파일 폴더 선택

$ sudo pip install tox

$ tox -e py27

$ source .tox/py27/bin/activate

 

(py27) $ vi doc-tools-check-languages.conf


# 빌드시에 common 은 반드시 필요함

declare -A DIRECTORIES=(
["fr"]="common glossary user-guide image-guide"
["ja"]="common glossary image-guide install-guide user-guide user-guide-admin"
["pt_BR"]="common install-guide"
["zh_CN"]="common glossary arch-design image-guide"
["ko_KR"]="common install-guide"
)

# books to be built
declare -A BOOKS=(
["fr"]="user-guide image-guide"
["ja"]="image-guide install-guide user-guide user-guide-admin"
["pt_BR"]="install-guide"
["zh_CN"]="arch-design image-guide"
["ko_KR"]="install-guide"
)


# common 모듈의 ko_KR.po 파일이 만드시 있어야 함

(py27) $ cd doc/common/locale

(py27) $ cp ja.po ko_KR.po


- tox 로 번역된 메세지와 통합하여 DocBook 을 generate 한다. (generated 폴더 생성) 

(py27) $ tox -e checkniceness - to run the niceness tests (for example, to see extra whitespaces)

(py27) $ tox -e checksyntax - to run syntax checks
(py27) $ tox -e checkdeletions - to check that no deleted files are referenced
(py27) $ tox -e checkbuild - to actually build the manual(s). This will also generate a directory publish-docs that contains the built files for inspection. You can also use doc/local-files.html for looking at the manuals.
(py27) $ tox -e checklang - to check all translated manuals

 

혹은


$ tox -e buildlang -- ko_KR


- generated 폴더에서 PDF 파일 만들기

(py27) $ cd generated/ko_KR

(py27) $ vi pom.xml

 

  <modules>
    <!--module>admin-guide-cloud</module>
    <module>arch-design</module>
    <module>cli-reference</module>
    <module>config-reference</module>
    <module>glossary</module>
    <module>hot-reference</module>
    <module>image-guide</module-->
    <module>install-guide</module>
    <!--module>user-guide</module>
    <module>user-guide-admin</module-->
  </modules>

...

  <build>

    <plugins>

      <plugin>

        <groupId>com.rackspace.cloud.api</groupId>

        <artifactId>clouddocs-maven-plugin</artifactId>

        <!--version>2.1.3</version-->

        <version>2.1.5-SNAPSHOT</version>

      </plugin>

    </plugins>

  </build>


(py27) $ cd install-giude 

(py27) $ mvn clean generate-sources




[ RST 파일로 만들 경우 ]


1. Sphinx 설치

$ sudo pip install Sphinx


2. 각각의 RST 파일로 각각의 POT 파일 만들기 (Slicing)

sphinx-build -b gettext doc/playground-user-guide/source/ doc/playground-user-guide/source/locale/


3. 각각의 POT 파일을 하나의 POT 파일로 통합하기 (Slicing)

msgcat doc/playground-user-guide/source/locale/*.pot > doc/playground-user-guide/source/locale/playground-user-guide.pot


4. POT 파일을 Transifex에 올려서 언어에 맞게 PO 파일을 만들기 (번역 작업)

   - 이 작업은 commit 이 일어나면 jenkins 가 알아서 작업 해 줌

$ tx set --auto-local -r openstack-i18n.playground-user-guide "doc/playground-user-guide/source/locale/ko_KR/LC_MESSAGES/playground-user-guide.po"  --source-lang en --source-file doc/playground-user-guide/source/locale/playground-user-guide.pot -t PO --execute

$ tx push -s


5. 다운로드

tx set --auto-local -r openstack-i18n.playground-user-guide] "doc/playground-user-guide/source/locale/ko_KR/LC_MESSAGES/playground-user-guide.po"  --source-lang en --source-file doc/playground-user-guide/source/locale/playground-user-guide.pot -t PO --execute

$ tx pull -l ko_KR


6. build HTML


- 통합된 PO 파일을 작은 PO 파일로 나눔

msgmerge -o doc/playground-user-guide/source/locale/ko_KR/LC_MESSAGES/A.po doc/playground-user-guide/source/locale/ko_KR/LC_MESSAGES/playground-user-guide.po doc/playground-user-guide/source/locale/A.pot


- 작은 PO 파일을 작은 MO 파일로 변환

msgfmt "doc/playground-user-guide/source/locale/ko_KR/LC_MESSAGES/A.po" -o "doc/playground-user-guide/source/locale/ko_KR/LC_MESSAGES/A.mo"


- build HTML

sphinx-build -D "language='ko_KR' doc/playground-user-guide/source/ doc/playground-user-guide/build/html



* 소스 코드로 부터 PO 파일로 추출하기

$ pybabel extract -o nova/locale/nova.pot nova/



반응형
Posted by seungkyua@gmail.com
,
반응형

1. 제일 중요한 것은 포기하지 않는 것이다.

   - 한 사람이 창업이라는 길을 선택했다면 계속 그 길을 걸어가야 한다.


2. 마케팅을 할려면 유명인사를 끌여들어야 한다.

   - 마윈은 인터넷 컨퍼런스를 성공시키지 위해서 진융을 사회자로 했고 유명한 회사대표들을 불렀다.


3. 사명감은 기업발전의 원동력이다.

   - GE : 세상을 밝게 만드는 것

   - 디즈니랜드 : 모든 사람들을 즐겁게 만드는 것

   - 도요타 : 가장 좋은 서비스를 제공하는 것

   - 알리바바 : 세상에 어려운 거래는 없다.

반응형
Posted by seungkyua@gmail.com
,
반응형

1. 우선 그건 축구라고 불리는 거야.

For one thing, it's called soccer.


2. 너네 팀은 시즌 내내 2골 밖에 못 넣었으니, 잡담해도 상관없지. (큰 위험을 무릅쓴 것 도 아니지.)

Your team's scored two goals all season. I'm not taking a big risk.


3. 책 제목 하나도 못 댄게 전 더 걱정되네요.

I'd be more worried that she couldn't come up with a single book title.


4. 일본식 꽃꽂이 아주 능숙하다.

I'm quite adept at Japanese flower arrangement.


5. 밀린 스크랩랩 북을 만들던가. (일을 하다.)

Maybe catch up on scrapbooking.


6. 일부러 강조할려고 두번씩 말하지마. (주장을 증명할려고)

Don't do the "double question to prove a point" thing.


7. 아마 루크에게 먼저 시비걸었을 거야. (비난하다)

He probably jumped on Luke and Luke just fought back.


8. 그나마 다행이군.

Could have been worse.


9. 운동장에서 서로 욕하고 밀쳤다.   (욕하다,  밀치다)

Apparently, there was some name-calling and shoving on the playgound.


10. 이것 때문에 싸운거니? (이게 다야?)

Is that what this all about?


11. 짐작하건데 다들 가족인거 같다.

I'm getting the sense that you're all related...


12. 의젓한 애들은 이런 짓 안해.

This is not how mature young men behave.


13. 그들을 바베큐 파티에 (초대한 것을) 취소할까 생각한다.

I think we should cancel with them for the barbecue.


14. 그냥 묻어둬  (감추다, 비밀로 하다)

Just sweep it under the rug.



a bad liar    : 거짓말을 잘 못하는

Hamburglar : 수감자

starting offensive lineman : (미식축구에서) 주전 라인맨

Kid's a menace : 개구쟁이, 문제아

knucklehead : (비격식) 얼간이, 멍청이

work this out : 잘 해결하다.



반응형
Posted by seungkyua@gmail.com
,
반응형

[ Neutron Server 시작 ]

neutron-server --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/ml2/ml2_conf.ini --log-file=/var/log/neutron/neutron-server.log


[ nova boot 명령어 ]

nova boot test01 --flavor 1 --image 10f9779f-b67d-45dc-ac9b-cf6a30f88b59 --nic net-id=0a4c3188-3500-45a4-83f6-416e686d645e


[ vxlan 연결 여부 확인 ]

sudo ovs-ofctl show br-tun


[ controller node 의 neutron.conf 세팅 ]

nova_admin_tenant_id = service    # 이름이 아니라 tenant-id 를 넣어야 함



[ net 을 제거하는 순서 ]

1. router 와 subnet 의 인터페이스 제거

neutron router-interface-delete [router-id] [subnet-id]


2. subnet 삭제

neutron subnet-delete [subnet-id]


3. net 삭제

neutron net-delete [net-id]



[ net 을 생성할 때 vxlan 으로 생성 ]

neutron net-create demo-net --provider:network_type vxlan



[ security rule 등록 ]

neutron security-group-rule-create --protocol icmp --direction ingress default

neutron security-group-rule-create --protocol tcp --port-range-min 22 --port-range-max 22 --direction ingress default



[ route gw 등록 ]

route add -net "0.0.0.0/0" gw "10.0.0.1"



[ MTU 세팅 ]

1. /etc/network/interfaces 파일에 세팅

auto eth2

iface eth2 inet static

address 192.168.200.152

netmask 255.255.255.0

mtu 9000


$ sudo ifdown eth2

$ sudo ifup eth2


2. 동적으로 세팅 (리부팅 필요)

ifconfig eth2 mtu 9000

reboot



[ floatingip 추가 ]

$ neutron floatingip-create ext-net

$ neutron floatingip-associate [floatingip-id] [fixedip-port-id]



[ pip 으로 설치할 수 있게 배포판 만들기 ]

$ sudo python setup.py sdist --formats=gztar



[ metadata 서비스 ]

1. metadata-agent 와 neutron-ns-metadata-proxy 는 네트워크 노드에 있으면 됨.

   compute-node 는 필요없음

   compute 의 vm 이 network node 의 qdhcp 를 gateway로 보고 호출함


2. controller 노드의 /etc/nova/nova.conf 수정

[neutron]

service_metadata_proxy=True


3. network 노드와 compute 노드의 /etc/neutron/metadata_agent.ini 수정

auth_region = regionOne   # RegionOne 으로 쓰면 에러


[ cirros vm 안에서]

$ wget http://169.254.169.254/latest/meta-data/instance-id




cat /etc/nova/nova.conf  | grep -v ^# | grep -v ^$ | grep metadata

cat /etc/neutron/metadata_agent.ini | grep -v ^# | grep -v ^$ | grep metadata

cat /etc/neutron/l3_agent.ini | grep -v ^# | grep -v ^$



[ controller 노드에서 metadata 바로 호출하기 ]

curl \

  -H 'x-instance-id: e9b12a36-ae7a-4d2c-be03-319655789927' \

  -H 'x-tenant-id: 7d7c68c1d33f4ffb8a7c5bca770e394c' \

  -H 'x-instance-id-signature: 80f2d3ed5615bc93ccd7800e58780ba3fa754763ad0b2574240b8d4699bb254f' \

  http://localhost:8775/latest/meta-data


[ x-instance-id-signature 구하기 ]

>>> import hmac

>>> import hashlib

>>> hmac.new('opensack', 'e9b12a36-ae7a-4d2c-be03-319655789927', hashlib.sha256).hexdigest()

'80f2d3ed5615bc93ccd7800e58780ba3fa754763ad0b2574240b8d4699bb254f'

>>>


[ neutron server init script ]

1. /etc/init.d/neutron-server 에 파일 복사한 것 삭제


2. sudo vi /etc/init/neutron-server.conf


# vim:set ft=upstart ts=2 et:

description "Neutron API Server"

author "Chuck Short <zulcss@ubuntu.com>"


start on runlevel [2345]

stop on runlevel [!2345]


respawn


chdir /var/run


script

  [ -r /etc/default/neutron-server ] && . /etc/default/neutron-server

  exec start-stop-daemon --start --chuid stack --exec /usr/local/bin/neutron-server -- \

    --config-file /etc/neutron/neutron.conf \

    --config-file=/etc/neutron/plugins/ml2/ml2_conf.ini \

    --log-file /var/log/neutron/neutron-server.log $CONF_ARG

end script









반응형
Posted by seungkyua@gmail.com
,
반응형

1. 애가 잘 어울렸으면 좋겠어요.

I just want him to fit it in.


2. 세도나에 살아보니까 정말 많이 바뀐것 같아.

Living in Sedona has been transformational.


3. 제가 아빠와 글로리아를 설득했죠.

I convinced dad and gloria to invite her.


4. 누군가 거만해 하는군. (자신감에 차있군) : 클레어가 결혼식장에서 삼촌들이 자기 엉덩이를 만졌다고 하니.

Somebody's full of herself.


5. 왜 맨날 내가 하는 일마다 뭐라 그래요?

Why are you always on me about everything?


6. 남자애들은 항상 저런 장난을 하지.

Guys pull pranks like that all the time.


7. 그 사건을 들추지 말고,

Instead of drudging up the whole incident,


8. 네가 어떻게 사과할 자리를 마련해 줄 수 있지 않을까. (~의 선구자적 길을 닦다. 상황을 조성하다.)

Maybe you could pave the way so that I can apologize.


9. 좋을 것을 잃고 싶지 않기 때문이죠. (손을 뻗어서 좋을 것을 잡을려고 한다.)

You're reaching out, trying to hold on to something awesome.


10 내 엉덩이를 계속 쓰다듬었다.

They kept patting my butt.



Nana got totally wasted. : 나나는 완전히 술에 취해 있었다.

It was gross : 역겨웠다.

The bride and the groom : 신부와 신랑



반응형
Posted by seungkyua@gmail.com
,

python 정리

OpenStack 2015. 1. 29. 17:43
반응형

[ Software Architecture ]


1. Rest API & Queue

2. Source Directory Structure


[ package ]


1. SQLAlchemy : The Python SQL Toolkit and Object Relational Mapper



[ Programming ]

1. Dynamically importing modules


# import os

def import_module(import_str):

    __import__(import_str)          # ImportError

    return sys.modules[import_str]  # KeyError


os = import_module("os")

os.getcwd()


# import versioned_submodule

module = 'mymodule.%s' % version

module = '.'.join((module, submodule))

import_module(module)


# import class

import_value = "nova.db.sqlalchemy.models.NovaBase"

mod_str, _sep, class_str = import_value.rpartition('.')

novabase_class = getattr(sys.modules[mod_str], class_str)

novabase_class()




2. Data Access Object (DAO)


nova.db.base.Base

    def __init__(...)

        self.db import_module(db_driver)



# 사용 예

Manager(base.Base)

...

self.db.instance_update(...)


self.db 는 Base

db_driver 는 "nova.db" 패키지

nova.db 패키지의 __init__ 은 from nova.db.api import *

그러므로 self.db = nova.db.api


nova.db.api

IMPL = nova.db.sqlalchemy.api

def instance_update(...)

   IMPL.instance_update(...)




3. Configuration 활용


nova.db.sqlalchemy.api 에서 Configration 사용

CONF = cfg.CONF

CONF.compute_topic 과 같이 사용



oslo.config.cfg 패키지

CONF = ConfigOpts()



Opt

name = 이름

type = StrOpt, IntOpt, FloatOpt, BoolOpt,  List,  DictOpt, IPOpt, MultiOpt, MultiStrOpt

dest : ConfigOpts property 와 대응대는 이름

default : 기본값


ConfigOpts(collections.Mapping)

    def __init__(self):

        self._opts = {}     # dict of dicts of (opt:,  override:,  default: )


    def __getattr__(self.name):            # property 가 실제 존재하지 않으면 호출됨

        return self._get(name)



4. Decorator 패턴


def require_admin_context(f):


    def wrapper(*args, **kwargs):

        nova.context.require_admin_context(args[0])

        return f(*args, **kwargs)

    retrun wrapper


@require_admin_context

def service_get_by_compute_host(context, host):

    ...


* Class로 Decorator를 정의할려면 Class를 함수처럼 호출되게 __call()__ 멤버 함수를 정의


GoF 의 Decorator 와는 조금 다름.

GoF Decorator : 상속을 받으면서 Decorate 를 추가하는 방법 (객체지향적)

GoF 의 Template method pattern 과 오히려 더 유사 (하지만 이것 역시 객체지향적으로 좀 다름)


ApectJ 혹은 Spring AOP (Apspect Oriented Programming) 와 유사 (사용법은 python 이 더 간단)


P7YQ9-DJFPK-DTCYM-X6KW2-CGCGT
YTYK3-6JKXT-6HQRG-YRKKP-7RDMF

반응형
Posted by seungkyua@gmail.com
,
반응형

1. 내가 할려고 했는데...

I was gonna get it.


2. 그냥 해 본 소리였어. (장난으로 해본 소리야.)

I was just being facetious.


3. 인쇄를 잘못한 거 일거야.   (오탈자 - 비격식)

I'm pretty sure this is a typo.


4. 그는 속물이다. (고상한 척 [상류층을 동경하는] 사람)

    난 사리분별을 잘한다. (안목이 있는, 통찰력이 있는)

    나는 촌뜨기였다.

    그가 좀 예민하다.

He is a snob.

I'm discerning.

I was a hick.

He's a little jumpy.


5. 내 생각엔 다음 단계로 넘아갈 시기가 온듯한데.

I'm all about taking it to the next level.


6. 그건 그녀가 좋아하는게 아니에요.

    네가 좋아하는건 사람들 약올리는거야.

It's not really her thing.

Your thing is to provoke.


7. 제가 좀 시끄러워질 때 마다,

Every time I would get a little boisterous,


8. 할머니한테 그게 무슨 말버릇이니?

That's no way to talk to your grandmother.


9. 정말 귀찮아. 성질나. 짜증나.

It's just kind of irritating.


10. 나 삐끗한거 같아.

I think I strained something.





go figure : 이해가 안되는군.   ~ 알아보다.

without missing a beat : 즉시, 박자를 놓치지 않고 바로

just past the tires : (코스트코 같은 매장에서) 타이어코너 지나서 바로.
















반응형
Posted by seungkyua@gmail.com
,
반응형

1. 얼마전에 이사왔어요.

She just moved in down the block.


2. 언제 한 번 놀러와요.

We'll have to have you over sometime.


3. 불량배들 한테 놀림 받을까봐 걱정돼. (bully : 약자를 괴롭히는 사람)

I worry about the ridicule he might get from loudmouth bully.


4. 가끔 남자는 단호한 태도를 취하고 남자가 해야할 일을 해야죠.

Sometimes a man's gotta put his foot down and do what a man's gotta do.


5. 농담이야, 진정해 좀.

Kidding. Just chill, please.


6. 헬로우 댄스로 시작하고, 그 담엔 블럭쌓기와 핑거 페인팅을 할거에요.

We're gonna start with the hello dance, and then we're gonna move on to blocks and finger painting.


7. 어떻게 좀 면제(보상) 받을 수 있을까요?

Any chance I could get a break on this one?


8. 와인도시만 생각하자.

Just get me to wine country.


9. 나는 이런 정리가 좋은 줄 아냐?

You think I like this arrangement?


10. 왜 슬금슬금 빠져나가고 뭔가를 숨기는 거야?

Why are you trying to sneak around and hide things from me?





반응형
Posted by seungkyua@gmail.com
,