Я думаю многим читателям блога .Net знакомо имя John Skeet. Особенно после вчерашнего поста юзера SergeyT. Поэтому я не буду повторять про сравнение с Чаком Норрисом и первое место по карме на StackOverflow.com. А вот упомянуть лишний раз про его замечательную книгу “C# In Depth” точно лишним не будет. Центральное место в ней занимает LINQ вообще и LINQ to Objects в частности. Джон очень обстоятельно описывает все возможности языка C# и платформы .Net, которые сделали возможным появление LINQ в его нынешнем виде, а также подробности его реализации. Именно после прочтения этой книги я стал активно использовать LINQ to Objects в своих проектах. Однако в стандартной библиотеке не хватает нескольких крайне нужных операторов. К счастью, Джон Скит исправил это недоразумение. Так появилась небольшая, но очень полезная библиотка morelinq. А с конца прошлого года она доступна в виде NuGet-пакета. Читать полностью »
Рубрика «велосипед» - 12
Библиотека morelinq: то, чего не хватает в LINQ to Objects из коробки
2013-01-31 в 18:32, admin, рубрики: .net, linq, велосипед, метки: .net, linq, велосипедhow to: Как и зачем работать с svn через git
2012-11-20 в 12:21, admin, рубрики: Git, svn, wapstart, Блог компании WapStart, велосипед, Системы управления версиями, метки: Git, svn, wapstart, велосипедДобрый день!
В статье я расскажу, как мы работаем с svn через git и почему не выбрали чистый git.
SVN
Subversion — это централизованная система контроля версий. Это главный ее минус и главный ее плюс :)
Плюс в том, что централизация дает возможность, например, нумеровать коммиты, т.к. их порядок известен.
Так же она минимизирует конфликты (хотя об этом можно и поспорить), т.к. текущее состояние репозитория одно и оно всем известно.
В svn можно хранить несколько проектов в одном репозитории. Вообще интефрейс репозитория в svn очень похож на файловую систему, что обеспечивает минимальный порог вхождения для тех, кто никогда не работал с системами контроля версий.
Главный минус — это merge… Те, кто часто делает мерж средствами svn, понимает о чем я.
Это медленно (даже меееееееедлееенно), требует постоянного соединения с репозиторием, а еще эти svn-properties, которые мешают читать diff.
Читать полностью »
Электронная система управления подвеской горного велосипеда
2012-11-14 в 20:35, admin, рубрики: android, arduino, automatic, bluetooth, c++, diy или сделай сам, велосипед, Программинг микроконтроллеров, программирование микроконтроллеров, электроника, Электроника для начинающих, метки: android, arduino, automatic, bluetooth, c++, diy или сделай сам, велосипед, программирование микроконтроллеров, электроникаУважаемое сообщество, представляю вашему вниманию отчет о проделанной работе по скрещиванию моих двух хобби: горный велосипед и микроэлектроника.
Итак, в этой статье речь пойдет об отечественной разработке электронной системы управления подвеской горного велосипеда. Не буду мучить длинным вступлением, сразу к фото и видео:
Автоматическая коробка передач для велосипеда на iPhone
2012-11-12 в 7:31, admin, рубрики: iphone, велосипед, гаджет, метки: iPhone, велосипед, гаджетМы часто говорим о том, как смартфоны непрерывно меняют мир вокруг нас. И вот еще одна любопытная сфера нашей жизни, которую могут улучшить смартфоны – велосипеды. New Scientist пишет, что при помощи смартфона реализована новая автоматическая коробка передач для них.
Мы сделаем этот велосипед за месяц
2012-11-08 в 8:39, admin, рубрики: велосипед, планирование, управление проектами, метки: велосипед, планированиеПравильное управление процессом разработки это не меньшая проблема, чем собственно правильный код. Начинающие руководители часто даже не задумываются об этом, наступая на одни и те же грабли. На примере одной вымышленной истории попробуем разобраться какие проблемы нас ожидают и что можно сделать.
В статье я не открою никакой тайны, и серебряной пули у меня нет. Также я не претендую на глубокое и качественное знание процесса разработки, но опишу один из простейших подходов, который применяю сам. Здесь будут описаны простые и элементарные вещи, известные всякому опытному руководителю проектов. Статья предназначена прежде всего для начинающих РП, тимлидов, и тех, кто совмещает эти должности. Впрочем, она полезна в любой сложной деятельности.
Велосипед
Итак, Вася долго трудился рядовым программистом, ведущим программистом и наконец стал Руководителем. У него есть команда отчаянных головорезов разработчиков в количестве двух единиц. Безусловно талантливых и знающих свое дело специалистов.
Вася получает первый заказ — надо сделать … велосипед. Читать полностью »
Веб-компоненты с LibJS
2012-10-03 в 23:33, admin, рубрики: html, javascript, web components, Веб-разработка, велосипед, метки: web components, велосипед По факту, LibJS это связка нескольких библиотек. О Mask и Include я уже вкратце рассказал, а сегодня завершит трилогию CompoJS(@github).
Постановка задачи
- разработка компонент вне основного проекта
- «dev»-независимая маршрутизация —
route('compo','file:///d:/dev/compo/{name}/lib/{name}.js');
- легкое внедрение в проект —
include('compo','mycomponent');
- инициализация прямо из макета —
<myComponent <!-- settings --> />
(без javascript-a)
Итого 2 строчки кода, (3) и (4), и компонент подключен в проект вместе с ресурсами и другими компонентами. Больше не надо копировать картинки и стили — все под капотом. Хочу отметить, что разрабатываю в основном мобильные приложения, так что «под капотом» должно быть что-то легкое, но очень быстрое. В статье также будет приведен пример компоненты с использованием библиотеки @PrismJSЧитать полностью »
Класс dummyArray: как подружить код работающий с массивами и код работающий со свойствами объекта
2012-09-22 в 22:29, admin, рубрики: array, class, php, wrapper, велосипед, массив, метки: array, class, PHP, wrapper, велосипед, массив Возникла задача код работающий с набором данных как с массивом с кодом, который воспринимает этот же набор данных как класс.
Решение — создать класс с которым можно будет работать как с массивом (ArrayAccess), который будет также легко обходиться в foreach (Iterator) и у которого будут свойства с именами ключей. До кучи также был реализован интерфейс Countable.
Пример:
$user = new dummyArray;
// Добавим пару элементов в формате массива
$user['name'] = 'myname';
$user['sex'] = 'man';
// Добавим следующие пару записей в виде свойств объекта
$user->age = 18;
$user->occupation = 'director';
Видео последовательность в Drawable
2012-09-19 в 11:36, admin, рубрики: android, animation, drawable, java, анимация, велосипед, видео, Работа с видео, Разработка под android, метки: android, animation, drawable, java, анимация, велосипед, видео После поста о подходе Apple к кодированию видео в JPEG, решил рассказать о своем подобном «велосипеде» под Android.
В своем мобильном проекте решили мы сделать превьюшки оружия не статической картинкой, а видео. Подразумевалось, что художники нарисуют красивые анимации, может даже в 3д, но что-то не сложилось и нам выдали простейшие зацикленные 1-1.5 секундные ролики в разрешении 256х256. В iOS версию они встроились замечательно, а вот в Android пришлось повоевать с MediaPlayer и SurfaceView, но все-равно получились некоторые «корявости» — содержимое SurfaceView не перемещалось вслед за родительским View, была заметная пауза при воспроизведении, и пр.
Разумным решением было бы разбить анимации на кадры и оформить в xml для AnimationDrawable, но для 15 видов оружия это значило бы мусорку из 5000+ кадров по 10-15 кб каждый. Потому была сделана своя реализация AnimationDrawable, работающая с sprite sheet и относительно быстрый метод конверсии видео в такой формат.
Apple кодирует видео с помощью JPEG, JSON и <canvas>
2012-09-17 в 14:25, admin, рубрики: apple, canvas, html5, iphone 5, Веб-разработка, велосипед, видео, Работа с видео, метки: Canvas, html5, iPhone 5, велосипед, видео
Фрагмент файла unlock_001.jpg
Компания Apple имеет огромный опыт в разработке веб-технологий, но сейчас попала в абсурдную ситуацию. Если зайти на страницу с описанием дизайнерских инноваций iPhone, то можно увидеть странное: видеоролик с анимацией разблокировки «айфона» закодирован с помощью нескольких JPEG-файлов необычного вида.
Читать полностью »
Revolights
2012-09-07 в 5:59, admin, рубрики: diy или сделай сам, LED, велосипед, Гаджеты. Устройства для гиков, подсветка, свет, метки: LED, велосипед, подсветка, светИнтересный проект от велоинтузиастов из сан-франциско Кента Франковича и Адама Петтлера — сделать на великах светящиеся колеса и синхронизировать их со скоростью движения, в результате получается весьма недурственная тема: