본문 바로가기

Programming

(212)
SELinux SELinux (Security Enhanced Linux) - 과거 소스코드가 공개되어 있는 리눅스는 보안에 취약하다는 의견 - 보안에 취약한 이유는 설치 이후 보안에 필요한 설정을 하지 않기 때문 - 취약점을 보완한 모델 : SELinux SELinux의 3가지 상태 1. enforcing : 강제 (최초 설치시 SELinux 상태) 2. permissive : 허용 3. disabled : 비활성화 관리자는 다른 보안 설정으로 취약점을 보완할 수 있기 때문에 SELinux를 비활성화하여 사용한다. 보안 설정 방법은 2가지(SELinux와 IPtables)가 있고, SELinux를 비활성화하고나서 IPtables 설정 SELinux 설정파일 정정하기 1. vi /etc/sysconfig/selinux..
데몬 개념과 포트 설정(방화벽 해제하기) 데몬(daemon) 멀티태스킹 운영 체제에서 데몬은 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램 - 윈도우의 서비스 개념 - 도깨비처럼 보이지 않는 곳에서 작업을 하는 백그라운드 프로세스 - 데몬이라는 표시를 위해 뒤에는 d가 붙는다(syslogd 등). - 시스템의 시작과 끝을 함께함 - 관리자 권한으로 실행되어 네트워크 요청이나 하드웨어 동작 등 여러 기능을 담당 - 부모 프로세스가 없음 - PPID(부모 프로세스 ID)는 1이며 시스템의 첫 프로세스인 init의 바로 하위에 위치 활용 : Daemon Process를 실행하여 웹 서비스 게시하기 필요 작업 : 네트워크 포트를 사용하는 데몬을 겹치지 않게 설정하기 TCP 통신을 진행중인 서비스의 연결 상태 확인(..
javascript에서 html로 값 전달 hidden input의 value로 count_num 값 이동
CSS 파일 변경 후 브라우저에 반영 안될 때 부트스트랩 도넛차트가 적용되지 않았던 문제 - 브라우저 쿠키를 삭제 : static 파일들은 쿠키에 저장되어 불러오므로 초기화를 통해 새로운 파일을 불러오도록 함. 원인 : 브라우저 캐시에 기존 css 파일을 보관하여 변화된 부분을 감지하지 못하는 것 해결(변화된 css를 인식할 수 있게 하기) 1. 브라우저 캐시 삭제 - 크롬브라우저 - 도구 더 보기 - 인터넷 사용 기록 삭제 - 브라우저 캐시 및 쿠키 삭제 2. css 링크 변경 - 브라우저가 갖고 있는 링크와 다르게 주소를 설정하여 새로운 css 링크를 인식하게 함 - 어떤 쿼리를 붙이든 상관없음
IP 주소 확인, 포트포워딩, 고정하기
os모듈 함수 파일의 경로상에서 디렉터리를 구분할때 Windows 환경에서는 역슬래시(\)를 사용 Unix/Linux에서는 슬래시(/)를 사용 파이썬에서 문자열 리터럴을 표기하는 경우 역슬래시를 사용하기 위해서는 이스케이프 처리를 위해 역슬래시를 두 번 연속 사용해야 합니다. os 모듈 : 내 컴퓨터의 Directory(폴더)나 경로, 파일 등을 활용하게 도와주는 모듈 1. 현재 작업 디렉토리 확인 import os os.getcwd() 2. 현재 작업 디렉토리 변경 os.chdir("D:/") # 변경된 작업 디렉토리 확인 os.getcwd() 3. 입력 경로 내의 모든 파일, 폴더 이름 리스트로 반환 - 파일은 확장자명까지 표시 os.listdir("C:/Users/User/Desktop") 4. 폴더 생성 os...
튜플 튜플은 값이 변하지 않는 리스트 튜플 : ( , , ) 또는 괄호를 사용하지 않는 , , (2, 3, 7, 7 ,2) 2, 3, 7, 7 ,2 리스트 [ , , ] [2, 3, 7, 7 ,2] 값 1개만이 튜플이 될 때도 ,를 꼭 붙여야 함 (2,) 2, 튜플 형태로 return이 가능 def method(): x = 10 y = 20 return x-y, x+y print(method()) // (-10, 30)
입력값이 몇 개가 될지 모를 때(*args) 여러 개의 입력값을 받는 함수 def add_many(*args): result = 0 for i in args: result = result + i return result 입력 값이 몇 개이든 상관이 없음 *args처럼 * 뒤로 아무 이름이나 붙여 쓰면 입력값을 전부 모아서 튜플로 만들어줌 응용하기 def add_mul(choice, *args): if choice == "add": result = 0 for i in args: result = result + i elif choice == "mul": result = 1 for i in args: result = result * i return result print(add_mul('add', 1, 2, 3, 4, 5)) print(add_mul('..