본문 바로가기
말하는나무 PR. Mahannamu

텍스트 편집기, 이미지 편집기 따로

by Mr.코딩 2023. 7. 19.

글자 크기와 서체를 선택할 수 있고, 진하게 / 기울이기 / 언더바 / 글자색 / 글자 배경색을 선택할 수 있으며, 글자 위치를 좌측 / 가운데 / 우측으로 옮기도록 조정할 수 있고, 간단한 표를 생성해서 삽입할 수 있고, 링크 삽입, 목록 삽입, 파일 삽입이 가능한 이미지 편집기 겸 글(텍스트) 편집기를 JavaScript로 구축해서 사용자가 편집 완료 후 이메일을 통해 다른 사람에게 송달할 수 있도록 하려 한다. 이 편집기를 가볍고 빠르게 구축하려면?

 

chatGTP

가볍고 빠르게 구축하기 위해 다음과 같은 접근 방식을 사용할 수 있습니다:

  1. 기본 텍스트 에디터 구축: 가장 간단한 방법은 JavaScript와 HTML을 사용하여 기본 텍스트 편집기를 만드는 것입니다. 사용자가 텍스트를 입력하고 서식을 적용할 수 있는 기능을 포함시킵니다. 이를 위해 `contenteditable` 속성을 사용하여 편집 가능한 영역을 만들고, JavaScript로 사용자 입력을 처리하고 서식을 적용하는 기능을 추가할 수 있습니다.
  2. 외부 라이브러리 활용: 이미 다양한 기능과 서식 옵션을 제공하는 외부 라이브러리를 활용하는 것이 더욱 효율적일 수 있습니다. 예를 들어, Quill.js, CKEditor, TinyMCE 등의 텍스트 에디터 라이브러리를 사용하여 풍부한 서식 옵션을 가진 편집기를 구축할 수 있습니다. 이러한 라이브러리들은 사용이 간편하며, 커스터마이징이 가능하며, 이미지 삽입, 링크 삽입, 목록 삽입 등과 같은 다양한 기능을 제공합니다.
  3. 외부 템플릿 및 컴포넌트 활용: 가벼운 솔루션을 찾기 위해 외부 템플릿이나 컴포넌트를 활용하는 것도 좋은 방법입니다. 이를 통해 이미 다양한 서식 옵션과 기능이 구현된 에디터를 가져와서 필요한 부분을 커스터마이징하고 통합할 수 있습니다. 예를 들어, Bootstrap과 같은 CSS 프레임워크와 함께 제공되는 에디터 템플릿이나 Vue.js, React 등과 함께 사용할 수 있는 에디터 컴포넌트를 활용할 수 있습니다.

이러한 접근 방식은 가볍고 빠르게 편집기를 구축할 수 있도록 도와줄 것입니다. 선택한 방법에 따라 구현하기 위해 해당 기술과 도구에 대해 자세히 공부하고, 필요한 서식 및 기능을 추가하여 편집기를 완성할 수 있습니다.


학습하는 입장에서 '텍스트 편집기' 따로, '이미지 편집기' 따로 만드는 게 낫겠네?

 

chatGTP

네, JavaScript를 배우는 주니어로서 1번 방법을 선택하는 것은 좋은 선택일 수 있습니다. 기본 텍스트 에디터를 구축하는 것은 JavaScript의 기본 문법과 DOM 조작에 대한 이해를 도와줄 뿐만 아니라, 실제로 JavaScript를 사용하여 프로젝트를 구현하는 경험을 쌓을 수 있는 기회를 제공합니다.

 

1번 방법을 선택하면 다음과 같은 이점이 있을 수 있습니다:

 

  1. 기본 문법과 DOM 조작 이해: 텍스트 에디터를 구축하는 과정에서 JavaScript의 기본 문법과 DOM 조작에 대한 이해를 향상시킬 수 있습니다. 이는 JavaScript를 사용하여 웹 애플리케이션을 개발하는 데 필수적인 기초 지식입니다.
  2. 학습 과정 중심의 접근: 텍스트 에디터를 구축하면서 필요한 기능과 서식을 추가하고 문제를 해결하는 과정을 경험함으로써 실제 개발자로서의 문제 해결 능력을 향상시킬 수 있습니다.
  3. 세부적인 커스터마이징: 기본 텍스트 에디터를 구축하면서 사용자 인터페이스 및 서식 옵션에 대한 커스터마이징을 직접 할 수 있습니다. 이를 통해 자신만의 에디터를 개발하고 원하는 방향으로 확장할 수 있습니다.

물론, 1번 방법을 선택하면서 외부 자료나 튜토리얼을 참고하며 학습하는 것이 도움이 될 수 있습니다. 그리고 학습 과정에서 생기는 질문이나 문제에 대해 검색을 통해 해결하는 것도 좋은 방법입니다. 주어진 시간과 노력을 투자하여 기본 텍스트 에디터를 구축하면서 JavaScript 실력을 향상시킬 수 있습니다.


Task

텍스트 편집기 따로, 이미지 편집기 따로 구축한 다음 합치는 게 낫겠군.


맞춤제작 견적 의뢰서를 구글Sheet로 대강 그려봤다.

이걸 JavaScript로 구현하려면...?