войти зарегистрироваться

JavaScriptДекораторы в JavaScript из песочницы

С давних времён использую декораторы в JavaScript. Недавно увидел хабротопик про примеси, который натолкнул меня на мысль поделиться собственным опытом, ибо технологии немного похожие.

Что меня не устраивает в известных реализациях?


Реализации, предлагаемые по первым ссылкам в Google, работают не тем образом, как это работает в Python. Во многих статьях предлагается создать объект, заполнить его поля функциями и осуществлять вызовы отдекорированных через эти поля.
На первой странице есть несколько ссылок, где используются методы, сходные с моими,
Есть ещё много реализаций, но они мне неинтересны.
Расскажу наиболее правильную с моей точки зрения.

Нормальный декоратор


Итак, что такое декоратор?
Декоратор, это функция, которая добавляет функции-аргументу функционала.

АлгоритмыСреднеквадратичное приближение функций из песочницы

На днях нужно было написать программу, вычисляющую среднеквадратичное приближение функции, заданной таблично, по степенному базису — методом наименьших квадратов. Сразу оговорюсь, что тригонометрический базис я не рассматривал и в этой статье его брать не буду. В конце статьи можно найти исходник программы на C#.

JavaScriptОбласть видимости в JavaScript и «поднятие» переменных и объявлений функций

Вы знаете, какое значение выведет этот код на JavaScript?
var foo = 1; 
function bar() { 
    if (!foo) { 
        var foo = 10; 
    } 
    alert(foo); 
} 
bar();

DelphiИспользование процедур и функций в Delphi из песочницы

Рано или поздно любому программисту потребляется использовать процедуры и функции. Все мы помним еще с паскаля, что там ничего нет сложного, но некоторые вещи обычно в книжках не описываются, хотя для грамотного составления программы требуется знать.

JavaScriptПять способов вызвать функцию

Мне часто приходится сталкиваться с JavaScript-кодом, ошибки в котором вызваны неправильным понимаем того, как работают функции в JavaScript (кстати, значительная часть такого кода была написана мной самим). JavaScript — язык мультипарадигменный, и в нем имеются механизмы функционального программирования. Пора изучить эти возможности. В этой статье я расскажу вам о пяти способах вызова функций в JavaScript.

TwitterTwitter дополнили социальным функционалом



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

PHPФункции наносят ответный удар

В этом топике хочу рассказать о подходе, который эксплуатирую уже несколько лет.
Сразу предупрежу, если Вы истовый фанат ООП, огромных конструкций и монструозных диаграмм классов, не читайте.

Вкратце, суть концепции — это перенос части unix way в программирование на PHP.
А конкретно, концепции простых программ, выполняющих одну функцию.

Arduinoшпаргалка для Arduino

Решил сделать шпаргалку для Arduino :)
Чаще всего я подглядываю нумерацию выводов и pin mapping. Но решил вывести блоки и с основными функциями ардуино.
Результат под катом.

JavaScriptПерегрузка функций в JS

Как известно, в Javascript нельзя создать несколько функций, различающихся только списком параметров: последняя созданная перезапишет предыдущие. Про различие на уровне типов параметров говорить не приходится вообще. Обычно, если программист хочет создать функцию с множественным интерфейсом, он пишет что-то вроде такого:
  1. // getRectangleArea(x1, y1, x2, y2) или
  2. // getRectangleArea(width, height)
  3. function getRectangleArea(x1, y1, x2, y2) {
  4.   if(arguments.length==2) return x1*y1;
  5.   return (x2-x1)*(y2-y1);
  6. }
* This source code was highlighted with Source Code Highlighter.

Пока пример выглядит не очень страшно, однако интерфейсов может со временем стать заметно больше, тогда функция станет плохочитаема. Посмотрим, что можно с этим сделать.

Opera Старые болезни и новые болячки Oper'ы

Доброго времени суток, дорогие Хабралюди!

Прочитав топик assuri, решил выплеснуть накопившееся. Постараюсь не делать каких-либо громких заявлений, а напишу, то что мне не удобно. Надеюсь найду толику понимая у Вас, %username%.