스크럼은 애자일 개발 프로세스입니다.

 

우선 스크럼의 유래가 있는데요. 럭비에서 유래된 용어입니다.

스크럼의 목적은 사소한 반칙이나 정지 후에 빠르고, 안전하게 그리고 공정하게 플레이를 재개하기 위한 것이다. 각 팀에서 8명의 선수들이 세 줄로 서로 바인드하고, 상대측과 밀착하여 각 팀의 프론트 로의 머리가 서로 엇갈리도록 형성하는 것이다. 이와같이 하면 스크럼 하프가 볼을 투입할 수 있는 터널이 만들어져 프론트로 선수들이 그들의 두 발 중 하나로 후킹함으로서 볼 소유를 위해 경쟁할 수 있게 된다.

 

간단히 말하면 여럿이 똘똘 뭉쳐 힘을 쓰는 것을 스크럼을 짠다 라고 표현합니다.

 

서로 협업하여 개발하는 모습으 보고 용어를 따온 거 같아요.

네이버 지식백과

스크럼 프로세스 그림입니다.

 

애자일, 스크럼을 보면 스프린트란 단어가 많이 나옵니다.

 

스프린트(Sprint)란?

 

특정 기능에 대한 계획 - 개발 - 테스트 - 기능구현 주기입니다.

 

 

스크럼 - 위키백과 요약

 

특성

솔루션에 포함할 기능/개선점에 대한 우선순위를 부여

개발 주기는 30일 정도로 조절

개발 주기마다 적용할 기능이나 개선에 대한 목록 제공

날마다 15분 정도 회의

항상 팀 단위로 생각

원활한 의사소통을 위하여 구분 없는 열린 공간을 유지

 

추구 가치

확약(약속한 것 실현), 전념(확약한 것의 실현에 전념), 정직, 존중, 용기

 

정리하자면 스크럼은 애자일 개발 방법론 중 하나이며

15분의 회의를 매일 하면서 스프린트라는 개발 주기를 정하고

개발 주기마다 계획들을 구현합니다.

그리고 스프린트가 끝날 때 마다 검토회의를 통해 피드백을 받으며 개선해 나갑니다, 

 

 

https://tv.naver.com/v/5619624

 

수평적인 눈높이로 업무 공유, 일어나서 하는 회의 '스크럼 회의'

해볼라고 | 갑자기 울려 퍼지는 김광석의 '일어나'♪ 음악 소리에 맞춰 일어나는 사람들? 부서별로 모여 아침에 그날 업무 일정 및 이슈 사항을 자유롭게 이야기하는 시간 최근 IT기업 등에서 많이 하는 회의 형식

tv.naver.com

스크럼의 일부인 스크럼 회의를 보여주네요.

 

수평적인 분위기, 15분, 유연근무제 키워드를 유의하면 좋은 방식인 회의 같습니다.

 

https://ko.wikipedia.org/wiki/%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4

데브옵스란 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다. 데브옵스는 소프트웨어 개발조직과 운영조직간의 상호 의존적 대응이며 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 한다.

 

목적

- 제품 출시까지 걸리는 기간 단축

- 새로운 판의 더 낮은 실패율

- 픽스 간 짧아진 리드타임

- 복구 시 더 빠른 평균 시간

 

툴체인 : 코드, 빌드, 테스트, 패키지, 릴리즈, 구성, 모니터링

https://intland.com/codebeamer/devops-it-operations/

//이상 위키백과

 

장점

- 속도 : 작업속도 향상

- 신속한 제공 : 릴리즈 속도 향샹

- 안정성 : 품질 향상

- 확장 가능 : 자동화에 따른 시스템 효율적 관리

- 협업 강화

- 보안

 

데브옵스의 키워드는 빠름

 

소규모 업데이트를 자주 수행하여 고객요구를 빠르게 수용

또한 각 배포의 위험성을 낮추고 변화가 작아져 복합도 감소 -> 릴리즈 실패 확률 감소

 

마이크로 서비스 아키텍쳐를 통한 유연성과 혁신속도 향상 (대규모의 시스템을 간단하고 독립적 결합, 해제)

 

 

 

 

 

 

개발팀과 운영팀의 소통이 원활하지 않는 회사에서는 DevOps의 장점과 원리만 이해하고 적용하려 노력하면

장기적으로 큰 발전이 될듯

 

여기서 유의할 점은 개발팀이나 운영팀에게 업무가 가중되는 느낌이 들면 실패하는 데브옵스 적용

 

데브옵스 엔지니어의 구체적인 역할, 툴, 현 위치

http://www.itworld.co.kr/news/118329

 

“몸값 상승 중” 데브옵스 엔지니어의 역할과 조건, 대우

데브옵스를 요약해서 설명하면 이전까지 외따로 분리되어 있던 개발(애플리케이션을 만드는 이들)과 운영(이 애플리케이션이 정상적으로 작동하도록 하는 이들)을 하나의 팀으로 통합하고자 하는 문화이자 철학이다. 통합 팀은 지속적 통합과 지속적 전달, 테스트를 사용해서 기존 코드베이스를 자주, 증분적으로 개선해 프로덕션으로 배포한다.데브옵스 엔지니어는 이런 팀에서 활동하기 위해 필요한 기술을 갖춘 사람이다. 그러나 데브옵스의 모든 것이 그렇듯이, 데브옵스 엔

www.itworld.co.kr

현실적인 데브옵스 적용의 어려움, 임원급들의 인식 문제

https://brunch.co.kr/@fits-b/2

 

데브옵스(DevOps)를 하지 말아야 할 기업이 있다

디지털 트랜스포메이션에 대하여- 2 | 저번 애자일 관련 글에 이어서, 이번 글에서는 또 하나의 핫이슈인 데브옵스(DevOps)의 개념을 간단하게 알아보고, 기업에서 적용할 때 고려해야 할 부분을 논의하겠습니다. 이 글에서도 개발자 위주의 기업이 아니라 국내에서 전통적으로 비즈니스에 IT를 활용하는 기업을 대상으로 하며, 필자가 개발자 이기 때문에 Dev의 관점이 강할 수 있습니다. 작은 경험과

brunch.co.kr

 

CI/CD

CI : Continuous Integration

CD : Continuous Deploy

2019년에 자격증을 하나 땄군여! 

 

바로 소프트웨어 테스팅 관련 자격증

 

ISTQB CTFL 입니다~

 

ISTQB 자격증 중에서 가장 기본 자격증이에요!

 

취준 하실 때는 QA 직무에도 우대사항인 경우도 있다고 하네요 

 

가격은 약 15만원!

 

문제는 총 40문제고 26개 이상 맞추면 합격입니다.

 

 

저는 4일짜리 STEN의 Software Testing Foundation 교육을 듣고 시험에 응시하였습니다.

 

확실히 4일은 시험을 응시하기 조금 빠듯한 기간이에요.

 

그래도 알기 쉽게 설명해줘서 실라버스가 이해가 잘 가긴 합니다.

 

 

시험 후기

 

실라버스가 역시 중요하다.

 

말장난이 많다. (너무 헷갈리게 문제를 출시합니다.)

 

생각보다 난이도는 높다. (물론 4일 공부한 양에 비해서요!)

 

샘플 문제로 먼저 감을 잡아놓고 실라버스를 공부해라!

 

 

 

 

STEN 교육 2020년 일정입니다.

 

 

교육·컨설팅 > 교육 공지사항 > [교육] 2020년 SW Testing 교육 연간일정 (2020.12.03 공개)

 

 

우선 위키백과에 설명이 잘 되어있어 정리하겠습니다.

 

JTAG(Joint Test Action Group)으로 디지털 회로에서 특정 노드의 디지털 입출력을 위해 직렬 통신 방식으로 출력 데이터를 전송하거나 입력데이터를 수신하는 방식을 말함. IEEE 1149.1 표준임, 회로 설계에 따라 디지털 회로의 내부로 저송하거나 핀의 외부로 데이터를 출력할 수도 있고 상태를 읽을 수도 있음

 

임베디드시스템 개발 시에는 디버깅 장비가 대표적인 활용 예임, CPU의 기계어 코드를 실행하지 않고 MCU 내부의 플래시 메모리나 임베디드 장치에서 CPU의 외부 플래시 메모리에 코드를 쓰거나 읽을 수 있음

또한 디버거가 CPU 동작과 연동하여 특정 기계어 코드 위치에서 멈추고 상태를 읽어 내부의 상태를 알 수 있음

 

JTAG의 작동 방식은 칩 내부에 Boundary Cell을 만들어 이것이 외부의 핀과 일대 일로 연결되어 프로세서가 할 수 있는 동작을 중간의 Cell을 통해 인위적으로 수행할 수 있도록 하는 것임

 

인터페이스

1. TDI(데이터 입력) : Test 하기 위한 신호

2. TDO(데이터 출력) : Test 한 결과를 외부에서 모니터링 하기 위한 Pin

3. TCK(클럭)

4. TMS(모드) : Test 모드로 전환하기 위한 제어 신호

5. TRST(리셋)

 

-위키 백과

 

자 정리하자면 제품을 만들때 제품이 잘 동작하는지 테스트를 해야합니다.

 

그러면 핀 마다 잘 동작을 확인을 해야하는데 핀이 너무 작고, 숨어 있을 수 있기 때문에

 

이걸 표준으로 만들어 테스트하기 용이하게 만들어 놓은걸 JTAG이라고 합니다. 

 

그리고 JTAG는 임베디드 시스템의 MCU 자체를 테스트 한다기 보단 보드 자체를 테스트 한다고 보시면 됩니다.

 

해당 핀에 신호가 잘 들어가는데 왜 동작이 이상한지, 아니면 코드에 문제가 있는지 등등을 확인할 수 있습니다.

 

또한 JTAG은 하드웨어 디버거에 속합니다. 개발자가 직접 CPU를 조절하며 디버깅이 가능하죠.

 

쉽게 말하자면 if문 안에 printf("if"); 같이 하여 확인하는 것이 소프트웨어 디버깅

 

실행, Break를 통해서 특정 변수의 값, Memory에 값이 잘 쓰였는지 확인하는 것이 하드웨어 디버깅입니다.

또한 JTAG를 통해 플래시 다운로드가 가능합니다.

 

Hex파일이나 Elf파일을 MCU에 다운로드가 가능합니다.

 

Boundary Scan에 대해서는 아직 잘 모르니 잘 설명해놓은 블로그 링크를 걸어두겠습니다.

 

Boundary Scan 설명 : http://forum.falinux.com/zbxe/index.php?document_srl=405972&mid=lecture_tip

 

강좌와 팁 - [JTAG]01 JTAG 이란?

 

forum.falinux.com

 

JTAG Interface

 

 

 

ISTQB (International Software Testing Qualification Board)

 

국제공인 자격증입니다.

 

https://www.sten.or.kr/bbs/board.php?bo_table=training_notice&wr_id=82

 

교육·컨설팅 > 교육 공지사항 > [교육] 2020년 SW Testing 교육 연간일정 (2020.12.03 공개)

ISTQB CTFL(Foundation Level) 기준으로

 

교육 660,000원

시험 158,400원

 

고용보험 환급 가능 교육 과정입니다. (고용보험 환급 신청하기 복잡합니다...)

 

 

CSTS (Certified Software Test Specialist)

 

한국 TTA에서 주관하고 국가공인자격증입니다. (최근에 바뀜)

 

https://sw.tta.or.kr/service/csts_it.jsp

 

CSTS자격시험 소개

CSTS자격시험 소개 홈 > 시험인증서비스 > 시험인증서비스 소개 > CSTS자격시험 개요 자 격 명 : SW 테스트 전문가(CSTS: Certified Software Test Specialist) 자격종류 : 등록민간자격 (제2013-1321호) 주관기관 : 한국정보통신기술협회(TTA) 자격등급 : 일반(Foundation Level), 고급(Advanced Level) SW 테스트 전문가 자격- 일반등급(Foundation Level) 검정기준 소프

sw.tta.or.kr

CSTS FL(Foundation Level) 기준으로

 

교육 300,000원

시험 50,000원

 

 

 

 

ISTQB가 오래되고 좀 더 인정을 받는 느낌입니다.

 

가격은 CSTS가 가성비가 훨씬 좋고요.

 

둘 다 공부해야하는 내용은 비슷합니다!

하이퍼루프

엘론머스크가 제안하고 (구설수가 많지만 참 대단한 사람...)

 

시속 1220km, 서울 -> 부산 20분 컷 

 

속력는 거의 음속 속력이다.

 

하이퍼루프의 핵심은 진공!

 

진공튜브안을 달려 공기저항, 마찰을 최대한 줄여 속도를 최대한으로 뽑아냅니다.

 

메인 회사는 버진 하이퍼루프 원 (하이퍼루프 원을 버진그룹이 인수)

 

하이퍼루프 원은 시속 387km를 기록했다고 합니다. (위의 1220km는 목표이자 매우 이상적인 수치)

 

 

하이퍼루프의 장점

 

1. 속도 (1220km)

2. 가격 (비행기에 비하면 매우 저렴한 가격)

3. 소음 (진공이기 때문에 소음이  비교적 적다.)

4. 날씨 영향 적음

 

 

 

개인적으로 하이퍼루프은 미국이나 중국 처럼 땅이 큰 나라에서 상당히 메리트가 있다고 생각합니다.

 

우리나라도 땅은 작지만 빨리빨리 문화에서 프리미엄 급으로 인기가 괜찮을 거 같네요.

 

현재 중동쪽에서도 관심을 많이 가지고 있다고 하니 기대가 됩니다. 

 

문제는 진공상태에서의 안전성

 

진공상태에서 사고가 난다? 매우 처참할 듯 합니다.

 

메인 관련주는 진공, 자기부상 관련주가 있겠네요.

 

 

일론 머스크보다 더 싼 하이퍼루프 고안한 13세 소녀

일론 머스크 테슬라 및 스페이스X CEO가 미래의 교통수단으로 언급한 하이퍼루프를 보다 현실적으로 싸...

blog.naver.com

하이퍼루프 관련하여 좋은 아이디어

 

저는 더 싸다는 점 보다 안전성을 크게 향상 시킬 수 있다는 점이 더 눈에 들어오네요

'최신 트렌드' 카테고리의 다른 글

혼합 현실 MR(Mix Reality) (+ 확장 현실 XR??)  (0) 2020.08.16
라이다 LIDAR 센서  (0) 2020.08.09
PID 제어  (0) 2018.11.28
3D센싱, ToF에 대하여  (0) 2018.10.27
발뮤다에 관해서  (0) 2018.10.22

SR Latch

SR Flip-flop

D Flip-flop

 

JK Flip-flop

 

T Flip-flop

 

내용은 추후에 추가

'전자공학 > 회로' 카테고리의 다른 글

Boost Convertor 원리 영상  (0) 2018.12.21
아날로그 회로 설계 4  (0) 2018.12.02
PCM과 BMS란??  (0) 2018.11.23
아날로그 회로 설계 3  (0) 2018.11.19
아날로그 회로 설계 2  (0) 2018.11.08

https://www.w3resource.com/java-tutorial/java-class-methods-instance-variables.php

 

객체(Object)

 

실세계에 존재하는것

 

클래스로 생성된 변수(여러개 생성 가능)

 

 

클래스(Class)

 

설계도!

 

객체를 만들기 위한 틀!

 

객체의 특성이나 기능 설명

 

필드 + 메소드

 

 

필드(Field)

 

필드는 클래스의 상태 및 속성, 변수로 표현

 

 

인스턴스(Instance)

 

객체랑 같은 의미로 보면됨

 

인스턴스화 - 객체를 실제 메모리에 할당

 

 

메소드(Method)

 

객체의 기능

 

 

 

UML(Unified Modeling Language) 통합 모델링 언어

 

소프트웨어를 설계할 때 사용하는 표준화된 범용 모델링 언어를 말합니다.

 

객체 지향 소프트웨어 개발 방법론에 특화되어있어 객체지향 모델링 언어라고도 부릅니다.

 

https://ko.wikipedia.org/wiki/%ED%86%B5%ED%95%A9_%EB%AA%A8%EB%8D%B8%EB%A7%81_%EC%96%B8%EC%96%B4

즉, 소프트웨어를 시각화하며 문서화하는 언어죠.

 

건물에 비교하면 설계도라고 보시면 됩니다. 소프트웨어의 설계도

 

소프트웨어가 점점 무겁고 복잡해지면서 개발하기 전에 필수적인 작업이 되고있습니다.

 

다른 개발자가 UML을 통해 해당 소프트웨어를 쉽게 이해할 수 있습니다.

 

다만 UML은 모델링 언어고 개발방법론도 아니고 프로그래밍언어도 아닙니다.

 

구성요소

 

Things

 

Class, Usecase, Component, Node, State Machine..

 

Relationship

 

Dependency, Association, Generalization, Realization

 

Diagram

 

Things+ Relationships

 

 

 

다이어그램 (종류가 많지만 보통 9가지로 봅니다.)

 

 

클래스 다이어그램(Class Diagram)

https://medium.com/@smagid_allThings/uml-class-diagrams-tutorial-step-by-step-520fd83b300b

클래스와 관계 정의, 정적인 관점

 

시퀀스 다이어그램(Sequence Diagram)

https://en.wikipedia.org/wiki/Sequence_diagram

객체간의 동적 상호 작용 정의, 동적인 관점

 

유스 케이스 다이어그램(Usecase Diagram)

https://en.wikipedia.org/wiki/Use_case_diagram

사용자 관점에서 정의, 인수 테스트 기준

 

Collaboration Diagram(Communication, Interaction 다 같은 다이어그램)

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml-collaboration-diagram/

Sequence Diagram과 같으며 구조적인 측면을 좀 더 중시, 동적인 관점

 

상태 다이어그램(StateChart Diagram)

https://medium.com/@warren2lynch/state-diagram-comprehensive-guide-with-examples-e08b6d1c70fe

상태를 정의

 

액티비티 다이어그램(Activity Diagram)

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-activity-diagram/

일의 처리를 정의(프로세스 같은거), 동적인 관점

 

컴포넌트 다이어그램(Component Diagram)

https://creately.com/blog/diagrams/component-diagram-tutorial/

컴포넌트(시스템의 기능)의 구성 정의, 정적인 관점

 

배포 다이어그램(Deployment Diagram)

https://creately.com/blog/diagrams/deployment-diagram-tutorial/

컴퓨터를 기반으로 하는 시스템의 물리적 구조 정의

 

객체 다이어그램(Object Diagram)

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-object-diagram/

객체간의 관계 표현

 

 

 

복합 구조 다이어그램(Composite Structure Diagram), 패키지 다이어그램(Package Diagram) 

타이밍 다이어그램(Timing Diagram), 인터액션 오버뷰 다이어그램(Interation Overview Diagram)

통신 다이어그램(Communication Diagram), 교류 개요 다이어그램

 

이런 다이어그램도 있습니다.

 

 

 

 

 

 

객체지향 분석의 방법론

 

Booch(부치) 방법론 : 설계 중심 방법론, 미시적 개발, 거시적 개발 프로세스를 모두 사용하는 방법론

 

Jacobson(야콥슨) 방법론 : Usecase를 강조하여 사용하는 방법론, 큰 프로젝트에서 효율적

 

Rumbaugh(럼바우) 방법론 : 가장 일반적인 방법론, 객체 모델, 동적 모델, 기능 모델로 나누어 수행

 

Coad와 Yourdon 방법론 : E-R 다이어그램을 사용

 

Wirfs-Brock 방법론 : 고객 명세서 평가

 

부트로더

 

부트로더란 운영체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마무리하고 최종적으로 운영체제를 시동시키기 위한 목적을 가진 프로그램을 말함 - 위키백과

 

여기서 말하는 필요한 작업들은 하드웨어를 초기화하고 커널을 압축 해제 후 메모리에 적재, 

제어를 OS에 넘기는 과정을 수행 등을 말합니다.

여기서 1차 부트로더, 2차 부트로더가 있는 이유는

 

용량의 문제입니다. 부트로더가 점점 용량이 커지는 까닭에 1차 부트로더가 2차 부트로더를 로드하고

 

다시 2차 부트로더가 커널을 로드하는 방식입니다.

 

여기서 1차 부트로더인 MBR(Master Boot Record)은 디스크의 첫번째 섹터(512바이트)에 위치합니다. 

 

1차 부트로더 : MBR, PBR(partition boot record - 멀티부팅 시 이용)

2차 부트로더 : GRUB(리눅스, 윈도우), SYSLINUX(리눅스), LILO(리눅스), BOOTMGR(윈도우), NTLDR(윈도우)

 

 

 

'전자공학 > 임베디드' 카테고리의 다른 글

크로스컴파일 과정  (0) 2020.04.28
JTAG란?  (0) 2019.12.25
Startup code 스타트업 코드  (0) 2019.10.27
툴체인(Toolchain)이란?  (0) 2019.10.26
모놀리식 커널(Monolithic kernel), 마이크로 커널(Micro kernel)  (0) 2019.10.26

+ Recent posts