어느날, 여자친구가 사용하지 않은 노트북이 있다고 공짜로 가지겠는가는 이야기를 들었습니다.

이게 웬 떡인가? 이런 심리가 발동되어 노트북을 공짜로 받겠다고 했습니다.

노트북을 공짜로 받아보니 HP사에서 나온 2013년도에 생산된 Envy-14인치 i5랩탑이였습니다. CPU는 i5라 지금도 사용하는데 딱히 나쁘지 않은데, LCD패널이 좀 아쉽고, HDD를 쓴다길래 흠 좀 고치면 되겠군이란 생각을 하였습니다.

 

받고 나서 노트북을 켜보니... 안켜집니다. 여친 말로는 배터리가 이상한지 전원 연결을 하지 않으면 컴퓨터가 안켜진다고 합니다.

배터리가 고장났으니 전원연결을 한 후, 노트북 켜면 부팅이 안된다고 합니다.

확인해보니 BIOS설정이 잘못된걸 확인. 그래서 BIOS설정 수정 및 가상화설정에 대해서 활성화를 하였습니다 (이건 제가 WSL2, Docker를 사용하려고 함)

그리고, 내부를 뜯어보니 배터리는 부풀어올랐고, 얼른 교체를 하지 않으면 터질것 같더군요.

시급한 것은 이제 켜지지 않고 충전도 안되는 배터리 교체를 하였습니다. (노트북을 받고 나서 계속 전원 연결로만 사용하였습니다.
배터리를 빨리 받기 위해서, 중국에서 배송하는 알리익스프레스 대신 한국의 대형쇼핑몰 11번가에서 2013년도에 생산된 HP envy14인치용 배터리 부품번호를 보고 주문하였습니다.

아래는, 대형쇼핑몰  11번가에서 주문한 HP envy14 랩탑 배터리부품입니다. 해외 주문할시 코로나 시국으로 배달 속도가 느리기 때문에, 국내 창고에 굴러다니는 재고 배터리를 찾아서 주문하였습니다 

 

잡았다 요놈. HP Envy14인치용 배터리
위: 상당히 부풀어오른 배터리, 아래: 새로 구입한 배터리

 

 

이제 배터리를 교체하고, 뭘 바꿀지 확인을 해보았습니다.

배터리 교체하고 나서 쓱 훑어보니, 램은 4GB로 꽂혀있었고, 무선랜카드는  5Ghz를 지원하지 않은 싸구려 센트리노카드였고, mSATA를 지원하는 랩탑인데 왜 HDD를 넣었는지 이해를 못하였을 정도로 원가 절감을 위해 CPU만 좋은걸 넣었고, 나머지는 그 당시에도 성능이 느린 부품을 넣어서 팔았습니다 (부들부들 HP요놈)

다행히, HP envy랩탑 내부를 뜯어보니 요즘 애플이 시작하여 다른 제조사가 따라하는 납땜하여 아예 교체 못하는 시스템이 아니라서 차근차근 부품 교체 하면 지금도 간단한 작업 및 제가 주로 이용하는 작업을 충분히 할수 있을 정도일것 같더군요.

배터리를 교체하고 난후, DDR3램 교체를 진행하였습니다.
기존엔 4Gb 하이닉스 램이 탑재되었기 때문에, 잠시 예전에 삼성 노트북에서 사용하던 4Gb램을 임시로 꽂아서 총 8Gb를 사용하고 있었습니다. 그러나 빌드 작업을 할 것이라 이제 삼성 8Gb램 2개를 한국의 인터넷 쇼핑몰 11번가에서 주문하여, 램을 교체하였습니다. 그래서 이제 노트북에서 램16Gb를 사용하게 되었습니다.

 

 



그리고, 하드디스크가 노후화되어 수명이 오래 가지 못하고 띡소리가 나기 시작하였고, 5400rpm 하드이기 때문에 느리기 때문에, 집에서 리눅스 설치하다 용량 교체로 사용하지않고 잠시 굴러다니던 SSD로 교체하였습니다.

 

 

제가 맥북프로(MacOSX)와 2011년도에 생산된 Intel i7 2세대 샌디브릿지 삼성 랩탑(Linux)를 사용하기 있기때문에 윈도우OS를 탑재한 운영체제가 없었습니다.

그래서, 이 HP노트북은 윈도우를 사용하는 머신으로 이용하게 되었습니다.


다음엔, 이 노트북에 사용하는 무선랜카드가 5Ghz를 지원 못하는 싸구려 샌트리노 랜카드(Intrl Centrino Wireless-N 2230)를 붙여놓았더군요. 그래서, 알리익스프레스에서 Intel Dual Band Wireless-AC 7250을 주문하였습니다.

 

 


이제야, 2020년에 쓸만한 4세대 하스웰 i5 랩탑을 구성하였습니다.(무선랜카드만 도착하면 진짜 쓸만해질듯)
이제 제대로 된 윈도우 머신을 여친에게 공짜로 받아 부품 교체하여 쓰니깐 기분 좋네요. 

(아직 무선랜카드가 도착하지 않음. 그러나 무선랜 카드 교체하려니 고난이도임을 예상... 그러나 난 할수 있을거야 설마 전선 찢어버릴려나..)

 문제의 무선랜카드가 케이블 아래에 양면테이프로 딱 붙어 있음 ㅠㅠ

ps. 제가 사용하는 맥북프로(MacBookPro 2013 Late)와 비슷한 시기에 나온 CPU를 사용하고 있기때문에, HP랩탑의 부품(HDD, 램, 무선랜)을 바꾸면 맥북프로와 거의 비슷한 성능을 낼것 같습니다.

Buy me a coffeeBuy me a coffee

MS Windows에서 Visual Studio(비주얼 스튜디오)로 리브레오피스(LibreOffice) 개발하기 동영상

Developing LibreOffice in Visual Studio

https://www.youtube.com/watch?v=Xn3CtIrMpIA

 

Buy me a coffeeBuy me a coffee

맥OSX(Mac OSX)에서 리브레오피스(LibreOffice)를 빌드 후, 디버깅을 하려면 gdb대신 lldb를 이용해야 합니다.

맥에서 리브레오피스(LibreOffice) 빌드후, 새로운 아이디어가 생각이 나서 소스 수정 후 디버깅을 해보았습니다.

make debugrun

빌드를 하고 gdb로 디버깅을 하려고 했더니 어 gdb명령어가 안먹네??

확인결과, MacOSX에서는 llvm으로 빌드하기 때문에 gdb대신 lldb를 사용해야합니다.

https://wiki.documentfoundation.org/Development/How_to_debug#Debugging_with_lldb

 

How to debug - The Document Foundation Wiki

The Document Foundation Wiki Debugging options You need to enable debugging support to do any practical interactive debugging. You can enable it for the entire build with: ./autogen.sh --enable-debug or ./autogen.sh --enable-dbgutil If you have done a non-

wiki.documentfoundation.org

 

저는 대학교때 배운 gdb명령어로 디버깅을 하려고 했더니, lldb가 손에 익지 않아 시행착오를 많이 겪게 되네요

아래는 llvm을 밀고 있는 Apple사에서 제공하는 gdb와 lldb의 비교 링크입니다.

https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html#//apple_ref/doc/uid/TP40012917-CH3-SW1

 

GDB and LLDB Command Examples

GDB and LLDB Command Examples The tables in this chapter list commonly used GDB commands and present equivalent LLDB commands and alternative forms. Also listed are the built-in GDB compatibility aliases in LLDB. Notice that full LLDB command names can be

developer.apple.com

아래는 참고할만한 lldb디버깅 기술 소개 링크입니다. 

https://www.letmecompile.com/xcode-lldb-%EB%94%94%EB%B2%84%EA%B9%85-%ED%85%8C%ED%81%AC%EB%8B%89/

 

Xcode LLDB 디버깅 테크닉

Xcode에 기본으로 내장되어있는 디버거(debugger)인 LLDB는 기존에 가장 많이 사용되던 gdb보다 많은 유용한 기능들을 갖고있다. LLDB 명령어 분석기에는 파이썬(Python) 인터프리터가 내장되어있어서 scr

www.letmecompile.com

아래는 lldb로 디버깅(Debugging)중인 화면입니다. 

 

ps. Apple사에서 제공하는 LLDB와 Xcode에 대한 글 

https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/Introduction.html#//apple_ref/doc/uid/TP40012917-CH1-SW1

 

About LLDB and Xcode

About LLDB and Xcode With the release of Xcode 5, the LLDB debugger becomes the foundation for the debugging experience on OS X. LLDB is Apple’s “from the ground up” replacement for GDB, developed in close coordination with the LLVM compilers to brin

developer.apple.com

 

Buy me a coffeeBuy me a coffee

 

리브레오피스에서 UI테스트 케이스를 만드는 방법 영상 

How to create UI Test Cases for LibreOffice

https://www.youtube.com/watch?v=nnng_er2mro&feature=youtu.be

 

Buy me a coffeeBuy me a coffee

이번에 Windows 10에서 공식적으로 WSL2 공개 및 Xwindow를 쉽게 사용할 수 있는 WSL2가 공개되었습니다.

이번 WSL2지원 버전은 Windows 10 Home까지 지원하기때문에 Windows 10 최신 업데이트를 진행하였습니다.

 

만약에, Windows 10 빌드버전이 2004가 나오지 않으면 아래의 링크로 강제 업데이트를 하면 됩니다.

https://www.microsoft.com/ko-kr/software-download/windows10

 

Windows 10 다운로드

Windows 10용 ISO 파일을 다운로드한 경우, 해당 파일은 선택한 위치에 로컬로 저장됩니다.컴퓨터에 타사 DVD 굽기 프로그램이 설치되어 있으며 해당 프로그램을 사용하여 설치 DVD를 만들려는 경우,

www.microsoft.com

 

자, Windows 10 빌드버전 2004로 직접 업데이트 해보았습니다. 

 

다행히, 다른 사람에게 물려받은 2013년도산 HP랩탑은 Windows 10 최신버전 업데이트가 적용가능함을 확인하였습니다.

이제 Windows 10 빌드버전 2004가 적용되었습니다!

설치 완료!

이후, BIOS설정으로 가상화 설정을 하였고, WSL2설치 및 Ubuntu 20.04 LTS를 설치하였습니다

설치는 아래와 같이 진행하였습니다.

docs.microsoft.com/ko-kr/windows/wsl/install-win10

 

Windows 10에 WSL(Linux용 Windows 하위 시스템) 설치

Linux용 Windows 하위 시스템을 Windows 10에 설치하는 방법에 대한 지침입니다.

docs.microsoft.com

설치 후, xming 설치를 하였고, Xwindow 패키지를 설치하여 xeye를 띄워보았습니다.

이제, Windows에서 간단한 Linux개발 및 docker, container, kubernetes 환경설정등 여러가지 작업을 할수 있을 것 같더군요 

참고1. WSL2 소개 영상

WSL2: Code faster on the Windows Subsystem for Linux! | Tabs vs Spaces

www.youtube.com/watch?v=MrZolfGm8Zk

참고2. WSL2 will be generally available in Windows 10, version 2004

devblogs.microsoft.com/commandline/wsl2-will-be-generally-available-in-windows-10-version-2004/

 

WSL2 will be generally available in Windows 10, version 2004 | Windows Command Line

WSL2 will soon be officially available as part of Windows 10, version 2004! As we get ready for general availability, we want to share one additional change: updating how the Linux kernel inside of WSL2 is installed and serviced on your machine.

devblogs.microsoft.com

참고3. What’s new for IT pros in Windows 10, version 2004 

techcommunity.microsoft.com/t5/windows-it-pro-blog/what-s-new-for-it-pros-in-windows-10-version-2004/ba-p/1419764#wsl

 

What’s new for IT pros in Windows 10, version 2004

Windows 10, version 2004, officially known as the Windows 10 May 2020 Update, is now available through Windows Server Update Services (WSUS) and Windows Update for Business, and can be downloaded from Visual Studio Subscriptions, the Software Download Cent

techcommunity.microsoft.com

 

Buy me a coffeeBuy me a coffee
Buy me a coffeeBuy me a coffee

2020년 5월 15일에 Spring Boot 2.3.0 이 출시되었다고 함.

https://spring.io/blog/2020/05/15/spring-boot-2-3-0-available-now 

 

바뀐점은 다음과 같음

의존성 관련 버전 업그레이드 

  • Spring Data Neumann
  • Spring HATEOAS 1.1
  • Spring Integration 5.3
  • Spring Kafka 2.5
  • Spring Security 5.3
  • Spring Session Dragonfruit

그리고, 서드파티 라이브러리도 의존성관련으로 업그레이드가 됨

  • Cassandra Driver 4.6
  • Couchbase Client 3.0
  • Elasticsearch 7.6
  • Kafka 2.5
  • Micrometer 1.5
  • MongoDB 4.0

Java 14 지원

Docker 지원

Graceful shutdown (우아한 닫기) 지원

Liveness and readiness probes, Spring Data Neuman, 등등 여러가지 추가 및 변경사항 생김을 확인,

 

Spring boot 2.3.0에 대한 문서는 아래를 참조하여 확인하면 될것 같음.

https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/reference/html/index.html

 

Spring Boot Reference Documentation

The reference documentation consists of the following sections: Legal Legal information. Documentation Overview About the Documentation, Getting Help, First Steps, and more. Getting Started Introducing Spring Boot, System Requirements, Servlet Containers,

docs.spring.io

 

ps. 오래간만에 본업에 관련한 글을 올림. 

ps2. 참고할만한 Spring 관련 Git프로젝트

https://github.com/spring-io/sagan

 

spring-io/sagan

The spring.io site and reference application. Contribute to spring-io/sagan development by creating an account on GitHub.

github.com

ps3. Spring Boot 2.3출시 정보와 Spring Boot 2.2에서 2.3으로 이전할때 가이드

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#upgrading-from-spring-boot-22

 

spring-projects/spring-boot

Spring Boot. Contribute to spring-projects/spring-boot development by creating an account on GitHub.

github.com

ps4. Spring boot에 Jasypt 통합 라이브러리 

https://github.com/ulisesbocchio/jasypt-spring-boot

 

ulisesbocchio/jasypt-spring-boot

Jasypt integration for Spring boot. Contribute to ulisesbocchio/jasypt-spring-boot development by creating an account on GitHub.

github.com

Spring boot2.3으로 올릴때 버전 업하면 변경해야하는 사항을 여기서 확인해야함 

Buy me a coffeeBuy me a coffee

일본 모리사와(Morisawa)직원이 작성한 "문자 코드는 무엇인가?"[ 文字コード is なに? What is a character code? ] 슬라이드

Buy me a coffeeBuy me a coffee

디지털오션(Digital Ocean)에서 주최한 2019년 핵토버페스트(Hacktoberfest, 10월동안 Github에서 4개 이상의 PR를 올리면 티셔츠와 스티커를 증정하는 행사)에 참여해보았습니다.

여태동안, 이 행사가 존재함은 알고 있었으나 바쁘다는 핑계로 참여를 안했습니다. 그러나, 2019년, 리브레오피스 회원자격(LibreOffice Membership)이 있고, 리브레오피스 우리말 모듬(LibreOffice Korean Team)에 활동하게 되니, 자유 공개 원천 소프트웨어(자유 오픈소스 소프트웨어, FLOSS)활동을 열심히 해야겠다는 의지로 2019년도 핵토버페스트(Hacktoberfest)에 참여하였습니다.


참여가 끝난후, 행사 주최하는 곳에서 Github에 올라온 PR(풀-리퀘스트, Pull-Request)를 심사하였습니다. 심사 완료후, 티셔츠를 받을 주소를 달라고 해서 집 주소를 입력하였습니다.

2019년 연말에 그동안 바빠서 정신이 없어서 티셔츠 생각을 미쳐 못하다, 2020년 1월 6일에 드디어 티셔츠가 담긴 소포를 받았습니다.

저는 2019년 핵토버페스트(Hacktoberfest) 참여하여, 해가 지난 1월초에 드디어 티셔츠와 스티커를 받았습니다.

미국에서 출발, 독일 경유로 한국에 온 Hacktoberfest 티셔츠 소포
소포안에는 티셔츠와 스티커가 동봉되었음.



올해인 2020년 핵토버페스트(Hacktoberfest)에서는 저뿐만 아니라 커뮤니티에 관심많은 꿈나무들에게 오픈소스 활동 어떻게 할 지 알려주고 싶네요.

Buy me a coffeeBuy me a coffee

오랜만에, Mac 업그레이드 후에 처음으로 MacOSX 10.15 Catalina 에서 LibreOffice(리브레오피스) 빌드를 진행하였습니다.

LibreOffice(리브레오피스) 빌드는 문서 재단의 위키 링크 Building LibreOffice on macOS를 보며 따라하였습니다.

빌드를 진행하다 보니, 아래의 오류로 빌드 진행이 안되는 것을 확인하였습니다.

In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/Python.h:139:
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/pythonrun.h:142:5: error: 'TAPI' is not defined, evaluates to 0 [-Werror,-Wundef]
#if TAPI
    ^
[AIN] ooo_images
1 error generated.
/Users/****/dev/lode/dev/core/solenv/gbuild/LinkTarget.mk:239: recipe for target '/Users/****/dev/lode/dev/core/workdir/CObject/pyuno/source/module/pyuno_dlopenwrapper.o' failed
make[1]: *** [/Users/****/dev/lode/dev/core/workdir/CObject/pyuno/source/module/pyuno_dlopenwrapper.o] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:282: recipe for target 'build' failed
make: *** [build] Error 2

해당 내용에서는 C언어 매크로 TAPI가 정의 안되어서 빌드 에러가 난다는 이야기가 나왔습니다.

해당 내용에 대하여 IRC의 #libreoffice-dev채널에 문의를 하였습니다.

9:28 PM I have a question about build on MacOSX (Catalina 10.15.2)
9:28 PM I get a LibreOffice source from git repository. and try to build, then failed.
9:29 PM message is In file included from ***/dev/core/pyuno/source/module/pyuno_dlopenwrapper.c:22:
9:29 PM In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/Python.h:139:
9:29 PM /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/pythonrun.h:142:5: error: 'TAPI' is not defined, evaluates to 0 [-Werror,-Wundef]
9:30 PM What is "#if TAPI" ? 
9:41 PM <mikekaganski> dhsung_: a coincidence: https://ask.libreoffice.org/en/question/223751
9:44 PM <ycao> https://ask.libreoffice.org/en/question/223751/error-tapi-is-not-defined-evaluates-to-0-werror-wundef-while-building-on-macos/
9:44 PM Any tips?
9:44 PM <_rene_>  yes, the obvious one
9:44 PM (don't build with -Werror)
9:45 PM and this undefined macro is inside python itself which is clear from the error message... (just that LO bundles python if you let it..)
9:45 PM <mikekaganski>  _rene_: the problem is that this looks like our default in LODE
9:46 PM <ycao>  How can I build without `-Werror`
9:46 PM Using `lode`
9:46 PM <_rene_> mikekaganski: yes, it's a problem. anywhere :)
9:46 PM $ ./configure --help | grep -i werror --enable-werror         Turn warnings to errors. (Has no effect in modules
9:47 PM so --disable-werror, of course ;)
9:48 PM <ycao>  So run `./configure --disable-werror` is ok?
9:48 PM <mikekaganski> ycao: essentially, add --disable-werror which _rene_ mentioned to autogen.input in your core directory

문의 결과

./configure --help | grep -i werror --enable-werror         Turn warnings to errors. 

빌드 '에러 error'를 에러 대신 '경고 warning'로 바꾸어서 빌드하라고 하더군요.

이유는 TAPI라는 정의되지 않은 매크로는 파이썬 자체에 있고, 이 매크로를 무시해도 빌드 후에 실행은 되니 '에러 error'로 빌드 안되는 것에 대하여 '에러 error'레벨을 '경고 warning'으로 바꾸어서 빌드 하면 된다고 하군요.

그래서, 저는 아래의 명령어로 빌드 진행을 하였습니다.

이후, 빌드 후 확인

****@**** core % ./autogen.sh --with-locales="ko"  --with-vendor="DaeHyun Sung, TDF Member"  --disable-werror           
********************************************************************
*
*   Using commandline arguments and ignoring autogen.input!
*
********************************************************************
Running ./configure with '--with-locales=ko --with-vendor=DaeHyun Sung, TDF Member --disable-werror --srcdir=/Users/sungdaehyun/dev/lode/dev/core --enable-option-checking=fatal'
********************************************************************
*
*   Running LibreOffice build configuration.
*
********************************************************************
To build, run:
/Users/****/lode/opt/bin/make

To view some help, run:
/Users/****/lode/opt/bin/make help

After the build of LibreOffice has finished successfully, you can immediately run LibreOffice using the command:
open instdir/LibreOfficeDev.app

If you want to run the smoketest, run:
/Users/****/lode/opt/bin/make check

****@**** core % make build-nocheck
make -j 4  -rs -f /Users/****/lode/dev/core/Makefile.gbuild  build  
[PAT] boost
[DEP] LNK:Library/libuno_salhelpergcc3.dylib.3
[LNK] Library/libuno_salhelpergcc3.dylib.3
[UPK] libgpg-error-1.27.tar.bz2
[PAT] icu
[PAT] nss
[PAT] liblangtag
[DEP] LNK:Executable/bestreversemap
[LNK] Executable/bestreversemap
[PAT] libjpeg-turbo
[PAT] lcms2

(생략)


[BIN] extras
[MOD] extras
[MOD] libreoffice
[BIN] top level modules: libreoffice
[ALL] top level modules: build-non-l10n-only build-l10n-only

빌드 완료 후 실행

****@**** core % open instdir/LibreOfficeDev.app

실행 후 화면

Buy me a coffeeBuy me a coffee

+ Recent posts