Prototype - Мітка

The Beatsqueezer. MIDI audio sampler prototype

prototype

Мене звуть Ілля, і я хочу поділитися з вами інформацією про мій проект, над яким працюю вже близько року.

The Beatsqueezer - це аудіо семплер, заснований на STM32F407 168MHz мікроконтролера. Також були використані CS4334 ЦАП, AD8532 операційний підсилювач, Samsung K9F1G08U0M 1 Гбіт NAND Flash пам'ять (з можливістю заміни на K9F8G08U0M 8 Гбіт). Читати повністю »

Огляд трафарет+блокнот для прототипування

мітка

Нижче моя суб'єктивна думка, яка може не співпадати з вашою. Читати повністю »

NinjaMock - безкоштовний додаток для прототипування інтерфейсів

Привіт %username%! У нас чудові новини: вийшла офіційна версія NinjaMock - онлайн-сервісу для створення прототипів. Тепер ти можеш малювати чудові прототипи веб- та мобільних додатків абсолютно безкоштовно!

Продуктивність:створення класів через __proto__

Стаття сповнена суб'єктивними міркуваннями, які не претендують називатися експертними, проте швидше за все будуть корисні тим, хто йде шляхом використання прототипів. Читати повністю »

AJAX в CakePHP на jQuery та Prototype

Невеликий приклад реалізації AJAX у CakePHP, приклад показує, як легко працювати з AJAX у СakePHP, всю роботу бере на себе фреймворк. Реалізуємо приклад на бібліотеці jquery.js, потім переробимо наш приклад на бібліотеку prototype.js Читати повністю »

"Складно про просте". Функції-конструктори - як об'єкти, (prototype). Об'єкти, (__proto__). constructor, =<>, як функція-конструктор new Object()

Минулого разу ми спробували розібратися з такими речами:

  • 1. Не дивлячись нарозхожа думка «все в JS є об'єктами» — це не так, ми з'ясували, що з 6 доступних програмісту типів даних аж 5 є примітивами і лише один представляє тип об'єктів.
  • 2. Про об'єкти ми довідалися, що це така структура даних, що містить у собі пари «ключ-значення». Значенням може бути будь-який тип даних (і це буде властивість об'єкта) або функція (і це буде метод об'єкта).
  • 3. А ось примітиви – це не об'єкти. Хоча з ними і можна працювати як з об'єктом (і це викликає оману, що примітив – це об'єкт), але…
  • 4. Змінні можна оголосити як за простим (літерально) (var a = 'str'), і через функцію-конструктор (обгортка)(var a = new String('str')). У другому випадку ми отримаємо не примітив, а об'єкт створений конструктором String(). (що за магічний оператор new і що таке функція-конструктор ми дізнаємось далі).
  • 5. Дізналися, що саме за рахунок створення обгортки над примітивом (new String('str')) з ним можна працювати як з об'єктом. Саме цю обгортку створює інтерпретатор навколо примітиву, коли ми намагаємося працювати з ним як з об'єктом, але після виконання операції вона руйнується (тому примітив ніколи не зможе запам'ятати властивість, яку ми йому надамо a.test = 'test'- властивість test зникне з обгорткою ).
  • 6. Дізналися, що об'єкт має метод toString() який повертає рядкове представлення об'єкта (для типу number valueOf() – поверне числове значення).
  • 7. Зрозуміли, що під час операцій конкатенації чи математичних операціях примітиви можуть перевизначити свій тип у потрібний. Для цього вони використовують функції-обгортки своїх типів, але без оператора new (str = String(str)).(в чому різниця і як це працює, поговоримо далі)
  • 8. І нарешті, дізналися, що типбере значення із жорстко зафіксованої таблиці (ось звідки ще одна помилка, заснована на typeof null //object).

Javascript: ООП, прототипи, замикання, «клас» Timer.js

Доброго дня програмісти початківці, закінчені, а також всі співчуваючі. Як відомо, ніщо не пізнається так добре, як на власному досвіді. Головне, щоб досвід був корисним. І в продовженні цієї простої думки я хочу запропонувати зайнятися кількома корисними справами одразу:

  • Поговорити на тему «ООП із людським обличчям».
  • Розібратися з прототипами в JavaScript, коротко і сердито!
  • Згадати, що «замикання» це не лише цінне хутро… удар струмом.
  • Написати на javascript клас Timer - такий собі планувальник подій для запуску анімацій, подій, будь-яких функцій.
  • Весело провести час!