mysql workbench를 잘 사용 중 갑자기 좌측 네비게이션의 정보들이 모두 사라졌다.

docker에 mariadb를 올려서 접속했더니 뭔가 안내와 함께 안 나오는 것으로 보고 더 이상 mariadb를 지원 안 하는건가?

하고 무시하고 하는 중에 여러 불편함이 있어 mysql을 올렸는데 여전히 이렇게 나오는 것이었다.

찾아보니 Object Info와 Session 정보가 나오면서 위 쪽의 navigation 관련 정보를 다 날려버린 것이었다.

 

표시한 부분을 자세히 보면

점 모양이 있는 것을 확인할 수 있는데 그 위에 마우스 커서를 가져가면 커서 모양이 바뀌면서 조절할 수 있게 된다.

클릭해서 내리게 되면

기존에 보던 Administration과 Schemas 를 볼 수 있게 된다.

 

왜 이렇게 사람을 당황하게 만드는지는 모르겠지만,

원인을 찾아서 다행이다.

스피드런 Act 클리어가 이미 적용 된 순서와 다르게 하고 싶을 때는

그 순서를 변경하면 된다.

 

예를 들어 숲 야영지 다음 갈림길을 가기 원한다면

우측 버튼 클릭 후 Edit Splits... 를 클릭

갈림길을 선택한 후 Move Up을 원하는 만큼 클릭한다.

이렇게 올리고 나면 실제 로그 쪽에도 적용이 된다.

이렇게 원하는 위치에 원하는 장소를 넣고,

필요 없는 것은 삭제하면서 원하는 형태로 바꾼 후 이용하면 된다.

일단 영문 버전에서 사용법 설명을 보자.

실제 사용 법은 잘 정리해서 작성할 예정이니 걱정하지 말자.

 

우선 아래 웹사이트에서 프로그램을 다운 받는다.

livesplit.org/downloads/

 

Downloads

Downloads We strongly recommend that you read through the FAQ and watch the Introduction Video before using LiveSplit for the first time. In order to keep your settings from previous versions, copy the settings.cfg file from your old LiveSplit folder into

livesplit.org

다운 받은 프로그램의 압축을 푼다.

압축을 푼 폴더를 원하는 위치에 옮겨 놓는다.

나 같은 경우는 보통 이런 프로그램을 C:\utils 에 넣는다.

(앞으로 C:\utiles\LiveSplit\ 폴더를 기준으로 해서 설명할 것이지만 본인이 넣은 폴더를 잘 확인하여 하면 된다.)

 

프로그램 폴더에서 LiveSplit.exe 파일을 실행 시킨다.

주의할 것은 프로그램을 실행할 때는 항상 반드시 관리자 권한으로 실행 을 해야 한다.

관리자 권한으로 실행하는 이유는 게임 로그를 읽어올 때 관리자 권한이 아닐 경우 로그를 읽어오지 못하여 자동으로 기록되지 못 하는 경우도 있기 때문이다.

실행하면 아무 것도 없이 숫자만 표시되는데,

우클릭 후 Edit Splits... 을 클릭한다.

게임 이름에 Path Of Exile을 입력하고 나오는 것을 클릭한다.

그리고 Activate 버튼을 눌러서 활성화를 시킨다.

활성화가 되면 Deactivate로 바뀐다.

그리고 OK를 눌러 빠져 나온다.

위 과정이 필요한 이유는 LiveSplit을 처음 다운 받을 경우 Path of Exile 관련 Component가 없기 때문에 1번 받아야 하기 때문이다.

 

이제 이후 과정을 위해 프로그램을 종료 후 다시 실행한다.

split 관련 정보 저장하겠는지 물어보는데 예를 눌러 저장한다.

 

 

POELiveSplitComponent.dll
0.04MB
POELiveSplitComponent.zip
0.02MB

zip 파일은 dll 파일은 라이브러리 파일이다보니 포털에서 다운로드를 막을 수 있기 때문에 추가로 올려 놓은 것이다.

둘 중 하나만 받으면 된다.

이제 올려놓은 파일(POELiveSplitComponent.dll)을 다운 받아

C:\utils\LiveSplit\LiveSplit_1.8.15\Components

폴더에 넣는다.

그리고 다시 Split Editor로 이동한다.

그리고 Setting 버튼을 클릭하면 한글로 된 지역이 나오게 된다.

이제 원하는 지역을 선택한다.

선택할 것이 많아 모든 것을 선택하고 싶다면 Select/Deselect All을 클릭하면 된다.

선택을 마쳤으면 Generate Splits 버튼을 클릭해서

Split 정보가 실제로 입력되도록 한다.

정상적으로 입력되었을 경우

아래와 같이 된다.

그리고 Client log file location을 변경해야만 한다.

하단의 Browse 버튼을 누르고

다음 카카오 클라이언트 로그파일 위치를 찾아 입력한다.

로그 파일 이름은 KakaoClient.txt 파일이다.

(GGG 클라이언트는 잘 모른다.)

이렇게 세팅 되면 된다.

OK 버튼을 누르고 나오면 된다.

 

이제 패스 오브 엑자일을 실행하고

아무 캐릭터나 로그인 하여 Act1의 라이온아이 초소로 이동한다.

그리고 LiveSplit에서 우클릭 후 Control > Start를 클릭한다.

그럼 타이머가 시작 된다.

 

이제 해안 지대로 이동하면 값이 입력되는 것을 볼 수 있다.

그리고 다시 라이온아이 초소로 들어가면

또 카운트 되는 것을 볼 수 있다.

물론 다시 해안 지대로 가면 갯벌에 기록되지는 않는다.

이미 거쳐 지나간 곳은 재기록이 되지는 않기 때문이다.

 

이제 스피드런 할 때 내 기록을 보면서 할 수 있을 것이다.

이 외 사용법에 대한 것은 나도 잘 모르다보니 찾게 되면 추가 포스팅을 하게될 것인데

하게 되도 내용이 그리 많지는 않을 것 같다.

 

 

마지막으로 dll 파일에 대한 의심이 있을 수 있으므로

PoE용 LiveSplit을 Fork 떠서 작업한 소스 정보를 올린다.

github.com/luensys/POE-LiveSplit-Component

 

luensys/POE-LiveSplit-Component

Path of Exile LiveSplit Component with auto splitting and load removal - luensys/POE-LiveSplit-Component

github.com

걱정되는 사람들은 이 링크에서 다운 받아서 빌드하면 동일한 파일을 생성할 수 있을 것이다.

물론 컴파일러 버전에 따라 약간의 차이는 있겠지만 동작은 동일할 것이다.

 

혹시라도 나보다 능력자가 있다면 더 많이, 더 좋게 수정하면 좋겠다.

LiveSplit 영문 버전

스피드런을 하는 사람들LiveSplit이란 프로그램을 이용해서 자신의 시간을 측정하는데

해당 프로그램의 정보는 아래 링크에서 확인할 수 있다.

github.com/brandondong/POE-LiveSplit-Component

 

brandondong/POE-LiveSplit-Component

Path of Exile LiveSplit Component with auto splitting and load removal - brandondong/POE-LiveSplit-Component

github.com

그런데, 이 프로그램을 사용해서 스피드런을 하는 국내 스트리머를 보았는데,

실제로 지역별로 시간이 저장되지 않는 것을 확인하였다.

궁금한 마음에 프로그램을 간단하게 분석한 결과

세 가지의 수정을 거치면 문제없이 동작할 것이라고 보았다.

1. 로그 위치 2. 지역명 한글 3. 로그에서 지역명을 가져오는 정규식

물론 처음 관련 프로그램 설치하고 연동된 설정을 손 보다 프로그램 세팅만 새벽 4시까지 하다 잔건 함정.....

 

아무튼 그 이후 한글로된 지역명을 로그 파일에서 모두 추출해서 넣었으며,

캐릭터를 새로 하나 만들어서 테스트 해보았는데 정상 동작 하는 것을 확인하였다.

물론 아이템을 모두 준비하고도 엑트 7까지 5시간 걸리는걸 확인하고(스피드런 스트리머들 존경스럽다 ㄷㄷ)

자야할 시간이 되어 테스트는 엑트 7까지 하였다.

 

LiveSplit 한글 버전

위 이미지는 한글 버전으로 동작하는 화면을 캡처한 것이다.

 

LiveSplit이라는 프로그램의 한계로 인해서 저 로그 찍히는 순서는 달라질 수 있다.

예를 들자면 해안 지대에서 바로 갯벌로 갔을 경우 찍히는 시간은 물결 섬에 찍힌다.

(참고로 영상을 캡처한 후 물결 섬은 삭제 하였다. 실제 스피드런에서 사용하지 않는 지역일 수 있으므로)

그리고 다시 물결 섬으로 갈 경우 갯벌이 찍히게 된다.

결과적으로 스피드런에 반드시 필요한 부분만을 남겨 두거나, 해당 지역을 반드시 거치지 않을 경우 기록이 정상적으로 되지 않을 수도 있다.

 

다음 글에는 실제로 이 프로그램을 사용하는 방법을 정리하겠다.

 

2020/12/31 - [취미/Path of Exile] - PoE에서 LiveSplit 한글버전 사용 방법

강탈을 툴리나를 데리고 돌다보면 마지막 문이 열리지 않는 경우가 있다.

자세히 보면 환기구로 기어들어가서 문 뒤에서 나와야 하는건데

환기구로 가다 순간 워프하고 문 뒤에서 환기구를 찾고 있는 것이다.

 

이 경우 좀 멀리 돌아갔다 오면 툴리나 혼자 엄청 바빠지는 것을 볼 수 있다.

툴리나가 혼자 바쁘면 버튼 안 눌러줘도 자리 잘 맞춰주면 혼자 알아서 기어 들어가게 되니 이렇게 해결하면 된다.

물론 다시 왔을 때 가만히 서 있으면 다시 버튼 눌러주면 된다.

PoE를 한지 이제 1년 정도 되는 것 같다.

실제 진행했던 시즌은 총 3개 정도이며, 시즌을 지날 때마다

아는 정보가 많다보니 좀 더 쉽게 진행할 수 있게 되는 것 같다.

나중에도 기억해야할 것들이 있다보니 그런 내용 들을 정리할 공간이 필요해 작성해 본다.

물론, PoE는 올해가 마지막 시즌일 수도 있으나

PoE2가 나오면 PoE2 정보도 이어서 작성해 볼까 한다.

---- 아래 내용은 리눅스 또는 맥OS에서 동작하며 윈도우의 경우 정상동작 하지 않을 수 있다. ----

라라벨 스터디를 하기 위해서는 내 PC에 반드시 PHP를 설치해야 한다.

그리고 동작을 위해서 매번 php로 임시서버를 실행시키는 번거로움도 있고,

DB, Redis, nginx 등 여러 환경을 세팅하기 위해 내 PC에 많은 것들이 설치될 수 있어 관리도 어렵고 성능도 걱정이 된다.

그래서 이 모든 것을 하나도 설치하지 않고(물론 docker를 위해 docker 설치는 필수) 사용하는 환경을 구축할 것이다.

 

일단 laradock을 설치한다.

설치는 아래 명령으로 간단히 끝난다.(끝난다기 보단 docker-compose 를 위한 환경을 다운로드 받는 것이다.)

git clone https://github.com/laradock/laradock.git

다운로드가 끝나면 laradock 폴더가 생긴다.

docker-compose 명령어는 모두 laradock 폴더에서 실행한다.

실제 사용하게 되는 폴더 구조는

  • 현재폴더
    • laradock
    • 프로젝트 폴더1
    • 프로젝트 폴더2

이런식으로 구성되게 된다.

이 부분은 모두 설치 후 확인해 보면 된다.

 

이제 환경 파일을 설정하면 된다.

laradock 폴더에서 아래 명령을 실행한다.

cp env-example .env

환경 파일(.env)에서 아래 부분을 수정한다.

...
# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=./data
...

...
# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have seperate containers per project.
COMPOSE_PROJECT_NAME=laradock-study
...

...
NGINX_HOST_HTTP_PORT=80
NGINX_HOST_HTTPS_PORT=443
...

DATA_PATH_HOST 는 이후 database의 데이터가 저장될 장소이다.

수정하지 않게 되면 이후 만드는 모든 laradock 프로젝트의 DB는 같은 DB를 보게 된다.(같은 DB를 보길 원하면 수정하지 않아도 됨)

COMPOSE_PROJECT_NAME 은 docker-compose에서 만들게 될 프로젝트 이름이 되는데,
이 부분이 같은 프로젝트들의 경우 같은 container를 사용하게 되어 여러 프로젝트를 할 경우 변경해주는 것이 좋다.

NGINX_HOST_HTTP(S)_PORT 의 경우 포트가 겹치면서 문제가 발생할 경우 포트를 변경해준다.

 

그리고 우선 할 일은 laravel 프로젝트를 생성하는 것이다.

처음에는 laravel 프로젝트가 없으므로 workspace부터 실행시킨다.

laradock 폴더에서 실행한다.

docker-compose up -d workspace

그리고 해당 컨테이너로 들어가 laravel 프로젝트를 생성한다.

docker-compose exec workspace bash

이제 확인해 보면 알겠지만 laradock 상위 폴더가 /var/www 을 가리키는 것을 확인할 수 있을 것이다.(물론 수정 가능하지만 이게 가장 나은 것으로 판단 했다.)

 

라라벨 프로젝트를 생성한다.

composer create-project --prefer-dist laravel/laravel prj1

 

이렇게 라라벨 프로젝트 준비가 끝났다.

 

이제 라라벨을 실제로 사용하기 위해 컨테이너를 나온다.(exit 명령 사용)

 

nginx 설정에서 laravel을 정확히 보기 위해서 ./nginx/sites/laravel.conf.example 파일을 복사한다.

cp ./nginx/sites/laravel.conf.example ./nginx/sites/prj1.conf
vi ./nginx/sites/prj1.conf

아래와 같이 수정한다.(단, prj1.test로 접속할 수 있는 환경을 만들어야 함)

...
    server_name prj1.test;
    root /var/www/prj1/public;
    index index.php index.html index.htm;
...

만일 localhost로 접속할수 밖에 없다면 default 파일을 수정한다.

vi ./nginx/sites/default.conf

아래와 같이 수정함

...
    server_name localhost;
    root /var/www/prj1/public;
    index index.php index.html index.htm;
...

 

nginx와 mariadb, workspace 컨테이너를 실행시켜 준다.

docker-compose up -d nginx mariadb workspace

 

이제 브라우저에서 접속하면 된다.

http://localhost or http://localhost:포트번호

macOS 시에라버전부터 PPTP를 이용한 vpn 접속이 제거 되었다.

그로인해 iptime 공유기 사용자들은 더 이상 간단한 방법으로는 vpn 접속이 어렵게 되었다.


그런데 최근 iptime 공유기가 업데이트 되면서

L2TP 서버가 생기게 되었다.

(A8004NS-M 사용 중이며, 펌웨어 버전은 10.07.4 이다)


방법을 정리해서 올린다.


우선 iptime 공유기에서 vpn 설정을 한다.

고급 설정 > 특수기능 > VPN 서버설정



L2TP 서버 실행 을 클릭하고

비밀키를 입력한다.(이 비밀키는 나중에 시스템 인증 > 공유 보안 에 사용된다)


VPN으로 접속할 계정을 생성한다.

계정, 비밀번호, 접속이 되었을 때 할당할 주소를 입력하고 추가 버튼을 클릭한다.

(위와 동일하게 하는 것이 아닌 원하는 계정, 암호, 주소를 입력하면 된다.)


이제 맥에서 세팅을 한다.

시스템 환경설정 > 네트워크 로 이동한다.

그리고 + 버튼을 눌러 새 네트워크를 추가한다.


인터페이스는 VPN


VPN 유형은 L2TP


서비스 이름은 원하는 이름을 입력하고 생성 버튼을 클릭한다.


이제 나머지 구성을 입력한다.

서버 주소를 입력하고(서버 주소는 공유기 관리 페이지에서 기본 설정 > 시스템 요약 정보 에서 외부 IP주소 로 확인이 가능하다)

계정 이름을 입력한다.(아이피타임 공유기에서 입력한 계정을 입력


인증 설정을 클릭하여 암호를 입력한다.

사용자 인증 의 암호는 user_pw를 입력하면 된다.(물론 비밀번호는 본인이 입력한 것을 사용한다.)

모두 입력 하였으면 확인을 클릭한 후 가장 우 하단의 적용 버튼을 클릭한다.


그리고 현재 설정한 공유기를 통해 인터넷을 사용 중이라면 연결 테스트가 불가능하다.

테더링을 이용하거나 주변의 다른 공유기를 이용해 접속해야 한다.


연결 버튼을 누르면 연결이 되는 것을 확인할 수 있다.



테스트 하면서 확인해본 결과

문제 없이 접속이 되는 것은 확인 하였으나,

자주 테스트하고 나니 갑자기 접속이 되지 않기 시작하였다.

아무래도 업데이트한지 얼마 되지 않아서 안정적이지는 못한 것 같다.


몇 번의 업데이트 후에는 항상 잘 동작하지 않을까 싶다.











이번에 작업 환경을 Mac 으로 변경하면서

Docker를 이용해서 PHP + SQL Server 환경을 만들어 내야 했다.

문제는

기존에는 아래 링크에서 본대로 작업하여 문제 없이 사용하였는데,

https://docs.microsoft.com/ko-kr/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017

참고로 모두 작업 후

pecl install sqlsrv

pecl install pdo_sqlsrv

명령을 실행시켜 줘야 한다.


규모가 큰 프로젝트에 사용하면서 에러가 발생했다.

에러는 아래와 같다.


PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlsrv.so' (tried: /usr/lib64/php/modules/pdo_sqlsrv.so (/usr/lib64/php/modules/pdo_sqlsrv.so: undefined symbol: php_pdo_register_driver), /usr/lib64/php/modules/pdo_sqlsrv.so.so (/usr/lib64/php/modules/pdo_sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0


이거 문제 덕분에 거의 2일은 사용된 것 같다.

결국 방법은

https://github.com/Microsoft/msphpsql/wiki/FAQ#what-is-this-error-php-startup-unable-to-load-dynamic-library-pdo_sqlsrvso

이 링크에 나와 있다.

결론적으로 말하자면
자신이 사용하게 될 곳의 extension 로드되는 곳이 있는데,
그 곳에 직접 extension=pdo_sqlsrv.so 후순위로 시작되도록 하면 되었던 것이다.

나의 경우
echo "extension=pdo_sqlsrv.so" >> /etc/php/7.2/fpm/conf.d/30-pdo_sqlsrv.so

이렇게 해서 해결 하였다.


이번에 회사 작업 PC를 Macbook Pro 로 받게 되었다.

그래서 세팅하던 중 Mac에는 아피치, nginx, php 등을 설치하는 것을 극도로 꺼리다보니(사실 관리를 못한다;;;)

자연스럽게 도커로 작업 환경을 만들게 되었다.

도커 + 포트 를 쉽게 쓸 수 있게 작업한 것을 정리해서 적어본다.


도커의 경우 여러개를 동시에 띄우기 위해서는 포트를 다르게 가져가는 것이 가장 쉬운 방법이며,

동일 포트를 사용하기 원한다면 결국 apache나 nginx를 설치하게 되다보니

다시 돌고 돌게 된다.


예전 스터디 때 pow에 대해서 들은 기억이 있어 기억을 더듬어 설치 해 보았다.

사이트는 http://pow.cx 이다


설치 방법은 간단하다.


curl get.pow.cx | sh

명령어 하나면 끝난다.

(권한 문제로 설치가 되지 않으면 앞에 sudo 를 넣고 설치하면 된다)


그리고 도메인과 포트를 설정하면 된다.

만일 도메인을 aaa 로 하고 싶으며, docker의 포트를 8010으로 하였다면

echo 8010 > ~/.pow/aaa

를 하면 끝이난다.

브라우저에 http://aaa.test 를 입력하면 바로 접속이 된다.


그리고 또한 xip.io를 이용하게 되면

aaa.192.168.0.xx.xip.io

이렇게 입력하면 동일 네트워크 상에 있는 다른 사용자도 접근이 가능하게 된다.


ps. pow를 설치하게 되면 localhost로 접근(80포트)하게 되면 동작하지 않게 된다.

이 점 주의해서 사용하면 된다.


pow 삭제는

curl get.pow.cx/uninstall.sh | sh

이다.

+ Recent posts