Как стать автором
Обновить
10
0
Андрей И @andrew011010

Frontend dev

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

Wi-Fi в любительском проекте? Нет ничего проще!

Время на прочтение3 мин
Количество просмотров107K
Всем здравствуйте!
В этом посте я постараюсь убедить вас в том, что добавить поддержку Wi-FI к своему устройству на микроконтроллере можно абсолютно без проблем. И для этого не надо ни курочить свой любимый роутер и подпаиваться к выводам отладочного uart'а, ни ставить переходник usb-uart (что, конечно выход).
Я расскажу о двух модулях фирмы WizNet: WizFi220.

Вместо предисловия

Компания WizNet основана в 1998 в Корее и занимается производством сетевых решений. Спектр того, что компания производит, широк. Это и микроконтроллеры на ядре 8051 со встроенный PHY-контроллером, и отдельные SPI-управляемые контроллеры Ethernet, и модули Wi-FI, и макетки почти к каждой микросхеме.
Про первые два вида я мало чего знаю, поскольку с ними не работал. А про Wi-Fi довольно много.
Кому интересно — прошу под кат.
Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии31

Полностью автономная камера наблюдения

Время на прочтение3 мин
Количество просмотров105K

В дороге


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

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

Читать дальше →
Всего голосов 278: ↑275 и ↓3+272
Комментарии161

Простой wifi бот для мониторинга помещений или «кухонное» роботостроение

Время на прочтение7 мин
Количество просмотров264K

Вступление.


Сегодня у каждого из нас дома присутствует выделенная линия с весьма «толстым» каналом. Так же у большинства есть wifi роутер, и опять таки большинство из нас не заботится о его отключении когда уходим из дома. И действительно зачем? Протоколы защиты wifi весьма надежны, потребление роутера ничтожно. Следовательно ваш дом часто или всегда on-line. Но что это нам дает? Торентокачалки, личные разнообразные сервера и т.д.

Особо продвинутые из нас имеют умный дом с разнообразными «плюшками» и дистанционным мониторингом посредством интернета. Это правильное, но дорогое решение. Но все это есть смысл устанавливать только в своем жилье. В случае со съемным это абсурд.

Тем не менее обострения паранойи, гиперответственность или схожие факторы (вспомним классическую ситуацию – «А выключил ли я утюг?») создают нам определенный дискомфорт когда мы оставляем свое жилище. Особенно на длительный срок. Возникает вопрос – как так получается что квартира все время on-line, а я ничего не вижу и не контролирую. Странно.

Читать дальше →
Всего голосов 98: ↑93 и ↓5+88
Комментарии156

Ethernet термометр на основе Arduino

Время на прочтение5 мин
Количество просмотров140K
Arduino

О цифровых термометрах на основе Arduino было сказано немало. Все они либо подключались к компьютеру, либо выводили температуры сразу на дисплей.
Но мне был нужен уличный термометр, который автономно и отправляет данные на сайт. Итак, приступим.
Читать дальше →
Всего голосов 76: ↑71 и ↓5+66
Комментарии96

Сверхдешёвая камера с управлением — своими руками

Время на прочтение6 мин
Количество просмотров157K

В качестве преамбулы скажу, что поскольку, подобная статья уже была, я по-началу и не собирался писать о камере на хабр.
Камера была сделана, просто ради интереса, тренировки навыков и отработки технологии удалённого управления физическими объектами.
Немного позже использовал эту систему как наглядный пример, сопровождающий обзор, на другом ресурсе (а фактически, в качестве чита что-бы подтянуть голоса). Это был настоящий бета-тест, который выявил кучу недоработок. За это огромное спасибо всем неравнодушным, помогавшим кто советом, а кто и куском кода.

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

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

О том какова стоимость моей поделки:
Читать дальше →
Всего голосов 75: ↑73 и ↓2+71
Комментарии42

Google выпустил новый красочный и познавательный проект — Cultural Institute

Время на прочтение1 мин
Количество просмотров34K


Поисковый гигант запустил мультимедиа-энциклопедию Cultural Institute, которая представляет набор исторических документов, таких как фотографии, видеозаписи, рукописи, письма, связанные с важными событиями, произошедшими в прошлом веке с 1905 года и в первом десятилетии XXI века — до 2008 года.

Создатели проекта говорят:

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

Хотя выбор исторических событий с точки зрения Google и может вызвать некоторые вопросы (например, вторая мировая война рассмотрена только косвенно), всё равно качество исполнения самого сайта и его материалов вызывает уважение.
Всего голосов 28: ↑26 и ↓2+24
Комментарии13

Немного о хаосе и о том, как его сотворить

Время на прочтение9 мин
Количество просмотров95K

Говоря «хаос», мы, обычно, подразумеваем полное отсутствие порядка, абсолютную неупорядоченность и случайность. С математической точки зрения, хаос и порядок – понятия не взаимоисключающие. Теория хаоса (есть что-то завораживающие в названиях математических теорий) – достаточно молодая математическая область, создание которой приравнивают по значимости открытий ХХ века к созданию квантовой механики. Хаос случается в нелинейных динамических системах. Иначе говоря, любой процесс, который протекает со временем, может быть хаотичным (например, высота дерева, температура тела или популяция мадагаскарских тараканов).
Читать дальше →
Всего голосов 73: ↑71 и ↓2+69
Комментарии65

Функциональное программирование на Javascript

Время на прочтение15 мин
Количество просмотров129K


Краткое содержание:

Возьмем немного функций высшего порядка, добавим частичное применение функций, приправим fold с map-ом и получим Javascript DSL для работы с DOM.

Человеческим языком:
Простое и понятное введение в функциональное программирование на чистом и понятном Javascript.

В отличие от «Через тернии к Haskell» все разжевано (возможно даже слишком) и разложено по полочкам.

Прочтение статьи развоплотит миф о неприменимости ФП в реальной жизни. Вы сможете смотреть на решение одной и той же задачи с разных точек зрения. Прямо как на картинке.

Читать дальше →
Всего голосов 123: ↑114 и ↓9+105
Комментарии54

Javascript и canvas в игре «Жизнь» Джона Конвея

Время на прочтение14 мин
Количество просмотров20K
Напишем эту алгоритмическую игру [1] так, чтобы извлечь из неё максимальную образовательную пользу в области алгоритмов, языка Javascript, хорошего стиля программ, умения оптимизировать код. Центральным местом обсуждения будет не игра, а код, способы реализации, оптимизация.

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

Недавно проведённый на Хабре опрос [3] показал реальную картину — 20% программистов написали когда-либо её работающую реализацию, а порядка 10% о ней не слышали. Что ж, тем интереснее будет оставшимся 80% узнать, что можно извлечь из реализации игры.
Читать дальше →
Всего голосов 70: ↑61 и ↓9+52
Комментарии23

Игра «Жизнь» и моделирование естественного отбора

Время на прочтение4 мин
Количество просмотров106K
Валялся я на прошлой неделе в больнице. И так как обсуждать с дедушками в холле рецепт яблок, мочёных в капусте, и как хорошо на Покров гулять по заливным лугам — особого желания не было, пришлось придумывать себе развлечение.

Я задумался об игре «Жизнь», которую на Хабре не так давно вспоминали. Мне стало обидно за несчастные клетки, которые живут и умирают в зависимости от одних только начальных условий, и ничего сами для своего выживания сделать не могут. В результате я придумал расширение для правил игры, с которым можно моделировать не только изменение численности популяции, но и естественный отбор внутри неё.

Самые нетерпеливые сразу могут посмотреть, что получилось, а остальных прошу под кат за рассказом.
Читать дальше →
Всего голосов 88: ↑77 и ↓11+66
Комментарии44

Включение чего угодно по HTTP без заморочек c OpenWRT

Время на прочтение15 мин
Количество просмотров305K

В комментариях к статье об опыте изготовления «интернет розетки» мое внимание привлекли два комментария. Один, в котором утверждалось, что такая штука, по сути, бесполезна, показался мне несправедливым — хорошо помню, как мне однажды понадобилось, например, дистанционно «ресетить» одну хитрую штучку и думаю, что я не одинок. А вот идея о том, что можно решить подобный вопрос проще и дешевле, использовав, например, TP-LINK TL-MR3020 + OpenWRT показалась мне дельной. Я решил к тому же обойтись без разборки устройства, программирования и микроконтроллеров — короче, сделать решение как можно доступнее. И у меня это почти получилось!
Читать дальше →
Всего голосов 88: ↑84 и ↓4+80
Комментарии61

Хитрости Chrome DevTools

Время на прочтение1 мин
Количество просмотров22K


Илья Григорик из компании Google собрал подборку малоизвестных функций Chrome DevTools, которые можно использовать для оптимизации производительности. Илья также упоминает несколько сторонних плагинов и библиотек, полезных для разработчика, и многочисленные другие хитрости: например, возможность дебаггинга iOS-приложений или кода, исполняемого на подключённом Android-устройстве.
Всего голосов 36: ↑28 и ↓8+20
Комментарии14

Понимание ООП в JavaScript [Часть 1]

Время на прочтение16 мин
Количество просмотров338K
— Прототипное наследование — это прекрасно
JavaScript — это объектно-ориентированный (ОО) язык, уходящий корнями в язык Self, несмотря на то, что внешне он выглядит как Java. Это обстоятельство делает язык действительно мощным благодаря некоторым приятным особенностям.

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

К счастью, в ECMAScript 5 появилось множество вещей, которые позволили поставить язык на правильный путь (некоторые из них раскрыты в этой статье). Также будет рассказано о недостатках дизайна JavaScript и будет произведено небольшое сравнение с классической моделью прототипного ОО (включая его достоинства и недостатки).
Читать дальше →
Всего голосов 129: ↑119 и ↓10+109
Комментарии71

Потрясающая, но невидимая глубина

Время на прочтение5 мин
Количество просмотров172K


Вы только что зашли на страницу Google.

Просто, не так ли?

Что же на самом деле произошло?

Ну, если вы немного понимаете, как работают браузеры, то все не так просто. Вы только что задействовали HTTP, HTML, CSS, ECMAscript и прочее. В действительности, это такие невероятно сложные технологии, что от них у любого инженера голова пойдет кругом, стоит лишь попробовать поглубже вникнуть в них. И нет ни одной компании, которая могла бы справиться с ними в одиночку.

Давайте упростим.

Вы только что установили соединение с www.google.com.

Просто, не так ли?

Что же на самом деле произошло?
Читать дальше →
Всего голосов 309: ↑245 и ↓64+181
Комментарии307

Луна и msp430

Время на прочтение2 мин
Количество просмотров63K
Доброго времени суток! Сразу хочу сказать, что не агитирую за msp430, но раз уж купил — должен, как говорится, применить. Опять же сообщество жаловалось на отсутствие конкретики в постах про эту платформу. История, значит, следующая. Была поставлена задача приобрести ночник в спальню. Сказано, что надо ехать в IKEA, там есть. Но легкие пути не для нас. Светильник подбирался с учётом последующей возможной модернизацией.
Итак, тушка:

Читать дальше →
Всего голосов 62: ↑59 и ↓3+56
Комментарии68

Паттерны проектирования (Head First Design Patterns)

Время на прочтение2 мин
Количество просмотров15K
image

Это не новинка. Книга вышла больше года назад. И, тем не менее, мы хотим обратить на нее ваше внимание. Есть книги однодневки. Есть классика. А есть книги, которые станут классикой или, по крайней мере, будут жить долго. Просто должно пройти время. Книга должна настояться, как хороший коньяк. Эта книга за 1.5 года выдержала уже 4 тиража. И продолжает хорошо продаваться. Надеюсь она понравится и вам.

Аннотация издания


В мире постоянно кто-то сталкивается с такими же проблемами программирования, которые возникают и у вас. Многие разработчики решают совершенно идентичные задачи и находят похожие решения. Если вы не хотите изобретать велосипед, используйте готовые шаблоны (паттерны) проектирования, работе с которыми посвящена эта книга. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O'Reilly в ряду множества скучных книг, посвященных программированию. Книга будет интересна широкому кругу веб-разработчиков, от начинающих до профессионалов, желающих освоить работу с паттернами проектирования.
Читать дальше →
Всего голосов 18: ↑11 и ↓7+4
Комментарии23

Шпаргалка по MV-паттернам для проектирования веб-приложений

Время на прочтение7 мин
Количество просмотров69K
mv-patterns
В Интернет можно найти множество различающихся реализаций и схем, уже набившего оскомину, паттерна MVC. В разных книгах я также встречал разные схемы. Это порождает некоторую путаницу и комментарии к моей предыдущей статье: "Реализация MVC паттерна на примере создания сайта-визитки на PHP" тому подтверждение. В поисках истины, я попытался расставить все по местам… перечитал некоторую литературу и статьи по паттернам проектирования и написал дополнение к упомянутой статье. Но решил запостить это дополнение, как отдельный топик в надежде на фидбэк. Под катом вы найдете несколько часто встречающихся схем MVC и MVP с описанием жизненного цикла приложения, а также описание менее популярных паттернов HMVC и MVVM. Разумеется, некоторые из перечисленных паттернов применимы не только к веб-приложениям, но в статье они рассматриваются именно в этом контексте.
Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии22

JsTree — деревья это так просто

Время на прочтение2 мин
Количество просмотров79K
Привет!

О плагине JsTree на хабре упоминалось лишь в далеком 2009 году. С тех времен все довольно сильно поменялось. Плагин активно развивается. Страница проекта на гитхабе.

Учитывая специфику проекта, над которым сейчас работаю(справочная система), этот плагин оказался просто незаменимым, и я использую 90% его функционала с превеликим удовольствием. И я до сих пор не видел такой же мощной альтернативы.



Если вам нужно отрисовать в брауезере просто дерево, то, конечно можно использовать и другие плагины, или вовсе написать это самому и лаконично, но для более широкого функционала — JsTree — просто отличный вариант.

Что мы имеем?


  • Построение дерева на основе html разметки, json и xml формата
  • Drag & drop с тонкой настройкой возможности перемещения нодов по дереву
  • Динамическое добавление/удаление/изменение нодов
  • Возможность построения нескольких деревьев на одной странице и манипуляция нодами между этими деревьями
  • Возможность присвоения нодам произвольных типов (file, folder, drive, да какой угодно), и указать отдельное поведения для каждого
  • Поддержка тем оформления (на скрине в начале статьи пример того, как это реализовал я)
  • Управление с клавиатуры
  • Использование нативных и кастомных чекбоксов
  • AJAX подгрузка нодов, запоминание состояния дерева
  • Плагин красиво и читабельно написан, позволяет писать дополнительные плагины к нему и без проблем кастомизировать.
  • Удобная система байндингов для обработки событий
  • Мультиязычность
  • Управление анимацией раскрытия
  • Поиск по дереву
  • Кастомное контекстное меню
  • Поддержка браузеров: IE 6+, Firefox 2+, Safari 3+, Opera 9+, Chrome
  • Мини-фича, которая меня особенно порадовала — плагин wholerow — выделения нода во всю ширину. А-ля mac style
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии47

Рабочее место для работы стоя за 600 рублей

Время на прочтение1 мин
Количество просмотров151K
Вдохновившись этим постом и взяв на заметку эту идею, менее, чем за час, собрал стол для работы стоя на запчастях из Икеи. Зачем — смотрите тут. Стоимость базовых элементов — 578 рублей.
Читать дальше →
Всего голосов 60: ↑39 и ↓21+18
Комментарии147

Правильный стул для ежедневной работы за компьютером

Время на прочтение5 мин
Количество просмотров864K
Золотой Остап и его стулВопрос о столах поднимался несколько раз (раз, два).

Однако, на чем же мы сидим перед столом?

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

Все мы работаем с компьютером и порой не замечаем, на чем же мы сидим.

Оказывается наши санитарные правила и нормы (СанПиН 2.2.2/2.4.1340-03) достаточно хорошо описывают удобный эргономичный стул для работы взрослых за компьютером!

А какой стул правильный?
Читать дальше →
Всего голосов 134: ↑125 и ↓9+116
Комментарии309

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность