lynx logo
lynx slogan #00040
Привет! Сегодня у вас особенно незнакомое лицо.
Чтобы исправить это, попробуйте .

А ещё у нас сейчас открыта .




секретный шифр д-ра Тьюринга, O.B.E:

включите эту картинку чтобы увидеть проверочный код

close

Хаяо Миядзаки




   

№9216
2981 просмотр
20 декабря '18
четверг
5 лет 100 дней назад



Тип работы: роман, повесть, рассказ, сборник...

Недавно добавленная в Библиотеку библиография Киплинга (специально добавляю понемногу вручную, чтоб понять, как дальше совершенствовать структуру) подсказала добавить, помимо жанра, тип работы: роман, повесть, рассказ, авторский сборник и т. п.

Департаментские песни (сборник стихов) / Departmental Ditties (poetry)
Простые рассказы с гор (сборник) / Plain Tales from the Hills
Свет погас (роман)
American Notes (non-fiction)
Песни казармы (сборник стихов)
Наулака: История о Западе и Востоке (роман)
Масса выдумок (сборник)
Сталки и К° (роман из новелл)
От моря до моря (путевые заметки)
Награды и феи (сказки, стихи и рассказы)
Ирландские гвардейцы во время Великой войны (публицистика)
Немного о себе (автобиография)


n:novel s:short-story v:verse nf:non-fiction sc:short-story-collection vc:verse-collection h:history m:memoirs

Также возможно указывать в свободном формате.

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

Пригодится вскоре с О. Генри, Конан Дойлом, Кингом и достаточно ещё кем. С Хайнлайном вот ещё выше, у которого и повести были, и рассказы, и описания поездки по СССР. Но Киплинг в этом отношении, конечно, выделяется. То ли время тогда было такое... когда автору не обязательно было выдавать кирпичи, поскольку это единственное, что издатели только и способны продать.


Как же много у Киплинга непереведённого на русский и теперь, спустя сто лет. Ну ладно, царизм, хоть и старался (сам особо искал те дореволюционные издания, листал их) — но не успел всё. Потом понятно было что. Потом, после войны, хоть и любимый широкими народными массами певец империализма проклятого, но всё же классово чуждый. А потом — снова полный развал во всём. Что ж, впрочем, понятно отчего так получилось. И всё же... Киплинг — как зеркало русской вековой необустроенности.

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


  Написал сумбурный Джойс  
9



Хм, странно, похоже это я так постепенно всё же реализую ту свою давнюю задумку:

У меня уж много лет есть мечта: дочитать всего Киплинга, Джеральда Даррелла, Хайнлайна, Мураками. Досмотреть все фильмы Миядзаки. В детстве у меня не было такой возможности, а потом как-то всё не было времени.


В виде вот пока Каталога книг.

Потому что как раз вот их вчера всех первыми и добавил. Не сговариваясь. Кроме пока Мураками. А с Миядзаки так и вовсе тогда раздел Фильмы начал.
Нарисовал пиктограммы чтоб сразу зрительно различать толстые романы от повестей потоньше, сборников и отдельных рассказов.
романповестьрассказсборник рассказов сборник
Потом сделаю сортировку по году написания, не только по названию как сейчас. С переключением.
Сделал. По порядку в базе — по годам — по названиям.
Циклы рассказов Лема подсказали добавить в структуру отсылки на родительский цикл / авторский сборник. А там ещё и вложенный цикл — теперь надо будет придумывать вывод всего этого.

#1349 Сказки роботов
    Три электрыцаря
    Урановые уши
    ...
#1350 Кибериада
    Как уцелела Вселенная
    Машина Трурля
    #1218 Семь путешествий Трурля и Клапауция
        Путешествие первое, или Ловушка Гарганциана
        Путешествие первое А
        ...
#1351 Рассказы о пилоте Пирксе
#1235 Звёздные дневники Ийона Тихого
#1352 Из воспоминаний Ийона Тихого
#1353 Абсолютная пустота
#1354 Мнимая величина
#1355 Библиотека XXI века


Поработал ещё немного. Написал алгоритм сортировки. Как всегда главные трудности во всё той же дикости SQL+PHP, про что говорили до этого, в отсутствии нормальной среды отладки, где можно пойти по строкам читая дампы, изменение переменных в каждой итерации цикла.

Крайне халтурно документированные системные функции — вот загляните на официальную страницу с описанием usort и скажите сразу по беглом прочтении: что с чем сравнивается и что из этого -1 поднимает в массиве? И вообще каков механизм, алгоритм сравнения? Там этого вообще не написано. Хотя достаточно было простой иллюстрации из нескольких ячеек и стрелок. И эти люди являются законодателями мировых мод в сетевом программировании уже 20 лет. Сменив чуть более хтонический Perl (но в то же время и более строго, упорядоченно, подробно документированный).

Отдельной забавой оказалось нахождение способа перебросить жирафа через тюленя: что похоже надо бы сконвертировать объекты выдачи SQL в массив, потому что как их сортировать методами PHP — так и осталось загадкой, и потом обратно, чтоб красивей было работать дальше, не менять прежний код, оперировавший объектами.

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

#1. Вспомнить, заново изучить и отрефакторить, воссоздать для нового применения тот мой схожий код восьмилетней давности, на котором работает бесконечно вложенное дерево наших комментариев. За восемь лет как-то ну совсем забыл его логику, нет нужды хранить в оперативной памяти такие редкие знания столько лет. А там рекурсивная функция. А это само по себе конечно подавляет интеллектуальной изощрённостью — но несколько громоздко, недостаточно изящно. А тут у нас и нет особой нужды, #1218 Семь путешествий Трурля и Клапауция я скорее как излишнее испытание себе добавил, чем как такую прямо структурную необходимость. Здесь, в отличие от дерева комментариев, перевешивает соображение лаконизма кода.

#2. Самое вообще простое: да не мучаться с сортировкой массивов объектов, а тупо сделать несколько вложенных запросов к базе. Но я сразу запретил себе делать просто и тупо: хотелось именно испытать механизмы сортировки всего в PHP после единственного SQL. Потому что классически было всегда с 80-х принято так программировать, не бегая куда-то туда-сюда за каждым куском материала.

Но зато теперь это знание, похоже, повсеместно утрачено, и не только не надо трёхмерную игрушку написать так лаконично, чтоб поместить на пятидюймовую дискету — но и вовсе они ваяют вот свои Фейсбуки, подобные по функционалу нашему Рысятнику, с какими-то дикими, как мне говорили британские коллеги, сам не считал, не выяснял, десятками и чуть не сотнями мегабайтов задействованных, подгружаемых библиотек. А чего, интернет-то у всех уже быстрый... И вместо дискет DVD... Хотя нет, что-то уже как-то лет 10 как DVD не встречал.

«Нет, ну как, эта библиотека на 25МБ нужна, её нам оставила в наследство ещё позапрошлая команда разработчиков, давно передохшая от чумки и несвежих пончиков; теперь уже трудно понять для чего — но без неё не работает, мы не понимаем почему». Впрочем, говорят, и наш геном так же примерно устроен. Только вот мы с ним как-то ещё ухитряемся сами программировать чуть более качественно, как завещал нам Пирсиг, чем сами сконструированы.


Нет, ну и конечно работа с массивами в PHP даёт массу преимуществ, можно сразу выкусить уникальные узлы, на которые ссылаются другие строки базы (объекты), то есть без необходимости при добавлении элементов как-то особо определять ноды, узлы — что в принципе порочная практика: ради удобства архитектуры добавление лишних необходимых действий.

unique :: 0, 1218, 1235, 1349, 1350, 1351, 1352, 1353, 1354, 1355

parents :: 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1235, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1349, 1350, 1351, 1352, 1353, 1354, 1355

children :: 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269


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

global $a_unique; //you must not forget the suspenders
if (in_array($a['cycle'], $a_unique)) { $value_a=0; }
if (in_array($b['cycle'], $a_unique)) { $value_b=0; }...


А, нет, не сейчас, поздно уже, потом когда-нибудь.
Даже тернарным лучше:
$a_parent = in_array ($a['cycle'], $a_unique) ? true : false;
$b_parent = in_array ($b['cycle'], $a_unique) ? true : false;

Нет, что-то не срабатывает, дети гибридного так и пролетают за него наверх. Хотя он пусть и не в $a_parents, а в $a_children — но и в $a_unique, которым оперирует теперь эта проверка достижения родителя.

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

Но разгадка где-то уже совсем рядом: всё работает, пролетают только они.
   


















Рыси — новое сообщество