본문 바로가기

개발

(21)
Ubuntu 18 + Apache 2.4 SSL 적용 얼마전에도 비슷한 일을 하긴 했었는데... 이번엔 서버가 Ubuntu 라 비슷한 듯 좀 달라서 다시 작성해본다. 환경 OS: Ubuntu 18 Apache version: Apache/2.4.29 (Ubuntu) 키파일: 유서트에서 1년짜리 구매 openssl 설치여부 확인 # openssl version OpenSSL 1.1.1 11 Sep 2018 설치가 안되어 있다면 설치부터 # apt-get update # apt-get install openssl 아파치 모듈 활성화 $ sudo a2enmod ssl $ sudo a2enmod rewrite ssl.conf 설정 ServerAdmin webmaster@localhost DocumentRoot /app/www/public # Available lo..
AWS S3 에서 다른 Object Storage 로 파일 옮기기 AWS S3 에서 nCloud Object Storage 로 옮기게 되었다. nCloud Object Storage 도 S3 와 같은 서비스를 이용하는 것인지 (Object Storage 를 서비스하는 업체가 따로 있다고 하는데.. 정확히는 모르겠음) AWS cli (쉘에서 명령어를 통해 AWS 에 접근하는 프로그램)를 이용해서 S3 에서 다운로드 받고 nCloud Object Storage 로 업로드 했다. 아래의 링크에서 AWS CLI 를 설치할 수 있다. https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2.html AWS CLI 버전 2 설치, 업데이트 및 제거 - AWS 명령줄 인터페이스 이 페이지에 작업이 필요하다는 점을 알..
DataTables 엑셀 다운받기에서 셀렉트 박스 datatables 에 컬럼이 select box 가 포함된 경우 엑셀 다운받기를 하면 select box 에 포함된 option 들의 text 가 모두 포함된다. 내가 원하는 것은 선택된 option 의 text 값이므로 아래와 같이 datatables 옵션을 변경해 주었다. buttons: [ {extend: 'copyHtml5',className:'data-copy'}, { extend: 'excelHtml5', exportOptions : { format: { body: function( data, row, col, node ) { if (col == 10) { // select box 가 있는 컬럼의 위치 return window.dataTable .cell( {row: row, column: ..
WebBrowser 개발 시 버전 정보 변경 C#에서 기본 제공하는 WebBrowser 를 이용하여 사이트를 연결하니 javascript 오류와 함께 화면이 깨지는 문제가 발생한다. 레지스트리를 수정하여 현재 PC에 설치된 IE 버전을 사용하도록 변경하거나 프로그램상에 수정해주는 방법이 있다. 프로그램상에서 수정하려면 관리자권한으로 실행되어야 하므로 셋업파일에 추가하여 버전 정보를 수정해주는것이 좋을거 같다. 아래의 레지스트리 값에 프로그램명과 IE 11 버전을 등록해주었다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION 화면깨짐과 오류가 사라졌다.
DataTables 상태값 유지 (데이터 소스를 서버 측 처리 ) DataTables 버전: 1.10.9 DataTables에는 테이블의 상태 (페이징 위치, 검색어 등)를 저장할 수있는 옵션이 있으므로 사용자가 페이지를 다시 로드하거나 상세로 이동했다가 뒤로가기로 다시 돌아올때 저장된 값을 가지고 화면을 구성할 수 있다. DataTable 설정 $('#listTable').dataTable({ pageLength: 15, dom: 'B', scrollX: true, scrollCollapse: true, serverSide: true, ... ... bStateSave: true }).api(); bStateSave: true 값을 넣어주면 테이블의 상태 값을 저장한다. 데이터를 DataTable로 가져 오는 방법에는 여러 가지가 있는데 큰 데이터베이스로 작업하는 경..
[오류사항] Trying to access array offset on value of type int 라라벨 버전: 5.6 php 7.1 에서 7.4 로 업그레이드 하자 엑셀을 읽어오는 코드에서 아래와 같은 오류가 발생했다. Trying to access array offset on value of type int 원인 엑셀의 value 의 type 값을 가져오는 부분에서 value 가 숫자인 경우 $pValue[0] === '=' 이런식의 비교는 오류를 발생시킨다. 수정 실제 vendor 내의 파일을 수정해서는 안되지만 (업데이트시 삭제되어 버림) 이미 지원이 끝났기때문에 직접 소스를 수정하는 방법을 택했다. vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php 82번째줄 } elseif ($ pValue [0] === '=' &..
PHP 7.1 > 7.4 로 업그레이드 2018년도에 설치된 php 7.1 을 7.4 로 업그레이드하고자 한다. 먼저 혹시나 모를 상황에 대비해 aws 볼륨 스냅샵을 생성해 놓고... (실제 서비스하고 있는 운영서버 대상) 서버 버전: Ubuntu 16.04 PHP 7.4 설치 & 필요 모듈 설치 sudo apt-get update sudo apt-get -y install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt -y install php7.4 sudo apt-get install php7.4-cli php7.4-fpm php7.4-bcmath php7.4-bz2 php7.4-common php7.4-curl ph..
라라벨 daily 로그 적용 라라벨의 로그 설정은 디폴트로 single 로 하나의 파일에 쌓이도록 설정 되어 있다. 이럴 경우 로그가 너무 커지고 관리도 힘들기때문에 날짜별로 쌓이도록 변경해주면 좋다. config/logging.php 'channels' => [ 'stack' => [ 'driver' => 'stack', 'channels' => ['daily'], ], 'single' => [ 'driver' => 'single', 'path' => storage_path('logs/laravel.log'), 'level' => 'debug', ], 'daily' => [ 'driver' => 'daily', 'path' => storage_path('logs/laravel.log'), 'level' => 'debug', 'da..