CKEditor 란?


CKEditor를 소개합니다.

CK에디터는 일반적으로 게시판에 글을쓸때 쉽게 편집을 할 수 있도록 도와주는 툴 입니다.

쉬운 설명을 위해 아래 사진을 참고해주세요.



위와같이 게시판 글을 수정하거나 편집을 원한경우, 텍스트 크기, 문단 나눔, 사진업로드등 기능을 편하게 이용하기위해 사용합니다.

CK에디터는 오픈소스 라이브러리 입니다.

하지만 CK에디터가 어느정도 안정이되고 나서부터는 상업적 용도로 사용할때는 일정 비용을 지불하고 사용을 하여야 합니다.


CKEditor 공식 홈페이지 : https://ckeditor.com/ckeditor-5/


CKEditor5 사용법?


간단하게 CKEditor5 사용방법에대해 소개 드리려합니다.

가장 최신버전인 CKEditor5를 사용한 샘플 예제입니다.



먼저, 홈페이지에 접속해주세요. (https://ckeditor.com/ckeditor-5/)

상단 메뉴에 다운로드 메뉴에 들어가서, 빌드 방식을 선택해주세요.


저는 가장 기본인 Classic을 선택하겠습니다.

빌드 방법에따라 에디터의 사용방법 및 용도가 달라집니다.

미리 Overview에서 용도를 확인하시고 선택해주시면 되겠습니다.



그후 다운로드 메뉴로 내려가 다운을 시도하면 됩니다.


방법은 3가지를 제공하고있습니다.


1. 리눅스 시스템에 바로 다운로드 가능한 링크 (npm)

2. Zip 패키지 윈도우에서 스크립트형식으로 파일을 제공해줍니다.

3. CDN링크 다이렉트로 HTML 스크립트상에 붙여넣어주면 바로 사용이 가능합니다.


* CDN 용어의 자세한사항은 '용어(약자)' 게시판을 참고해주세요.


전 가장 간단한 CDN을 통하여 제작을 해보겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<HTML>
 <HEAD>
  <TITLE> CKEditor5 Sample </TITLE>
  
  <!-- 1. CDN -->
  <script src="https://cdn.ckeditor.com/ckeditor5/11.0.1/classic/ckeditor.js"></script>
 </HEAD>
 <BODY>
    <!-- 2. TEXT 편집 툴을 사용할 textarea -->
    <textarea name="content" id="editor"></textarea>
    <script>
    // 3. CKEditor5를 생성할 textarea 지정
    ClassicEditor
        .create( document.querySelector( '#editor' ) )
        .catch( error => {
            console.error( error );
        } );
    </script>
 </BODY>
</HTML>
 
cs

주석 을 순서대로 확인 해보겠습니다.


1. CDN스크립트를 그대로 <head>에 붙혀주었습니다. 이로써 바로 CKEditor 스크립트를 마음대로 사용할수 있는 환경이 완성되었습니다.

2. CKEditor툴을 사용할 textarea를 <body>에 만들어 주었습니다.

3. 이제 생성한 textarea에 ckeditor를 생성해주는 스크립트문을 작성하였습니다. (홈페이지 문서 페이지에 코드를 제공합니다.)


CKEditor 결과 


사진과 같이 CKEditor가 정상 구동 되었습니다.



Sample.html


혹시 따라함에 어려운분이 계실까봐, 위 링크에 샘플 파일을 첨부파일에 첨부하겠습니다.



[번외] CKEditor 만약 "이미지 업로드" 기능을 제거하고 싶다면?


아주 간단 합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<HTML>
 <HEAD>
  <TITLE> CKEditor5 Sample </TITLE>
  
  <script src="https://cdn.ckeditor.com/ckeditor5/11.0.1/classic/ckeditor.js"></script>
 </HEAD>
 <BODY>
    <textarea name="content" id="editor"></textarea>
    <script>
    ClassicEditor
        .create( document.querySelector( '#editor' ), {
            // 제거 하고싶은 플러그인 (배열)
             removePlugins: [ 'ImageUpload' ]
        } )
        .catch( error => {
            console.error( error );
        } );
    </script>
 </BODY>
</HTML>
cs


주석 부분에 추가 스크립트 작성으로 간단히 CKEditor에 필요하지 않은 플러그인을 제거 할 수가 있습니다.

자세한 내용은 문서 안에 있습니다.


위 스크린샷과 같이 이미지업로드 버튼이 사라진것을 확인할수 있습니다.


더 자세한 추가사항 및 기능은 아래 링크로 확인 하실수 있습니다.


CKEditor 문서 링크 : https://ckeditor.com/docs/ckeditor5/latest/builds/



반응형


SOT 약자 용어를 잘 접하기는 힘들거 같습니다.

최근에 모바일쪽에 관심있게 보던중 너의 SOT는 얼마정도 되니? 라는 글을 읽었습니다.

그럼 SOT가 무엇일까요?


 

 "SOT"Screen On Time을 의미합니다. 


 안드로이드 폰에서 화면 켜짐 시간 정도로 해석할수있는데요.


 보통은 모바일폰의 배터리 타임을 측정(비교)할때 많이들 묻곤 합니다.


 보통은 설정 -> 배터리 / 전원 메뉴에 들어가보면 확인해볼수 있습니다.


 SOT가 높은폰을 기준으로 배터리가 용량이 양호하다면, 배터리가 좋은폰으로 판단할수있습니다.


 유튜브, 게임, 영화등 비교시간도 측정하여 판단하기도 합니다.




* 참고링크

https://www.gogi.in/screen-on-time-sot.html


반응형



MySQL에서 간혹가다 세로(종)로 쌓여있는 데이터를 가로(횡)으로 전환하여 검색결과를 출력해야 할때가 있습니다.

(특히 게시판 경우 빈번합니다.)


하지만 세로를 가로로 돌리기란 여간 복잡합니다.

특히나, 숫자형식으로된 세로로 쌓인 데이터는 비교적 가로로 데이터를 출력하기 쉬우나 문자로된 데이터는 여간 힘듭니다.


오늘은 문자 데이터를 세로를 가로로 돌리는 쿼리문을 포스팅해보겠습니다.


 1. 샘플 데이터


1
SELECT * FROM 동물_TABLE;
cs


 동물키

 종류

이름 

 그룹1

 곤충

 메뚜기

 그룹1

 포유류

코끼리

 그룹1

 양서류

개구리

 그룹2

 곤충

 사마귀

 그룹2

 포유류

 기린

 그룹2

 양서류

 도룡농


기본으로 그룹을 묶을수있는 키가 필요 합니다.

먼저 샘플데이터는, 같은 종류끼리 가로(횡)으로 정렬을 목적으로 하겠습니다.



 2. 결과 : 가로횡 SELECT 쿼리


1
2
3
4
5
6
7
8
9
SELECT
    동물키
    , MAX(CASE WHEN 종류 = '곤충' THEN 이름 END) AS 곤충
    , MAX(CASE WHEN 종류 = '포유류' THEN 이름 END) AS 포유류
    , MAX(CASE WHEN 종류 = '양서류' THEN 이름 END) AS 양서류
FROM (    
        SELECT * FROM 동물_TABLE
     ) T
GROUP BY 동물키;
cs


 동물키

 곤충

포유류

양서류

 그룹1

 메뚜기

코끼리

개구리 

 그룹2

사마귀

기린

도룡농


위와 같은 결과를 얻을수 있습니다.

CASE 문과 MAX값으로 각 그룹의 최대값을 가져와 보여주는 방식입니다.

이렇게 쉬운방식으로 세로(종) 데이터를 가로(횡) 으로 출력 할 수 있습니다.



반응형




아무래도.. 블로그를 운영하면서 코드와 스크립트등을 예쁘게 보여줄 방법이 필요하였습니다.


그러다 검색하다보니 " Color Scripter " 라는 아주 손쉽게 스크립트를 제공하고 있더라구요.


사용방법을 소개하고자 합니다. 





1. 먼저 Color Scripter 사이트에 접속하세요.


https://colorscripter.com/


2. 블로그에 포스팅할 코드/스크립트를 입력합니다.

저 같은 경우는 'SELECT * FROM TEST_TABLE;' 이라고 입력하니, 언어가 자동으로 (SQL)로 감지하여 변경되었습니다. (코드 타입을 알아서 감지하는것 같습니다 ^^)



3. 상단 메뉴를 입맛이 맞게 변경 합니다.


저는 서브라임 블랙을 선택하고 배경은 이중색상(격배경)을 선택하였습니다.




4. 우측 하단에 클립보드 복사버튼을 누르신 후, 작성중인 글에와서 붙여넣기(컨트롤+V) 해주세요.



손 쉽게 예쁜 코드블럭을 입힐수 있게되었습니다. (복사하여 붙여넣기한 결과값 입니다.)


1
SELECT * FROM TEST_TABLE;
cs



5. 더 자세한 기능 및 정보는 아래의 링크에서 확인해주세요.

https://colorscripter.com/info




반응형


MySQL 테이블 존재 여부 확인 과정을 거치고 그 존재 여부에 따른 상황 판단 작업이 필요하여 코드를 작성하게되었습니다. (한마디로 IF/ELSE문 입니다.)


개발 환경은 JAVA/SPRING, MySQL, Mybatis 입니다.


1. 테이블 존재 여부를 확인하여야 한다.


2. 테이블 존재 여부를 확인한 후,

->존재한다면 SELECT문을 한번더 실행

->존재하지 않는다면 0을 리턴


하는 코드값이 필요하였습니다.


#테이블 존재여부 쿼리

1
2
3
4
5
SELECT COUNT(*) #카운트 결과값이 0 이면 존재X, 1 이상 존재O
FROM information_schema.TABLES
WHERE
    TABLE_SCHEMA = 'DB 이름'
    AND TABLE_NAME = '테이블 이름'
cs



존재여부를 파악한 뒤, 처음 시도는 프로시저형식으로 시도를하였으나 제가사용하고있는 MySQL은 MyBatis에서 변수 선언식으로 동작을 하지않아 다른방법을 택하였습니다.


두가지 방법다 필요하신분이 있을수도 있어 같이 포스팅 합니다.


#변수 선언 - 1안

1
2
3
4
5
6
7
8
9
SET
@test := CASE (SELECT COUNT(*
                            FROM information_schema.TABLES
                            WHERE TABLE_SCHEMA = 'DB 이름' AND TABLE_NAME = '테이블 이름'
                             )
                       WHEN 0 THEN 0 #존재하지 않는다면 0
                       ELSE (SELECT 1+1 FROM DUAL)  #ELSE 존재한다면 후 처리 쿼리
END;
SELECT @test
cs


#MyBatis 사용 IF문 쿼리 - 2안

1
2
3
4
5
6
7
8
9
SELECT IF(
            (SELECT COUNT(*
                FROM information_schema.TABLES
                WHERE
                     TABLE_SCHEMA = 'DB 이름'
                    AND TABLE_NAME = '테이블 이름'> 0 # 결과값이 0보다 크다면 테이블이 존재
                    , (SELECT 1+1 FROM DUAL) # 존재한다면 후 처리 쿼리
                    , 0 #ELSE 존재하지 않는다면 후 처리 쿼리
            ) AS CNT
cs


참고로 제가 사용하고있는 Mybatis는 3.3.0 버전 입니다.



* 참고링크

https://stackoverflow.com/questions/18738909/mysql-select-if-table-exists


반응형


요즘은 남녀노소 누구나, 우리가 대부분 하나씩 다 가지고있는 스마트폰에 대한 용어 입니다.

OTA는 휴대폰 업데이트를 의미하는건데요.

보통은 휴대폰을 사용하다보면 업데이트가 있습니다. 업데이트를 진행하시겠습니까? 묻는것이 OTA입니다.



 "OTA"Over The Air를 의미합니다. 


 해석하자면 "방송으로" 정도로 해석되겠는데요. 무선통신을 의미합니다.


 컴퓨터에 연결하지않고 서버에서 보내주는 업데이트를 정보를 받아 무선으로 업데이트를 진행하는 방식입니다.



* 참고링크

https://namu.wiki/w/OTA




반응형


구글 클라우드 플랫폼에서 간혹 GA 되었다! Now on GA등 본적이 있으실텐데요.

저도 잘모르는 용어였는데 찾아보고 알게되었네요.



 "GA" 란.. General Availability 를 의미합니다.


 일반적으로 사용하는 단계 정도로 해석되고, 알파/베타 단계를 거친후 상용서비스를 의미합니다.



구글 클라우드 기능1이 GA 가 되었다.


* 참고 링크

https://cloud.google.com/terms/launch-stages


반응형

+ Recent posts