2016년 2월 12일 금요일

(E)ASPICE Understanding - 1

ASPICE
is from SPICE
(Automotive) Software Process Improvement and Capability dEtermination.
originally
Software Process Improvement and Capability Evaluation.(do to meaning of 'Evaluation' in French)

1. So, I need to understand SPICE

---

SPICE is ISO/IEC 15504

ISO(International Organization for Standardization)
IEC(International Electronitechnical Commision)
ISO, IEC joint subcommittee

SPICE is Capability Maturity Model(consisting of capability levels which in turn consist of the process attribute and further consist of generic practice)


The first versions of the standard focused exclusively on software development processes

expanded to cover all related processes in a software business(project management, configuration management, quality assurance, and so on)
 - organizational, management, engineering, acquisition supply, support, and operations

The Technical Report (TR) document for ISO/IEC TR 15504 was divided into 9 parts.
The 7th part is currently in an advanced Final Draft Standard form[3] and work has started on part 8.

Parts Summary
Part 1 of ISO/IEC TR 15504 explains the concepts and gives an overview of the framework.
part 2 refers to external process lifecycle standards including ISO/IEC 12207 and ISO/IEC 15288.
Performing assessments is the subject of parts 2 and 3 of ISO/IEC 15504.[8]
Part 2 is the normative part and part 3 gives a guidance to fulfill the requirements in part 2.
The competency of assessors is the subject of part 3 of ISO/IEC 15504.
Process improvement is the subject of part 4 of ISO/IEC 15504.
ISO/IEC 15504 (Part 4) can also be used to inform supplier selection decisions.
Part 5 specifies software process assessment and part 6 specifies system process assessment.
The process assessment model (PAM) in part 5 is based on the process reference model (PRM) for software: ISO/IEC 12207.[12]
The process assessment model in part 6 is based on the process reference model for systems: ISO/IEC 15288.
The latest work in the ISO standards working group includes creation of a maturity model, which is planned to become ISO/IEC 15504 part 7
The International Standard (IS) version of ISO/IEC 15504 now comprises 6 parts. The 7th part is currently in an advanced Final Draft Standard form[3] and work has started on part 8.


Further reading
ISO/IEC 15504-1:2004 Information technology — Process assessment — Part 1: Concepts and vocabulary
ISO/IEC 15504-2:2003 Information technology — Process assessment — Part 2: Performing an assessment
ISO/IEC 15504-2:2003/Cor 1:2004
ISO/IEC 15504-3:2004 Information technology — Process assessment — Part 3: Guidance on performing an assessment
ISO/IEC 15504-4:2004 Information technology — Process assessment — Part 4: Guidance on use for process improvement and process capability determination
ISO/IEC 15504-5:2012 Information technology — Process Assessment — Part 5: An exemplar Process Assessment Model
ISO/IEC TR 15504-6:2013 Information technology — Process assessment — Part 6: An exemplar system life cycle process assessment model
ISO/IEC TR 15504-7:2008 Information technology — Process assessment — Part 7: Assessment of organizational maturity
ISO/IEC PDTR 15504-8 Information technology — Process assessment — Part 8: An exemplar process assessment model for IT service management
ISO/IEC TS 15504-9:2011 Information technology — Process assessment — Part 9: Target process profiles
ISO/IEC TS 15504-10:2011 Information technology — Process assessment — Part 10: Safety extension

External links
Automotive SPICE - http://www.automotivespice.com/


Reference
https://en.wikipedia.org/wiki/ISO/IEC_15504 - SPICE

2016년 2월 10일 수요일

(E+K)표가 있는 컴퓨터 메모, Computer Memo with tables

1. 메모에 표가 필요하다.
2. Windows 기본 메모에 표를 만들 수 있다.
3. 자동으로 생성하는 것이 아니라 엑셀에 적어서 붙여 넣으면 된다.

1. I needed memo with table
2. Windows Memo could have it.
3. Can not create table, but can use it with paste from Excel.


4. 메모는 항상 위에 떠있어야 편한데, 윈도우 메모에는해당 기능이 없어서,
5. 매크로(Auto Hot Key) 이용해서 해당기능 사용

4. Memo need to be always on, but windows memo couldn't do that.
5. With Macro(Auto Hot key) could do it.


2016년 1월 31일 일요일

푸리에 해석, 변환(Fourier Analysis, Transform)

푸리에 해석을 이해하기 위한 단계

푸리에 변환에 필요한 함수 sin, cos(삼각함수)
-> 원, 회전 운동과 연관되어 있고 원 안의 위치를 나타낼 때 삼각형을 그려서 이해할 수 있다.

함수의 접선(기울기)
적분(원시함수)
정적분(넓이, 부피), 부정적분

함수의 사칙연산
함수의 곱과 정적분

함수의 직교성

푸리네 급수
직교함수(sin/cos)에 의한 함수의 합성

푸리에 변환

2016년 1월 29일 금요일

(E, K)엑셀 유용한 기능들(실무에서 자주 사용중인 것), Excel efficientfeatures(frequently use ones in office)

엑셀 유용한 기능들(실무에서 자주 사용중인 것)
Excel efficient features(frequently use ones in office)

먼저 리스트를 만들어서 큰 그림을 본 다음
세부 예시를 만들어서 내용을 채워 나간다.

1.   Basic
A. Ctrl+1: 셀 서식 창을 부르고, 이 창에서 필요한 많은 걸 할 수 있다.
            This calls Cell Form window, do lots of things
B. Shift+Ctrl+방향키(Direction key): 선택 할 때 쓰며, Shift만 빼면 이동만 한다. 
                                           select region quickly, without shift move fast.

2.   Filter, Sort(필터, 정렬)
A. Alt+D+S, 여러 정렬 한번에 사용(sort multiple column condition)
B. Ctrl+Shift+L, 필터의 방법: 텍스트, 색(filter by text, color)

3.   Conditional Formatting

4.   Functions
A. Vlook up: 특정 값이 제공된 테이블 내에 있는지 확인(데이터는 수직으로)
                Specific value check in table in vertical order.
B. If: if 조건에 따라 결과를 선택하며, 작성자에 따라 다양하게 사용될 수 있다.
      Select result if or not condition, being used variously by person.
C. Sumifs, Countifs: 수학적 함수에 조건문을 붙여 필요한 것만 계산.
                         add condition at functions.
D. Indirect: 상대적 주소값 참조를 다른 행을 값으로 사용 가능
               Access cell indirectly with reference other cell value.
E.  Match, Index: table에서의 위치를 행, 열의 값의 변화에 따라 접근 가능
                     Access table value by row, column location change. 

5.   Pivot table
A. 각 칸의 의미와 바꿨을 때의 모양(Pivot options)
B. Chart
C. Grouping index

6.   Macro
A. Macro Recording: 엑셀의 실제 작업을 자동으로 저장하여 반복할 수 있도록 사용
                           Record real work in excel, and make short to do that. 
                         
B. VBA Edit in Macro edit page
             : Excel 의 동작을 컴퓨터 언어로 작성
               Programming excel work, with language VBA.
               Macro 도 VBA 로 작성되는 것인데 Macro 는 동작을 Excel 에서 변환해 주는 것으로 사람이 생각하는 것 만큼 동작해 주지 않는다(상대주소 참조 등)
               Macro's also made with VBA but is work not like human expectation.(like relative address)  


min, max if

(K, E) Python important features(파이썬 중요한 문법들)

요약
    1. 파이썬을 공부하면서 중요하다고 생각되는 항목을 나열한다.
    2. 각 항목들 별로 중요도가 다를 테니 순위를 매긴다.
    3. 중요한 내용은 지속 업데이트 하면서 순위를 바꾼다.
   *. 언어에 대한 숙련도가 달라지고 보는 눈이 넓어질 수 있기 때문

Summary
    1. List important features, when my study goes.
    2. Each features has different weight, rank those list
    3. Contents and its ranks should be updated
   * because  I may get different insights.

Lists

import pandas
    read_csv()
이 함수만 쓰면, csv 파일의 내용을 2차원(Dataframe) 구조로 가져와서 행, 열에 대해 접근해서 사용하기만 하면 된다. 아주 심플하다.
with this function, get csv file contents as 2 Dimensional(Dataframe) Structure and access it with row, column index

② df.loc[a:b], df.iloc[1:2], df.ix[a:b] or df.ix[1:2]
Dataframe 에 접근하는 index는 크게 3가지 종류로 볼 수 있다.
Dataframe has 3 main indexer
loc(location), iloc(integer location), ix(index)
라벨의 이름으로 하는 것이 loc, 위치로 하는 것이 iloc, 라벨이나 위치 둘 다 가능한 ix
access with label name 'loc', access with data location(integer numer) 'iloc', both ix

 import openpyxl
    workbook1 = openpyxl.load_workbook('ExcelPowerQueryConsumePredict.xlsx')
    sheet = workbook1.get_sheet_by_name('AAA')
excel 파일의 WorkBook을 가져오고 특정 Sheet를 가져와서 수정할 수 있다.
We can get WorkBook, Sheet contents and modify it.
구현된 Code link
actual Code link

 w[2:5] - slicing
list 의 일부분 만을 발최할 때 ':' 와 위치를 사용하여 자를 수 있다.
when extracting subset of structire ':' and location will be used
w = "Hello World"
print w[2:4] -> "llo"

 a, b = 1, 3
out[]:  a: 1, b: 3
쉼표를 쓰면 = 앞뒤로 여러개가 있어도 된다, 단 r value, l value 수는 같아야 한다.
If we use comma, we can assign multiple values. the numbers should be same.
이 형식은 함수형 프로그래밍을 할 때 유용할 것이라고 이해했다.
I understand this syntax is useful for the functional programming

 import re
    phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)')
    mo = phoneNumRegex.search('My number is 415-555-4242.')
    mo.group(1)
   out[]: '415'
    레귤러 익스프레션을 사용하면 특정한 포맷의 데이터에서 특정 부분만을 뽑아낼 수 있다.
    using regular expression , we can extract specific format data from fixed format.

 "a" in ["a", "b", "c", "d"] and "a" in ("a", "b", "c", "d")
out[]: True
속해있다는 것을 in 이라는 키워드로 직관적으로 사용할 수 있었다.
intuitive keyword "in"
추가로 () 는 tuple 이고 []는 List 이다.
additionally () mean Tuple, [] means List

 print "Hello" + "World" 와 print "Hello", "World" 의 차이점
둘 다 print 가 가능하다는 공통점이 있지만
'+' 는 두 스트링을 이어주는 역할이고, ',' 는 두 개의 문자열을 가진 리스트를 만들어 준 것이기 때문에 다르다.
each expression could print but + makes one string, , make list of 2 string.

⑨ if 0 < x < 20:
        print "Number \'x\' is between 0 and 20
    직관적으로 조건문을 만들 수 있다.(일반적으로 프로그래밍 에서는 0 < x and x < 20) 







⑩ print """ 여러줄에 

        걸쳐서
        표현하고 싶을 경우
         \" 혹은 \' 3개로 표현 """


super() 함수는  class 상속 시에 부모의 객체를 불러온다.
* next items: import, keywords
Reference

그래서 자식  class 에서 __init__  시에 특정 동작을 추가하고 싶으면 추가한 다음 뒤에  super().__init__()  함수를 수행하면 부모의 동작을 그대로 하여 의도에 맞게 사용할 수 있다.

    a, b = 1, 3
    함수형 프로그래밍이란 어떤 것인가?
    What is Functional Programming
    Tuple and List
    https://automatetheboringstuff.com/



(K)지금 당신의 삶이 만족스럽지 않다면..

 지금 당신의 삶이 만족스럽지 않다면 그것은 당신이 못났거나 부족해서가 아니라, 지금처럼 살게 하는 어떤 조건이 지워졌기 때문이다. 그러므로 지금처럼 살지 않으려면 당신을 그렇게 만든 조건을 찾아서 그것에서 벗어나기 위해 노력한다.

 푸코의 말처럼, 현재 자신의 삶이 만족스럽지 않다면 먼저 왜 이렇게밖에 살 수 없는지를 생각해야 한다 한다. 우리의 삶에는 자신이 원치 않는 삶을 살도록 조건 지워진 것이 너무 많기 때문이다. 그런 의미에서 프랑스의 사회학자 알렝 투렌은 다음과 같이 말했다.

"이성 없는 주체는 자신의 정체성에 매몰되며, 주체 없는 이성은 권력의 도구가 된다."

 우리를 둘러싼 조건들에서 벗어나려는 주체적인 노력이 없다면 우리는 누군가가 만들어놓은 규칙대로 살아갈 수밖에 없다. 특별한 자기 확신이나 철학이 없는 한 우리는 이 압력에서 벗어나기 어렵다. 그렇기에 우리에게는 이성의 힘, 다시 말해 생각하는 힘이 필요하다. 우리의 생각만이 우리를 얽매고 있는 조건에서 벗어날 힘을 줄 수 있다.

<바쁠수록 생각하라> 이호건

---

지금 내가 겪고 있는 모든 것 들은 내가 선택한 것이 아니라,
시간이 흐르면서 자연스럽게 규칙이 정해진 것들을 경험하고 있는 것일 뿐이다.

내가 주체적으로 판단할 수 있는 능력을 가진 다음
적극적으로 주위에서 벌어지는 일들에 참여하면
그때부터야 주체적으로 사는 것

어떤 상황에서도 당황하지 않는 사고력이 필요하니,
모든 상황에 대해 숙고하고 내 생각을 써 보자.



2015년 12월 27일 일요일

(K)멀티 태스킹을 잘 하는 법(How to Train Your Brain to Multitask Effectively)

항상 머리가 좋아지고 싶었습니다.
회사 입사 후 밀려오는 업무들에 힘들 때면, 머리가 좋아지면 좋아 질 것이라고 생각 했습니다.

업무에도 여러가지가 있겠지만 크게 두 가지가 아닐 까 생각됩니다.

1. 충분한 시간이 주어지지 않고 많은 일을 처리해야 할 때
2. 충분한 시간이 주어지고 일을 처리해야 할 때

오늘은 1번에 관해 정리해 보려 합니다.

---

Smart Thinking의 저자인 인지과학자 아트 마크먼은 
"인간은 Multitask 를 하지 않고, Time Sharing을 할 뿐이다." 라고 이야기 했습니다.

여기서 Time Sharing은 한번에 한 가지만 할 수 있다는 것으로, 
짧은 시간에 여러가지 일을 하여 Multitasking 같이 느껴지지만 실제로 한 순간에는 하나의 일만 하고, 짧은 순간에 다른 일을 하기 위하여 내 몸은 준비하는 과정을 거치게 됩니다.
(이 때 이 준비과정에서 비 효율이 발생)

복잡하고, 내 주위를 끄는 일들로 가득찬 사무실에서 나의 뇌가 High Quality의 일을 할 수 있기 위하여 아래 Technique 를 사용하기 바랍니다.

1. 비슷한 일을 같이 하여라.
  - 새로운 일을 하게 되면 뇌는 적응하는 시간이 필요 합니다. 한번에 여러가지 일을 하면 뇌가 적응하는 횟수가 늘어나고 그로 인한 스트레스가 늘어나는 것은 당연한 것입니다. 이 때 비슷한 일을 같이하면 뇌가 따로 적응 할 필요가 없으므로 스트레스를 줄일 수 있습니다.
2. To-do List를 보이는 곳에 두어라.
   - 혼란스러운 사무실에서 중요한 일을 항상 눈에 보이도록 하는 것은 꼭 필요 합니다. 우선순위를 매겨서 눈에 잘 보이게 하는것은 효율적인 업무를 위한 상식이라고 할 수 있습니다.(하지만 글 만으로는 왜 눈으로 자주 보는 것이 좋은지 적혀 있지 않아 좋은 자료를 찾아 보도록 하겠습니다.)
3. 짬이 나면 중요한 정보를 되새기는 시간을 가져라.
   - 2번과 마찬가지로 사람의 뇌의 능력을 최대화 하는 것은 반복 학습이 최고 입니다. 한정된 시간에 최대의 효과를 주려면 우선순위를 잘 매겨 두는 것이 좋구요.

참조글