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


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

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

가장큰 장점으로 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
# PHP 함수: 그누보드5 파일을 보다가 나오는 함수를 php.net 등에서 메모한 것입니다.
 
* abs(): Reterns absolute value of number.
 
* @: 오류메세지를 표시하지 않겠다는 의미이다.
 
* addslashes(): Quote string with a C style. Returns a string backslashes before characters that are listed in Charleston Parameter. 
각 문자앞에 \ 를 넣는다.
 
* array_merge(): Merge one or more arrays.
 
* array_map(): Applies the callback to the elements of the given arrays.
 
*array_unique(): Remove duplicate values from an array.
 
* array_count_values(): Count all the values of an array.
 
* array_key_exists( $key, $array ): Checks if the given key or index exists in the array.
 
* array_push(): 전달된 배열의 끝에 하나의 배열요소를 추가하는 기능을 한다.
즉 array_push()로 전달된 배열의 길이는 1 만큼 늘어난다.
ᆞ$topicIDs= array() ; 
ᆞarray_push($topicIDs, $row[ 'topic_id' ] ) ;
ᆞ하나 이상의 element를 array의 마지막에 삽입한다 
ᆞ문법 :
array_push( array, value1, value2 . . . ) ;
-예 :
<body>
<?php
$a= array("red", "green") ;
array_push($a, "blue", "yellow") ;
print_r($a) ;
?>
</body>@
* basename(): Returns trailing name component of path.
파일이름과 확장자만 추출한다.
* base64_decode(): Decodes a base64 encoded data.
*줄뛰울때  echo "<br>" ; 을 넣는다.
* ceil(): Round fractions up. Returns the next highest integer value by rounding up value if necessary.
* current(): Return the current element in an array.
* count(): Count all elements in an array, or something in object.
* chmod(): Change file mode.
* chr(): Return a specific character
* crypt($str, $salt): with return a hashed string using the standard Unix DES-based algorithm
* date(): Format a local time/date.
ᆞY-m-d
ᆞY: 1999 or 2000
ᆞm: 01 to 12
ᆞd: 01 to 31
* date_default_timezone_set(): 표준 시간대를 정한다.
* define(name, value) ; 런타임 동안 named constant(상수)를 정의한다.
* dirname(): Returns the directory name from a path.
* echo "\$this is not defined.\n" ; 과
echo "\$this is not defined.<br>" ; 은 동일하게 줄을 바꾼다.
* error_reporting(): Set which PHP errors are reported.
* ereg(): Regular expression match. preg_match로 대체됨..
* eval(): Evaluates and excutes a argument.
If the argument is an expression, eval() evaluates the expressiㄷon. 
If the argument is one or more js statement, eval() excutes the statement.:(자바스크립트함수임)
* explode(): Split a string by string.
ㆍexplode( $delimiter, $string )
ㆍ예
$pizza="piece1 piece2  piece3 piece4 piece6 piece6" ;
$pieces= explode (" " ,  $pizza);
* extract($row): import variables from an array into the current symbol table 
* filesize($filename): 주어진 파일의 사이즈를 가져온다. 사이즈를 byte로 제출한다.
* file_exists(): file or directory가 있는지 여부를 체크한다.
* floor(): Round fractions down. Returns the next lowest integer value(as float) by rounding down value
 if necessary.
* filemtime(): Gets file modification time. 파일의 내용이 변화된 시간을 반환한다.
*function_exists(): Return true if the function has been defined.
* filter_var(): 이메일이 형식에맞는지 체크하는 함수이다.
* getenv(): Gets the value of an environment variable.
* get_magic_quotes_gpc(): Gets current configuration setting of magic_quotes_gpc.
* glob(): Find pathnames matching a pattern.
* headers_sent(): Checks if or where headers have been sent.
* htmlspecialchars(): 특수문자를 html실체로 바꿔준다. 예를들면 < and > 를 < 그리고 > 로바꾼다.
* hexdec(): 16진수를 10진수로 바꾸어 출력한다.
ᆞhexdec( $hex_string) 
: hex_string 인수(변환할 문자열)에 표현된 16진수와 동일한 10진수를 반환한다.
* 참고
ᆞdechex(): 10진수를 16진수로
ᆞbindec(): 2진수를 10진수로
ᆞoctadec(): 8진수를 10진수로
ᆞbase_convert(): 수를 임의의 진법으로 변환한다.
* bin2hex( ) : 바이너리 data를 16진 표현으로 변환한다.
ᆞ문법
bin2hex($str) ;
: str의 16진 표현을 갖는 아스키 문자열을 반환한다.
* implode( $glue , $pieces ): Join array elements with a string.  $glue값으로 합친다.
ᆞ$glue: 디폴트값은 공백.
ᆞ$pieces: 임플로드될 array.
* is_file( $filename ): 주어진 파일이 regular file인지를 알려주며, 파일네임이 존재하고 regular file 이면 참이고 그렇지않으면 거짓이다
ᆞ$filename : 파일의 경로이다.
* isset(): 변수가 설정되었는지 검사한다. 변수가 정해져 세팅되고 null이 되지않아야 true이다.
* include_once(): 한번만 인클루드 된다.
* in_array(): Checks if a value exists in an array.
ᆞ$os=array ("mac", "window", "irix", "linux") ;
if (in_array ( 'linux' , $os )) { 
echo "Got Linux" ; }
출력: Got Linux
 
* intval(): Get the integer value of a variable
-예: 
<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
?>
* json_encode(): Returns the JSON representation of value.
* list(): 리스트변수에 value값을 할당 하는 방법이다. array처럼 할당한다.
ᆞ예 :
<?php
$my_array = array( "dog", "cat", "horse" ) ;
list($a, $b, $c)= $my_array ;
echo "I have several animals a $a , a $b and a $c." ;
?>
ᆞ결과:
I have several animals a dog, a cat, and a horse.
*max(): Find highest value.
* mb_substr(문자열, 시작위치, 길이, 인코딩): 문자열에서 정해진 길이만큼 가져온다.
* move_uploaded_file(): Moves an uploaded file to an new location.
* microtime(): return current Unix timestamp with microseconds.
* mb_strtolower(): make a string lowercase.
* mkdir(): Makes directory.
* md5(): Calculate the md5 hash of a string.
* mysql_errno(): Returns the numerical value of the error message from previous mysql operation.
* mkdir(): Makes directory 
ᆞ예
mkdir( "/parh/to/dir" , 0700 )
* mt_rand(): Generate a random value via the Mersenne Twister Random Number Generator.
* mb_substr: Get part of string.
* mt_rand(): Generate a random value via the Mersenne Twister Random Number Generator.
* @mysql_query(): 해당함수가 에러가 발생해도 에러메세지를 출력하지 말라는 의미이다.
* mysql_data_seek(): Moves internal result pointer.
* myaql_affected_rows(): Get number of affected rows in previous Mysql operation.
* mysqli_connect(): mysql 서버에 연결한다.
* mysql_error(): 에러메세지를 표시한다.
* mysql_query(): 쿼리 문자열을 mysql db에 전달해 테이블에 데이타를 저장하거나 검색한다.
* mysql_select_db(): mysql db를 선택한다.
* 출력할때 echo $variables ; 이렇게한다.
* mysql_real_escape_string(): 쿼리에 영향을 줄수 있는 문자를 제거 한다.
* nl2br(): Inserts HTML line breaks before all newlines in a string.
* now(): 현재 날짜와 시간을 알려주는 함수이다.
* number_format(): Format a number with grouped thousands. 천단위로 콤마넣는다.
ᆞ문법
number_format($number, $decimals= 0, $deci_point= " . ", $thousand_sep= " , " )
ᆞ예
$number = 1234.567
number_format( $number ) : 1,234
number_format( $number , 2 ) : 1,234.56
number_format( $number , 3 , ' . '  , ' , ' )  : 1,234.567
* ob_get_level(): Return the nesting level of the output buffer mechanism.
* ob_start (): Turn on output buffering.
* ob_start(): Turn on output buffering.
* ob_get_contents(): Return the contents of the output buffer.
* ob_end_clean(): Clean(erase) the output buffer and turn off output buffering.
* ob_get_contents(): Return the contents of the output buffer.
* ob_end_clean(): Clean(erase) the output buffer and turn off output buffering.
* ord(): Return ASCII value of character.
* password_hash(): creates a new password hash and is compatible with crypt(). 따라서 password hashes created by crypt() can be used with password_hash( ).
ᆞpassword_hash($password, $algo)
* pathinfo(): 파일패쓰에 관한정보를 내보낸다.
ᆞpathinfo(path, options)
* print_r(): 변수에 대하여 사람이 읽을 수 있게 정보를 출력하라
* parse_url(): Parse a URL and return it's components.
* parse_url(): Parse a URL and return it's components.
* PHP_EOD: 줄바꿈.
* preg_match($pattern, $subject, $matches): subject가 pattern에 앚는지 검사한다. 즉, 직접 작성한 하나의 정규표현식($pattern)과 하나의 문자열($subject)을 파라메터로 제공받아 문자열이 정규식과 일치하면 true, 그렇지않으면 false 를 반환한다.
ᆞ$pattern: 검색할 패턴
ᆞ$subject: the input string.
-예-: 정규식에서 $string이 소문자로 시작하면(/^[a-z]/) 파란색으로 출력하고 아니면 붉은색으로 출력하라는 의미이다.
<?php
$string = 'this is flower';
if (preg_match('/^[a-z]/', $string)) {
    echo '<font color="blue">' . $string . ' is little capital string.</font><br />' . PHP_EOL;
}
else {
    echo '<font color="red">' . $string . 'is not little capital string.</font><br />' . PHP_EOL;
}
?>
출력: this is flower is little capital string.
* preg_replace(): 문자열의 유효한 패턴을 확인하고 다른 문자열로 대체한다(perform a regular expression search and replace.)
ᆞ문법: preg_replace($pattern, $replacement, $subject ): subject를 pattern에 맞는지 검사하여 replacement로 대체한다.
ᆞpattern: 검색할 패턴으로 string이나 string을 가진 array가 될수있다.(대체해야할 원하지 않는 문자를 지정한다)
ᆞreplacement: 대체할 string이나 string을 가진 array. 이 문자열로 바뀜(원하지 않는 문자를 이 문자로 대체한다.)
ᆞsubject: 바뀌게 될 문자열(유효성검사 및 대체작업을 할 문자열을 지정한다)
- 예: 2000에서 2009를 2010으로 바꾼다.
$new_year = preg_replace( ' / 200 [ 0-9 ] / ' , ' 2010 ' , ' The year is 2009. ' ) ;
출력: The year is 2010.
* preg_split(): Split the given string by a regular expression.
* print_r(): Prints human readable information about a variable.
* rand($min , $max): 정수 난수를 생성. Generate a random integer. min, max값이 없으면 0과 getrandmax()값 즉 10자리수 값 사이의 임의의 수를 반환한다.
* reset(): Set the internal pointer of an array to its first element.
* rand(): Generate a random integer.
* round(): Rounds a float.(소수 반올림)
* $row= $stmt -> fetch(PDO : : FETCH_ASSOC): read row
* $REMOTE_ADDR(): PHP 전역변수로서 접속자의 IP정보를 저장하고있다.
* session(): 여러 페이지에 걸쳐 사용되는 변수에 정보를 저장하는 방법이다.
ᆞ세션변수는 하나의 유저에 대한 정보를 가진다.
ᆞ session_start(): <html>태그에 앞서 맨앞에 넣는다.
* session_destroy(): Destroys all data registered to a session.
* session_register():  Register one or more global variables with the current session
* setcookie(): Send a cookie.
ㆍsetcookie() defines a cookie to be sent along with the rest of the HTTP headers. Like other headers, cookies must be sent before any output from your script (this is a protocol restriction). This requires that you place calls to this function prior to any output, including <html> and<head> tags as well as any whitespace.
*set_time_limit(): Limits the maximum execution time.
* session_register(): Register one or more global variables with the current session.
  
* strval(): Get string value of a variable.
* strlen(): Get string length. 주어진 string의 길이를 반환한다. 공백도 한개의 자리를 차지한다.
예:
<?php
$str = 'abcdef';
echo strlen($str); 
echo '<br>';
$str = ' ab cd ';
echo strlen($str); 
?>
출력: 
6
7
* session_register(): Register one or more global variables with the current session.
# SHA(): 사용자의 암호를 40개의 문자로 암호화해서 db에 저장한다.
php함수가 아닌 mysql함수이기 때문에 쿼리안에서 호출한다.
ᆞ예 :
INSERT INTO mismatch_user 
(username, password, join_date)
VALUES( 'nettles' , 'SHA('tatlover')' , NOW() ) ;
SELECT * FROM mismatch_user WHERE 
password= SHA('tatlover') ;
* SHA(), MD5()는 mysql에서 제공하는 암호로 SHA()가 더 안전하다.
* php에서도 같은 기능의 sha1(), md5() 암호를 제공하는데 쿼리가 아니고 php코드에서 사용한다
* sha1(): calculates the SHA-1 hash of a string.
ᆞ예:
<?php
$str= "Hello" ; 
echo sha1($str) ;
?>
ᆞ결과
f7ff9e ~ abf0: 디폴트값으로 40자리가 반환된다.
 
 
* sprintf(): Return a formatted string
-영카트예: 주소출력
            <div class="my_info_wr ov_addr">
                <strong>주소</strong>
                <span><?php echo sprintf("(%s%s)", $member['mb_zip1'], $member['mb_zip2']).' '.print_address($member['mb_addr1'], $member['mb_addr2'], $member['mb_addr3'], $member['mb_addr_jibeon']); ?></span>
            </div>
 
* str_replace(A, B, C): C안에 있는 문자중에서 A를 B로 바꾼다.
* substr_count(): Count the number of substring occurrence.
ᆞ문법
substr_count( $haystack, $needle ): 부분 문자열이 몇번사용된 .지 검사한다.
ᆞ예
$text=' this is a test and that is ' ;
echo substr_count( $test, 'is' ) ;
출력: 3
* strlen(): Get string length. returns the length of string. 공백도 문자와 같이 취급한다.
* strpos(): Find the position of the first occurrence of "php" inside the string.
* substr( string , start , length ): 전체문자열 중에서 일부만 선택 
ᆞstring: 추출하려는 문자열이 포함되어 있는 원본 문자열을 지정한다.
ᆞstart: 추출하려는 문자열의 시작 지점을 지정한다.
ᆞlength: 추출하려는 문자열의 길이를 지정한다.
ᆞ공백도 문자하나를 차지한다.
 예:
ᆞ$job_desc = 'Are you a practioner of the lost art of cat juggling?' ;
ᆞsubstr( $job_desc, 4, 3 ) ;  출력: you
ᆞsubstr( $job_desc, 49 ) ; -- 마지막파라메타를 생략함으로서 49부터 모두출력한다.
* sizeof(): This function of alias of count().
* substr(): Returns part of a string. returns the portion of string specified by the start and length parameters.
ᆞsubstr( 'abcdef' , 1 , 3 ):  bcd
ᆞsubstr( 'abcdef' , 0 , 4 ):  abed
ᆞsubstr( 'abcdef' , -1 , 1 ):  file
ᆞsubstr( 'abcdef' , 1 , 3 ):   bcd
ᆞsubstr( 'abcdef' , -4 , -1 ):  cde
ᆞsubstr( 'abcdef' , 0 , 3 ):   abc
* strstr(): Find the first occurrence of a string.
$email= '*** 개인정보보호를 위한 이메일주소 노출방지 ***' ;
$domain= strstr( $email , '@' ) ;
echo $domain ;   
echo '<br>';
$name= strstr( $email , '@' , true ) ;
echo $name ; 
출력: @gmail.com
chulyong
* set_time_limit(): limits maximum execution time.
* trim(): 앞뒤의 빈 문자열 제거한다
ᆞ$name= trim($_POST['name']) ;
ᆞ$score= trim($_POST['score']) ;
ᆞ$screenshot= trim($_FILES[' screenshot'] ['name']) ;
* unset(): destroys the specified variable.
* unlink(): Deletes a file.
* uniqid(): Generate a unique ID.
* var_dump(): type과 value값을 가지는 하나 또는 여러개의 변수를 한꺼번에 타입, 밸류를 디스플레이 한다.
2018/07/25 20:45 2018/07/25 20:45

부트스트랩4버전의 치트시트 사이트 입니다.

 

저도 잘은 못지키지만 사이트 수정할실때 참고만 하셔도

(베이직 css만 잘지켜도)

뚝딱 이쁜 사이트가 나오게 됩니다.

 

타사이트에 비해 예제가 잘 정리되어있네요

http://hackerthemes.com/bootstrap-cheatsheet/

2017/03/30 01:44 2017/03/30 01:44