Pull to refresh
219
0
Дмитрий Вихарев @vikds

IT RocknRolla

Send message

Азбука хорошего разработчика. Книжки для чтения

Reading time2 min
Views3.4K
Часто разработчиков нужно направить, поскольку они не имеют понятия о том, что им нужно изучить для повышения своего уровня. В этой заметке я опишу источники знаний, в моем понимании, необходимые для этой цели. Пишу в порядке, в котором я их предлагаю читать.

Паттерны проектирования

Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг

«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Читать дальше →
Total votes 73: ↑72 and ↓1+71
Comments66

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views803K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16+500
Comments365

Управление контактами в Android (импорт, экспорт, перенос, настройка)

Reading time6 min
Views712K
При покупке нового телефона всегда встаёт вопрос о переносе контактов из старого в новый. Всё проще если перенос производится с телефонами одной марки, (т.к. большинство производителей предусмотрели эту нехитрую задачу) или же если они изначально хранились на сим карте. Но ведь часто приобретаешь новый телефон от другого производителя или вовсе не пользуешься памятью сим карты, так как количество телефонов или другой нужной информации превысило возможности сим карт.

В статье будет рассмотрено:

  • Варианты хранения контактов
  • Получение копии контактов с телефонов Nokia S40, S60
  • Синхронизация контактов
  • Группировка контактов в телефонной книге
  • Настройка уведомлений о днях рождения
  • Обратная синхронизация с S40, S60
Читать дальше →
Total votes 46: ↑39 and ↓7+32
Comments42

Полноценный Android на устройствах Windows Mobile

Reading time7 min
Views157K
image

Вступление


Доброго времени суток. Не растягивая вступление, сразу перейду к делу. Итак, Android на Windows Mobile.
Еще в недалеком прошлом факт использования устройства, изначально предназначенного для работы с ОС Windows Mobile, под управлением ОС Android вызывал ассоциации с глючностью, нестабильностью и совершенной невозможностью использовать устройство, кроме как для «посмотреть, а что там есть».
Но время идет, и развитие платформы Android бежит вперед семимильными шагами. Всё больше приверженцев Windows Mobile хотят попробовать и «потрогать» Android на своем устройстве. Радует вдвойне, что среди них находятся те, кто готов взяться за нелегкое дело портирования Android на свои любимые коммуникаторы с WM.
Итак, все кого заинтересовала возможность посмотреть на что способны современные сборки Android на коммуникаторах WM, прошу под кат

Скорее читать дальше!
Total votes 106: ↑101 and ↓5+96
Comments180

Разработка и модификация прошивки для Android телефонов. Часть 2

Reading time9 min
Views64K
В первой части мы научились перепаковывать официальную прошивку из формата RUU в формат пакета обновлений, что дало нам возможность использовать созданную нами прошивку, не опасаясь затирания модифицированного раздела восстановления (recovery rom). И тем временем, пока HTC воюет с хорошими ресурсами, мы продолжим изучать и улучшать прошивку.
В предыдущей части, хоть мы и создали прошивку, которая загружается и работает как часы, мы бы хотели расширить базовый функционал оной. Одним из самых востребованных расширений является поддержка работы с правами суперпользователя (root). Также сюда можно отнести интегрирование busybox. Кроме того, мы научимся запускать произвольные скрипты при старте системы и адаптируем ramdisk под свои нужды.

Busybox



busybox — это набор консольных unix утилит, ориентированный на малый размер и производительность, что так актуально для мобильных систем. Вместе с системой android поставляется свой набор утилит — toolbox, который предоставляет минимально необходимых функционал для системы, и как следствие более простой в количественном и функциональном плане. Наличие busybox в системе, с одной стороны, позволит нам, как разработчикам, чувствовать себя более комфортно при удаленной работе на устройстве, с другой, позволит писать сложные скрипты, и, например, реализовать механизм запуска собственных скриптов при загрузке, используя run-parts. Также стоит учитывать, что для некоторых android приложений (особенно те, которые используют root) наличие busybox — обязательно.
Читать дальше
Total votes 48: ↑48 and ↓0+48
Comments10

Разработка и модификация прошивки для Android телефонов на примере HTC Hero GSM. Часть 1

Reading time10 min
Views164K
Причины по которым люди ставят модифицированные версии прошивок различны. Кому-то хочется удивить друга смешной анимацией загрузки, кому-то не хватает определенного функционала (например vpn), кто-то хочет выжать максимум производительности из своего телефона за счет разгона процессора, а кто-то пять месяцев ждет новую версию операционной системы Android для своего любимого HTC Hero.
На данный момент уже существует превеликое множество самых невообразимых сборок для самых различных телефонов на базе Android. Иногда они даже появляются в той или иной форме на Хабре.
Я же хочу Вам рассказать о процессе и особенностях создания кастомной прошивки на основе официальной. Данные знания были получены в процессе разработки одной из не многих отечественных прошивок на базе Android 2.1 для HTC Hero GSM. И более или менее успешно опробованы на себе и других подвернувшихся пользователях одного крупного российского форума.
Не смотря на то, что все нижеследующее было сделано для HTC Hero, данные правила и особенности имеют полную силу для всех телефонов, особенно тех, которые разработаны компанией HTC и используют фирменную оболочку Sense.
Для экспериментов нам понадобится:
  • Android SDK желательно последней версии
  • Утилита apktool для реинжениринга системных приложений
  • Утилиты smali/baksmali для де-оптимизации системных приложений
  • Утилита unyaffs для извлечения системных файлов из образа
  • Скрипт split_bootimg.pl для извлечения ядра и ramdisk-а
  • Утилита testsign для подписывания пакета обновления и отдельных приложений
  • установленное и настроенное JRE
  • телефон с операционной системой Android
  • права суперпользователя и модифицированная подпрограмма восстановления (recovery rom)

Все вышеперечисленное доступно в версиях как для системы Linux так и для Windows. Но в своих примерах я буду ориентироваться на использование Linux.
Конечно же ни root-права ни recovery нам не нужен для того, чтобы начать разработку, однако если мы захотим опробовать наше творение, они нам понадобятся. Для HTC Hero можно использовать RA-hero-v1.6.2.
Наверное, самое время напомнить, что использование неофициальных прошивок лишает нас гарантии, но где наша не пропадала. И несмотря на то, что большинство операций безопасно — всегда нужно четко понимать что и зачем делается, дабы не причинить необратимый вред своему андроиду
Читать дальше →
Total votes 79: ↑73 and ↓6+67
Comments46

50 цитат о программировании всех времён

Reading time6 min
Views159K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8+328
Comments136

Спать мало, но правильно?

Reading time7 min
Views897K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →
Total votes 713: ↑670 and ↓43+627
Comments420

Инфраструктура YouTube

Reading time1 min
Views1K
image На этот раз под прицел моего желания что-либо перевести попала презентация Cuong Do — одного из основателей сервиса YouTube.
Презентация датируется 17.07.2008, но посмотреть ее всё равно будет интересно всем, так как там и кусочек технического бэкграунда и веселые истории из жизни сервиса. Квонг расскажет о том, как они выросли из маленькой неприметной компании в гиганта интерентов!
Но, конечно, основной упор презентации сделан на вопросы масштабируемости огромной инфраструктуры сервиса. В общем для выходных — самое то, приятного просмотра.

Перевод выполнялся на сервисе translated.by, при помощи транслейтед-юзера eeight, после чего перевод был направлен в Google, и теперь официально прикручен к видео канала GoogleDevelopers
Cубтитры включаются с помощью меню в правом нижнем углу (сразу после нажатия на play).

Total votes 38: ↑33 and ↓5+28
Comments11

Приручение Notepad++

Reading time5 min
Views6.4K
Уже пару лет использую Notepad++ в качестве основного текстового редактора. До него была ColdFusion Studio 4.5.2, которая очень даже устраивала. Вот только она небесплатная и несколько тяжеловесная. Лицензионнной Студии нынче у меня нет, а пользоваться варезом при наличии фришных альтернатив давно кажется мне неправильным. Кроме того, ломалка к Студии (loader) определяется антивирусами как малварь (разбираться желания не было, к тому же антивирусы вечно норовят этот лоадер снести, что не добавляет комфорта в работе). Переходить на всякие варианты на базе Eclipse желания не было и нет: терпеть не могу тяжеловесный софт. По совету друзей попробовал Notepad++ aka NPP, понравилось. Особенно порадовало, что несколькими движениями NPP превращается в близкое подобие любимой CFStudio. Время от времени пробовал ряд других редакторов (например, несколько из этого списка: http://en.wikipedia.org/wiki/Comparison_of_text_editors), ничто не приглянулось. Вернулся к уже привычному Notepad Plus Plus.

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

Решил поделиться опытом в надежде, что сэкономлю кому-нибудь немного времени.

Итак, что нам нужно, чтобы обустроить NPP и сделать его местом, пригодным для жизни
  1. Плагин Explorer, чтобы ходить по файловой системе, не вылезая из NPP (привык в CFStudio, удобно)
  2. Клавиатурные шорткаты для часто используемых конструкций вроде   и HTML-тегов.
  3. Подсветка синтаксиса (мне нужен синтаксис CFML, помимо прочих).
  4. Контекстная справка (по тому же CFML).
  5. Автоматическое закрытие тегов.

Читать дальше →
Total votes 36: ↑27 and ↓9+18
Comments54

Развитие проекта StarCraft2Pro (Флеш-игры в стиле TowerDefence)

Reading time1 min
Views627
Некоторое время назад я писал про игру в стиле Tower Defence по мотивам Starcraft 2. Игра понравилась многим хабраюзерам, и вызвала оживлённые разговоры в комментариях к топику. Оказалось, что работа над проектом не останавливалась! Сегодня зашел на сайт этих ребят и был снова приятно удивлен. Они, оказывается, не остановились на Терранах и делают продолжение игры, в которой будут Зерги и Протосы.

Подходят ребята к своему хобби очень серьезно:
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments15

OpenCV (компьютерное зрение). Установка под MSVS 2008. «Hello World»

Reading time4 min
Views13K
image
OpenCV — это библиотека алгоритмов компьютерного зрения, обработки изображений. Исходный код является октрытым.

Эта вещь очень интересная и ей можно найти много применений: идентификация пользователя за компьютером, распознавание предметов, трэкинг объектов, а уж в робототехнике применений ещё больше!

В этом посте я опишу подробную установку данной библиотеки и мы напишем простейшую программу — этакий «Hello World» в компьютерном зрении. :)
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments24

Как покупать электронику на Amazon

Reading time3 min
Views128K
Amazon logo
Наверняка многие из вас попадали в ситуацию, когда в американском интернет-магазине есть интересующая вас вещичка по заманчивой цене, но доставку магазин осуществляет только в пределах США. Например, в крупнейшем интернет-магазине Amazon жители из стран СНГ могут заказывать лишь книги и фильмы, и то не все. Конечно же, можно компенсировать данный недостаток с помощью ebay, но где еще у вас может быть шанс купить iPod Touch 32 GB 3rd Gen за $269.99, а Nokia N900 за $559.99? А может, грешным делом заказать Nexus One? Падение доллара и ценовая политика производителей сделала покупки в США достаточно заманчивым делом.
Все самое интересное под катом
Total votes 164: ↑152 and ↓12+140
Comments367

Построить Рим менее чем за день

Reading time2 min
Views866


Вашингтонский университет создает собственную систему, которая строит город из фотографий, размещенных в сети интернет (а именно из Flickr). Промежуточные результаты уже хороши, чего стоит только созданная 3х мерная модель города Дубровник (около 58 000 фотографий за 5 часов на 352 процессорах на сравнение изображений и 17,5 часов на создание модели):



Читать дальше →
Total votes 74: ↑70 and ↓4+66
Comments49

Регистрируем программу, получаем свидетельство

Reading time2 min
Views3.9K
Забрал из Федерального института промышленной собственности (ФИПС) свидетельство на программу.

Зарегистрировали достаточно быстро: со дня подачи заявки, до подготовки свидетельства прошло 1,5 месяца. Из финансовых затрат – только уплата госпошлины около 1200 руб. Сама заявка состояла из 74 листов фрагмента исходного кода системы и 5 листов других бумаг.

Кратко сам процесс регистрации:
1) Отправил на электронный адрес otd69@rupto.ru соответствующего отдела ФИПСа запрос, о том, что нужны документы по регистрации программы для ЭВМ

Тема письма: Запрос пакета документов на регистрацию ПрЭВМ
Текст письма:
Добрый день.
Прошу выслать пакет документов, который необходимо подготовить для официальной регистрации ПрЭВМ.
1) объект регистрации ПрЭВМ;
2) статус правообладателя юридическое лицо;
3) кол-во авторов 4 человека.
С уважением,
Дмитрий Бороздин


2) Через несколько дней ожидания позвонил им, попросил обратить внимание на мой запрос, так уж работают наши гос.службы.
Зам. зав отделом регистрации ПрЭВМ, БД и ТИМС ФГУ ФИПС Куликовский Вадим Александрович тел. (499) 240-63-54
На следующий день пришло письмо с документами, которые надо было заполнить и инструкцией.
3) Оплатил гос. пошлину в банке.
4) Далее подготовил заявку и отнес её в ФИПС (дни приема: вторник, четверг).
5) Позвонил в ФИПС через 2 месяца после сдачи заявления, долго выяснял нужный номер телефона (+7(499)240-33-42 – телефон экспертной группы отдела).
6) В ФИПСе обязательно нужна была печать – когда приехал туда за свидетельством, пришлось дополнительно прошивать листы с исходным кодом, ставить на них роспись и печать.

При прошивании исходных кодов сломал одно шило, другим чуть не проткнул стол – эксперт сказал «Государство всё простит». Я понял, на что уходят деньги с оплаты госпошлин за регистрацию).

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

Похоже в сравнении с регистрацией товарного знака регистрации программы для ЭВМ намного проще и быстрее.
Если у кого-то есть вопросы по данной теме – обращайтесь, могу дать примеры заявки и детали процесса регистрации.

UPD: добавляю список документов:
1) Заявление
2) Дополнение к заявлению (форма РП/Доп)
3) Распечатка исходного текста программы
4) Реферат
5) Платежный документ об уплате госпошлины
Формат документов вам укажут в ответе на запрос по электронной почте.
Total votes 30: ↑23 and ↓7+16
Comments35

Электронная книга Sony PRS-505 — выбор и эксплуатация

Reading time7 min
Views13K
С момента приобретения Sony PRS-505 прошел вот уже практически месяц, и наконец-то я собрался с силами, чтобы поделиться ощущениями от этого устройства. А начиналось всё так…

Sony PRS-505

Осторожно — трафик!

UPD: Добавлены более подробные фотографии.

Читать дальше →
Total votes 88: ↑86 and ↓2+84
Comments179

Стэнфордский курс по программированию iPhone

Reading time1 min
Views6.1K
Бесплатный курс Стэнфордского университета по программированию iPhone скачали уже более миллиона человек. Популярность лекций резко возросла, когда их семь недель назад выложили на сайте iTunes U — это специальный обучающий ресурс Apple, посвящённый iTunes.

Курс iPhone Application Programming представляет собой видеозаписи лекций из 10-недельного обучающего курса, который читался программистами Apple для студентов Стэнфорда. Через два дня после каждой лекции её выкладывали в свободный доступ, так что интернетчики могли учиться практически в режиме реального времени, одновременно с настоящими студентами. Видеоматериал сопровождается кадрами из презентаций, которые показывали на экране в аудиториях одного из лучших университетов мира.

Менеджеры проекта iTunes U говорят, что у них на сайте это первый курс, который достиг отметки в миллион скачиваний.
Total votes 41: ↑34 and ↓7+27
Comments21

Про то, как глаза воспринимают картинку

Reading time3 min
Views11K
Никогда не задумывались, как глаз считывает картинку? Почему часто смотря на фотографию мы чувствуем, как какие-то части изображения притягивают глаз настолько, что невозможно оторваться, сфокусироваться на других деталях? В качестве попытки ответить на этот вопрос группой психологов и физиологов в 60х годах была создана теория зрительного восприятия. Теория получила развитие: на данный момент существуют как минимум 3 математических аппарата, позволяющих моделировать движение зрачка, считывающего картинку и связывать это движение с концентрацией внимания на определённых частях изображения.

Два-три года назад я плотно занимался моделированием внимания при просмотре изображений, и вот на днях попросили показать работу такой программки. Я полез в пыльный угол за архивами сырцов, распаковал, стал компилировать, решил поправить пару багов в алгоритмах и… увлёкся! Представляю вам плод двухдневных усилий: несколько картинок и два различных способа моделировать то, как человек воспринимает картинку.

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

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

Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments28

Android Soft. Часть 1: IM, book reader, системные утилиты

Reading time3 min
Views4.8K
Android Soft
Одним из первых, после покупки нового телефона, встает вопрос софта.
Столько всего нужно поставить: месенджер, читалку книг и читалку рсс, файл-менеджер и многое многое другое. Android Market предлагает немаленький выбор бесплатных программ в каждой из категорий.

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

Эта серия постов расскажет про плюсы и минусы лучших программ в нескольких категориях. А на закуску — список must have программ которые должны быть (почти) у каждого.

Я не учел какую-то замечательную программу? Записал плюс в минусы? Пишите комментарии — пост будет обновляться, чтоб оставить действительно полезный след в истории хабра :)

Дамы и господа, заводите моторы маркеты.
Поехали
Total votes 54: ↑41 and ↓13+28
Comments87

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer
Lead
C++