Заметки за Октябрь 2016
31 October 2016, 22:21 MSK
Привет, дорогие читатели. Пришло время рассказать о том, как технически устроен мой блог, и чем отличается от абсолютного большинства других. Поскольку я веб-программист и занимаюсь созданием сложных сайтов, я решил не брать готовый движок для блога типа Вордпресса, а написать его самостоятельно, при этом мне хотелось сделать в нём что-нибудь необычное.
Главная особенность этого блога в том, что создание и редактирование постов (я называю их заметками) происходит не в привычном виде через админку на сайте, а через Эвернот.
evernote@lt
Для блога у меня создан специальный блокнот в Эверноте, все заметки из которого через API выгружаются на сайт kirkizh.ru. Кроме самого контента выгружается мета-информация: дата создания/обновления заметки, заголовок и даже тэги. Можно, например, посмотреть все заметки по тэгу «путешествия». Если я поставлю заметке тэг «черновик», то она будет скрыта с сайта. Это позволяет спокойно писать и редактировать заметку, прежде чем она будет опубликована.
Сначала хранение постов блога в Эверноте задумывалось как некая прикольная идея, но на практике оказалось весьма удобной штукой. Во-первых, я могу писать посты с любого устройства — хоть с компьютера, хоть с телефона. Во-вторых, мне не нужен для этого интернет: я могу написать заметку в самолёте, и, как только я прилечу, она сама опубликуется в блог при появлении сети. В-третьих, приятно иметь резервную копию блога — если с сайтом или сервером что-то случится, не нужно будет думать, как всё восстановить.
Мой парсер заметок понимает стандартную эвернотовскую разметку — стили текста, ссылки, картинки, файлы и т.д. Также я придумал себе дополнительную разметку. Можно как-то по-особенному выделить текст.
Например, так выглядят лирические отступления от основной темы.
Можно удобно добавить листинг исходного кода, который будет подсвечен скриптом highlight.js:
<?php echo "Привет, мир!"; ?>
Для более комфортного чтения блог сам подстраивает контент под устройство, с которого его читают, — попробуйте зайти на этот сайт с компьютера и со смартфона. Все тексты прогоняются через Типограф Лебедева (в котором я, кстати, нашёл баг), а все медиа-файлы (картинки, слайдеры, видео) с помощью Эмёрджа Бирмана подгружаются по мере прокрутки страницы.
Если вам нравится то, как я пишу, вы можете подписаться на RSS-ленту или следить за новыми постами в моём ВКонтакте, Твиттере или Фейсбуке.
25 October 2016, 18:43 MSK
Недавно я прикрутил к своему блогу типограф от Студии Лебедева. Типограф — это инструмент автоматической обработки текстов согласно правилам экранной типографики. Он расставляет правильные кавычки, длинные тире, удаляет мусор, добавляет неразрывные пробелы и т.д. Текст становится читать легче и приятнее, и мне не нужно делать это каждый раз вручную.
Но, когда я писал заметку про то, как создать бота для Телеграма, я столкнулся со странным багом — у меня вырезались некоторые куски текста, например, <TOKEN>. Я полез смотреть исходный код и обнаружил, что этот текст стал HTML-тэгом. Сначала у меня возникло предположение, что я накосячил с парсером разметки заметок, но, оказалось, что баг в коде типографа.
Тэги: PHPXSSбаг
24 October 2016, 22:22 MSK
Валера продолжает путешествовать и писать об этом в свой бложег. :-) После Чехии было решено посетить Австрию, а, если точнее, Вену.
Первым делом после самолёта я отправился пить меланж — это такой особый венский кофе:
IMG_2046
20 October 2016, 21:54 MSK
Привет, ребзя. Наверное, вы давно мечтали сделать собственного телеграм-бота, но не знали как? Сегодня я вам расскажу! Наш бот будет простым: он будет принимать сообщения от пользователей и отвечать на них.
telegram@lt
Вообще, у Телеграма есть понятное и подробное API на сайте, но оно на английском языке (учите английский, всегда пригодится :-). Управление ботами происходит необычным образом: через другого специального (служебного) бота @BotFather. Для начала нужно добавить его в контакт-лист и что-нибудь ему написать, после чего вы увидите список доступных команд. Отправьте боту команду /newbot, затем напишите в чат имя вашего бота (любое, например, Trademark Checker), затем напишите уникальный логин вашего бота (должен заканчиваться на «bot», например, OnlinePatentRobot). В ответ вы получите авторизационный токен — сохраните его и никому не сообщайте.
Изучите список доступных команд для управления ботом. Например, команда /setdescription позволяет задать описание бота, а /setuserpic — установить аватар.
И так, бот создан. Но в текущем виде он малопригоден для использования, так как не будет реагировать на какие-либо команды. Для реализация функционала мы напишем простой скрипт на PHP. Этот скрипт необходимо разместить на сайте, который доступен по безопасному протоколу HTTPS (для этого вам понадобится SSL-сертификат, но это тема для отдельной заметки).
10 October 2016, 22:47 MSK
Часто можно услышать мнение о том, что современные человеческие языки упрощаются с течением времени, что, чем моложе язык, тем он сложнее и красивее. Я не буду начинать очередной холивар, пытаясь доказать или опровергнуть это утверждение, а просто поделюсь с вами несколькими интересными фактами.
Первое, что приходит на ум в разговоре про языки, — идея вспомнить историю родного великого и могучего. Даже неискушённому читателю должно быть известно о реформе русской орфографии 1917-1918 годов. Эта реформа принесла множество довольно резких изменений в русский язык, но самыми важными являются исключение из алфавита трёх букв Ѣ («ять»), Ѳ («фита»), І («и десятеричное») и исключение твёрдого знака из употребления на конце слов. Также исключалась буква Ѵ («ижица»), но в официальных документах упоминание об этом отсутствует, да и использовалась она чуть менее, чем нигде.
Безусловно, данная реформа сильно упростила язык. Пожалуй, самый известный пример — в дореволюционной России слова «миръ» (антоним к слову «война») и «мiръ» (синоним к словам «общество», «вселенная») имели совершенно разное значение, а сейчас стали одним словом «мир». Кстати, многие ошибочно полагают, что «Война и мир» Толстого изначально называлась «Война и мiръ» (то есть, как бы описывая поведение общества во время войны 1812 года), но, если обратиться к первоисточнику и посмотреть любую старую обложку этой книги, то можно наблюдать название «Война и миръ»:
война и миръ
Сейчас мы можем наблюдать постепенное исчезновение буквы «Ё» из нашего языка.
Лирическое отступление. Много людей путает дореволюционные буквы «Ять» (ѣ) и Твёрдый знак (раньше назывался «Ер»). По сути, Ять — это современная буква «Е».
Второй интересный пример — про обращения к человеку на «ты» и «вы». Если вы хоть немного учили в школе английский язык, то знаете, что оба этих слова переводятся на английский язык как «you». Но, большинство наших соотечественников ошибочно полагает, что в английском языке нет слова «вы», и все обращаются друг к другу неформально. На самом деле, это не так: ещё 400 лет назад в английском языке было специальное слово «thou» для обозначения местоимения «ты». Причём, для этого местоимения даже использовались специальные словоформы глаголов. Сравните:
you are, you were
thou art (или thou beest), thou wast
you have, you had
thou hast, thou hadst
you love, you loved
thou lovest, thou lovedst
Получается, в англоязычном мире все называют друг друга на «вы» (а не стараются как можно быстрее перейти на «ты», как это нынче модно в России). Тем не менее, современный английский язык куда проще, чем язык, на котором говорил и писал Шекспир. Сейчас так вообще существует отдельный раздел Википедии на специальном упрощённом английском. Интересно, что будет с русским языком через 400 лет, но, к сожалению, мы вряд ли узнаем об этом.
7 October 2016, 21:05 MSK
Небольшой рассказ о том, как потерять группу ВКонтакте, если ты её создатель и единственный администратор (и что делать, чтобы не попасть в такую же ситуацию).
Два года назад я работал с одной петербургской медицинской клиникой: разработал для них сайт и довольно успешно занимался его поддержкой и продвижением. Но в один момент у клиники сменилось руководство, а вместе с ним и линия партии, согласно которой клиника решила сотрудничать дальше не со мной.
Поскольку работали мы давно, я бесплатно создал группу клиники ВКонтакте, привлекал новых участников, наполнял её статьями, а группа привлекала новых посетителей на сайт и новых клиентов в клинику. Разумеется, после одностороннего разрыва рабочих отношений я не захотел бесплатно передать права на эту группу новому руководству. Но, тем не менее, в один прекрасный день, зайдя в группу, я обнаружил, что больше не имею никаких прав на неё (напомню, я был создателем и единственным админом).
Я сразу же написал в техподдержку ВКонтакте с вопросом, что случилось с моей группой. Ответ был неутешительным: представитель клиники предоставил техподдержке свидетельство на товарный знак (название клиники было в названии группы и на аватарке), поэтому сообщество было передано ему вместе с правами создателя.
как потерять группу ВКонтакте
Также агент техподдержки привёл мне следующий пункт правил ВКонтакте:
5.13.8. В случае обнаружения факта нарушения в Сообществе законных прав и интересов третьих лиц, действующего законодательства Российской Федерации, а также положений настоящих Правил Администрация Сайта вправе, по своему выбору, принимать следующие меры: ...
г) передать права администрирования Сообщества, а также право использования зарегистрированного поддоменного имени, законному правообладателю, в установленном порядке подтвердившему свои права на Контент Сообщества, в том числе право на объекты авторского права, смежных прав, а также право на средство индивидуализации, сходное до степени смешения с используемым в Сообществе поддоменным именем.
Таким образом, если бы я просто убрал из названия, логотипа и адреса группы название клиники, группа осталась бы за мной. Возможно, эта история окажется кому-нибудь полезной.