Метка «closure»

Однажды, при разработке сложного приложения на JavaScript-е возникла непреодолимая проблема — большой массив в Internet Explorer (далее IE). Так как я изначально проверял работу в Chrom-е, то не замечал каких-либо проблем при использовании массивов. Скажу больше — вложенные массивы не вызывали чувства страха. Chrom легко справлялся с трудными задачами. Однако IE, в очень жёсткой форме, указал на все мои огрехи и недостатки кода, особенно на обработку Больших массивов.
Читать полностью »

Искусство каррирования
Вдохновившись статьей Еще раз о каррировании и частичном применении в PHP, в голову пришла реализация частичного применения метода, именно метода, а не функции.
Читать полностью »

Главная морская конференция в этом году пройдет 17-23 сентября в Черногории, городке Петровац.

image

IT Sea — это не только доклады и новые знакомства, это — креативная среда, море, солнце, экскурсии, посиделки у костра.

В программе:

  • Круглый стол о будущем Frontend разработки, доклады о JavaScript, Flash (Stage3D), функциональном программировании (Erlang, Closure).
  • Докладчики из Германии, России, Беларуси, Черногории, Македонии.
  • Коллеги перебравшиеся жить в Черногорию поделятся своим опытом по смене обстановки и дадут несколько советов планирующим переезд.
  • Конференц — зал, расположенный в старой венецианской крепости =)

Читать полностью »

Начиная с версии 5.3, PHP позволяет создавать замыкания. К сожалению, пример их использования в официальной документации http://www.php.net/manual/en/functions.anonymous.php (example 3) обладает редкой изощрённостью и надуманностью. Надеюсь, пример под катом поможет увидеть в замыканиях другое применение, кроме как с функциями типа array_map().
Читать полностью »

TodoMVC — «Hello, world» на стероидахCуществует уже несколько десятков JavaScript-фреймворков для построения сложных приложений в браузере. Чтобы сравнить их между собой и выбрать наиболее подходящий, примитивного примера вроде классического «Hello, world» явно недостаточно. Более сложные и реалистичные примеры программ в книгах и документации каждого фреймворка могут сильно отличаться, и сравнивать их между собой затруднительно. Проект TodoMVC решает именно эту проблему. Это набор примеров реализации одного и того же простого, но вполне законченного веб-приложения с использованием разных фреймворков + эталонный пример на чистом JavaScript.

Приложение TodoMVC — это список дел. Дела можно добавлять, помечать как выполненные и удалять. Список должен сохраняться в локальном хранилище браузера. Приложение должно по возможности использовать стандартный шаблон HTML и CSS. Вот подробная спецификация приложения.
Читать полностью »

Сегодня передо мной встала задача сделать полную копию объекта, то есть DeepClone. Рассмотрим некоторый код и я покажу какие проблемы при этом могут возникнуть и как их решить.

Исходный класс:

class ClassForClone { 	//here are value type fields 	 	public readonly A a; 	public readonly Lazy<string> lazy; 	 	protected void Func1() 	{ 		//to to something; 	} 		 	public ClassForClone(A a) 	{ 		this.a = a; 		lazy = new Lazy<string>(() => 		{ 			// some calculations  			Func1(); 			return a.SomeText; 		}); 	} } 

Воспользуемся функцией побитового копирования полей объекта Object.MemberwiseClone(). Она избавляет нас от монотонной работы копирования полей, но все поля с ссылочными типамиЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js