Здравствуйте. Сегодня на глаза попался пост о курсе программирования под Android на сайте Linux Foundation, а вместе с ним — и немало комментариев о том, что хотелось бы видеть и перевод этих уроков. Поскольку я сейчас, после четырех лет разработки под микроконтроллеры, начал изучать и программирование для мобильных устройств, то параллельно решил сделать перевод первой части урока.
VitaliyB @VitaliyB
User
Построение тора средствами WPF
4 min
22KTutorial
Добрый вечер, Хабр.
Эта статья для новичков, расскажу об отрисовке простых тел вращения в Windows Presentation Foundation. После семестра программирования графики на OpenGL, а точнее glut.h, решил потратить вечер на знакомство с WPF.В данной статье построим тор.
Эта статья для новичков, расскажу об отрисовке простых тел вращения в Windows Presentation Foundation. После семестра программирования графики на OpenGL, а точнее glut.h, решил потратить вечер на знакомство с WPF.В данной статье построим тор.
+16
Создание телеканала в интернете при помощи домашнего компьютера
5 min
111KЗагорелся я как-то мыслью создать собственный телеканал, хорошо порылся в интернете, и столкнулся с несколькими техническими проблемами не решаемыми или решаемыми но очень дорого для хобби обычного гражданина. И забросил эту идею буквально до средины прошлого лета пока не узнал что барьеров для создания собственного тв больше нет.
А теперь начнем разговор обо всем и попорядку:
Первое о чем хотелось бы расказать это технические трудности с которыми я столкнулся в прошлом, самой непреодолимой и дорогой на мой взгляд была проблема того, что создав любую более менее достойную трансляцию ты можешь показать ее лишь ограниченному кругу людей. Но с появление торрент стрим трансляций все изменилось.
1 вариант (бюджетный и с самой низкой нагрузкой на машину) — VLC media player, acestream (torrentstream). Все будет работать и под Windows и под Linux.
2 вариант (только под Windows) — VLC media player, acestream (torrentstream), XSplit Broadcaster и/или VH Screen Capture driver, а также по желанию Virtual Audio Cable.
А теперь начнем разговор обо всем и попорядку:
Первое о чем хотелось бы расказать это технические трудности с которыми я столкнулся в прошлом, самой непреодолимой и дорогой на мой взгляд была проблема того, что создав любую более менее достойную трансляцию ты можешь показать ее лишь ограниченному кругу людей. Но с появление торрент стрим трансляций все изменилось.
Итак если вы хотите организовать собственный тв канал в интернете нам понадобится список необходимых для этого программ:
1 вариант (бюджетный и с самой низкой нагрузкой на машину) — VLC media player, acestream (torrentstream). Все будет работать и под Windows и под Linux.
2 вариант (только под Windows) — VLC media player, acestream (torrentstream), XSplit Broadcaster и/или VH Screen Capture driver, а также по желанию Virtual Audio Cable.
+33
Заметка о том как лучше сидеть перед компьютером
4 min
112KБольшинство из нас, включая тебя, %username%, проводит много времени в сидячем положении перед монитором. Многие люди в то же время выполняют физические упражнения и занимаются в спортзале — это решает проблему, но лишь отчасти. Долго сидеть вообще вредно (противоестественно), но неправильно сидеть — на порядок вреднее. Поскольку большинство из нас не могут отказаться от долгих посиделок, мы поговорим о том как же все-таки правильно и удобно сидеть — так чтобы при этом не болели глаза, спина, и руки.
+106
Еще один взгляд на Entity Framework: производительность и подводные камни
10 min
44KНи для кого не секрет, что адаптация Entity Framework проходит очень медленно. Огромное количество компаний продолжают использовать Linq2Sql и не планируют менять его на что-то новое в обозримом будущем, несмотря на то, что EF – официально рекомендуемая Microsoft технология доступа к БД, а Linq2Sql уже почти не поддерживается.
Тех, кто всё еще сомневается, можно ли использовать EF (и особенно – code first) на реальных проектах, приглашаю под кат.
Тех, кто всё еще сомневается, можно ли использовать EF (и особенно – code first) на реальных проектах, приглашаю под кат.
+30
Что такое TCHAR, WCHAR, LPSTR, LPWSTR,LPCTSTR (итд)
12 min
343KTutorial
Многие C++ программисты, пишущие под Windows часто путаются над этими странными идентификаторами как TCHAR, LPCTSTR. В этой статье я попытаюсь наилучшим способом расставить все точки над И. И рассеять туман сомнений.
В свое время я потратил много времени копаясь в исходниках и не понимал что значат эти загадочные TCHAR, WCHAR, LPSTR, LPWSTR,LPCTSTR.
Недавно нашел очень грамотную статью и представляю ее качественный перевод.
Статья рекомендуется тем кто бессонными ночами копошиться в кодах С++.
Вам интересно ??
Прошу под кат!!!
+37
Топ-10 результатов в области алгоритмов за 2012 год
4 min
49KTranslation
Каждый год 31 декабря David Eppstein публикует обзор препринтов за прошедший год, посвященных структурам данных и алгоритмам, опубликованным на arxiv.org. По ссылкам можно познакомиться с материалами за 2010 и 2011 (мой перевод) годы.
Раздел cs.DS развивается хорошими темпами: в этом году появилось 935 препринтов по алгоритмам и структурам данных, в то время как за 2011 их было 798. Раздел пока не дотягивает до сотни в месяц, хотя в июле (98 препринтов) этот порог был очень близок.
Это мой личный список из десятка препринтов, которые кажутся мне особенно интересными. Как обычно, я не вношу в него мои собственные работы и некоторые другие, о которых я писал раньше. Кроме того, здесь нет результатов (например, более быстрый алгоритм нахождения максимального потока), не появлявшихся на arxiv.org.
Вот они, в хронологическом порядке:
Раздел cs.DS развивается хорошими темпами: в этом году появилось 935 препринтов по алгоритмам и структурам данных, в то время как за 2011 их было 798. Раздел пока не дотягивает до сотни в месяц, хотя в июле (98 препринтов) этот порог был очень близок.
Это мой личный список из десятка препринтов, которые кажутся мне особенно интересными. Как обычно, я не вношу в него мои собственные работы и некоторые другие, о которых я писал раньше. Кроме того, здесь нет результатов (например, более быстрый алгоритм нахождения максимального потока), не появлявшихся на arxiv.org.
Вот они, в хронологическом порядке:
+114
5 API которые изменят Веб в 2013
5 min
47KTranslation
Это невероятно захватывает — наблюдать за эволюцией Веб, и 2013 год принесет нам в запасе очень многое. На подходе ряд технологий, имеющих потенциал в течение 2013 года радикально изменить наши способы использовать и разрабатывать Веб.
СSS фильтры уже имеются в Chrome и Safari, и позволяют расширенные настройки стилей, такие как размытие, искривление и модификацию цветовой интенсивности. Однако, это — только начало. Настраиваемые фильтры CSS позволяют вам описать свои собственные вершинные и пиксельные шейдеры в GLSL, языке, который является неотъемлемой частью традиционного 3D-рендеринга уже в течение 10 лет или около того.
На практике это означает то, что вы можете создавать невероятные эффекты. Комбинируя фильтры с CSS-переходами, вы можете делать красивые трансформации, от завитушек на странице до складывающихся элементов. Пределом является лишь ваше воображение!
Так когда вы можете использовать их? Adobe стал новатором этой технологии и Настраиваемые Фильтры уже доступны в Chrome. Ожидается увидеть их в Chrome в начале следующего года. На данный момент, с ними можно поиграть в Canary.
Данное API имеет потенциал радикально изменить регистрации и платежи в сети. Автозаполнение разрабатывается для того, чтобы упростить заполнение форм, и даже сейчас имеется спецификация для подсказок, с каким типом данных связаны поля в форме.
Настраиваемые фильтры CSS
СSS фильтры уже имеются в Chrome и Safari, и позволяют расширенные настройки стилей, такие как размытие, искривление и модификацию цветовой интенсивности. Однако, это — только начало. Настраиваемые фильтры CSS позволяют вам описать свои собственные вершинные и пиксельные шейдеры в GLSL, языке, который является неотъемлемой частью традиционного 3D-рендеринга уже в течение 10 лет или около того.
На практике это означает то, что вы можете создавать невероятные эффекты. Комбинируя фильтры с CSS-переходами, вы можете делать красивые трансформации, от завитушек на странице до складывающихся элементов. Пределом является лишь ваше воображение!
Так когда вы можете использовать их? Adobe стал новатором этой технологии и Настраиваемые Фильтры уже доступны в Chrome. Ожидается увидеть их в Chrome в начале следующего года. На данный момент, с ними можно поиграть в Canary.
API автозаполнения
Данное API имеет потенциал радикально изменить регистрации и платежи в сети. Автозаполнение разрабатывается для того, чтобы упростить заполнение форм, и даже сейчас имеется спецификация для подсказок, с каким типом данных связаны поля в форме.
+54
Программируем на праздниках в Windows 8
2 min
23KНовогодние праздники — традиционное время, когда многие разработчики по всей России радуются свободному времени и думают, что бы такого попрограммировать. Лично я живу с таким ощущением уже который год.
Поэтому решил в одном посте собрать ссылки на материалы, которые помогут начать создавать приложения для Windows 8.
Прежде всего это бесплатные электронные книги.
На русском — Разработка приложений для Windows 8 на языке C#
На английском — Programming Windows 8 Apps with HTML, CSS, and JavaScript
В одном месте — все ссылки для разработчиков, включая Windows 8, SDK и дополнительные библиотеки.
Поэтому решил в одном посте собрать ссылки на материалы, которые помогут начать создавать приложения для Windows 8.
Прежде всего это бесплатные электронные книги.
На русском — Разработка приложений для Windows 8 на языке C#
На английском — Programming Windows 8 Apps with HTML, CSS, and JavaScript
В одном месте — все ссылки для разработчиков, включая Windows 8, SDK и дополнительные библиотеки.
+14
Microsoft Reporting Services советы начинающим. Часть 2
4 min
18KПродолжаем рассматривать полезные советы для начинающих, при создании отчетов в Microsoft Reporting Services.
Начало можно найти здесь: Microsoft Reporting Services советы начинающим.
Заинтересовавшихся, прошу под кат…
Начало можно найти здесь: Microsoft Reporting Services советы начинающим.
Заинтересовавшихся, прошу под кат…
-2
Классическая модель Хостинга vs Windows Azure
8 min
9.7KКлассическая модель Хостинга vs Windows Azure
На хабре я недавно, но уже успел заметить много интересного материала и статей. В том числе от Андрея Кожокару korjik. Андрей много раз выкладывал информацию по подсчету стоимости хостинга, проводил на эту тему исследования для AWS и сравнивал его с другими решениями. Мне стало интересно, что же получится, если смотреть не только на AWS, но например, и на Windows Azure. Я провел небольшое исследование, сделал кое-какие выводы и буду рад обсудить их в комментариях. А вывод прост: цены приблизительно одинаковы для всех. Выбор сводится в основном к предпочтениям конкретного заказчика, а также к удобству использования того или иного решения для определенного технологического стека.
Ну, начнем.
Цель исследования
Статья сравнивает классическую модель хостинга приложений с хостингом в Windows Azure. Раскрываются преимущества и недостатки каждого решения и выбранных платформ, в соответствии с функциональными и не функциональными требованиями. Сравнивается максимальное количество опций, предоставляемых обоими провайдерами, которые подходят под предполагаемую архитектуру.
-3
Создание веб-приложения Django в Visual Studio 2012 и публикация его в облако Windows Azure
4 min
17KTutorial
Translation
Доступные инструменты значительно упрощают разработку приложений для Windows Azure. При изложении материала предполагается, что пользователь не имеет опыта работы с Windows Azure. Выполнение всех шагов данного руководства позволит запустить приложение на основе Django в облаке.
Из этого руководства вы узнаете:
- Как создать базовое приложение Django.
- Как запускать и отлаживать приложения Django локально с помощью тестового сервера Django.
- Как запускать приложения Django локально в эмуляторе среды.
- Как публиковать и повторно публиковать приложение на платформе Windows Azure.
Следуя приведенным инструкциям, вы создадите простое веб-приложение Hello World. Приложение будет размещено в экземпляре веб-роли, которая размещается в выделенной виртуальной машине на платформе Windows Azure.
+8
Особенности обработки исключений в Windows
4 min
25KПрочитав недавний топик "Использование try — catch для отладки" решил все таки в качестве дополнения поделиться и своим опытом.
В этой статье предлагаю рассмотреть получение callstack’а места, где было брошено исключение в случае работы со
структурными исключениями (MS Windows). В детали работы исключений вдаваться не будем, т.к. это тянет на отдельный цикл статей (для интересующихся рекомендую Рихтера, MSDN и wasm.ru). Конечно, есть много уже готовых проектов для генерации
Что делать с полученным стеком вызовов — решать вам. Можно смотреть отладчиком, можно записать в файл и смотреть сторонней программой (для этого не забудьте записать список загруженных модулей с их адресами, а так же вам понадобятся отладочные символы).
В этой статье предлагаю рассмотреть получение callstack’а места, где было брошено исключение в случае работы со
структурными исключениями (MS Windows). В детали работы исключений вдаваться не будем, т.к. это тянет на отдельный цикл статей (для интересующихся рекомендую Рихтера, MSDN и wasm.ru). Конечно, есть много уже готовых проектов для генерации
minidump
’ов (например CrashRpt или google-breakpad), так что эта статья носит больше образовательный характер.Что делать с полученным стеком вызовов — решать вам. Можно смотреть отладчиком, можно записать в файл и смотреть сторонней программой (для этого не забудьте записать список загруженных модулей с их адресами, а так же вам понадобятся отладочные символы).
+34
Многоядерная JIT-компиляция в .NET 4.5
3 min
13KИсторически разработчики .NET использовали генератор образов в машинном коде Ngen. Это отлично работает, если у вас есть инсталлятор, и вы можете сгенерировать эти образы во время установки приложения. Но в других случаях, например когда у вас нет установщика или вы не имеете доступ к Ngen, ваше приложение будет производить JIT-компиляцию по мере необходимости, что замедлит его загрузку. Разработчики CLR предоставили решение в новой версии .NET – многоядерная JIT-компиляция с возможностью создавать профили оптимизации.
+31
Прогресс в разработке нейросетей для машинного обучения
3 min
44KВ пятничном номере NY Times опубликована статья о значительных успехах, который демонстрируют в последние годы разработчики алгоритмов для самообучаемых нейросетей. В глубоких структурах есть несколько скрытых слоёв, которые традиционно тяжело было обучать. Но всё изменилось с использованием стека из машин Больцмана (RBM) для предварительной тренировки. После этого можно удобно перенастраивать веса, применяя метод обратного распространения ошибки (backpropagation). Плюс появление быстрых GPU — всё это привело к существенному прогрессу, который мы наблюдаем в последние годы.
Сами разработчики не делают громких заявлений, чтобы не поднимать ажиотаж вокруг нейросетей — такой, как в 1960-е годы поднялся вокруг кибернетики. Тем не менее, можно говорить о возрождении интереса к исследованиям в этой области.
Сами разработчики не делают громких заявлений, чтобы не поднимать ажиотаж вокруг нейросетей — такой, как в 1960-е годы поднялся вокруг кибернетики. Тем не менее, можно говорить о возрождении интереса к исследованиям в этой области.
+61
Описание и валидация древовидных структур данных. JSON-Schema
6 min
81KМногие сервисы и приложения (особенно веб-сервисы) принимают древовидные данные. Например, такую форму имеют данные, поступающие через JSON-PRC, JSON-REST, PHP-GET/POST. Естественно, появляется задача валидировать их структуру. Существует много вариантов решения этой задачи, начиная от нагромождения if-ов в контроллерах и заканчивая классами, реализующими валидацию по разнообразным конфигурациям. Чаще всего для решения этой задачи требуется рекурсивный валидатор, работающий со схемами данных, описанными по определённому стандарту. Одним из таких стандартов является JSON-Schema, рассмотрим его поближе.
+32
Немного об интерфейсах в .Net (по мотивам одного интервью)
8 min
49KВ прошедний понедельник мне посчастливилось попасть на собеседование на Senior .Net Developer в одну международную компанию. Во время собеседования мне предложили пройти тест, где ряд вопросов был связан с .Net. В частности в одном из вопросов надо было дать оценку (истина/ложь) ряду утверждений, среди которых было и такое:
Быстро ответив на этот вопрос отрицательно и отдельно дописав на полях. что для foreach необходима реализация не IList, а IEnumerable, я перешел к следующему вопросу. Однако по дороге домой меня мучал вопрос: реализует ли массив все-таки этот интерфейс или нет?
Про IList я смутно помнил, что этот интерфейс дает мне IEnumerable, индексатор и свойство Count, содержащее число элементов коллекции, а также еще пару редко используемых свойств, типа IsFixedCollection(). Массив имеет свойство Length для своего размера, а Count в IEnumerable является методом расширения от LINQ, что было бы невозможно, если бы этот метод был реализован в классе. Таким образом, получалось, что массив не мог реализовывать интерфейс IList, однако какое-то смутное чувство не давало мне покоя. Поэтому вечером после интервью я решил провести небольшое исследование.
В .Net любой массив элементов, например int[], по умолчанию реализует IList, что позволяет использовать его в качестве коллекции в операторе foreach.
Быстро ответив на этот вопрос отрицательно и отдельно дописав на полях. что для foreach необходима реализация не IList, а IEnumerable, я перешел к следующему вопросу. Однако по дороге домой меня мучал вопрос: реализует ли массив все-таки этот интерфейс или нет?
Про IList я смутно помнил, что этот интерфейс дает мне IEnumerable, индексатор и свойство Count, содержащее число элементов коллекции, а также еще пару редко используемых свойств, типа IsFixedCollection(). Массив имеет свойство Length для своего размера, а Count в IEnumerable является методом расширения от LINQ, что было бы невозможно, если бы этот метод был реализован в классе. Таким образом, получалось, что массив не мог реализовывать интерфейс IList, однако какое-то смутное чувство не давало мне покоя. Поэтому вечером после интервью я решил провести небольшое исследование.
+46
Lenovo IdeaPhone P700i: смартфон-долгожитель по разумной цене
6 min
110KВ ноябре компания Lenovo начинает продажи мобильных телефонов в России. С 20-го числа (предзаказ доступен сегодня), пока только в сети магазинов МВидео будут представлены две модели смартфонов Lenovo на платформе Android: IdeaPhone P700i с четырехдюймовым дисплеем и IdeaPhone S880 с пятидюймовым. С более компактным и недорогим (8990 рублей) двухсимочным P700i я знакомился в течение последних трех недель, используя его то как основной телефон, то как дополнительный, и готов поделиться с вами результатами теста.
Если коротко, то я, привыкший тратить на мобильные устройства несколько бОльшие средства, в переходе на P700i изначально видел некоторый даунгрейд. Ну – экран поменьше, производительность пониже, и так далее. Не исключено, что такие же мысли будут приходить в голову многим будущим покупателям этого IdeaPhone. По итогам теста у меня совсем другие впечатления.
Благодаря 4-дюймовому дисплею телефон отлично лежит в руке. Производительности двуядерного процессора более чем достаточно для активного использования, с множеством запущенных программ и постоянным переключением между ними. И, что самое главное – благодаря емкой батарее и сравнительно экономичной платформе, P700i живет без зарядки дольше, чем любой другой смартфон на базе Android (и не только), из тех, что попадали мне в руки. А в некоторых дисциплинах аккумуляторного многоборья смартфон Lenovo показывает просто феноменальные результаты.
UPD. Смартфоны Lenovo уже можно приобрести в сети МВидео!
Если коротко, то я, привыкший тратить на мобильные устройства несколько бОльшие средства, в переходе на P700i изначально видел некоторый даунгрейд. Ну – экран поменьше, производительность пониже, и так далее. Не исключено, что такие же мысли будут приходить в голову многим будущим покупателям этого IdeaPhone. По итогам теста у меня совсем другие впечатления.
Благодаря 4-дюймовому дисплею телефон отлично лежит в руке. Производительности двуядерного процессора более чем достаточно для активного использования, с множеством запущенных программ и постоянным переключением между ними. И, что самое главное – благодаря емкой батарее и сравнительно экономичной платформе, P700i живет без зарядки дольше, чем любой другой смартфон на базе Android (и не только), из тех, что попадали мне в руки. А в некоторых дисциплинах аккумуляторного многоборья смартфон Lenovo показывает просто феноменальные результаты.
UPD. Смартфоны Lenovo уже можно приобрести в сети МВидео!
+44
Изучение Node.js от начала до конца на практике. Часть 1
14 min
93KTutorial
Предыстория
Различной документации по Node.js его модулях огромное количество, всякого рода готовых решений тоже хватает, но начав писать сайт сталкиваешься с проблемой: «А с чего начать?». Хочу вам рассказать свой опыт изучения Node.js на практике. Задача стоит довольно простая и понятная — GPS Трекер с интернет сервисом, отображающим наши передатчики на карте, рисующим маршрут перемещения и т.д., на сколько разгуляется фантазия. Проект не коммерческий и пишется
+55
-71
Information
- Rating
- Does not participate
- Registered
- Activity