{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Заметочки Когута: заметки с тегом вопрос",
    "_rss_description": "Культурные заметки о русской литературе, культуре, языке",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "http:\/\/kkos.ru\/blog\/tags\/question\/",
    "feed_url": "http:\/\/kkos.ru\/blog\/tags\/question\/json\/",
    "icon": "http:\/\/kkos.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1773501260",
    "authors": [
        {
            "name": "Константин Когут",
            "url": "http:\/\/kkos.ru\/blog\/",
            "avatar": "http:\/\/kkos.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1773501260"
        }
    ],
    "items": [
        {
            "id": "261",
            "url": "http:\/\/kkos.ru\/blog\/all\/long-story\/",
            "title": "Самый длинный роман",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/lydi-dobroy-voli@2x.jpg\" width=\"1280\" height=\"386\" alt=\"\" \/>\n<\/div>\n<p>Роман Жюля Ромена (1885—1972) «Люди доброй воли» посвящен событиям во Франции первой трети XIX века. Полагаю, что это одно из самых больших произведений в мире. Объем его составляет 27 томов. А кто-то всё переживает по поводу «Войны и мира», «Анны Карениной», «Человеческой комедии», «В поисках утраченного времени», «Тихого Дона» и пр.<\/p>\n<p>Один из читателей блога уточнил. Имам Ибн ‘Акиль аль-Ханбали (видный исламский учёный) — автор самой большой в истории книги «Аль-фунун», которая состоит из восьмиста томов. «Аль-фунун» — по-арабски «науки».<\/p>\n<p>Какие самые длинные произведения вы прочли и гордитесь этим? Похвастайтесь в комментариях.<\/p>\n",
            "summary": "Роман Жюля Ромена (1885—1972) «Люди доброй воли» посвящен событиям во Франции первой трети XIX века. Полагаю, что это одно из самых больших произведений в мире",
            "date_published": "2019-05-06T18:48:46+05:00",
            "date_modified": "2019-05-19T12:29:35+05:00",
            "tags": [
                "вопрос",
                "книги",
                "литература"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/lydi-dobroy-voli@2x.jpg",
            "_date_published_rfc2822": "Mon, 06 May 2019 18:48:46 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "261",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/lydi-dobroy-voli@2x.jpg"
                ]
            }
        },
        {
            "id": "85",
            "url": "http:\/\/kkos.ru\/blog\/all\/greek-learn\/",
            "title": "Учимся древнегреческому языку",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/biblio.jpg\" width=\"500\" height=\"461\" alt=\"\" \/>\n<\/div>\n<p>2016 год для меня начался с изучения древнегреческого языка. Прошло уже почти два месяца. На мой взгляд, это один из самых сложных древних языков. Изучать его сложно постольку, поскольку на нем не говорят. Но я еще не сказал о самом главном: это безумно интересный язык. На нем написан <a href=\"http:\/\/biblezoom.ru\">Новый Завет<\/a>, сочинения античных философов, произведения античной литературы, например, «Илиада» и «Одиссея» Гомера.<\/p>\n<p>Древнегреческий язык ранее входил в обязательный курс для каждого студента-филолога и изучался несколько лет вместе с латинским, старославянским и древнерусским языками.<\/p>\n<p>Если кто-то захочет присоединиться и составить компанию, то пишите: смогу помочь с первыми шагами (удаленно). Εὖ πράττειν — всем, кто решится на этот подвиг.<\/p>\n",
            "summary": "2016 год для меня начался с изучения древнегреческого языка. Прошло уже почти два месяца. На мой взгляд, это один из самых сложных древних языков",
            "date_published": "2016-02-20T18:52:32+05:00",
            "date_modified": "2016-02-20T18:57:44+05:00",
            "tags": [
                "вопрос",
                "древнегреческий"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/biblio.jpg",
            "_date_published_rfc2822": "Sat, 20 Feb 2016 18:52:32 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "85",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/biblio.jpg"
                ]
            }
        },
        {
            "id": "71",
            "url": "http:\/\/kkos.ru\/blog\/all\/sovoteka-line\/",
            "title": "Новый вопрос по поводу Совотеки",
            "content_html": "<p>Не так давно я <a href=\"http:\/\/kkos.ru\/blog\/all\/sovoteka-counter\/\">спрашивал совета<\/a> по поводу кода для генерации 100 случайных сов из базы картинок <a href=\"http:\/\/sovoteka.ru\">Совотеки<\/a>. Мне здорово помогли, всё заработало так, как надо. Теперь у меня возник еще один вопрос. На этот раз я не знаю, можно ли его решить при помощи одного лишь только CSS-кода или нужен PHP \/ JavaScript. Интересно любое возможное решение.<\/p>\n<p>Сейчас на сайте выводится 100 случайных сов. Но при этом не учитывается размер окна браузера пользователя, и строка некрасиво заканчивается так, как показано на картинке:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/sovoteka-wrong.png\" width=\"990\" height=\"332\" alt=\"\" \/>\n<\/div>\n<p>Помогите, пожалуйста, сделать так, чтобы при загрузке страницы последняя незавершенная строчка с картинками скрывалась и не портила внешний вид. Если же такой строчки нет, то не делать ничего. Знаю, что такой же механизм работает, например, на главной странице сайта студии Артемия Лебедева. Как это можно сделать?<\/p>\n<h2>Обновление<\/h2>\n<p>Дмитрий Шишкин помог решить описанную проблему. Точнее, не помог, а решил ее за меня целиком и полностью. Спасибо!<\/p>\n",
            "summary": "Не так давно я спрашивал совета по поводу кода для генерации 100 случайных сов из базы картинок Совотеки",
            "date_published": "2014-11-26T19:03:11+05:00",
            "date_modified": "2015-01-12T06:30:40+05:00",
            "tags": [
                "вопрос",
                "сайты",
                "совы"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-wrong.png",
            "_date_published_rfc2822": "Wed, 26 Nov 2014 19:03:11 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "71",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-wrong.png"
                ]
            }
        },
        {
            "id": "65",
            "url": "http:\/\/kkos.ru\/blog\/all\/sovoteka-counter\/",
            "title": "Счетчик просмотров в Совотеке",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/sovoteka-chislo.png\" width=\"670\" height=\"241\" alt=\"\" \/>\n<\/div>\n<p>В <a href=\"http:\/\/sovoteka.ru\">Совотеке<\/a> используется такой вот скрипт для склонения счетчика сов вверху страницы. Можно ли его как-то упростить? Напишите, пожалуйста.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;?php\nfunction pluralForm($chislo, $form1, $form2, $form5)\n{\n    $chislo = abs($chislo) % 100;\n    $chislo1 = $chislo % 10;\n    if ($chislo &gt; 10 &amp;&amp; $chislo &lt; 20) return $form5;\n    if ($chislo1 &gt; 1 &amp;&amp; $chislo1 &lt; 5) return $form2;\n    if ($chislo1 == 1) return $form1;\n    return $form5;\n}\necho &#039;У&amp;nbsp;нас уже &#039;.$chislo.&#039; &lt;a href=&quot;\/about&quot;&gt;&#039;.pluralForm($chislo, &#039;сова&#039;, &#039;совы&#039;, &#039;сов&#039;).&#039;&lt;\/a&gt;.\nМожно выбрать &lt;a href=&quot;\/&quot; title=&quot;Все совы&quot;&gt;из&amp;nbsp;всех&lt;\/a&gt;, указать нужную\nили&amp;nbsp;взять &lt;a href=&quot;\/random&quot; title=&quot;Случайная сова&quot;&gt;случайную&lt;\/a&gt;.&lt;br \/&gt;\nА еще можно &lt;a href=&quot;\/memory&quot;&gt;поиграть&lt;\/a&gt; с совами или посмотреть &lt;a href=&quot;\/video&quot;&gt;видео&lt;\/a&gt; с их участием.&#039;;\n?&gt;<\/code><\/pre><h2>Обновление<\/h2>\n<p>Z6a в комментариях подсказал правильную функцию. Спасибо. Теперь всё работает, кажется, даже быстрее. Привожу новый код здесь.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;?php\necho plural_form(42, array(&#039;арбуз&#039;, &#039;арбуза&#039;, &#039;арбузов&#039;));\nfunction plural_form($n, $forms) {\nreturn $n%10==1&amp;&amp;$n%100!=11?$forms[0]:($n%10&gt;=2&amp;&amp;$n%10&lt;=4&amp;&amp;($n%100&lt;10||$n%100&gt;=20)?$forms[1]:$forms[2]);\n}\n?&gt;<\/code><\/pre>",
            "summary": "В Совотеке используется такой вот скрипт для склонения счетчика сов вверху страницы. Можно ли его как-то упростить?",
            "date_published": "2014-09-18T12:57:43+05:00",
            "date_modified": "2014-09-19T19:40:07+05:00",
            "tags": [
                "вопрос",
                "программирование",
                "совы"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-chislo.png",
            "_date_published_rfc2822": "Thu, 18 Sep 2014 12:57:43 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "65",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/sovoteka-chislo.png"
                ]
            }
        },
        {
            "id": "36",
            "url": "http:\/\/kkos.ru\/blog\/all\/sovoteka-admin\/",
            "title": "Как устроена Совотека",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"http:\/\/kkos.ru\/blog\/pictures\/fonsov.jpg\" width=\"1472\" height=\"1352\" alt=\"\" \/>\n<div class=\"e2-text-caption\">О том, что у «Совотеки» под <s>капотом<\/s> перьями.<\/div>\n<\/div>\n<p>У <a href=\"http:\/\/sovoteka.ru\">Совотеки<\/a> все картинки-миниатюры генерируются и хранятся в отдельной папке по адресу:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sovoteka.ru\/i\/s\/<\/code><\/pre><p>Большие версии тех же картинок хранятся отдельно по адресу:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sovoteka.ru\/i\/<\/code><\/pre><p>Всего в «Совотеке» сейчас 903 совы и для удобства каждая картинка подписывается автоматически.<\/p>\n<p>Например, 100-я сова в миниатюрке имеет адрес: <a href=\"http:\/\/sovoteka.ru\/i\/s\/sovoteka_100_s.jpg\">sovoteka.ru\/i\/s\/sovoteka_100_s.jpg<\/a>. У нее всегда размер 95×95 пикселей. Ее увеличенная копия имеет адрес: <a href=\"http:\/\/sovoteka.ru\/i\/sovoteka_100.jpg\">sovoteka.ru\/i\/sovoteka_100.jpg<\/a>. Размер у нее непредсказуем.<\/p>\n<p>Нужно написать такой скрипт на PHP, чтобы он смог проделать следующее:<\/p>\n<ul>\n<li>автоматом подсчитать, сколько сов уже есть на сайте (я это делал через переменную, которая считает количество файлов, например, в папке \/i\/s\/. Сколько уменьшенных копий — столько сов на сайте);<\/li>\n<li>из множества сов выбрать 50 случайных и вывести их на экран (это можно через генерацию случайных чисел сделать, я их подставлял в имена файлов, ведь в них меняется только число — sovoteka_$chislo_s.jpg, к примеру). Важно, чтобы эти 50 сов не были повторяющимися — с этим проблемы. Случайные совы генерируются каждый раз при обновлении страницы — каждый раз разные картинки.<\/li>\n<\/ul>\n<p>Результат выполнения PHP-скрипта — HTML-код вида:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;a href=&quot;\/i\/sovoteka_518.jpg&quot;&gt;&lt;img src=&quot;\/i\/s\/sovoteka_518_s.jpg&quot; width=&quot;95&quot; height=&quot;95&quot;&gt;&lt;\/a&gt;\n&lt;a href=&quot;\/i\/sovoteka_431.jpg&quot;&gt;&lt;img src=&quot;\/i\/s\/sovoteka_431_s.jpg&quot; width=&quot;95&quot; height=&quot;95&quot;&gt;&lt;\/a&gt;<\/code><\/pre><p>Сейчас у меня такой код вышел:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$chislo = sizeof(glob(&#039;i\/*.*&#039;));\n\/\/ Подсчитываю, сколько картинок в папке, следовательно столько сов на сайте\n\n$arr = range(1, $chislo);\n\/\/ Делаю случайное число от 1 до числа сов на сайте\n\nshuffle($arr);\n\/\/ Мешаю числа\n\nfor ($i=0; $i &lt; count($arr); $i+=11) { \n\/\/ Зацикливаю вывод\n\necho &#039;&lt;a class=&quot;imgs_group&quot; rel=&quot;gal&quot; href=&quot;\/i\/sovoteka_&#039;.$arr[$i].&#039;.jpg&quot;&gt;\n&lt;img src=&quot;\/i\/s\/sovoteka_&#039;.$arr[$i].&#039;_s.jpg&quot; width=&quot;95&quot; height=&quot;95&quot; class=&quot;ingal&quot;&gt;&lt;\/a&gt;&#039;;\n\/\/ Подставляю созданные номера в HTML — костыль, в общем.\n}<\/code><\/pre><p>С наибольшей степенью вероятности могу утверждать, что этот код — костыль. Если у вас есть предложения по решению данной задачи, отпишитесь в комментариях.<\/p>\n<h2>Обновление<\/h2>\n<p>Спасибо Антону Сюваеву за помощь в коде. Теперь совы генерируются как надо — с выборкой из массива и проверкой на повторы.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$files = glob(&#039;i\/s\/*.jpg&#039;);\n$rand_keys = array_rand($files, 50); \/\/ 50 случайных ключей из массива\n\nforeach ($rand_keys as $pos) {\n$thumb_name = $files[$pos];\n$full_name = str_replace(array(&#039;\/s&#039;,&#039;_s&#039;),&#039;&#039;,$thumb_name);\n\necho &#039;{$thumb_name}\\n&#039;; \/\/ url мелкого файла\necho &#039;{$full_name}\\n\\n&#039;; \/\/ url крупного файла\n}<\/code><\/pre>",
            "summary": "У Совотеки все картинки-миниатюры генерируются и хранятся в отдельной папке по адресу",
            "date_published": "2014-05-20T22:34:26+05:00",
            "date_modified": "2018-05-14T00:22:11+05:00",
            "tags": [
                "вопрос",
                "интернет",
                "программирование",
                "совы"
            ],
            "image": "http:\/\/kkos.ru\/blog\/pictures\/fonsov.jpg",
            "_date_published_rfc2822": "Tue, 20 May 2014 22:34:26 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "36",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "http:\/\/kkos.ru\/blog\/pictures\/fonsov.jpg"
                ]
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}