기상청 지역별 날씨정보 API

Open API/그 외 |2022. 1. 27. 13:51
반응형

https://www.kma.go.kr/wid/queryDFS.jsp?gridx=60&gridy=127

gridx , gridy 는 leaf 에서 확인.

 



http://www.kma.go.kr/DFSROOT/POINT/DATA/top.json.txt

[
{"code":"11","value":"서울특별시"},
{"code":"26","value":"부산광역시"}
...
...
]


http://www.kma.go.kr/DFSROOT/POINT/DATA/mdl.11.json.txt  // 11 : 서울특별시
[
{"code":"11110","value":"종로구"},
{"code":"11140","value":"중구"}
...
...
]


http://www.kma.go.kr/DFSROOT/POINT/DATA/leaf.11110.json.txt // 11110 : 종로구
[
{"code":"1111051000","value":"청운동","x":"60","y":"127"},
{"code":"1111052000","value":"효자동","x":"60","y":"127"}
...
...
...
]

 

timeseries_XML.pdf
0.11MB

댓글()

Throttle & Debounce 스로틀과 디바운스

Open API/그 외 |2021. 9. 6. 14:27
반응형

이런 부분도 한번쯤 고려를 해봐야할것 같음.

 

 

 

https://webclub.tistory.com/607

 

디바운스(Debounce)와 스로틀(Throttle ) 그리고 차이점

Throttle, Debounce & Difference 스로틀(Throttle) 과 디바운스(Debounce) 란 무엇일까? 이 두 가지 방법 모두 DOM 이벤트를 기반으로 실행하는 자바스크립트를 성능상의 이유로 JS의 양적인 측면, 즉 이벤트(ev.

webclub.tistory.com

 

 

 

https://zetawiki.com/wiki/Jquery-throttle-debounce

 

jquery-throttle-debounce - 제타위키

다음 문자열 포함...

zetawiki.com

 

댓글()

유동적인 테이블 Td 셀 병합 rowspan 처리 Javascript 함수

Open API/그 외 |2021. 7. 22. 10:22
반응형

지정 항목의 tr > td 값에 값이 동일 한 경우 rowspan 처리해주는 Javascript 함수입니다.

 

주석 처리된 라인의 경우 contains 를 사용하여 포함된 조건이어서 일부 상황에서 정렬에 의해 해당  Row 사이에 다른 Row가 존재하는 경우 문제가 생길수 있는 상태인데

원작자의 글 댓글에 일치하는 조건으로 코드 개선해주신분이 계셔서 취합했습니다.

 

$(document).ready(function(e){
    genRowspan("td 클래스명");
});
 
function genRowspan(className){
    $("." + className).each(function() {
        //var rows = $("." + className + ":contains('" + $(this).text() + "')");
        var sText = $(this).text();
        var rows = $("." + className).filter(function() {
        	return $(this).text() == sText;
        });
        if (rows.length > 1) {
            rows.eq(0).attr("rowspan", rows.length);
            rows.not(":eq(0)").remove();
        }
    });
}

 

https://zero-gravity.tistory.com/311

 

[jQuery] 유동적인 테이블 셀병합 - rowspan

 위와 같이 소속에 같은 데이터가 있을 경우 하나의 셀로 병합해주는 코드다. $(document).ready(function(e){ genRowspan("td 클래스명"); }); function genRowspan(className){ $("." + className).each(funct..

zero-gravity.tistory.com

https://api.jquery.com/contains-selector/

 

:contains() Selector | jQuery API Documentation

Description: Select all elements that contain the specified text. The matching text can appear directly within the selected element, in any of that element's descendants, or a combination thereof. As with attribute value selectors, text inside the parenthe

api.jquery.com

 

댓글()

팝업 프린트 후 창 자동 닫기

Open API/그 외 |2018. 9. 14. 11:05
반응형

modal 팝업 , 일반 팝업 , 레이어 팝업 등등..온갖 팝업이 난무하는데


프린트하기가 너무 힘든 상황 통합으로 사용하기 위해서 방법을 찾아봤습니다.


어떤 경우 어떤 브라우저 버전에서는 


window.print() 후 window.close() 하면 


프린트 창이 뜨기도 전에 창이 닫히는 상황이 발생하기도하고..


포인트는 출력 후 onfocus 되었을때 창을 닫는다는 것.


최종 적으로는 아래 글에서 내용을 찾아서 처리했습니다.


여러 상황에 히스토리를 갖고 수정방법이 나열되어있습니다.


https://code-examples.net/en/q/6294d6


var content = "Hello";


newWin= window.open();

newWin.document.open();

newWin.document.write(content);

newWin.document.close();

setTimeout(function(){

	newWin.print();

	newWin.onfocus=function(){ newWin.close();}

},500);




댓글()

ip 주소로 국가 조회하는 방법 about.ip2c.org API

Open API/그 외 |2018. 8. 30. 17:08
반응형

아이피주소로 국가 조회하기


서비스하는 내용이 국가별로 제한되는 부분이라


DB를 구축하자니 그 업데이트관리가 문제이고


API가 있지 않을까 해서 구글링을 통해 알게된 사이트입니다.



https://about.ip2c.org



Request : 


https://ip2c.org/8.8.8.8


Response : 


1;US;USA;United States


; 로 구분자가 지정되어있으며


0 : WRONG INPUT , 1 : NORMAL , 2 : UNKNOWN 


US : ISO 국가코드 








아래 내용은 about.ip2c.org 사이트에서 발췌한 INPUT/OUTPUT 설명입니다.

 
==== Accepted inputs: ============================================================

You can use http or https.

https://ip2c.org/XXX.XXX.XXX.XXX
or
https://ip2c.org/?ip=XXX.XXX.XXX.XXX
|
+ standard IPv4 from 0.0.0.0 to 255.255.255.255
+ e.g. we take your IP:
    |
    + URL looks like this:  https://ip2c.org/128.134.3.161
    |                       or
    |                       https://ip2c.org/?ip=128.134.3.161
    |
    + resulting string is:  1;KR;KOR;Korea Republic of


https://ip2c.org/XXXXXXXXXX
or
https://ip2c.org/?dec=XXXXXXXXXX
|
+ decimal number from 0 to 4294967295 (MAX_INT)
+ faster than ?ip= option, less server-side processing
+ to convert IPv4 to decimal you only need to know this:
    |
    + (IPv4) A.B.C.D == A*256^3 + B*256^2 + C*256 + D (decimal)
    + e.g.   5.6.7.8 == 5*256^3 + 6*256^2 + 7*256 + 8
                     == 5*16777216 + 6*65536 + 7*256 + 8
                     == 83886080 + 393216 + 1792 + 8
                     == 84281096


https://ip2c.org/s
or
https://ip2c.org/self
or
https://ip2c.org/?self
|
+ processes caller's IP
+ faster than ?dec= option but limited to one purpose - give info about yourself


Caution
Some clients (e.g. ASP) may have issues while trying to open a file over HTTP.
In that case a slash / preceding ?ip= is obligatory.
==== Possible outputs: ===========================================================

You can use http or https.

0;;;WRONG INPUT
|
+ your request has not been processed due to invalid syntax
    |
    + e.g. bad IPv4 like 300.400.abc.256
    + e.g. bad decimal like 2a3b4c or bigger than MAX_INT


1;CD;COD;COUNTRY
|
+ contains two-letter (ISO 3166) and three-letter country codes, and a full country name
+ country name may be multi-word and contain spaces
+ e.g. we take your IP:
    |
    + URL looks like this:  https://ip2c.org/128.134.3.161
    |                       or
    |                       https://ip2c.org/?ip=128.134.3.161
    |
    + resulting string is:  1;KR;KOR;Korea Republic of


2;;;UNKNOWN
|
+ given ip/dec not found in database or not yet physically assigned to any country


The first digit indicates status so you don't have to always parse the whole string.
Output is always semicolon delimited text/plain - you can pass it to any type of application.


댓글()

Javascript , Data URL을 이용한 엑셀 파일 생성하기

Open API/그 외 |2018. 2. 21. 17:12
반응형





javascript 에서 테이블 구조의 html을 전달 받아 Excel 파일을 생성하는 함수 입니다.


기본적으로 서버에서 만들어진 내용을 다운받도록 하지만 

클라이언트 쪽에서 바로 xls 파일을 생성 할 수 있도록 하는 방법입니다.

기본문법 : data:[<mediatype>][;base64],<data>



    
function fnExcelReport(cont, fileName)
{
	var ua = window.navigator.userAgent;
         
	if ( (navigator.appName == 'Netscape' && ua.search('Trident') != -1) || (ua.indexOf("msie") != -1) )       // IE
	{
		newWin = window.open();
		newWin.document.open("txt/html","replace");
		newWin.document.write(cont);
		newWin.document.close();
		newWin.focus();
		newWin.document.execCommand("SaveAs", true, fileName + ".xls");
		newWin.close();
	}
	else   //other browser
	{
		var a = document.createElement('a');
		var data_type = 'data:application/vnd.ms-excel';
		a.href = data_type + ', ' + encodeURIComponent(cont);
		a.download = fileName+'.xls';
		a.click();
		e.preventDefault();
	}
}


상세 내용은 MDN 웹 Document 를 참조하세요.


링크 : https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

댓글()