[MySQL] 전체 날짜 출력하기 - 데이터가 없는 경우 포함[MySQL] 전체 날짜 출력하기 - 데이터가 없는 경우 포함

Posted at 2020. 2. 7. 10:22 | Posted in MySQL/MySQL
반응형




참고 : https://dyang34.tistory.com/362





■ 값이 존재하지 않는 데이터의 날짜 출력하기




# 조회쿼리

SELECT a.date_ymd FROM (

SELECT CURDATE() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as date_ymd FROM (

SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4

UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9

) AS a

CROSS JOIN (

SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4

UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9

) AS b

CROSS JOIN (

SELECT 0 as a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4

UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9

) AS c

) AS a

WHERE 1 = 1

AND a.date_ymd BETWEEN '2020-01-01 00:00:00' AND '2020-01-31 23:59:59'

-- AND a.date_ymd LIKE '2020-01-%' -- 한달만 검색 하려고 하는경우

ORDER BY a.date_ymd ASC




# 출력결과




반응형
//

[Ubuntu] 파이프와 리다이렉션[Ubuntu] 파이프와 리다이렉션

Posted at 2020. 1. 31. 19:08 | Posted in Linux/Ubuntu
반응형




■ 파이프와 리다이렉션




리눅스 콘솔에서 작업을 하다 보면 2개 이상의 명령어를 조합해서 원하는 작업을 하는 경우가 있다.


명령어들 각각의 특징과 기능을 정확히 이해하고 조합함으로써


새로운 명령 형태 또는 복잡한 명령 형태를 수행할 수 있게 해준다.


이렇게 여러 명령어를 조합하기 위해서는 파이프와 리다이렉션의 개념을 이해하고 있어야 된다.


두 가지 개념은 비슷하지만 다르다.




#01. 파이프



파이프는 기호 「 |  」 를 의미한다. 파이프는 앞쪽에서 수행된 명령어의 결과를 


파이프 뒤쪽 명령어에게 전달하라는 의미이다.


뒤쪽 명령어는 앞 명령어가 수행한 결과를 가지고 적절한 결과를 다시 보여줄 수가 있게 된다.



 $ ls | more 

 




위 명령어는 간단하게 ls 명령어와 more라는 명령어를 파이프로 조합한 것이다.


ls 명령어는 앞에서 자주 봤듯이 현재 디렉토리에 있는 파일과 하위 디렉토리 목록을 보여주는 명령어이다.


그리고 more라는 명령어는 화면에 출력할 내용을 커서키를 이용해서 한 줄씩 출력하게 해주는 명령어이다.


ls 명령어를 입력했는데 보여줄 내용이 많아서 한 화면에 다 담을 수 없을 경우 위쪽에 출력된 내용은 잘리게 된다.


하지만 more 명령어를 파이로 조합해서 수행하게 되면 전부 살펴 볼 수 있다.


이처럼 more라는 명령어는 파이프와 함께 자주 사용되는 명령어이다.



 $ cat test.txt | more 



위 명령어는 test.txt의 내요을 한 줄 씩 키보드 커서를 이용해서 살펴볼 수 있게 해준다.


파일의 내용을 살펴보다가 종료혀라면 키보드 q를 누르면 된다.



 $ ps -aux | grep init

 


위 예제는 ps 명령어를 이용해서 시스템의 프로세스 목록을 얻어온 후에 init이라는 단어를 찾아서


해당 라인만 보여주라는 명령어이다.


grep 역시 more와 마찬가지로 파이프와 같이 사용되는 대표적인 명령어이다.


앞쪽 명령어가 수행된 결과에서 특정 키워드를 찾아준다.


파이프는 2개 이상의 명령어를 연결하는 것도 가능하다.


계속 파이프를 이용해서 여러 명령어를 연결할 수도 있다.





#02. 리다이렉션



리다이렉션은 「 > 」 또는 「 < 」 기호를 의미한다.


표준 출력 또는 표준 입력의 방향을 바꿔줄 때 사용한다.


표준 출력과 표준 입력이 좀 생소할 수 있는데 아래 예제를 살펴보자.


 $ ls > result.txt



ls라는 명령어의 결과는 원래 화면에 그 내용을 보여주도록 되어 있다.


하지만 리아디렉션 기호 「 > 」 를 입력하면 화면에 출력해야 할 결과를 result.txt 라는 파일에 저장하게 할 수 있다.


반대의 경우( 「 > 」 기호를 사용하는 경우 )는 아래와 같다.


 $ grep init < test.txt 

 


test.txt 파일을 읽어서 init 이라는 단어가 있는 줄만 화면에 출력한다.


원래 grep 명령어는 키보드 입력이나 다른 명령어의 결과 입력을 기반으로 동작하는 명령어인데


리다이렉션을 이용해서 text.txt 파일의 내용을 입력으로 쓸 수 있게 해준다.


만약 리다이렉션을 이용하지 않고 파이프를 이용한다면 아래와 같이 해도 동일한 결과를 얻는다.



 $ cat text.txt | grep init 

 


리다이렉션은 화면에 출력할 내용( 표준 출력 ) 이나 사용자가 키보드로 입력한 내용(표준 입력)의 방향을


파일이나 특정 장치로 방향을 바꾸는데 사용된다.


파이프에 비해서 조금 어려울 수 있지만 다행이 리다이렉션은 파이프에 비해서 초보자들이 많이 쓸 일은 없다.







반응형
//

[Kakao] Kakao 계정으로 Login 하기[Kakao] Kakao 계정으로 Login 하기

Posted at 2020. 1. 31. 11:16 | Posted in API/Kakao
반응형




■ 카카오 계정으로 로그인 하기




# 소스코드

<html>

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=ege"/>

<meta nmae="viewport" content="user-scalable=no,inital-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,width=device-width">

<title>:: Custom Login Demo - Kakao JavaScript SDK ::</title>

<script type="text/javascript" src="https://developers.kakao.com/sdk/js/kakao.min.js"></script>

<script type="text/javascript">

    document.addEventListener("DOMContentLoaded", function() {


        // @details 카카오톡 Developer API 사이트에서 발급받은 JavaScript Key

        Kakao.init( "발급받은 JavaScript Key" );


        // @breif 카카오 로그인 버튼을 생성합니다.

        Kakao.Auth.createLoginButton({

              container : "#kakao-login-btn"

            , success : function( authObj ) {


                // console.log( authObj );


                Kakao.API.request({

                      url : "/v1/user/me"

                    , success : function( res ) {


                        // console.log( res );


                        // @breif 아이디

                        document.getElementById( "kakaoIdentity" ).innerHTMLres.id;


                        // @breif 닉네임

                        document.getElementById( "kakaoNickName" ).innerHTMLres.properties.nickname;


                        // @breif 프로필 이미지

                        document.getElementById( "kakaoProfileImg" ).srcres.properties.profile_image;


                        // @breif 썸네일 이미지

                        document.getElementById( "kakaoThumbnailImg" ).srcres.properties.thumbnail_image;


                    }, fail : function( error ) {

                        alert( JSON.stringify( error ) );

                    }

                });

            }

            , fail : function( error ) {

                alert( JSON.stringify( error ));

            }

        });

    });

</script>

</head>

<body>

    <div>카카오 아이디 : <span id="kakaoIdentity"></span></div>

    <div>닉네임 : <span id="kakaoNickName"></span></div>

    <div>프로필 이미지 : <img id="kakaoProfileImgsrc=""/></div>

    <div>썸네일 이미지 : <img id="kakaoThumbnailImgsrc=""/></div>

    <br/>

    <a id="kakao-login-btn"></a>

</body>

</html> 




# 출력결과







반응형

'API > Kakao' 카테고리의 다른 글

[Kakao] KakaoTalk으로 링크 공유하기 API  (5) 2018.08.31
//

[Ubuntu] 파일찾기 및 파일내용 검색 하기[Ubuntu] 파일찾기 및 파일내용 검색 하기

Posted at 2020. 1. 28. 14:37 | Posted in Linux/Ubuntu
반응형




■ 터미널 - 특정 파일 찾기





#01. 파일찾기 - find 명령어



특정 파일을 찾는 방법은 아래와 같다.


 $ find . -name '*.jpg'




위 명령은 현재 디렉토리와 그 하위 디렉토리를 검색해서 모든 jpg 파일을 찾으라는 명령이다.


다른 예제 하나 더 살펴보자.


 $ find / -name 'Music' -type d 

 



위 명령은 루트( root ) 디렉토리부터 검색해서 Music이라는 폴더를 찾으라는 명령이다.




그 외에도 find 명령은 매우 다양한 옵션으로 파일을 찾을 수가 있다.


예를 들어 특정 크기 이상의 파일만 찾을 수도 있다.


더 많은 옵션을 살펴보고자 한다면 help 명령을 이용하자.



 $ find -help 

 




#02. 파일찾기 - whereis 명령어


 $ whereis vi



위 결과를 살펴보면 vi 실행 파일이 어디 있는지 물어보고 있다.


whereis 명령어는 특정 실행 파일의 위치와 실행 파일과 관련된 파일들의 위치를 알려주는 명령어이다.


이 명ㄹ형어는 모든 파일을 다 찾는 명령어는 아니고 실행 파일이나 라이브러리 파일 같이


시스템 관련 디렉토리에 존재하는 파일만을 찾는다.





#03. 파일찾기 - locate 명령어


 $ locate test.txt




이 명령어는 find와 비슷하게 동작한다.


특정 파일명을 넣으면 해당 파일명이 포함된 파일들을 검색해 준다.


find보다 속도가 좀 빠르지만 다양한 옵션은 부족하다.









■ 터미널 - 파일 내용 검색하기





간혹 파일명이 아니라 파일의 내용 중에서 뭔가를 찾고 싶은 경우가 있다.


특정 키워드가 파일 내용 안에 있는지 검색할 수 있는 방법이 있다.


 $ find . -name '*.txt' | xargs grep -n test




현재 디렉토리와 하위 디렉토리에 있는 확장자가 txt인 파일들 중에서


저장된 내용중에 test라는 문자열을 포함하는 파일을 찾으라는 명령이다.


또는 아래처럼 입력해도 된다.



 $ grep -r test ./

 



현재 디렉토리와 하위 디렉토리를 검색해서 test 라는 문자열을 가지고 있는 파일을 찾으라는 명령이다.


파일의 내용을 살펴보고자 한다면 아래와 같이 입력한다.



 $ cat test.txt




파일이 너무 크다면 가장 끝에 몇 줄만 보고 싶을 수 있을 것이다.



 $ tail -n 50 test.txt




위 명령어는 끝 부분 50줄만 보여주는 명령이다.


tail 명령어 반대로는 head 라는 명령어도 있다.


파일의 맨 앞 줄 몇 라인만 보여주는 명령어이다.






반응형
//