Как это было. История про переезд

Safoyeth 9 Ноя 2016

Итак, случилось! Лень побеждена и сайт успешно переехал с safoyeth.wordpress.com на собственный домен! Описание того, как это было, что и как использовалось, что получилось, а что не вышло и ещё много тайного знания и будет в этой статье. Статья получилась длинной, тяжеленной и с тоннами скриптов.

Движок, перенос данных, тема

Собственно по движку никаких колебаний и не было. Мне нравится WordPress, я довольно долго с ним взаимодействовал и никаких нареканий не имею. Опять же, большой плюс WordPress'а в наличии импорта-экспорта, что позволило с лёгкостью мигрировать без потери данных.

Разработка велась локально на двух машинах. Использовались LAMP на машине под управлением Fedora и XAMPP на машине под управлением Windows 8.1, ибо захотелось мне потестировать такую схему (могу сказать, что это неудобно!). Для синхронизации использовался Яндекс.Диск.

В оба сервера был установлен свежий WordPress 4.6.1, взятый с русского сайта WordPress. Никаких проблем с установкой ожидаемо не возникло. База данных перемещалась между двумя серверами с помощью дампов из phpmyadmin.

На старом сайте данные были экспортированы в xml (Инструменты -> Экспорт -> Всё содержимое -> Скачать файл экспорта) и успешно импортированы с помощью плагина WordPress Importer.

С темой всё было куда интересней. Я уже очень давно облизывался на тему Striped от HTML5 UP, но как-то всё не доходили руки взяться за перенос её под WordPress. У меня не было нисколько опыта в создании темы для WordPress, а засесть за изучение документации было как-то лениво. Но к счастью несколько дней назад я натолкнулся на отличный блог Ирины Соколовской, и в частности на цикл статей по созданию темы WordPress. К сожалению, Ирина не закончила на данный момент этот цикл, более того, по многочисленным просьбам её читателей она перестала использовать тему Striped, так как она достаточно сложна для изучения, но из её статей я получил достаточно информации для создания полнофункциональной темы.

В данный момент Striped полностью портирована под WordPress, в сайдбаре темы поддерживаются все виджеты по-умолчанию и часть виджетов Jetpack'a. Однако в силу того, что я начал разработку этой темы спонтанно и не использовал SCSS (как было бы лучше), пока что я не могу предоставить её общественности. Я буду рефакторить её и добавлять поддержку большего количества виджетов. Только после этого она станет доступна для всех. Также в планах использовать Titan Framework для добавления опций. Если же кому-то нужна эта тема ещё до её опубликования, то свяжитесь со мной.

Возвращаясь к теме и циклу статей Ирины, могу сказать, что такие её наработки как пагинация и блок комментариев используются практически без изменений. Тема ещё имеет недочёты, поэтому предстоит оптимизация, дебаггинг, ну и прочие страшные слова 🙂 . В принципе, ничего страшно сложного в создании темы нет. У WordPress отличная документация, причём не только на английском, но и на русском.

Ниже я остановлюсь на некоторых особенностях, которые смог реализовать, опишу используемые плагины. Итак...

Шрифты

Тема Striped из коробки не дружит с кириллицей (а кто бы сомневался?!), поэтому первым делом я полностью поменял шрифты. Я использовал и всем рекомендую сервис Webfont.ru для поиска и выбора шрифтов. Конечно, есть масса альтернатив, включая небезызвестный Google Fonts от Google, но лучшую подборку именно кириллических шрифтов я пока не находил. После долгих и мучительных часов выбора я остановился на шрифтах без засечек (те, которые sans-serif). Извечная борьба тупоконечников с остроконечниками, иначе говоря serif и sans-serif, то есть шрифтов с засечками и без засечек продолжается уже давно. Я обычно всегда был на стороне serif, то есть шрифтов с засечками, мотивируя это много чем, но вот в этот раз душа пожелала иных шрифтов. В принципе, это конечно крайне субъективно, но шрифты без засечек смотрятся мягче и не так раздражают и утомляют глаза. Оборотная сторона этого в том, что если использовать мелкий шрифт, то текст будет сливаться в единую массу, поэтому все шрифты на сайте достаточно крупные. Поскольку основное время разработки я сидел за большим монитором в 27", а именно на больших мониторах такие проблемы, как слипание текста и проявляются в первую очередь, то этой проблеме я уделил достаточно много времени.

В итоге, основной шрифт на сайте - Clear Sans от Intel, в заголовках используется мой любимый sans-serif шрифт - Ubuntu. Я не специалист в шрифтах, но могу сказать, что они очень похожи между собой, но есть между ними какое-то отличие, что-то, почти незаметное для глаза, но делающее каждый из них отличным от другого. Я много комбинировал с ними и в итоге пришёл к выводу, что именно для заголовков лучше подходит Ubuntu, а Clear Sans лучше смотрится в тексте, хотя для логотипа я использовал также Clear Sans. Третий шрифт - Alexander куда менее известен и используется в слогане (Homo sum) и цитатах. Кроме того, теги <em> и <i> также используют этот шрифт. Мне показалось, что он значительно превосходит по красоте курсивные варианты Clear Sans или Ubuntu.

Также Striped использует Font Awesome, который я поменял на самую новую версию.

Стили

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

Заголовки

В первую очередь заголовки. Для ссылки в <h2> была реализована анимация при наведении:

что позволило чуть-чуть добавить выразительности заголовку статьи/страницы.

Для заголовков третьего уровня в статьях я методом тыка придумал стилистику подчёркивания. По задумке, заголовок третьего уровня отделяется от текста росчерком пера и точкой, как будто бы человек делает заметки у себя в записной книжке. Стили для <h3> выглядят так:

Заголовки четвёртого уровня примерно такие же, только меньше, росчерк пера тоньше, а точка не ставится. Вы можете увидеть эти заголовки в этой статье. Стили же <h4> похожи на <h3> и выглядят так:

Важно (как мне кажется), что если заголовок достаточно длинный, то "росчерк пера" наезжает на текст. Это сделано специально, чтобы подчеркнуть некоторую человечность стиля. Опять же в этой статье вы можете увидеть, что стили первого заголовка наезжают на содержание, что сделано опять же специально из тех же побуждений. На маленьких экранах эти стили смотрятся не так эффектно, но вполне на мой взгляд неплохо.

Цитаты

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

выглядит же она на сайте вот так:

Homo sum, humani nihil a me alienum puto Publius Terentius Afer

В цитате используется курсив, чтобы показать "человечность".

Код

Куски кода заключаются в тег <div class="code">, который выглядит так:

Идея в том, что в "записную книжку" добавляется некий "элемент будущего", некий контент, которым можно управлять и перемещать. Пусть блоки кода по статье нельзя ни перемещать, ни управлять ими, но именно для этого реализованы тени слева и справа от элемента. Блок кода вы также можете видеть в этой статье. Маленькие кусочки кода, например названия тегов или функций заключаются в тег <code>, стиль которого после сотни разных вариантов я просто взял с Twitter Bootstrap. Выглядит стиль так:

Клавиатурный ввод

Для того, чтобы показать какие-то клавиши клавиатуры есть специальный тег <kbd>. Например, вот так будет выглядеть всеми любимая команда Ctrl + Alt + Delete. Стиль для клавиатуры с небольшими моими правками я когда-то очень давно нашёл на stackoverflow.com:

Получилось на мой взгляд достаточно выразительно, но не вырвиглазно.

Ссылки

Особо я обращал внимание на ссылки. Я сторонник неподчёркивания ссылок по умолчанию, мне кажется, что простого выделения цветом достаточно. В качестве эффекта при наведении я выбрал столь любимый Артемием Лебедевым border-bottom вместо text-decaration: underline; просто потому, что так ссылки смотрятся лучше (на мой взгляд). В итоге ссылки выглядят так:

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

Дополнительные декорирования возможны (и их также вы можете видеть в этой статье) с помощью Font Awesome, но я всё ещё размышляю над этим. В планах наваять простенький скрипт для этого дела.

Картинки

Направленность моего блога не подразумевает какие-то фотогалереи, но тем не менее небольшую работу над изображениями я провёл. Для начала - миниатюры записей. Чисто ради эксперимента я добавил эффект сепии на картинки при наведении. Вы можете попробовать навестись на картинку с WordPress'ом выше и увидите эффект (болезный синий друг с буквой Е ничего не покажет). Стили для такого эффекта ниже:

Для остальных картинок я добавил эффекты увеличения при наведении и рамки. Пример можно увидеть ниже, на картинке с волком, стили же следующие (для трёх вариантов позиционирования - слева, по центру и справа):

Цвета

Цветовая гамма изменилась не очень сильно по сравнению с оригинальной Striped. Поскольку основной цвет моей любимой картинки:
safoyeth
синий, то и вся гамма была изменена в сторону синих цветов. Цвет логотипа и кнопок - rgb(0, 0, 125) с разными вариантами прозрачности. Цвет ссылок, кнопок при наведении и оверлей карты сайта - rgb(100, 149, 237), то есть васильковый, также с различной прозрачностью. Сами ссылки на миллиметр отличаются от василькового - rgba(100, 150, 235, .95). Для посещённых ссылок я использовал обычный сиреневый цвет - rgb(200, 162, 200). По большом счёту это все изменения, которые я сделал в теме.

Скрипты

Как бы смешно это не звучало, но javascript я практически не писал (чему несказанно рад!), так как всё уже было в теме. Единственное, что пришлось написать на javascript - это анимация скролла при нажатии на кнопку "вверх" и небольшую модификацию ширины текста для плагина RPB Chessboard. Собственно вся анимация, связанная с кнопкой вверх выглядит так:

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

Плагины

Ещё один очень большой плюс WordPress - это огромное количество плагинов. Сложно найти что-то, для чего не написан ещё плагин. Я использовал следующие (перечислять буду в том порядке, в котором они у меня в админке, чтобы никого не обидеть).

All in One SEO

Адрес плагина на WordPress.org
Домашняя страница плагина

Огромная куча настроек с которой я ещё не разобрался до конца. Этот плагин представляет из себя комплексное решение всех SEO-проблем. В качестве приятного бонуса - создание xml карты сайта для роботов, создание файла Robots.txt. Плагин имеет платную и бесплатную версию. К счастью, не задалбливает предложениями обновить/улучшить до премиум версии (хотя предлагать не забывает 🙂 ).

AudioIgniter

Страница плагина на WordPress.org
Домашняя страница плагина

Выглядит это чудо после некоторых косметических преобразований вот так:

Хороший плагин для воспроизведения аудио я искал очень долго. AudioIgniter не столь популярен, как некоторые плагины, но на мой взгляд, ему просто нет равных. Особо подкупает тот факт, что все иконки выполнены в svg. Он позволяет создавать как плейлисты, так и одиночные записи, имеет две версии - бесплатную и платную, которая имеет выбор скинов. Мне вполне хватило бесплатной версии, стили я смог сам поправить. В данный момент плагин не имеет поддержки русского языка, но я сделал перевод, который доступен на github. Также перевод можно скачать, используя git:

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

Breadcrumb NavXT

Страница плагина на WordPress.org
Домашняя страница плагина

Breadcrumb NavXT - это плагин для создания хлебных крошек, иначе говоря, для создания путей. Если вы вернётесь в самый верх страницы, то увидите там вот такую штуку: Safoyeth / Разработка / Как это было. История про переезд Это и есть те самые хлебные крошки. Плагин довольно прост, имеет поддержку русского языка. Для того, чтобы вывести хлебные крошки я использовал такую конструкцию на страницах темы:

Broken Link Checker

Страница плагина на WordPress.org
Домашняя страница плагина

Ещё один крайне полезный плагин. Как следует из названия, он проверяет сайт на "битые" ссылки. Меня самого крайне печалит и раздражает, когда на других сайтах я вижу битые ссылки, поэтому для себя решил заиметь этот плагин одним из первых. Он также крайне прост, частично русифицирован, и, что самое приятное, прямо из коробки позволяет управлять стилями битых ссылок.

Crayon Syntax Highlighter

Страница плагина на WordPress.org
Домашняя страница плагина

Crayon Syntax Highlighter - это плагин для подсветки синтаксиса. Именно его вы можете наблюдать как в этой статье, так и почти во всех остальных. Про стилизацию я писал выше, в самом же плагине я использую тему Sublime, потому что я люблю Sublime Text. Именно в этом редакторе я писал весь код для этого сайта 🙂 Crayon Syntax Highlighter поддерживает массу языков, под него можно самостоятельно создавать темы, он дружит с русским языком и на мой взгляд превосходит по удобству все остальные плагины для подсветки синтаксиса.

CS Likes Counter

Страница плагина на WordPress.org
Домашняя страница плагина

Простой (что мне и было нужно) плагин для подсчёта лайков/дислайков. Имеет относительно простую защиту от накруток (нельзя голосовать с одного IP чаще раза в 10 минут) и прост для интеграции с темой. Дислайки я отключил, сами же кнопки, вывод количества лайков и всплывающие уведомления достаточно сильно перекроил. Также чуть-чуть поменял текст перевода (плагин поддерживает русский язык).

Hierarchical HTML Sitemap

Страница плагина на WordPress.org
Домашняя страница плагина

Это сверхпростой плагин для создания карты сайта. Поскольку человек ленив по природе своей, навигация должна быть максимальна проста и быстра. Именно для этого этот плагин мне и понадобился и именно своей простотой он мне и нравится. Идея была в том, чтобы создать фиксированную кнопку меню (вы можете её найти на странице справа сверху). Выглядит она как-то так: При нажатии на неё и открывается карта сайта. Нет ничего проще навигационной простыни! Стили (их много) были найдены на просторах интернета и допилены под цвета и стилистику сайта:

Сама же карта сайта имеет вот такую разметку и вызывается с помощью do_shortcode:

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

Mistape

Страница плагина на WordPress.org

И ещё один абсолютно необходимый плагин. Как бы мы не старались писать грамотно и без ошибок и опечаток, очень часто у нас не получается. Более того, даже вычитывая статью несколько раз, не всегда автор может найти ошибки. Всё-таки мы не машины, мы ошибаемся. Плагин Mistape призван сократить число ошибок/опечаток. Вы наверняка встречали нечто подобное в новостных сайтах, я даже сам пользовался возможностью поправить авторов и не раз. Смысл прост - увидели ошибку, выделили её и нажали Ctrl + Enter. К несравненным плюсам данного плагина следует оценить отличный дизайн, простое встраивание в страницы и записи, ну и наличие великого и могучего в интерфейсе плагина тоже приятно радует глаз!

RPB Chessboard

Страница плагина на WordPress.org
Домашняя страница плагина

RPB Chessboard это однозначно самый лучший плагин во всей коллекции. Как несложно догадаться он необходим для того, чтобы отображать шахматные партии в формате PGN и/или диаграммы в формате FEN. Плагин имеет тонну настроек, и только-только в очередной раз обновился. Поддержки русского языка не имел, но я выполнил перевод, который доступен на github. Его вы также можете скачать, используя git:

Я уже получил ответ от автора плагина Yoann Le Montagner, что мой перевод будет включён в следующие релизы. Я довольно много времени посвятил работе над отображением доски. Ни один из вариантов отображения мне не подошёл, поэтому пришлось экспериментировать. Стили в итоге получились очень экспериментальными, но я добился практически того поведения от доски, которого хотел:

Как я уже писал, свойство position: sticky; поддерживают не все браузеры, более того, даже самый продвинутый Firefox не отображал (и скорее всего никогда не будет) доску так, как я хотел, поэтому в помощь пришла отличнейшая библиотека sticky-kit.js. Благодаря тому, что в этой библиотеке есть события sticky_kit:stick и sticky_kit:unstick, я смог реализовать желаемое поведение для доски. В будущем, я, возможно, ещё расширю и улучшу отображение диаграммы на устройствах с маленькими экранами, пока же javascript выглядит так:

Ну и вот так выглядит сама партия - В преддверие матча на первенство мира:


Именно такое поведение доски и ходов я посчитал для себя наилучшим. Предстоит ещё целая эпопея по оптимизации доски для мобильных устройств...

Share Buttons by AddThis

Страница плагина на WordPress.org
Домашняя страница плагина

Ещё один отличный плагин, который добавляет иконки соцсетей. Конечно, можно их добавить и ручками, но преимущество этого плагина в том, что очень уж большой выбор! Пусть он не имеет поддержки русского языка, зато во всём остальном он крайне удобен. По умолчанию плагин динамически управляет иконками, то есть, если вы поделились страницей, допустим, в Telegram, то иконка Telegram добавляется в стэк. Мне такое поведение не нравится, поэтому я зафиксировал свой набор иконок. Это делается во вкладке Advanced Options -> Additional Options. Нужно просто написать правила в формате JSON, примерно так:

Вот так выглядят настройки для моей панели.

SoundPress Plugin

Страница плагина на WordPress.org
Домашняя страница плагина

Это плагин для вставки аудио с сайта Soundcloud.com. И больше сказать мне о нём особо нечего. Мне пришлось его использовать, так как Jetpack у меня на хостинге не завёлся, да и сам Jetpack мне не особо нужен, держать его ради двух-трёх шорткодов я не посчитал целесообразным. Поэтому довольно быстро я нашёл этот плагин, который умеет довольно хорошо обращаться с контентом Soundcloud. У него нет поддержки русского языка, но и сам Soundcloud её не имеет.

WordPress Importer

Страница плагина на WordPress.org
Домашняя страница плагина

Как я уже писал выше этот плагин позволяет импортировать записи, страницы, комментарии и т. д. из другого WordPress блога (и не только!). Никаких сложностей с ним нет, он просто работает.

WP QuickLaTeX

Страница плагина на WordPress.org
Домашняя страница плагина

WP QuickLaTeX привносит на страницу всю мощь \LaTeX ! И делает это красиво (прозрачный фон позволяет идеально встроиться в тему) и в svg, что позволяет масштабировать формулы, тексты, что угодно без потери качества! Модуль "красивая математика" от JetPack даже отдалённо не дал мне таких возможностей (может я что и не так делал), поэтому ещё до переезда этот плагин пополнил коллекцию. Он не имеет поддержки русского языка, но в остальном просто супер. С его помощью, например, можно сделать такое, просто заключив синтаксис \LaTeX в шорткод latex:

\boxed{f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1}

или даже такое:
<br data-recalc-dims= \begin{tikzpicture}
[+preamble]
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
[/preamble]
\begin{axis}
\addplot3[surf,domain=0:360,samples=40] {cos(x)*cos(y)};
\end{axis}
\end{tikzpicture}
" />

К счастью, отрисованные картинки кэшируются, что очень хорошо, так как каждый раз отрисовывать что-то тяжеленное было бы адом... В синтаксисе \LaTeX эти ужасы выглядят так:

и так:

В общем, всем, кто любит и знает \TeX и/или \LaTeX и хочет использовать на своём сайте красивую математику (и не только) рекомендую!

WP-PostViews

Страница плагина на WordPress.org
Домашняя страница плагина

Он же "Постопросмотры". Элементарный плагин для подсчёта просмотров. Поддерживает русский язык и показался мне очень удобным. Если внимательно читать документацию, то проблем вообще с ним не должно возникнуть, но на всякий случай скажу, что в коде необходимо написать

чтобы вывести просмотры.

WP-SCSS

Страница плагина на WordPress.org
Домашняя страница плагина

Как следует из названия, WP-SCSS это компилятор SCSS. Он позволяет писать стили, используя SCSS. Поддержки русского языка нет, но сложностей с плагином также не возникает. Очень радует то, что прекомпилированные CSS никуда не исчезнут и будут использоваться движком сайта даже после отключения и/или удаления этого плагина.

Встроенные Спойлеры

Страница плагина на WordPress.org

Позволяет встраивать спойлеры. Мне они понадобились исключительно для того, чтобы делать содержания циклов статей. В действии их вы сможете увидеть в цикле статей про факториалы. Конечно, стили были немножко подработаны, но никаких откровений я не создал.

Содержание+

Страница плагина на WordPress.org
Домашняя страница плагина

Или "Table of Contents Plus". Это плагин, который позволяет автоматически создавать содержание, такое, как вы можете видеть на этой странице. Изначально он не поддерживал русский язык, но я сделал перевод, который можно найти на github. Как обычно его можно скачать, используя git:

К сожалению,

This plugin is being migrated towards Translation Packs and older .mo and .po files are no longer being accepted.

а значит мне придётся перенести весь перевод в Translation Pack. Я сделаю это, но несколько позже. По стилям я сделал тень с другой стороны, они представляют собой как-бы вклейку в основную канву текста. Как я уже писал выше, "росчерки пера" заголовков могут и должны наезжать на блок с содержанием. Стили такие:

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

Переезд. Проблемы и решения

Сам по себе перенос на хостинг не очень сложен. Во-первых, хостинг должен соответствовать требованиям WordPress, но про это разрешите уж не писать. База была перенесена обычным дампом из phpmyadmin с локального сервера на сервер хостера. Файлы сайта я загружал по ftp, использовал FileZilla. После того, как все файлы были перенесены на хостинг, нужно сделать несколько несложных действий:

  • Заходим в базу данных и последовательно выполняем следующие sql-запросы:

    где http://localhost/sitename - это старый адрес сайта (его можно посмотреть в админке: Настройки -> Общие -> Адрес сайта (URL)), а http://domain.com - это новый адрес. Для меня - это http://safoyeth.com. Дальше

    и

  • Далее открываем файл wp-config.php. На локальном сервере он выглядел у меня так:

    В нём необходимо изменить настройки подключения к базе данных. Должно получиться как-то так:

    После этого главная страница сайта уже может загрузиться (а может и нет 😛 )

  • Последний шаг - файлы Robots.txt и .htaccess
    На локальном сервере у меня файл .htaccess выглядел так (сайт лежал в отдельной папке safoyeth):

    Если вы выгружаете свой блог на хостинге в корневую папку (типа public_html), нужно переписать его так:

    если же в какую-то папку, то так:

    С файлом Robots.txt у меня проблем не возникло, но есть одно общее правило для редактирования как Robots.txt, так и .htaccess. Все старые названия сайта (типа http://localhost/blablabla) должны быть заменены на новые. Это примерно то же самое, что и с базой данных.

  • После этих операций всё должно заработать.

Как я писал выше у меня не заработал JetPack. Это связано с тем, что мой хостер блокирует путь к файлу xmlrpc.php из соображений безопасности. В принципе, такие проблемы решаемы простым обращением к хостеру, но я даже не стал этого делать, так как JetPack на данный момент мне не необходим. Всё остальное на данный момент работает без нареканий.

Заключение

Процесс переезда занял у меня около недели и нет, я не сидел целыми днями. Я потратил три вечера на то, чтобы адаптировать тему Striped, остальное время заняли всякие разные мелкие плюшки и переводы плагинов. Поскольку я довольно давно не имел дело с Web, хочу сказать несколько слов:

  1. HTML5 - это HTML (внезапно!). Все его проблемы (типа потери закрывающегося тега) остались при нём. Очень помогает Sublime Text с плагином HTML/CSS/JS Prettify
  2. CSS3 - хорош, но поддержка зоопарка браузеров всё такая же головная боль. Писать на "чистом" CSS - жесть. Мне приходилось использовать LESS и я им был крайне доволен, но SCSS - это просто победа! С SCSS я тоже сталкивался, но так плотно поработать пришлось первый раз. Да, для компиляции в CSS я использовал Koala и очень доволен. Окунувшись во фронтэнд обнаружил ещё Post-CSS, Next-CSS (не пинайте ногами если написал неправильно)... Бедные фронтэндщики, как же им тяжело живётся, ведь даже ориентироваться во всём этом крайне сложно...
  3. Javascript - это просто мрак... Бесконечные анонимные функции, скобочки alla Lisp, всякие AngularJS, ReactJS и прочие ужасы. На старом добром jQuery уже никто не пишет, так как это тупо не модно... Но 9/10 всех разработок зависят от jQuery, и зависят как-то странно. Бесконечные Uncaught TypeError: jQuery is not a function, Uncaught TypeError: $ is not a function, Uncaught TypeError: просто какая-то функция is not a function вымораживают. И не очень понятно как решать вопрос, не правя код библиотеки. Да, я использовал Angular 1 и мне понравилось, но тут вышел Angular 2... Зачем было перепиливать ВСЁ?? Короче, я безумно счастлив, что я не фронтэнд-разработчик. Я могу в этом ориентироваться, могу использовать то, что мне нравится, а не то, что модно, могу писать на том, что знаю и не беспокоиться на тему, а поддерживает ли какая-нибудь древняя Opera на движке Presto новомодный синтаксис...
  4. Резюмируя про фронтэнд, могу только одно сказать - It's the future!

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

Web развивается стремительно, настолько стремительно, что успеть за ним - утопия. Dixi!

P.S. А тут (да-да, это страница 404) есть бонус от разработчиков Chromium!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.




Добавить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: