Pull to refresh

Первый опыт part-time job

Доброе утро, добрый день, добрый вечер и доброй ночи, всем! Сегодня будет статья, в которой я кратко опишу мой первый опыт работы с частичной занятостью и первые трудности, с которыми я встретился в процессе. Это работа в небольшой команде, состоящей из 3-4 человек, над сайтом на WordPress, которым раньше занимался обычный фотограф.


Сперва коротко о себе. Я являюсь front-end разработчиком и на рабочем месте спокойно пилю фронт на JS, бывает приходится залезть на бэк поправить пару методов на C#, но никогда особенно не влезал в вопросы администрирования, безопасности и тонкости рабочего процесса. Как выяснилось, работа над сторонним проектом расширяет твой кругозор, и ты имеешь возможность поглубже погрузится в неизведанный еще темы. Так вот, обо всё по порядку…




Окунулся в администрирование


Одним прекрасным утром, я проснулся от сообщения заказчика, что на сайт зайти нельзя и во весь экран красуется сообщение «Нет доступа к БД. ошибка установки соединения с базой данных WordPress». После того как вытер холодную испарину со лба, стал искать решение проблемы. Естественно, решение я стал искать гуглением и вопросами в телеграмм-чате разработчиков WordPress. Сразу скажу, что чат не оказался полезным, а даже наоборот, стали поступать предложения о продаже своих услуг за копеечку. Помогать за плюсик в карму никто не захотел(«Да кто бы мог подумать!»). Помогло гугление и ответ техподдержки моего хостинга. Решением оказалось исправление наименования БД в сломанном файле config.php и исправления нескольких файлов function.php. Выявить ошибки мне помог режим дебага, который включается с помощью установки значения true в одноименном свойстве.


Во второй раз вспотеть меня заставили, так называемые, «хакеры» или, просто сказать, ребятки, которые делают деньги на кликах и различного рода рекламе. В интернете можно найти много информации о межсайтовой подделке запросов, которая и была причиной моей очередной холодной испарины. Эти умелые ребята просто вписали свой скрипт в один из js файлов моего сайта. Сей файл создавал div размеров моей страницы, при клике на который открывалась соседняя вкладка, начиналось скачивание и те самые ребятки получали +1 конверсию.


«Как же Вы, Василий, смогли дважды так облажаться?», — спросите вы и это будет справедливый вопрос. Очень просто, отвечу я, по незнанию того, что все файлы будь то js или php должны быть только для чтения (как я понял css файлы не рекомендуется ограничивать только для чтения, так как некоторые темы WordPress странно на это реагируют и перестают использовать свои стили). Да и вообще, по хорошему все эти файлы должны быть сложены в Git. Такие вот два урока я получил от рукодельников, которые попортили мои файлы и нервы в обоих случаях. И да да, первого раза мне оказалось мало.




Боролся с фронтовой частью


На самом деле, с фронтовой частью всё гораздо приятнее. Ведь, для тех кто не знал, WordPress — это конструктор и для повседневных решений есть много классных плагинов. Но ведь, признайтесь себе, если вы разработчик, разве вам захочется пользоваться плагином и настроить его как обычный юзер. Конечно, нет! Так вот и я решил не ходить по простому пути. Задавшись вопросом, как же, писать код в таком удобном конструкторе, я быстро нашел решение, которое оказалось плагином. «От чего ушли, к тому пришли!» — пронеслось у вас в голове. Ну да, всё правильно, я установил плагин, который помогает писать свой код и пользоваться им на сайте по средством подключения скрипта в index.html(что делается автоматически при активации скрипта). Ссылочку на плагин оставлю ниже.


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


Следующим полезным, как мне кажется, моментом была отладка поведения сайта на мобильном устройстве с помощью того же мобильного устройства и консоли разработчика в Хроме. Об этом вы сможете прочитать в одной из статей на хабре, ссылкочку укажу ниже. А мне хотелось бы тут отметить одну особенность события window.resize. В ходе разработки, я столкнулся с тем, что обычный скролл вверх на мобильном устройстве вызывает данное событие. На просторах интернета нашел одно эффективное решение — это запоминать ширину окна при открытии и сравнивать с шириной окна в момент вызова события. Мне помогло, баг был исправлен. Если у вас есть подобные интересные находки и их решения или более изящное решение вышеописанной проблемы, то встретимся в тех же комментариях.




Налаживал рабочий процесс в команде


Думаю многим из Вас знакома ситуация, когда заказчик и дизайнер проекта атакуют своими пожеланиями и «хотелками» и многим из Вас знакомо, когда это происходит в одном каком-либо популярном мессенджере. Так вот я, недолго потерпев, решил организовать взаимодействие моей небольшой команды и перенести все желания в удобный вид. На данную тему знатоки могут написать целую статью, я же позволю себе сделать небольшое описание. Если честно, я долго не выбирал инструмент и методику, так как на работе я использую всем известную Jira. В данном проекте хотелось чего-то более простого и интуитивно понятного, поэтому мой выбор пал на Trello. Я решил придерживаться основ методики Scrum и считаю, что это было правильным решением по трём параметрам:


  • заказчик и дизайнер видят все задачи нашего бэклога;
  • заказчик видит, что разработчик и дизайнер заняты, и, самое главное, видит чем заняты;
  • мой телефон больше не разрывается от сообщений и мои коллеги не путаются в своих показания и, более или менее, представляют чего хотят.

P.S. По моему опыту замечу, что дизайнеру к структурированной работе привыкнуть сложнее всего. Возможно, так сложилось в силу высоких творческих способностей.




Промежуточные итоги


Хотелось бы сказать, что данный небольшой проект помог мне приоткрыть дверцу в мир администрирования и в мир управления проектами.


Также смог лучше разобрать некоторые моменты отладки поведения сайта на мобильных устройствах.


Надеюсь, данная статья была полезной и эти маленькие открытия сподвигнут Вас к новым домашним проектам.


Успехов!


Пара вопросов читателям


Какие способы защиты от нападения вы знаете и на что в первую очередь стоит обратить внимание?


Нужно ли обновлять версии плагинов и php на сайте WordPress?

Полезные ссылки


Плагин для редактирования JS;
Тестирование для мобильных устройств (Хабр);
Настройка режима разработчика на телефоне;
Крутой туториал по отладке.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.