전체 글
[android] migration 진행중 ... kotlin v, IDE v, library v...etc...
최근에 작업하던 프로젝트의 kotlin 버전을 업그레이드 하면서 참 많은 문제가 터졌다. 우선적으로 kotlin plugin을 최신화 하기 위해선 IDE를 재설치 해야한다. 2022년3월29일 기준으로 stable version인 bumblebee를 다운로드 받았다. android studio 4.2v 이상으로 넘어오니 지원하던 kotlinx.android.synthetic 이녀석이 사라졌다. 이런식으로 아이디만 가져오면 자동으로 매핑해주는 친구였는데 ViewBinding으로 바꾸도록 가이드가 되어있다. 관련한 자세한 내용은 링크로 대체한다. https://medium.com/androiddevelopers/use-view-binding-to-replace-findviewbyid-c83942471fc U..
[Kotlin] java POI 를 이용한 write / download
@GetMapping(value = ["/excel"]) fun excel(res: HttpServletResponse,excelReq: ExcelReq/*, excelForm: ExcelForm*/) { val savePath = "/Users/jwkim_macbook/Desktop/exceltest.xlsx" try { XSSFWorkbook().use { wb2 -> ByteArrayOutputStream().use { fileOut -> FileOutputStream(savePath).use { fos -> val sheet1: Sheet = wb2.createSheet("Sheet1") val style: CellStyle = wb2.createCellStyle() style.setBorderB..
[osx/mac] wordpress local test
최근 wordpress를 이용할 기회가 생겨서 한번 배워보려고 한다. 굳이 공부하는대에 가상서버를 띄울 필요는 없기 때문에 local test로 진행하고, 실제 서버에 있는 데이터들을 조작하고, 변경해서 바꿔봐야겠다. 우선 MAMP를 다운로드 받아야 하는데, MAMP는 Mac, Apache, Mysql, PHP 의 약어라고 한다. 로컬 테스트용으로 필요한 모든 기능을 담고있으니 편리하지만.. PHP라니!.. PHP.. 우선 테스트를 해보고 판단해봐야 할 듯 하다. https://www.mamp.info/en/downloads/ Downloads - MAMP & MAMP PRO NAMO DNS AppThe perfect MAMP companion Access your MAMP websites under a..
[Node.js] exceljs 를 통한 write, download
const Excel = require('exceljs'); const moment = require('moment'); const ExcelUtil = { //headers 컬럼명 //keys 타입 (kay-value 형식의 key) excelDownload : function(menu, data, headers, keys, res){ //파일이름에들어갈 오늘날짜를 위해서 데이트선언 ( 중복 방지는 덤 ) const currentDate = new Date(); //오늘날짜를 YYYY-MM-DD 로 선언하여 파일이름에 붙이기 위해서. const currentDayFormat = currentDate.getFullYear()+"-"+ (currentDate.getMonth()+1)+"-"+ current..
[Centos7] gitlab-runner 설치 및 연결
$ curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash //repository setup $ sudo yum -y install gitlab-runner //install gitlab-runner 깃랩을 설치해주고.. $ sudo gitlab-runner registor 연결을 해주기위해 레지스터 등록을 해준다. Enter the GitLab instance URL (for example, https://gitlab.com/): Enter the registration token: Enter a description for the runner: Enter tags for ..
[Centos7 x86_64] Docker 다운로드 및 연결
운영중인 서버말고 새로운 테스트환경( centos 7.4v )이 필요해서 처음부터 다시 세팅이 필요했다 yum -y install docker docker-registry를 하면 바로 해결이지만, 7.4v은 yum update가 지원중단되었기 때문에 공식홈페이지의 내용으로 설치 해보기로 했다. Docker 공식 홈페이지의 설명대로라면, $ sudo yum install -y yum-utils $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 유틸 다운로드와 repo 연결을 해준 뒤에 $ sudo yum install docker-ce docker-ce-cli containerd.io doc..
[Vault] KMS
프로그램을 개발하다보면 암호화키 라던지, token 값이라던지 보관하기 불편하고, 위험할 때가 많다. Vault는 그러한 중요한 값들을 보관하고, 사용할 수 있는 도구이다. 거의 모든 서버와 호환이 되며 많이 사용하는 다른 도구들과도 호환성이 좋다. 우선 Vault를 설치를 하고 $brew tap hashicorp/tap $brew install hashicorp/tap/vault Vault는 서버이자 클라이언트기 때문에 클라이언트를 사용하기전에 서버를 먼저 만들어주어야 한다. 그러기 위해서는 SQL로 DataBase를 만들고, config.hcl로 DB연결 및 포트설정 등을 해야하지만, 우선은 기본으로 제공되는 dev서버로 열어보자. $vault server -dev 그러면 이렇게 환경변수 지정해주는 ..
audio tag에서 seekbar가 작동하지 않을때
해당 이미지는 Chrome에서 를 사용하면 나오는 기본 형식이다. 하지만 가운데 seekbar를 클릭해도 앞으로가거나, 뒤로가지지 않는다. Byte serving을 위해 단순히 http response status 를 206으로 반환하게끔 해아하는데, aws security group의 몇가지 규격을 맞추느라 200 써야했엇다. 해결방법은 생각보다 단순.. res.addHeader("Accept-Ranges", "bytes"); res객체에 추가하면 작동한다. https://en.wikipedia.org/wiki/Byte_serving Byte serving - Wikipedia Byte serving (other names: RFC 7233 says the client makes Range Reques..