2017년 1월 4일 수요일

CSS Tutorial Code Automation

제작 순서
1. CSS 를 공부하고 싶다고 생각
2. http://www.w3schools.com/css/ 의 example 이 유용하다는 것을 발견
3. 하나의 페이지 내용 확인
4. python 으로 automation 해서 한눈에 보고싶다고 생각
5. page source 에서 필요한 link 들을 추출(notepad++ 에서 regular expression 사용)
6. 화면상의 button 을 누를 수 있도록 id 확인
7. python code 작성
8. 동영상 프로그램 실행
9. 7번 code 실행하며 동영상 녹화

제작 순서 with 자료
1. CSS 를 공부하고 싶다고 생각
2. http://www.w3schools.com/css/ 의 example 이 유용하다는 것을 발견
3. 하나의 페이지 내용 확인(HTML 에 CSS를 추가할 때의 차이점을 보여준다)


4. python 으로 automation 해서 한눈에 보고싶다고 생각
5. page source 에서 필요한 link 들을 추출(notepad++ 에서 regular expression 사용)


6. 화면상의 button 을 누를 수 있도록 id 확인

7. python code 작성


 
8. 동영상 녹화 프로그램 실행
9. 7번 code 실행하며 동영상 녹화(전체화면)
  -> 직접 클릭하면서 보고, 직접 작성하는 것이 좋지만. 동영상을 돌려가면서 짧은시간에 전체를 보는 것도 좋겠다고 생각 했습니다.

2016년 12월 29일 목요일

CANdb(.dbc file) python으로 parsing 하기

1. 개요
차량관련 업무를 하면 차량네트워크 통신(CAN, LIN, MOST, Ethernet 등)을 사용하게 되었습니다.
실제 H/W 를 물리지 않은 상태에서 Simulation 을 해야 할 때는 필수로 Vector 사에서 제공하는 S/W 인 CANoe 로 각 Node를 구성하고, 사용하는 통신에 맞는 H/W 를 연결하게 됩니다.
그리고 그 H/W 를 통해 Message(Signal로 구성) 를 Send(Tx), Receive(Rx) 를 하기 위하여 CANdb, IG block, CAPL Block 을 사용하게 됩니다.

이중 CANdb 는 일회적인 Message만이 아닌 Network 의 전반적인 주기적 통신을 포함합니다.

.dbc 파일 CANdb++ 로 본 것
2. 본론
Vector에서 무료로 제공하는 CANdb++ 를 사용하여 내용을 이해할 수 있는데 Message가 많아질 경우 한눈에 보이지 않는 것을 느껴 평소 하는대로 엑셀(xlsx 혹은 csv)에 모든 데이터를 넣어서 참조하고 싶었습니다.

.dbc 파일 notepad 로 본 것

해당 .dbc 파일은 text 로 구성되어 있고 내용을 보면 역시 구조화가 되어 있다는 것을 볼 수 있습니다.

그래서 Parsing을 하면 되겠다 라고 생각했지만 아무래도 시간이 많이 걸릴 것 같은데다 제대로 할 수 있을지 의문이 들긴 했습니다;

그래서 Google 검색을 하니 역시 누군가가 만들어 놨더라구요.






















package Github 링크
python package download

압출을 풀면 아래 내용이 나오며
python.exe setup.py install 명령을 통해













설치하면 여러가지 파일이 생성 되지만 지금 필요한 것만 소개하면
canconvert-script.py 파일 입니다.











3. 결론
.dbc 파일을 excel 혹은 csv 로 변경하고 싶으면 command line에서
"python.exe canconvert-script.py XXX.dbc XXX.csv"
이라고 명령을 주면

XXX.csv 파일이 생성 됩니다.

그 결과 원했던 대로 .dbc 파일 내용을 .csv 형태로 볼 수 있습니다.(.xlsx 은 csv->xlsx 변경만 하면 됩니다.)


전 검색하기 편해서 좋습니다.

2016년 12월 8일 목요일

Confluence 의 table을 csv(excel)로 export 하기

회사에서 Confluence(atlassian 의 S/W) 를 사용하고 있습니다. 

Wiki 로 프로젝트 관리, 정보공유 등을 (저렴한 가격으로)진행할 수 있어 최근 가장 유명한 S/W 로 알고 있고 정말 편리 합니다.

 Excel을 import 시켜도 Excel 화면을 화면에서 바로 볼 수 있어 유용하지만, Table 형태로 사용하는 경우도 있습니다.


그런 Table은 현재 Word 나 PDF 로만 export 가 가능하도록 되어 있습니다.

저의 경우 Table 형태로 된 데이터를 다루기에는 Excel 이 가장 편리한데 Excel 로 바로 export 할 수 없어서 불편함을 느끼고 있었습니다.


개선을 위해서 검색해 보니 html(confluence page 포함) 에서 table을 빼 내는 javascript Code를 공유해 준 블로그가 있어 적용을 해 보았는데 100% 만족 하였습니다.

사용 방법
1. 관련 자바 스크립트(Export To CSV)를 bookmark로 지정하고(Explorer 10이상)
    - 위 링크를 드래그 하여 bookmark로 등록 하면 됩니다.

2. 원하는 페이지에서 해당 bookmark 를 실행 시킵니다.

3. 해당 페이지의 Table 위에 export to csv 라는 링크가 생기고

4. 그 링크를 click 하면 Table이 csv 형태로 저장 됩니다.

(추가)
5. 해당 csv 를 click 하면 default 로 excel로 열리는데 한글은 깨져 있습니다.
6. notepad++ 등 다른 editor로 열면 한글이 살아 있습니다.
    -> 이 부분은 인코딩 문제인 것 같은데... 잘 몰라서 공부해야 할듯 합니다...
(코드)
7. 해당 코드는 원본 블로그에서 보실 수 있으며 위 bookmark로 지정한 링크에서도 보실 수 있습니다.

(161210)
8. csv 파일과 자동 연결되는 Excel 로 열면 한글이 깨져 있지만 Notepad++ 와 같은 에디터로 여니 깨지지 않았습니다. UTF-8로 되어있기 때문?
9. Notepad++ 로 연 상태에서 전체 텍스트를 복사한 다음 notepad를 새로 만들어서 붙여넣고 저장하면 새로 열었을 때 깨지지 않았습니다. 이는 window에서 파일을 만들면 자동으로 ms949 로 인코딩을 하기 때문? 입니다.

2016년 10월 29일 토요일

2016년 10월 27일 목요일

extract data(paragraph, table) from docx file

회사에서 사용하는 워드문서(docx) 파일을 자동으로 분석할 필요가 생겨 알아 보았습니다.

아래 "1. 분석 대상 문서" 의 내용처럼 heading 이 되어 있는 내용들이 있고 그 안에 Text("Table 1") 나 table 이 있는 문서 입니다.

인터넷 검색을 하면 paragraph 를 얻거나 table 을 얻는 것을 각각 할 수는 있지만 둘을 다 할 수 있는 기능은 찾지 못하였는데 결국 둘다 한번에 얻을 수 있는 코드를 찾아서 실행하니 원하는 결과를 얻을 수 있었습니다.

몇달간 조금씩 고민했던 내용이라 실행이 되어서 기쁘지만 이것보다 좋은 방법이 있는지 궁금 하네요.

혹시 더 좋은 방법을 아시면 소개 부탁 드립니다.



참조 Link

2016년 10월 9일 일요일

Catch Game with Scratch language

Analysis for the Catch Game with Scratch language
    See game: Link
    1. Apple, Bowl(Sprite1)
    2. Apple does 2 works, Bowl does 1 work.
    3. Apple does
        3.1 Moving from the Up to Down 
        3.2 If apple is touched by bowl, move to Top again and add Score 1
    4. Bowl does
        4.1 Moving to left and right


Game Screen and Codes

2016년 9월 18일 일요일

성과 내려면…'52분 일하고, 17분 쉬어라'



일을 할 때 큰 틀을 잡고, 그 틀 안에서는 다른 걱정 없이 열심히 일할 수 있어야 효율이 생깁니다. 개개인의 경험은 다르기 때문에 그 개개인끼리 논쟁하면 서로 동의하지 못할 수 있습니다. 그 때 사용하기 위해 메모를 남깁니다.

1. 세계적인 권위자라고 하는 트래비스 브래드 베리의 설명을 들어보고,
2. 이 방향이 맞다 라고 서로 납득하고,
3. 열심히 일 하자

*. 최근에 회사의 상사님이 많이 쉬지말고 일하라고 하셨습니다.. 하지만 1시간 9분마다 마다 꼭 17분은 완전히 쉬어야만 온전한 그 다음 52분을 몰입 할 수 있다는 연구 결과가 있으니, 기록해 놓고 상사님과 함께 논의해 봐야 겠습니다.

---


임상심리학, 산업/조직심리학 박사이자 감성지능과 성과창출 분야의 세계적 권위자.
포춘 지 선정 500대 기업의 75% 이상을 상대로 개인 역량과 기업 성취도를 과학적으로 연구하는 세계적 컨설팅 기업 탤런트 스마트(www.talentsmart.com)의 대표

트래비스 브래드베리 가 설명하는 일을 효과적으로 하는 방법


1. 일과 휴식의 이상적인 비율은 52분 업무에 17분 휴식
원래 하루 8시간 근무라는 개념은 18세기 후반 영국의 산업혁명 시대에 고안된 것으로, 공장에서 일하는 노동자들의 혹독하게 긴 육체노동 시간을 줄이는 것이 목적이었다.

이는 인류의 진보이자 200년 전 노동에 대한 인도적인 노력이었다. 그렇다고 해도 오늘날 우리의 생활방식에 적합하다고는 더는 말할 수 없다는 게 그의 주장이다.

직원들이 다양한 업무에 대해 얼마만큼의 시간을 사용하고 그에 따른 생산성 수준은 어느 정도인지 비교 분석했다.

그러자 직원들의 활동을 측정하는 과정에서 어떤 흥미로운 특징이 발견됐다. 이는 근무 시간의 길이가 별로 중요하지 않았다는 것이다.

중요한 점은 사람들이 하루를 어떻게 계획하고 있는지에 관한 것으로, 특히 휴식 시간을 철저하게 지킨 사람은 오랜 시간 계속해서 일한 사람보다 훨씬 더 생산적인 것으로 밝혀졌다.

2. 당신의 하루를 관리하라
    1) 하루를 1시간 간격으로 쪼개라
    2) 자신의 시간을 존중하라
    3) 진정한 휴식을 취하라
    4) 몸이 말해줄 때까지 휴식을 참지 말라

참조: 링크

3. 감정을 조절하고 스트레스 상황에서 평온을 유지하는 능력은 곧 당신의 업무 성과와 직결
    ①가진 것에 감사한다
    ②'만약'이란 질문을 피한다
    ③늘 긍정적이다
    ④가끔 접속을 끊는다
    ⑤카페인을 적게 섭취한다
    ⑥숙면한다
    ⑦자학적인 혼잣말을 하지 않는다
    ⑧시각을 재구성한다
    ⑨호흡을 가다듬는다
    ⑩주변 사람들을 활용한다

참조: 링크