728x90
반응형

Computer Science 56

[Django] SECRET KEY 관리 방법

Django Secret Key exposed on GitHub! 장고 프로젝트를 GitHub에 올리면 이런 메일이 오게 된다. secret key가 노출되었다는 뜻이다. 보안상의 이유로 이 키를 보이지 않도록 하는 것이 바람직하다는 내용이다. SECRET_KEY는 무엇입니까? SECRET_KEY는 Django의 보안에 아주 중요한 역할을 합니다. Django 공식문서의 글을 참고하면, SECRET_KEY는 쿠키 데이터의 해시와 암호화 서명에 사용합니다. django.contrib.sessions.backends.cache가 아닌 다른 세션 백엔드 를 사용 중이거나 기본값 get_session_auth_hash()을 사용 중인 경우 모든 세션 입니다. CookieStorageFallbackStorage를..

[Tomcat, Ubuntu] 파일/폴더 소유권자를 변경하는 명령어

시간이 많이 지나서 어떤 에러인지 기억이 잘 안 나지만, 특정 디렉토리를 웹 서버상에서 실행할 수 없었던 적이 있었다. 그 원인은 해당 폴더의 소유권자가 tomcat이어야 하는데, 다른 사용자였기 때문에 tomcat에서 이 폴더에 접근할 수 없었던 것이다. 따라서 Ubuntu 터미널에서 이 소유권자를 tomcat으로 변경하여 정상적으로 실행할 수 있도록 해 주어야 한다. 1. 현재 디렉토리의 소유권자를 찾아본다. ls -al ls명령어에 -al옵션을 주면 현재 위치에 있는 디렉토리와 파일들의 소유권자를 볼 수 있다. 나는 tomcat8로 사용하고 있어서 tomcat8이 나타난 것을 보고 소유권자를 tomcat8로 지정했지만, 사용하는 버전이 다를 테니 꼭 체크해야 한다. 2. 소유권자를 tomcat으로 ..

[MySQL, MariaDB] Server Timezone KST 설정하기

Timezone 에러가 발생하는 이유 저는 MariaDB를 사용하는 동안 발생한 에러입니다. 주로 mysql 드라이버 8.0 이상 버전에서 발생합니다. 시스템 시간인 KST를 인식하지 못하기 때문에 발생하는 오류입니다. select @@global.time_zone, @@session.time_zone; mysql shell에서 이 코드를 실행했을 때, 나타나는 값이 없거나 다른 국가의 시간으로 설정되어 있을 것입니다. 1. mysql에 접속하여 timezone을 한국 시간으로 재설정합니다. set global.time_zone='+9:00'; set time_zone='9:00'; +9:00은 GMT +9를 의미합니다. 2. 설정이 잘 적용되었는지 확인 select @@gl..

[JSP] Custom Class(직접 만든 클래스) import 하기

직접 정의한 Class를 tomcat에서 import하는 방법 1. /var/lib/tomcat8/webapps 폴더 이동 2. 원하는 폴더에 WEB-INF/classes 폴더 생성 3. classes 폴더 안에 사용자 정의 클래스 파일 넣기 * java파일일 경우 javac 이용하여 클래스로 컴파일 * 패키지가 있을 경우 `classes` 폴더 안에 `mypkg/myclass.class`처럼 패키지 폴더 생성4. import 방법

[JSP] getParameterException

HTML에서 form에 입력한 값을 받아올 때 겪을 수 있는 getParameterException. 주로 getParameter(); 에서 발생한다 삼항연산자 사용하여 해결할 수 있다. 예: value 값이 null일 때(입력값이 없을 때) String str = getParameter("value")==null?"":getParameter("value"); value값이 null이면(전달되지 않으면) 공백을 입력, 값이 있으면 해당 값 입력 String str = getParameter("value")==""?"0":getParameter("value"); value값이 없으면(입력이 없음) "0"(정수 parseInt 시 활용 가능), 있으면 해당 값 입력

[JSP] Ubuntu 환경에서 Tomcat MariaDB 서버세팅

jsp 서버 세팅하기 Ubuntu 18.04, apache tomcat, mariadb, Naver cloud server 1. tomcat 설치 apt-get install tomcat8 {ip주소}:8080 하면 index.jsp와 함께 It works! 창이 나타남 만약 안 나타난다면? -> 호스팅 서버의 8080포트를 열어줬나 확인하기(네이버 클라우드 서버의 경우 ACG 설정) 2. mariadb 설치 apt-get install mariadb-server mariadb는 mysql과의 API가 호환된다. 즉 MySQL에서 사용하던 명령어 그대로 사용 가능하다. 외부접속 열 필요 있으면 MySQL 외부 접속 여는 법 참고. 3. 버전에 따라 별도의 mysql driver가 필요할 수 있다. 다른 ..

[C] feof() 함수

feof()함수의 올바른 사용법 대부분 사용하는 흔한 방법은 이것이다.while(!feof(fp)){ //파일 읽기 //코드 실행 }그러나 C의 feof에서는 마지막 함수가 실패할 때 true를 리턴하기 때문에 파일 포인터가 끝을 가리켜도 코드는 한번 더 실행된다. 그래서 마지막 숫자가 중복으로 읽힐 수 있다. 해결 방법while(1){ //파일 읽기 if(feof(fp)) break; //코드 실행 } 이렇게 하면 코드가 한번 더 실행되는 것을 방지할 수 있다.

[Java] 문자열 슬라이싱 방법들

문자열 슬라이싱 방법들 인덱스를 기준으로 문자열 슬라이싱 String str; // 임의의 문자열이 있다고 할 때 int index = str.indexOf(" "); // 공백 기준, 다른 문자(a 등)도 가능 str1 = str.substring(0, index); //인수 자리에는 정수만 가능함 str2 = str.substring(index + 1); split 이용하여 특정 문자 기준으로 슬라이싱 String substr = str.split(" ", 2); split() 함수는 나눠진 문자열을 문자열 배열로 반환한다. 뒤에 2는 나눌 수 있는 최대 문자열

728x90
반응형