본문으로 건너뛰기

"me" 태그로 연결된 37개 게시물개의 게시물이 있습니다.

Life Logging

모든 태그 보기

Refactoring Grammer

· 약 25분

시제

  • 현재: 사실, 반복
  • 현재진행: 동작 강조
  • 과거: 과거에 끝난 것
    • was going to: 하려고 했지만 실제론 하지 않은 일
  • 과거진행: 과거에 뭘 하고 있었는지 강조
  • Used to: 그랬었지~ 해오곤 했었지~ 지금은 안함
  • 현재완료
    • 계속 쭉 해오고 있는 것, for/since
    • 경험 해본적이 있는 것
    • 결과 과거의 행동이 현재와 관련이 있는 것, just/already/yet
  • 미래
    • will: 예측, 결정한 일
    • be going to:
      • 이미 하기로 결정한 미래의 일
      • 현재 상황을 근거로 미래에 일어날 일을 예측할 때
    • 현재진행: 구체적인 계획/약속/예약
    • 현재: 미래 사실로 시간표/일정 상의 일, 주로 사물 주어
    • be about to: 막 ~하려고 하다, 매우 가까운 미래
  • 미래 진행: 미래 특정한 시점에 진행되고 있을 일을 말할 때
  • 미래 완료: 미래의 특정한 시점까지는 어떤 일이 완료되었을 것이라고 말할 때
    • by the time: ~할 때쯤 으로 같이 자주 쓴다.
      • By the time the meeting starts, we won't have prepared the sales report.
      • I'll have learend a lot by the time I complete this course.

현재완료

  • ever: 지금까지 (한 번이라도)
    • Have you ever baked muffins?
  • never: 해본 적이 전혀 없다.
    • I've never baked muffins.
  • have been: 가 본적이 있다.
    • I've been there
    • I haven't been to Paris.
  • has gone: 가고 없다.
  • 경험의 횟수: once, twice, three times, four times, many times.
    • 이럴 때만 times 를 복수로 씀.
  • The best ~ I've ever ~: 지금까지 내가 ~ 해본 최고의 ~
    • That is the best story I've ever heard.
    • It was the best experience I've ever had.

현재완료진행

  • 과거에서 시작해서 지금도 진행 중인 일
  • for, since, how long
    • since: 특정 시점 필요 (since noon, since May, since 5 o'clock)
  • 과거에서 시작해서 진행되어 오다가 방금 전에 끝난일이 지금까지도 영향을 미치고 있을 때
    • Your eyes are red. Have you been crying?
  • 진행으로 못 쓰는 동사들: 동작을 나타내지 않음
    • know, remember, understand, believe, agree
    • want, need, love, like, hate,
    • own, possess, belong, contain
-현재 완료현재 완료 진행
용도1과게에서 시작해서 지금은 끝난 일의 결과 강조과거에서 시작해서 지금까지 진행한 걸 강조
용도2얼마나 많이 또는 몇 번 했는지얼마나 오래 했는지
live, study, work의미 차이 없음의미 차이 없음

미래

  • 시간, 조건 뒤엔 현재가 온다.
  • when, while, before, after, until, if

조동사

  • Can: 동사에 강세
  • Can't: Can't 에 강세
  • Can I: 해도 될까요?
  • Can you: 해줄래요?
    • Could: 능력/허락/가능성/추측
    • was/were able to: 특정 상황에 실제로 성공적으로 어떤 일을 해냈다.
      • Our best player didn't play, but we were able to win the game anyway.
    • have/has been able to ~: 특정 시점 이후로 쭉 할 수 있다.
  • Must: 확실한 추측, 규정, 규칙
  • Have to: ~해야한다
    • don't have to: 할 필요가 없다.
    • didn't have to: 할 필요가 없었다.
    • Did ~ have to
    • will/might have to
  • S should R: R 하는 것이 좋겠다.
  • Should I: 하는 것이 좋을까요?
    • I think ... should
    • I don't think ... should
  • Would you: 해주시겠어요?
  • Would you like N: N를 드릴까요?
  • Would you like to R: R 하실래요?
  • I would like N: N을 주세요.
  • I would like to R: R를 하고 싶어요.

could

  • could belong to S.O.: ~의 것일지도 모른다.
  • could R: ~할지도 모른다.
  • couldn't R: ~할리 없다. (~하는 것이 사실상 불가능하다.)
  • could have p.p.: ~했을지도 모른다. 할 수도 있었지만 하지 않았다.
  • couldn't have p.p.: ~했을 리 없다. (사실상 불가능했음.)
    • She finished all of her work in just one day. She couldn't have done it alone.

might

  • might R: ~할지도 모른다.
  • might not R: ~하지 않을지도 모른다 (그러나 ~할 가능성도 있다)
  • might have p.p.: (과거에) ~했을지도 모른다.
  • might not have p.p.: (과거에) ~하지 않았을지도 모른다. (했을 가능성도 있음)

should

  • should: ~하는 것이 좋겠다.
  • should I/we ~?: ~하는 것이 좋을까요?
  • should have p.p.: (과거에) ~했어야 했다. (그러나 하지 않았다.)
  • shouldn't have p.p.: (과거에) ~하지 말았어야 했다. (그러나 했다.)
  • We should attend: 참석하는 것이 좋지만 반드시 참석해야하는 건 아님
  • All employees must attend: 반드시 참석해야함.

had better

  • you'd better, we'd better: ~하는 것이 좋겠다. (강한 충고)
  • had better not: ~하지 않는 것이 좋겠다.
    • You'd better not sit there.
  • had better: 어떤 일을하지 않으면 좋지 않은 결과가 생길 것
    • Tickets will be sold out soon. You'd better buy some today.
  • should: 반드시 해야하는 건 아니지만 어떤 일을 하는 것이 좋겠다는 의견
    • You should buy those tickets. The seats are closer to the stage.

수동태와 조동사

  • will/can/must + be + p.p.

의문문

  • Which: 제한적으로 주어진 몇 가지 중 선택, 어떤~
  • What: 선택 제한이 없는 경우, 무엇~ 몇~
  • Where ~ from?: ~ 는 어디에서 왔나요?
  • How be동사: ~ 은 어떤가요?
  • How 형용사/부사: 얼마나 ~
  • Be 동사 뒤에 오는 건 보어, 목적어 아님.

What

  • What ~ for?: ~은 무엇을 위한 건가요?, 뭐 때문에 ~하나요?
    • What's this button for?
    • What did you hit me for?
    • What was the cake for?
  • What ~ like?: ~은 어떤가요?
    • What is your boss like?
    • What is it like?
    • What was your first date like?

동명사와 to부정사

  • ~ 는 것, ~ 기
  • 주어는 동명사만
  • Enjoy 는 동명사가 따라옴

동명사만 따라올 수 있는 경우

  • enjoy
  • finish
  • keep
  • mind
  • avoid
  • give up
  • practice
  • suggest

to부정사만 따라올 수 있는 경우

주로 미래: 기대, 소망, 계획, 제안

  • want
  • need
  • hope
  • expect
  • decide
  • plan
  • promise
  • offer
  • choose
  • ask
  • learn
  • refuse

둘 다 오는 경우

  • like
  • love
  • prefer
  • hate
  • start
  • begin
  • continue

의미가 달라지는 경우

  • stop
    • -ing: ~ 하는 것을 멈추다
    • to R: ~ 하려고 하던 걸 멈추다
  • try
    • -ing: 시험삼아 ~ 해보다
    • to R: ~ 하려고 노력하다

사역동사

  • have/make/let + 사람 + R: ~ 가 ~ 하게 하다.
  • help + 사람 + R: ~ 가 ~ 하는 것을 돕다.

to부정사

  • ~ 하기 위해 (in order to R), 추가적으로 덧붙힐 때
  • N + to R: ~ 할 N

U

  • a glass of water
  • music
  • snow
  • sugar
  • air
  • time
  • money
  • news
  • a cup of coffee
  • a loaf of bread

예외

단복수 같은 단어

  • a/some fish
  • a/two sheep
  • a/many deer

항상 복수

두 개의 부분이 모여서 하나의 시물을 이루는 경우

  • pajamas
  • scissors
  • jeans
  • shorts
  • glasses
  • pants
  • headphones

위의 명사의 복수형은 a pair of/two pairs of.

관사

  • a/an: 특별히 정해지지 않은 막연한 사람 또는 사물 하나
  • the: 어떤 사람, 사물을 가리키는지 명확할 때, 특정 사람 또는 사물을 말할 때
    • 어떤 대상에 대해 처음 말할 때는 a/an, 반복할 때는 the
    • I got an e-mail from S.O. The e-mail was about today's meeting.

The

필수

  • 세상에 하나 밖에 없는것: the world, the sun, the moon, the earth
  • 자연환경: the sky, the sea, the ocean
  • 국가/도시 등에 하나 밖에 없는 것: the army, the police, the government
  • 방송, 매체: the radio, the internet
  • 악기를 연주한다고 할 때 악기 이름 앞에: the guitar, the piano
  • 특정 장소 갈 때
    • go to the movies
    • go to the station
    • go to the bank
    • go to the theater
    • go to the airport
    • go to the post office
  • in the past, in the future
  • the same, the only, the next, the last

사용 안하는 경우

  • 운동: basketball, football, tennis
  • 과목: biology, history, marketing
  • 식사: breakfast, lunch, dinner
  • 집에 있는 경우: go home, at home
  • 출퇴근: go to work, at work

비인칭 주어

  • 시간을 말할 때: It's 5 o`clock.
  • 날짜를 말할 때: It's August 8.
  • 요일을 말할 때: It's Friday.
  • 날씨를 말할 때: It's rainy today.
  • 거리를 말할 때: It's about 10 kilometers.
  • 계절을 말할 때: It's almost spring.

소유격

  • I my mine
  • We our ours
  • You your yours
  • He his his
  • She her her
  • They their theirs
  • 소유격 뒤에 명사를 쓰지 않음.
  • 관사 없음.

재귀대명사

  • by -self: 혼자, 스스로: I've lived by myself since 2015.
  • Make yourself at home: 편히 쉬세요.

one

  • 앞서 말한 명사를 다시 말할 때 명사 대신 사용: one, ones
  • a(n)/the + ADJ + one
  • some/the + ADJ + ones
  • Which one(s) ~?: 어느 것(들) ~?

한정사

some, any

  • some, any: 사람 또는 사물의 불특정한 수나 양에 대해 말할 때 명사 앞
  • some: 주로 긍정문, yes를 기대하는 권유/요청하는 의문문
  • any: 주로 부정문, 의문문
  • someone/somebody, anyone, something, anything, somewhere, anywhere: 누군가, 무언가, 어딘가란 의미로 정확히 알 수 없는 사람, 사물, 장소에 대해 말할 때
  • someone, something: 주로 긍정문, 권유/요청하는 의문문
  • anyone, anything: 주로 부정문, 의문문

no

  • ~ 이 없다
  • no + N = not ~ any + N = none
    • I have no questions. = I don't have any questions.
  • none: 대명사라 명사와 함께 사용하지 않음.
  • no one/nobody, nothing, nowhere: 아무 ~ 도 ~ 않다.

many, much

  • many + [C] PL: 많은 ~, 긍정문, 부정문, 의문문
  • much + [U]: 많은 ~, 주로 부정문, 의문문
  • 둘 쓰는거 헷갈리므로 회화에서는 a lot of, lots of 활용하는 게 좋음.
  • 대명사로도 사용 가능
    • She grows many.
    • There isn't much.
    • You already have a lot.

few, little

  • a few + [C] PL
  • a little + [U]
  • few + [C] PL: 거의 없는, 부정문
  • little + [U]: 거의 없는, 부정문
  • A few people came: 몇 명의 사람들이 왔어.
  • Few people came: 거의 안 왔어.
  • I have a little time: 약간의 시간이 있어.
  • I have little time: 시간이 거의 없어.
  • 대명사로도 사용 가능

all, every

  • 모든 ~
  • all + [C] PL / [U]
  • every + [S]
  • all + day, week, month: ~ 종일, ~ 내내
  • every + day, week, month: ~ 마다, 매 ~
  • everyone/everybody, everything, everhwer: 모든 ~ (사람, 사물, 장소)

Both, either, neither

  • both + [C] PL: 둘 다, 두 ~ 모두
  • either + [S]: 둘 중 아무 것이나 하나, 두 ~ 중 아무 것이나 하나
  • neither + [S]: 둘 다 아닌, 두 ~ 모두 아닌

all of, most of, some of, none of

  • all of: 전부
  • most of: 대부분
  • some of: 약간
  • none of: 없음
  • all/most/some/none of: 특정한 대상에 대해 한정적으로 말할 때
    • the/my/these + N
    • it/us/you/them
    • all of the people --- All people
    • most ot these cars --- Most ccars
    • some of the songs --- some songs
    • none of the books --- No books
  • all/most/some/no + N: 일반적인 대상에 대해 말할 때
  • both/either/neither of
    • the/my/these + [C] PL
    • us/you/them

지각동사

  • 2형식, 보어(형용사) 필요
  • look + ADJ: ~해 보이다
  • smell + ADJ: ~한 냄새가 나다
  • sound + ADJ: ~하게 들리다
  • taste + ADJ: ~한 맛이 나다
  • feel + ADJ: ~하게 느끼다

부사

  • 형용사 앞에서 꾸민다.
  • 동사 앞 뒤에서 꾸민다.
  • ly 패턴이지만 형용사인 것
    • friendly
    • lovely
    • silly
    • ugly
    • lonely
  • 형용사는 사람이나 사물이 어떠한지
  • 부사는 행동이나 일이 어떻게 일어나는지

형용사면서 부사인 것

  • late: It's late / I got home late.
  • long: You have long hair / It doesn't take long.
  • hard: He is a hard worker / The baseball team is practicing hard.
  • fast: Her car is fast / She talks fast.
  • early: I had an early breakfast / Nicole arrived early for her interview.

빈도부사

  • always, usually, often, sometimes, rarely, never
    • rarely, never 는 부정문
  • 일반 동사 앞, be동사 뒤, 조동사 뒤, have/has 와 p.p. 사이

too

  • too + ADJ/ADV
  • too + ADJ + for + S.O.: ~ 에게 너무 ~ 한
  • too + ADJ + to R: ~ 하기에는 너무 ~ 한
  • too many + [C] PL: 너무 많은 ~
  • too much + **[U]: 너무 많은 ~
  • 대명사로도 사용 가능: I spent too much last month.

enough

  • ADJ/ADV + enough: 충분히 ~ 한/ ~하게
    • ADJ + enough + for + S.O: ~ 에게 충분히 ~ 한
    • ADJ + enought + to R: ~ 하기에 충분히 ~ 한
  • enough + [C] PL / [U]: 충분한 ~
    • enough + N + for + S.O: ~ 에게 충분한 ~
    • enough + N + to R: ~ 하기에 충분한 ~
  • 대명사로도 사용 가능: I have enough.

so

  • so many + [C] PL
  • so much + [U]
  • There were so many. / I've learned so much from him.

비교

  • 일반적으로 형용사/부사 뒤에 -er
  • 비교급 + than ~: ~ 보다 더 ~한 / ~ 하게
  • 긴 단어 (3음절 이상): more ADJ/ADV
  • 불규칙
    • good / better
    • bad / worse
    • far / farther

최상급

  • 일반적으로 형용사/부사 뒤에 -est
  • 2음절 이상 앞에는 most
  • 명사 없이 최상급만 사용하는 것도 가능: I'm the youngest in my family, That's the cheapest in the store.

as - as

  • as + ADJ/ADV + as: ~ 만큼 ~ 한 / ~ 하게
  • not as + ADJ/ADV + as: ~만큼 ~하지 않은 / ~ 하지 않게
    • 비교 위치 바꿔서 비교급 + Than 도 가능
  • as ~ as possible: 가능한 한 ~ 하게

전치사

장소 전치사

at

  • 직장, 학교 등: at work, at home, at school, at church, at the doctor's (office), at somebogy's (house)
  • 역, 공항: at the station, at the airport
  • 행사, 공연, 경기: at a party, at a concert, at a baseball game

in

  • 하늘, 대양 등 자연환경: in the world, in the sky, in the ocean
  • 책, 사진 등 인쇄물: in a book, in a picture, in a newspaper
  • (어떤 장소에서) ~하는 중인: in bed, in the hospital,, in prison, in jail
  • in the car, in the taxi

on

  • 거리: on 2nd Avenue, on Main Street
  • 층: on the first floor, on the 3rd floor
  • 교통수단: on the train, on the bus, on the plane

방향 전치사

  • form
  • to
  • up
  • down
  • into
  • out of
  • over
  • under
  • through
  • across
  • along
  • around
  • on
  • off: ~에서 (떨어져)
  • past: 지나서, 지나친 것은
  • toward: ~쪽으로

시간 전치사

at

  • 시각: at 10:30, at noon, at 3 o'clock
  • 식사: at breakfast, at lunch, at dinner
  • at night

on

  • 요일: on Wednesday, on Friday night
  • 평일, 주말: on weekdays, on a weekday, on weekends, on the weekend
  • 날짜, 기념일: on May 21, on my birthday, on our anniversary

in

  • 월, 계절: in January, in spring, in the summer
  • 세기, 연도: In the 19th century, in 2018
  • 오전, 오후, 저녁: in the morning, in the evening

during

  • 언제 일어났는지를 말할 때

for

  • 얼마나 오래 계속되었는지를 말할 때
  • p.p. 와 많이 씀

in

  • in + 기간: ~ 후에
  • in 10 minutes, in two hours

within

  • within + 기간: ~ 이내에
  • within 15 minutes, within four days

since

  • ~ 부터 (계속)
  • 특정 시점부터 어떤 행동이나 상황이 계속 될 때
  • p.p 와 많이 씀

by

  • (늦어도) ~ 까지
  • 늦어도 정해진 시점까지 어떤 행동이나 상황이 끝난다고 할 때

until

  • ~ 까지 계속
  • 특정 시점까지 어떤 행동이나 상황이 계속된다고 할 때

-ing

  • 전치사 뒤 -ing
  • without saying
  • about working
  • be good at singing
  • by showing

형용사 전치사 패턴

  • about
    • excited about
    • sorry about
    • sure about
  • at
    • angry at
    • mad at
    • good at
    • suprised at
  • for
    • famous for: ~으로 유명한
  • from
    • different from
  • in
    • interested in
  • of
    • afraid of
    • full of
    • proud of
    • short of: ~이 부족한
    • tired of: ~에 질린, sick and tired
  • to
    • married to: ~와 결혼한
    • simillar to: ~와 비슷한
  • with
    • busy with: ~로 바쁜
    • careful with: ~을 주의하는
    • familiar with: ~에 익숙한

동사 전치사 패턴

  • about
    • know about: ~에 대해 알고 있다
    • talk about
    • think about
    • worry about
  • at
    • look at
    • shout at: ~에게 소리치다
    • work at
  • for
    • apply for: ~에 지원하다
    • ask for: ~을 요청하다
    • look for: ~을 찾다, ~을 구하다
    • search for: ~을 찾다
    • wait for: ~을 기다리다
  • on
    • deponed on
    • spend ... on: ~에 (돈, 시간) 을 쓰다
  • to
    • belong to: ~의 것이다, ~에 속하다
    • happen to: ~에게 일어나다
    • listen to
    • talk to: ~에게 말하다
    • write to: ~에게 편지를 쓰다
  • 🚫
    • answer: ~에 답하다
    • call: ~에 전화하다
    • discuss: ~에 대해 논의하다
    • reach: ~에 도착하다, ~에 닿다

구동사

  • on
    • get on: ~에 타다
    • hold on: 기다리다
    • try on: ~을 입어보다, ~을 써보다
    • turn on: ~을 켜다
  • out
    • eat out: 외식하다
    • get out of: ~에서 내리다
    • go out: 밖으로 나가다, 외출하다
    • hand out: ~을 나눠주다
    • take out: ~을 꺼내다, ~을 빼다
  • up
    • clean up: ~을 청소하다
    • get up: 일어나다
    • wake up: 깨어나다, ~을 깨우다
    • pick up: (전화기 등)을 들다, ~을 사다
  • 대명사를 목적어로 쓰는 경우는 동사와 on/off/up 등의 사이에 쓴다.
    • take if off
    • clean them up
  • 나머지 경우는 두 패턴으로 사용 가능
    • turn your phone off
    • turn off your phone

접속사

  • 문장에 명사를 덧붙힐 때: 전치사
  • 동사를 덧붙힐 떄: to부정사
  • 문장을 덧붙힐 때: 접속사
  • because + 문장, because of + 명사
  • while: ~하는 동안
  • when, while 다음에 미래의 일을 말할 때에는 미래 시제가 아니라 현재 시제
    • What do you want to be when you grow up?
    • It'll be warm while we are on vacation.
  • before, after 뒤에 명사 또는 -ing 가능
    • before midnight.
    • before signing it.
    • after dinner?
  • since: ~ 이후로 지금까지, 이래로
  • until: ~할 때까지 (계속)
    • until 다음에 미래의 일을 이야기할 때는 현재 시제 사용
    • Please don't leave your seat until the bus stops.
  • since, until 뒤에 명사 가능
    • since thier wedding.
    • until next Thursday.

가정

  • if 현재, will/can + R: ~하면 ~할 것이다.
    • 일어날 가능성이 있는 경우
  • if 과거, would/could + R: 만약 ~한다면 ~할 텐데
    • 가능성이 없는 경우
    • 이 경우 were 를 선호함
    • If I were, If she were, If Jerry were

관계대명사

주격

  • 뒤에 동사가 나오면 주격
  • who/which/that

목적격

  • I love the food. she made it
    • I love the food which she made.
    • I love the food she made.
  • 뒤에 주어 동사가 나옴
  • 생략 가능 (관계대명사를 주어로 쓰지 않는한)

there

  • There + be동사: ~이 있다
  • There was/were: ~이 있었다.
  • There have/has been: ~가 있던 적이 있다.

4형식 동사

  • give: ~에게 ~를 주다
  • make: ~에게 ~를 만들어주다
  • send: ~에게 ~를 보내다
  • show: ~에게 ~을 보여주다
  • buy: ~에게 ~을 사주다
  • teach: ~에게 ~을 가르치다
  • give/send/show/teach + 사물 + to + 사람
  • make/buy + 사물 + for + 사람 (정석적인 느낌)

권유

  • Let's + R: (함께) ~ 하자
  • Let's not + R: ~하지 말자

감탄

  • How + ADJ
  • What (a/an) + ADJ + N

말 전달

  • said that + 과거
  • told 사람 that + 과거

동의

긍정

  • too: 긍정문
    • I do too.
    • I have too.
  • So + V + S: ~도 역시 ~하다.
    • So was I.
    • So did we.
    • So can his brother.

부정

  • either
    • He wasn't either.
    • I haven't either.
  • Neither + V + S: ~도 역시 ~하지 않다.
    • Neither do I.
    • Neither have I.

10년차 프로그래머의 기술 회고

· 약 8분

프로그래머

프로그래머라는 직업은 뭘까?

  • 구분하기 좋아하는 사람들은 코더, 디벨로퍼, 엔지니어로 부를 것이고
  • 모르는 사람에겐 돈을 많이 벌게 보이거나, 달라는대로 돈을 줘야하는 직업일 것이고,
  • 고용주에겐 mechanic 으로 보일 것이다.

나에게 이 직업은 뭘까?

  • 단기기억이 장기기억으로 전환되는 시점에 불현듯 모든 걸 해결할 아이디어가 생각나 키보드를 잡거나
  • 경사하강법에 스스로를 던져 아침 새소리가 들릴 때까지 의자에서 일어나지 못하거나
  • 코딩이 너무 하고 싶은데 교양과목만 수강해야해서 가질 않았던 전공일 것이다.

요즘 나는 이렇게 이야기를 하고 다닌다.

전 인터넷에 집 짓는 사람이에요.

  • 프론트엔드요? 그거 인터리어하는 거에요.
  • 백엔드요? 그거 공구리 치고 내장공사 하는 거에요.
  • 데브옵스요? 그거 땅파고 철근 박는 거에요.
  • 보안이요? 그거 단지 내에 못 들어오게 하는거에요. 복도식 요즘 싫어하잖아요.

프로그래밍은 현실세계의 개념들을 차용해 사람이 하던 걸 자동화하기 위함인데, 이걸 깨닫는데까지 너무 오래 걸린 것 같다.

이제야 왜 많은 교수님들이 현업에서는 짬이 찰수록 기본기가 중요하다. 라고 침이 마르게 이야기를 했는지 알 것 같다.

프로그래밍

GPT로 모든 게 다 될 것 같은 시대에 프로그래밍 스킬이 중요할까?

내 대답은 아니오였다. 서비스의 아이디어가 기술 스택보다 중요한 시점이 왔다. 클로드 섀넌을 처음 듣는 사람들도 서비스를 만들 수 있게 되었고, 그 코드를 배포할 수 있는 엣지 컴퓨팅이 성행한다.

이렇게 가면 언젠가 무너질거에요 라고 설득할 수 없다. 무너지고 나서 이렇게 될 거라고 했잖아요 라고 불난 집에 기름을 부울 수도 없다.

사회 분위기가 더 그렇게 만들고 있다.

기술 스택

모든 기술은 트레이드오프이다.

새로운 것은 항상 큰 비용이 발생한다. 구성원의 숙련도와 유지보수의 관점에서 바라봐야한다.

여긴 학원이 아니야, 새로운 걸 쓰고 싶다면 개인 시간을 써서 일주일 안에 프로토타입을 보여줘. 라고 말하지만, 지금 누굴 위해 공부하고 있는데 라고 생각하는 사람도 태반이다.

소프트웨어 공학이 중요한 이유이다.

이상향

그렇다면 내가 싫어했던 건 뭘까, 부실공사인지도 모르는 건 괜찮다. 모를 수도 있지.. 하지만 부실공사라 말하지 못 하게 하는 건 내 몸에 과부하를 준다.

스트레스를 받지 않기 위해서 이상향 체크리스트를 관리하려고 한다.

  • 코드 오너 기능이 있는가? 특정 코드를 수정하면 파일별 오너에게 코드리뷰를 받을 수 있는 문화 조성이 되었는가?
  • 코드 리뷰의 평균 코멘트 수는 어느정도 되는가?
  • 브랜치 전략은 어떻게 되는가?
  • 유닛테스트가 파이프라인에서 실행되는가? 그렇다면 커버리지는 몇 퍼센트인가?
  • 실제 데이터 기반으로한 통합 테스트가 파이프라인에서 실행되는가? 그렇다면 통합 테스트에 포함하는 기준은 무엇인가?
  • E2E 테스트가 주기적으로 실행되는가? 그렇다면 관리 주체는 누구인가?
  • 테스트 드리븐으로 가기위해 케이스를 구현할 수 있는 시간을 충분히 주는가?
  • 외부 요인에 대한 카오스 테스트를 진행하는가? 재해복구에 대한 필요성을 알고 있는가?
  • 오픈소스의 관리는 어떻게 하는가? 소프트웨어의 버전 관리는 특정 사이클로 돌아가고 있는가?
  • 도커 파일과 디플로이먼트를 개발자가 직접 관리하는가? 그렇지 않다면 관리 주체는 누구인가?
  • Private network 구성을 위한 지원을 시스템팀으로부터 받을 수 있는가? 그렇지 않다면 VPC를 구성가능할 수 있는 환경이 제공되는가?
  • 코드의 퀄리티 유지를 위해 기계적으로 어떤 것을 돌리고 있는가? 린트와 정적분석 등을 진행하는가?
  • 장애 발생시 해당 장애를 모두에게 공개하고 장애보고서를 작성하는가?
  • 구성원 모두가 서비스에 대해 오너쉽을 가지고 있는가?
  • 대표하는 서비스의 SLA가 어느정도 되는가? OOM 장애 빈도 또는 500번대 장애 빈도가 어느정도 되는가?
  • SLA가 인사고과의 표준이 되는가?
  • 오너의 방향성이 모든 구성원에게 공개되는가?
  • 데이터 기반의 의사결정이 진행되는가? 로그 수집을 위한 툴은 어느 것을 사용하고 있는가?
  • 로깅 포맷은 Open Telemetry로 표준화 되어있는가? 그렇지 않다면 어떤 포맷으로 관리하고 있는가?
  • 웹 메트릭을 수집하고 있는가?
  • A/B 테스트로 기능 도입이 가능한 기반이 있는가? 그렇지 않다면 기획의 인사고과는 어떻게 하고 있는가?
  • 디자인시스템을 사용하고 있는가?
  • 스토리북을 같은 레파지토리 내에 관리하고 있는가?

맥 추천 패키지

· 약 5분

여러 맥 기기의 환경을 구성하다보니 적어 놓는 게 나을 듯 싶었다.

brew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

formulae

main formulae

brew install fzf \
git \
go \
kubernetes-cli \
mas \
node \
python \
stern \
tree \
wget
  • fzf
  • git
  • go
  • java
  • kubernetes-cli
  • mas
  • node
  • python
  • stern
  • tree
  • wget

sub formulae

docker for mac

brew tap spring-io/tap
brew install git \
hadolint \
helm \
kubectx \
k9s \
spring-boot \
thefuck \
volta \
youtube-dl \
zsh-autosuggestions \
zsh-syntax-highlighting
  • git
  • helm
  • kubectx
  • springboot
  • thefuck
  • volta
  • youtube-dl
  • zsh-autosuggestions
  • zsh-syntax-highlighting

cask

brew tap homebrew/cask-fonts
brew cask install adguard \
appcleaner \
bitwarden \
dbeaver-community \
firefox \
font-cascadia \
font-hack-nerd-font \
fork \
gather \
google-chrome \
hiddenbar \
iina \
iterm2 \
java \
jetbrains-toolbox \
keepingyouawake \
keka \
macs-fan-control \
monitorcontrol \
microsoft-edge \
orange \
pika \
podman-desktop \
postman \
rectangle \
rocket \
slack \
telegram-desktop \
visual-studio-code \
yt-music \
zoom \
zulu
  • adguard: 💰
  • appcleaner: 앱 클리너
  • bitwarden: 비밀번호 관리
  • dbeaver-community: DBMS 클라이언트
  • firefox: 파이어폭스
  • font-cascadia: Cascadis Code 폰트
  • font-hack-nerd-font: iTerm2 용 터미널 폰트
  • fork: 무료 중 최고의 git client
  • gather: 게더타운
  • google-chrome: 크롬
  • hiddenbar: 작업표시줄의 프로그램 숨기기
  • iina: 깔끔한 인터페이스의 미디어 플레이어
  • iterm2: 터미널
  • jetbrains-toolbox: jetbrains IDE 버전 관리
  • keepingyouawake: 잠자기 모드 제어
  • keka: 압축 프로그램
  • macs-fan-control: 팬 조절
  • monitorcontrol: 외장모니터 제어
  • microsoft-edge: edge
  • orange: orange3 데이터 분석
  • pika: 색상 선택기
  • podman-desktop: docker desktop 대체
  • postman: 포스트맨
  • rectangle: 창 크기 조절
  • rocket: 이모지 선택기
  • slack: 슬랙
  • telegram-desktop: 텔레그램
  • visual-studio-code: vscode
  • yt-music: 유튜브 뮤직 플레이어
  • zoom: 줌
  • zulu: 자바

App store

mas install 497799835 \
1355679052 \
869223134 \
1295203466 \
1471801525 \
897118787 \
425424353 \
1475628500
  • xcode: 497799835
  • dropover: 1355679052 드래그 후 흔들면 가상폴더로 저장
  • kakaotalk: 869223134 카카오톡
  • microsoft remote desktop: 1295203466 윈도우 원격
  • polyglot: 1471801525 사파리 번역기
  • shazam: 897118787 음악 찾기
  • unicorn https: 1475628500 Encrypt DNS query

Bunblefile

bundle

brew bundle install

Brewfile
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-drivers"
tap "homebrew/cask-fonts"
tap "spring-io/tap"

cask_args appdir: "~/Applications", require_sha: true

brew "fzf" # fuzzy finder
brew "gh" # github clone
brew "git" # git
brew "hadolint" # dockerfile linter
brew "helm" # helm chart
brew "k9s" # k8s dashboard
brew "kubectx" # k8s context switcher
brew "mas" # app store
brew "mkcert" # local certification
brew "skaffold" # k8s deploy
brew "thefuck" # fix typo
brew "tree" # tree
brew "volta" # nodejs version manager
brew "wget" # wget
brew "zsh" # zsh
brew "zsh-autosuggestions"
brew "zsh-syntax-highlighting"
brew "spring-io/tap/spring-boot" # spring cli

cask "appcleaner" # 앱 클리너
cask "bitwarden" # 비밀번호 관리
cask "dbeaver-community" # dbms client
cask "firefox" # 파이어폭스
cask "font-cascadia-code" # ms 개발 폰트
cask "font-hack-nerd-font" # 터미널 폰트
cask "fork" # git gui
cask "gather" # gathertown
cask "hiddenbar" # 작업표시줄 숨기기
cask "iina" # 플레이어
cask "iterm2" # 터미널
cask "jetbrains-toolbox"
cask "keepingyouawake" # 잠자기 해제
cask "keka" # 압축 프로그램
## cask "logitech-options" # 로지텍 사용자만
cask "macs-fan-control" # 팬 조절
cask "microsoft-edge" # edge
cask "monitorcontrol" # 외장 모니터 조절
cask "orange" # orange3
cask "pika" # 색상 선택기
cask "podman-desktop" # docker desktop 대체
cask "postman" # postman
cask "rectangle" # 창 조절
cask "rocket" # 이모지
cask "slack" # slack
cask "telegram-desktop" # telegram
cask "visual-studio-code" # vscode
cask "zoom" # zoom
cask "zulu" # zulu jdk

mas "Dropover", id: 1355679052
mas "Microsoft Remote Desktop", id: 1295203466 # remote desktop
mas "Polyglot", id: 1471801525 # translator
mas "Shazam", id: 897118787 # music finder
mas "Xcode", id: 497799835 # xcode
mas "카카오톡", id: 869223134 # kakaotalk

NARS 직구하기

· 약 5분

NARS Cosmetics

François Nars가 런칭한 프랑스발 유명 색조 브랜드 나스는 남자라도 갖고 싶게하는 매력있는 디자인을 가진 제품들이 많다. 한국에 들어오면 1.5배정도 가격이 뛰던지, 한정판은 들어오자마자 못 구한다. 이번 2019 Orgasm Collection 도 마찬가질 것 같다.

2019 Orgasm Collection

특히 립스틱 4개를 모아야 하나의 NARS 문구로 완성 되는 건 상술이지만 아름답다.

이름의 유래

나스 화장품 명칭은 대부분 섹슈얼한데 주된 명칭은 다음과 같다.

  • 오르가즘 '99 에 런칭된 베스트셀러이다.
  • 슈퍼오르가즘
  • 섹스어필
  • 섹스판타지
  • 쓰리썸
  • 게이어티
  • 패티쉬즈드
  • 딥쓰롯

왜 이런 이름을 지었는지에 대해 궁금해져서 여성도 성에 당당해지자 라는 카더라가 있는데, 카더라는 꺼무위키처럼 제껴두고 나스가 보그와 한 인터뷰를 확인해보자.

Q: I think it’s safe to say your products have some of the all-time best names—Orgasm, Jungle Red, Belle de Jour, Chinatown, Schiap. How do you name them?

네이밍은 상품에 개성을 부여하는 것과 같다고 생각했기에, 여성들이 뭔가 특별한 것을 입고 있는 것처럼 느끼게 하고 싶었습니다. 메이크업은 섹시 악세사리라고 생각하기 때문에 재밌있게, 섹시하게 만들길 원했습니다. 여성들은 섹시해보기 위해, 섹시함을 느끼기 위해 이걸 사용합니다.

A: You know, I always said we were either going to give them numbers, or interesting names. I didn’t want to go with boring names like Pink Peach. It had to be almost like giving each product its own personality, so that women could dream, could connect to the product, could feel like they were wearing something special. I wanted it to be fun. And sexy, too. Because makeup is a sexy accessory—women use it to look sexy and to feel sexy, for themselves and for the world. It gets difficult, because, you can imagine, we’ve been copied a lot. I have those little Hermès agendas, and 24 hours a day I keep writing names that come to my mind from books that I read, exhibits I go to, movies, places. I keep writing names. That’s how it works. I usually think about the name first, and then a color matches that name. Nothing is really planned.

구매하기

공홈

NARS 공식 홈페이지는 한국인이 한국카드를 쓰거나 배대지를 이용할 경우 구매 취소가 되어버린다. 이 것에 대해 카드, 페이팔, 배대지 변경까지 세 번의 도전을 모두 실패하고 결국 문의를 해서 이런 답변을 받았다.

Please be aware that at this time NARScosmetics.com can only bill and ship within the U.S. and both billing and shipping must be made to a U.S. residential address.

의역하면 응 안돼~ 가 되시겠다. 사은품도 많고, 정품 패키지도 엄청 예쁜데 구매하려면 미국 친구나 미국 공구를 알아봐야한다.

이 문제는 나에게 High Priority 이슈로 등록되어서 대안을 마련해야만 했다.

Sephora

편집숍인 세포라엔 나스 신상이 바로바로 입고되고 있었다.

가입 후 배대지 주소를 넣어주고, 오르가즘 컬렉션을 추가한 뒤 사은품도 꼭꼭 챙기자.

블러셔
Orgasm Blush JumboOrgasm Afterglow Lip Balm
Endless Orgasm PaletteOrgasm Oil-Infused Lip Tint

자주 이용할 듯 싶다.

여담

  • 도착하면 이 컬렉션을 한국의 어떤 뷰티 유튜버보다도 빨리 리뷰할 수 있을 것 같다.
  • 시놀로지 나스도 구매도 해야하는데

전세 자금 대출의 모든 것

· 약 12분

개요

여기 저기 흩어져있는 전세자금 대출 정보를 하나로 모으고 싶었다. 필요한 서류도 엄청나고, 준비할 것도 많은데 다들 자기 할말만하고 끝나는 느낌이였다. 집 구하는 걸 무서워하지 말고 한 단계씩 실행해보자. 중고나라인데 집을 사는 것 뿐이다.

사전 작업

먼저 회사에 요청해 원천징수영수증재직증명서를 발급받는다. 둘 다 직인이 찍혀있는 서류여야한다.

원천징수영수증에 연봉이 3500만 이하면서 중소기업에 취업중이면 어마어마한 저리(低利)로 대출을 받을 수 있다. 이 조건에 들 경우, 중소기업취업청년 전월세보증금대출 대출을 받을 수 있는데 된다면 무조건 대출받아야한다. 조건이 안 되면 차선책으로 버팀목 전세자금 대출이 있다.

중소기업 여부는 여기서 확인할 수 있다. 법인 번호는 여기서 찾을 수 있다.

주소 확인

어차피 문 밖의 전단지 매물은 허위매물이니 부동산에 들어가 다음과 같이 말한다.

전세집을 찾고 있고, 어느정도의 금액을 생각하고 있다. 대출 한도를 확인하려하니 주소를 하나 알려주시오.

그럼 공실클럽 이란 중개업자용 직방 웹에서 매물을 찾아서 보여주고 주소를 알려줄 것이다. 안 보여준다면 주소만 하나 알아오면 된다. 혹시 부동산과 연결되어있는 은행이 있는지 확인하고 나온다.

불친절하다면 다음에 온다고 말하고 바로 나오자 시간 아깝다. 어차피 원룸촌이라면 그 지역 매물 다 거기서 거기이다.

근린시설, 다중주택, 다세대주택이 아닌지를 꼭 확인한다. 대출이 안 나올 수 있다.

대출 한도 확인

주거래 은행이 아니여도 상관없다. 월급 통장이 있는 은행일 경우 빠른 처리가 가능하고, 우리은행이 주택도시기금의 주 거래은행이라 빠른 서류처리가 된다. 부동산에서 추천한 은행이 제일 좋긴하다.

은행에 가서 대출상담창구로 간 뒤 전세자금 대출을 한도 확인하러 왔다고 말한 뒤 원천징수영수증과 재직증명서, 그리고 주소를 준다. 원천징수영수증 + 재직증명서 + 주소 <=> 한도 로 교환한다고 보면 된다.

나의 한도를 확인하고 다시 부동산에 방을 보러간다.

방 확인

전세자금대출이 가능하며, 버팀목 대출일 경우 미리 전입신고가 가능한 방만 보여달라고 한다. 한도에 맞는 방을 보고, 중개업자와 함께 돌아다닌다. 사진보다 실물로 봐야 훨씬 방이 크니 꼭 그 집에 가보자.

내가 생각하는 집의 조건은 다음과 같다.

  • 낑긴 층
  • 창문 및 결로현상 확인
  • 가벽 여부 확인
  • 온수 확인
  • 수압 및 물샘 확인
  • 에어컨, 인덕션, 세탁기, 냉장고, 전자레인지 옵션 확인
  • 가스, 수도, 전기가 개별요금인지 확인
  • 집 냄새 확인
  • 장판 및 벽지 들추고 곰팡이 확인
  • 엘리베이터 확인

최소 5군데 이상은 돌아보자. 2년 살 집이다.

계약서 작성

집을 선택하고 건물주의 등기부등본을 확인한다. 이건 건물주가 빚이 얼마나 있는지, 실제 판매하면 얼마정도로 가격을 받을 수 있는지가 나오며 내 전세자금이 안전할 수 있는지에 대한거라 꼭 확인이 필요하다.

그리고 부동산이 보증보험증권에 가입되어있는지도 확인한다.

마음에 드는 집이 있다면 전세가격의 5% 를 계약금으로 걸고, 계약서를 쓴다. 대출이 생각보다 길어질 수 있으므로 넉넉하게 3주 이상으로 잡자.

대출 사전 작업

중소기업취업청년 전월세보증금대출

  • 나이제한: 만 19세 ~ 만 34세
  • 연봉제한: 3500
  • 세대주제한: 없음
  • 평수제한: 25평
  • 금액제한: 1억
  • 이자: 1.2%

1억을 빌려도 한달 이자가 10만원인 대출이다. 10만원이 비싸다고 생각하면, 월급쟁이가 10년 일해야 1억모은다는 걸 생각해보자.

버팀목 전세자금 대출

  • 나이제한: 만 25세 ~
  • 연봉제한: 5000
  • 세대주제한: 세대주만 가능
  • 평수제한: 25평
  • 금액제한: 1.2억
  • 이자: 2.5~2.9%

1억을 빌리면 한달 이자가 30만원 언저리로 나온다. 관리비를 포함한다면 월세집을 사는 게 나을 수 있다.

세대주 작업

버팀목 전세자금의 경우 무주택 세대주여야한다. 조부모님 사촌, 친구을 활용해 전입신고를 하자. 그렇게 못한다면 내가 집의 세대주가 되거나 세대 분리로 세대주가 되어야하는데, 세대주 변경의 경우 부모님 명의로 된 집이 있다면 대출 조건에서 걸린다. 부모님 집의 명의를 돌리고 돌려서, 무주택자 부모님 밑에서 사는 서류가 된다 하더라도 대출시 은행으로 부모님이 직접 가서 무주택자라고 자필 서명을 해야한다.

세대 변경은 부모님 공인인증서와 내 공인인증서 설치가 모두 있는 경우에 한해 온라인으로 가능하고, 아니면 부모님의 도장으로 서류를 작성해야한다. 세대 분리는 동사무소에 전화해서 분리하고 싶다고 문의를 할 수 있는데, 상담해주시는 분에 따라 케바케라 힘들다고 보면 된다.

결국 집을 구할 때 이사 전 전입 신고가 가능한 집주인을 찾아보는 게 속 편하다. 그리고 등본을 발급하기 전 이사할 집에 전입신고를 한다.

서류 작업

공인인증서와의 긴 싸움이 시작된다.

  • 확정일자가 있는 전세계약서
  • 계약금 납입 영수증
  • 가족관계증명서
  • 4대보험가입내역확인서
  • 건강보험자격득실확인서
  • 주민등록등본
    • 버팀목의 경우 세대주로 찍혀야함
    • 주민번호 뒷자리까지 모두 노출
  • 주민등록초본
    • 태어날 때부터 모든 주소변경이력 포함

위 서류에 중소기업 대출일 경우 아래 서류가 추가로 필요하다.

  • 사업자등록증 사본
  • 주업종코드확인서
  • 고용보험피보험자격이력내역서

서류 준비가 완료되면 대출심사를 진행하고 (보통 3영업일 이상) 전세계약서를 들고 이사할 지역의 동사무소를 찾아가 전입 확정일자를 찍어달라고 말한다. (600원 필요)

대출 확인

대출심사 진행 중 은행에서 해당 건물이 진짜 원룸인지 확인을 나간다. 다 될 경우 어마어마한 대출 서류에 싸인한 뒤 대출 보증세, 이자, 중도상환에 대해 확인한다.

그러면 계약일에 집주인 계좌로 은행에서 바로 송금을 해준다. 계약일이 주말일 경우 이전 영업일에 송금되니 참고하자.

계약

계약은 꼭 공인중개사, 집주인과 하자. 공인중개사는 휴대폰 대리점처럼 중개인을 두고 출근하지 않는 경우가 많고 집주인도 멀리 산다고 오지 못 한다는 경우가 많은데 계약시엔 대리인을 두지 말고 담당자들과 거래하는 것이 좋다.

이사

이삿짐 센터 확인

원룸 이사를 용달로 할 경우 견적전화를 돌리고, 모든 게 있는 풀옵션일 경우 자차로 이사할지에 대해 정한다. 인건비는 명 당 십만원 정도로 생각하자.

입주

박스를 구해다가 포장하고 이삿날에 잘 입주하기만 하면 된다. 굳이 계약날이 입주일은 아니여도 된다.

  • 입주 후 생필품을 사는데에 100만원정도 지출이 필요할 수 있다.
  • 가능하다면 대출한도를 전부 대출받아 청약 당첨이나 재계약등에 대비할 수 있다.
  • 부동산 관련 서류(등기 등)은 여기서 출력 가능하다.
  • 해당 공인중개사가 인증된 사람인지 확인은 여기서 가능하다.

레이 커즈와일이 예측하는 기술발전 시나리오

· 약 4분

급진적 미래학자인 레이 커즈와일이 How to create your mind에서 쓴 내용을 정리해봤다.

2010 년대

  • 망막에 이미지를 직접 조사하는 안경 형태의 디스플레이가 상용화
  • 인간의 뇌 용량과 거의 비슷한 10TB 의 컴퓨터가 100 만원대에 출시

2020 년대

  • 혈관 속에 투여하여 24 시간 인간의 몸 속 변화를 감시하는 나노봇이 상용화
  • 튜링테스트를 통과하는 컴퓨터의 등장
  • 자동차는 모두 자율주행차로 바뀜, 고속도로는 자율주행차의 통행만 가능

2030 년대

  • 가상현실 구현 기술이 발전해 실제와 구분할 수 없음
  • 마음과 의식을 컴퓨터에 백업할 수 있음

2040 년대

  • 인공지능이 인간의 지능보다 10 억배 뛰어난 성능을 발휘
  • 분자 단위로 물질을 조립할 수 있는 기술이 개발되어, 어떠한 물질이든 창조가능
  • 인간의 뇌와 클라우드 인공지능을 무선으로 연결하게되며, 인간의 지능은 10 억배 증가

인간

2030 년대부터 뇌의 알고리즘이 컴퓨터로 구현이 완료된다면, 인간에 대한 정의가 달라질 수 있다.

의식은 뇌에 있다. 뇌의 모든 알고리즘을 옮겨 기계 뇌를 만들었다.

  • 기계는 의식이 있는 것인가?
  • 기계는 살아 있는 것인가?
  • 기계는 인간인가?
  • 의식은 뇌에서 나오니 의식이 있다고 할 수 있다.
  • 의식은 살아 있는 것에서부터 나오니 살아있다고 할 수 있다.
  • ???

복제

의 뇌를 스캔해서 의식이 복제된 기계인 나 2가 있다. 나 2는 마치 나처럼 내 삶에 대해 이야기하고 심지어 "새로운 몸이 참 마음에 드는군"이라며 너스레를 떤다.

나 2라고 할 수 있을까?

나 2는 겉보기엔 와 똑같지만 는 여기 존재하니 아니다.

는 뇌를 부분부분 기계로 바꾸는 수술을 진행하고 있다. 수술은 성공적이여서 수술을 할수록 의 신체 기능은 진화하고 있다. 수술이 계속되어 완전한 기계뇌를 가진 내가 되었다.

는 위의 나 2와 똑같은 기계가 된 것이다.

결국 나 2는 또다른 이다. 내가 둘이 된 것이다.

EditPlus 테마 설정

· 약 2분

에디트 플러스를 어쩔 수 없이 써야할 상황이 있다. 바로 FTP 에 붙어서 작업해야 될 경우인데, 기본 테마가 메모장이라 아쉽다.

그럴 때 서브라임텍스트 소다테마를 적용하면 된다.

설치

다운로드

파일을 다운받는다.

EditPlus 폴더 안에 theme 폴더를 만들고 그 안에 압출을 풀어주자. image from hexo

설정

도구 > 기본설정 > 일반 > 색상 탭에서 가져오기 버튼을 클릭하고 ini 파일을 읽어들인다. image from hexo

파일 > 설정 & 구문강조 탭에 가서 PHP를 선택 후 구문파일에 다운받은 php.stx 를 등록해준다. image from hexo

이제 예쁜 에디트플러스를 즐길 수 있다.