특정 DIR 파일 리스트
_, _, filenames = next(walk(TARGET_DIR), (None, None, ))
print ([name for name in os.listdir(DIR) if os.path.isfile(os.path.join(TARGET_DIR, name))])
f = 
for (dirpath, dirnames, filenames) in walk(TARGET_DIR):
OSX Package는 개인적으로는 Brew로 설치 하는 걸 권장합니다.
1 단계 – 전제 조건
터미널 :Mac 터미널에 액세스 할 수 있어야 합니다.
Homebrew :Homebrew는 대부분의 오픈 소스 소프트웨어를 설치하는 데 사용되는 널리 사용되는 패키지 관리 도구입니다. 설치가 안되어 있다면, 아래 커맨드로 설치할 수 있습니다.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2 단계 – macOS에 Visual Studio Code 설치
brew cask install visual-studio-code
3 단계 실행
code 를 실행하면 된다.
XCode CLI (gcc) 설치
Android SDK 설치
brew cask install java
brew cask install android-sdk
RFI(Request For Information): RFP 작성을 위한 정보 요청서
RFP(Request For Proposal): 요구사항 기반의 제안 요청서
WBS(Work Breakdown Structure)
: 업무 분해 구조, TBS(Task Breakdown Structure): 작업 분해 구조 : 제품을 개발 생산하는 과정에서 기술적인 사항과 관련하여 하드웨어, 소프트웨어, 서비스 및 기타 작업 과제들을 상세하게 구성하여 조직화하는 것
SOW(Statement Of Work): 작업 지시서, 작업기술서, 업무기술서, 시방서. 공급할 제품 또는 서비스의 상세한 설명
POC(Proof Of Concept): 레퍼런스가 없거나 아직 시장에 나오지 않은 (신기술이 적용된) 신제품에 대한 기능과 성능을 검증하는 단계
BMT(Bench Marking Test): 동일한 시험환경에서 경쟁사간의 제품 기능 및 성능에 대한 비교시험
1. console.cloud.google.com 로 접속후 Cloud Shell 을 띄웁니다.
2. 좀 더 빠르게 하기 위해 Cloud Shell 의 메뉴버튼에서 '증폭 모드'를 활성화 합니다.
3. Cloud Shell에 아래 내용을 붙여 넣어서 code-server 를 설치합니다.
export VERSION=`curl -s https://api.github.com/repos/cdr/code-server/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")'`
tar -xvzf code-server$VERSION-linux-x64.tar.gz
4. code-server를 실행합니다.
./code-server --no-auth --port 8080
5. '포트에서 미리보기 8080' 을 선택하여 새 탭에서 CloudShell을 엽니다.
6. 새창이 열리면서 404 에러가 뜰것입니다. 그러면 주소창에서 '?authuser=0' 를 삭제하고 엔터를 칩니다.
7. 이제 code-server를 사용하실 수 있습니다.
What’s Blue Origin’s motto? “Gradatim Ferociter” is Latin for “Step by Step, Ferociously.” Bezos says that’s his approach to spaceflight. “If you’re building a flying vehicle, you can’t cut any corners. If you do, it’s going to be [just] an illusion that it’s going to make it faster. … You have to do it step by step, but you do want to do it ferociously.”
아마존의 창업자 제프 베조즈가 창업한 우주 기업 '블루 오리진'의 모토 이다.
Gradatim Ferociter : "한걸음씩 용감하게" 라고 보통 번역되었있는데 아래의 영어설명을 들어오면
“Step by Step, Ferociously.” 이다.
Ferocious : 사나운, 흉포한; 맹렬한, 격렬한
You have to do it step by step, but you do want to do it ferociously.” 당신은 그것을 차근차근 해나가야 하지만, 맹렬히(격렬히) 하기를 원해야 한다.
한걸음씩 나아가지만, 보다 공격적으로 적극적으로 하기를 원해야 한다는 뜻.
'확인하다' 영어 표현 차이
Clarify, Verify, Validate, Confirm, Check
Clarify – (다시 한번 말해달라고 하며 애매모호한 점을 명확하게 하기 위한) 확인하다, 명확히 하다. Clarify the position. ( 입장이 무엇인지 확인하다 .)
Verify – ( 진실로 주장되거나 알려진 사실이 실제로 진실인지 알아보기 위한) 확인하다, 정말인지 검증하다. Verify the claim. ( 주장이 사실인지 확인하다 .)
Validate – ( 권한이 있는 기준에 따라 )검증하다 /인증하다 확인하다, 유효한지 검증하다 / Validate a contract. ( 계약을 인증하다 )
Confirm – ( 사실로 서로 알고 있지만 공식으로 다시 한번) 확인하다. / 승인하다, 내용을 재확인하다. Confirm your appointment. (예약을 확인하다)
Check – ( 사실인지 아닌지 알지 못하는 상태에서Check your spelling. (스펠링이 맞는지 확인하다) )확인하다. / 맞는지 아닌지 체크하다.
Java 에서는 자체적으로 DNS Caching을 하기 때문에 잘 신경 쓰지 않는데...
그 외의 경우... (사실 기본적으로 확인)
가끔, CPU도 놀고, Network도 여유있고, Memory도 여유 있고, Disk io도 여유 있고 (queue depth기준), 암튼 다 노는데.. 애플리케이션 느리 다면 한번쯤 DNS 쿼리 응답 속도를 체크 해볼 필요성이 있다.
그냥 로컬 DNS Caching 서비스를 설치하면 바로 개선이 보인다.
다면 Caching 시간은 Failover등으로 IP가 변경 될 수 있음을 고려할때, 초 단위로 짧게 하는게 맞을 듯 하다.
nscd 와 dnsmasq를 많이 쓰는듯하고. bind9 되고.. (갈수록 기능이 많고 덩치가 커짐)
AWS는 공식적으로 dnsmasq를 가이드 하는듯.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How do you determine what your priorities are?
Design for workload insights
How do you design your workload so that you can understand its state?
Development and Integration
How do you reduce defects, ease remediation, and improve flow into production?
Mitigation of deployment risks
How do you mitigate deployment risks?
How do you know that you are ready to support a workload?
Effective preparation is required to drive operational excellence Business success is enabled by shared
goals and understanding across the business development and operations Common standards simplify workload
design and management enabling operational success Design workloads with mechanisms to monitor and gain
insight into application platform and infrastructure components as well as customer experience and behavior
How do you understand the health of your workload?
How do you understand the health of your operations?
How do you manage workload and operations events?
Successful operation of a workload is measured by the achievement of business and customer outcomes
Define expected outcomes determine how success will be measured and identify the workload and operations
metrics that will be used in those calculations to determine if operations are successful Consider that
operational health includes both the health of the workload and the health and success of the operations
acting upon the workload for example deployment and incident response Establish baselines from which
improvement or degradation of operations will be identified collect and analyze your metrics and then
validate your understanding of operations success and how it changes over time Use collected metrics to
determine if you are satisfying customer and business needs and identify areas for improvement …
How do you evolve operations?
Evolution of operations is required to sustain operational excellence Dedicate work cycles to making
continuous incremental improvements Regularly evaluate and prioritize opportunities for improvement for
example feature requests issue remediation and compliance requirements including both the workload and
operations procedures Include feedback loops within your procedures to rapidly identify areas for
improvement and capture learnings from the execution of operations …
. 비즈니스 가치를 제공하기 위해 시스템을 모니터링하고 운영할 수 있는 능력
. 운영 지원을 위한 프로세스와 절차를 지속적으로 향상해서 제공하는 능력
How do you manage credentials and authentication?
How do you control human access?
How do you control programmatic access?
Identity and access management are key parts of an information security program ensuring that only
authorized and authenticated users are able to access your resources and only in a manner that you intend
For example you should define principals that is users groups services and roles that take action in your
account build out policies aligned with these principals and implement strong credential management These
privilege management elements form the core of authentication and authorization …
& Access Management
How do you detect and investigate security events?
How do you defend against emerging security threats?
You can use detective controls to identify a potential security threat or incident They are an essential
part of governance frameworks and can be used to support a quality process a legal or compliance obligation
and for threat identification and response efforts There are different types of detective controls For
example conducting an inventory of assets and their detailed attributes promotes more effective decision
making and lifecycle controls to help establish operational baselines You can also use internal auditing an
examination of controls related to information systems to ensure that practices meet policies and
requirements and that you have set the correct automated alerting notifications based on defined conditions
These controls are important reactive factors that can help your organization identify and understand the
scope of anomalous activity …
How do you protect your networks?
How do you protect your compute resources?
Infrastructure protection encompasses control methodologies such as defense in depth necessary to meet
best practices and organizational or regulatory obligations Use of these methodologies is critical for
successful ongoing operations in either the cloud or on premises …
How do you classify your data?
Data protection at rest
How do you protect your data at rest?
Data protection in transit
How do you protect your data in transit?
Before architecting any system foundational practices that influence security should be in place For
example data classification provides a way to categorize organizational data based on levels of sensitivity
and encryption protects data by way of rendering it unintelligible to unauthorized access These tools and
techniques are important because they support objectives such as preventing financial loss or complying with
regulatory obligations …
How do you respond to an incident?
Even with extremely mature preventive and detective controls your organization should still put processes
in place to respond to and mitigate the potential impact of security incidents The architecture of your
workload strongly affects the ability of your teams to operate effectively during an incident to isolate or
contain systems and to restore operations to a known good state Putting in place the tools and access ahead
of a security incident then routinely practicing incident response through game days will help you ensure
that your architecture can accommodate timely investigation and recovery …
. 위험 평가 및 완화 전략을 통해 비즈니스 가치를 제공하면서 정보, 시스템 및 자산을 보호할 수있는 능력
How do you manage service limits?
How do you manage your network topology?
Before architecting any system foundational requirements that influence reliability should be in place
For example you must have sufficient network bandwidth to your data center These requirements are sometimes
neglected because they are beyond a single project s scope This neglect can have a significant impact on the
ability to deliver a reliable system In an on premises environment these requirements can cause long lead
times due to dependencies and therefore must be incorporated during initial planning …
How does your system adapt to changes in demand?
How do you monitor your resources?
How do you implement change?
Being aware of how change affects a system allows you to plan proactively and monitoring allows you to
quickly identify trends that could lead to capacity issues or SLA breaches In traditional environments
change control processes are often manual and must be carefully coordinated with auditing to effectively
control who makes changes and when they are made …
How do you back up data?
How does your system withstand component failures?
How do you test resilience?
How do you plan for disaster recovery?
In any system of reasonable complexity it is expected that failures will occur It is generally of
interest to know how to become aware of these failures respond to them and prevent them from happening again
. 인프라 또는 서비스 중단으로 보터 시스템을 복구하는 능력
. 요구사항을 충족하기 위해 동적으로 컴퓨팅 리소스를 확보하는 능력
. 잘못된 구성이나 일시적인 네트워크 문제와 같은 중단을 완화 할수 있는 능력
How do you select the best performing architecture?
How do you select your compute solution?
How do you select your storage solution?
How do you select your database solution?
How do you configure your networking solution?
The optimal solution for a particular system will vary based on the kind of workload you have often with
multiple approaches combined Well architected systems use multiple solutions and enable different features
to improve performance …
How do you evolve your workload to take advantage of new releases?
When architecting solutions there is a finite set of options that you can choose from However over time
new technologies and approaches become available that could improve the performance of your architecture …
How do you monitor your resources to ensure they are performing as expected?
After you have implemented your architecture you will need to monitor its performance so that you can
remediate any issues before your customers are aware Monitoring metrics should be used to raise alarms when
thresholds are breached The alarm can trigger automated action to work around any badly performing
How do you use tradeoffs to improve performance?
When you architect solutions think about tradeoffs so you can select an optimal approach Depending on
your situation you could trade consistency durability and space versus time or latency to deliver higher
. 시스템의 요구사항을 만족하기 위해 컴퓨팅 리소스를 효과적으로 사용하는 능력
. 수요 변화 및 기술의 발전에 따른 효율성을 유지 할 수 있는 능력
How do you govern usage?
Usage and cost monitoring
How do you monitor usage and cost?
How do you decommission resources?
The increased flexibility and agility that the cloud enables encourages innovation and fast paced
development and deployment It eliminates the manual processes and time associated with provisioning on
premises infrastructure including identifying hardware specifications negotiating price quotations managing
purchase orders scheduling shipments and then deploying the resources However the ease of use and virtually
unlimited on demand capacity requires a new way of thinking about expenditures …
How do you evaluate cost when you select services?
Resource type and size
How do you meet cost targets when you select resource type and size?
Pricing model selection
How do you use pricing models to reduce cost?
Data transfer planning
How do you plan for data transfer charges?
Using the appropriate instances and resources for your workload is key to cost savings For example a
reporting process might take five hours to run on a smaller server but one hour to run on a larger server
that is twice as expensive Both servers give you the same outcome but the smaller server incurs more cost
over time …
Matching supply with
How do you match supply of resources with demand?
Optimally matching supply to demand delivers the lowest cost for a workload but there also needs to be
sufficient extra supply to allow for provisioning time and individual resource failures Demand can be fixed
or variable requiring metrics and automation to ensure that management does not become a significant cost …
supply & demand
New service evaluation
How do you evaluate new services?
AWS에서 새로운 서비스와 기능을 발표함에 따라 기존 아키텍처에 대한 결정을 검토하여 비용 대비 효과가 계속 유지되도록하는 것이 가장 좋습니다. 더 이상 필요하지 않은 서비스 및 시스템 전체를 자원을 폐기하는 데 적극적으로 요구 사항이 변경됩니다.
. 최저 비용으로 비즈니스 가치를 제공하는 시스템을 운영할 수 있는 능력