SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
1
(LibreOffice)리브레오피스 우리말 모듬
리브레오피스 (LibreOffice) 의 QA 및 소스
코드 리뷰
리브레오피스 (LibreOffice) 우리말 모듬
성대현 (DaeHyun Sung, 成大鉉 , ソン・デヒョン )
2020 년 09 월 06 일 일요일
2
(LibreOffice)리브레오피스 우리말 모듬
QA
Quality Assurance 의 약자
소프트웨어의 문제를 식별하고 사용자가 보고한 문제를 확인하고
제안된 수정 및 개선 사항의 유효성을 검사
당혹스럽고 긴급한 버그를 찾거나 확인하여 개발자에게 넘겨
처리하도록 유도
버그 재현 , 우선순위 부여 및 중복된 내용 찾기 , 제안된 수정
사항을 확인 등을 처리
위키 문서 : https://wiki.documentfoundation.org/QA
3
(LibreOffice)리브레오피스 우리말 모듬
QA 시작하기
우선 소스코드 빌드를 해보기
버그질라 (Bugzilla) 에 가입하기
https://bugs.documentfoundation.org/
4
(LibreOffice)리브레오피스 우리말 모듬
개발 기여하기 전에 해야할 사항
예시 libreoffice@lists.freedesktop.org
제목 : ‘ ’본인 이름 license statement
내용
예제
http://document-foundation-mail-archive.969070.n3.nabble.c
om/DaeHyun-Sung-license-statement-td4240049.html
All of my past & future contributions to LibreOffice may be
licensed under the MPLv2/LGPLv3+ dual license.
5
(LibreOffice)리브레오피스 우리말 모듬
Gerrit 리뷰시스템 가입 및 ssh 키 등록
리브레오피스 Gerrit 리뷰시스템 가입
https://gerrit.libreoffice.org/
설정 :
https://wiki.documentfoundation.org/Development/gerrit/setup
SSH 키 설정
https://docs.github.com/en/github/authenticating-to-github/generating-a
-new-ssh-key-and-adding-it-to-the-ssh-agent
Github 에 SSH 키 등록
https://docs.github.com/en/github/authenticating-to-github/adding-
a-new-ssh-key-to-your-github-account
LibreOffice 의 Gerrit 에 SSH 키 등록
6
(LibreOffice)리브레오피스 우리말 모듬
Logerrit 설정
다음의 명령어로 입력 후 확인
상세 내용
https://wiki.documentfoundation.org/Development/gerrit/setup
$ ./logerrit setup
Note that you need to register additional email addresses, if you want to
commit from them. Each additional email address must be confirmed by
following the verification link sent to it.
Which user name did you choose? “본인 이름이나 닉네임”
Please now add the following to your ~/.ssh/config, creating the file if needed:
Host logerrit gerrit.libreoffice.org
IdentityFile ~/.ssh/id_rsa
User “본인 이름이나 닉네임”
Port 29418
HostName gerrit.libreoffice.org
To see if your setup was successful, run './logerrit test'
$ ./logerrit test
Enter passphrase for key '/***/.ssh/id_rsa':
Your gerrit setup was successful!
7
(LibreOffice)리브레오피스 우리말 모듬
빌드 (Build)
Gerrit 소스코드 리뷰시스템에서 다운로드 받음
권장 : Linux & MacOS
빌드 하는 방법 (Wiki)
Linux https://wiki.documentfoundation.org/Development/BuildingOnLinux
MacOShttps://wiki.documentfoundation.org/Development/BuildingOnMac
Windows https://wiki.documentfoundation.org/Development/BuildingOnWindows
Onlinehttps://wiki.documentfoundation.org/Development/LibreOffice_Online
Androidhttps://wiki.documentfoundation.org/Development/BuildingForAndroid
8
(LibreOffice)리브레오피스 우리말 모듬
빌드 (Build) 설정
일반적인 빌드 설정
Wiki 에서 안내하는 빌드 설정
한국어 설정 추가
디버깅 옵션 추가
$ git clone https://gerrit.libreoffice.org/core libreoffice
$ cd libreoffice
$ ./autogen.sh
$ git clone https://gerrit.libreoffice.org/core libreoffice
$ cd libreoffice
$ ./autogen.sh --with-locales="ko" --with-lang="ko"
$ git clone https://gerrit.libreoffice.org/core libreoffice
$ cd libreoffice
$ ./autogen.sh --with-locales="ko" --with-lang="ko" --enable-dbgutil
9
(LibreOffice)리브레오피스 우리말 모듬
빌드 설정 선택사항 , 빌드 및 실행
빌드 선택사항 조회
빌드하기
실행하기
일반적인 실행
선택 실행 (ex. Writer, calc 등 )
$ ./autogen.sh --help
$ make
$ instdir/program/soffice # Linux
$ open instdir/LibreOfficeDev.app # MacOSX
$ instdir/program/soffice –writer
$ instdir/program/soffice --calc
10
(LibreOffice)리브레오피스 우리말 모듬
하위 모듈 git 설정
Git submodule 로 관리하는 대상
dictionaries
helpcontent2
translations
% cat .gitmodules
[submodule "dictionaries"]
path = dictionaries
url = https://gerrit.libreoffice.org/dictionaries
branch = .
[submodule "helpcontent2"]
path = helpcontent2
url = https://gerrit.libreoffice.org/help
branch = .
[submodule "translations"]
path = translations
url = https://gerrit.libreoffice.org/translations
branch = .
11
(LibreOffice)리브레오피스 우리말 모듬
하위 모듈 다운로드 받기
Git submodule 로 받음
참조
https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EC%84
%9C%EB%B8%8C%EB%AA%A8%EB%93%88
% git submodule update --init dictionaries
'dictionaries' 경로에 대해 'dictionaries' (https://gerrit.libreoffice.org/dictionaries) 하위 모듈 등록
'/Users/sungdaehyun/dev/lode/dev/core_kodict/dictionaries'에 복제합니다...
하위 모듈 경로 'dictionaries': '8cd579e3a67ab36040501138d17c647db24547a0' 체크아웃
% git submodule update --init translations
하위 모듈 경로 'translations': '1c00f748202eb64ffa0be5ce38e57a47f6e5798a' 체크아웃
% git submodule update --init helpcontent2
'helpcontent2' 경로에 대해 'helpcontent2' (https://gerrit.libreoffice.org/help) 하위 모듈 등록
'/Users/sungdaehyun/dev/lode/dev/core_kodict/helpcontent2'에 복제합니다...
하위 모듈 경로 'helpcontent2': 'd94a25c58b03f7619430ec7bf66564de16600548' 체크아웃
12
(LibreOffice)리브레오피스 우리말 모듬
빌드 및 디버깅 영상
LibreOffice Build Demo
https://youtu.be/2gIqOOajdYQ
How to build LibreOffice on your desktop (openSUSE.Asia
summit 2017) https://youtu.be/gFIA0Ml5V84
Developing LibreOffice in Visual Studio
https://youtu.be/Xn3CtIrMpIA
LibreOffice Conference 2019 – Reducing LibreOffice build
time with include-what-you-use https://youtu.be/WhEG64OMu5A
LibreOffice Conference 2016: Connect, Embed, Integrate -
LibreOffice as a building block https://youtu.be/g3ya-za_2cU
13
(LibreOffice)리브레오피스 우리말 모듬
–실전 dictionary 소스코드 리뷰하기
자유 오픈소스 프로젝트의 huspell-ko 기능을 리브레오피스
(LibreOffice) 에 적용
멘토분이 올린 내용
Bugzilla: Dictionaries: Add Korean(ko_KR) spellcheck dictionary
from existing hunspell Korean dictionary project
https://bugs.documentfoundation.org/show_bug.cgi?id=135405
Gerrit: tdf#135405 Add Korean(ko_KR) spellcheck dictionary
https://gerrit.libreoffice.org/c/dictionaries/+/100395
14
(LibreOffice)리브레오피스 우리말 모듬
번외 (huspell-ko)
자유오픈소스로 구현된 맞춤법 검사기능
관련 슬라이드
Hunspell 한국어 맞춤법 검사의 원리
https://www.slideshare.net/changwoo/hunspell-works
국립국어원 오픈소스 어휘 정보 활용 사례
https://www.slideshare.net/changwoo/ss-82447112
15
(LibreOffice)리브레오피스 우리말 모듬
실제 예제
16
(LibreOffice)리브레오피스 우리말 모듬
–실전 dictionary 소스코드 리뷰하기
tdf#135405 Add Korean(ko_KR) spellcheck dictionary
https://gerrit.libreoffice.org/c/dictionaries/+/100395
17
(LibreOffice)리브레오피스 우리말 모듬
–실전 dictionary 소스코드 리뷰하기
tdf#135405 Add Korean(ko_KR) spellcheck dictionary
https://gerrit.libreoffice.org/c/dictionaries/+/100395
Gerrit 의 용어 정리
checkout : 해당 commit 을 fetch 후 fetch branch 로 switch
cherry-pick: 해당 commit 을 fetch 후 해당 commit 만 작업
branch 에 merge
format-patch: fetch 해온 commit 만 patch 파일 만들기
pull: 해당 commit 을 작업 branch 에 fetch 및 merge
참고
Gerrit 을 이용한 코드 리뷰 시스템 - Gerrit 과 Git
https://d2.naver.com/helloworld/1859580
18
(LibreOffice)리브레오피스 우리말 모듬
–실전 dictionary 소스코드 리뷰하기
tdf#135405 Add Korean(ko_KR) spellcheck dictionary
https://gerrit.libreoffice.org/c/dictionaries/+/100395
cherry-pick 으로 가져오기
Dictionary 빌드
Libreoffice 빌드
core $ cd dictionaries
core/dictionaries $ git fetch "https://git.libreoffice.org/dictionaries"
refs/changes/95/100395/1 && git cherry-pick FETCH_HEAD
core/dictionaries $ make
core/dictionaries $ cd ..
core $ make
19
(LibreOffice)리브레오피스 우리말 모듬
–실전 dictionary 소스코드 리뷰하기
빌드 완료 하고 , 내용 확인하였으면 gerrit 과 bugzilla 에 리뷰
내용 적기
Gerrit
tdf#135405 Add Korean(ko_KR) spellcheck dictionary
https://gerrit.libreoffice.org/c/dictionaries/+/100395
Bugzilla
Dictionaries: Add Korean(ko_KR) spellcheck dictionary from
existing hunspell Korean dictionary project
https://bugs.documentfoundation.org/show_bug.cgi?id=135405
20
(LibreOffice)리브레오피스 우리말 모듬
–실전 dictionary 소스코드 리뷰하기
Bugzilla 에서 리뷰 작성 후 , 사용하는 소프트웨어 버전 붙여서
써야함
예
https://bugs.documentfoundation.org/show_bug.cgi?i
d=135405#c7
21
(LibreOffice)리브레오피스 우리말 모듬
–실전 dictionary 소스코드 리뷰하기
Linux 에서의 예
도움말 > LibreOffice 정보 > Version Information( 버전 정보 )
Version: 7.1.0.0.alpha0+
Build ID: 6935dcd80f1677a293a412da3d94afd1217c0bd1
CPU threads: 16; OS: Linux 5.8; UI render: default;
VCL: gtk3
Locale: ko-KR (ko_KR.UTF-8); UI: ko-KR
Calc: threaded
22
(LibreOffice)리브레오피스 우리말 모듬
–실전 dictionary 소스코드 리뷰하기
Windows 에서의 예
도움말 > LibreOffice 정보 > Version Information( 버전 정보 )
Version: 7.1.0.0.alpha0+ (x64)
Build ID: 6935dcd80f1677a293a412da3d94afd1217c0bd1
CPU threads: 6; OS: Windows 10.0 Build 19041; UI
render: default; VCL: win
Locale: ko-KR (ko_KR); UI: ko-KR
Calc: threaded
23
(LibreOffice)리브레오피스 우리말 모듬
–실전 dictionary 소스코드 리뷰하기
MacOS 에서의 예
LibreOffice > LibreOffice 정보 > Version Information( 버전 정
보 )
Version: 7.1.0.0.alpha0+
Build ID: 43b788a0007c9731b743758c6c7eb0a981dd7d42
CPU threads: 4; OS: Mac OS X 10.15.6; UI render:
default; VCL: osx
Locale: ko-KR (ko_KR.UTF-8); UI: ko-KR
Calc: threaded
24
(LibreOffice)리브레오피스 우리말 모듬
리브레오피스 (LibreOffice) 에서 쉽게 접근 가능한 QA
EasyHacks
https://wiki.documentfoundation.org/QA/Easy_Hacks
컨트리뷰톤 (Contributon) 행사에서 자동 교정 내용등록
[ko] Extend Autocorrect list for Korean language
https://bugs.documentfoundation.org/show_bug.cgi?id=135727
자동 교정 내용 추가 해주시고 적용한 내용에 대하여 QA 하면서 확인하면
됩니다 !
25
(LibreOffice)리브레오피스 우리말 모듬
자동 교정 (Auto correct)
입력한 내용이 오타가 났을때 , 자동으로 교정을 해주는 기능
한글 (HWP), MS 워드에도 기능 있음
한글 (HWP): “ 빠른 교정”
MS 워드 : “ 자동 고침”
26
(LibreOffice)리브레오피스 우리말 모듬
자동 교정 (Auto correct)
Bugzilla
[ko] Extend Autocorrect list for Korean language
https://bugs.documentfoundation.org/show_bug.cgi?id=
135727
Gerrit 코드 리뷰 시스템
[ko] add new autocorrect words for Korean
https://gerrit.libreoffice.org/c/core/+/100682
27
(LibreOffice)리브레오피스 우리말 모듬
자동 교정 (Auto correct)
리브레오피스 (LibreOffice) 의 예시
28
(LibreOffice)리브레오피스 우리말 모듬
자동 교정 (Auto correct)
데이터
국립국어원
한국어 어문 규범 - 표준어 규정
http://kornorms.korean.go.kr/regltn/regltnView.do?regltn_code=
0002
NLP 라이브러리인 “ open-korean-text”
https://github.com/open-korean-text/open-korean-text
인터넷상 오타체나 실수등을 정리한 typo.txt
https://github.com/open-korean-text/open-korean-text/blob/master/s
rc/main/resources/org/openkoreantext/processor/util/typos/typos.txt
29
(LibreOffice)리브레오피스 우리말 모듬
자동 교정 (Auto correct)
자동 교정 작업 시 유의해야할 사항
라이선스 (License) 확인 후에 추가 요청
다른 낱말에서 사용하는 용어와 충돌되어 불필요한 자동 교정이 나오지
않도록 조심해야함
예 ) 계집 , 게집
계집 : 여자를 낮잡아 이르는 말
게집 : 게가 사는 구멍
참조 : 한글 맞춤법 제 3 장 소리에 관한것
제 4 절 모음
제 8 항 ‘계 , 례 , 몌 , 폐 , 혜’의 ‘ㅖ’는 ‘ㅔ’로 소리 나는 경우가 있더라도 ‘ㅖ’로
적는다 .
30
(LibreOffice)리브레오피스 우리말 모듬
자동 교정 (Auto correct)
자동 교정 내용
데이터 형식 : XML
위치
extras/source/autocorr/lang/ko/DocumentList.xml
31
(LibreOffice)리브레오피스 우리말 모듬
소스코드 제출하기
소스코드를 git 으로 커밋하기
커밋 메세지 만들기
제목 : tdf#135727 add Korean Autocorrect list
내용 : 추가한 내용 적용
$ git add extras/source/autocorr/lang/ko/DocumentList.xml
$ git commit
tdf#135727 add Korean Autocorrect list
Add Korean Auto Correst list
가운대 -> 가운데
…
# 변경 사항에 대한 커밋 메시지를 입력하십시오. '#' 문자로 시작하는
# 줄은 무시되고, 메시지를 입력하지 않으면 커밋이 중지됩니다.
#
32
(LibreOffice)리브레오피스 우리말 모듬
소스코드 제출하기
Gerrit 리뷰시스템에 제출 전 테스트
Gerrit 리뷰시스템에 커밋한 소스코드 제출
$ ./logerrit test
$ ./logerrit submit master
33
(LibreOffice)리브레오피스 우리말 모듬
자동교정 리뷰하기
자동 교정 리뷰하기
이미 커밋된 내용
→새벽녁 새벽녘
https://gerrit.libreoffice.org/c/core/+/100842
→가운대 가운데
https://gerrit.libreoffice.org/c/core/+/100812
34
(LibreOffice)리브레오피스 우리말 모듬
자동교정의 KS 마크와 ( 주 ) 마크 적용
버그질라 (Bugzilla) 등록
Autocorrect conversion error (bracket to enclosed characters)
https://bugs.documentfoundation.org/show_bug.cgi?id=132614
해당 내용에 대하여 이슈 있는 것에 대하여 글을 작성해보기
재현 영상 https://www.youtube.com/watch?v=hvjm5iqGFOE
<block-list:block block-list:abbreviated-name=".*( 주 )" block-list:name=" ㈜ "/>
<block-list:block block-list:abbreviated-name=".*(KS)" block-list:name=" ㉿ "/>
35
(LibreOffice)리브레오피스 우리말 모듬
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License
(unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos
and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
고맙습니다
QA 관련 문서를 보고 소스 코드 커밋 및 리뷰등
여러가지 기여를 해봅니다 . 그러면서 실제
오픈소스에서 공헌을 경험해봅시다 !

Weitere ähnliche Inhalte

Was ist angesagt?

[2021 오픈소스 컨트리뷰션 아카데미] #6 XML파일구조 및 리브레오피스의 자동교정 기능 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #6 XML파일구조 및 리브레오피스의 자동교정 기능 소개 등[2021 오픈소스 컨트리뷰션 아카데미] #6 XML파일구조 및 리브레오피스의 자동교정 기능 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #6 XML파일구조 및 리브레오피스의 자동교정 기능 소개 등DaeHyun Sung
 
[2021 오픈소스 컨트리뷰션 아카데미] Libreoffice 한국어 번역 및 사용성 기능 향상 프로젝트 킥오프 미팅 (2021.08.07.)
[2021 오픈소스 컨트리뷰션 아카데미]  Libreoffice 한국어 번역 및 사용성 기능 향상 프로젝트 킥오프 미팅 (2021.08.07.)[2021 오픈소스 컨트리뷰션 아카데미]  Libreoffice 한국어 번역 및 사용성 기능 향상 프로젝트 킥오프 미팅 (2021.08.07.)
[2021 오픈소스 컨트리뷰션 아카데미] Libreoffice 한국어 번역 및 사용성 기능 향상 프로젝트 킥오프 미팅 (2021.08.07.)DaeHyun Sung
 
[2020 컨트리뷰톤] 리브레오피스(LibreOffice)의 소스코드 개발, 빌드, 제출, 검토(리뷰)하기 등을 소개
[2020 컨트리뷰톤] 리브레오피스(LibreOffice)의 소스코드 개발, 빌드, 제출, 검토(리뷰)하기 등을 소개[2020 컨트리뷰톤] 리브레오피스(LibreOffice)의 소스코드 개발, 빌드, 제출, 검토(리뷰)하기 등을 소개
[2020 컨트리뷰톤] 리브레오피스(LibreOffice)의 소스코드 개발, 빌드, 제출, 검토(리뷰)하기 등을 소개DaeHyun Sung
 
[2021 오픈소스 컨트리뷰션 아카데미] #7 자동교정 XML파일 수정 및 수정한 내용 gerrit으로 제출해보기
[2021 오픈소스 컨트리뷰션 아카데미] #7 자동교정 XML파일 수정 및 수정한 내용 gerrit으로 제출해보기[2021 오픈소스 컨트리뷰션 아카데미] #7 자동교정 XML파일 수정 및 수정한 내용 gerrit으로 제출해보기
[2021 오픈소스 컨트리뷰션 아카데미] #7 자동교정 XML파일 수정 및 수정한 내용 gerrit으로 제출해보기DaeHyun Sung
 
[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리
[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리
[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리DaeHyun Sung
 
[2019.02.01] 리브레오피스 우리말 모듬 첫 모임
[2019.02.01] 리브레오피스 우리말 모듬 첫 모임[2019.02.01] 리브레오피스 우리말 모듬 첫 모임
[2019.02.01] 리브레오피스 우리말 모듬 첫 모임DaeHyun Sung
 
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등DaeHyun Sung
 
[2021 오픈소스 컨트리뷰션 아카데미] #8 Hacktoberfest 소개 및 리브레오피스(LibreOffice) 소스코드 제출해보기
[2021 오픈소스 컨트리뷰션 아카데미] #8 Hacktoberfest 소개 및 리브레오피스(LibreOffice) 소스코드 제출해보기[2021 오픈소스 컨트리뷰션 아카데미] #8 Hacktoberfest 소개 및 리브레오피스(LibreOffice) 소스코드 제출해보기
[2021 오픈소스 컨트리뷰션 아카데미] #8 Hacktoberfest 소개 및 리브레오피스(LibreOffice) 소스코드 제출해보기DaeHyun Sung
 
[GDG Seoul] 2019.01.22. 나의 해외 컨퍼런스 참석 및 발표기
[GDG Seoul] 2019.01.22. 나의 해외 컨퍼런스 참석 및 발표기[GDG Seoul] 2019.01.22. 나의 해외 컨퍼런스 참석 및 발표기
[GDG Seoul] 2019.01.22. 나의 해외 컨퍼런스 참석 및 발표기DaeHyun Sung
 
[Emocon 2017 S/S] 20170414 유니코드(Unicode)로 오픈소스에 기여하기
[Emocon 2017 S/S] 20170414 유니코드(Unicode)로 오픈소스에 기여하기 [Emocon 2017 S/S] 20170414 유니코드(Unicode)로 오픈소스에 기여하기
[Emocon 2017 S/S] 20170414 유니코드(Unicode)로 오픈소스에 기여하기 DaeHyun Sung
 
왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)
왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)
왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)Covenant Ko
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Ian Choi
 
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation찬희 이
 

Was ist angesagt? (14)

[2021 오픈소스 컨트리뷰션 아카데미] #6 XML파일구조 및 리브레오피스의 자동교정 기능 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #6 XML파일구조 및 리브레오피스의 자동교정 기능 소개 등[2021 오픈소스 컨트리뷰션 아카데미] #6 XML파일구조 및 리브레오피스의 자동교정 기능 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #6 XML파일구조 및 리브레오피스의 자동교정 기능 소개 등
 
[2021 오픈소스 컨트리뷰션 아카데미] Libreoffice 한국어 번역 및 사용성 기능 향상 프로젝트 킥오프 미팅 (2021.08.07.)
[2021 오픈소스 컨트리뷰션 아카데미]  Libreoffice 한국어 번역 및 사용성 기능 향상 프로젝트 킥오프 미팅 (2021.08.07.)[2021 오픈소스 컨트리뷰션 아카데미]  Libreoffice 한국어 번역 및 사용성 기능 향상 프로젝트 킥오프 미팅 (2021.08.07.)
[2021 오픈소스 컨트리뷰션 아카데미] Libreoffice 한국어 번역 및 사용성 기능 향상 프로젝트 킥오프 미팅 (2021.08.07.)
 
[2020 컨트리뷰톤] 리브레오피스(LibreOffice)의 소스코드 개발, 빌드, 제출, 검토(리뷰)하기 등을 소개
[2020 컨트리뷰톤] 리브레오피스(LibreOffice)의 소스코드 개발, 빌드, 제출, 검토(리뷰)하기 등을 소개[2020 컨트리뷰톤] 리브레오피스(LibreOffice)의 소스코드 개발, 빌드, 제출, 검토(리뷰)하기 등을 소개
[2020 컨트리뷰톤] 리브레오피스(LibreOffice)의 소스코드 개발, 빌드, 제출, 검토(리뷰)하기 등을 소개
 
[2021 오픈소스 컨트리뷰션 아카데미] #7 자동교정 XML파일 수정 및 수정한 내용 gerrit으로 제출해보기
[2021 오픈소스 컨트리뷰션 아카데미] #7 자동교정 XML파일 수정 및 수정한 내용 gerrit으로 제출해보기[2021 오픈소스 컨트리뷰션 아카데미] #7 자동교정 XML파일 수정 및 수정한 내용 gerrit으로 제출해보기
[2021 오픈소스 컨트리뷰션 아카데미] #7 자동교정 XML파일 수정 및 수정한 내용 gerrit으로 제출해보기
 
[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리
[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리
[2021 오픈소스 컨트리뷰션 아카데미] #9 리브레오피스(LibreOffice) 컨트리뷰션 정리
 
[2019.02.01] 리브레오피스 우리말 모듬 첫 모임
[2019.02.01] 리브레오피스 우리말 모듬 첫 모임[2019.02.01] 리브레오피스 우리말 모듬 첫 모임
[2019.02.01] 리브레오피스 우리말 모듬 첫 모임
 
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
 
[2021 오픈소스 컨트리뷰션 아카데미] #8 Hacktoberfest 소개 및 리브레오피스(LibreOffice) 소스코드 제출해보기
[2021 오픈소스 컨트리뷰션 아카데미] #8 Hacktoberfest 소개 및 리브레오피스(LibreOffice) 소스코드 제출해보기[2021 오픈소스 컨트리뷰션 아카데미] #8 Hacktoberfest 소개 및 리브레오피스(LibreOffice) 소스코드 제출해보기
[2021 오픈소스 컨트리뷰션 아카데미] #8 Hacktoberfest 소개 및 리브레오피스(LibreOffice) 소스코드 제출해보기
 
[GDG Seoul] 2019.01.22. 나의 해외 컨퍼런스 참석 및 발표기
[GDG Seoul] 2019.01.22. 나의 해외 컨퍼런스 참석 및 발표기[GDG Seoul] 2019.01.22. 나의 해외 컨퍼런스 참석 및 발표기
[GDG Seoul] 2019.01.22. 나의 해외 컨퍼런스 참석 및 발표기
 
[Emocon 2017 S/S] 20170414 유니코드(Unicode)로 오픈소스에 기여하기
[Emocon 2017 S/S] 20170414 유니코드(Unicode)로 오픈소스에 기여하기 [Emocon 2017 S/S] 20170414 유니코드(Unicode)로 오픈소스에 기여하기
[Emocon 2017 S/S] 20170414 유니코드(Unicode)로 오픈소스에 기여하기
 
왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)
왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)
왜 개발자는 컴퓨터공학을 공부해야 할까? (비전공자는 컴퓨터공학 과목에서 무엇을 알아야할까?)
 
Why use git
Why use gitWhy use git
Why use git
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?
 
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
 

Ähnlich wie [컨트리뷰톤 2020] 리브레오피스(LibreOffice)의 QA 및 소스 코드 리뷰

DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기SeungYong Baek
 
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)Ubuntu Korea Community
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXpressEngine
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨KwangSeob Jeong
 
[Ubucon Asia 2022] 리브레오피스의 현재와 앞으로 나아갈길
[Ubucon Asia 2022] 리브레오피스의 현재와 앞으로 나아갈길[Ubucon Asia 2022] 리브레오피스의 현재와 앞으로 나아갈길
[Ubucon Asia 2022] 리브레오피스의 현재와 앞으로 나아갈길DaeHyun Sung
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1YoungSu Son
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 YoungSu Son
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기NAVER Engineering
 
XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기Sol Kim
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptxssuserf875e6
 
JVM_트러블슈팅.pdf
JVM_트러블슈팅.pdfJVM_트러블슈팅.pdf
JVM_트러블슈팅.pdfkwbak
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화Jaehoon Choi
 
137 deview
137 deview137 deview
137 deviewNAVER D2
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기JeongHun Byeon
 
Yobi-hands-on-lab-at-d2fest
Yobi-hands-on-lab-at-d2festYobi-hands-on-lab-at-d2fest
Yobi-hands-on-lab-at-d2festinsanehong Kim
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on labNAVER D2
 
[170403 2주차]C언어 A반
[170403 2주차]C언어 A반[170403 2주차]C언어 A반
[170403 2주차]C언어 A반arundine
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기KwangSeob Jeong
 
Open source engineering
Open source engineeringOpen source engineering
Open source engineeringYoungSu Son
 

Ähnlich wie [컨트리뷰톤 2020] 리브레오피스(LibreOffice)의 QA 및 소스 코드 리뷰 (20)

DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
 
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)강분도 - 공개SW개발과 우분투 (2010Y10M05D)
강분도 - 공개SW개발과 우분투 (2010Y10M05D)
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
 
처음 시작하는 라라벨
처음 시작하는 라라벨처음 시작하는 라라벨
처음 시작하는 라라벨
 
[Ubucon Asia 2022] 리브레오피스의 현재와 앞으로 나아갈길
[Ubucon Asia 2022] 리브레오피스의 현재와 앞으로 나아갈길[Ubucon Asia 2022] 리브레오피스의 현재와 앞으로 나아갈길
[Ubucon Asia 2022] 리브레오피스의 현재와 앞으로 나아갈길
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
 
XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 
2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx2022.08 멘토링 자료.pptx
2022.08 멘토링 자료.pptx
 
JVM_트러블슈팅.pdf
JVM_트러블슈팅.pdfJVM_트러블슈팅.pdf
JVM_트러블슈팅.pdf
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화
 
137 deview
137 deview137 deview
137 deview
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기
 
Yobi-hands-on-lab-at-d2fest
Yobi-hands-on-lab-at-d2festYobi-hands-on-lab-at-d2fest
Yobi-hands-on-lab-at-d2fest
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab
 
[170403 2주차]C언어 A반
[170403 2주차]C언어 A반[170403 2주차]C언어 A반
[170403 2주차]C언어 A반
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
Open source engineering
Open source engineeringOpen source engineering
Open source engineering
 

Mehr von DaeHyun Sung

[LiboCon 2023] LibreOffice's current status and community in South Korea
[LiboCon 2023] LibreOffice's current status and community in South Korea[LiboCon 2023] LibreOffice's current status and community in South Korea
[LiboCon 2023] LibreOffice's current status and community in South KoreaDaeHyun Sung
 
LibreOffice Kaigi 2023 Keynote: my FLOSS contribution activities in Korean
LibreOffice Kaigi 2023 Keynote: my FLOSS contribution activities in KoreanLibreOffice Kaigi 2023 Keynote: my FLOSS contribution activities in Korean
LibreOffice Kaigi 2023 Keynote: my FLOSS contribution activities in KoreanDaeHyun Sung
 
[UbuCon Korea 2023] 한국의 문서 표준과 LibreOffice 한국어 커뮤니티 활동 소개
[UbuCon Korea 2023] 한국의 문서 표준과 LibreOffice 한국어 커뮤니티 활동 소개[UbuCon Korea 2023] 한국의 문서 표준과 LibreOffice 한국어 커뮤니티 활동 소개
[UbuCon Korea 2023] 한국의 문서 표준과 LibreOffice 한국어 커뮤니티 활동 소개DaeHyun Sung
 
[LibreOffice Conference 2022] State of Korea in Libreoffice and promote futu...
[LibreOffice Conference 2022]  State of Korea in Libreoffice and promote futu...[LibreOffice Conference 2022]  State of Korea in Libreoffice and promote futu...
[LibreOffice Conference 2022] State of Korea in Libreoffice and promote futu...DaeHyun Sung
 
[Ubucon Asia 2021] The challenge of Using LibreOffice & Building Local Commun...
[Ubucon Asia 2021] The challenge of Using LibreOffice & Building Local Commun...[Ubucon Asia 2021] The challenge of Using LibreOffice & Building Local Commun...
[Ubucon Asia 2021] The challenge of Using LibreOffice & Building Local Commun...DaeHyun Sung
 
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...DaeHyun Sung
 
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...DaeHyun Sung
 
Building LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issuesBuilding LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issuesDaeHyun Sung
 
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...DaeHyun Sung
 
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...DaeHyun Sung
 
[2018.12.09.] 第8回 九州LibreOffice勉強会 - HWP
[2018.12.09.] 第8回 九州LibreOffice勉強会 - HWP[2018.12.09.] 第8回 九州LibreOffice勉強会 - HWP
[2018.12.09.] 第8回 九州LibreOffice勉強会 - HWPDaeHyun Sung
 
[COSCUP x GNOME.Asia x openSUSE 2018] Support to Korean language on GNOME CJ...
[COSCUP x GNOME.Asia x openSUSE 2018] Support to Korean language on GNOME  CJ...[COSCUP x GNOME.Asia x openSUSE 2018] Support to Korean language on GNOME  CJ...
[COSCUP x GNOME.Asia x openSUSE 2018] Support to Korean language on GNOME CJ...DaeHyun Sung
 

Mehr von DaeHyun Sung (12)

[LiboCon 2023] LibreOffice's current status and community in South Korea
[LiboCon 2023] LibreOffice's current status and community in South Korea[LiboCon 2023] LibreOffice's current status and community in South Korea
[LiboCon 2023] LibreOffice's current status and community in South Korea
 
LibreOffice Kaigi 2023 Keynote: my FLOSS contribution activities in Korean
LibreOffice Kaigi 2023 Keynote: my FLOSS contribution activities in KoreanLibreOffice Kaigi 2023 Keynote: my FLOSS contribution activities in Korean
LibreOffice Kaigi 2023 Keynote: my FLOSS contribution activities in Korean
 
[UbuCon Korea 2023] 한국의 문서 표준과 LibreOffice 한국어 커뮤니티 활동 소개
[UbuCon Korea 2023] 한국의 문서 표준과 LibreOffice 한국어 커뮤니티 활동 소개[UbuCon Korea 2023] 한국의 문서 표준과 LibreOffice 한국어 커뮤니티 활동 소개
[UbuCon Korea 2023] 한국의 문서 표준과 LibreOffice 한국어 커뮤니티 활동 소개
 
[LibreOffice Conference 2022] State of Korea in Libreoffice and promote futu...
[LibreOffice Conference 2022]  State of Korea in Libreoffice and promote futu...[LibreOffice Conference 2022]  State of Korea in Libreoffice and promote futu...
[LibreOffice Conference 2022] State of Korea in Libreoffice and promote futu...
 
[Ubucon Asia 2021] The challenge of Using LibreOffice & Building Local Commun...
[Ubucon Asia 2021] The challenge of Using LibreOffice & Building Local Commun...[Ubucon Asia 2021] The challenge of Using LibreOffice & Building Local Commun...
[Ubucon Asia 2021] The challenge of Using LibreOffice & Building Local Commun...
 
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
[LibreOffice conference 2021] The challenge of Using LibreOffice & Building L...
 
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
[LibreOffice Korea-Japan online Seminar] Introduce to LibreOffice & Korean Is...
 
Building LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issuesBuilding LibreOffice Korean Community and CJK common & different issues
Building LibreOffice Korean Community and CJK common & different issues
 
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
 
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
[LibreOffice Asia Conference 2019] CJK Issues on LibreOffice(based on Korean ...
 
[2018.12.09.] 第8回 九州LibreOffice勉強会 - HWP
[2018.12.09.] 第8回 九州LibreOffice勉強会 - HWP[2018.12.09.] 第8回 九州LibreOffice勉強会 - HWP
[2018.12.09.] 第8回 九州LibreOffice勉強会 - HWP
 
[COSCUP x GNOME.Asia x openSUSE 2018] Support to Korean language on GNOME CJ...
[COSCUP x GNOME.Asia x openSUSE 2018] Support to Korean language on GNOME  CJ...[COSCUP x GNOME.Asia x openSUSE 2018] Support to Korean language on GNOME  CJ...
[COSCUP x GNOME.Asia x openSUSE 2018] Support to Korean language on GNOME CJ...
 

Kürzlich hochgeladen

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 

Kürzlich hochgeladen (6)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 

[컨트리뷰톤 2020] 리브레오피스(LibreOffice)의 QA 및 소스 코드 리뷰

  • 1. 1 (LibreOffice)리브레오피스 우리말 모듬 리브레오피스 (LibreOffice) 의 QA 및 소스 코드 리뷰 리브레오피스 (LibreOffice) 우리말 모듬 성대현 (DaeHyun Sung, 成大鉉 , ソン・デヒョン ) 2020 년 09 월 06 일 일요일
  • 2. 2 (LibreOffice)리브레오피스 우리말 모듬 QA Quality Assurance 의 약자 소프트웨어의 문제를 식별하고 사용자가 보고한 문제를 확인하고 제안된 수정 및 개선 사항의 유효성을 검사 당혹스럽고 긴급한 버그를 찾거나 확인하여 개발자에게 넘겨 처리하도록 유도 버그 재현 , 우선순위 부여 및 중복된 내용 찾기 , 제안된 수정 사항을 확인 등을 처리 위키 문서 : https://wiki.documentfoundation.org/QA
  • 3. 3 (LibreOffice)리브레오피스 우리말 모듬 QA 시작하기 우선 소스코드 빌드를 해보기 버그질라 (Bugzilla) 에 가입하기 https://bugs.documentfoundation.org/
  • 4. 4 (LibreOffice)리브레오피스 우리말 모듬 개발 기여하기 전에 해야할 사항 예시 libreoffice@lists.freedesktop.org 제목 : ‘ ’본인 이름 license statement 내용 예제 http://document-foundation-mail-archive.969070.n3.nabble.c om/DaeHyun-Sung-license-statement-td4240049.html All of my past & future contributions to LibreOffice may be licensed under the MPLv2/LGPLv3+ dual license.
  • 5. 5 (LibreOffice)리브레오피스 우리말 모듬 Gerrit 리뷰시스템 가입 및 ssh 키 등록 리브레오피스 Gerrit 리뷰시스템 가입 https://gerrit.libreoffice.org/ 설정 : https://wiki.documentfoundation.org/Development/gerrit/setup SSH 키 설정 https://docs.github.com/en/github/authenticating-to-github/generating-a -new-ssh-key-and-adding-it-to-the-ssh-agent Github 에 SSH 키 등록 https://docs.github.com/en/github/authenticating-to-github/adding- a-new-ssh-key-to-your-github-account LibreOffice 의 Gerrit 에 SSH 키 등록
  • 6. 6 (LibreOffice)리브레오피스 우리말 모듬 Logerrit 설정 다음의 명령어로 입력 후 확인 상세 내용 https://wiki.documentfoundation.org/Development/gerrit/setup $ ./logerrit setup Note that you need to register additional email addresses, if you want to commit from them. Each additional email address must be confirmed by following the verification link sent to it. Which user name did you choose? “본인 이름이나 닉네임” Please now add the following to your ~/.ssh/config, creating the file if needed: Host logerrit gerrit.libreoffice.org IdentityFile ~/.ssh/id_rsa User “본인 이름이나 닉네임” Port 29418 HostName gerrit.libreoffice.org To see if your setup was successful, run './logerrit test' $ ./logerrit test Enter passphrase for key '/***/.ssh/id_rsa': Your gerrit setup was successful!
  • 7. 7 (LibreOffice)리브레오피스 우리말 모듬 빌드 (Build) Gerrit 소스코드 리뷰시스템에서 다운로드 받음 권장 : Linux & MacOS 빌드 하는 방법 (Wiki) Linux https://wiki.documentfoundation.org/Development/BuildingOnLinux MacOShttps://wiki.documentfoundation.org/Development/BuildingOnMac Windows https://wiki.documentfoundation.org/Development/BuildingOnWindows Onlinehttps://wiki.documentfoundation.org/Development/LibreOffice_Online Androidhttps://wiki.documentfoundation.org/Development/BuildingForAndroid
  • 8. 8 (LibreOffice)리브레오피스 우리말 모듬 빌드 (Build) 설정 일반적인 빌드 설정 Wiki 에서 안내하는 빌드 설정 한국어 설정 추가 디버깅 옵션 추가 $ git clone https://gerrit.libreoffice.org/core libreoffice $ cd libreoffice $ ./autogen.sh $ git clone https://gerrit.libreoffice.org/core libreoffice $ cd libreoffice $ ./autogen.sh --with-locales="ko" --with-lang="ko" $ git clone https://gerrit.libreoffice.org/core libreoffice $ cd libreoffice $ ./autogen.sh --with-locales="ko" --with-lang="ko" --enable-dbgutil
  • 9. 9 (LibreOffice)리브레오피스 우리말 모듬 빌드 설정 선택사항 , 빌드 및 실행 빌드 선택사항 조회 빌드하기 실행하기 일반적인 실행 선택 실행 (ex. Writer, calc 등 ) $ ./autogen.sh --help $ make $ instdir/program/soffice # Linux $ open instdir/LibreOfficeDev.app # MacOSX $ instdir/program/soffice –writer $ instdir/program/soffice --calc
  • 10. 10 (LibreOffice)리브레오피스 우리말 모듬 하위 모듈 git 설정 Git submodule 로 관리하는 대상 dictionaries helpcontent2 translations % cat .gitmodules [submodule "dictionaries"] path = dictionaries url = https://gerrit.libreoffice.org/dictionaries branch = . [submodule "helpcontent2"] path = helpcontent2 url = https://gerrit.libreoffice.org/help branch = . [submodule "translations"] path = translations url = https://gerrit.libreoffice.org/translations branch = .
  • 11. 11 (LibreOffice)리브레오피스 우리말 모듬 하위 모듈 다운로드 받기 Git submodule 로 받음 참조 https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-%EC%84 %9C%EB%B8%8C%EB%AA%A8%EB%93%88 % git submodule update --init dictionaries 'dictionaries' 경로에 대해 'dictionaries' (https://gerrit.libreoffice.org/dictionaries) 하위 모듈 등록 '/Users/sungdaehyun/dev/lode/dev/core_kodict/dictionaries'에 복제합니다... 하위 모듈 경로 'dictionaries': '8cd579e3a67ab36040501138d17c647db24547a0' 체크아웃 % git submodule update --init translations 하위 모듈 경로 'translations': '1c00f748202eb64ffa0be5ce38e57a47f6e5798a' 체크아웃 % git submodule update --init helpcontent2 'helpcontent2' 경로에 대해 'helpcontent2' (https://gerrit.libreoffice.org/help) 하위 모듈 등록 '/Users/sungdaehyun/dev/lode/dev/core_kodict/helpcontent2'에 복제합니다... 하위 모듈 경로 'helpcontent2': 'd94a25c58b03f7619430ec7bf66564de16600548' 체크아웃
  • 12. 12 (LibreOffice)리브레오피스 우리말 모듬 빌드 및 디버깅 영상 LibreOffice Build Demo https://youtu.be/2gIqOOajdYQ How to build LibreOffice on your desktop (openSUSE.Asia summit 2017) https://youtu.be/gFIA0Ml5V84 Developing LibreOffice in Visual Studio https://youtu.be/Xn3CtIrMpIA LibreOffice Conference 2019 – Reducing LibreOffice build time with include-what-you-use https://youtu.be/WhEG64OMu5A LibreOffice Conference 2016: Connect, Embed, Integrate - LibreOffice as a building block https://youtu.be/g3ya-za_2cU
  • 13. 13 (LibreOffice)리브레오피스 우리말 모듬 –실전 dictionary 소스코드 리뷰하기 자유 오픈소스 프로젝트의 huspell-ko 기능을 리브레오피스 (LibreOffice) 에 적용 멘토분이 올린 내용 Bugzilla: Dictionaries: Add Korean(ko_KR) spellcheck dictionary from existing hunspell Korean dictionary project https://bugs.documentfoundation.org/show_bug.cgi?id=135405 Gerrit: tdf#135405 Add Korean(ko_KR) spellcheck dictionary https://gerrit.libreoffice.org/c/dictionaries/+/100395
  • 14. 14 (LibreOffice)리브레오피스 우리말 모듬 번외 (huspell-ko) 자유오픈소스로 구현된 맞춤법 검사기능 관련 슬라이드 Hunspell 한국어 맞춤법 검사의 원리 https://www.slideshare.net/changwoo/hunspell-works 국립국어원 오픈소스 어휘 정보 활용 사례 https://www.slideshare.net/changwoo/ss-82447112
  • 16. 16 (LibreOffice)리브레오피스 우리말 모듬 –실전 dictionary 소스코드 리뷰하기 tdf#135405 Add Korean(ko_KR) spellcheck dictionary https://gerrit.libreoffice.org/c/dictionaries/+/100395
  • 17. 17 (LibreOffice)리브레오피스 우리말 모듬 –실전 dictionary 소스코드 리뷰하기 tdf#135405 Add Korean(ko_KR) spellcheck dictionary https://gerrit.libreoffice.org/c/dictionaries/+/100395 Gerrit 의 용어 정리 checkout : 해당 commit 을 fetch 후 fetch branch 로 switch cherry-pick: 해당 commit 을 fetch 후 해당 commit 만 작업 branch 에 merge format-patch: fetch 해온 commit 만 patch 파일 만들기 pull: 해당 commit 을 작업 branch 에 fetch 및 merge 참고 Gerrit 을 이용한 코드 리뷰 시스템 - Gerrit 과 Git https://d2.naver.com/helloworld/1859580
  • 18. 18 (LibreOffice)리브레오피스 우리말 모듬 –실전 dictionary 소스코드 리뷰하기 tdf#135405 Add Korean(ko_KR) spellcheck dictionary https://gerrit.libreoffice.org/c/dictionaries/+/100395 cherry-pick 으로 가져오기 Dictionary 빌드 Libreoffice 빌드 core $ cd dictionaries core/dictionaries $ git fetch "https://git.libreoffice.org/dictionaries" refs/changes/95/100395/1 && git cherry-pick FETCH_HEAD core/dictionaries $ make core/dictionaries $ cd .. core $ make
  • 19. 19 (LibreOffice)리브레오피스 우리말 모듬 –실전 dictionary 소스코드 리뷰하기 빌드 완료 하고 , 내용 확인하였으면 gerrit 과 bugzilla 에 리뷰 내용 적기 Gerrit tdf#135405 Add Korean(ko_KR) spellcheck dictionary https://gerrit.libreoffice.org/c/dictionaries/+/100395 Bugzilla Dictionaries: Add Korean(ko_KR) spellcheck dictionary from existing hunspell Korean dictionary project https://bugs.documentfoundation.org/show_bug.cgi?id=135405
  • 20. 20 (LibreOffice)리브레오피스 우리말 모듬 –실전 dictionary 소스코드 리뷰하기 Bugzilla 에서 리뷰 작성 후 , 사용하는 소프트웨어 버전 붙여서 써야함 예 https://bugs.documentfoundation.org/show_bug.cgi?i d=135405#c7
  • 21. 21 (LibreOffice)리브레오피스 우리말 모듬 –실전 dictionary 소스코드 리뷰하기 Linux 에서의 예 도움말 > LibreOffice 정보 > Version Information( 버전 정보 ) Version: 7.1.0.0.alpha0+ Build ID: 6935dcd80f1677a293a412da3d94afd1217c0bd1 CPU threads: 16; OS: Linux 5.8; UI render: default; VCL: gtk3 Locale: ko-KR (ko_KR.UTF-8); UI: ko-KR Calc: threaded
  • 22. 22 (LibreOffice)리브레오피스 우리말 모듬 –실전 dictionary 소스코드 리뷰하기 Windows 에서의 예 도움말 > LibreOffice 정보 > Version Information( 버전 정보 ) Version: 7.1.0.0.alpha0+ (x64) Build ID: 6935dcd80f1677a293a412da3d94afd1217c0bd1 CPU threads: 6; OS: Windows 10.0 Build 19041; UI render: default; VCL: win Locale: ko-KR (ko_KR); UI: ko-KR Calc: threaded
  • 23. 23 (LibreOffice)리브레오피스 우리말 모듬 –실전 dictionary 소스코드 리뷰하기 MacOS 에서의 예 LibreOffice > LibreOffice 정보 > Version Information( 버전 정 보 ) Version: 7.1.0.0.alpha0+ Build ID: 43b788a0007c9731b743758c6c7eb0a981dd7d42 CPU threads: 4; OS: Mac OS X 10.15.6; UI render: default; VCL: osx Locale: ko-KR (ko_KR.UTF-8); UI: ko-KR Calc: threaded
  • 24. 24 (LibreOffice)리브레오피스 우리말 모듬 리브레오피스 (LibreOffice) 에서 쉽게 접근 가능한 QA EasyHacks https://wiki.documentfoundation.org/QA/Easy_Hacks 컨트리뷰톤 (Contributon) 행사에서 자동 교정 내용등록 [ko] Extend Autocorrect list for Korean language https://bugs.documentfoundation.org/show_bug.cgi?id=135727 자동 교정 내용 추가 해주시고 적용한 내용에 대하여 QA 하면서 확인하면 됩니다 !
  • 25. 25 (LibreOffice)리브레오피스 우리말 모듬 자동 교정 (Auto correct) 입력한 내용이 오타가 났을때 , 자동으로 교정을 해주는 기능 한글 (HWP), MS 워드에도 기능 있음 한글 (HWP): “ 빠른 교정” MS 워드 : “ 자동 고침”
  • 26. 26 (LibreOffice)리브레오피스 우리말 모듬 자동 교정 (Auto correct) Bugzilla [ko] Extend Autocorrect list for Korean language https://bugs.documentfoundation.org/show_bug.cgi?id= 135727 Gerrit 코드 리뷰 시스템 [ko] add new autocorrect words for Korean https://gerrit.libreoffice.org/c/core/+/100682
  • 27. 27 (LibreOffice)리브레오피스 우리말 모듬 자동 교정 (Auto correct) 리브레오피스 (LibreOffice) 의 예시
  • 28. 28 (LibreOffice)리브레오피스 우리말 모듬 자동 교정 (Auto correct) 데이터 국립국어원 한국어 어문 규범 - 표준어 규정 http://kornorms.korean.go.kr/regltn/regltnView.do?regltn_code= 0002 NLP 라이브러리인 “ open-korean-text” https://github.com/open-korean-text/open-korean-text 인터넷상 오타체나 실수등을 정리한 typo.txt https://github.com/open-korean-text/open-korean-text/blob/master/s rc/main/resources/org/openkoreantext/processor/util/typos/typos.txt
  • 29. 29 (LibreOffice)리브레오피스 우리말 모듬 자동 교정 (Auto correct) 자동 교정 작업 시 유의해야할 사항 라이선스 (License) 확인 후에 추가 요청 다른 낱말에서 사용하는 용어와 충돌되어 불필요한 자동 교정이 나오지 않도록 조심해야함 예 ) 계집 , 게집 계집 : 여자를 낮잡아 이르는 말 게집 : 게가 사는 구멍 참조 : 한글 맞춤법 제 3 장 소리에 관한것 제 4 절 모음 제 8 항 ‘계 , 례 , 몌 , 폐 , 혜’의 ‘ㅖ’는 ‘ㅔ’로 소리 나는 경우가 있더라도 ‘ㅖ’로 적는다 .
  • 30. 30 (LibreOffice)리브레오피스 우리말 모듬 자동 교정 (Auto correct) 자동 교정 내용 데이터 형식 : XML 위치 extras/source/autocorr/lang/ko/DocumentList.xml
  • 31. 31 (LibreOffice)리브레오피스 우리말 모듬 소스코드 제출하기 소스코드를 git 으로 커밋하기 커밋 메세지 만들기 제목 : tdf#135727 add Korean Autocorrect list 내용 : 추가한 내용 적용 $ git add extras/source/autocorr/lang/ko/DocumentList.xml $ git commit tdf#135727 add Korean Autocorrect list Add Korean Auto Correst list 가운대 -> 가운데 … # 변경 사항에 대한 커밋 메시지를 입력하십시오. '#' 문자로 시작하는 # 줄은 무시되고, 메시지를 입력하지 않으면 커밋이 중지됩니다. #
  • 32. 32 (LibreOffice)리브레오피스 우리말 모듬 소스코드 제출하기 Gerrit 리뷰시스템에 제출 전 테스트 Gerrit 리뷰시스템에 커밋한 소스코드 제출 $ ./logerrit test $ ./logerrit submit master
  • 33. 33 (LibreOffice)리브레오피스 우리말 모듬 자동교정 리뷰하기 자동 교정 리뷰하기 이미 커밋된 내용 →새벽녁 새벽녘 https://gerrit.libreoffice.org/c/core/+/100842 →가운대 가운데 https://gerrit.libreoffice.org/c/core/+/100812
  • 34. 34 (LibreOffice)리브레오피스 우리말 모듬 자동교정의 KS 마크와 ( 주 ) 마크 적용 버그질라 (Bugzilla) 등록 Autocorrect conversion error (bracket to enclosed characters) https://bugs.documentfoundation.org/show_bug.cgi?id=132614 해당 내용에 대하여 이슈 있는 것에 대하여 글을 작성해보기 재현 영상 https://www.youtube.com/watch?v=hvjm5iqGFOE <block-list:block block-list:abbreviated-name=".*( 주 )" block-list:name=" ㈜ "/> <block-list:block block-list:abbreviated-name=".*(KS)" block-list:name=" ㉿ "/>
  • 35. 35 (LibreOffice)리브레오피스 우리말 모듬 All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy. 고맙습니다 QA 관련 문서를 보고 소스 코드 커밋 및 리뷰등 여러가지 기여를 해봅니다 . 그러면서 실제 오픈소스에서 공헌을 경험해봅시다 !