블로그 통합

일반, 일상
기존에 별도로 운영하던 블로그를 모두 하나로 모으는 작업을 진행하기 위해서 기초 준비를 끝냈습니다. 조금씩 하나하나 모이다 보면 블로그의 정체성은 많이 희미해지지만 다수의 블로그를 운영하는것도 힘이 들어서 별도 관리를 포기해야 할듯 싶습니다. 조금은 미련이 남지만은 곳곳에 블로그 만들어 놓고 사용하지 않거나 관리하지 않는것이 너무 많다보니 통합이 된다고 하여서 문제가 될것이 없다고 스스로 생각을 합니다. 물론, 통합을 할 경우에는 찾아오시는분들이 헤맬수도 있지만, 블로그라는것이 제가 기록을 남기는것이라고 생각하기에 조금은 간략하게 꾸며 볼가 생각중입니다. 조금은 전문적이지 않아도 되고, 조금은 개인적인 사심을 많이 넣어서 운영을 하는것이 가장 제가 편한것이라고 생각을 하고, 제가 편해야 블로그에 글을 많이 남기기 때문에 첫번째도 저를 먼저 생각해서 운영을 하도록 하겠습니다.
Read More
ACTS – v5.21

ACTS – v5.21

ACTS/SFCA
■ 프로그램 변경 내역 안내 프로그램 업데이트 관련해서 문제점을 수정하였습니다.홈페이지 바로가기 메뉴의 방문하는 홈페이지 주소를 변경하였습니다. 기존 홈페이지는 그대로 유지 됩니다.사소한 버그 및 성능 개선을 적용하엿습니다. ■ 프로그램 암호 : acts.truds.kr ■ 프로그램 안내사항 Visual Studio 2019로 컴파일되었기에 Windows XP에 대한 지원은 불가능합니다. 다운로드 후에 압축 해제 시에 안티바이러스(백신)에 의해 파일이 없을 수 있습니다. 안티바이러스(백신)에서 압축해제 시 파일을 삭제하는 것으로 알고 있습니다. 해당 문제는 사용자의 컴퓨터상의 압축 프로그램 또는 안티바이러스(백신)의 문제입니다. 서버에서 자료를 가져오기 때문에 가끔 서버 접속이 되지 않을 수 있습니다.문제가 생겼을 경우에 ACTS 관련 최근 게시물에 댓글을 달아 주시면 개발자가 빨리 파악을 할 수 있습니다.가능하면 365일 24시간 가동을 목표로 하지만 가끔 개발자의 작업으로 접속이 불가능할 수 있습니다.서버에 무단 접속 시에 해당 IP를 차단하며, 이후에 알려주시지 않으면은 평생 해당 IP는 접속할 수 없습니다. ■ 기타 ACTS 관련된 문의&건의 사항은 현재 글에서만 가능합니다.ACTS 관련된 이전 글에서는 댓글을 달 수 없도록 항상 조치 중이기에 최신 버전에서만 댓글을 달아 주시기 바랍니다.이전 버전은 다운로드를 제공하고 있지 않음을 알려드립니다.
Read More

MySQL, PostgreSQL, SQLite 각 컬럼의 Type차이 기록

Database
인터넷 검색을 통해서 제가 습득한 지식 기반이여서 정확하지 않음을 미리 알려드립니다. MySQL PostgreSQL SQLite TINYINT SMALLINT INTEGER SMALLINT SMALLINT MEDIUMINT INTEGER BIGINT BIGINT BIT BIT INTEGER _______________________________________________________ TINYINT UNSIGNED SMALLINT INTEGER SMALLINT UNSIGNED INTEGER MEDIUMINT UNSIGNED INTEGER INT UNSIGNED BIGINT BIGINT UNSIGNED NUMERIC(20) _______________________________________________________ DOUBLE DOUBLE PRECISION REAL FLOAT REAL REAL DECIMAL DECIMAL REAL NUMERIC NUMERIC REAL _______________________________________________________ BOOLEAN BOOLEAN INTEGER _______________________________________________________ DATE DATE TEXT TIME TIME DATETIME TIMESTAMP _______________________________________________________ TIMESTAMP DEFAULT TIMESTAMP DEFAULT TEXT NOW() NOW() _______________________________________________________ LONGTEXT TEXT TEXT MEDIUMTEXT TEXT TEXT BLOB BYTEA BLOB VARCHAR VARCHAR TEXT CHAR CHAR TEXT _______________________________________________________ columnname INT columnname SERIAL INTEGER PRIMARY AUTO_INCREMENT KEY AUTOINCREMENT
Read More

서버 IP 변경 안내

ACTS/SFCA
ACTS, SFCA 의 접속 IP 주소를 변경합니다. 서버의 접속 시도가 많기때문에 현재 사용하는 IP주소를 변경을 하도록 합니다. 무단접속을 막을 방법은 있지만 해당 문제를 해결하기 위해서 계속 노력을 하지만 일정기간이 지나면 접속 시도가 많이 늘어나는 편입니다.최대한 IP 변경을 최소화 하기 위해서 노력을 하지만 일정 수준을 넘어설 경우에는 IP 변경을 시도 하도록 하겠습니다.
Read More

VSCode default, sftp 설정 기록

Tool
default.josn { "editor.fontFamily": "Consolas, D2Coding, 'Courier New', monospace", "editor.fontSize": 14, "workbench.sideBar.location": "left", "workbench.colorTheme": "Visual Studio Dark", "explorer.confirmDelete": false, "php.validate.executablePath": "C:/PHP7/php.exe" } 위에 설정으로 사용을 하고 있습니다. 지극히 개인적인 설정이기에 때문에 각 개인에 맞도록 설정을 해야 하는점을 기억해 주시기 바랍니다. sftp.json { "name": "자신이 구분할 이름", // 구분자 이름 "context": "D:\\PROJECT\\로컬경로", // 로컬 저장 경로 "host": "HOST주소", // HOST 주소 "protocol": "sftp/ftp", // 접속 프로토콜 "port": 22, // 접속 포트 "username": "ID", // ID "password": "PASSWORD", // PASSWORD "remotePath": "/home/PATH", // Server 경로 "uploadOnSave": true, // 저장시 자동 업로드 "passpharse":null, "passive": false, "syncMode": "update", "watcher": { "files": "**/.{css,js}", // 감시할 파일 목록 "autoUpload": false, "autoDelete": false, "autoDownload": true }, "ignore": [ // 업로드에서 제외할 파일 확장자 "**/.vscode", "**/.gif", "**/.DS_Store", "**/.sftpConfig.json", "**/.bak" ] }, 일반적인 방법은 아닙니다. 단지 제가 설정해서 사용하는 내용을…
Read More
저녁 노을

저녁 노을

일상
일상적인 생활에서 한컷을 찍어본 사진입니다. 어떻게 보면은 이렇게 보는 하늘의 모습도 참 보기 좋은듯 합니다. 너무나도 바쁜 일상 생활에서 잠시마나 쉬어 갈때 하늘을 올려다보고 마음에 휴식을 주는것도 나쁘지 않는 생각인듯 합니다. 너무나도 빠른 생활 속도에서 잠시동안 하늘을 올려다보고 천천히 가는것도 좋은 생각이지 않을까 생각을 해보지만 또 돌아서고 나면은 잊어버리고 숨가쁘게 달려나가는 하루하루를 살아갈듯 싶습니다.
Read More

SQLite Table 비우기, 및 AutoIncrement 초기화

Database
SQLite는 가볍게 사용할 수 있지만 다른 DBMS에서 사용된느 Truncate 명령어가 없습니다. 그래서 모든 내용을 지우려면은 Delete로 지워야하기에 기록해 놓습니다. #SQLite TRUNCATE TABLE DELETE FROM TABLE_NAME; SQLite에서 AutoIncrement를 초기화가 되지 않습니다. 그래서 Delete후에 새롭게 값을 초기화해서 보기 좋도록(?) 하기 위해서 작업을 합니다. #SQLite Auto Increment Reset UPDATE SQLITE_SEQUENCE SET seq = 0 WHERE name = 'TABLE_NAME';
Read More

[PHP] 2차원 배열 정렬

PHP
DB에서 결과값을 가져올때 OrderBy를 할 수 있으면 더없이 좋지만 피치못할 상정으로 Query문을 수정할수가 없는 경우가 생깁니다. 이럴경우에 이미 만들어진 결과 값을 사용자에게 보여주기 전에 정렬를 해서 결과를 보여 주면 될것 같습니다. foreach ((array) $result as $key => $value) { $sort[$key] = $value['objNumber']; // 정렬를 위한 키값 } array_multisort($sort, SORT_DESC, $result); //array_multisort($sort, SORT_ASC, $result); 최근에 위 정렬 방법으로 정렬을 함으로 인해서 기존의 코드를 수정하지 않고 결과를 재정렬해서 보여줄수 있도록 해 본적이 있습니다.
Read More

도메인 정리 막바지…..

일상
일단 가진 도메인을 대부분 정리하였습니다. 제가 지울수 있는것도 아니여서 기간이 만료되면서 기간연장을 하지 않을 경우에 자동적으로 제가 등록하지 않은 도메인이여서 다른 웹사이트로 이전이 됩니다. 현재로서는 2개정도 운영으로 정리가 되었으며, 그에 맞춰서 제가 개인적으로 연습 및 운영하는 서버의 설정도 모두 변경하고 자동 이동도 맞춰 놓아서 이제 도메인의 정리가 막바지에 온것 같습니다. 도메인 정리시에 일단 다른사람에게 알리지 않았다면은 다행이지만 조금 공개되고, 검색사이트에 등록이 되면은 하나하나 작업을 해줘야 해서 작업은 단순하지만 기간은 오래 걸리는 작업이라서 약 1년에 걸쳐서 작업을 한듯 합니다. 가끔 생각나면서 작업을 하고 또 점검을 하지만 어디서 빠졌을지 아직은 모르기에 최대한 한번 찾아보고 마지막 정리를 하려고 합니다.
Read More

Devexpress spilt panel 감추기

CSharp
// 패널 감추기 if (xtraTabControl1.SelectedTabPage == xtraTabPage1) { splitContainerControl2.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2; splitContainerControl2.SetPanelCollapsed(true); splitContainerControl2.Panel2.Visible = false; } else { splitContainerControl2.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2; splitContainerControl2.SetPanelCollapsed(false); splitContainerControl2.Panel2.Visible = true; }
Read More

도메인 정리중…

일상
현재 개인적으로 운영 도메인이 3개가 됩니다. 그외에 기기들과 함께 사용하다보니 도메인이 많아져서 분리해서 운영하기도 힘들고 해서 현재 정리중에 있습니다. 하루 아침에 변경을 할 수도 있는 도메인이 있는가 하면은 어느정도 시간을 들여서 변경을 해야 하는 도메인이 존재해서 하나하나 순차적으로 도메인에 대해서 접속 경로를 변경을 하고 이동중에 있습니다. 아마 변경으 완료 되고 나면은 1개로 축소 되지 싶은데 1개 도메인이 정말 버리기 아까워서 어떻게 해야 하나 현재 고민중입니다. 이것도 정리가 될려면은 연말이 되어야 하기 때문에 시간이 걸리지 않을까싶습니다.
Read More

FileWatch

CSharp
private void initWatcher() { string EqpDirPath = @"C:\TEST\"; FileSystemWatcher watcher = new FileSystemWatcher(); //1. FileSystemWatcher 생성자 호출 watcher.Path = EqpDirPath; //2. 감시할 폴더 설정(디렉토리) // 3. 감시할 항목들 설정 (파일 생성, 크기, 이름., 마지막 접근 변경등..) watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.Size | NotifyFilters.LastAccess | NotifyFilters.CreationTime | NotifyFilters.LastWrite; //감시할 파일 유형 선택 예) *.* 모든 파일 watcher.Filter = "*.*"; // watcher.IncludeSubdirectories = true; // 4. 감시할 이벤트 설정 (생성, 변경..) watcher.Created += new FileSystemEventHandler(Changed); watcher.Changed += new FileSystemEventHandler(Changed); watcher.Renamed += new RenamedEventHandler(Renamed); // 5. FIleSystemWatcher 감시 모니터링 활성화 watcher.EnableRaisingEvents = true; } // 6. 감시할 폴더 내부 변경시 event 호출 private void Changed(object source, FileSystemEventArgs e) { MessageBox.Show(e.FullPath); } private void Renamed(object source, RenamedEventArgs e) { MessageBox.Show(e.FullPath); }
Read More

HTTPS를 HTTP로 리디렉션하는 방법

Linux
SSL 보안서버 인증서가 적용된 상태에서 HTTPS를 HTTP로 리디렉션하고 싶은 경우, 다음 코드를 .htaccess 파일에 추가하면 됩니다. RewriteCond %{HTTPS} on RewriteEngine On RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} 위의 코드가 잘 작동하지 않으면, 다음 코드를 시도해볼 수 있습니다. Options +FollowSymLinks RewriteEngine On RewriteCond %{ENV:HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] .conf 파일을 사용하는 경우: ServerName domain.com RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} SSLEngine on SSLCertificateFile /etc/apache2/ssl/domain.crt SSLCertificateKeyFile /etc/apache2/ssl/domain.key SSLCACertificateFile /etc/apache2/ssl/domain.crt Siteground에서는 다음과 같은 코드를 제안하네요. (출처: Redirect from HTTPS to HTTP) Redirect HTTPS to HTTP RewriteCond %{HTTP:X-Forwarded-Proto} =https RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 참고로 위의 코드는 모두 유효한 SSL 인증서가 있는 경우에만 작동합니다. 유효한 SSL 인증서가 없는 경우 https://…로 접속하면 보안인증서 오류가 표시되고 http://…로 리디렉션되지 않습니다.
Read More