Pull to refresh
  • by relevance
  • by date
  • by rating

Адаптивная типизация

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

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

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

примеры, примеры, примеры
Total votes 20: ↑8 and ↓12 -4
Views700
Comments 18

На парусах HTML5. Как новые технологии меняют современный веб

MicrosoftWebsite developmentHTML
Статья по следам моего доклада на концеренции User Experience`11.

Что такое HTML5?



Сегодня про HTML5 их числа тех, кто так или иначе связан с веб-разработкой, не слышал только ленивый. Вы не сильно прогадаете, предположив, что на каждой модной конференции, где есть что-то про веб, почти наверняка, звучит и что-то про HTML5. Практически каждая крупная компания, связанная с вебом, будь то Google, Apple, Microsoft, Amazon, Adobe, Oracle, Facebook, Яндекс, Mail.ru… говорит что-нибудь про HTML5, расписывается в любви на века и приверженности продвижению и развитию HTML5. Yeah! (Opera и Mozilla, безусловно, тоже в этом списке.)

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

Огромные перспективы, новая волна развития веба, новое поколение веб-приложений! Круто.
Читать дальше →
Total votes 55: ↑43 and ↓12 +31
Views34.4K
Comments 10

Как превратить обычные сайты в адаптивные?

UXDepotInterfaces
Translation
Tutorial
На данный момент около 11-12% из 100 000 самых посещаемых сайтов — адаптивны, и нет сомнений, что в ближайшие несколько лет их количество возрастёт.

Так как всё больше организаций закатывают рукава, хватаясь за реалии веба, используемого различными девайсами, будет нелишним рассмотреть несколько стратегий, используемых для достижения нирваны:



Адаптивная модернизация




Адаптивная модернизация — это процесс, при котором берется существующий сайт, предназначенный только для настольных компьютеров, и «переделывается в адаптивный» по факту.
Читайте подробнее о способах внутри
Total votes 40: ↑30 and ↓10 +20
Views67.2K
Comments 11

Рекомендательные системы в онлайн-образовании

Stepik.orgResearch and forecasts in ITStudying in IT
28 апреля 2016 года мы официально объявили о запуске первого адаптивного курса на Stepic.org, который подбирает задачи по Python в зависимости от уровня учащегося. До этого мы ещё реализовали на платформе рекомендованные уроки, чтоб учащиеся как не забывали, что они уже прошли, так и открывали для себя новые темы, которые могут их заинтересовать.

Этой статьёй мы начинаем цикл о рекомендательных системах и адаптивном обучении.

Под катом две основные темы:
  • про онлайн-образование, плюсы/минусы/подводные камни;
  • классификация рекомендательных систем, их применимость в образовании, примеры.



Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views13.7K
Comments 4

Рекомендательные системы в онлайн-образовании. Продолжение

Stepik.orgSystem Analysis and DesignAlgorithmsMathematicsMachine learning

Мы продолжаем рассказывать о системе адаптивного обучения на Stepic.org. Первую вводную часть этой серии можно почитать здесь.


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


Вспомним про линейную регрессию, регуляризацию и даже поймём, почему в нашем случае лучше использовать гребневую регрессию, а не какую-нибудь там ещё.



Ну, поехали
Total votes 21: ↑20 and ↓1 +19
Views9K
Comments 5

Глобальный конкурс задач Stepik Contest

Stepik.orgHackathonResearch and forecasts in ITStudying in IT
Образовательная платформа Stepik объявляет о старте конкурса по созданию IT-задач. Результатом Stepik Contest станет уникальная система онлайн-обучения, основанная на персональных рекомендациях учащимся. Победители конкурса получат денежные призы до $10K.


Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views5.9K
Comments 6

Front-end JavaScript framework Evolution :: release 1.5.7

JavaScript
С момента презентации мной первой публичной бета версии front-end фреймворка Evolution прошло порядка месяца и я успел порядочно доработать код до Production release и существенно расширить функционал.

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

На данный момент получился движок размером всего в около 50Кб со стилями и кодом, где основная функциональная часть в минифицированной версии весит всего 19,4Kb.
Читать дальше →
Total votes 18: ↑11 and ↓7 +4
Views2.3K
Comments 11

Дедлайн конкурса Stepik Contest продлен до 31 марта, самое время создавать IT-задачи

Stepik.orgEntertaining tasksPythonJavaScriptJava
Новогодние праздники и январь прошли очень быстро и вместо большого количества курсов для конкурса Stepik Contest команда Stepik получила множество запросов с просьбами продлить дедлайн. Мы решили продлить срок конкурса до 31 марта, а сейчас — подвести промежуточные итоги, ответить на вопросы и разъяснить все неочевидные моменты конкурса.

Итак, конкурс Stepik Contest, дедлайн 31 марта, чтобы выиграть от $2K до $10K, нужно создать 20+ задач по темам IT на платформе Stepik (adaptive.stepik.org).


Подробности про конкурс
Total votes 18: ↑17 and ↓1 +16
Views4.3K
Comments 8

Atomizer vs Minimalist Notation (MN)

CSSJavaScript
Sandbox
Tutorial

Minimalist Notation (MN) (минималистическая нотация) — гибкая адаптивная технология генерации стилей.


Она генерирует стили только для существующих классов разметки html, jsx, и т.п. — благодаря чему отпадает необходимость заботиться о компонентном подходе в CSS, мёртвом CSS коде, и отпадает необходимость писать CSS код вообще.


В ней поддерживаются брейкпоинты (медиа-запросы), селекторы, приоритеты, группировки, необходимые автопрефиксы и полифилы.


Применение этой технологии похоже на использование инлайновых стилей, только с гораздо более выразительным синтаксисом и множеством дополнительных возможностей, поэтому MN можно даже назвать технологией inline styles 2.0.


MN подразумевает не только правила нотации как таковые, но и, по-сути, даже усовершенствованный альтернативный синтаксис каскадного языка установки стилей, который ориентирован на инлайновое применение.


Я разработал MN в 2017 году, и с того момента успел во многом усовершенствовать эту технологию, добавить достаточно пресетов и удобных инструментов для её изучения.


Если кто-то желает узнать о том, как мне пришло в голову разработать собственную технологию, я оставляю ссылку на свой репозиторий, дабы не плагиатить у самого себя.

Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views2.1K
Comments 9