Еще б допилить немного исполнение в более удобный и расширяемый вид
Выделить getBaseUrl, чтобы не трогать протектед переменную, для построения фильтров вынести фабричный метод вместо статика, each сделать менее декларативным — дать возможность засунуть не только массив правил, но и коллбэк (в который передается каждая нода) — аналогично я бы все расширил коллбэками для постобработки того же text(). Т.е. надо манипулировать ситуациями, когда вложенность json и исходного html может совпадать, а когда нет (например, дату не запихнули в .post, а положили рядом дивом).
Пр опостобработку еще вот что — существует много постоянно необходимых обработок (вроде убрать лишние пробелы внутри, вырезать теги, сделав br2nl) и прочее, что было бы хорошо иметь в ООП-стиле, а лучше и расширять собственными правилами.
Плюс конструкция exist -> then -> else не особо нравится (и не хватает аналога для условного выражения).
Плюс не заметил обработки хттп-ошибок — т.к. порой надо парсить и по 404 считать данные по странице отсутствующими.
Мне нравится этот пост. Четкое объяснение, почему 10 без маркетологической бурды, в майки-стиле (они всегда вообще-то заботились, чтобы максимум старых программ работало в их новых ОС без танцев с бубном, в отличие от других разработчиков), и десятки, и сотни комментариев пользователей «Да не, это отмазка, [очередная конспирологическая теория или просто предположения без статистических предположени й]»
И часто вы держите в руках книгу хотя бы столетней давности?
Лучше сравнить, сколько времени потребуется на копирование/переиздание книг с тем же объемом информации, что на флешке, с которой информацию можно скопировать на нового убийцу Блю-Рея в тот же момент.
Российский закон об авторском праве (прочитайте, на мой взгляд, каждый программист должен хоть раз это сделать) включает в себя практически любое использование без разрешения, если только не цитируем, или пародируем. В целом, мировое правовое охранение интеллектуальной собственности подкреплено лобби, преследующее одни и те же цели, так что во всех страннах отличается незначительно. Использовать нельзя — вас будут запугивать, а если вы попутно получаете деньги — на вас подадут в суд.
Нарушение авторского права (также контрафакция[1], от лат. contrafactio — подделка; или — в случае имущественных АП — «пиратство») — это правонарушение, суть которого составляет использование произведений науки, литературы и искусства, охраняемых авторским правом, без разрешения авторов или правообладателей или с нарушением условий договора о использовании таких произведений[2]. К числу основных способов нарушения авторских прав относится незаконное копирование и распространение произведения, а также плагиат.
Плюсую. Добавлю, что не только человекочитаемым, но и (давайте назовем это) git-читаемым.
Сейчас переводим Game Design Patterns, сайт автора и книга собирается как раз из маркдауна — отлично отслеживаются изменения, можно разбить абзац на несколько строк (в хтмл их не будет), что позвоялет пользоваться диффилками и не использовать софт-врапы, структура отлично сохраняется/переносится, и т.д.
git push [remote [[local_branch][:remote_branch]]]. Если опустить удаленную, то используется то же имя, что и локальной, если опустить локальную (двоеточие остается) — мы «пусто» передаем в удаленную (удаляем, собственно). Если опустить ветку, то используется записанный в конфиге «трек». Если опустить ремоут…
Компьютеру просто не интересны «Семь минут в раю» (выигрыш там есть, хе-хе).
Выделить getBaseUrl, чтобы не трогать протектед переменную, для построения фильтров вынести фабричный метод вместо статика, each сделать менее декларативным — дать возможность засунуть не только массив правил, но и коллбэк (в который передается каждая нода) — аналогично я бы все расширил коллбэками для постобработки того же text(). Т.е. надо манипулировать ситуациями, когда вложенность json и исходного html может совпадать, а когда нет (например, дату не запихнули в .post, а положили рядом дивом).
Пр опостобработку еще вот что — существует много постоянно необходимых обработок (вроде убрать лишние пробелы внутри, вырезать теги, сделав br2nl) и прочее, что было бы хорошо иметь в ООП-стиле, а лучше и расширять собственными правилами.
Плюс конструкция exist -> then -> else не особо нравится (и не хватает аналога для условного выражения).
Плюс не заметил обработки хттп-ошибок — т.к. порой надо парсить и по 404 считать данные по странице отсутствующими.
Лучше сравнить, сколько времени потребуется на копирование/переиздание книг с тем же объемом информации, что на флешке, с которой информацию можно скопировать на нового убийцу Блю-Рея в тот же момент.
Сейчас переводим Game Design Patterns, сайт автора и книга собирается как раз из маркдауна — отлично отслеживаются изменения, можно разбить абзац на несколько строк (в хтмл их не будет), что позвоялет пользоваться диффилками и не использовать софт-врапы, структура отлично сохраняется/переносится, и т.д.
git push [remote [[local_branch][:remote_branch]]]. Если опустить удаленную, то используется то же имя, что и локальной, если опустить локальную (двоеточие остается) — мы «пусто» передаем в удаленную (удаляем, собственно). Если опустить ветку, то используется записанный в конфиге «трек». Если опустить ремоут…