Search
Write a publication
Pull to refresh
0
0
imbeat @imbeat

User

Send message

Поливаем цветы – просто и быстро

Reading time6 min
Views101K
image

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

Будем решать эту проблему с помощью микроконтроллера и C#.
Читать дальше →

Сервис, помогающий добиться поставленных целей

Reading time2 min
Views33K
Самый медлительный человек, не теряющий из виду своей цели, все же проворнее того, кто блуждает без цели.
Г. Лессинг


Достижение целей

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



Как подступится к выполнению заветной цели, с какой стороны подойти к решению поставленной задачи? Эти вопросы возникают только когда смотришь на проблему с высока, но стоит разбить ее на части, всё становится логично и доступно. Для многих людей разбивка своей цели на составное может стать непосильной задачей и тут на помощь может прийти опыт других людей.
Читать дальше →

QuickOffice стал бесплатным. К нему Google добавляет по 10 Гб в Drive на два года

Reading time1 min
Views36K
image


Вчера официально было заявлено, что мобильный офисный пакет QuickOffice (в своё время поисковый гигант купил его и спустя год закрыл харьковский и питерский офисы разработки, уволив более ста инженеров) становится бесплатным для своих обеих версий — для Android и iOS. Ранее существовали платные версии Quickoffice Pro и Quickoffice Pro HD.

QuickOffice умеет работать с файлами Microsoft Office — можно открывать и редактировать файлы Word, Excel, презентации PowerPoint и ряд других сопутствующих возможностей.
Узнать подробности

Бесплатный месяц на CodeSchool от NewRelic

Reading time2 min
Views17K
Популярный сервис мониторинга приложений NewRelic дарит всем новым пользователям месяц полного доступа к материалам CodeSchool. Регистрироваться здесь. Для получения купона нужно задеплоить абсолютно любое приложение — даже Hello World вполне годится.
Коротко о CodeSchool
Code School — это образовательный проект от Envy Labs, в рамках которого реализовано около 30 интерактивных онлайн-курсов в сфере IT. Основные направления (paths) на данный момент — Ruby/Rails, Javascript/jQuery, HTML/CSS/Design, iOS. Кроме того, есть дополнительные курсы, не входящие в основные направления и обозначенные как Electives, например — по Chrome DevTools и Git. Помимо интерактивных курсов ресурс предлагает десятки скринкастов той же тематики. В обычное время полный доступ ко всей этой красоте доступен за 25$ в месяц, хотя часть курсов предоставляется бесплатно.

Подробная инструкция по деплою hello_world.wsgi с использованием python/gunicorn под катом
Читать дальше →

Новый Evernote Web Clipper 6 для браузера Chrome

Reading time2 min
Views15K


Когда создавался наш веб-клиппер, мы хотели, чтобы найденные в Интернете интересные материалы не забылись в рутине дел и ежедневном информационном потоке, но бывает так, что просто сохранить их недостаточно. Важно дополнить сохраненные страницы собственными мыслями или поделиться находкой. Эти мысли привели нас к полному пересмотру того, как должен выглядеть и работать веб-клиппер для Chrome. Так появилась шестая версия Evernote Web Clipper.

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

Обзор Nexus 7 2-го поколения (2013)

Reading time2 min
Views215K


Здравствуйте, пользователи Хабрахабр. Несколько дней назад я получил на тест 2-е поколение Nexus 7. Мне попалась модель на 16 ГБ без LTE.

С первых минут использования стало ясно, что обновленная «семерка» это претендент на звание лучшего 7-дюймового планшета на Android.
А почему?

Humble Indie Bundle 9

Reading time1 min
Views20K


Встречайте новый Humble Indie Bundle 9.

Все игры DRM-free и кроссплатформенные (Windows, Mac и Linux), с возможностью привязки к Steam.

Сами по себе все эти игры будут стоить около 120$, но нам дают возможность назвать свою цену!

Начиная с 1 $, вы можете приобрести 4 игры:
  • Trine 2: Complete Story (Metacritic — 84/100)
  • Mark of the Ninja (Metacritic — 91/100)
  • Brütal Legend (Metacritic — 81/100)
  • Eets Munchies Beta

Заплатите больше, чем в среднем (4,41$ на данный момент), и вы получите еще 2:
  • FEZ (Metacritic — 91/100) (должны помнить по Indie Game: The Movie)
  • FTL: Faster Than Light (Metacritic — 84/100)

Добавлены еще 4 игры
  • Rocketbirds: Hardboiled Chicken
  • A Virus TOM
  • Bastion
  • LIMBO
Читать дальше →

Домашний сервер на Windows 8 Pro

Reading time12 min
Views162K
Приветствую!

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

В один из чудесных осенних дней меня тоже посетила эта мысль. Дело в том, в доме «развелось» слишком много устройств, которые захотелось объединить во что-то структурированное. Было принято решение поднять домашний сервер. В качестве ОС сначала хотелось использовать Windows Server 2012 Essentials, в состав которого вошли такие продукты, как Windows Home Server и Windows Small Business Server, но после нескольких часов работы с ней я понял, что использовать Windows Server 2012 в домашних условиях слишком «жирно». Тогда я решил использовать ОС попроще, а именно Windows 8 Pro, лицензия на которую лежала без дела.

Предупреждение. Я прекрасно понимаю, что поднять домашний сервер на Unix-подобных ОС, возможно, было бы и проще, но в данном материале я хочу рассказать, как поднять такой сервер на клиентской ОС Windows 8 Профессиональная обычному пользователю ПК (ну, или почти обычному), который никогда не имел опыта общения с Unix.
Вот моя история...

Сниппеты для Chrome DevTools

Reading time5 min
Views32K
Возможности встроенного в браузер инструмента Chrome Developer Tools можно расширить с помощью сниппетов. Это ускоряет разработку и упрощает рабочий процесс. Хорошая коллекция сниппетов есть на GitHub'е.

Сниппеты в Google Chrome


Подробно о функциях сниппетов можно почитать в официальной документации Chrome. А вот краткая инструкция:

  1. Зайти в «chrome://flags» — Отметить «Enable Developer Tools experiments».
  2. Открыть DevTools: «Settings» — «Developer Tools Experiments» — Отметить «Snippets support».
  3. После перезагрузки во вкладке DevTools «Sources» появится «Snippets», где можно управлять сниппетами:

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

Создание автономного робота Frank. Часть вторая

Reading time5 min
Views63K


Прошло немного времени и у меня значительный прогресс. Если вы не читали предысторию — добро пожаловать в «Создание автономного робота Frank. Часть первая» .

Итак, в первой части я собрал платформу на базе Lego Technic и серво-моторов HiTech. Угробив единственный шилд для прототипирования для Arduino, я ждал, когда мне придет замена, плюс новый припой, взамен экологически чистого, который у меня был — без содержания свинца. Также, у меня в распоряжении была пара XBee для беспроводной связи, с которой необходимо было разобраться и Arduino Due, с которой хотелось поэкспериментировать.

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

Создание автономного робота Frank. Часть первая

Reading time5 min
Views75K
image

Уже второй месяц я собираю по вечерам автономного робота, которого зовут Frank. Почему? Не спрашивайте! Я знаю, что у каждого робота должно красиво расшифровываться имя, но я ничего еще не придумал. Если будут идеи — пишите в комментариях. Все началось достаточно давно. Мое увлечение нейронаукой, когнитивистикой, искусственными нейронными сетями и искусственным интеллектом привело меня к тому, что исследования алгоритмов в компьютере — это достаточно увлекательный процесс, но иногда хочется потрогать свое творение руками и посмотреть как оно ведет себя в реальной жизни.

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

Так как половину времени я живу в Лос Анджелесе, а половину в Москве, то возможно некоторые ссылки будут не очень актуальны. С другой стороны, мне пришлось найти магазины для покупки электроники и там и тут, так как мои постоянные разъезды никак не влияют на желание изучать робототехнику. Поэтому, по возможности, я опубликую ссылки и на наши и на западные ресурсы. Возможно, это поможет и русским читателям и тем, кто читает Хабр за рубежом.

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

Интеграция AJAX в ASP.NET MVC 4

Reading time6 min
Views80K
Наверное, уже не существует веб разработчика, который не слышал о Ajax. Microsoft в такой ситуации не может оставаться в стороне, с каждым релизом старается облегчить жизнь именно нам, ASP.NET MVC разработчикам. Но прежде чем я продолжу статью, немного отступлюсь от темы.

Когда я познакомился с MVC фреймворком, он был тогда только во второй версии и, столкнувшись с такими хелперами как @Ajax...., честно говоря, их реализация на стороне клиента меня не впечатлила. Нет, так нет, подумал я про себя, у меня есть jQuery со своим $.ajax, мне его за глаза. Вот и забыл я про них на несколько лет, к своему великому сожалению проморгав этот момент с третьим релизом. Что было, то было. Благо что взялся за ум и почитал две книги по MVC 4. Далее расскажу, как можно сократить написание строк кода благодаря хелперам, упомянутым мною выше.

Начну с того, что MVC может работать с двумя вариантами Ajax библиотек (конечно я же имею ввиду с коробки, не более того) — jQuery и Microsoft Ajax. Чтобы знать, для какого адаптера создавать разметку, существует настройка в web.config UnobtrusiveJavaScriptEnabled и соответствующее значение true (для работы с jQuery) и false (для работы с Microsoft Ajax). Если же нам необходимо поменять значение только для одного представления, можно воспользоваться методом — @{Html.EnableUnobtrusiveJavaScript(bool);}. Хочу обратить внимание, что данная настройка влияет и на формирование валидационных данных на стороне клиента.

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

Визуализация списков в отладчике Visual Studio или новое слово от «BugAid For Visual Studio»

Reading time3 min
Views13K
Когда приходится просматривать элементы списка (массива) в отладчике Visual Studio, например, в окне QuickWatch часто сталкивашься с не удобством просмотра сложного (или длинного) списка данных. Тяжело увидеть, например, значения поля всех элементов списка.
Данный пост показывает несколько «встроенных» способов решения этой проблемы и возможности расширения BugAid.
мало букв, но достаточно картинок.

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

Логинимся на сайт под чужим аккаунтом не имея пароля

Reading time4 min
Views45K


День добрый, сегодня я расскажу про довольно полезный прием при поддержке крупных сайтов-сервисов. А именно, возможность зайти на ваш сайт под обычным пользователем, не имея пароля (вы же не храните пароли в БД открытым текстом верно?).
Читать дальше →

Пишем модульное приложение на .Net Framework

Reading time8 min
Views20K
Современные тенденции в разработке информационных систем требуют от проектировщиков закладывать в архитектуру систем возможность динамического расширения их функционала. И не смотря на существование огромного количества наработок в этом направлении, единого решения структуры модульного приложения нет. Использование же готового решения не всегда возможно в силу специфики языка программирования или разрабатываемой системы. Так же, готовые решения модульных систем не всегда доступны для изучения, а иногда излишне сложны.

Модули в разных системах, зачастую, имеют разные границы функциональности. В системе могут быть выделены некоторые, строго определенные точки расширения – некоторый функционал, дополняемый сторонними разработчиками. Или система может представлять собой лишь механизм управления модулями, а весь ее функционал реализуется отдельными модулями.
Читать дальше →

Вывод метаданных модели MVC в динамическую разметку

Reading time11 min
Views3.2K
В ASP.NET MVC метаданные — атрибуты, описывающие поля модели, используются как при генерации разметки (вывод названия поля, его заполнителя и т.д.), так и при валидации данных (вывод правил валидации). Условно можно выделить 2 вида валидации:
  • клиентская валидация
  • серверная валидация

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

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

Итак, необходимо реализовать автоматический вывод метаданных модели MVC на клиентскую сторону и ненавязчивую валидацию.
Читать дальше →

Безопасная работа с исключениями в C#

Reading time4 min
Views49K
Структурные исключения — один из ключевых механизмов обработки ошибочных (в том числе и собственно исключительных) ситуаций. Ниже перечислены некоторые рекомендации по программированию, повышающие общее качество кода при работе с исключениями на C# и шире — платформе .NET.

Собственный класс. Выбрасывайте исключения на основе собственного класса, унаследованного от Exception, а не напрямую — на основе Exception, потому что это дает возможность определить свой собственный обработчик и отделить отслеживание и обработку исключений, выбрасываемых вашим кодом и кодом фреймворка .NET.

Отдельные поля. Создавайте отдельные поля в собственном классе для передачи существенной информации, вместо сериализации и десериализации данных в поле Message. Несмотря на то, что идея упаковки в Message сложных данных в виде строки типа JSON выглядит соблазнительно, это редко является удачной идеей, поскольку добавляет дополнительный расход ресурсов на кодирование, локализацию, декодирование.
Читать дальше →

Программисты-оптимисты

Reading time5 min
Views78K

Мы, программисты, — оптимисты. Это проявляется во всем цикле разработки ПО от оценки сроков до написания кода и внедрения. Как показывает моя практика, в разработке ПО законы Мерфи работают в 100% случаев. Несмотря на это, я раз за разом сталкиваюсь с «программистами-оптимистами».

Топ «оптимистичных» допущений:
Читать дальше →

Удобная библиотека для работы с тегами медиафайлов

Reading time3 min
Views18K
Приветствую всех хабравчан. Одним прекрасным вечером в мою голову пришла идея отсортировать свои гигабайты музыки. А если точнее, то захотелось просто-напросто удалить все треки с низким битрейтом, дабы не раздражали слух и место почем зря не занимали. Можно было бы, конечно, сделать все вручную, но, во-первых, лень, во-вторых, на это ушло бы несколько недель, если не месяцев. Да и вообще, программист я или где? С такими вот незатейливыми рассуждениями я и пришел к мысли, что стоило бы автоматизировать процесс. Вопрос языка на котором будет производиться автоматизация особо не стоял: на работе пишу на C#, дома тоже есть экспресс версия Visual Studio, значит так тому и быть. Осталось только узнать как с помощью этих самых шарпа да студии узнать битрейт файлов, чтобы не удалить чего лишнего. Недолгий, но продуктивный гуглеж привел меня к одной замечательной библиотеке.
А чем же она хороша?...

Information

Rating
Does not participate
Registered
Activity