Мысли о программировании, жизни и христианстве.

Позднее Ctrl + ↑

Бесконечный скролл

Что думаете об этом явлении? Не знаю как вас, но меня бесконечный скроллинг (Infinite Scroll) раздражает. А особенно, когда я имею дело с десктопными версиями сайтов. И вопрос не только психологической неудовлетворённости (см. Как бесконечный скролл в мобильных приложениях разрушает потребление контента), но и в его применении где попало (то же мне веяние моды!).
Например, на сайтах где есть подвальная информация (footer). Ну зачем! Или это особый шик поместить ссылку «разработчикам» в подвал страниц с этим скроллом, чтобы они в процессе её ловли воспитывали в себе терпение или мате... задавались вопросом: «Кто же это придумал?» Не гонитесь за веяниями! Ну, а если и используете этот скролл, то прочитайте статьи предложенные мною ниже (и комментарии к ним). Может вам нужно что-то изменить в его реализации.

Дополнительно почитать:
(en) So You Think You’ve Built a Good Infinite Scroll
Вплоть до бесконечности! Преимущества и недостатки бесконечного скроллинга
Улучшаем «бесконечный скроллинг»
Оптимизация бесконечного скроллинга — рекомендации от Google
Бесконечный скроллинг: эффективное решение или причуда?

Мне сегодня 36 лет...

Никакого анализа жизни сегодня. Все потом! А сейчас...

... все только начинается!

Десяток афоризмов для дизайнеров №1

  1. Имейте в виду, если вы сделаете быстро и плохо, то люди забудут, что вы сделали быстро. © Сергей Королев
  2. Дизайнеры призваны привнести порядок в хаос; они позволяют яснее передавать идеи путем организации и манипуляции словами и изображениями. © Джеффри Вин
  3. Не имеет смысла нанимать толковых людей, а затем указывать, что им делать. Мы нанимаем толковых людей, чтобы они говорили, что делать нам. © Стив Джобс
  4. Совершенство достигнуто, не тогда, когда нечего добавить, а когда нечего убрать. © Антуан де`Сент-Экзюпери
  5. Думайте о содержании, которое вы хотите вложить в создаваемый предмет, и лишь потом придет форма. У вещи будет свой дух. А дух, в отличие от формы, скопировать сложно. © Энрико Тонуччи
  6. Простота — необходимое условие прекрасного. © Лев Толстой
  7. Лучший дизайн — это как можно меньше дизайна. © Дитер Рамс
  8. Оригинальное и необычное нельзя придумать — оно может появиться только само в процессе работы над поставленной задачей. © Артемий Лебедев
  9. В хорошем дизайне функциональность всегда первична, независимо от форм. Но она не должна угнетать эмоции. © Джорджио Сапорити
  10. Дизайн должен быть простым, но не примитивным. © Артемий Лебедев

Об «интеллигентном» мате...

Ну зачем материться намерено? Я этого совершенно не понимаю. Ряд людей утверждает, что мат — это эмоциональная составляющая речи, то есть придаёт ей эмоциональную окраску. Или приравнивают мат к стихам. Дескать в мате, как и в стихах, на каждое слово 1,5 бита информации, против 1 бита в обычных словах (привет Электроник).
По мне, использование мата — это не вопрос передачи информации, а вопрос внутреннего состояния, ценностей и мировоззрения человека. Вспомните, когда чаще всего люди матерятся? Правильно! В стрессовых и кризисных ситуациях, когда слетает внешняя культурная оболочка и обнажается сердце человека. И оттуда прёт... А может есть умысел?
Не мне судить сердца и души, каждый сам следит за их состоянием. Я ещё могу понять бомжей, бандитов и других «считаемых» неблагополучными людей. Они иного не слышат и в интернете публикации не почитывают. Но вот, когда интеллигентные, образованные люди сознательно начинают употреблять мат... Словарный запас мал? Вроде нет. Жизнь не сложилась и озлобились? Тоже нет. Попробую найти хоть несколько причин.

Ближе к народу

Некоторые «интеллигенты» матом и с матом, как бы спускаются со своего Олимпа к серым массам. И чтобы донести свои «божественные» мысли облекают их в «народный» язык. Ярким представителем такого подхода среди дизайнеров является... А догадайтесь! Может хотите добавить себе такой «божественной яркости»?

Революционный дух

Другие «интеллигенты» используют мат, чтобы поднять народ на баррикады. Нужно что-то свергнуть? Обматерить! Кого-то выбить из равновесия? Матом его! Хочется троллинга и полемики? Эх, матюкнусь! Матреволюционеры используют мат как оружие в революционной борьбе за своё «правое» дело. Уф! Тяжела революционная речь.

Упрощение и украшение

Ряд «интеллигенции» применяет мат, чтобы приукрасить свои идеи и решения (или упростить их). Наверно думают, что если добавить «магическое», матерное слово к названию своего проекта, он обретёт неимоверную привлекательность в глазах окружающих. ... проект! ... решение! ... возможность! Толпы народа ломятся принять участие в таком ... предложении!

А король-то голый!

Не всякий интеллигент является интеллигентом! Образованность — это не показатель интеллигентности (и тем более культурности). Некоторым человекам с корочками, в процессе обучения, забыли вытащить «мат» плату и обновить прошивку. Говорят: «Можно удалить человека из колонии (колхоза, культурной среды и т. п.), но нельзя удалить колонию (колхоз, культурную среду и т. п.) из человека.» Можно! Только человек должен согласиться на эту операцию! Примеров таких изменений масса.

Что написать в конце... Верю, что читать будут интеллигентные люди и это отразиться в комментариях (мат будет удаляться). Итак, будете использовать мат или нет? Почему? Только не пишите мне о свободе. Свобода дана не от чего-то, а для чего-то. И если ваше «чего-то» выражается в мате... Бедный вы человек!

Динамическая версия CSS и JS

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

<link rel="stylesheet" href="/styles/main.css?<?php echo time(); ?>" />
<script src="/js/main.js?<?php echo time(); ?>"></script>

Где php-вставка подставляла текущее время и получался следующий код:

<link rel="stylesheet" href="/styles/main.css?1401823964" />
<script src="/js/main.js?1401823964"></script>

Это позволяло автоматически обновлять в браузере CSS и JS файлы с которыми работаю (борьба с кешированными версиями обновляемых файлов), создавая «разные» версии файлов, при каждой перезагрузке страницы. Но правильно ли так делать? Ведь даже если я ничего не менял, все равно браузер грузил все по новому.

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

  1. Берётся время последнего изменения файла.
  2. Сравнивается со временем указанным как версия файла (или с хранимыми где-то последними версиями файлов, которые используются).
  3. Если они равны, то ничего не меняется.
  4. Если не равны, то версия файла меняется на время последнего изменения файла (или старый файл заменяется новым).

Стоит ли вообще на этом заостряться? Или лучше воспользоваться одним из решений предложенных в дополнительных материалах или предложенным выше (вторая ссылка вроде предлагает решение по этому алгоритму)?

Дополнительные материалы

Умное Кеширование и Версионность в Javascript/CSS
(en) Automatic merging and versioning of CSS/JS files with PHP
(en) Automatic versioning of CSS, JavaScript and Images
(en) Simple CSS/JS Concatenation and Versioning with PHP
(en) Automating JS and CSS Versioning
(en) Make your pages load faster by combining and compressing javascript and css files

Стильный, красивый и понятный код

Только дурак нуждается в порядке — гений господствует над хаосом. © Альберт Эйнштейн

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

Источники правил:

Когда CSS-код с душком
Почему стиль кода имеет значение
Руководство по оформлению HTML/CSS кода от Google
10 признаков профессиональной html-верстки
Искусство семантики HTML, часть 1
(en) GitHub styleguide
(en) Code Standards от Fellowship Technologies
CSS GuideLines, часть 1.Синтаксис и форматирование
CSS GuideLines, часть 2. Комментирование кода
Принципы написания кода
Руководство по форматированию CSS
Улучшаем читабельность CSS-кода с помощью «стилевых гидов»
(en) CSS Guidelines by Harry Roberts

Не по теме, но полезно:

WTF, HTML и CSS?

Валидаторы кода:

W3C
Валидатор HTML-кода
Валидатор CSS-кода

Вывод заголовка из Эгеи в любое место сайта

Илья Бирман осуществил свой вывод заголовка из блога на сайте через обработку кеша блога, а я сделал это через функцию php берущую значение из базы:

// Взятие название последнего поста из блога //
function last_post_title () {
	$query = mysql_query("SELECT `Title` FROM `e2BlogNotes` WHERE `IsPublished` = '1' ORDER BY `Stamp` DESC LIMIT 0,1");
	$r = mysql_fetch_array($query);
	$last_post_title = "".$r['Title']."";
	return $last_post_title;
}

Вывод заголовка.

<?php echo last_post_title (); ?>

Вот и я обновился до 2.4

Дождался официального релиза Эгея 2.4 и обновился. Сделал Воссоздал свою тему. CSS нужно ещё немного поправить (убрать лишнее после копипаста), но вроде показывает то, что надо. Про плюсы писать не буду. Они очевидны.

Хотите стильный и простой блог? Используйте Эгею! Эгея

Осталось допилить или понять как

  1. Дмитрий Шишкин писал, что Пинтерест появляется при наличии картинки. Нет такого. Вообще с социальными сетями как-то не гибко. В самом ядре нет поддержки всех социальных сетей из скрипта Артёма Сапегина. Покопался. Добавил, но фича с Пинтерестом не появилась. В чем секрет? Секрет в том, что почему-то не движок не находит картинку к посту при проверке вывода кнопки. Решение? Немного не там поковырялся. :-) Все работает!
  2. Подсветка кода работает, но стили из скрипта Ивана Сагалаева работаю не нативно. Приходится их править, а хотелось бы просто менять сменой highlight.css. Путь решения здесь.
  3. После обновления Нисден (форматтер) стал убирать пустые строки. Как бы объяснить... Я раньше пустой строкой в конце публикации отделял обновления, выводы и т. п.. Теперь форматтер просто их убирает. Может я где-то туплю. Не знаю. Знаю! Может и раньше так было, но теперь точно существует следующее правило. Один «энтер» — это <br />, а два (т. е. пустая строка между абзацами) — это <p>.
  4. Файлик .htaccess оставляйте. Подробнее описаны все танцы с ним у Алексея Будаева.
  5. А как бы мне вернуть в избранное название публикаций? Мне нравилось, что раньше это не было безликой ссылкой. Можно было видеть избранное.
  6. В подсветке кода, он вылазит за экран, если получается длинный. В этом примере пришлось перенести запрос к базе. Не очень красивое решение (переносит код как попало). Добавить в /system/library/highlight/highlight.css следующее: В стили вашей темы:
code {
  display: block; 
  padding: 10px 30px;
  margin: 20px 0;
  word-wrap: break-word; // Вот это и осуществляет перенос. 
}

В целом я доволен обновлением, хотя и в старой версии меня все радовало.

P.S. Опять пустую строку съел!

Десять заповедей хорошего дизайна

Дитер Рамс созвал всех дизайнеров и сказал:
— Слушайте, дизайнеры, установления и законы, которые я объявляю вам сегодня. Выучите их и храните, чтобы следовать им. Пользователи говорили со мной лицом к лицу в студии. Они сказали:

«Хороший дизайн открывает что-то новое.
Хороший дизайн делает продукт полезным.
Хороший дизайн заставляет чувствовать.
Хороший дизайн помогает продукту быть понятным.
Хороший дизайн не навязчив.
Хороший дизайн не обманывает.
Хороший дизайн не устаревает.
Хороший дизайн продуман до мельчайших деталей.
Хороший дизайн не портит окружающую среду.
Хороший дизайн — это как можно меньше дизайна».

Подробнее на английском

Про смайлы

Где-то вычитал, что «правильный» смайл — это тот, у которого есть нос. Итак, «кошерный» вид смайла это :-). Аргументом было то, что если нос есть у человека, то он должен быть и у смайла. Я не могу это оспорить, но задаюсь вопросом — в чём предназначение этого смайла? Если типографическим способом нарисовать человеческое лицо, то, конечно, важно как можно подробнее его отобразить. А где тогда уши и волосы? Бровки? Погодите, мы же используем смайлы, чтобы передать эмоции! Тогда, почему я должен совершать целый ритуал с клавиатурой, чтобы сообщить собеседнику, что мне весело? Или он не поймёт этого, если я добавлю к предложению один символ )? Я пока не встречал таких непонятливых людей (если они и есть, то и этот :-) смайл не поймут). Или почему я должен набирать :-D если я дико смеюсь? Если я напишу ))), то читатель не догадается о моем состоянии?
Я предлагаю расслабиться и писать как вам удобнее. Если ваш вид записи смайлов становится помехой в коммуникации с другим человеком, то можно изменить его форму, но это не значит, что вы везде должны набирать =:-)-<-=. Можно решить для себя, что в комментариях и публичных высказываниях, вы набираете смайлы классическим способом, а в общении в скайпе и чатах — в краткой.
F:-|

Дополнительно почитать:

Докторская диссертация по смайловедению
Грубовато, но интересно о смайлах

Ранее Ctrl + ↓