출처: http://agilemanifesto.org/iso/ko/manifesto.html  http://agilemanifesto.org/iso/ko/principles.html

Principles behind the Agile Manifesto (애자일 소프트웨어 개발 선언)

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을
도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고
있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
공정과 도구보다 개인과 상호작용
포괄적인 문서보다 작동하는 소프트웨어
계약 협상보다 고객과의 협력
계획을 따르기보다 변화에 대응하기

That is, while there is value in the items on
the right, we value the items on the left more.
가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만,
우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.

12 Principles Behind the Agile Manifesto (애자일 선언 이면의 원칙)

We follow these principles:
우리는 다음 원칙을 따른다:

  1. 고객만족 추구
    • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
    • 우리의 최우선 순위는, 가치 있는 소프트웨어를 일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다.
  2. 요구변경 적극 수용
    • Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
    • 비록 개발의 후반부일지라도 요구사항 변경을 환영하라. 애자일 프로세스들은 변화를 활용해 고객의 경쟁력에 도움이 되게 한다.
  3. 짧은 배포 간격
    • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
    • 작동하는 소프트웨어를 자주 전달하라. 2주 ~ 2개월 정도의 간격으로 하되 더 짧은 기간을 선호하라.
  4. 현업-개발자간 일일 의사소통
    • Business people and developers must work together daily throughout the project.
    • 비즈니스 쪽의 사람들과 개발자들은 프로젝트 전체에 걸쳐 날마다 함께 일해야 한다.
  5. 동기부여된 사람들 중용. 지원 및 신뢰
    • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
    • 동기가 부여된 사람들을 중심으로 프로젝트를 구성하라. 그들이 필요로 하는 환경과 지원을 주고 그들이 일을 끝내리라고 신뢰하라.
  6. 면대면 대화
    • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
    • 개발팀으로, 또 개발팀 내부에서 정보를 전하는 가장 효율적이고 효과적인 방법은 면대면 대화이다.
  7. 작동하는 소프트웨어를 척도로
    • Working software is the primary measure of progress.
    • 작동하는 소프트웨어가 진척의 주된 척도이다.
  8. 지속가능한 개발 장려
    • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
    • 애자일 프로세스들은 지속 가능한 개발을 장려한다. 스폰서, 개발자, 사용자는 일정한 속도를 계속 유지할 수 있어야 한다.
  9. 좋은 기술, 설계에 관심
    • Continuous attention to technical excellence and good design enhances agility.
    • 기술적 탁월성과 좋은 설계에 대한 지속적 관심이 기민함을 높인다.
  10. 단순성 추구
    • Simplicity–the art of maximizing the amount of work not done–is essential.
    • 단순성이 – 안 하는 일의 양을 최대화하는 기술이 – 필수적이다.
  11. 자기조직적 팀
    • The best architectures, requirements, and designs emerge from self-organizing teams.
    • 최고의 아키텍처, 요구사항, 설계는 자기 조직적인 팀에서 창발한다.
  12. 정기적으로 효율성 제고
    • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
    • 팀은 정기적으로 어떻게 더 효과적이 될지 숙고하고, 이에 따라 팀의 행동을 조율하고 조정한다.


출처: https://m.blog.naver.com/playautocorp/221241097750    https://www.amazon.jobs/principles


아마존의 14가지 리더십 원칙 (The amazon way, 14 leadership principle)

1. 고객에 집착하라

아마존의 리더는 고객에서부터 시작하고 나머지는 그 다음이다. 리더는 고객의 신뢰를 얻고 유지하기 위해 끊임없이 노력하며, 경쟁사들에게 관심을 갖기는 해도 집착하는 대상은 어디까지나 고객들이다.

Customer Obsession

Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over customers.

2. 결과에 주인의식을 가져라

아마존의 리더들은 주인이다. 그들은 장기적인 관점에서 생각하고, 단기적 성과를 위해 장기적 가치를 희생시키지 않는다. 또한 “그것은 내 일이 아니야."라고 절대 말하지 않으며, 자신의 팀보다 회사 전체의 이익을 위해 행동한다.

Ownership

Leaders are owners. They think long term and don’t sacrifice long-term value for short-term results. They act on behalf of the entire company, beyond just their own team. They never say “that’s not my job". 

3. 발명하고 단순화하라

아마존이 리더는 팀이 발명하고 혁신하기를 기대하고 요구하며, 자신이 관여하는 프로세스를 단순화시킬 방법을 찾는 노력을 한시도 멈추지 않는다. 또한 리더는 조직 외부의 상황에도 아주 밝아 모든 곳으로부터 새로운 아이디어를 얻는다. 뿐만 아니라 사고방식에 구애를 받지 않는다. 오히려 리더들은 오해 받을 상황을 무릅쓰고 두려움 없이 혁신에 뛰어든다.

Invent and Simplify

Leaders expect and require innovation and invention from their teams and always find ways to simplify. They are externally aware, look for new ideas from everywhere, and are not limited by “not invented here". As we do new things, we accept that we may be misunderstood for long periods of time.

4. 리더는 대부분 옳다

아마존의 리더들은 옳다. 항상 옳지는 않아도, 대부분 옳다. 리더들은 뛰어난 사업적 판단력을 보유하고, 자신의 목표는 물론이고 성공을 측정하는데 사용되는 지표들을 더없이 명확히 밝힘으로써 다른 사람들에게 자신의 뛰어난 판단력을 전파한다.

Are Right, A Lot

Leaders are right a lot. They have strong judgment and good instincts. They seek diverse perspectives and work to disconfirm their beliefs.

5. 자기계발 : 배우고 호기심을 가져라

리더에게 배움의 끝이란 없으며 리더는 항상 스스로를 발전시킬 방법을 찾아야 한다. 리더는 새로운 가능성에 강렬한 호기심을 갖고 가능성을 탐구하기 위해 행동한다.

Learn and Be Curious

Leaders are never done learning and always seek to improve themselves. They are curious about new possibilities and act to explore them.

6. 최고 인재만을 채용하고 육성하라

아마존의 리더는 모든 채용과 승진에 있어 성과 기준을 높인다. 리더는 특별한 인재를 알아보는 눈이 있고 조직 전반에 그들을 능동적으로 배치한다. 또한 리더는 미래의 리더들을 육성할 뿐 아니라, 다른 사람들을 올바른 방향으로 이끄는 코치로서의 역할에 최선을 다한다.

Hire and Develop the Best

Leaders raise the performance bar with every hire and promotion. They recognize exceptional talent, and willingly move them throughout the organization. Leaders develop leaders and take seriously their role in coaching others. We work on behalf of our people to invent mechanisms for development like Career Choice.

7. 최고의 기준을 고집하라

아마존의 리더는 많은 사람들이 터무니없이 높다고 생각할 만큼 높은 기준을 세운다. 하지만 여기서 그치지 않고, 그들은 기준을 끊임없이 끌어올리고 자신의 팀이 제품과 서비스 그리고 프로세스의 품질 수준을 지속적으로 향상시키도록 이끈다. 뿐만 아니라 리더는 조직이 높은 기준을 유지할 수 있도록, 아무리 적은 숫자라도 품질 관리 프로세스에서 걸러지지 않은 불량품이 생산되지 않도록 최선을 다하며 문제들을 해결한다.

Insist on the Highest Standards

Leaders have relentlessly high standards - many people may think these standards are unreasonably high. Leaders are continually raising the bar and drive their teams to deliver high quality products, services and processes. Leaders ensure that defects do not get sent down the line and that problems are fixed so they stay fixed.

8. 크게 생각하라

협소한 관점으로 생각하는 것은 자기 충족적 예언이다. 아마존의 리더는 구체적인 결과를 만들어내는 대담한 목표점을 제시하고, 그 목표점을 널리 알리며 팀을 그 방향으로 이끈다. 그들은 다르게 생각하고, 고객을 섬기기 위한 최선의 방법을 찾아서 구석구석 살피고 또 살핀다.

Think Big

Thinking small is a self-fulfilling prophecy. Leaders create and communicate a bold direction that inspires results. They think differently and look around corners for ways to serve customers.

9. 신속하게 판단하고 행동하라

아마존의 리더는 계산된 위험 감수를 가치 있게 생각한다. 비즈니스에서는 속도가 생명이다. 많은 결정과 행동은 되돌릴 수 있고, 광범위한 연구가 꼭 필요하지도 않다. 고로 확신이 없을 때는 우선 시도하라. 자신의 분야에서 첫번째 사람이 됨으로써 얻을 수 있는 기회를 최대한 활용하라.

Bias for Action

Speed matters in business. Many decisions and actions are reversible and do not need extensive study. We value calculated risk taking.

10. 근검절약을 실천하라

아마존의 리더는 고객들에게 중요한 영향을 주지 않는 일에는 돈을 쓰려고 하지 않는다. 근검절약은 독창성을 드높이고, 자급자족 능력을 키우며 발명을 낳는다. 머릿수를 늘리고 예산을 올린다고 가산점이 주어지지는 않는다.

Frugality

Accomplish more with less. Constraints breed resourcefulness, self-sufficiency and invention. There are no extra points for growing headcount, budget size or fixed expense.

11. 다른 사람의 신뢰를 얻어라

아마존의 리더는 진실로 열린 마음을 갖고, 진심을 다해 경청하며, 겸손의 마음으로 자신의 가장 큰 신념을 시험한다. 그들은 솔직하고, 그래서 주변 사람들을 신뢰할뿐 아니라 주변 사람들의 신뢰를 얻을 수 있다.

Earn Trust

Leaders listen attentively, speak candidly, and treat others respectfully. They are vocally self-critical, even when doing so is awkward or embarrassing. Leaders do not believe their or their team’s body odor smells of perfume. They benchmark themselves and their teams against the best.

12. 깊게 파고들어라

아마존의 리더는 모든 수준의 업무에 관여하고 매순간 세부사항을 파악하고 있을뿐 아니라 세부사항을 자주 점검한다. 그들에게 중요하지 않은 업무란 없다. 특정 프로세스의 가장 기본적인 사항까지 깊이 파고들어야만, 기회를 포착할 수 있고 문제가 손 쓸 수 없을 만큼 악화되기 전에 미리 해결할 수 있음을 알기 떄문이다.

Dive Deep

Leaders operate at all levels, stay connected to the details, audit frequently, and are skeptical when metrics and anecdote differ. No task is beneath them.

13. 기개를 가져라 - 반대하되 받아들여라

아마존의 리더에게는 굳은 신념과 확신이 있다. 어떤 결정에 반대할 때는 비록 불편하고 지치는 한이 있더라도 결정에 대해 정중하게 이의를 제기할 의무가 있다. 아마존의 리더는 결정을 할 때 집단 내부의 단결을 위해 타협하지 않는다. 그러나 논의 끝에 결정이 확정되고 나면 그 결정에 온전히 전념한다.

Have Backbone; Disagree and Commit

Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting. Leaders have conviction and are tenacious. They do not compromise for the sake of social cohesion. Once a decision is determined, they commit wholly.

14. 구체적인 성과를 내라

아마존의 리더는 자신의 업무에서 핵심적인 산출물에 초점을 맞추고 적절한 시기에 적절한 품질의 결과물을 낸다. 리더는 어려움이 닥쳐도 잘 대처하고 절대 안주하지 않는다.

Deliver Results

Leaders focus on the key inputs for their business and deliver them with the right quality and in a timely fashion. Despite setbacks, they rise to the occasion and never settle.


TCP 튜닝 -  CENTOS7

net.ipv4.tcp_congestion_control = bbr 적용을 위해 커널 4.15 로 업그레이드 (4.9이상 필요)

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm yum --disablerepo="*" --enablerepo="elrepo-kernel" list available yum --enablerepo=elrepo-kernel -y install kernel-ml

grub2-set-default 0

#리부팅 커널 버전 확인 reboot uname -sr


상기 커널 업그레이드를 할수 없다면 net.ipv4.tcp_congestion_control = cubic 로 변경 하거나 지운다(default가 cubic)

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/ip_forward.conf

cat << EOF > /etc/sysctl.d/nettune.conf net.core.rmem_default = 524288 net.core.wmem_default = 524288 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.netdev_max_backlog = 30000 net.core.somaxconn = 1024 net.core.default_qdisc = fq net.ipv4.tcp_rmem = 262144 524288 16777216 net.ipv4.tcp_wmem = 262144 524288 16777216 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_slow_start_after_idle = 0 net.ipv4.tcp_max_tw_buckets = 1800000 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_congestion_control = bbr EOF


sysctl --system #sysctl -p /etc/sysctl.d/ip_forward.conf #sysctl -p /etc/sysctl.d/nettune.conf

http://meetup.toast.com/posts/55

https://www.tecmint.com/increase-linux-server-internet-speed-with-tcp-bbr/

https://www.vultr.com/docs/how-to-deploy-google-bbr-on-centos-7


iperf3

#클라이언트 iperf3 -V -c 10.178.31.240 -b 1G --get-server-output -P 5 iperf3 -V -c 10.178.31.240 -b 1G --get-server-output --udp -P 5 #서버 iperf3 -V -s




원문 : https://www.clien.net/service/board/cm_nas/11884520


무료인증서 - 3개월 마다 갱신 필요.

Wildcard 가능해짐(2018년3월)

https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579


DNS 확인 방법으로는 인증서 자동 업데이트가 되지 않으므로, 추가

며칠 후면 인증서 발행 툴들이 보다 쉽게 적용할 수 있도록 업데이트 되리라 믿습니다.


Wildcard이기 때문에 서버로 인증받는게 아닌 도메인의 TXT값을 직접 이력해주어야한다.

아래 과정 중 나오는 값은 _acme-challenge 호스트네임으로 TXT로 입력해주면 된다.

_acme-challenge.opencloud.kr


1. 서버 접속 후 루트 접근 

$ sudo su -


2. certbot 설치

# git clone  https://github.com/certbot/certbot

# cd certbot

# sudo ./certbot-auto --os-packages-only    #여기서 y를 눌러서 필수 패키지를 설치한다.

# ./tools/venv.sh


3. certbot 으로 인증서 발행

# source ./venv/bin/activate

# 도메인명과 이메일을 수정해서 아래 명령을 시행합니다.

sudo ./venv/bin/certbot -d *.도메인명 --email 이메일 --text --agree-tos --server  https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --expand --renew-by-default  --manual-public-ip-logging-ok certonly


처음 위 명령을 실행하면 이메일을 등록하라고 합니다. Y 를 누릅니다.

다음으로 certbot 프로그램이 _acme-challenge.도메인명  에 입력할 DNS TXT를 화면상에 보여 줍니다.

_acme-challenge.[도메인명] DNS TXT

도메인에 해당값을 셋팅한 후 엔터를 누르면 해당 도메인을 검증하고 인증서가 발행됩니다.

재실행시 TXT값이 바뀌므로 도메인 셋팅 후 엔터를 누르도록 합니다.


추가) 인증서 확인

# ./venv/bin/certbot certificates

인증서 위치

# /etc/letsencrypt/live/[도메인명]


# 인증서 폴더 접근 권한 설정

sudo chown [사용자명] /etc/letsencrypt/live


--------------------------------------------------------------------------------------------------------------------------

*추가 정보1: PEM ->  PFX (IIS 서버용으로 변환)

sudo openssl pkcs12 -passout pass:[패스워드] -export -out ./cert.pfx -inkey /etc/letsencrypt/live/[도메인명]/privkey.pem -in /etc/letsencrypt/live/[도메인명]/cert.pem -certfile /etc/letsencrypt/live/[도메인명]/chain.pem


변환된 인증서 접근권한 부여


sudo chown [사용자명] ./cert.pfx


*추가 정보2: 와일드카드 외 도메인 등록

익스체인지 서버에서는 와일드카드(*) 도메인 인증서 등록시 에러가 발생하더군요, 아래와 같이 mail을 명시적으로 추가해서 만들어 주니 문제가 없었습니다.

sudo ./venv/bin/certbot -d mail.[도메인명],*.[도메인명]  --email [이메일] --text --agree-tos --server  https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --expand --renew-by-default  --manual-public-ip-logging-ok certonly

https://www.fun25.co.kr/blog/linux-centos-7-change-timezone/?page=9


CentOS 7 에서 타임존 변경 방법입니다.

사용가능한 타임존

# timedatectl list-timezones | grep Seoul
Asia/Seoul

타임존 변경

# timedatectl set-timezone Asia/Seoul


수동으로 변경해야 할 경우는 기존의 /etc/localtime 파일을 삭제 후

# ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

타임존 확인

# date
2016. 01. 18. (월) 21:12:30 KST


정확하게는 Reverse Proxy 형태의 포트 포워딩 되시겠다.

방법은 여러가 지가 있겠으나... 일단 TCP 레벨이 가능한 아래 2가지를 먼저 해본다.

NGINX/HAProxy를 쓰는 방법

IPTables(CentOS6) 또는 FirewallD(CentOS7)를 쓰는 방법

NGINX 설정

sudo su -
yum install -y nginx nginx-mod-stream
vi /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

stream {
    server {
        listen     443;
        proxy_pass s3.ap-northeast-2.amazonaws.com:443;
    }
}
#자동 시작 설정 및 서비스 시작
systemctl enable nginx
systemctl start nginx

#동작 테스트
curl -v --insecure https://localhost

헤갈려서 적어둠

cidr

binary

decimal

 

25

10000000

128

 1

26

11000000

192

 2

27

11100000

224

 3

28

11110000

240

 4

29

11111000

248

 5

30

11111100

252

 6

31

11111110

254

 7

32

11111111

255

 8


+ Recent posts