프로그래밍 공부

    [osx/mac] wordpress local test

    [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 설치 및 연결

    [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 다운로드 및 연결

    [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

    [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가 작동하지 않을때

    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..

    [Java] spring boot - firebase message server

    [Java] spring boot - firebase message server

    이제는 없으면 안되는 firebase. 웹에서 작성한 알림메세지를 서버로 전송하여 각각의 디바이스로 뿌려주는 간단한 코드를 작성하고자 한다. 대략 플로우는 이런식이다. Web ( notification UI/UX ) -> Spring Boot( WAS ) -> Firebase -> Android ( device ) Firebase를 경유 해야하기 때문에 폐쇄망에서는 Firebase를 구축하거나, 방화벽 허용 등으로 해결해야 된다. https://console.firebase.google.com/ 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com 우선 Firebase -> console 로 이동해서 프로젝트 생성을 해준다..

    [kotlin] LiveData & DataBinding

    LiveData 가 나온뒤로 꽤 많은 시간이 흘렀다. 여러가지 문제점이 발견되었지만 자동으로 ui가 바뀌는 편함은 아직 따라올만한 대체재가 없을거같다. 프론트 프레임워크 vue가 각광받는 이유인듯. ViewModel을 작성해주고 그 안에 MutableLiveData를 선언해준다. class LiveDataModel : ViewModel() { private val _isUpdate = MutableLiveData() val isUpdate : LiveData get() = _isUpdate fun setText(text: Title){ _isUpdate.value = text } } data class Title( var test_one: String? = null, var test_two: String..