ACTS/SFCA 서버 이전 안내

ACTS/SFCA
2개 서비스를 함에 있어서 현재 서버의 형태가 맞지 않아서 좀 더 원할한 이용을 위해서 서버를 이전 작업을 하게 됩니다. 최대한 중단이 없도록 하기 위해서 몇일전부터 준비를 하였습니다. 단순한 이전이기에 서버 구성은 이미 마친상태이며, 현재 새로운 서버의 부하 테스트를 진행중에 있습니다. 기간은 2019년 11월 21일 ~ 25일 사이에 이뤄지며, 약 1~2시간 정도 접속이 되지 않는 시점이 있지만 그 시간 이후에는 순차적으로 이전된 서버로 접속이 이뤄질것 입니다.
Read More

홈페이지 이전에 필요한 명령어

Linux
홈페이지 이전을 해줄 경우가 생겨서 한번 기록해 놓습니다. 모래사장에서 바늘 찾을 정도로 사용을 하지만, 막상 필요할때 기억이 나지 않아서 간단히 기록을 해놓습니다. # upload 디렉토리 제외해서 압축하기 tar -zcvf public_html.tar.gz ./public_html --exclude="./public_html/uploads" # upload 디렉토리 아래의 디렉토리 구조만 압축하기 tar -zcvf public_html-upload.tar.gz --exclude="*.* ./public_html/upload" # 압축풀기 (2개가 동일 위치에 존재해야함) tar -zxvf public_html.tar.gz tar -zxvf public_html-upload.tar.gz # 소유주 변경하기 chown -R [group].[user] ./public_html --from=[group].[owner] find ./public_html -user "[user]" | xargs chown "nobody"."nobody"
Read More

블로그 통합

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