Обсуждение Викиучебника:Популярные страницы/2014
Количество просмотров учебников?
правитьБыло бы полезно также формировать сводку популярности учебников — учитывая при этом все их подстраницы. Так, ограничившись только лишь приведенными на странице данными по популярным подстраницам, можно сформировать следующую «десятку популярнейших».
Как видно, без учета вклада подстраниц, популярность одностраничных учебников оказывается заметно завышенной.
Просмотров | Подстраниц | Учебник |
---|---|---|
658 | Microsoft Excel | |
645 | 2 | Python |
580 | 12 | Ruby |
498 | 11 | Реализации алгоритмов |
452 | 8 | Java |
409 | 8 | Язык Си в примерах |
406 | Общая экономическая теория | |
364 | 5 | Порт |
354 | Сборка кубика Рубика | |
304 | Vim |
— Ivan Shmakov (о ▞ в) 06:35, 17 апреля 2015 (UTC)
- Я думаю, что это трудно реализуемо. Да и зачем? Это статистистика популярных страниц (не учебников) за прошлый год. Тот же учебник Реализации алгоритмов сейчас активно пишется и дополняется. Я одного не могу понять: почему так популярен учебник Microsoft Excel? Oleg3280 (обсуждение) 15:18, 18 апреля 2015 (UTC)
- Видимо, миллионы леммингов точно знают, что делают? )Fantom78 (обсуждение) 15:28, 18 апреля 2015 (UTC)
- Прошу соблюдать серьёзный стиль общения. Oleg3280 (обсуждение) 17:02, 18 апреля 2015 (UTC)
- В каком смысле «трудно реализуемо»?
- Я надеюсь, что в начале следующего года статистика будет обновлена по данным за
20142015 г. - AIUI, ПО Excel упоминается в государственных образовательных стандартах — во всяком случае в РФ. Ни Python, ни Ruby, ни Java этим свойством не обладают.
- С другой стороны, если учесть данные по всем подстраницам (а не только популярным), подозреваю, что на первое место вполне могут выйти учебники Ruby и Python.
- — Ivan Shmakov (о ▞ в) 16:48, 18 апреля 2015 (UTC)
- Смею заметить коллега, что на ПО от фирмы Майкрософт в плане документооборота не существует стандартов. А вот на открытые форматы -- существует. И даже есть программа перехода на СПО утверждённая правительством РФ. Так что, я бы примечание на этой страничке добавил, мол не тратьте время люди добрые, Эксель -- дело гиблое)))) Что касается python и Ruby, имхо для обучения с натяжкой может подойти только первый по многим соображениям. Хотя надо понимать -- это попса. Fantom78 (обсуждение) 16:52, 18 апреля 2015 (UTC)
- Прошу соблюдать серьёзный стиль общения. Oleg3280 (обсуждение) 17:02, 18 апреля 2015 (UTC)
- Я прошу прощения за такой стиль общения, но немного иронии не позволяет мне скатиться по такому, имхо, не очень существенному вопросу в "холи вар". Видимо, это обсуждение изначально не для меня. ) Fantom78 (обсуждение) 17:11, 18 апреля 2015 (UTC)
- Так это и есть статистика за 2014 год. [1] (эта ссылка на странице статистики и на общем форуме). Oleg3280 (обсуждение) 16:54, 18 апреля 2015 (UTC)
- Прошу прощения; имел в виду, разумеется, 2015 г. — Ivan Shmakov (о ▞ в) 18:55, 18 апреля 2015 (UTC)
- Автор статистики — участник Emaus. Oleg3280 (обсуждение) 16:57, 18 апреля 2015 (UTC)
FTR, у меня в данный момент нет возможности загрузить для обработки порядка 40 GiB «первичных» данных. (К сожалению, отдельные данные по конкретным проектам не размещены на сервере. Еще хуже то, что данные упорядочены по коду языка, а значит информация по русскоязычным проектам появляется ближе к концу
.gz
-потока.)Тем, у кого такая возможность есть, предлагаю следующий код на Perl 5. (Может быть использован в форме $ zcat -- pagecounts-2014????-??????.gz | perl -- wikistats.perl > stats.2014. NB: в данной редакции, код не выполняет отсечение страниц вне основных пространств.)
### wikistats.perl use common::sense; use English; require Encode; require Encode::Locale; require URI::Escape; foreach my $io (\*STDOUT, \*STDERR) { binmode ($io, ((-t $io) ? ":encoding(console_out)" : ":encoding(locale)")) or die (); } my (%by_page, %by_book, %book_pages); ## FIXME: the <> form is generally unsafe while (<>) { next unless (/^ru\.b\b/i); chomp (); my ($w_unused, $page_enc, $count, $octets_unused) = split (" ", $_, 4); my $page = Encode::decode_utf8 (URI::Escape::uri_unescape ($page_enc)); if (index ($page, "\N{REPLACEMENT CHARACTER}") >= 0) { warn ("W: Failed to decode page name in: ", $_, "\n"); next; } $page =~ y/_/ /; my ($book) = split (/\//, $page, 2); $book_pages{$book}++ unless (exists ($by_page{$page})); $by_page{$page} += $count; $by_book{$book} += $count; } my @pages = sort { $by_page{$b} <=> $by_page{$a}; } (keys (%by_page)); my @books = sort { $by_book{$b} <=> $by_book{$a}; } (keys (%by_book)); print ("{| class=\"wikitable sortable\"\n", "! Views\n", "! Pages\n", "! Book\n"); foreach my $book (@books[0 .. 9]) { print ("|-\n", "| ", $by_book{$book}, " || ", $book_pages{$book}, " || [[", $book, "]]\n"); } print ("|}\n\n", "{| class=\"wikitable sortable\"\n", "! Views\n", "! Book\n", "! Page\n"); foreach my $page (@pages[0 .. 9]) { my ($book, $sub) = split (/\//, $page, 2); print ("|-\n", "| ", $by_page{$page}, (defined ($sub) ? (" || [[", $book, "]]", " || [[", $page, " |", $sub, "]]") : ("\n| colspan=2 | [[", $page, "]]")), "\n"); } print ("|}\n"); ### wikistats.perl ends here
Пример вывода (для pagecounts-20150418-040000.gz) нижеследует.
Views Pages Book 33 1 HandyCache 27 5 Ruby 19 1 Настройка роутера WL500g Premium 17 13 Реализации алгоритмов 15 15 Служебная:Вклад 12 12 Служебная:Ссылки сюда 10 3 Японский язык 10 1 Заглавная страница 10 1 Microsoft Excel 9 1 Общая экономическая теория Views Book Page 33 HandyCache FAQ 21 Ruby Сети 19 Настройка роутера WL500g Premium 10 Microsoft Excel 10 Заглавная страница 9 Общая экономическая теория 5 Vim 5 Java 5 Heroes of Might and Magic III Города и расы 5 Японский язык Урок 1