Выразительный JavaScript: Поиск и обработка ошибок

Автор: admin от 7-11-2014, 21:13, посмотрело: 306

Содержание



  • Введение

  • Величины, типы и операторы

  • Структура программ

  • Функции

  • Структуры данных: объекты и массивы

  • Функции высшего порядка

  • Тайная жизнь объектов

  • Проект: электронная жизнь

  • Обработка ошибок

  • Регулярные выражения

  • Модули

  • Проект: язык программирования

  • javascript и браузер

  • Document Object Model

  • Обработка событий

  • Проект: игра-платформер

  • Рисуем на Canvas

  • HTTP

  • Формы и поля ввода

  • Проект: Paint

  • Node.js

  • Проект: веб-сайт по обмену умениями

  • Песочница для кода



Отладка изначально вдвое сложнее написания кода. Поэтому, если вы пишете код настолько заумный, насколько можете, то по определению вы не способны отлаживать его.
Брайан Керниган и П.Ж.Плауэр, «Основы программного стиля»


Юан-Ма написал небольшую программу, использующую много глобальных переменных и ужасных хаков. Ученик, читая программу, спросил его: «Вы предупреждали нас о подобных техниках, но при этом я нахожу их в вашей же программе. Как это возможно?» Мастер ответил: «Не нужно бежать за поливальным шлангом, если дом не горит».

Мастер Юан-Ма, «Книга программирования».


Программа – это кристаллизованная мысль. Иногда мысли путаются. Иногда при превращении мыслей в программу в код вкрадываются ошибки. В обоих случаях получается повреждённая программа.

Недостатки в программах обычно называют ошибками. Это могут быть ошибки программиста или проблемы в системах, с которыми программа взаимодействует. Некоторые ошибки очевидны, другие – трудноуловимы, и могут скрываться в системах годами.

Часто проблема возникает в тех ситуациях, возникновение которых программист изначально не предвидел. Иногда этих ситуаций нельзя избежать. Когда пользователя просят ввести его возраст, а он вводит «апельсин», это ставит программу в непростую ситуацию. Эти ситуации необходимо предвидеть и как-то обрабатывать.

Категория: Программирование

 

Мегатонны макулатуры легким движением руки

Автор: admin от 7-11-2014, 18:08, посмотрело: 218

Добрый день. В этой статье расскажем о том, как устроена печать в нашей платформе.

Немного истории


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

Мегатонны макулатуры легким движением руки

Категория: Программирование

 

Конференция 4SICS: уязвимый коллайдер, троян Havex и другие «русские угрозы»

Автор: admin от 7-11-2014, 17:53, посмотрело: 1566

Конференция 4SICS: уязвимый коллайдер, троян Havex и другие «русские угрозы»


Современные АСУ ТП всё чаще оказываются уязвимы перед хакерами — однако вендоры и пользователи не торопятся признавать и исправлять опасную ситуацию. Это наблюдение стало основной темой для дискуссий на международном саммите по безопасности промышленных систем управления 4SICS, который прошёл в конце октября в Стокгольме.

«Несмотря на всю интернет-революцию, мы до сих пор недостаточно озабочены безопасностью, поскольку старая IT-парадигма говорит нам: мы функционируем автономно, ни к кому не подключены, у нас собственный хитрый софт, и никто не сможет нас атаковать. Но реальность давно уже изменилась», — так выразился один из ключевых спикеров мероприятия Стефан Лёдерс, руководитель отдела безопасности Европейского центра ядерных исследований (CERN).

Категория: Информационная безопасность

 

Услуги в интернете: как найти сейчас и что обещают в ближайшее время

Автор: admin от 7-11-2014, 13:11, посмотрело: 248

Месяц назад Яндекс запустил сервис заказа бытовых услуг «Яндекс.Мастер» — еще один в свою и так уже не маленькую копилку. Пользователи шутят: «Скоро выйдет сервис «Янедкс.Все»!» Так ли они далеки от истины? Проще сказать, чего гигант рунета пока не может.

Так вот, «Яндекс.Мастер». Если кто не слышал еще, это такой сервис для поиска работников напрямую. То есть, в Яндексе посмотрели, сколько запросов на бытовые услуги люди вбивают ежедневно и подумали, что процесс поиска решения такого рода проблем можно ускорить. Не надо искать фирму, чтобы убрать в квартире, собрать мебель или починить кран; нужно просто оставить заявку и все, а система сама подберет мастера. Просто, гениально, со вкусом.

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

Давайте рассмотрим несколько наиболее заметных проектов такого типа:

Категория: Программирование » Веб-разработка

 

5 лучших ORM для Android

Автор: admin от 7-11-2014, 12:55, посмотрело: 278

5 лучших ORM для Android

Как вы понимаете, мы имеем самое непосредственное отношение к разработке приложений для Android, ведь именно эта ОС установлена на YotaPhone. И этим постом мы открываем серию публикаций, в которых будем освещать различные аспекты разработки приложений под Android, делиться опытом, как своим, так и других специалистов. Кстати, некоторое время назад мы уже писали об SDK и особенностях архитектуры YotaPhone, что тоже отчасти перекликается с темой данной публикации: полностью разработанная нами SDK построена по принципам, аналогичным стандартной SDK для Android, чтобы дать разработчикам интуитивно понятные инструменты.

Если вы разрабатываете приложения под Android, то вам, скорее всего, нужно где-то хранить данные. Вы можете выбрать один из облачных сервисов (в этом случае удобно пользоваться SyncAdapter) или воспользоваться встроенной SQLite-базой данных. Во втором случае вам придётся выбрать между записью SQL-запросов с помощью Content Provider (если вы планируете использовать данные несколькими приложениями) или ORM.

В этом посте мы рассмотрим некоторые из Android ORM, которые вы можете использовать в своих приложениях.

Категория: Веб-разработка, Android

 

Подробное описание возможностей разработки с Microsoft Azure Cloud Services

Автор: admin от 7-11-2014, 12:27, посмотрело: 284

Подробное описание возможностей разработки с Microsoft Azure Cloud Services


Поговорим сегодня об одном из фундаментальных сервисов платформы Microsoft Azure — Cloud Services.

Основная идея Cloud Services состоит в реализации многоуровневого решения с помощью одной или нескольких веб-ролей и рабочих-ролей (web-роль, worker-роль) для распределенной обработки запросов или данных.

Итак, вводное определение: Cloud services (Облачные службы) Microsoft Azure – это возможность создавать многокомпонентные приложения, несколько переосмысленные в сторону ролевой модели и гибкого масштабирования.

Например, при увеличении нагрузки можно масштабировать только обработчик на стороне сервера, но оставить количество экземпляров веб-фронтенда.

Категория: Веб-разработка, Microsoft

 

Машинное обучение как сервис — бесплатно и в облаке

Автор: admin от 7-11-2014, 12:24, посмотрело: 326

Мы уже писали о машинном обучении как сервисе в облаке Microsoft Azure здесь. И, совсем недавно, Microsoft решили открыть (как ранее с Azure Web Sites) возможность бесплатного тестирования этого тестирования без аккаунта Microsoft Azure, без кредитной карты. Отличная возможность посмотреть, что умеет Machine Learning в облаке.

Машинное обучение как сервис — бесплатно и в облаке

Категория: Компании » Microsoft

 

Kula — 3D для всех камер!

Автор: admin от 7-11-2014, 11:07, посмотрело: 886

Доброго времени суток, хабр!

Iris Olafsdottir—инженер-электрик из Технического университета Дании основала Kula в 2011 году, и с тех пор усердно трудилась над превращением обычной камеры в 3D, на радость всем фотографам. В итоге, собранная ею команда разработчиков создала любопытную парочку объективов — Kula Deeper, который без труда крепится к вашей DSLR камере и Kula Bebe, для вашего смартфона.

Категория: Операционные системы » Android

 

Дэвид Чэппел о облаках и будущем разработки

Автор: admin от 7-11-2014, 10:44, посмотрело: 233

На конференции DevDay*Kyiv 2014 мне удалось пообщаться с автором ключевого доклада Дэвидом Чэппелом. Дэвид — известный спикер, консультант и автор книг, многие из которых используются для обучения в MIT и ETH. В своей работе он стремится помочь людям в ИТ понимать, использовать и принимать решения о новых технологиях.

Дэвид Чэппел о облаках и будущем разработки

Дэвид — специалист в облачных технологиях в корпоративном секторе, и поэтому ответы интересны, как взгляд из корпоративного мира на современные технологии и их разработку:

  • Какая компания сейчас сможет выйти на рынок публичных облаков?

  • Будут ли компьютеры частью интернета вещей?

  • Как плавающие релизы связанны с маркетингом?


Вопросы и ответы

Категория: Компании » Microsoft

 

Практическое применение FlexBox

Автор: admin от 7-11-2014, 10:09, посмотрело: 511

Привет, хабр!

Одним прекрасным вечером, не предвещающим ничего интересного, в наш чатик поступило предложение от автора публикации «Переводим в код 5 действительно полезных шаблонов адаптивной разметки», написанной им весной 2012 года, написать статью-ремейк, но с применением FlexBox и сопутствующим пояснением что и как работает. После некоторой доли сомнений, интерес глубже разобраться в спецификации все таки победил и я благополучно сел верстать те самые примеры. В ходе погружения в эту область стало выясняться множество нюансов, что переросло в нечто большее чем просто переверстать макетики. В общем в данной статье хочу рассказать о такой чудесной спецификации, под названием «CSS Flexible Box Layout Module» и показать некоторые ее интересные особенности и примеры применения. Всех кому интересно, любезно приглашаю под хабракат.

Категория: Программирование » Веб-разработка

 
Назад Вперед