[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java ProjectJi-Woong Choi
This document explains how to use gradle in Java project. It contains a real sample build file using Spring MVC project which is using education example in OSC.
[오픈소스컨설팅]Gradle Basic - How to use Gradle in Java ProjectJi-Woong Choi
This document explains how to use gradle in Java project. It contains a real sample build file using Spring MVC project which is using education example in OSC.
Android 기반의 게임 프로젝트를 오픈하면서 구축한 빌드 시스템을 간
략하게 소개합니다.
osx 기반에서 Jenkins를 이용하여 Unity3D와 Android Native
Code와 설정 방법에 대해 다루고 있습니다.
세부적인 코드보다는 전체적인 흐름에 초점을 맞췄으므로
참고용으로 보시기 바랍니다.
Android 기반의 게임 프로젝트를 오픈하면서 구축한 빌드 시스템을 간
략하게 소개합니다.
osx 기반에서 Jenkins를 이용하여 Unity3D와 Android Native
Code와 설정 방법에 대해 다루고 있습니다.
세부적인 코드보다는 전체적인 흐름에 초점을 맞췄으므로
참고용으로 보시기 바랍니다.
UNIST 프로그래밍 동아리 HeXA (http://www.hexa.pro) 내부 React 강의 프레젠테이션 자료의 공개버전
내용
- HTML, Javascript 속성 튜토리얼
- React 소개
- Node.js 설치
https://github.com/kimxogus/react-tutorial
Polymer의 기술기반인 Web Componets를 구성하는 표준 스펙들인 Custom Elements, HTML Imports, HTML Templates 그리고 Shadow DOM을 간략히 살펴본다.
Polymer의 아키텍처 및 기본적인 사용방법 그리고 material design이 적용된 paper elements 등을 살펴본다.
개발은 혼자 할 수 있을까? 혹은 개발자들끼리 할 수 있을까? 저는 아니라고 생각합니다. 개발은 개발에 관여된 모든 부서와 종사자들이 함께하는 겁니다. 개발자가 어떻게 하냐에 따라 SE와 QA 그리고 심지어 Sales 까지 하나의 팀으로 공동의 목표를 쫓아 시너지를 낼 수 있습니다. 저는 그렇게 믿습니다.
본 장표는 인프콘 2022 / 코틀린 멀티플랫폼, 미지와의 조우 세션에 대한 강연 자료입니다.
코틀린은 멀티플랫폼을 지원하는 언어로 Server-side와 Android뿐만이 아니라 JavaScript 엔진이 있는 브라우저나 Node.js도 지원하며, Native 등 다양한 플랫폼에서 쓸 수 있습니다. 이를 이용해 코틀린 코드를 공유하는 단일 코드베이스로 모바일부터 웹과 데스크톱, 서버에 이르기까지 다중 플랫폼 애플리케이션을 작성할 수 있습니다.
본 핸즈온 세션을 통해 코틀린 멀티플랫폼과 함께 리액트, 스프링부트로 웹 애플리케이션의 프론트엔드부터 백엔드까지 직접 개발하며 친해져 보는 시간을 가져보세요. 참가자는 코틀린 멀티플랫폼 프로젝트를 이해하고, 더 나아가 프론트엔드와 백엔드 간의 공유 로직 작성, Kotlin/JS 기반 리액트 및 스프링 웹 프로그래밍을 경험할 수 있습니다.
https://github.com/arawn/building-fullstack-webapp-with-kotlin-multiplatform
https://infcon.day/speaker/박용권-김지헌-코틀린-멀티플랫폼/
[IoT] MAKE with Open H/W + Node.JS - 3rdPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
13. 할 짓 요약
Jenkins 설치
소스 보관소 연동
코드가 좋은 코드인지 확인
코드가 잘 돌아가는 건지 확인
코드량이 얼마인지 확인
14. Jenkins 설치
소스 보관소 연동 Github
JSLint
코드가 좋은 코드인지 확인
JSLint 결과 Jenkins에서 시각화
Testing framework : Qunit
테스트 자동화 : JsTestDriver
코드가 잘 돌아가는 건지 확인
코드 커버리지: jscoverage
Test결과(jUnit test result Plugin)
테스트 결과를 jenkins에서 시각
화
Coverage 결과(cobertura Plugin)
코드량이 얼마인지 확인 N’Siq Plugin
31. JSLint 연동
5. Jenkins 그래프로 보기 – violations plugin 설치
6. Jenkins 그래프로 보기 – project 설정
32. JSLint 연동
7. Jenkins 그래프로 보기 – 빌드 그리고 확인(1)
70개의 문제가 발견 됨을 표시하고 있음
33. JSLint 연동
7. Jenkins 그래프로 보기 – 빌드 그리고 확인(2)
파일별로 오류 내용을 확인 할 수 있음
34. JsTestDriver 연동
연동 방법 개요
1. JsTestDriver.jar , JsTestDriver-Qunit adaptor, jscoverage 다운로드
2. JsTestDriver.conf 설정
3. Ant 빌드 스크립트 작성
4. JsTestDriver Running
5. 테스트 결과를 그래프로 보기 위한 설정(jUnit test result report)
6. 커버리지 결과를 그래프로 보기 위한 설정(cobertura Plugin설치)
7. Cobertura Plugin에서 지원되는 xml타입으로 coverage결과를 변환
40. JsTestDriver 연동
6. Build !
테스트 결과 : TEST-Chrome_210118083_Windows.DefaultaModule.xml
테스트 커버리지 : jsTestDriver.conf-coverage.dat
41. JsTestDriver 연동
7. 테스트 결과를 그래프로 보기 위한 projcet 설정(jUnit test result report)
동작 방식 : ‘TEST-Chrome_210118083_Windows.DefaultaModule.xml’ 파일을 분석해서 결과를 보여줌.
43. JsTestDriver 연동
8. 커버리지 결과를 그래프로 보기 위한 설정(cobertura Plugin설치)
9. Cobertura Plugin에서 지원되는 xml타입으로 coverage결과를 변환
jsTestDriver.conf-coverage.dat 파일을 Cobertura지원 xml 타입으로 변환하기 위해 python 오픈소스 script를 활용
• 먼저 Local 에 Python 설치: http://www.python.org/getit/
• Cobertura 변환 Python script 다운로드 : https://github.com/eriwen/lcov-to-cobertura-xml
• 실행 : Jenkins Python Plugin을 통해서 script를 실행 할 수 있지만, 윈도우에서 Python 실행 PATH를 인식하지 못하는
문제 발견. 대안으로 Ant build로 실행하고 exeutable에 절대경로를 입력
<다음장에서 Ant build 설정>
44. JsTestDriver 연동
9. Cobertura Plugin에서 지원되는 xml타입으로 coverage결과를 변환
Ant build에 python script 실행 추가
<target name="start" depends="jstestdriver" description="build python script">
<echo>build python for making cobertura xml</echo>
<exec executable="C:Python27python.exe" failonerror="true">
<arg value="lib_etc/lcov-to-cobertura-xml.py" />
<arg value="build/jsTestDriver.conf-coverage.dat" />
<arg value="-o"/>
<arg value="build/coverage.xml"/>
</exec>
</target>
51. 좀 더 해야 할 것
Jstestdriver
test code에서 외부 라이브러리를 사용하는 경우 에러가 발생. Js파일을 로딩하는데 문제가 있음 (require.js와
같은 것으로 동적로딩 필요)
복잡도, 중복코드 검사
Cyclomatic complexity 나 중복코드 검사 Plugin 연동 Reporting
Other Testing
Selenium, WebDriver, or PhantomJS
Mobile 환경 테스트
Other CI (Travis CI)
Github 와 찰떡 궁합으로 경량화된 CI
http://blog.outsider.ne.kr/779
http://tech.qmetric.co.uk/automating-javascript-ci-with-buster-js-and-travisci_205.html
52. Appendix. Inside NHN 품질관리
Hudson 기반의 Quality Practice 활동
http://book.naver.com/bookdb/book_detail.nhn?bid=6349938 (book)
JSLint Cyclomatic Complexity, Coverage 통합 자체 Plugin 개발
Selenium 활용한 UI Test 자동
http://helloworld.naver.com/helloworld/87523
http://www.slideshare.net/jscamp_kr/jscamp-hannam-qunit-test-automation-using-hudson-and-selenium
Dashboard, JIRA 연동
중복코드 검사
기타 프로젝트별 Build에 필요한 Hudson Plugin개발