Я могу абсолютно все! Я же эксперт!

Видео на злободневную тему отношений между заказчиком и исполнителем. До боли знакомые ситуации  😕

Оригинал рассказа: ссылка

Отключение рекламных SMS от МТС

По умолчанию у МТС, да и у других операторов, рассылка рекламных сообщений включена по умолчанию. Сюда входят и реклама пластиковых окон, такси, различные стимулирующие акции и прочее.

Чтобы отказаться от приема назойливых сообщений, в личном кабинете достаточно включить бесплатную услугу «Запрет приема информационных SMS и SMS/MMS с сайта МТС».

2014-05-07_125103

О последствиях при отсутствии бекапов

На прошлой недели обновил WordPress, на котором, собственно, и работает этот блог, до версии 3.9.

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

Я уже писал давным-давно, что использую тему Reverie 3, которую немного адаптировал под себя (получился в своем роде форк 🙂 )., но по не понятной мне причине, бекапа этой темы я не делал. Таким образом, когда произошла жопа, я потерял свою прекрасный шаблончик 😥

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

Про парсер ссылок на Facebook

В Facebook‘е, когда вставляешь ссылку в форму написания поста, срабатывает парсер, который анализирует эту ссылку. Если, допустим, ссылка ведет на картинку, то в посте появляется эскиз этого изображения, а если ссылка указывает на сайт — то показывается описание сайта и список изображений на нем (владелец сайта может настроить информацию, которую должен забирать парсер).

А вот что получится, если ссылка ведет, скажем, на бинарный файл 🙂 :

Про парсер ссылок на Facebook

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

К слову, парсер на Facebook’е очень старательный — он не только показывает содержимое JS-файлов и других подобных, но и даже пытается для аудио-файлов выводить содержимое метаданных ^_^

Тень от съемочной машины на Google Street View

Просматривая панорамы Google Street View, обнаружил тень, которая исходит от съемочной машины, которая, собственно, и производит саму фотосъемку панорам:

google_street_view

В прошлом году, кстати, на Большом проспекте П.С. видел эту самую машину, правда идентифицировать, какой компании она принадлежит, так и не получилось.

google-street-view-car

О поведении «Refresh» в браузере

В этой заметке пойдет речь на тему браузерного кэша и управления им. Для того, чтобы обновить страницу в браузере, многие используют привычную кнопку F5, хотя существует еще и такая комбинация, как Ctrl + F5. Так в чем же здесь отличие?

Для начала нужно знать, что веб-браузер умеет создавать два типа HTTP-запросов — условный и безусловный.

Безусловный запрос делается в том случае, если браузер клиента не имеет сохраненной (локальной) копии ресурса. В этом случае сервер должен вернуть ресурс с ответом HTTP/200 OK. Клиент может кэшировать полученный ресурс, если заголовки ответа позволяют это делать.

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

Условный запрос содержит заголовок If-Modified-Since и/или If-None-Match, который указывает серверу, какая версия кэша уже содержится в браузере. Если текущая версия не изменилась, то сервер выдаст ответ с заголовком HTTP/304 Not Modified без тела, в противном случае он может вернуть ответ HTTP/200 OK с новой версией ресурса.

Теперь возвратимся к обновлению страницы через кнопку F5. В теории нажатие на F5 не должно приводить к запросу на сервер, если ресурс находится в кэше и является актуальным, либо же должен быть осуществлен условный запрос, если ресурс находится в кэше, но он уже не актуален. Комбинация же Ctrl + F5 должна приводить к безусловному запросу, минуя кэш.

Кстати, я заметил, что при Ctrl + F5 в Chrome к запросам добавляются заголовки Cache-Control: no-cache и Pragma: no cache. Это весьма любопытная вещь и я решил на своей тестовой странице провести исследование поведения браузера (и поведение кэша) при разном виде обновления страницы.

Моя тестовая страница содержит три JS-файла, один из которых при ответе имеет заголовок Cache-Control: no-cache, другой — Cache-Control: private, max-age=15, а последний не имеет контроля кэша.

И вот какие результаты я смог получить:

browser_cache

Link navigation — это поведение, когда пользователь уходит со странице по ссылке, а затем возвращается обратно через кнопку «Назад». Конечно, данный способ не является методом обновления, однако некоторые пользователи ожидают увидеть свежий контент каждый раз, когда они посещают страницу независимо от того, каким образом они попали на эту страницу.

Источник

[PostgreSQL] Первую букву сделать заглавной

Задача: в полях ‘name’ таблицы ‘comment’ первый символ перевести в верхний регистр.

Решение:

UPDATE comment
   SET name = UPPER(SUBSTRING(name FROM 1 FOR 1)) || SUBSTRING(name FROM 2 FOR LENGTH(name))

Про техническую поддержку продукта

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

А вот какой временной промежуток дает себе тех.поддержка Electronic Arts:

ea_help

Целых две недели! По-моему, это ни в какие рамки не лезет. И ведь никто не гарантирует, что они ответят, а не проигнорируют (как это делает Google, Facebook и пр.). А что будет происходить, когда они все же ответят, а вы в свою очередь захотите уточнить / прокомментировать ответ? Ха, ждите еще две недели! Таким образом диалог с саппортом может затянуться на месяцы.

Вот вам и качество…