Эффект вычисления строки в JavaScript

Эффект вычисления строки в JavaScript

Я как-то писал о jQuery плагине, который создает запоминающиеся пароли.  Основа его привлекательности кроется в интересном эффекте: новый пароль как бы вычисляется на глазах у зрителя. Сегодня расскажу, как сделать такой эффект. Создадим функцию generate, которая будет создавать наш эффект вычисления строки: var generate = function(str, result, from, delay) { // Здесь будет наш код } Наша функция принимает четыре пораметра, первые два — обязательные. str — это та строка, которая будет показана в конце нашей анимации (результат вычислений) result…

Read More Read More

Learn You Scala for Great Good! Часть 3

Learn You Scala for Great Good! Часть 3

Сегодня я продолжу разговор, начатый здесь (пример про Гарды и калькулятор лишнего веса), и продолженный здесь (вычисление максимального числа из списка) и здесь (пример про максимум для произвольного списка). Все это касалось изучения функционального программирования по книге Learn You a Haskell for Great Good! Функция replicate Следующая функция из главы, посвященной рекурсии, называется replicate. Она получает в качестве первого аргумента число повторений, а в качестве второго — элемент, который нужно повторить нужное число раз. И возвращает список, состоящий из повтореного…

Read More Read More

Анимированный генератор паролей

Анимированный генератор паролей

Хочу рассказать, как просто добавить ненавязчивый генератор сильных паролей на сайт. Самый простой способ — это воспользоваться бесплатным jQuery плагином strong-password.js, который легко можно скачать на GitHub. Плагин подключается к полю формы, в которое пользователь при регистрации должен завести свой новый пароль. При клике на это поле появляется красивая анимированная подсказка с предлагаемым паролем. Пароль состоит из сочетания гласных и согласных звуков, поэтому запоминается гораздо проще, чем случайный набор букв. Подсказка абсолютно ненавязчива и при ее отмене больше никогда не…

Read More Read More

Лирическое отступление

Лирическое отступление

Когда я писал предыдущий пост, я не стал создавать функцию maximum в общем виде, а рассмотрел лишь ее частный случай для List[Int]. Впоследствии я подумал: а почему бы собственно и нет? Тем более что, покопавшись на StackOverflow, я нашел сразу два способа, как это сделать. В чем проблема Проблема в том, что мы не можем просто написать общую (generic) функцию: def maximum[A](l:List[A]):A = { l match { case Nil => throw new Exception(«Nil») case x::Nil => x case x::xs if…

Read More Read More

Learn You Scala for Great Good! Часть 2

Learn You Scala for Great Good! Часть 2

В прошлый раз я начал делиться своим опытом изучения основ функционального программирования по книжке Learn You a Haskell for Great Good! применительно к языку программирования Scala. Сегодня я разберу пример из главы, посвященной рекурсии. Нахождение максимального числа в списке Здесь сразу хочу заметить, что пример на Haskell является более общим и находит наибольшее число от чего угодно, что може быть отсортировано (of things that can be ordered).  Достаточно, чтобы члены списка были экземплярами тайпкласса Ord. В Scala, чтобы в полной…

Read More Read More

Increment, decrement

Increment, decrement

В Scala нет операторов ++ и — Пишут, что это связано с тем, что поле val не может менять своего значения (immutable) в отличие от var. Но можно делать следующее: var x = 4 x += 1 x -= 2 x *= 2 x /= 3 В Scala +=, -=, *=, /= это методы, а не операторы. Они есть в разных классах, например  Int, Double, Float, String, но в каждом классе они свои. Следует помнить, что для  val применение этих…

Read More Read More

Learn You Scala for Great Good!

Learn You Scala for Great Good!

Я пришел в Scala из Java. Поэтому, когда я решил немного разобраться с такими библиотеками, как Scalaz или Cats, встал вопрос более глубокого изучении принципов функционального программирования. Лучшее, что я нашел, была книга Learn You a Haskell for Great Good! Да, чтобы разобраться в функциональном программировании для Scala, пришлось познакомиться с совершенно новым для меня языком Haskell. Чтобы лучше разбираться в написанном, я попутно «переводил» для себя некоторые примеры на Scala (по крайней мере, там где возникали какие-то аналогии). На…

Read More Read More