Найти в Дзене
Сила блокнота

Программист первый раз разрабатывает плагин для TinyMCE

Для начала расскажу о процессе разработки плагина, а затем уже более интересная информация о том, как я развиваю самого себя и ищу заказы. А вы думали программирование - это сидеть и просто кнопочки тыкать? При написании юридического портала у меня возникла проблема с переносом текстов в визуальный редактор TinyMCE из офисного пакета LibreOffice (это что-то вроде бесплатной замены Ворда). Я довольно быстро изучил информацию и на примерах других плагинов написал свой код. После этого - я решил поделиться кодом с другими - и что в итоге? А в итоге - дописать плагин не могу уже несколько дней. Во-первых надо составить описание на английском языке, причесать всё. Во-вторых - надо сделать сжатую версию Javascript-файла. Да, есть онлайн-сайты по минификации, но меня же это не устраивает - не хочется лезть в чужой огород со своей капустой. В итоге вот уже несколько дней подумываю и посматриваю информацию как сделать всё это официальным способом. Сегодня выделил время на изучение. Весь день на
Оглавление

Для начала расскажу о процессе разработки плагина, а затем уже более интересная информация о том, как я развиваю самого себя и ищу заказы.

А вы думали программирование - это сидеть и просто кнопочки тыкать?

При написании юридического портала у меня возникла проблема с переносом текстов в визуальный редактор TinyMCE из офисного пакета LibreOffice (это что-то вроде бесплатной замены Ворда).

Я довольно быстро изучил информацию и на примерах других плагинов написал свой код. После этого - я решил поделиться кодом с другими - и что в итоге? А в итоге - дописать плагин не могу уже несколько дней.

Пример ошибки при переносе текста в TinyMCE из LibreOffice
Пример ошибки при переносе текста в TinyMCE из LibreOffice

Во-первых надо составить описание на английском языке, причесать всё.

Во-вторых - надо сделать сжатую версию Javascript-файла. Да, есть онлайн-сайты по минификации, но меня же это не устраивает - не хочется лезть в чужой огород со своей капустой. В итоге вот уже несколько дней подумываю и посматриваю информацию как сделать всё это официальным способом.

Сегодня выделил время на изучение. Весь день на это потратил, с 7-30 сижу. Но это видимо черта характера - достигать целей или ненужный перфекционизм. Пока не разобрался 🤣

Даже вопрос на специализированном сайте задал: https://qna.habr.com/q/1116314. Но к сожалению быстрый и лёгкий способ не прокатил, никто так и не ответил - пришлось изучать всё самому.

В официальной документации визуального редактора приведён пример генерации плагина на основе grunt-contrib-uglify. Но этот пример у меня не минифицирует, точнее до этого работал, а потом почему-то перестал. Есть подозрение, что версии npm пакетов javascript-библиотек устарели.

В общем не стал разбираться, забил. Решил посмотреть код самого визуального редактора. Там ведь есть встроенные плагины и они как-то генерируются. Какого же было моё удивление, когда там не обнаружил этого пакет для сжатия. Полез в историю коммитов и стал искать момент, когда grunt-contrib-uglify заменили на что-то другое. И в итоге нашёл - это некий terser и grunt-terser.

Пишу плагин remove-lineheight в phpStorm
Пишу плагин remove-lineheight в phpStorm

Сейчас сижу и изучаю grunt, terser и grunt-terser. До этого ни разу ими не пользовался. С одной стороны это затраты времени, пожалуй даже ненужные, а с другой - расширение знаний. Собственно это пожалуй основной метод, которым я изучаю программирование. Постепенно, когда требуется и если есть желание - понемногу изучать новые технологии.

Немного бизнес-информации

Вчера я ответил на пару проектов-задач на фриланс-сайте. По одному проекту - меня не увидят, надо заплатить денег, а по второму - потенциальный заказчик увидел моё сообщение и выслал ссылку на свой сайт.

Сегодня с утра пришлось пройти небольшой тест на знание PHP. Ради интереса прошёл ещё тест на знание вёрстки - и вот уже день сижу, ожидаю ответа. Как оказалось - желающих большое количество.

При прохождении тестирования - пользовался интернетом. Несмотря на мой опыт - вообще не представляю как можно программировать без него. Пожалуй, я интернетом не пользовался в самом начале, когда только начинал изучать программирование. Тогда были в основном книги. Доступ в интернет был дорогой и за время посещения.

Какая мысль основная - не надо бояться, что вы чего-то не знаете или знаете плохо. Я особо не переживал по поводу тестов и отвечал большей частью так, как считаю. Это сейчас я сижу и переживаю - как ответил. Уже даже вакансия не так интересна, как результаты теста 🤣.

И ещё одна мысль очень простая - ваши действия приводят вас к результату. Я отправил всего 2 ответа и получил 1 отклик. Это КПД 50%. У кликов по рекламе и то эффективность намного меньше - порядка 0.1-0.6%. Представьте, чтобы получить 1 отклик вам надо разместить 1000 объявлений. Как оно? Так что вполне даже успешно вошёл я снова на фриланс-заработок.

Да, да, саркастично скажет мой читатель. Вы опытный, а мы новички. Вам то понятно дело сразу отвечают.

Дак вот - хочу вас обрадовать. Фриланс-сайты можно использовать не только для получения работы, но и для понимания текущего рынка! Наблюдая, за задачами, выбирая нужные под себя вы также будете обращать внимание на то, в каком направлении больше всего работы, кого ищут, какие идеи, задумки, функционал пользуется спросом и сможете это изучать.

Да и конкуренция, на мой взгляд, до сих пор не такая большая. Хороших программистов мало и они заняты своими проектами, а те конкуренты, которые имеются на сайте - либо загибают цены, либо не имеют большого желания и поэтому плохо работают, либо обманывают, либо заняты сразу кучей проектов и долго всё выполняют. На самом деле там намного больше всяких особенностей - поэтому не стоит бояться входить на рынок и занимать своё место под солнцем. Всё в ваших руках - было бы желание.

Ну а я, надеюсь, сегодня изучу новые технологии и допишу наконец-то плагин.

#tinymce #javascript #программист

Список моих проектов

Начало блога | Предыдущая запись | Следующая запись