dil: (Default)
2018-10-08 10:40 am

Как известно, Java – это не только язык программирования,

а остров в Индонезии, где активно растят кофе.

Так теперь есть не только JavaScript, а и CoffeeScript, который не совсем самостоятельный язык, а как раз компилируется в JavaScript..

Оригинал этой записи в личном блоге.

dil: (Default)
2017-06-05 05:57 pm

TinyMCE

Нет ли среди моих читателей специалистов по TinyMCE?

Мне хочется к стандартному редактору (скорее, 3 версии, включённой в django-tinymce) добавить несколько кнопочек для дополнительных HTML-тэгов, типа <code>, <pre>, <lj-cut> и т.п.
И ещё хочется заменить B, I, U на обычные <b>, <i>, <u>, вместо <span>‘ов с дополнительными опциями, который там вставляются этими кнопками.

Example plugin сам по себе работает, но позволяет вставлять или изменять только текст, а если попробовать в плагине добавить туда тэги, они убиваются нафиг.

А описания внутренних функций tinymce, которые используются в плагинах, я в оригинальной документации вовсе не вижу.
Вот список команд нашёлся, а описания их параметров вовсе нету.

Гуглить тоже пробовал, но ничего толком не нашёл.

Оригинал этой записи в личном блоге.

dil: (Default)
2016-08-21 01:11 pm

Как изуродовать ваш код на javascript’е

Очень просто: в gulp’е (это такая система, написанная на JS, предназначенная для автоматизации управления другими JS-скриптами) для этого есть готовый модуль: gulp-uglify.

И хотя в описании указано, что его цель — “minify files”, но таки называется он uglify. Так оно и есть, он ужимает JS до такой степени, что хотя формально код получается синтаксически правильным, и интерпретаторы его нормально понимают, но человеку прочитать и понять его смысл становится практически нереально. Ну сэкономили пачку пробелов и переводов строк, но с учётом пропускной способности нынешних интернет-каналов и объёмов оперативной памяти на клиентских компьютерах это не имеет особого смысла..

Оригинал этой записи в личном блоге.

dil: (Default)
2015-09-03 03:07 pm

Прочитать javascript’ом локальный файлик в форму

Когда не хочется заморачиваться загрузкой файла, ибо на серверной стороне из него нужна одна строчка, и вдобавок пользователь может захотеть эту строчку вписать копипастой, потому что у него в локальных файлах её вообще нет, она где-нибудь на другой машине хранится..
Конкретный пример – загрузка публичного ключа от ssh.

Делаем так: в основной форме для этой строчки используем обычный input типа text, который можно заполнить руками. А чтобы прочитать в него строчку из файлика, встраиваем рядышком (или даже прямо внутрь основной формы) дополнительную форму с input типа file и обработчиком на JS, который читает файлик сразу после его выбора в браузере и засовывает нужный контент в поле основной формы:

Read the rest of this entry » )

Оригинал этой записи в личном блоге.

dil: (Default)
2013-03-28 03:22 pm

Программируем танчики на джаваскрипте

Надо будет попробовать, хотя я в JS не очень силён. Но прикольно: https://www.fightcodegame.com/

Оригинал этой записи в личном блоге.

dil: (Default)
2006-04-28 12:01 pm

Таблицы Брадиса в студию!

Товарищи, у меня тут затык случился. Я забыл, что идет раньше - 7 или 8
Я не могу посчитать log(1.05/1.03)
Точнее, могу, но мнения разделились..

виндовый калькулятор и юниксовый xcalc говорят, что это будет примерно 0.00835207
а bc, perl и виндовый серверный джаваскрипт - что 0.01923136
Разница довольно существенная.

Кто прав (и какого хрена ошибается вторая половина)?

Upd: мне тут справедливо пкоазали пальцем на то, что во втором случае логарифм нифига не десятичный, а натуральный, так что все правы.
Осталось только понять, какой моральный урод назвал эту функцию в джаваскрипте log() вместо ln().
dil: (Default)
2006-02-04 08:11 pm

И еще к вопросу о недоверии к данным, полученным от пользователя

И не надейтесь, что если вы используете умную базу данных с правильными констрейнтами и значения туда передаёте только при помощи байндинга, то вам больше нечего бояться.
Фигвам. Injection может быть вовсе не только в SQL. Прямое использование данных, полученных от пользователя, при формировании команд для операционной системы, имён файлов и даже при генерации HTML-кода обратно тому же пользователю, является потенциально опасным.

Вот тут есть любопытная заметка на сходную тему.
И дело даже не в том, что писатели из Майкрософта в очередной раз выпендрились и за каким-то х непонятно зачем приделали возможность неявного запуска джаваскрипта посредством свойства behavior в css.

А в том, что вот так делать НЕЛЬЗЯ:

<?php
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"" . $_GET["theme"] . "/style.css\">\n";
?>
dil: (Default)
2006-02-04 12:10 am

Assumption is the mother of all fuckups. Совет веб-девелоперам

Темой сегодняшней лекции для веб-девелоперов будет одна простая мысль,
а именно: никогда не доверяйте данным, полученным от пользователя. НИКОГДА.

Вот, собственно, и всё.
Удивительно, но этой мыслью настолько часто пренебрегают, что я начал сомневаться в ее очевидности.
Подробности )
Upd: те же гениталии, вид с другого ракурса, то есть, применительно конкретно к PHP: http://www.citforum.ru/internet/securities/phpsecure.shtml
dil: (Default)
2005-10-18 01:55 pm

А вот JavaScript точно изобрели полные ненатуралы

потому что описание объектов делать посредством функций - такого нормальный человек точно придумать не может..
function SomeObject() {
  this.member = ...
}

и потом
var o = new SomeObject()