728x90
반응형

Environment Variable 확인하기

PS /> $ENV:VAULT_TOKEN
s.uns3Mtn

 

Environment Variable 설정하기

PS /> $ENV:VAULT_TOKEN = "s.uns3Mtnlbq..."

 

728x90
반응형

'Shell > Powershell' 카테고리의 다른 글

[Powershell] Auto-suggestion 셋팅하기  (0) 2022.04.22
728x90
반응형

IT 분야에서 Day 0 / 1 / 2 는 각각 다른 Phase 를 설명한다.

Day 0 is the very first day of training, when recruits enter their formative stage. In software development, it represents the design phase, during which project requirements are specified and the architecture of the solution is decided.

Day 0 : Design phase 를 말한다. 요구사항을 분석하고 Architecture를 결정하는 구간이다. 

Day 1 involves developing and deploying software that was designed in the Day 0 phase. In this phase we create not only the application itself, but also its infrastructure, network, external services and implement the initial configuration of it all.

Day 1 : 개발과 배포 단계를 포함하는 단계이다. 이 단계에서는 Application만을 개발하는 것이 아니라 Infra, network 와 그 외의 외부 서비스들까지 구현하고 셋팅하는 단계이다. 

Day 2 is the time when the product is shipped or made available to the customer. Here, most of the effort is focused on maintaining, monitoring and optimizing the system. Analyzing the behavior of the system and reacting correctly are of crucial importance, as the resulting feedback loop is applied until the end of the application’s life.

Day 2 : Application (Product)의 개발이 완료되고 고객들이 이용가능한 환경을 구성하는 단계이다. 배포 이후의 Maintance 까지 포함하고, 배포 이후에 시스템을 Optimizing 하는 부분도 포함된다. Application의 수명이 다할 때까지 운영 관리되는 기간이라고 생각하면 된다.

 

728x90
반응형
728x90
반응형

코로나라는 녀석이 생기고 대면하는 것이 꺼려지면서 가장 급격하게 발전한 것 중에 하나가 배달음식이다. 한국에서도 배달의 민족이나 요기요, 쿠팡 이츠 등의 배달 시장이 급성장한 것과 같이 캐나다에서도 배달음식 시장이 점점 커지고 있다. 

 

가장 큰 배달업체는 Uber Eats이고 그 외에는 Skip the dish, Door Dash 등의 업체들이 그 뒤를 따르고 있다. 나도 이곳에서 배달음식을 종종 이용하곤 한다. 아내의 음식 준비시간의 한국에 비해 많이 늘어났는데, 이 곳 학교에서 급식을 주고 있지 않아 매일 도시락을 싸야하는 것에 부담을 많이 느끼고 있다. 가끔 도와주고 있긴 하지만 어쩌다 한번씩 이지 많은 부담을 덜어주고 있지 못하고 있다. 

 

그래서 가끔식 배달음식을 먹으면서 그 부담을 덜어주려고 하는데, 사실 한국에 비교해서 이 곳의 배달음식 비용은 상당히 비싸다. 우선 레트토랑에서 파는 음식의 값이 한국에 비싸고, 특히나 한식의 경우에는 많이 많이 비싸다. 그리고 배달료 자체도 한국보다 비싸며, 배달시에도 배달팁이 추가된다. 캐나다도 미국과 같은 팁의 나라라고 하지만 배달료가 있는데, 팁까지 주게 되면 음식 하나를 더 시켰지만 못 받는 느낌이다. ㅋㅋ 다른 한편으로는 몸으로 하는 일에 대한 서비스 비용을 지불한다는 면에서는 이해가 되는 부분이기도 하다.

 

그리고 이곳에서 생활을 하게 되면 팁이라는 것이 점점 일상화가 되고 모든 가격에 팁을 포함해서 계산을 하게 된다. 이곳의 문화이고 그것을 포함한 금액이 이곳의 물가라고 생각하고 살아가야 할 것 같다. 

 

그럼, 중요한 것은 도대체! 얼마나 비싸나? 이곳에서 비싸다고 하는 한국 치킨을 시켰을 때 기준으로 가격을 공개해보겠다. 

우선 심호흡을 하자. 놀랄테니 말이다. 

 

최근에 시킨 치킨은 bbq 치킨이다. 아, 밴쿠버에도 bbq가 들어와 있고, 이곳의 치킨들에 비교했을 때 맛도 중상급이라 할 수 있다. 하지만 가격은 비싼편이다. 

 

치킨가격

bbq의 황금올리브치킨, 여기에서는 Golden Fried Chicken 인데 반마리씩 판다. 음.. 왜그럴까? 모르겠다. ㅋㅋ 

이 반마리가 $19 이다. 한국 돈으로 17,882원이다. 거의 18000원이다. (다시 생각해도 비싸다.) 알다시피 반마리로 4인 가족의 입에 풀칠도 못한다. 그래서 2개 시켰다. 그래서 치킨가격만 $38.

이게 반마리양이다. 

 

떡볶이

bbq에서 떡볶이도 팔았다. 검색을 좀 해보니 맛있다고 하길래 한번 시켜보았다. 정확한 양을 몰라서 가격을 보고 양이 좀 많겠지 하고 시켰다. 양이 적었다. 속았다. 맛은 있었다. 그런데 아까웠다. 떡뽁이 가격 $13. (다시는 안 시킬 것 같다.)

 

구글에 찾아보니 사진이 있었다. 이거 봤으면 안시켰을텐데 ㅋㅋ

 

Fries & Dip

우리 애들이 감자튀김을 좋아한다. 그래서 시키는 김에 하나 시켰다. 보통 후라이드만 시킬 때에는 양념소스도 하나시키는데 감자튀김과 함께 Dip 소스를 시킬 수 있어서 선택했다. 이것이 $8.

 

Coke

목 막히니까 콜라 2개. $5.58

 

Delivery Fee

배달비 $4.55. 업체에 따라 얼마이상 시키면 배달비 무료가 있지만 여기는 아니다. 

 

GST

모든 비용에는 세금에 제외된 금액이다. 합계 금액에서 배달비가 계산된다. $3.46

 

Courier Tip

이것은 배달하는 사람에게 주는 Tip이다. 이 금액이 없거나 적으면 내 음식은 어떻게 될지 아무도 모른다. ㅋㅋㅋ 보통 10~15% 정도 준다. 

 

 

Total 금액 : $84.37

 

비싸다. 많이 비싸다. 캐나다는 식당에서 먹거나 배달을 먹으면 이렇게 비싸다. ㅎㅎㅎ 한국과 비교를 안해야하지만 한국을 떠나온지 이제 7개월 정도 밖에 안되니 비교를 할 수 밖에 없다. 그래도 가족들이 맛있게 잘 먹었으니 괜찮다. 열심히 돈 벌면 되지. 

아, 이 금액은 캐나다에서 한식을 시켰으니 더 비싸다는 것을 반드시 기억하자. 그런데 그나마 먹을만한 음식이 한식이다. 다른 것은 비용대비 효율이 극히 좋지 않다. 

 

혹시 캐나다로 오실 분들은 이런 캐나다의 물가를 꼭 기억하길 바란다. 

728x90
반응형
728x90
반응형

오늘은 Spring MVC(Sevlet)과 Webflux의 차이에 대해서 간략하게 정리해 보고자 한다. 

최근 API Gateway를 만들기 위해 Spring Cloud Gateway를 사용하였는데, 이 환경이 Webflux로 작성되어 있어서 기존에 내가 사용한 Spring MVC의 Servelt과 어떠한 차이가 있는지 궁금해서 이런저런 포스트를 찾아보았고, 이해한 내용을 정리해두고자 한다. 

 

우리의 서비스가 Concurrent하게 동작하기 위헤서는 서버 내부에서 동시성을 보장하는 기술이 필요하다. 간단하게 우리는 Thread라고 하는 녀석을 여러 개 만들어서 이것을 사용하여 여러 작업을 동시에 처리하게 할 수 있다. 이것은 Spring MVC에서 채택하고 있는 방법이고 이를 위해서 Thread pool를 만들어서 이 많은 Thread를 관리한다. Spring boot web에서 Request가 들어오면 해당 Request를 처리하기 위해서 Thread하나가 사용된다고 보면 될 것 같다. 

 

그에 반해, 적은 Thread 갯수로 이를 수행할 수 있는 방법이 존재한다. Thread 갯수보다 더 많은 작업이 있더라도 각 작업은 굉장히 적은 시간으로 쪼개어 하나씩 수행하도록 하는 방법이다. 이것을 Event-loop 방식이라하고, 이 방법을 채택해서 유명해 진 것이 우리가 아는 Node.js 이다. JavaScript의 거의 대부분의 수행은 메인 스레드 하나에서 실행된다. 그래서 Node.js는 싱글스레드 기반이라고 얘기하곤 한다. Spring Webflux는 이러한 컨셉을 가져와서 만들 것이라고 보면 된다. 

Webflux는 위에서 보는 것과 같이 기존 Servelt과 동일한 라이브리러리 이외에 Non-servlet으로 구현이 가능한 Netty와 Undertow 라이브러리를 가지고 있다. 이것으로 Non-blocking한 동작을 가능하게 한다. 둘다 동일하게 @Controller annotation을 사용하지만 내부적으로 수행되는 것은 다르다.

 

그럼 언제 Servlet을 사용하고 언제 Reactive를 사용해야 할까?

Spring boot의 Rossen Stoyanchev는 현재의 서비스가 Servlet으로 잘 구동되고 있다면 굳이 바꿀 필요가 없다고 말한다. 

그리고 Blocking Dependency를 사용하는 경우에는 Servlet이 더 어울린다. 그리고 Servlet API를 사용하게 된다면 Servlet이 더 어울린다. 왜나하면 Servlet API를 사용하는 순간 Blocking으로 바뀌게 되기 때문이다. 아래 그림을 보면 이해가 될 것이다. 

Servlet에서 Reactive를 사용하는 방법도 있다. 예를 들어 Microservice 환경에서 Restful API 요청이 들어왔을 때 다른 Service로 요청을 보내거나 데이터를 받아올 때 사용하면 좋을 것이다. 

 

Reactive가 반드시 Servlet 보다 빠른 것은 아니지만 Scalibility를 중시허가나 Resource를 효율적으로 사용하고 싶은 경우에는 고려하면 좋은 것임에는 틀림없다. 

 

미래의 나를 위해...

728x90
반응형

+ Recent posts