목록전체 글 (323)
삶 가운데 남긴 기록 AACII.TISTORY.COM
https://으로 된 사이트를 방문하다 보면 마주치는 오류들이 있습니다. 브라우저마다 약간씩 차이가 있지만 아래와 같은 오류 메시지가 나왔을 때 해결 방법을 알아보겠습니다. 이 웹 사이트의 보안 인증서에 문제가 있습니다. 이 웹사이트에 안전하게 연결하는 동안 문제가 발생했습니다. 이 사이트는 안전하지 않습니다. 연결이 비공개로 설정되어 있지 않습니다. 1. 시스템 시간 확인 날짜/시간이 올바르지 않은 경우 인증서 오류가 발생할 수 있습니다. 2. 인터넷 옵션 변경 스크롤을 내리다보면 보안 설정 부분에 "인증서가 하나만 있는 경우 클라이언트 인증서 선택 안 함"을 사용으로 선택하시고 "크기 및 위치 제한 없이 스크립트 실행 창을 열 수 있습니다"를 사용으로 선택하십시오. 그리고 확인 버튼을 누른 후 재부..
JDK 설치 오라클 사이트에서 JDK를 다운받아서 설치합니다. 설치한 후에는 환경 변수에서 JAVA_HOME 을 등록하고 JDK가 설치된 경로를 지정해줍니다. 환경변수의 PATH에는 %JAVA_HOME%bin 으로 저장합니다. 설정이 완료된 뒤에는 명령프롬프트(cmd)에서 javac 명령어를 입력해서 컴파일러가 정상 실행되는지 확인합니다. 이클립스(STS, 전자정부프레임워크) 설정 Lombok 라이브러리의 안정성 때문에 이클립스를 JRE환경이 아닌 JDK환경에서 구동되도록 설정을 변경합니다. eclipse.ini(혹은 sts.ini) 파일의 상단에 아래와 같은 내용을 추가합니다. -vm JDK설치경로\bin\javaw.exe 이클립스 한글 인코딩(UTF-8) 확인 메뉴> Window > Preferenc..
에러 메시지 Host 'IP주소' is not allowed to connect to this MySQL server 라고 나오면서 mysql에 원격 접속이 안 되는 경우 로컬 접속 mysql -u root -p 확인 쿼리 실행 mysql> SELECT HOST,USER FROM mysql.user; 접속 아이피 설정 -- 모든 IP 허용 하는 경우 GRANT ALL PRIVILEGES ON *.* TO '아이디'@'%' IDENTIFIED BY '패스워드'; -- IP 대역(192.168.0.xxx)으로 허용하는 경우 GRANT ALL PRIVILEGES ON *.* TO '아이디'@'192.168.0.%' IDENTIFIED BY '패스워드'; -- 특정 아이피 1개(192.168.0.100)을 허용..
https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389 KISA 인터넷 보호나라&KrCERT KISA 인터넷 보호나라&KrCERT www.boho.or.kr Log4j 2 버전에 존재하는 JNDI(Java Naming and Directory Interface) 인젝션 취약점으로, 이를 악용하면 원격 코드 실행이 가능하게 됩니다. CVSS스코어 10점 만점중 10점 위험도로 가장 높은 위험도의 취약점 수준이 심각하므로 빠른 대응이 필요합니다. 보안 취약점 영향받는 log4j 버전 2.13~2.15 : CVE-2021-45046(서비스 거부 취약점) 1.2.x 모든 버전: CVE-2021-4104(원격 코드 실행 취약점)..
MYSQL 에서 VARCHAR 형식으로 데이터는 YYYY-MM-DD 같이 저장되어 있을 때 비교 연산자를 사용하면 오류가 생길 수 있습니다. 그럴 때 필요한 함수가 DATE_FORMAT() 과 STR_TO_DATE() 입니다. 1. 컬럼이 VARCHAR 형식일 때 SELECT * FROM TBL_BOARD WHERE DATE
https://aacii.tistory.com/359 프린세스 메이커 2 1999점 득점 공략도스판 기준 1999점 득점 공략은 여왕+왕자와의 결혼입니다. 무사 수행과 세이브-로드 노가다가 필요한 공략이라 실제 플레이 시간이 오래 걸립니다. 모성 수치가 게임상에서 표시 안되어서 에디blog.aacii.net 딸의 생일최고득점 앤딩을 노릴 때 9월 30일의 생일이 좋은 편입니다.왜냐하면 10월에 수확제가 있기 때문에 10월 31일 날 엔딩이 나오기 때문이죠. 혈액형혈액형은 여왕만들때는 A형으로 갑니다.다른 혈액형도 나름대로의 장점이 있으나 A형의 월 도덕심 +3이 워낙 큽니다. 도덕심 9= 1 페이즈(성당 또는 가정교사)인데, 이는 감성+12=시집 한 개 보다 훨씬 비싸거든요. 그래서 스트레스를 감수하더라..
커널 오브젝트(kernel object) 프로세스나 스레드, 파일 같은 리소스를 관리하기 위한 정보들을 모아놓은 구조체가 메모리에 로딩되어 블록 형태로 존재하고 있는데 이를 가리켜 커널 오브젝트라고 부릅니다. 각각의 리소스 별로 따로 커널 오브젝트들이 존재하게 됩니다. 예를들어 하나의 프로세스가 생성되면 그 프로세스를 위한 커널 오브젝트가 운영체제에 의해 생성됩니다. 오브젝트 핸들(kernel object handle) 운영체제는 커널 오브젝트의 간접적인 조작을 위해 여러 가지 시스템 함수를 제공합니다. 오브젝트 핸들은 커널 오브젝트 식별을 위해 할당되는 값를 말합니다. int _tmain(int argc, TCHAR* argv[]){ //GetCurrentProcess(): 현재 프로세스의 오브젝트 핸..
GetLastError() 윈도우즈 시스템 함수들은 에러가 났을 때 리턴 값이 대개 NULL 이기 때문에 에러 원인을 알 수 없습니다. 이럴 때 사용하는 함수가 GetLastError 함수를 사용하면 에러코드를 획득할 수 있습니다. 이 에러코드는 MSDN을 참고하면 무슨 에러인지 알 수 있게 됩니다. #include #include #include int _tmain(void) { HANDLE hFile = CreateFile(_T("TEST.DAT"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == INVALID_HANDLE_VALUE) { _tprintf( _T("error co..
마이크로소프트 윈도우즈 시스템은 16비트(9X) 부터 32비트(XP)를 거쳐 64(vista~)비트 기반으로 설계되어 있습니다. 변수를 저장하는 자료형의 크기가 변하는 관계로 포인터를 다룰때 문제가 생깁니다. define 매크로를 이용하여 빌드시 실행 환경에 따라 빌드를 비교적 쉽게 바꿀 수 있지만, 소스가 매크로로 가득하게되면 가독성이 매우 떨어지게 됩니다. 이에 대한 대안이 Polymorphic 자료형을 이용하는 것입니다. 아래 예제에 사용된 것 처럼 Unsigned Integer 자료형을 PTR 키워드를 붙이게 되면 실행환경에 따라 그 자료형의 크기가 결정됩니다. #include #include #include //64비트 환경 32비트 환경에 따라서 다르게 선언되는 자료형 UINT_PTR UINT..
MFC 문자열 처리 c언어와 c++ 에서는 string이라는 자료구조를 컴파일러 차원에서 지원하고 있지 않습니다. (가장 많이 쓰는 자료구조형임에도 불구하고 옛날 언어라...) 그래서 c/c++에서는 string을 char 의 배열에 끝에 널문자(\0)를 넣어 포인터로 관리합니다. Windows 에서는 이런 string처리를 위해 char* 를 대신해 LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 같은 자료형을 지원하고 있습니다. (안그래도 불편한데 더 불편하게 만들었습니다. 헝가리안 표기법의 유산이지요.) 그래서 이 암호같은 약자들의 뜻을 알아보도록 하겠습니다. LP는 long pointer 16bit 시절 포인터는 모두 16bit였고 24bit 메모리를 lon..
string class Header string s, s1, s2, s3; .assign(): 문자열 할당 //인수로 지정된 문자열을 할당 s1.assign("ABCDEFGH"); //s1="ABCDEFGH" //문자를 특정 개수 만큼 문자열에 할당 s2.assign(3, 'A'); //s2 = "AAA" //문자열의 지정된 인덱스 부터 특정 개수를 복사해서 할당 s3.assign(s1, 2, 4) //s3 = "CDEF" .append(): 문자열 추가 //기존 문자열 뒤에 추가 s.append("ABCDEF"); //s = "ABCDEF" //문자를 특정 개수 만큼 기존 문자열 뒤에 추가 s.append(3,'a'); //s = "ABCDEFaaa" //문자열의 지정된 인덱스 부터 특정 개수를 복사해..
SNI 차단 2019년 2월 11일 DNS 차단에 이어서 SNI(https) 차단이 시작되었습니다. 통신을 차단하는 방법은 IP로 차단, DNS로 도메인이름으로 차단, http 헤더로 차단 하는 방법 등 이 있습니다. 여기서 SNI 필터링은 HTTPS 암호화 통신을 하더라도 핸드쉐이킹 과정에 에 host 이름이 표기 되는데 ISP업체가 이 내용을 보고 필터링하는 방법입니다. Goodbye DPI GUI https://github.com/Include-sys/GUI-for-GoodbyeDPI/releases Releases · Include-sys/GUI-for-GoodbyeDPI Anti Cencorship Application. Contribute to Include-sys/GUI-for-Goodbye..
Quartz 1.8.6 Spring3.X 프로젝트에서는 Quartz 2.X 이상을 지원하지 않아서 보통 Quartz 1.8.6을 많이 사용합니다. http://www.quartz-scheduler.org/downloads/ Downloads www.quartz-scheduler.org Maven pom.xml org.springframework spring-core 3.1.2.RELEASE org.springframework spring-context-support 3.1.2.RELEASE org.springframework spring-tx 3.1.2.RELEASE org.quartz-scheduler quartz 1.8.6 Spring 3.X 에서 quartz를 사용하기 위해 1.8.6 버전으로 사용..
MySQL 콘솔 접속 mysql -u root -p :루트 패스워드 입력 데이터베이스(DB) 확인 show databases; 사용자(user) 확인 select * from mysql.user; tester 계정 추가 create user 'tester'@'localhost' identified by 'testerpw'; -- localhost에서만 접속 가능한 아이디:tester 패스워드: testerpw 으로 계정 생성 create user 'tester'@'%' identified by 'testerpw'; -- 모든 아이피에서 접속 가능하도록 아이디:tester 패스워드: testerpw 으로 계정 생성 create user 'tester'@'192.168.0.100' identified by ..
MySQL Event Scheduler MySQL 5.1 부터 자바의 Quartz나 리눅스의 Crontab 처럼 이벤트 스케줄러를 통해 배치작업을 할 수 있게 되었습니다. 아래의 작업들은 콘솔에서 root 계정으로 접속하여 작업하는 것을 추천드립니다. mysql -u root -p 이벤트 스케줄러 상태 확인 SHOW VARIABLES LIKE 'event%'; 이벤트 스케줄러 ON/OFF SET GLOBAL event_scheduler = ON; SET GLOBAL event_scheduler = OFF; 만약 event_schedule 변경중에 에러코드 1227 이 나오는 경우 mysql을 root 권한으로 접속 후 다음을 실행하십시오. UPDATE mysql.user set Super_Priv='Y'..