본문 바로가기

푸로그래밍

JAVA, .NET, PHP, JS(NodeJS, ES5, ES6) 에서 UTF-8 파일 다운로드 인코딩, RFC2231 1. 개요 각 언어별로 RFC2231 인코딩을 해보자. 브라우저로 하여금 현재 응답이 파일 다운로드라는것을 알려주기 위해서 우리는 Header에 ContentType과 ContentDispotion등을 이용한다. 보통 다운로드를 제공할때 Header에 Content-Dispostion: attachment; filename="파일명.html" 의 형식으로 많이들 사용하지만, 사실 이는 표준을 준수한것이 아니다. 표준을 준수하기 위해서는 RFC2231표준에 맞게 인코딩된 파일명을 아래와 같은 형식으로 보내줘야한다. 파일명을 Content-Disposition: attachment; filename*=UTF-8''foo-a%cc%88.html 위의 형식으로 보내줘야 한다. 이상해보이긴 하지만 이게 표준이다... 더보기
[Eclipse] SSE core task scheduler startup problem in eclipse https://stackoverflow.com/questions/73817318/sse-core-task-scheduler-startup-problem-in-eclipse 더보기
Mysql 초기설정들 my.cnf 설정 기존내용을 대체하라는 것이 아닙니다. 자주 수정되는 설정들을 기입해놓은것 뿐입니다. 기존의 설정을 제거하지 마세요. sudo vi /etc/my.cnf [mysqld] # 대소문자 구분 안함 lower_case_table_names=1 # 포트 port=3306 mysql root 접속 mysql -u root -p 후에 비밀번호 입력이 나타나는데, 아래와 같이 임시비밀번호를 가져온다. cat 'temporary password' /var/log/mysql.log # root 비밀번호 변경 ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호'; # 비밀번호 정책 가장낮음으로 변경 SET GLOBAL validate_password.policy=LOW.. 더보기
[CentOS] CentOS에서 Nginx 설치 CentOS에서 Nginx를 설치하는 방법에 대해 알아본다. 1. Nginx 저장소 추가 2. 설치 1. Nginx 저장소 추가 CentOS는 패키지 관리자로 yum을 사용한다. yum install package를 하면 yum은 설정된 패키지 저장소에서 설치하고자 하는 package를 검색하는데 기본적으로 설정되어있는 패키지 저장소에는 Nginx가 없다. 그렇기 때문에 nginx저장소를 추가하여야 한다. sudo vi /etc/yum.repos.d/nginx.repo 하고 아래의 내용을 입력한다. [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 2. 설치 설치는 간단하다. 하.. 더보기
[Windows] 설치된 서비스를 제거하는 방법 Windows에서 설치된 서비스를 제거하는 방법에 대하여 알아보자. 일반적으로 일반사용자들이 사용하는 프로그램의 경우에는, installer에 서비스 등록에 대한 부분이 들어가있어, 사용자는 프로그램을 install하는 것만으로 자동으로 등록되며, uninstaller에 서비스 등록 해제(제거)에 대한 부분이 들어가있어, 사용자는 제어판에서 프로그램을 제거하거나, uninstaller를 실행시키는 것만으로도 자동으로 제거가 된다. 하지만 혹독한 컴퓨터의 세계에서 그런건 없다. 여긴 약육강식의 세계이다. 자동으로 서비스 생성 및 제거까지 installer 및 uninstaller에 포함시키는 경우도 있지만, 없는 사례를 더 많이 본것같다. 개발한다고 아파치를 깔고 서비스에 등록했다가, 폴더만 제거해서 망해.. 더보기
[Ubuntu] Ubuntu 20.04, 패키지 리포지토리 주소를 Kakao로 변경 Ubuntu 20.04를 설치하면 기본적으로 패키지 리포지토리가 우분투 기본으로 되어있다. 한글설치시 kr.archive.ubuntu.com, 영문설치시 us.archive.ubuntu.com, archive.ubuntu.com 빠른 서버 설정을 위하여 리포지토리를 빠른 카카오(다음) 리포지토리로 변경한다. sudo vi /etc/apt/sources.list 명령어로 저장소 정보가 저장되어있는 파일을 연다. 저장소 목록은 /etc/apt/sources.list 안에 저장되어있으며, sudo는 관리자 권한으로 실행한다는 의미이다. 후에 아래의 명령어를 입력한다. :%s/kr.archive.ubuntu.com/mirror.kakao.com :%s/security.ubuntu.com/mirror.kakao... 더보기
[JAVA] 정규표현식 사용 방법 - 2 (Pattern, Matcher) 이 글은 [JAVA] 정규표현식 사용 방법 - 1 에서 이어지는 글이다. Method 유효성 검사 가능 여부 문자열 재조합 가능 여부 기타 String.match 가능 불가능 일치 여부에 따라서 boolean값 반환 String.replaceAll 가능 가능 해당 표현식에 부합하는 부분을 치환(교체) String.replaceFirst 가능(replaceAll과 동일) 제한적(replaceAll 하위호환) 해당 표현식에 부합하는 부분을 치환(교체), 첫번째만 String.split 가능 가능 해당 표현식에 부합하는 부분을 기준으로 배열로 나눈다. Pattern & Matcher 가능 가능 다됨 String.match, String.replaceAll, String.replaceFirst, String.s.. 더보기
[JAVA] 정규표현식 사용 방법 - 1 (String.match, String.replaceAll, String.replaceFirst, String.split) 이번 글에서는 Java에서 정규표현식을 사용하는 방법에 대해서 이야기하려고한다. 사실 정규표현식은 대부분의 여러 프로그래밍 언어에서 사용할 수 있도록 되어있다. 그래서 이름도 정규표현식이다. 사실 정규표현식은 대부분의 여러 프로그래밍 언어에서 사용할 수 있도록 되어있다. 그래서 이름도 정규표현식, Regular Expression인것이다. 이 글에선 Java에서의 사용에 대해 정리한다. 웹이든 앱이든 어플리케이션을 제작할 때 사용자 입력으로부터 유효성 검증을 받을 때 정규표현식을 사용한다. ["Java 정규표현식 사용법", "PHP 정규표현식 사용법"] 이런식으로 검색해서 찾으면, 아주 많은 다른사람들이 써놓은 글들이 나타난다. 그런데 사람사람마다 사용한 매소드, 함수들이 다르고 구현 방식들이 달라서 처.. 더보기