아무래도 좋은 서론

요새 제로콜라가 맛있어졌다.

전부터 탄산류를 즐기는 편이었는데 뭔가 일반 콜라는 뒷맛이 깔끔하지 않다는 느낌을 지울 수 없었다.

그러던 중 주변에서 제로콜라를 마시는 걸 발견하고 시도해보았는데 생각보다 깔끔하고 잘 맞았다.

처음 출시될 쯤 호기심에 사먹었을 때는 뭔가 맛이 허전해서 별로였는데 입맛이 바뀌었나보다..

어쨌든 그리하여 인터넷 쇼핑으로 큰 단위 구매를 하고자 하였다.

 

이 글을 쓴 이유

인터넷 쇼핑으로 제로콜라를 시키고자 하였는데 아마도 특정 경로를 통해 쇼핑몰에 진입하면 할인이 적용되는 매커니즘이 존재하는 것 같다. 눈썰미가 좋은 분들은 알고있겠지만 모르는 분들을 위해 글로써 남겨본다.

 

 

네이버 쇼핑 "my단골"을 통한 진입을 예시로 들어보겠다.

네이버 쇼핑의 경우 스토어찜에 의한 추가 포인트 적립을 받으려면,

 

1. 원하는 물건이 있는 스토어를 찜하고,

 

2. 모바일 네이버의 "my페이" 메뉴로 진입한 후 스크롤을 쭉쭉 내리면 찜한 스토어의 상품을 볼 수 있다. (모바일 네이버는 m.naver.com 으로 진입할 수 있다)

 

3. 이 화면에서 해당 상품을 찾아 누르면 올바른 경로로(스토어찜 추가 포인트적립을 적용한 상태로) 구매할 수 있다. 이때 어떻게든 다른 페이지로 넘어가지 말고 모바일 네이버 "my페이"의 레이아웃 내에서 해결하는 것이 중요하다.

 

my페이 탭의 스토어찜 리스트 중 원하는 스토어를 찾은 모습

 

차이점 비교

먼저 일반적인 방법으로 쇼핑몰에 진입했을 경우 url에는 상품번호만 보인다.

 

url 부분 확대

 

일반적인 방법으로 구매하고자 할 경우

 

다음으로 스토어찜 할인 경로로 진입하는 경우이다.

 

최대 적립 포인트 부분에 my단골 추가적립이 추가되었고,

url에 네이버 파라미터로 보이는 NaPm이 존재하는 것을 확인할 수 있다.

 

 

url 부분 확대

 

스토어찜 포인트 추가적립 경로로 진입한 경우

 

 

이와 비슷한 매커니즘은 네이버 뿐 아니라 다른 쇼핑몰에도 존재하니 인터넷쇼핑시에 참고하면 좋다.

미뤄왔던 포스팅인데 시간이 더 지나기 전에 방법을 러프하게나마 적어두려 한다.

어느정도 TA, RA에 대한 지식이 있음을 전제하에 쓰는 글이며, 필자는 HiKey960 개발보드와 터치스크린이 동작하는 환경이다.

 

참고한 글

discuss.96boards.org/t/hikey960-4gb-ram-board-aosp-optee-booting-issue/9654/27

github.com/OP-TEE/optee_os/issues/2920

 

 

먼저, 제시하는 방법은 최적화된 방법은 아닐 수 있음을 밝혀 둔다. (TA를 개발하기 위한 최소한의 조건만 모아둔 것은 아닐 것이다.)

 

선행조건으로, optee_examples 폴더 아래의 optee_example_hello_world 등의 폴더가 있는 위치에 원하는 이름의 폴더를 만들고, 폴더 구조를 다른 examples과 같게 만든다. (TA UUID를 새로 만든다거나, 이름대로 Makefile 설정을 맞춘다거나 하는 등의 작업이 필요하다.)

 

git branch에서 pull받은 후 optee_android_manifest 디렉토리로 가면 build-p-hikey960.sh라는 쉘 스크립트 파일이 있다.

 

1. 해당 스크립트를 복사하여 새로운 쉘 스크립트 파일을 만들고, 내용물을 ./build.sh -v p -t hikey960 "$@"로 만든다.

 

2. TA의 경우 ./<my_build>.sh <MY_TA_UUID>.ta,

RA의 경우 ./<my_build>.sh <MY_RA_NAME>과 같이 TA는 UUID.ta, RA는 프로젝트 이름을 인수로 주고 쉘 스크립트를 실행한다.

 

3. ninja build가 이루어지고,

TA의 경우 결과물이 optee_android_manifest/out/target/product/hikey960/vendor/lib/optee_armtz아래 .ta들이 모여있는 곳에 추가된다.

RA는 optee_android_manifest/out/target/product/hikey960/vendor/bin 하위에 다른 sample들과 같이 생성된다.

 

4. 이전 포스팅과 같이 프로젝트째 보드에 flash한다.

 

RA의 경우 보드에 TA만 있다면 통째로 reflash할 필요 없이 빌드 후 adb push 등을 통하여 보드 파일시스템에 직접 집어넣고 돌려도 잘 동작한다.

 

optee_example_secure_storage TA를 빌드한 모습
optee_example_secure_storage RA를 빌드한 모습

위는 현재 branch버전에서 빌드가 제공되지 않는 secure_storage를 상위 버전 branch에서 가져와 임의로 빌드한 스크린샷이다.

 

HiKey960에 집어넣고 실행한 모습

동작이 잘 됨을 확인할 수 있다.

 

 

 

여기부터는 여담이다. 시간이 나면 따로 온전한 포스팅으로 남길 계획

 

TrustZone - RichOS, 즉 TA - RA가 사실 OPTEE의 핵심인데, 사용자 환경에서 이를 구동하려면 SELinux의 elf파일이 아닌, Android Application의 형태가 적합하다.

 

원하는 RA기능을 동적 라이브러리 형태(.so)파일로 Android Application에 embed하여 TA - Android Applicaiton(RA) 형태로 구현하고자 안드로이드 스튜디오와 ndk로 갖은 노력을 해봤지만 조건을 만족하는 프로젝트 구조와 CMakeList.txt파일을 구성하지 못했다. 그래서 그냥 급한대로 TA - (SMC) - RA - (IPC) - Android Application 형태로 구현했다..

'AOSP+OPTEE' 카테고리의 다른 글

HiKey960에 AOSP+OP-TEE 올리고 화면 확인하기  (0) 2020.04.26

오랜만에 cli 환경 colorscheme을 바꿔보려고 이것저것 검색하며 시행착오를 겪은 결과 내가 쓰는 환경에서 일관되게 colorscheme을 변경하려면

 

1. putty 테마 색 변경

2. nvim 환경에서의 편집 창 테마 변경

3. nvim plugin airline 부분의 테마 변경

 

이렇게 세 부분의 테마를 모두 변경해야 한다는 것을 깨달았다.

이에 대략적인 방법(+ oh-my-zsh powerlevel10k의 올바른 설정)을 글로 남겨본다.

* putty

- Color theme

putty-color-themes github에서 원하는 테마의 레지스트리 파일과 _puttycolor.js 파일을 program files 하위의 Putty 폴더에 두고 레지스트리 파일을 _puttycolor.js파일에 드래그앤드롭으로 설정 등록

세션별 설정은 추가 작업 필요

 

Putty Configuration 

 

- Window/Appearance

 Font: D2Coding (혹은 다른 powerline font)

 -> oh-my-zsh powerlevel10k theme의 올바른 적용을 위함

 

- Wondow/Colours

 Indicate bolded text by changing: The font

 -> 설정하지 않으면 bolded text에 colorscheme이 제대로 적용되지 않는 경우가 있음. e.g. putty solarized dark

 

- Connection/Data

 Terminal-type string: xterm-256colors

 -> 안하면 터미널 시작시 warning 출력

 

* oh-my-zsh

powerlevel10k 설치

 

* nvim

vim-bootstrap

 

- ~/.config/nvim/init.vim

 

 "" Color

 "Plug 'tomasr/molokai'

 "Plug 'dracula/vim'

 Plug 'altercation/vim-colors-solarized'

 

 "silent! colorscheme molokai
 "silent! colorscheme dracula

 set background=dark
 silent! colorscheme solarized

 

 let g:airline_theme = 'hybrid'

 -> vim colorscheme과 어울리게 airline 테마를 바꿔준다.

     설정하지 않으면 vim 위아래 airline colorscheme과 vim colorscheme이 달라질 수 있다

 

등등으로 init.vim 설정 후 vim 실행

:PlugInstall 입력으로 color 플러그인 install

nvim은 .vimrc에서 설정하지 않고 init.vim에서 설정함을 기억하자

 

 

콘솔 인터페이스는 맨날 보는게 글씨라 colorscheme이나 shell theme을 설정해야 그나마 보기 좋다

 

nvim colorscheme과 airline colorscheme을 적용한 모습

 

putty color theme과 oh-my-zsh powerlevel10k를 적용한 모습

 

 

 

 

 

 

 

 

 

2019년 일러스트학원 다니던 때

 

많이도 쌓였다

어디가 맞는 길인지 모르겠다.

그림도 공부도 놓고 싶지 않은데 문제는 시간분배다..

'기타' 카테고리의 다른 글

워라밸의 의의란  (0) 2022.04.03
Info  (0) 2022.01.13
HiKey960 보드에 AOSP + OP-TEE 올리기 시도 중  (0) 2020.04.09
일러스트 학원을 다니며 드는 생각  (0) 2019.04.09
Unity ARCore를 사용하고 있는데  (0) 2019.01.25

 

1줄요약 : preferences -> Tools -> check "Overscroll"

 

=========================================================

 

필자는 최근 포토샵 CS6에서 CC 2020으로 버전을 갈아탔다

 

여느때처럼 r키를 누르고 화면을 회전하려 하는데

 

요렇게 회전하면

 

 

이렇게 뷰가 이동해버린다..

 

 

뭔 현상인가 봤더니 workspace 가장자리에 뷰의 끝자락이 맞춰져서 생기는 현상이다.

 

hand tool로 옆으로 이동해보니 아래쪽에 딱 맞춰져있고 workspace 밖으로 view가 빠져나가지 않는다.

 

 

설정을 대충 뒤져봐도 모르겠어서 여기저기 외국포럼을 뒤진 끝에 방법을 발견하여 글로 남겨본다.

https://community.adobe.com/t5/photoshop/problem-while-rotate-zoom-in-out-in-photoshop-2020/td-p/10737326?page=1

 

 

핵심만 가져와보자면

 

preferences -> Tools -> Overscroll에 체크

 

를 하면 된다.

 

CC2020이 필압도 잘먹고 클립스튜디오처럼 가벼워지긴 했는데 기능이 조금씩 바뀌어서 살짝 애먹었다.

그래도 이 묵직하면서도 가벼운 느낌이 그리웠다 ㅋㅋ

 

 

다들 즐작 하세여~

96boardsOP-TEE documentation 및 각종 사이트를 돌며 정보를 수집하고 시도한 끝에 화면 띄우기까지 성공하여 필자 기준 성공한 방법을 적어 둔 글이다. 최적화된 방법이 아닐 수 있으며 다른 방법도 얼마든지 있을 수 있다.

 

그럼에도 불구하고 글로 남기는 이유는 troubleshooting 과정이 너무 힘들고 OP-TEE documentation이나 github, 96board forum등에 정보가 산재되어 있어 하나의 방식으로 정리되지 않아 힘들었기 때문이다. 이것을 시도하는 다른 분들은 시간을 많이 소비하지 않았으면 한다.

 

자세한 보드 스펙이나 공시하는 방법은 공식 홈페이지나 documentation에서 확인해 보자

 

이 방법을 성공시키기 위해 아무것도 몰랐던 시점부터 성공시점까지 약 3주일 정도 소모되었다.

호스트 컴퓨터의 성능이 어지간히 좋지 않은 이상 수 시간 이상 소요되는 작업이다. 상당한 인내심이 필요했다.

 

 

 

 

 

준비물

- HiKey960 보드

- 보드 전용 변환케이블 (보드 단자가 특수한 규격이라 필자의 경우 보드 주문시 일반 규격과 호환되는 어댑터를 동봉해주었다)

- 보드 전원 (아두이노 mega 전원장치 스펙, 12V 2A면 충분하다)

- 호스트 컴퓨터

- USB Type-C 데이터 케이블

 

- 모니터 (7inch HDMI LCD(B) USB Capacitive Touch 800x480 Pixel Rev2.1)

 - HDMI to HDMI 케이블

 - USB micro 5pin 케이블

 - 모니터 전원 (일반 스마트폰 전원장치 스펙, 5V 1A면 충분했다)

 

0. Requirements

 - Ubuntu 16.04 LTS 혹은 그 이상의 LTS버전

 - 250GB 이상의 저장소

 - 원활한 인터넷 환경

 - 충분한 RAM (VMware 2GB로는 빌드가 안된다)

 

0-1. sudo apt install

android-tools-adb android-tools-fastboot autoconf \

automake bc bison build-essential cscope curl device-tree-compiler flex \

ftp-upload gdisk iasl libattr1-dev libc6:i386 libcap-dev libfdt-dev \

libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev \

libpixman-1-dev libssl-dev libstdc++6:i386 libtool libz1:i386 make \

mtools netcat python-crypto python-serial python-wand unzip uuid-dev \

xdg-utils xterm xz-utils zlib1g-dev \

repo elftools python3-pyelftools

 

1. github branch clone

 - git clone https://github.com/linaro-swg/optee_android_manifest [-b <release_tag>]

 

* documentation에는 이와 같이 안내되어 있지만 글쓴이는 3.4.2 branch로 성공하였다.

 

2. sync repo (* 주의: 많은 시간이 소요되는 단계)

 - cd optee_android_manifest

 - ./sync-p-hikey960.sh

 

* 필자는 git config --global user.email이나 user.name을 설정해야 가능했다.

* google repo의 credential이 있어야 안드로이드 소스에 접근이 가능할 수 있다.

https://android.googlesource.com/new-password

이곳에 로그인하여 호스트 컴퓨터에서 config를 만들 수 있도록 진행한 후에 하자

 

2-1. HDMI 연결로 화면을 보기 위한 준비작업

 - https://android-review.googlesource.com/c/kernel/hikey-linaro/+/889696/2/drivers/gpu/drm/hisilicon/kirin960/kirin_drm_overlay_utils.c#802

 

 - 이곳에 안내된 디렉토리로 진입 후 변경사항을 그대로 따라 코드를 수정

 * 3.4.2 branch에 특화된 방법이므로 다른 branch에서는 방법이 다를 것이라 추정

 

3. build (* 주의: 많은 시간이 소요되는 단계)

 - ./build-p-hikey960.sh

 

* 성공하면 out 디렉토리에 빌드된 결과물이 들어간다.

 

4. 빌드된 이미지 파일을 installer 디렉토리로 복사

 - cp -a out/target/product/hikey960/*.img device/linaro/hikey/installer/hikey960/

 

* boot.img, cache.img, dt.img, ramdisk.img, system.img, userdata.img, vendor.img가 복사된다.

 

5. fastboot를 이용하여 HiKey960보드에 flashing

 - 보드의 DIP switch를 recovery boot mode로 설정 (1, 2를 on으로 두고 3을 off로 둔다.)

 - 보드의 C-type를 호스트 컴퓨터의 '메인보드에 붙어있는' USB단자로 연결

 - 보드 전원 연결

 - optee_android_manifest 디렉토리로 이동

 - sudo ./device/linaro/hikey/installer/hikey960/flash-all.sh /dev/ttyUSBn

 - bootloader 다운로드가 완료되면 프로그램 실행중인 상태에서 보드의 전원을 끄고 DIP switch를 fastboot mode로 설정 후 다시 연결 (1, 3을 on으로 두고 2를 off로 둔다.)

 - 다시 연결하면 알아서 fastboot 장치를 인식하여 flashing을 진행한다.

 

* OP-TEE 없이 AOSP만 올리는 경우와는 진행방식에 차이가 있다.

* flash-all.sh에서 입력된 디렉토리를 argument로 받는데 optee_android_manifest 디렉토리를 기준으로 실행해야만 제대로 실행된다.

 

6. normal boot

 - DIP switch 1을 on, 2, 3을 off로 두고 전원 연결

 

* 여기까지가 올리는 과정이다.

 

appendix) 호스트 컴퓨터와 adb연결

 - normal boot로 설정 후 호스트 컴퓨터에 연결

 - Google ADB Gadget으로 인식됨

 * adb devices를 입력하면 연결된 adb 디바이스를 볼 수 있음

 * adb shell 커맨드로 AOSP의 Linux shell에 진입 가능

 

 

display와 연결하면 이와 같은 화면을 볼 수 있다.

Ctype 케이블을 빼고 USB 3.0 단자와 display장치를 연결하면 터치도 가능하다.

HiKey960 보드는 Ctype포트와 USB 3.0포트를 같이 사용할 수 없게 하드웨어적으로 막혀있다고 한다.

 

=================================================================

 

2022.03.28 추가

 

어쩌면 소스코드 양이 너무 큰 이유가 git의 다른 branch가 포함되어서 그런게 아닌가 하는 의문이 들었지만 확인해 보지는 않았다. 혹시 시도하는 사람이 있다면 한번 알아보고 받도록 하자.

'AOSP+OPTEE' 카테고리의 다른 글

AOSP+OP-TEE 환경에서 TA, RA 빌드하는법  (0) 2020.09.21

최근 HiKey960이라는 개발보드에 AOSP+OP-TEE를 올린 후 안드로이드 어플리케이션을 개발할 일이 생겼다.

 

adb shell 접속에 성공했고 화면 출력 직전까지 진척되었는데 여기서부터가 영 힘들다.

 

공식 버전이 불안정하며 빌드 과정이 더럽게 힘든 것이 어마어마한 단점이다..

 

화면 출력까지 성공하면 제대로 포스팅으로 남길 예정.

'기타' 카테고리의 다른 글

Info  (0) 2022.01.13
대학원 원서 냈다  (0) 2020.05.25
일러스트 학원을 다니며 드는 생각  (0) 2019.04.09
Unity ARCore를 사용하고 있는데  (0) 2019.01.25
처음 만들었다  (0) 2018.08.22

[포토샵 CS6 기준으로 작성하였습니다.]

 

 

예를 들어 이 상황에서 병합하지 않고 세 레이어의 일부를 한꺼번에 옮기고 싶은데 move툴은 선택된 부분만 옮기는게 아니라 세 레이어 전체를 이동시켜 버린다

 

 

 

한글이든 영어든 키워드 조합해서 원하는 기능을 지원하는지 검색하는것조차 매우 어렵다 하;;

 

 

한국어로 된 가장 근접한 질문글인데 대답이 산으로 간다

 

https://tip.daum.net/question/52484843

 

포토샵에서 여러 레이어에 일부분을 같이 이동하고싶습니다.

    위는 처음 화면이고 그림처럼 저런 똑같은 모양의 레이어가 7개 있습니다.         위 그림처럼 하나의 레이어를 선택후 ctrl키를 이용하여 일부분을 내렸습니다. 나머지 레이어도 같이 일부분이 이동하게끔 하고 싶습니다.   레이어를 ctrl 이나 shift로 같이 이동을 해도 소용이 없더군요... 방법이 없을까요?... 도움 부탁드립니다.

tip.daum.net

당연하겠지만 원하는대로 작동하지 않는다

 

포토샵에서 제일 쓸데없는 기능이 layer link 기능인것같다.

애초에 그룹짓고 싶으면 그룹을 만들어서 그 안에 넣어두는게 가독성도 좋고 훨씬 편하다.

 

 

내가 방법을 못찾는건가 싶어서 영어로도 검색해봤는데 지원하지 않는다는 글을 찾아냈을 뿐이다.

 

http://forums.devshed.com/photoshop-help-88/photoshop-moving-selection-multiple-layers-779692.html

 

Photoshop moving a selection in multiple layers

January 15th, 2011, 09:41 AM Photoshop moving a selection in multiple layers In photoshop I'm working on a picture, and I want to move just part of the picture. But that part is on many different layers and I don't want to merge the layers. Is there any wa

forums.devshed.com

 

 

아무리 생각해도 묘사 올린게 아깝다 싶으면

 

1. 선택영역 저장 후 베이스 레이어 선택영역 이동(이때 픽셀단위 변화량 기록), 클리핑 걸어둔 레이어들 이동(저장한 선택영역을 다시 불러온 후 기록한 변화량만큼) 혹은,

 

2. 세 레이어 통째로 복사한 후 선택영역 inverse후 삭제, 원래 레이어들의 해당영역 삭제, 따로따로 병합

 

 

 

등등의 매우 귀찮은 과정을 거쳐야 한다.. 그래서 이런 상황이 발생하면 그냥 베이스만 이동하고 위는 다시 그리는 편이다.

 

클립영역 밖의 부분은 접근 수정 불가능하게 아예 막아둔것 같다고 어렴풋이 추측할 뿐이지만 리버싱이나 프로그램 내부를 들여다볼 깡은 없어서 그냥 불편한 대로 쓰기로 했다.

 

클립스튜디오는 폴더째로 레이어에 클리핑하는것도 되는데 포토샵은 안되는게 너무 많은것같다.

아마도 시스템상 각종 세부기능과 공존하기 위해 선택한 일이겠지만 불편한건 불편한거다.

 

혹시 방법을 알거나 보다 쉽게 우회하는법을 아는 분들이 계시면 부디 제게 가르침을 주시길 바랍니다

 

 

 

+

 

포토샵에 국한된 문제는 아닌데 생각난김에 더 이야기해보자면,

한 레이어에 한 레벨의 클리핑만 되는것도 다중레벨 클리핑이 가능하게 바꾸면 좋겠다.

이를테면 현재 레이어 하나에 클리핑을 순서대로 쌓는 방식인데 이게 단순한 스택이라서 중간에 분기점을 나눌 수 없다.

tree구조까지는 아니더라도 베이스 레이어에 둘 이상의 클리핑 가지를 만들면 정말 유용하게 사용할 수 있을 것 같다.

 

이게 현재라면

 

예를들어 이런식으로

 

 

 

최근 컴퓨터를 바꿔 크롬을 다시 깔았다.

 

초기 설정을 만지작거리고 웹서핑을 하고 있는데 일부 사이트에서 아이디 입력란에 과거에 입력했던 아이디가 자동완성으로 나타나는 문제가 발생했다. (필자의 경우는 트위터 로그인 아이디가 자동완성으로 나타났다)

 

기록 삭제가 아닌 기능 해제를 원해서 이것저것 검색을 해봐도 크롬의 옛 설정 레이아웃 기준으로만 설명이 되어있었다.

 

명확하게 기능 구분이 되어있지 않아 명시되지 않은 하위 기능을 유추해야 하는 상황인데 금방 찾긴 했으나 짜증이 올라와서 팁글로 남겨본다.

 

 

1줄 요약

설정 -> 자동 완성 -> 주소 및 기타 -> 주소 저장 및 자동 입력 해제

 

 

고급 옵션을 건드릴 필요도 없이 이 방법으로 해결했다.

+ Recent posts