Search Results for '프로그래밍/프로그램 팁 관련'


245 posts related to '프로그래밍/프로그램 팁 관련'

  1. 2020/08/24 워드프레스 - Installation failed: 워드프레스 컨텐츠 디렉토리(wp-content)를 확인할 수 없습니다.
  2. 2020/08/12 안드로이드 ADB 비행기모드 On/Off
  3. 2020/06/26 텔레그램 봇 생성 방법
  4. 2019/12/10 제주 산간지방 우편번호 정리
  5. 2019/11/11 ADB를 통해 USB 테 더링을 활성화 3
  6. 2019/10/30 화이트 도메인 스팸 차단 리스트 / 도메인 설정
  7. 2019/10/30 정규표현식 제목에 특수문자 정리하는 정규식
  8. 2019/04/01 페이지 접속시 자동으로 한번만 새로고침 하기
  9. 2019/04/01 동영상 사이트 주소 정규식
  10. 2019/03/25 홈페이지 쇼핑몰 최적화 방법
  11. 2019/03/22 php코드의 에러를 알려주는 사이트
  12. 2019/03/22 검색엔진최적화(seo) 필수 메타태그
  13. 2019/03/22 if, else 를 줄이는 방법
  14. 2019/02/19 스토어팜 찜하기 링크 주소
  15. 2018/10/08 그누보드 영카트 서브도메인 접속 방법
  16. 2018/10/01 2차 도메인 서브도메인 .htaccess 처리 하기
  17. 2018/09/27 데이터의 크기
  18. 2018/09/27 2017-07이나 2017-7을 정규식으로 표현할 경우
  19. 2018/09/27 기본 정규식 이해
  20. 2018/08/13 그누보드 조건에 맞게 출력하기 - 모바일,관리자,PC,메인
  21. 2018/08/03 파일질라 새로 설치시 기존 환경설정, 개인설정 이전 방법
  22. 2018/08/03 화이트 도메인, 실시간 스팸 차단 리스트(메일 보내기 허용)
  23. 2018/08/03 SEO 사이트맵 제작 프로그램
  24. 2018/08/03 도메인 변경 및 http 를 https 로 이동하는 방법
  25. 2018/08/03 네이버 클로버 tts
  26. 2018/07/25 PHP session expires 헤더의 비밀!
  27. 2018/07/25 브라우저 Agent 정보
  28. 2018/07/25 시군 구 동 DB 자료
  29. 2018/07/25 css 도형샘플 사이트
  30. 2018/07/25 아이프레임(iframe) 높이(height:세로) 자동조절
Installation failed: 워드프레스 컨텐츠 디렉토리(wp-content)를 확인할 수 없습니다.

위 오류는 퍼미션 문제입니다.


root 폴더에 wp-config.php
파일을 수정하면 
require_once(ABSPATH . 'wp-settings.php'); 


아래


if(is_admin()) {
    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
    define( 'FS_CHMOD_DIR', 0751 );
}


추가
2020/08/24 14:38 2020/08/24 14:38
adb shell settings put global airplane_mode_on 1
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE
adb shell settings put global airplane_mode_on 0
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE
adb shell settings put global airplane_mode_on 1; am broadcast -a android.intent.action.AIRPLANE_MODE —ez state true

// 최초진입시
adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS;
adb shell input keyevent 19;
adb shell input keyevent 23;
adb shell input keyevent 22;
adb shell input keyevent 23;

// 끄기 // 켜기
adb shell input keyevent 23;input keyevent 22;input keyevent 23;

// 아래는 shell input keyevent 번호값
0 -->  "KEYCODE_UNKNOWN" 
1 -->  "KEYCODE_MENU" 
2 -->  "KEYCODE_SOFT_RIGHT" 
3 -->  "KEYCODE_HOME" 
4 -->  "KEYCODE_BACK" 
5 -->  "KEYCODE_CALL" 
6 -->  "KEYCODE_ENDCALL" 
7 -->  "KEYCODE_0" 
8 -->  "KEYCODE_1" 
9 -->  "KEYCODE_2" 
10 -->  "KEYCODE_3" 
11 -->  "KEYCODE_4" 
12 -->  "KEYCODE_5" 
13 -->  "KEYCODE_6" 
14 -->  "KEYCODE_7" 
15 -->  "KEYCODE_8" 
16 -->  "KEYCODE_9" 
17 -->  "KEYCODE_STAR" 
18 -->  "KEYCODE_POUND" 
19 -->  "KEYCODE_DPAD_UP" 
20 -->  "KEYCODE_DPAD_DOWN" 
21 -->  "KEYCODE_DPAD_LEFT" 
22 -->  "KEYCODE_DPAD_RIGHT" 
23 -->  "KEYCODE_DPAD_CENTER" 
24 -->  "KEYCODE_VOLUME_UP" 
25 -->  "KEYCODE_VOLUME_DOWN" 
26 -->  "KEYCODE_POWER" 
27 -->  "KEYCODE_CAMERA" 
28 -->  "KEYCODE_CLEAR" 
29 -->  "KEYCODE_A" 
30 -->  "KEYCODE_B" 
31 -->  "KEYCODE_C" 
32 -->  "KEYCODE_D" 
33 -->  "KEYCODE_E" 
34 -->  "KEYCODE_F" 
35 -->  "KEYCODE_G" 
36 -->  "KEYCODE_H" 
37 -->  "KEYCODE_I" 
38 -->  "KEYCODE_J" 
39 -->  "KEYCODE_K" 
40 -->  "KEYCODE_L" 
41 -->  "KEYCODE_M" 
42 -->  "KEYCODE_N" 
43 -->  "KEYCODE_O" 
44 -->  "KEYCODE_P" 
45 -->  "KEYCODE_Q" 
46 -->  "KEYCODE_R" 
47 -->  "KEYCODE_S" 
48 -->  "KEYCODE_T" 
49 -->  "KEYCODE_U" 
50 -->  "KEYCODE_V" 
51 -->  "KEYCODE_W" 
52 -->  "KEYCODE_X" 
53 -->  "KEYCODE_Y" 
54 -->  "KEYCODE_Z" 
55 -->  "KEYCODE_COMMA" 
56 -->  "KEYCODE_PERIOD" 
57 -->  "KEYCODE_ALT_LEFT" 
58 -->  "KEYCODE_ALT_RIGHT" 
59 -->  "KEYCODE_SHIFT_LEFT" 
60 -->  "KEYCODE_SHIFT_RIGHT" 
61 -->  "KEYCODE_TAB" 
62 -->  "KEYCODE_SPACE" 
63 -->  "KEYCODE_SYM" 
64 -->  "KEYCODE_EXPLORER" 
65 -->  "KEYCODE_ENVELOPE" 
66 -->  "KEYCODE_ENTER" 
67 -->  "KEYCODE_DEL" 
68 -->  "KEYCODE_GRAVE" 
69 -->  "KEYCODE_MINUS" 
70 -->  "KEYCODE_EQUALS" 
71 -->  "KEYCODE_LEFT_BRACKET" 
72 -->  "KEYCODE_RIGHT_BRACKET" 
73 -->  "KEYCODE_BACKSLASH" 
74 -->  "KEYCODE_SEMICOLON" 
75 -->  "KEYCODE_APOSTROPHE" 
76 -->  "KEYCODE_SLASH" 
77 -->  "KEYCODE_AT" 
78 -->  "KEYCODE_NUM" 
79 -->  "KEYCODE_HEADSETHOOK" 
80 -->  "KEYCODE_FOCUS" 
81 -->  "KEYCODE_PLUS" 
82 -->  "KEYCODE_MENU" 
83 -->  "KEYCODE_NOTIFICATION" 
84 -->  "KEYCODE_SEARCH" 
85 -->  "TAG_LAST_KEYCODE"
adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS & adb shell input keyevent 19 & adb shell input keyevent 23 & adb shell input keyevent 4

비행기모드 설정
adb shell settings put global airplane_mode_on 1
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true

비행기모드 해제
adb shell settings put global airplane_mode_on 0
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false

다른방법(토글)
adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
adb shell input keyevent 23
adb shell input keyevent KEYCODE_TAB
adb shell input keyevent 23
adb shell input keyevent 3
2020/08/12 09:45 2020/08/12 09:45
텔레그램 메신저는 여러 플랫폼에서 사용가능한 메신저 입니다.

가장큰 장점으로 API가 공개되어 다른 프로그램 과 연동이 가능하고  정부에서 대화 내용등을 요청 하더라도 협조를 안한다는점

지금부터 봇을 만드는 방법을 약식 정리 합니다.

01. 채팅창에 /newbot 명령어를 입력하고 전송버튼을 눌러주세요.


03. 텔레그램 봇 이름을 입력합니다.
이름이 _bot 으로 끝나야함

04. 다시 이름을 입력 합니다. 통상 위 이름_bot 과 동일하게 입력 합니다.


05. API 토큰 크드 확인

Done! Congratulations on your new bot. You will find it at t.me/y_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.
Use this token to access the HTTP API:
961*675**:AAFRNiz-ZIsEvyA58n1Vfa***
Keep your token secure and store it safely, it can be used by anyone to control your bot.
For a description of the Bot API, see this page: https://core.telegram.org/bots/api

위 내용 메모장 복사

06. t.me/y_bot  부분을 클릭하고 [ 시작] 을 눌러 봇 채팅을 활성화 시킨후 브라우저를 열고 아래 주소 호출 

https://api.telegram.org/bot토큰 값/getUpdates
예) : https://api.telegram.org/bot961*675**:AAFRNiz-ZIsEvyA58n1Vfa***/getUpdates


위 주소를 호출하면 정보를 확인할수 있음

참고로 채널을 열어서 채널에 봇을 추가하고 여러명이서 봇 메세지를 함께 받을수 있다.








2020/06/26 11:11 2020/06/26 11:11
제주
63000 ~ 63644 
인천광역시 중구 무의동
22386 ~ 22388
인천광역시 강화군
23004 ~ 23010
인천광역시 옹진군
23100 ~ 23116
인천광역시 옹진군 
23124 ~ 23136
충청남도 당진시 석문면 난지도리
31708
충청남도 태안군 근흥면 가의도리
32133
충청남도 보령시 오천면 녹도리
33411
경상북도 울릉군
40200 ~ 40240
경상남도 사천시 신수동
52571
경상남도 통영시 용남면
53031 ~ 53033
경상남도 통영시 
53089 ~ 53104
전라북도 군산시 옥도면 개야도리
54000
전라북도 부안군
56347 ~ 56349
전라남도 영광군, 목포시
57068 ~ 58762
전라남도 신안군 임자면
58800 ~ 58806
전라남도 신안군 증도면 병풍리
58809
전라남도 신안군 압해읍
58817 ~ 58818
전라남도 신안군 압해읍 가란리
58826
전라남도 신안군
58828 ~ 58866
전라남도 진도군 조도면
58953 ~ 58958
전라남도 완도군 
59137 ~ 59145
전라남도 완도군
59149 ~ 59170
전라남도 보성군 벌교읍 장도리
59421
전라남도 고흥군 도양읍 시산리
59563
전라남도 고흥군 봉래면 사양리
59568
전라남도 여수시 화정면 여자리
59650
전라남도 여수시 경호동
59766
전라남도 여수시 화정면 개도리
59781
전라남도 여수시 화정면 개도리
59783
전라남도 여수시
59785 ~59790
2019/12/10 23:49 2019/12/10 23:49
ConnectivityManager.setUsbTethering(boolean enable)은 Android 4.3에서 호출 됩니다.
adb shell su -c service call connectivity 34 i32 1 USB 테 더링을 켭니다.
adb shell su -c service call connectivity 34 i32 0 USB 테 더링을 끕니다.
다른 Android 버전의 경우 Android 버전 당 34다음 setUsbTethering 아래처럼 바꿔 사용할수 있습니다.
4.4.4: 34
5.1.0: 30
6.0.1: 30
7.0.0: 33
2019/11/11 15:56 2019/11/11 15:56
https://spam.kisa.or.kr/white/sub1.do

이메일서버 등록하면 끝 !
2019/10/30 15:14 2019/10/30 15:14
제목에 특수문자 정리하는 정규식
[한글, 숫자, 영어, <>/,.%&-"' ] 딱 이문자들만 허용!
더 추가하고 싶은 문자 있으면 [대괄호] 안에 추가 하면 됩니다.
php 예제 
$subject = preg_replace("|([^가-힣0-9a-zA-Z\s<>\(\)\[\]\"\'.,/&%:-])|u", " ", $subject);
2019/10/30 15:08 2019/10/30 15:08
<?php
if (!$_COOKIE['reload']) {
 setcookie("reload",time()+60*60*24); // 하루동안만..
 echo "<meta http-equiv='Refresh' CONTENT='0'; URL=".$_SERVER['PHP_SELF']." />";
 }
?>
페이지 접속시 자동으로 한번만 새로고침 리로드 하기
2019/04/01 11:29 2019/04/01 11:29
카카오팟 영상 정규식
 
https?:\/\/|www\.)play-tv.kakao.com\/channel\/[0-9]+\/(livelink|cliplink)\/([A-Za-z0-9]+
 
트위터 정규식
 
http(s)?:\/\/(.*\.)?twitter\.com\/(\w+)\/?status\/(\w+)
 
비메오 정규식
 
https?:\/\/|www\.)vimeo.com\/([A-Za-z0-9]+
 
데일리모션 정규식
 
https?:\/\/www\.)dailymotion.com\/video\/([A-Za-z0-9]+
 
유튜브 정규식
 
https?:\/\/www.youtube.com\/watch\?v=([a-zA-Z0-9\-_]+
 
인스타그램 정규식
 
https?:\/\/www\.)?instagram\.com(\/p\/\w+\/?
 
2019/04/01 11:27 2019/04/01 11:27
PageSpeed Tools > Insights 

웹페이지를 자동으로 분석해서 이미지, 자바스크립트, CSS 등 최적화된 파일을 제공합니다.
https://developers.google.com/speed/pagespeed/insights/?hl=ko

DevTools 에서 사용하면 편합니다. 
Online JavaScript/CSS/HTML Compressor 
JavaScript, CSS, HTML 압축
http://refresh-sf.com
http://gnustudy.com/bbs/board.php?bo_table=sitelink&wr_id=26
2019/03/25 09:43 2019/03/25 09:43
http://phpcodechecker.com/

2019/03/22 11:35 2019/03/22 11:35
소용없다! 필요있다 라는 주제로 인터넷에서 돌고 돌아지만 지금은 인정할수 밖에 없는 메타태그 인것 같습니다
검색엔진최적화 seo에 첫걸음인것 같습니다

기본적으로 많이 사용되는 메타태그

1 <meta name="robots" content="index, follow"> 
: 검색 로봇이 문서와 링크를 모두 긁어 가라는 뜻
2 <meta name="description" content="사이트 설명글"> 
: 내 사이트 콘텐츠 설명글!
3 <meta name="keywords" content="태그">  
: 내 사이트에 주요 콘텐츠! 예) 맛집,게임
4 <meta name="Author" content="작성자">
: 사이트 운영자 이름,명칭
5 <meta name="title" content=""> 
: 사이트 타이틀 이름
2019/03/22 11:34 2019/03/22 11:34
if (isset($sql)) {
    // $sql가 있을 경우
    $sql1 = $sql;
} else {
    // $sql가 없을 경우
    $sql1 = "no";
}

 소스가 일반적입니다. 이렇게 사용하면 대략 5줄을 작성하게되는데

$sql1 = isset($sql) ? $sql : "no";

이런 식으로 5줄을 1줄로 줄일 수 있습니다.
2019/03/22 11:30 2019/03/22 11:30
http://storefarm.naver.com/main/callback/login?__targetUrl=%2Fmain%2Fsubscription%2Fsubscribe%2F386131&__method=POST&isAdultCheck=false

위 빨간색 부분만 변경해서 사용하면 됩니다.


2019/02/19 15:06 2019/02/19 15:06
그누루트의 shop.config.php 파일에 제일 하단에 추가

//도메인이 www.sigongschool.com 이면 쇼핑몰 루트 인덱스가 작동하도록... 
if($_SERVER['HTTP_HOST'] == "www.sigongschool.com") { 
$default['de_root_index_use'] = 1; 
}
2018/10/08 12:47 2018/10/08 12:47
.htaccess 파일로 계정내에 rewrite를 설정하시면 원하시는 2차도메인으로 연결이 가능합니다.
 
subdomain.my.com  2차도메인을 subdomain 명의 디렉토리로 연결하실 경우 www폴더 하위에 .htaccess파일을 아래와 같이 설정해보시기 바랍니다.
 
==================.htaccess 파일 예=========================
RewriteEngine On
RewriteBase /
RewriteCond $1 !^(subdomain)/
RewriteCond %{HTTP_HOST} ^subdomain\.my\.com [NC]
RewriteRule ^(.*) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.my\.com(.*) /$1/$2 [L]
===========================================================
2018/10/01 13:58 2018/10/01 13:58
8 bit (비트) 1 byte 
1024 byte (바이트) 1 kilobyte 
1024 kilobyte (킬로바이트) 1 megabyte 
1024 megabyte (메가바이트) 1 gigabyte 
1024 gigabyte  (기가바이트) 1 terabyte 
2018/09/27 19:05 2018/09/27 19:05
2017-07을 정규식으로 표현하면  아래와 같이 됩니다.
[0-9]{4}-[0-9]{2}
이때 [ ]사이에 있는 0-9는 0부터 9를 포함한 0,1,2,3,4,5,6,7,8,9중 하나의 문자가 있어야 한다는 뜻이고 
{수}는 그러한 앞의 조건에 맞는 문자가 그 수만큼 연속으로 있어야 한다는 뜻입니다.
그럼 
2017-7을 정규식으로 표현하면
[0-9]{4}-[0-9]{1,2}  
위와 같이 됩니다.
{1,2}는 1~2개 만큼 연속으로 있어야 한다는 뜻입니다. 
2018/09/27 19:02 2018/09/27 19:02
기본 정규식 이해
  정규식(Regular Expression)은 문자열의 패턴을 기술하는 일종의 미니 언어로, 텍스트 처리 작업이 많은 웹 프로그래밍에서는 필수적인 기능이라고 할 수 있다. 루비에서는 정규식 리터럴이 신택스 레벨에서 지원되기 때문에, 정규식의 사용이 무척 편리하다. 루비에서 정규식은 다음과 같은 방법으로 선언된다.
 >> /Perl/
 => /Perl/
 
 정규식은 /.../ 의 형태로 작성되는데, 위의 정규식은 Perl이라는 텍스트를 인식하는 패턴이다. 정규식을 사용하면, 주어진 텍스트의 일부를 치환하는 것이 가능하다.
 >> “Perl is cool. I like Perl!”.sub(/Perl/, “Ruby”)
 => “Ruby is cool. I like Perl!”
 
위의 코드에서 문자열의 sub 메소드는 원래 문자열에서 /Perl/패턴에 일치하는 첫 번째 부분을 Ruby로 치환해 주고 있다. 문자열에서는 패턴이 일치하는 모든 부분을 Ruby로 치환하고 싶다면, gsub 메소드를 사용한다.
 >> “Perl is cool. I like Perl!”.gsub(/Perl/.”Ruby”)
 => “Ruby is cool. I like Ruby!”
 
하나의 정해진 문자열이 아니라 특정 패턴을 인식하는 정규식을 작성하는 것도 가능하다. 다음은 Perl 문자열과 PHP 문자열을 동시에 매칭하는 정규식이다.
 >> /P(erl|HP)/
 => /P(erl|HP)/
 
정규식에서 | 는 or의 의미를 가진다.
 >> “Perl is cool. I like PHP!”.gsub(/P(erl|HP)/, “Ruby”)
 => “Ruby is cool. I like Ruby!”
 
특정 문자 그룹을 매칭하고 싶다면 [...] 패턴을 사용할 수 있다.
 >> “innvation”.sub(/[aeiou]/, “*”)
 => “*nnvotaion”
 >> “innovation”.gsub(/[aeiou]/, “*”)
 => “*nn*v*t**n”
 
[...] 패턴에는 문자의 범위를 사용할 수도 있다.
 >> “The password is 9428.“.gsub(/[0-9]/,”*”)
 => “The password is ****.”
 
[...] 안에서 처 번째로 사용된 문자가 ^라면, 역패턴이 매칭된다.
 >> “I love Seoul!”.gsub(/[^a-zA-Z]/,”*”)
 => “I*love*Seoul*”
 
 
. 는 모든 문자를 매칭하는 패턴이다. . 하나의 문자를 매칭하게 된다.
 >> “Ruby is cool.”.sub(/.ool/,”fun”)
 => “Ruby is fun”
 
특정 패턴이 반복되는 것을 매칭할 때는 + or * 이 사용된다. + 는 특정 패턴이 1회 이상 반복하는 것을 매칭하고, * 는 특정 패턴이 0회 이상 반복하는 것을 매칭한다.
 >> “Ruby is coooool.”.sub(/o+/, “oo”)
 => “Ruby is cool.”
 
만약 하나 이상의 문자가 반복되는 패턴을 인식하려면, 괄호를 사용할 수 있다.
 >> “1001001001888”.sub(/(001)+/, “”)
 => “1888”
 
앞서 설명한 정규식을 조합해서 사용할 수 있다.
 >> “The password is 9428.”.sub(/[0-9]+/,”*”)
 => “The password is *.”
 
정규식이 텍스트의 치환에만 사용되는 것은 아니다. 주어진 문자열이 특정 패턴을 가지고 있는지 아닌지를 테스트하는 것도 정규식의 중요한 용도 중의 하나이다.
>> “A year has 365 days.” =- /[0-9]+/
=> 11
 위에서는 문자열의 =- 연산자를 이용하여 해당 문자열에 숫자가 있는지 없는지를 테스트하고 있다. =- 연산자는 문자열의 몇 번째 인덱스에서 패턴매칭이 일어났는지를 리턴한다. 만약 패턴 매칭에 실패하면 nil이 리턴된다. 루비에서는 nil과 false외의 모든 값은 true로 인식되기 때문에, =- 연산자는 조건문에서 사용될 수 있다.
 
>> if “A year has 365 days.” =- /[0-9]+/
>>      puts “There is a number in the starting!”
>> end
There is a number in the starting!
=> nil
 
=- 연산자로 문자열의 패턴을 인식하는 경우, 괄호를 사용하여 패턴이 매칭된 부분을 읽어들일 수 있다.
  >> if “A year has 365 days.” =- /[0-9]+/
  >>      put $1
  >> end
  365
  => nil
 
 위에서는 /[0-9]+/ 패턴에 매칭된 문자열이 $1 변수에 저장되고 있다. 만약 패턴에서 두 개 이상의 괄호가 사용된다면, 각 괄호에 의해 매칭된 문자열이 차례로 $1, $2, $3, … 변수에 저장된다.
 
  >> if “210.163.138.100” =- /([0-9]+)\. ([0-9]+)\. ([0-9]+)\. ([0-9]+)/
  >>     puts $1
  >>     puts $2
  >>     puts $3
  >>     puts $4
  >> end
 210
 163
 138
 100
 => nil
 
위의 정규식에서 \. 패턴은 실제의 . 문자를 매칭하고 있다.
2018/09/27 19:02 2018/09/27 19:02
1. 멤버만 출력

<?php if ($is_member) { ?>
내용
<?php } ?>


2. 관리자만 출력

<?php if ($is_admin) { ?>
내용
<?php } ?>

3. 모바일 내용과 PC 내용 분리

<?php if(G5_IS_MOBILE) {?>
모바일 내용
<?php } ?>
<?php if(!G5_IS_MOBILE) {?>
피씨내용
<?php } ?>

<? if($is_mobile){?> 
모바일 일때 
<? }else{ ?> 
피시일때 
<? } ?>





2018/08/13 13:23 2018/08/13 13:23
파일질라를 삭제하고 새로 설치 하게 될 경우 기존의 연결 된 FTP의 정보들을 백업해서
새로 설치한 파일질라에 그대로 가져와서 사용할 수 있습니다.
백업 방법은 아주 간단합니다. 아래와 같이 파일질라에서 파일->내보내기 메뉴를 이용해서 가능합니다.

1.
사용자 삽입 이미지

2. 
사용자 삽입 이미지

3. 
사용자 삽입 이미지

복원 방법도 마찬가지로 파일질라의 파일->가져오기 메뉴를 이용해서 백업한 설정 정보를 가져올 수 있습니다.


4. 
사용자 삽입 이미지
5.
사용자 삽입 이미지

위와 같이 기존 설정을 내보내기, 가져오기 기능을 사용하면
이전에 사용하던 FTP의 정보와 개인설정까지 모두 그대로 사용할 수 있습니다.
2018/08/03 19:21 2018/08/03 19:21
https://spam.kisa.or.kr/integration/main.do

화이트 도메인설정하고
실시간 스팸 차단 리스트
메일 보내기 허용할때 다음 사이트에서 설정해주시면 됩니다.
2018/08/03 11:46 2018/08/03 11:46
사용자 삽입 이미지


보통 사이트맵 제작을 위해 웹서비스를 이용하시는데요
설치형으로 간단하게 filter 기능 및 spider 기능이 사용가능한 프로그램 소개합니다.
http://g-mapper.co.uk/sitemap-generator.aspx 
 
에서 설치받아 사용하시면 됩니다.
2018/08/03 11:20 2018/08/03 11:20
header 를 이용하는 방식과 javascript 를 이용하는 방법을 안내합니다.
방식은 PHP 페이지 최상단에서 위치해야 정상 작동하며, 강력하게 작동합니다.
javascript는 페이지 상단이 아니어도 작동하지만, javascript를 제한한 경우에 작동하지 않습니다.
1. header location 이용
<?php
if($_SERVER['HTTPS'] != "on"){
    $ssl_port = "";  //  443 포트를 사용하지 않는경우에 이용할 포트번호 입력
    if ($ssl_port == "") { 
        $redirect_URL = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    } else {
        $redirect_URL = "https://".$_SERVER['HTTP_HOST'].":".$ssl_port.$_SERVER['REQUEST_URI'];
    }
    header("Location: ".$redirect_URL);
}
?>
2. javascript 이용
<?php
if($_SERVER['HTTPS'] != "on"){
    $ssl_port = "";  //  443 포트를 사용하지 않는경우에 이용할 포트번호 입력
    if ($ssl_port == "") { 
        $redirect_URL = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    } else {
        $redirect_URL = "https://".$_SERVER['HTTP_HOST'].":".$ssl_port.$_SERVER['REQUEST_URI'];
    }
    echo "<script type=\"text/javascript\">\n";
    echo "<!--\n";
    //echo "location.href = '". $redirect_URL ."';\n";  // 현재창으로 전송
    echo "parent.location.href='". $redirect_URL ."';\n";  // 부모창으로 전송
    echo "//-->\n";
    echo "</script>\n";
}
?>
2018/08/03 11:08 2018/08/03 11:08
<?php
$client_id = "";
$client_secret = "";
$txt = $_GET['txt'];
if(!$txt) $txt = '텍스트 파라미터를 입력 바랍니다.';
$encText = urlencode($txt);
$postvars = "speaker=mijin&speed=0&text=".$encText;
$url = "https://openapi.naver.com/v1/voice/tts.bin";
$is_post = true;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, $is_post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $postvars);
$headers = array();
$headers[] = "X-Naver-Client-Id: ".$client_id;
$headers[] = "X-Naver-Client-Secret: ".$client_secret;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec ($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close ($ch);
if($status_code == 200) {
  header("Content-type: audio/mpeg");
  header("Content-Transfer-Encoding: binary");
  header('Pragma: no-cache');
  header('Expires: 0');
  echo $response;
} else {
  echo "Error 내용:".$response;
}



문제는 1일 1만자 입니다.
2018/08/03 11:06 2018/08/03 11:06
PHP 세션에선 다음과 같은 상황을 방지하기 위해, 웹페이지의 캐시 설정을 제어할 수 있는데요. 
1. 회원정보 수정 페이지에서 로그아웃. 
2. 뒤로가기시 로그아웃된 상태임에도 불구하고 브라우저의 캐시된 회원정보 수정 페이지가 보여지는 문제. 
이를 해결 하기 위해 세션 페이지는 캐시를 남기지 않도록, `session_cache_limiter('nocache');` 형태의 설정을 사용하죠. 
이때 브라우저의 HTTP header 에는 다음 헤더가 추가됩니다. 
``` 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
``` 
만료일 헤더 값은 현재 날짜보다 이전 날짜로만 지정하면 되는데... 왜 1981년일까요? 
그 비밀은 해당 코드를 작성한 개발자인 Sascha Schumann 의 생일이 1981년 11월 19일 이라고 하네요.  
PHP 에도 이런 재밌는 사실이 숨겨져 있네요. :) 
--- 
# 참고 
http://stackoverflow.com/questions/8194481/why-is-expires-1981 
https://github.com/php/php-src/blob/df845a9155f0dbe7041f66e00f6625fa77c6521d/ext/session/session.c#L1140 
http://php.net/manual/en/function.session-cache-limiter.php 
--- 
# 추가 팁 - Laravel 에서 웹페이지 캐시를 비활성화하는 코드 
https://gist.github.com/ibin79/fe46acfd29571d3b627322430cb2e830
2018/07/25 21:33 2018/07/25 21:33
브라우저 매칭순서
1. Firefox
2. IE 11
3. IE 10~6
4. Edge
5. inapp : Kakaotalk , Naver , Facebook
6. Chrome
7. Safari
OS 매칭 순서
1. Windows
2. Android
3. iPhone , iPad , iPod
4. Machintosh
Android
Mozilla/5.0 (Linux; Android 4.4.2; ko-kr; IM-A880S Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
Android  Chrome
Mozilla/5.0 (Linux; Android 4.4.2; ko-kr; IM-A880S Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
Android  Naver App
Mozilla/5.0 (Linux; Android 6.0.1; SM-G930S Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36 NAVER(inapp; search; 510; 7.6.2)
Adroid  KakaoTalk
Mozilla/5.0 (Linux; Android 6.0.1; SM-G930S Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36;KAKAOTALK 1400258
iPhone  Safari
Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B100 Safari/602.1
iPhone  Chrome
Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/55.0.2883.79 Mobile/14C92 Safari/602.1
iPhone  KakaoTalk App
Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Mobile/14B100 KAKAOTALK 5.8.5
iPhone  Naver App
Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 NAVER(inapp; search; 550; 7.6.4; 7PLUS)
iPhone  Facebook App
Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 [FBAN/FBIOS;FBAV/75.0.0.48.61;FBBV/45926345;FBRV/0;FBDV/iPhone9,4;FBMD/iPhone;FBSN/iOS;FBSV/10.2;FBSS/3;FBCR/SKTelecom;FBID/phone;FBLC/ko_KR;FBOP/5] 
iPad  Safari
Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G36 Safari/601.1 
iPod
BalckBerry
Nokia
SonyEricsson
webOS
PalmOS
Macintosh  Safari
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0.2 Safari/602.3.12 
Macintosh  Chrome
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
PC  FireFox
Mozilla/5.0 (Windows NT 6.2; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0
PC  Chrome
Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36
PC  Safari
Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
PC  Edge
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586
PC  Internet Explorer 11
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
PC  Internet Explorer 10
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
PC  Internet Explorer 9
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
PC  Internet Explorer 8
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
PC  Internet Explorer 7
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
PC  Internet Explorer 6
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)

https://youngsam.net/BrowserAgentInfo.php
2018/07/25 21:20 2018/07/25 21:20
2013년 2월 1일 우편번호 자료로 
시군 - 구군 - 읍동면 형식으로 3단계로 나뉘었구요. 
시군은 코드 2자리 
구군은 코드 4자리 
읍동면은 코드 6자리 
각 지역코드 값 형식은 아래 예와 같습니다. 
서울 - 01 
강남구 - 0101 
대치동 - 010101 
특이사항 - 세종시는 1단계고 세종시의 2단계는 동입니다. 세종시는 3단계가 없음 
우편번호 자료로 만든것이다 보니 3단계에 "서울강남우체국사서함" 이런것들이 있습니다. 

2018/07/25 21:14 2018/07/25 21:14
https://css-tricks.com/examples/ShapesOfCSS/
2018/07/25 21:12 2018/07/25 21:12
요즘 아이프레임을 쓸 일이 별로 없지만 프로그래밍을 하다가 보면 꼭 필요한 때가 있죠.
간단한 예제 올려봅니다.
--------------------------------------
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<title>아이프레임(iframe) 높이(height:세로) 자동조절</title>
<style type="text/css">
*{margin: 0 auto;} 
body {} 
#my-iframe {display:block;border:none;height:100vh;width:100vw}
</style>
<head>
<body>
<iframe id="my-iframe" src="대상 url 기입" crolling="no" frameborder="none"></iframe>
</body>
</html>
--------------------------------------
뷰포트 (Viewport units: vw, vh, vmin, vmax) 단위 호환성은 아래 링크와 같습니다.
https://caniuse.com/#feat=viewport-units
--------------------------------------
2018/07/25 20:52 2018/07/25 20:52