Pull to refresh
52
0
Send message

Полезные техники HTML, CSS и JavaScript

Reading time8 min
Views101K
Техника – это способ справиться с заданием, и у нас, разработчиков и дизайнеров фронтэнда, этих способов бывает достаточно много. При это, будучи погруженными в рутинную работу, мы порой не всегда замечаем как стремительно меняется окружающая нас сфера. В период с 2002 по 2010 годы сообщество фронтэнд-разработчиков буквально покрывалось язвами избыточного кода и ресурсов, от которых страдали и работа сайтов, и удобство их использования. Чтобы с этим справиться, мы придумали уйму хаков, трюков и уловок под кодовым названием «техника». Мы по-прежнему продолжаем выполнять поставленные перед нами задания, просто используем не самые эффективные способы.



Оборачиваясь назад, отметим, что в последние несколько лет установились новые, лучшие, стандарты и способы их применения, позволяя нам создавать более продвинутые «техники». Этот новый мир, открытый перед нами, называется «modern web». Web 2.0, которым восхищались в свое время, сегодня для нас стал запутанным и застойным. С одной стороны нет сомнений в том, что подобная судьба постигнет и то, что мы называем «modern web». С другой — пока что мы можем использовать этот термин и злоупотреблять им сколько угодно, пока понимаем, что он означает.



В 2010 появился стандарт HTML5, обеспечивающий совершенно новую, полустандартизованную веб-среду. Такие браузеры, как Opera, Firefox, Chrome и Safari приняли нововведения, и их разработчики вышли за пределы реализации стандартов и изучения интерфейса программирования приложений. Чтобы представить себе, насколько автономны эти браузеры, можно ознакомиться с отличной наглядной демонстрацией поддержки HTML5 на www.html5readiness.com.
Читать дальше →

Кастомизация эмулятора Android от Intel

Reading time3 min
Views13K
Все началось с необходимости поправить hosts на эмуляторе от Intel. Только вот все найденные инструкции не привели к положительному результату, как оказалось, из-за read-only системного образа. Так как описанная мною задача правки hosts не такая уж и популярная, было решено заменить ее на более актуальную и интересную.

В результате вы получите эмулятор с открытой файловой системой и доступом в Google Play.

Читать дальше →

Виртуальные машины в Windows Azure: Data Disk, виртуальные сети и Availability Set

Reading time3 min
Views12K
Приветствую, Хабровчане!
Один из сервисов, которые предоставляет Windows Azure, — это виртуальная инфраструктура и виртуальные машины. В статье я хотела бы рассказать о трех простых вещах, которые могут пригодиться в начале пути знакомства с платформой. Все эти вещи не являются секретными и описаны в документации, но кто же ее читает :)

Дальше

Разработка приложений под Windows 8: почему и как

Reading time11 min
Views69K
imageПоследние 5-7 лет мы все наблюдаем явление, которое аналитики называют консьюмеризацией ИТ. Не вдаваясь в историю и подробности этого явления, характерного не только ИТ-отрасли, стоит отметить главное – именно «консьюмеры» сегодня создают львиную долю пресловутой добавленной стоимости – иногда своим большим числом, иногда – способностью и желанием переплачивать за новинки и вообще интересные идеи.
Операционная система Windows, получившая тотальное распространение на волне консьюмеризации середины девяностых годов, планомерно развивалась до середины «нулевых», когда персонализация вычислений получила новый мощный толчок – настоящую мобильность и доступность.
Читать дальше →

Альтернативный терминал для Windows

Reading time18 min
Views449K
Часто путают терминал и шелл. В тех же *nix есть шеллы (bash, csh, zsh, …) и терминалы (konsole/guake/yaquake/tilda и т.д. и т.п.) Для мира Windows общеизвестный терминал только один – стандартное консольное окошко, которое часто ошибочно называют «cmd.exe». И мало кто знает о существовании множества других эмуляторов терминала. Известных шеллов больше, их целых два: cmd.exe и powershell.exe. И хотя есть как минимум три порта bash (MinGW, CygWin, GIT) многие юниксоиды предпочитают ругать cmd.exe.

Меня не устраивал ни один из найденных альтернативных терминалов (как в 2009-м, когда я начал работу над ConEmu, так и сейчас). Казалось бы требований немного, вот основные:
Читать дальше →

Пишем своё расширение для браузера Mozilla Firefox

Reading time5 min
Views62K
Итак, после обновления Firefox до 19 версии, полностью отвалилось горячо любимое расширение Яндекс.Бар. Не забуду напомнить, что Яндекс.Бар был заменен Яндекс.Элементами, которые понравились чуть больше, чем никому, поэтому и получили свои заслуженные 2 бала из 5ти.

Почему не понравились? Заменили адресную строку, стало неудобно просматривать почту, заменили закладки и убрали корректор адресной строки (под предлогом установки Punto Switcher, который может и хорош для обычного работника, но никак не для программиста. Поэтому и был удален почти сразу же, как установлен. Да и если можно было бы настроить, то всё равно желание пропало).

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

Читать дальше →

Третье практическое задание с сайта unity3dstudent.com

Reading time9 min
Views10K
Продолжим разбирать практические задания с unity3dstudent.com. На очереди последняя на данный момент задачка. Статья слегка задержалась, но, надеюсь, будет кому-то полезна.

Вот ссылка на оригинальное задание: www.unity3dstudent.com/2010/07/challenge-c03-beginner

Суть: игрок должен уметь перемещаться вправо/влево и стрелять по трём мишеням. Мишени при попадании должны падать, а игроку за каждую сбитую мишень начисляется очко. По достижении трёх очков показывается экран окончания игры.

Первая задача.
Вторая задача.


Поехали!

Второе практическое задание с сайта unity3dstudent.com

Reading time7 min
Views7.3K
Продолжая разбор задачек с unity3dstudent.com, рассмотрим вторую из них. Вот разбор первой задачи.
image
Ссылка на оригинальное задание: www.unity3dstudent.com/2010/07/challenge-c02-beginner

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

UPD: третья задача

Приступим!

Практические задания с сайта unity3dstudent.com

Reading time4 min
Views19K
Из постов DisaDisa — переводов уроков с сайта unity3dstudent — я узнал об этом интересном сайте. Помимо уроков (вполне вменяемых, хотя и не совсем логичных — местами повествование переходит на очевидные моменты языков программирования (javascript, в случае этих уроков), такие как циклы или булевые выражения) там оказались ещё и так называемые “Challenges” — практические задания на применение материала из уроков. Задания сопровождаются видео-примером результата решения.

Пока таких заданий всего три, но, будем надеяться, появятся ещё. Но даже эти задания позволяют на практике ощутить простоту и удобство Unity. Разумеется, они подразумевают самостоятельное решение (ссылки на задания будут перед их решением), но если что-то вдруг не получается, можно заглянуть сюда. Ещё одна цель поста (помимо разбора конкретных заданий) — показать на примере, что можно сделать с помощью Unity с приложением минимальных усилий.

/* Для понимания статьи желательно иметь хотя бы небольшой опыт работы с Unity (особенно с пользовательским интерфейсом) — можно посмотреть пару постов от DisaDisa или первые уроки на unity3dstudent.com */

В этой статье – только про первое из заданий. Остальные — в самое ближайшее время.

UPD: Вторая задача
UPD 2: Третья


Да, замечу ещё, что под формулировкой задания (видео + небольшой текст) на сайте даны ссылки на уроки, необходимые для выполнения задания.

Challenge accepted?
Читать дальше →

Unity3d. Уроки от Unity 3D Student (B13-B16)

Reading time5 min
Views121K
Предыдущие уроки вы можете найти по следующим ссылкам:
Уроки B01-B03
Уроки B04-B08
Уроки B09-B12

PS: Так же исправленны некоторые ошибки в предыдущих уроках, большое спасибо хабравчанинам ufomesh и MikhailS.

Перейти к урокам

Unity3d. Уроки от Unity 3D Student (B04-B08)

Reading time7 min
Views137K
Добрый день.

Предыдущие уроки вы можете найти в соответствующем топике.

Теперь в каждом посте в скобках (в конце) будут указываться номера уроков. Буква в начале номера обозначает раздел (B-Beginner, I — Intermediate).

PS: Если вы не проходили предыдущие уроки, очень рекомендую их пройти, т.к. последующие изредка на них ссылаются.

Перейти к урокам

Unity3d. Уроки от Unity 3D Student (B00-B03)

Reading time5 min
Views246K
Добрый день. Предлагаю свой вариант перевода уроков по Unity3d от www.unity3dstudent.com

Введение.


Данная статья представляет из себя первый набор базовых (из раздела Beginner) уроков. Уроки в основном нацелены на изучение скриптинга и использование компонентов.
Поэтому предполагается, что с основами работы в GUI Unity вы слегка знакомы. Если нет, изучите вводный раздел на этом же сайте.
Уроки достаточно ясные и короткие, так что трудностей в процессе их изучения должно возникать минимум.

PS: А хорошо это или плохо — вопрос достаточно сложный.

В некоторых местах уроков есть минимальные косметические изменения, не затрагивающие основную суть.

Перейти к урокам

Unity3D + C#, или как переводить скрипты

Reading time7 min
Views75K
image

На Unity3D я натолкнулся сравнительно недавно, до этого работал со своими самописными движками для мобильных телефонов на Java2ME, в остальное время я — дотнетчик.

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

Про Unity в целом тут уже писали, так что повторяться не буду, отмечу главное — разрабатываемую игру можно (а на мой взгляд — и нужно) скриптовать на C# (спасибо Mono). Единственное ограничение — следует писать в пределах .NET Framework 1.1 — только он поддерживается на iPhone. [upd: пока я писал этот пост, вышла новая версия Unity3D для iPhone, поддерживающий .NET 2.1]

Итак, ключевые плюсы для меня от использования Unity вообще и C# в частности:
  • Использование .NET Framework и C# (лично для меня это очень удобно)
  • Возможность сделать сборку сразу на iPhone и для веб-плеера (standalone сборки меня не прельщают по ряду причин, выходящих за рамки поста)
  • Уже готовые сценарии поведения на C# можно будет повторно использовать, например, при создании порта игры на XBox при помощи XNA (с изменениями, но все же)
  • Удобный интерфейс и не слишком прожорливые редакторы
  • Приемлимая цена

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

Для скриптования используется прикрученный редактор UniSciTE на базе Scintilla, что лично мне пришлось не по душе, а потому я сразу захотел воспользоваться старой доброй Visual Studio. Вот о том, как скриптовать на C# будет речь ниже:

[upd: перенесено в Game Development]

Читать дальше →

Девять кругов автоматизированного тестирования

Reading time11 min
Views63K


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

Я отвечу на вопросы: Что тестируем? Кто этим занимается? Зачем это все происходит? Что у нас есть?
А затем расскажу как все работает: опишу круги тестирования — с первого по девятый.

Что?

Наш продукт — корпоративное web-приложение Service Desk, написано на java.

Кто?

Я — лид группы автоматизированного тестирования; программисты код которых тестируем; ручные тестировщики, рутину которых мы искореняем; менеджеры верящие, что если тесты прошли, то все не так уж и плохо.

Зачем?

Цель моей группы — уберечь продукт от регрессионной спирали смерти.
Задача группы — необнаружение дефектов максимумом интересных способов с минимальным количеством ручного труда.

Что у нас уже есть?

900 коротких и не очень сценариев использования приложения закодированых в тесты.
CI Jenkins на шести серверах, три СУБД, два семейства ОС и три браузера под которые пишем продукт.

Как это работает?


Читать дальше →

Как мы делали наш последний любительский перевод

Reading time31 min
Views44K
Я уже писал статью на тематику любительского перевода, где пытался описать кухню этого процесса. Но, на мой взгляд, этот опыт оказался не совсем удачным. Ввиду большого количества подходов нереально описать всё, а чрезмерное обобщение сути не отражает. Поэтому я решил описать один конкретный случай, довольно показательный, на мой взгляд.

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

Речь пойдёт не об игре на PC, это было бы слишком скучно — ведь там нет той экзотики и романтики реверс-инжиниринга, которая присуща внутренностям консольных игр. Речь пойдёт об игре на Nintendo Wii.

Я заранее прошу прощения за чересчур раздутую статью и скучную вторую половину, но, как говорится, из песни слов не выкинешь.

Читать дальше →

19 команд ffmpeg для любых нужд

Reading time3 min
Views583K
От переводчика:
Многие знают, что ffmpeg — это сила, но не все знают, какая именно. Он многогранен и безграничен, а его man объёмен и местами малопонятен, лишь немногие постигли дао профессиональной работы с ним. И тем не менее, этот инструмент может быть полезен почти всем, кто хоть иногда работает с видео и звуком, даже на бытовом уровне. О некоторых полезных консольных командах ffmpeg и пойдёт речь в статье. В некоторых местах я взял на себя смелость вставить ссылки на поясняющие статьи.


ffmpeg — это кроссплатформенная open-source библиотека для обработки видео- и аудиофайлов. Я собрал 19 полезных и удивительных команд, покрывающих почти все нужды: конвертация видео, извлечение звуковой дорожки, конвертирование для iPod или PSP, и многое другое.

1. Получение информации о видеофайле

ffmpeg -i video.avi

2. Превратить набор картинок в видео

ffmpeg -f image2 -i image%d.jpg video.mpg

Эта команда преобразует все картинки из текущей директории (названные image1.jpg, image2.jpg и т.д.) в видеофайл video.mpg

(примечание переводчика: мне больше нравится такой формат:
ffmpeg -r 12 -y -i "image_%010d.png" output.mpg

здесь задаётся frame rate (12) для видео, формат «image_%010d.png» означает, что картинки будут искаться в виде image_0000000001.png, image_0000000002.png и тд, то есть, в формате printf)
Читать дальше →

Интеграция дизайна. Каждый пиксель имеет значение. Часть 2

Reading time10 min
Views8.2K
Продолжаем публиковать статьи по следам Design Camp. Сегодня у нас продолжение выступления Евгения Гаврилова (studioab) про то, как работает команда интеграции дизайна в Windows Phone. Первая часть доступна тут: habrahabr.ru/company/microsoft/blog/170719.

10. Проверка кода на этапе Интеграции Дизайна


Интеграция дизайна невозможна без изменения в коде. Если мы хотим внедрить интеграцию дизайна в процесс раработки, мы обязательно должны понимать, что измения в код, просто необходимы. Уровень доверия интегратору должен быть такой же, как уровень доверия программисту. Интегратор несет ответственность за все сделанные изменения в коде. Он отвечает за все build-breaks, test-breaks которые он может совершить.


Читать дальше →

Фабрика виджетов jQuery UI

Reading time9 min
Views57K
Все jQuery UI виджеты создаются на простой основе — Фабрике Виджетов. Она обеспечивает гибкую основу для создания сложных, структурированных плагинов с совместимым API. С её помощью можно создавать не только плагины jQuery UI, но и любые объектно-ориентированные компоненты, не изобретая велосипедов. Она не зависит от других компонентов jQuery UI, наоборот, большая часть компонентов UI зависит от неё.

Что это?


Фабрика виджетов это метод глобального объекта jQuery —
jQuery.widget

Siege — утилита для нагрузочного тестирования веб-серверов

Reading time7 min
Views83K
Надеюсь, что данный материал будет кому-нибудь полезен.

Siege – это утилита для нагрузочного тестирования веб-серверов. Она была создана для того чтоб дать разработчикам возможность проверить ресурсоёмкость своего кода в условиях, максимально приближенных к реальным. Так же Siege может имитировать обращения к сайту сразу нескольких пользователей. Это позволяет держать сервер как бы «под осадой» долгое время. Количество запросов, произведённых при «осаде», рассчитывается из общего количества пользователей и количества их обращений к серверу. Например 20 пользователей, обратившись по 50 раз, создают в общей сложности 1000 запросов. Результат, выводимый программой после тестирования, включает в себя время затраченное на проверку, общее количество переданной информации ( включая заголовки ), среднее время ответа сервера, его пропускную способность и число запросов на которые пришёл ответ с кодом 200. Эти данные формируются и выдаются при каждой проверке. Подробно они описываются ниже. Siege имеет 3 основных модели работы – режим регрессионного тестирования, режим имитации Интернета и режим грубой силы. Программа считывает порцию ссылок из конфигурационного файла и обращается к ним по очереди ( режим регрессионного тестирования ) или случайно ( имитация интернета ). Или же пользователь может указать один единственный адрес к которому будут производиться все обращения – режим грубой силы.

UPD: спасибо за плюсы, перенес в тематический блог.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity