Архив за 16 ноября 2014

Привет.

Многие разработчики, интересующиеся разработкой пользовательских интерфейсов (да и просто пользователи Android) уже успели ознакомиться с новой концепцией интерфейса Material Design, активно продвигаемой Google в рамках выпуска Android 5.0. Знакомясь с руководством по оформлению приложений и внимательно разглядев недавно обновившийся Google Play, я обратил внимание на один очень симпатичный компонент — иконку меню (в народе известную как hamburger icon), анимированно превращающуюся в иконку «назад», и решил реализовать такой компонент на Qt с использованием декларативного языка описания интерфейса QML.

QML: анимированная иконка-«бутерброд» в стиле Material Design за 20 минут - 1

В этой статье я расскажу, как реализовать такой компонент и с какими проблемами и сложностями можно столкнуться в процессе. Ссылка на полный исходный код в конце поста.

Читать полностью »

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

Таким образом, имея опыт работ по 2 микроконтролерам, делаю следующие выводы:

1. Программировать под микроконтроллер лучше на си и ассемблере;
2. При программировании желательно не пользоваться глобальными переменными;
3. Не пользоваться стандартными библиотеками си;
4. Если есть возможность писать все самому.

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

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

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

Засилье мультикоптеров на рынке потребительской электроники схоже с нынешней волной популярности на различного рода умные носимые устройства. Способствовали этому прежде всего компании Parrot и DJI, но с разными подходами и, соответственно, итоговыми решениями. Ar.Drone, представленный французской компанией Parrot в 2010 году меня особо не заинтересовал, а вот выпущенный в 2013 году DJI Phantom заставил углубится в тему и вызвал стойкое желание приобрести нечто подобное. Для студента моего образца сумма в 500 долларов (Phantom первого поколения) казалась весьма затруднительной в следствии чего стартовала фаза активного поиска более дешевых, но не менее функциональных альтернатив. В итоге мой выбор остановился на RTF (готовом к полету из коробки) квадрокоптере CXHobby CX-20 также известном под именем Quanum Nova.
CXHobby CX-20 aka Quanum Nova — на что способен клон DJI Phantom? - 1
В процессе поиска круг претендентов сузился до трех аппаратов стоимостью ~300$: Walkera QR X350, Wltoys V303 и, собственно, CXHobby CX-20. Последний был выбран из-за ребрендинга оного сайтом-магазином hobbyking, а следовательно большей популярности как у наших, так и зарубежных пользователей. Были и другие претенденты с более емкими аккумуляторами, дальнобойными пультами и прочими фишками, но и цена их приближалась к стоимости второго «фантома» в минимальной комплектации.
Читать полностью »

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

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

В этом есть доля правды, надо учитывать много мелочей. Но все же не это главное. Главное — должна быть аудитория, которая увидит ваши старания.

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

Исследователи из расположенного в Дрездене института FEP, входящего в научно-исследовательское Общество имени Фраунгофера, продемонстрировали новые органические светодиоды. Один из них излучает в ультрафиолетовой области спектра, другой — в зеленой. По мнению ученых, эти OLED можно использовать в недорогих приборах для индивидуальной медицинской диагностики в качестве сенсоров.

В созданных разработчиками примерах датчиков интегрированы OLED и фотоприемники с перестраиваемой спектральной характеристикой.

Привет. Приступим.

Мотивация

  1. Есть проект с Entity framework (>= 5.0.0.0) code first.
  2. Вы любите IoC, но не любите бесконечные регистрации новых сущностей.
  3. В качестве контейнера используется Unity (или есть возможность потратить 10 минут на допиливание исходников под свой контейнер).
  4. Перспектива написания однотипного кода почему-то отпугивает вас.

Итак, что предлагает эта статья. Вы подключаете 2 nuget-пакета, реализуете для своих Entity простой интерфейс IRetrievableEntity<TEntity, TId> (можно упростить задачу, отнаследовавшись от готового класса Entity<TId>), добавляете в код 2 строки регистрации и получаете на выходе полную независимость от DBContext и возможность резолвить репозитории для каждой IRetrievableEntity-сущности с возможностью построения объектно-ориентированных (типизированных) запросов к этим репозиториям. Только посмотрите:

var employeeRepository = container.Resolve<IRepository<Emloyee, int>>();
var employees = employeeRepository.Get(q =>
{
    q = q.Filter(e => e.EmploymentDate >= new DateTime(2014, 9, 1));
    if(excludeFired)
        q = q.Filter(e => !e.Fired);
    q = q.Include(e => e.Department, p => p.Department.Chief)
            .OrderBy(p => p.FirstName);
});

Как быстро начать использовать

Читать полностью »

Дайджест интересных новостей и материалов из мира PHP № 51 (26 октября – 16 ноября 2014) - 1

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать полностью »

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

Walkway.js и Vivus.js

Несколько интересностей и полезностей для веб-разработчика #33 - 1
Вы видели этот великолепный лэндинг посвященный анонсу Sony PlayStation 4? Обратите внимание на анимацию SVG объектов состоящих из контуров. Они словно рисуются художником в режиме реального времени. Отныне этот эффект можно легко повторить с помощью Walkway и Vivus. Обе библиотеки максимально просты в использовании и применимы только для path элементов, поскольку принцип их работы основывается на взаимодействии с CSS свойством strokeDashoffset. Хоть и у Walkway значительно больше звезд на Гитхабе, зато Vivus предоставляет несколько вариантов отрисовки: Delayed, Async и OneByOne.

//Walkway
var svg = new Walkway('#test');

svg.draw(function() {
  console.log('Animation finished');
});

//Vivus
new Vivus('my-svg-id', {type: 'delayed', duration: 200}, myCallback);

Читать полностью »

Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №134 (10 — 16 ноября 2014) - 1
Читать полностью »

Безынерционное измерение температуры воздуха ультразвуком - 1

Люблю не стандартные решения. Cейчас я покажу, как измерять температуру воздуха с помощью ультразвука.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js