228월/24

ubuntu php7.4 셋팅

php 빌드 패키지 저장소 추가 add-apt-repository ppa:ondrej/php php 설치 apt install php7.4 php7.4-fpm php7.4-mysql php7.4-gd php7.4-curl php7.4-mbstring php7.4-gmp php7.4-soap php7.4-zip php7.4-xml 설정 vi /etc/php/7.4/apache2/php.ini short_open_tag = Off max_input_time = 60 #무제한: -1 memory_limit = 128M #upload 관련 post_max_size = 30M upload_max_filesize = 20M max_file_uploads = 10

148월/24

unity android target api 34 관련

1. editor 2021.3.25f1 버전은 api 34 대응이 안된다. 2021.3.42f1 을 설치하도록 한다.   2. ndk, sdk, jdk, gradle 경로 \Unity Hub\Editor\2021.3.42f1\Editor\Data\PlaybackEngines\AndroidPlayer   3. gradle 을 최신으로 변경해주자 \Unity Hub\Editor\2021.3.42f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle https://gradle.org/releases/ unity 종료 후, 이곳에서 binary-only 를 받아주고. lib 를 교체해주면 된다. 8.4로 교체함   4. player settings에서 custom 관련 설정을 왠만하면 하지 말자. proguard 부분만 custom 하고 나머지는 체크 해제

184월/23

ssh sftp 상위 폴더 접근제한 (chroot)

# vi /etc/ssh/sshd_config PermitRootLogin yes #Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match User testuser ChrootDirectory /home/engineer/test ForceCommand internal-sftp X11Forwarding no AllowTCPForwarding no # service sshd restart chroot디렉토리 설정한 /home/engineer/test 는 755 권한 chroot와 상위디렉토리는 chown root:testuser engineer 쓰기권한이 필요하면 /home/engineer/test/하위디렉토리를 만들어서 쓰기권한폴더 생성하도록 # tail -f /var/log/secure fatal: bad ownership or modes for chroot directory “/home/engineer/test” [postauth] 오류뜨면 소유자와 755권한인지 체크해볼것 상위 디렉토리는 모두 root:engineer 755 권한

124월/23

unity android build 이슈 모음

unity 프로젝트 진행시 반복적 & 사소한 문제들을 모아두자 Google Play Games Plugin for Unity v11.01 쓰면 안됨 Login Cancelled 무한 발생, 이것때문에 시간낭비 엄청났음 v10.14 https://github.com/playgameservices/play-games-plugin-for-unity/releases/tag/v10.14 Duplicated classes when building for Android Assets > Play Services Resolver > Android Resolver > Delete Resolved Libraries 이래도 안되면 Assets/Plugins/Android 디렉토리 날려버려 간혹 AndroidManifest.xml 중복되는 권한 체크 unityplayeractivity.java uses or overrides a deprecated api  Player Settings > Publishing Settings > custom gradle properties template 활성화 Assets/Plugins/Android/AndroidManifest.xml 에 아래 내용 추가 <meta-data android:name=”unityplayer.UnityActivity” android:value=”true” /> 또는! 그냥 멍청하게 keystore 패스워드 틀린 경우임 android.enableR8 관련 Assets/Plugins/Android/gradleTemplate.properties 추가 android.enableR8=false 아니면 keystore 잘못된거 아닌가 체크 Duplicate class androidx.annotation.AnimRes found in modules androidx.annotation.annotation 오래된 jars 제거 Assets>Plugins>Android 하위 확인 이래도 안되면 Assets/Plugins/Android 디렉토리 날려버려 1번 항목 한번더 ClassNotFoundException:com.google.android.gms.games.* Publishing Settings > custom proguard file 활성화 proguad설정 파일에 아래 내용 추가 -keep class com.google.android.gms.games.leaderboard.** { *; } -keep class com.google.android.gms.games.snapshot.** { *; } -keep class com.google.android.gms.games.achievement.** { *; } -keep class com.google.android.gms.games.event.** { *; } -keep class com.google.android.gms.games.stats.** { *; } -keep class com.google.android.gms.games.* { *; } -keep class com.google.android.gms.common.api.ResultCallback { *; } -keep class com.google.android.gms.signin.** { *; } -keep class com.google.android.gms.dynamic.** { *; } -keep class com.google.android.gms.dynamite.** { *; } -keep class com.google.android.gms.tasks.** { *; } -keep class com.google.android.gms.security.**더보기…

014월/22

google ad manager report lib 작업 메모 (php)

ad manager 리포트를 csv로 수동 저장해서 확인하는… 잡일을 자동화 하도록 한다. 자세한 설명은 https://github.com/googleads/googleads-php-lib composer 설치 curl -sS https://getcomposer.org/installer | sudo php — –install-dir=/usr/local/bin/ symbolic link : sudo ln -s /usr/local/bin/composer.phar /usr/local/bin/composer unzip 설치 yum install unzip OAuth2 refreshToken 준비 Client ID 생성 https://console.developers.google.com/iam-admin/projects 에서 ‘프로젝트 만들기’ 프로젝트 선택 > 설정 메뉴 > 탐색메뉴 클릭 > API 및 서비스 > 사용자 인증 정보 사용자 인증정보 만들기 > OAuth 클라이언트 ID 클릭 어플리케이션 유형 : 웹 어플리케이션 선택 승인된 리디렉션 URI : https://developers.google.com/oauthplayground 생성된 client id 등등 모두 메모해두고 Refresh Token 생성 https://developers.google.com/oauthplayground 접속 우측상단 설정 톱니 클릭 > Use your own OAuth credentials 선택 아까 메모해둔 client id, secret 입력 후 close 좌측 step1 항목에서 ad manager 선택해주고 Authorize API’s 클릭 계정 선택 step2에 authorization code 가 생성되고 Exchage authorization code for tokens 클릭 refresh token, access token 생성됨을 확인 home / adsapi_php.ini 업로드 & 수정 [AD_MANAGER], [OAUTH2] 항목 모두 입력 googleads-php-lib 설치 https://github.com/googleads/googleads-php-lib 수동으로 올려버리기 업로드 후 composer 설정 파일 있는곳에서 composer install ㄱㄱ 구미에 맞는 예제를 보고 구현

014월/22

php 7.3 migration on CentOS7

php 7.3 Remi repository 추가 sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum -y install epel-release yum-utils 이전버전 repo disable sudo yum-config-manager –disable remi-php72 sudo yum-config-manager –enable remi-php73  php 설치 sudo yum -y install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json 확인 php -v 필요한 확장 설치 sudo yum install php-<entension>

232월/22

cocos2d-x 4.0 버전업에 따른 정리

사전 준비 사항 python 2.7.18 설치 (버전 3.x 불가) https://www.python.org/downloads/release/python-2718/ Path등록 (c:\python27) android-sdk ANDROID_SDK_ROOT C:\Users\…\AppData\Local\Android\Sdk ant ANT_ROOT c:\apache-ant-1.10.12 jdk11 JAVA_HOME c:\java\jdk-11.0.14\bin ndk NDK_ROOT c:\android-ndk-r23b cmake 설치 https://cmake.org/download/ cocos2d-x 4.0 다운로드 https://www.cocos.com/en/cocos2dx  setup c:\cocos2d-x-4.0>python setup.py 필요에 따른 확장라이브러리 설치 c:\cocos2d-x-4.0>download-deps.py 프로젝트 생성 cocos new helloworld -p kr.co.bluebee.helloworld -l cpp cmake로 vs솔루션 생성 c:\cocos2d-x-4.0\projects\helloworld\proj.win32>cmake .. -G “Visual Studio 15 2017” -A Win32 helloworld.sln 생성된것 확인하고, visual studio로 작업

131월/22

ubuntu golang

sudo apt-get install golang-go 또는 1. go tarball 다운로드 wget https://dl.google.com/go/go1.17.6.linux-amd64.tar.gz 2. tarball 체크섬 sha256sum go1.17.6.linux-amd64.tar.gz 확인 231654bbf2dab3d86c1619ce799e77b03d96f9b50770297c8f4dff8836fc8ca2 3. 추출 sudo tar -C /usr/local -xvf go1.17.6.linux-amd64.tar.gz 4. path 설정 #~/.profile export GOROOT=/usr/local/go export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$GOROOT/bin:$GOBIN:$PATH shell 세션 로드 source ~/.profile 5. 설치 확인 go version 6. workspace는 기본적으로 $HOME/go mkdir ~/go 7. mvc편리하게 revel 설치ㄱㄱ go get github.com/revel/revel go get github.com/revel/cmd/revel go get github.com/bradfitz/gomemcache/memcache go get github.com/garyburd/redigo/redis go get github.com/patrickmn/go-cache 8. 테스트 revel run -a project

175월/21

maven central에 sdk 등록

자꾸 까먹어서 여따 적어두도록 한다. 나의 라이브러리들은 모두 jcenter (bintray)에 올라가 있는 상태이다. 그런데 왠일, jcenter 종료 소식이 들려왔다. 그래서 maven으로 마이그레이션 하라고 권고하고 있다. 이제 더이상 build.gradle에 jcenter는 필요없다. 삭제.. jcenter를 제거해서 기존의 라이브러리에서 오류가 발생한다면 https://search.maven.org 에서 검색해서 적당한 버전과 종류로 변경해주자.   나의 라이브러리를 maven으로 이사한다. github repository는 있을 것이고, jira account를 먼저 생성해주자. https://issues.sonatype.org/ 이곳에서..   그 후 issue를 하나 만들어준다. summary : 대충 라이브러리 제목 써주고 description : 대충 라이브러리 내용.. attachment : 넘어가고 group id : io.github.xxx 형태로 그룹아이디 넣어주고 (더이상 com.github.xxx는 안된다) project url, scm url : 내 github 참고해서 넣어주고 already synced to central : central에 싱크되어있는게 없으니까 no 선택 이렇게 이슈를 만들어 둔다.   그럼 담당자가 소유권 확인차 OSSRH-11111 리파지토리를 깃에 만들라고 한다. 그러면 준비 끝이고, 스튜디오에서 릴리즈 업로드 쌔리면 > gradlew 모듈명:publishReleasePublicationToSonatypeRepository   Central sync is activated for io.github.xxx. After you successfully release, your component will be published to Central https://repo1.maven.org/maven2/, typically within 10 minutes, though updates to https://search.maven.org can take up to two hours. 릴리즈 성공하면 10분후 리파지토리 확인 가능할것이고, 2시간정도 후에는 메이븐 검색도 될거라고 한다. https://repo1.maven.org/maven2/io/github/xxxx/ 내 repository가 만들어진다. https://s01.oss.sonatype.org 로그인해보면 내 리파지토리도 보인다. 만약 안되면 여기서 stop했다가 릴리즈