Archive for the ‘Розмітка’ Category
Додзьо для регулярного ніндзя
Щойно вивчив чим відрізняється negative lookbehing від negative lookahead.
Шукав всі пітонівські файли які не є скомпільованими мако файлами що містять певний шаблон. В моєму випадку – всі місця в проекті, в яких рендериться вміст листів. Написав:
:Ack -G "(?!\.mako)\.py$" "email/[_/\w\d]+\.mako"
Не знайшов. Бачите в чому помилка? Тут я використав lookahead, а треба було lookbehind. Lookbehind пишеться так:
:Ack -G "(?<!\.mako)\.py$" "email/[_/\w\d]+\.mako"
Хто б подумав, що треба писати так. Але тепер я вже знаю
. Ах, для тих хто не зрозумів що відбувається, ack – це типу grep.
І от в мене виникла ідея – взяти якось на вихідних і написати інтерактивний підручник регулярних виразів. Такий собі html-файлик, всередині якого в JSON записано набір уроків в такому форматі:
[
{
'Назва': "...",
'Текст уроку': "...",
'Вправи': [
{
'Умова': "...",
'Корпус тексту': "...",
'Тип вправи': 1, # пошук/заміна
'Підрядки що потрібно отримати з домогою виразу': ["...", ...], # якщо пошук
'Текст що потрібно отримати в результаті': "...", # якщо заміна
'Бали': XP,
},
...
]
},
...
]
І тебе пускають до наступного коли ти набрав необхідну кількість балів на попередньому.
Тепер розшукую regexp – гуру, jQuery – гуру, гуру верстки, і технічних письменників (чи просто літературних редакторів) які б це все допомогли реалізувати.
Micro python HTML templating engine
Idea that XML is not the most compact form of trees markup is not new. Like idea that HTML is hard to write by hand and should be dynamically generated on server. (Or compiled. There is even whole class of software – site compilers, which can be cheaper equivalents to content management systems). Furthermore, today even CSS can be compiled from SASS and JavaScript can be compiled from CoffeScript. Which means that web is making a new leap to a more high-level languages, which are compiled to “machine code” (and in our case “machine” is a browser).
Oh, and now I should return to my point. XML document is just a tree. HTML too. And code of any programming language also represent a tree. This is most explicitly seen in Lisp-like languages where we have a lot of parentheses. So why not to write web-pages in Lisp? Or, as I don’t know Lisp good enought, in Python?
Now I am presenting you my brand new lispy micro html templating engine. It is supercompact, and probably superslow, but I am too lazy to test. Also it doesn’t have escaping support, so use with caution.
Шаблон курсової/дипломної для кубика
Підтримуючи цьогорічну моду, і нарешті реалізуючи минулорічні плани, я нарешті зробив шаблон курсової в стилі “тільки додай води” (змісту в сенсі). Можливо комусь згодиться.
Стандарти правда дотримані не до кінця, мої побажання теж. Але з допомогою добрих людей вийшло краще ніж минулого разу.
Так як wordpress не хоче аби в нього грузили всякі zip-архіви які можуть містити чорт-зна що, картинка окремо (її то в вимогах до оформлення не згадують, але ж гарно), зразок pdf окремо, а код вставлений прямо в пост (нижче).
Якщо код який ви будете вставляти в текст міститиме кирилицю – краще вставляйте його через verbatim (тільки слідкуйте аби не було довгих рядків). Якщо ж кирилиці не буде – не буде ніяких проблем, використовуйте середовище lstlisting.
Прочитати решту цієї замітки »
Графіки та інша векторна графіка в будь-якій мові програмування
Спеціально для тих, кому терміново треба графік функції, і вони не хочуть встановлювати всякі важкі графічні бібліотеки, а тим більше їх вивчати. Зображення буде створюватись в файлі, тому якщо ваша мова вміє записувати в файли текст – то ви зможете створити в ній зображення. Хто вже знає що таке SVG – може далі не читати. Кому це справді треба – прошу критикувати. Я можу написати більше і зрозуміліше, якщо сильно попросите. Основне – задавайте питання.
На прикладі Python, але принцип такий же і в інших мовах (недавно я написав функцію на C, яка малювала гістограми. Теж влізла в один екран). Двовимірні графіки нудні, тому перейдемо одразу до трьох вимірів, і спробуємо намалювати параболоїд. Все одно вийде занадто просто.
Загалом, нам навіть не потрібна мова програмування. Для того, щоб намалювати зображення подібне до того що справа, нам досить створити текстовий файл picture.svg (чи з іншою_назвою.svg), і написати в ньому наступний текст:
Прочитати решту цієї замітки »
Сутнісний словник
Вікіпедія – не словник. Правило вікіпедії.
Ігноруйте усі правила. Ще одне правило.
Я вже напевне кілька разів про це згадував, але сьогодні таки оформлю окремою заміткою. Проблема звичайних двомовних словників в тому, що вони намагаються встановити зв’язки між словами в різних мовах. А це досить важко зробити, і встановлюється зв’язок багато до багато. Перекладачу доводиться вибирати одне з можливих слів, як варіант перекладу.
Статті вікіпедії містять інформацію не про слова. Вони містять інформацію про певні сутності, якщо це так можна назвати. Назва сутності міститься в заголовку статті. Окрім цього є альтернативні назви, з яких створюють перенаправлення. Маємо множину назв для однієї сутності, серед яких можна виділити канонічну – назву статті, на яку й посилаються всі інші.
Окрім цього, стаття містить посилання на всі статті іншими мовами, а ті в свою чергу так само. Загалом, це можна представити такою схемою:
Прочитати решту цієї замітки »






