Обновить
33
0.4
ionicman@ionicman

Пользователь

Отправить сообщение

Cross-domain «ajax» — простое решение

Время на прочтение7 мин
Охват и читатели201K
В очередном проекте я столкнулся с необходимостью активно работать с кросс доменными запросами на ajax, тема, как я вижу на хабре особо не поднималась и не освещалась, вот и решил поделиться с читателями свои опытом.
Читать статью

Новый алгоритм для депикселизации графики

Время на прочтение1 мин
Охват и читатели9K

Сотрудник Microsoft Research Йоханнес Копф (Johannes Kopf) совместно с профессором Дани Лисчински опубликовали научную работу (зеркало) с описанием нового алгоритма депикселизации, который значительно превосходит все существующие методы. Разница в качестве действительно колоссальна.

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

Квадрокоптер своими руками: Часть II.1

Время на прочтение5 мин
Охват и читатели95K
ВНИМАНИЕ, статья устарела, но её всё еще можно использовать в ознакомительных целях
В прошлой статье я рассказал про набор деталек для построения своего квадрокоптера, а теперь настала пора поговорить о датчиках и мозгах.
Читать дальше →

Квадрокоптер своими руками: Часть I

Время на прочтение4 мин
Охват и читатели347K
ВНИМАНИЕ, статья устарела, но её всё еще можно использовать в ознакомительных целях
Как и обещал, как только полечу — напишу полноценный пост по поводу сборки своего летающего агрегата. Наверняка многие давно посмотрели как «обычный» офисный сотрудник собирает это за 2 часа, сразу отмечу что я не «обычный» офисный работник, поэтому летчик из меня пока не очень, но важно что квадрокоптер летает и адекватно реагирует на управление. Первое и самое главное — если решили собирать, не экономьте и не думайте что вы умнее тех кто уже летает, так же учтите, что теория несколько расходится с практикой.
Есть большое число прошивок, готовых контроллеров, вариантов датчиков, моторов и т.д. и т.п. — выбрать есть из чего, но в статье остановлюсь только на одном варианте, основанном на Arduino Mega, прошивке MegaPirate и относительно дешевых датчиках.
много интересного читаем тут

Самое простое и захватывающее падение в мир микроконтроллеров или Meggy Jr RGB

Время на прочтение3 мин
Охват и читатели29K
Итак, всем любителям ретро игр, пиксель арта, железа типа arduino и тех, у кого закрадывалась мысль написать свою простенькую игру, при этом не сильно вдаваясь в дебри даташитов!

Хочу представить вам 8-битный игровой хендхелд, на микроконтроллере Atmega-328, с большим, ярким экраном с пикселями, которые невозможно не заметить.
На борту есть: 32КБ памяти для вашего кода, 6 кнопок, простенький динамик, 8 дополнительных диодов и разъем для программирования и обмена данными.

image

Что можно сделать с такими малыми ресурсами?
Но ведь в любом деле основной ресурс — это ваше воображение и опыт!

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

JavaScript F.A.Q: Часть 1

Время на прочтение15 мин
Охват и читатели75K
image

Несколько дней назад мы с TheShock создали топик в котором собирали ваши вопросы, касательно JavaScript (архитектура, фрэймворки, проблемы). Настало время ответить на них. Мы получили очень много вопросов, как в комментариях так и по email. Эта первая часть ответов — те вопросы, которые достались мне.
Читать дальше →

Основы и заблуждения насчет JavaScript

Время на прочтение9 мин
Охват и читатели56K

Объекты, классы, конструкторы

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

Прототипное делегирующее наследование


Классическое наследование очень похоже на то, как люди наследуют гены своих предков. Есть какие-то базовые особенности: люди могут ходить, говорить… И есть характерные черты для для каждого человека. Люди не в состоянии изменить себя — свой класс (но могут поменять собственные свойства) и бабушки, дедушки, мамы и папы не могут динамически повлиять на гены детей и внуков. Все очень по земному.

Теперь представим другую планету, на которой не такое как на Земле генное наследование. Там обитают мутанты с «телепатическим наследованием», которые способны изменять гены своих потомков.
Разберем пример. Отец наследует гены от Дедушки, а Сын наследует гены от Отца, который наследует от Дедушки. Каждый мутант может свободно мутировать, и может менять гены своих потомков. Например у Дедушки был зеленый цвет кожи, Отец цвет унаследовал, Сын тоже унаследовал цвет. И вдруг Дед решил: «надоело мне ходить зеленым — хочу стать сними», смутировал (изменил прототип своего класса) и «телепатически» распространил эту мутацию Отцу и Сыну, вобщем посинели все. Тут Отец подумал: «Дед на старости лет совсем двинулся» и поменял свой цвет в генах обратно на зеленый(изменил прототип своего класса), и распространил «телепатически» свой цвет сыну. Отец и Сын зеленые, Дед синий. Теперь как бы дед ни старался Отец и сын цвет не поменяют, т.к сейчас Отец в своем прототипе прописал цвет, а Сын в первую очередь унаследует от Прототипа Отца. Теперь Сын решает: «Поменяю ка я свой цвет на черный, а моё потомство пусть наследует цвет от Отца» и прописал собственное свойство, которое не влияет на потомство. И так далее.
Читать дальше →

Влияние внутренней оптимизации на успешное продвижение сайта в поисковых системах. Часть 1

Время на прочтение7 мин
Охват и читатели17K
Данная статья рассказывает о том, как важно проводить комплексную внутреннюю оптимизацию сайта и что нужно сделать для того, чтобы обеспечить успешное продвижение веб-ресурсов в поисковых системах. Выполненная в соответствие со всеми требованиями поисковиков оптимизация будет являться гарантом хорошей видимости сайта в результатах поиска и, как следствие, стабильного потока целевых посетителей.

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

jQuery UI как инфраструктура для плагинов

Время на прочтение6 мин
Охват и читатели22K

Введение


jQuery UI больше всего известен как набор готовых виджетов. Главное их преимущество, на мой взгляд, — консистентное API: каждый виджет управляется одинаково. Второе их преимущество — они хранят свое состояние: если повторно навесить виджет на элемент, то результатом будет уже существующий инстанс виджета.
Но jQuery UI — это не только набор окошечек и табов (далеко не всеми любимых). Это еще целая инфраструктура для создания своих виджетов: с удобным консистентным API, с хранением состояния и с возможностью наследования. Как ни странно, это для многих новость, в результате чего и появилась эта статья — так же, как это было новостью для меня всего несколько месяцев назад.
Все, что вы хотели узнать о jQuery UI, но стеснялись спросить

FAQ по JavaScript: задавайте вопросы

Время на прочтение1 мин
Охват и читатели7.6K

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

Мы ответим на ваши вопросы, касаемо сомнительных моментов языка(this, arguments, bind, функции, замыкания, модули), ECMAScript 3, 5, 6+, реализации языка в конкретных браузерах, фрэймворков(jQuery, Prototype, Mootools...), архитектуре приложений(паттерны, MVC...), тестировании, и вообще всего с чем связан JavaScript и разработка на JavaScript(как клиентской так и серверной).

Если у вас нет возможности задать вопрос в комментарии, то вы можете связаться с нами по другим источникам, которые вы можете найти в профиле: azproduction, TheShock или по email: azazel.private@gmail.com, shocksilien@gmail.com

В конце недели, начале следующей мы опубликуем ответы на все ваши вопросы.
Этот пост краток, а ответы будут развернутыми!

Push + ActiveMQ — ZendFramework =… или история одного драйвового проекта

Время на прочтение11 мин
Охват и читатели6K

Одним прекрасным утром к нам в офис забежал молодой парень, с амбициозной идеей и “средствами для реализации” в кармане. “Заходишь на сайт, а там — телевизор. К нему можно подключиться через свою web-камеру. Одновременно может вещать только один человек, остальные — ждут своей очереди (но можно посмотреть скриншоты с их вебкамер). Задача каждого — удержаться в эфире, как можно дольше. Если выступающий нравится публике — все жмут “Cool!”, если подкачал — “Go away!”. И человек заменяется на следующего в очереди. Ну и можно в чат писать”.

Хорошая идея — драйвовый проект. Рисуем прототип, решаем реализовать обновление чата, списка пользователей, рейтинга и т.д. с помощью push-технологии. Это когда после загрузки страницы соединение между клиентом и сервером не закрывается, а продолжает использоваться для отправки сервером каких-либо событий на клиента.

Осторожно! Эта шняга может убить ваш сервер! Кстати, если вы вдруг решите написать высконагруженный скандинавский аукцион – истина и веселые картинки где-то рядом, под катом.

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

JS1k — пишем отличное веб приложение в 1024 байт

Время на прочтение7 мин
Охват и читатели3.6K


Уже второй год я участвую в JS1k, в прошлом году был пробный скрипт, сейчас я решил подойти основательно. Приложения я уже написал и отправил. В статье я хочу поделиться своим опытом: как стоит писать приложение для JS1k, чем сжимать, как сократить код в 4 раза и вообще как впихнуть что-то интересное в 1 Кб.

Тема текущего JS1k "Oregon Trail" — классическая игра для Apple II (что это можно нагуглить). Поэтому рекомендуется написать что-то в этом духе, но это не обязательно.

Начало


Вам необходимо придумать небольшое приложение или демку, которое по вашему мнению может влезть в 1кб (продумать детали и управление). Если вы сомневаетесь в своих прикидках, то можно посмотреть, что впихнули в прошлом году: Legend Of The Bouncing Beholder, Tiny chess. Прочитайте правила и используйте html шаблон — тогда ваше приложение будет 100% работать в демо среде.
Начните писать скрипт, без каких-либо оптимизаций, но следите за его размером. Если он стал больше 4-5Кб — вам стоит придумать другую тему или в будущем придется попотеть (у меня было 4393 байт).
Читать дальше →

Техники сжатия кода

Время на прочтение5 мин
Охват и читатели5.9K
Джед Шмидт, Томас Фухс и Дастин Диаз — достаточно известные в JavaScript-коммьюнити ребята в последнее время нашли себе новую развлекуху — писать полезные штуки размером не больше одного твита, то есть 140 байт. Даже домен зарегали — 140byt.es, куда приглашаются все желающие попробовать свои силы в написании супер-компактных функций.

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

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

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

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

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

Микросхема 555

Время на прочтение3 мин
Охват и читатели93K
Всем привет. Сегодня я хочу рассказать вам о микросхеме 555. Её история началась ещё в далеком 1971 году, когда компания Signetics Corporation выпустила микросхему SE555/NE555 под названием «Интегральный таймер» (The IC Time Machine). В те времена это была единственная «таймерная» микросхема, которая была доступна массовому потребителю. Сразу после выхода 555 завоевала бешеную популярность и её начали выпускать почти все производители полупроводников. Отечественные производители тоже выпускали данную микросхему под названием КР1006ВИ1.
Читать дальше →

GitHowTo — тур обучения гиту на русском

Время на прочтение1 мин
Охват и читатели15K
image

Спешу поделиться радостной новостью о запуске проекта GitHowTo — интерактивного тура-обучалки основам Git.

За основу были взяты идеи gitimmersion.com, но переведены на русский язык и немного изменены под реалии не-ruby разработки, поэтому спешите любить и жаловать — githowto.com!

Буду чрезвычайно рад любым замечаниям и пожеланиям к проекту.

FAQ по Canvas: задавайте вопросы

Время на прочтение1 мин
Охват и читатели3.4K
Привет всем! Часто в комментах и в личке возникают вопросы на счёт Javascript Canvas.
У большинства даже если и есть теоретические знания — банально не хватает опыта.
У меня этот опыт есть. Потому в этой теме предлагаю задать вопросы по Canvas, на которые я отвечу следующим топиком.
Если нету реги на Хабре — можете скинуть свои вопросы на shocksilien@gmail.com, я добавлю его в топик.
Изначально хотел кинуть в q&a, но количество и качество вопросов в комментах к этому топику положительно скажется на качестве следующего топика, так что рассчитываю на вашу поддержку)

ps. Не стесняйтесь задавать те вопросы, которые вы считаете глупыми. Если они вас интересуют — задайте их.
pps. Я буду задавать уточняющие вопросы. Например «для каких целей?». Это не значит, что вопрос — неправильный. Это значит, что, зависимо от цели, могут быть разные решения.

Ответы

Применение Event-driven модели в веб-приложении

Время на прочтение6 мин
Охват и читатели12K
Взаимодействие частей приложения друг с другом — важная часть архитектуры любой программы.
И существует немало паттернов для их реализации. Я бы хотел на примере веб-приложения показать применение одного из них, а именно — Event-driven модели.
Она хорошо известна любому frontend-разработчику — всякий раз, работая с событиями DOM, вы используете эту модель. Давайте попробуем построить на ней не маленькое веб-приложение — файловый менеджер.

Продолжим под катом

Информация

В рейтинге
2 249-й
Зарегистрирован
Активность