Заметки разработчика [Интервью]

Заметки разработчика [Интервью]

Статьи

Доброго времени суток, друзья. Я люблю учиться и стараюсь делать это постоянно, ибо учение есть свет.

На одном из курсов познакомился с разработчиком CatsBlack773, который рассказал про создание своего блога на любопытной (для меня) связке Vue + Nuxt.js. Я попросил его поделиться опытом и оформил это всё в данную статью.

Формат совершенно новый и необычный для Островов, прошу любить и жаловать.

— Расскажи немного о себе. Откуда родом и как начинал свой путь разработчика?

Родом я из Ульяновска. Программировать начал ещё в 11 классе на бейсике. После него переключился на Visual Basic — на нем написал несколько программ: текстовый редактор, “21” и всякие “ненужные” программы, типа калькулятор сопротивления резистора, расчёт трансформатора. С VB столкнулся с проблемой использования программ на других ПК, поскольку требовались библиотеки или дополнительные dll-файлы — приходилось это всё добавлять в установочные файлы. Это вызывало зависимости, и мне это не понравилось.

Однажды друг предложил мне сделать трекер. Идея понравилась и мы начали работу. Выбрали движок TBdev и принялись его изучать — было непросто. Кроме того, работа над ним потребовала более глубокого изучения html и css. Затем перешли на новый движок kinokpk, поскольку работает он лучше, а хостинг нагружает меньше. Пользователей стало приходить больше, сайт стал потихоньку подниматься.

Пробовали его по-разному продвинуть, использовали и серые схемы (связано с рассылками). Нам дало это вал новых посетителей — пришло больше 2500 новых. Но счастье длилось недолго и через 2 дня наш сайт забанили.

Чуть позже я решил на основе kinokpk сделать небольшой блог — начинание было вполне успешным, даже Google по некоторым запросам выдавал сайт на первой строчке. Некоторые статьи имели 5-6k просмотров.

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

И вот теперь новый проект — собрался с мыслями и решил написать блог с нуля. Перерабатывал несколько раз — сначала на функциях, затем ООП. Теперь дошел до полноценного SPA-приложения.

— Были какие-нибудь интересные практики из опыта? Что-то запоминающееся?

Да, было такое. Однажды пришлось решать одну очень сложную проблему — заказчику приложения нужна была программа, которая бы считывал информацию из файлов Excel и далее записывала в базу данных, т.е. нужно было реализовать автоматизированную обработку документов. Это был мой первый большой проект.

Проблем с выбором бд не было, а вот что делать с Excel было не совсем понятно. Изначально думал самостоятельно написать приложение, которое бы считывала данные из файла, но с чего начать?

С помощью Google была найдена готовая библиотека, называется она PHPExcel. Но использованием готовой библиотеки всё не ограничилось — были большие проблемы с памятью — она пожиралась в астрономических масштабах (на каждые 30кб данных уходило до 300 мб оперативной памяти). По итогу проблему удалось таки решить.

Речь идет о библиотеке PHPExcel. К сожалению, разработчики прекратили её поддержку и даже запрещают дальнейшее использование. В качестве альтернативы предлагается приемник — PhpSpreadsheet. Или другие альтернативы.

Примечание

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

— Можешь рассказать о своем проекте?

Изначально это всего лишь блог со статьями. В будущем планирую прикрутить веб-сокеты — на сайте планирую ввести личные сообщения между пользователями через шифрованный канал. А дальше — посмотрим.

Сам блог будет посвящён альтернативной энергетике, философии и психологии. Есть некоторые мысли относительно других тем, но пока не уверен. Кроме того, если кто-нибудь захочет создавать контент для сайта по имеющимся направлениям или по своей тематике — для него тоже найдётся место.

Кроме того на сайте планирую развернуть своё портфолио.

— Для разработки ты выбрал Nuxt.js и php. Почему именно они? Не рассматривал ли какие-то уже готовые движки?

Рассматривал, и не только движки, но и фреймворки типа Laravel или Yii. На последнем, например, однажды магазин написал — работал он, правда, недолго, поскольку заказчик решил, что интернет-магазин ему не нужен.

Почему именно Nuxt?… Давно хотел прикрутить себе Vue на проект, посмотреть, как оно вообще работает. Vue, на мой взгляд, один из самых быстрых фреймворков и прост в использовании — по этой причине и выбрал Nuxt. Кроме того, не нужно парится с настройками при использовании, а Nuxt позволяет избежать лишних неудобств, и из-за этого он так хорош.

Может, ещё передумаю и перепишу все на React, но пока это маловероятно.

— С какими трудностями столкнулся при разработке проекта?

Основные трудности — это незнание каких-то тонкостей работы. Приходилось много читать, смотреть обучающие видео.

Изначально проект я начал проектировать на бумаге — это автоматически сняло ряд вопросов, которые могли возникнуть в дальнейшем. На этом этапе выбрал концепцию разработки (ей стала MVC), спроектировал бд, структуру папок, какие связи и зависимости будут присутствовать в логике приложения.

Большая часть моей работы заключалась в разработке backend-части. Со стороны fronted о многих вопросах позаботились разработчики — уже есть готовый инструмент, нужно только научиться им пользоваться.

— Что ожидаешь от его реализации?

От реализации я ожидаю чтоб люди наконец-то начали читать, узнавать что-то новое и так для личного досуга. А что касается финансовой выгоды — вопрос интересный… Если только кто-то сам захочет пожертвовать свои денежные средства. Рекламу устанавливать не желаю.

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

— Какие планы на будущее?

Жить, развиваться и учится чему-то новому.

— Что-нибудь напоследок для читателей?

Большое спасибо за ваше внимание и прочтение статьи, да прибудет с вами сила. Потому что сил, чтоб начать нормально программировать на любом языке, нужно много.

От себя лично желаю CatsBlack773 успехов в разработке проекта и во всех других начинаниях.

Всех, кого проект заинтересовал, прошу сюда: neworia.ru. Сейчас он ещё находится в тестовом режиме, но в середине мая планируется официальный релиз.

Всем добра!

Анатолий Куликов

Анатолий Куликов

Автор блога, дизайнер, веб-разработчик
  • at sign
  • vk logo