목록DEV (78)
J.BF Story
** 주로 사용한 옵션으로 정리하였다. OS 버전 cat /etc/*release* 파일 시스템 사용 가능 공간 정보 df -h ** 마운트 정보도 확인 가능 ** -h: 가독성이 좋게 출력 영구 자동 마운트 설정 정보 cat /etc/fstab 현재 실행 프로세스 목록 ps -ef | grep {프로세스 이름} ** -e: 실행 중인 모든 프로세스 정보 출력 ** -f: 프로세스에 대한 자세한 정보 출력 (유저/PPID/실행 날짜/실행 명령어 등 확인 가능) ** grep: 특정 문자열을 포함하는 프로세스 출력 TCP/UDP 통신 포트 확인 netstat -tnlp ** -t: tcp 정보 출력 ** -n: 10진수의 수치정보로 결과 출력 ** -l: listen 중인 소켓 정보 출력 ** -p: 실행..
APScheduler 공식 문서 Advanced Python Scheduler 한 번 또는 주기적으로 Python 코드가 실행되도록 일정을 관리하는 Python 라이브러리 Scheduler 인스턴스 별도의 Thread로 실행됨 Scheduler에 의해 실행되는 작업들은 Thread로 실행됨 (최대 10개의 Thread) 3가지 트리거 유형 존재 date: 특정 시점에 한번만 실행 interval: 일정 시간 간격으로 실행 cron: 하루 중 특정 시간에 주기적으로 작업 작업 추가/삭제/수정, 일시중지/재개/종료 가능 동시 실행 인스턴스 수 제한 가능 (max_instances 설정) 누락된 작업 실행 가능(misfire_grace_time 설정) APScheduler 예제 from apscheduler...
일반 사용자 계정에 root 권한 부여 1. 관리자 권한으로 '/etc/sudoers' 파일 수정 root 계정 밑에 관리자 권한을 부여하고 싶은 사용자('testuser') 설정 추가 ## Allow root to run any commands anywhere rootALL=(ALL:ALL) ALL testuserALL=(ALL:ALL) ALL 2. 확인 'testuser' 유저 권한으로 관리자 권한이 필요한 '/etc/sudoers' 파일 접근 가능 확인 su testuser cat /etc/sudoers # permission denied sudo cat /etc/sudoers # ok 회고 Centos에서 자주 root계정으로 ssh 연결을 하거나 관리자 권한이 요구되는 프로그램을 실행해야하는 경..
StatuefulWidget initState()함수를 override하여 사용한다. initState()함수 사용 시 super.initState() 를 반드시 호출해야 한다. class TestStatefulWidget extends StatefulWidget { const TestStatefulWidget({Key? key}) : super(key: key); @override _TestStatefulWidgetState createState() => _TestStatefulWidgetState(); } class _TestStatefulWidgetState extends State { @override void initState() { testFunc(); super.initState(); } @..
size_t strlen(const char* str) string length header: 문자열 길이 반환 char*가 가리키는 주소에서 '\0' 문자 전까지의 문자 개수 ** '\0': 문자열에서 문자열 끝을 알려주는 문자 char* test = "Hello World!"; // Hello World!\0 회고 바이너리 파일에서 읽은 데이터를 strlen을 이용하여 1byte 씩 프린트하는 작업을 하고있었는데 원래 데이터와 길이가 다르게 반환되어 찾아보게 되었다. 다음과 같은 바이너리 데이터에서 strlen을 사용했을 경우 '\x00'(빨간 네모 박스)값을 문자열 끝이라고 인식해서 '\x00' 이전 문자의 개수가 반환되었다. stat 함수의 파일 크기(st_size)를 이용하여 해결하였다.
1. 관리자 권한으로 '/etc/ssh/sshd_config' 파일 수정 (ex: port 2121) Port 2121 2. 다음과같이 커맨드를 입력 # SSH에 포트 2121를 허용 하도록 SELinux를 구성 sudo semanage port -a -t ssh_port_t -p tcp 2121 sudo firewall-cmd --add-port=2121/tcp --permanent # 설정 적용 sudo firewall-cmd --reload sudo systemctl restart sshd # check sudo systemctl status sshd # 원격에서 접속 시도 ssh root@XX.XX.XX.X -p 2121
다음과같이 {}로 감싸서 Optional Parameter의 기본값을 설정해준다. void test_func(param1, {param2:"default_value"}) { print('param1: ${param1}, param2: ${param2}'); } test_func("test1"); // param1: test1, param2: default_value test_func(param1="test1", param2:"test2"); // param1: test1, param2: test2
pgModeler PostgreSQL Database Modeler 오픈소스 PostgreSQL 데이터베이스 모델링 도구 Windows, Mac, Linux 지원 공식 홈페이지 pgModeler - PostgreSQL Database Modeler Open source data modeling tool designed for PostgreSQL. No more DDL commands written by hand. Let pgModeler do the job for you! pgmodeler.io 설치 (MAC) ** pgModeler을 설치하려면 로컬 서버에 PostgreSQL가 깔려있어야 한다. 1. pgModeler 소스 체크아웃 git clone https://github.com/pgmodeler/..
Connect PostgreSQL psql -U postgres // 'postgres' user로 접속 psql -U postgres -d testdb // 'testdb' database로 접속 psql -U postgres -h 10.01.1.1 // '10.01.1.1' IP로 접속 psql -U postgres -p 54321 // '54321' port로 접속 ** 기본값 [-U] user: 현재 서버 사용자 이름 [-h] IP: localhost(127.0.0.1) [-p] port: 5432 [-d] database: psql에 접속한 유저 이름과 동일한 데이터베이스 Database Create Database CREATE DATABASE {database name}; CREATE DATA..
Timeout 클라이언트에서 서버로 request를 보낸 후 일정 시간이 지나도 response가 오지 않을 때 더 기다리지 않고 중단하는 것. timeout을 설정하지 않으면 무한대로 response를 기다릴 수도 있다. ex) timeout을 30초로 설정했을 경우 -> 클라이언트에서 request를 보냈으나 서버에서 30초 이상 response가 오지 않으면 기다림 중단 Protocol Package HTTP: requests, urllib FTP: ftplib SFTP: paramiko Timeout 기본값 requests urllib ftplib paramiko 제한 없음 - 공식 문서 socket._GLOBAL_DEFAULT_TIMEOUT 사용 - 공식 문서 socket._GLOBAL_DEFA..