Header




로딩 한국 시간: 2025-12-17 12:57:06.732048
로딩 UTC 시간: 2025-12-17 03:57:06.732048

ETC related Development

FastAPI 자습서 - 사용자 안내서
CSS로 글자수 넘어가면 말줄임표 만들기...
position: sticky 동작하지 않을 때
[ HTML ] 공백 넣기(띄어쓰기), 줄 바꿈하는 법

pycharm에서 .jshintrc 파일적용시키는 방법
---. .jshintrc 파일의 위치는 프로젝트 폴더 아래(main.py와 동일한 위치)
---. settings > Languages & Frameworks -> JavaScript -> Code Quality Tools -> JSHint ->Enable JSHint와 Use config files 체크박스를 활성화

Highlighter Module

# html 파일
<!-- Include your favorite highlight.js stylesheet -->
<link> href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css" rel="stylesheet"</link>

<!-- Include the highlight.js library -->
<script> src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>

# js 파일
const quill = new Quill('#editor', {
    theme: 'snow',
    modules: {
        syntax: true, // Include syntax module
        toolbar: [['code-block']] // Include button in toolbar
        },
    });
# My Customizing
const baseToolbar = [
    ['bold', 'italic', 'underline', 'strike'],
    ['link', 'image', 'video'],
    [{'header': 1}, {'header': 2}, {'header': 3}],
    [{'list': 'ordered'}, {'list': 'bullet'}, {'list': 'check'}, {'indent': '-1'}, {'indent': '+1'}],
    ['blockquote', 'code-block'],
    [{'script': 'sub'}, {'script': 'super'}, 'formula'],
    [{'color': []}, {'background': []}, {'align': ['', 'center', 'right', 'justify']}],
];

const quillModulesConfig = {
        syntax: true,              // Highlight syntax module
        toolbar: {
            container: baseToolbar,
            handlers: {
                image: imageInsertByToolbarButton,
                video: videoInsertByToolbarButton,
            }
        },
        imageResize: {
            modules: ['Resize', 'DisplaySize', 'Toolbar'],
            displayStyles: {backgroundColor: 'black', border: 'none', color: 'white'},
            handleStyles: {backgroundColor: '#fff', border: '1px solid #777', width: '10px', height: '10px'}
        },
        quillCustomizer: {
        objectId: typeof _objectID !== "undefined" ? _objectID : null,
        initialContent: typeof _editorContent !== "undefined" ? _editorContent : null
        },
    };

const quill = new Quill(editorElement, {
        theme: 'snow',
        placeholder: '여기에 내용을 입력하세요...',
        modules: quillModulesConfig
    });
(.venv) PS D:\Python_FastAPI\My_Advanced\FastAPIjavaQuill_0.0.1> python
Python 3.13.5 (tags/v3.13.5:6cb20a2, Jun 11 2025, 16:15:46) [MSC v.1943 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from app.core.database import AsyncSessionLocal
>>> from app.models.articles import Article
>>> from datetime import datetime
>>> from datetime import timezone
>>> import asyncio
>>> db = AsyncSessionLocal()
>>> for i in range(300):
...     q = Article(title='테스트 데이터입니다.', content='내용무', author_id=1, created_at=datetime.now(timezone.utc))
...     db.add(q)
>>> asyncio.run(db.commit())
(.venv) PS D:\Python_FastAPI\My_Advanced\FastAPIjavaQuill_0.0.1> python
Python 3.13.5 (tags/v3.13.5:6cb20a2, Jun 11 2025, 16:15:46) [MSC v.1943 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import secrets
>>> secrets.token_hex(35)